Skip to content

Instantly share code, notes, and snippets.

@wolfspider
Last active October 14, 2024 14:53
Show Gist options
  • Save wolfspider/7ecec764d8cf5988d46f246bb0468f7f to your computer and use it in GitHub Desktop.
Save wolfspider/7ecec764d8cf5988d46f246bb0468f7f to your computer and use it in GitHub Desktop.
Bosque Scheduler
namespace NSMain;
entity Func {
invariant $lf != "";
field lf: String;
factory static enqueue(f: fn() -> String):
{ lf: String }
{
return { lf = f() };
}
override method exe(): String
{
return this.lf;
}
}
function checkIntBounds(arg: Int?): Bool {
//reduce the number of values for scheduling
return arg == none || ((arg >= 0) && (arg <= 10));
}
concept Scheduler {
abstract method schedule(func: Func): Scheduler;
abstract method delay(timeout: Int, func: Func): Scheduler;
}
entity TestScheduler provides Scheduler {
field now: Int;
field currentTime: Int;
field timeline: Map<Int, List<Func>>;
field running: Bool;
field runlist: List<{time: Int, func: Func}>;
field sortedTasks: List<{time: Int, func: Func}>;
// Constructor
factory static new():
{
now: Int,
currentTime: Int,
timeline: Map<Int, List<Func>>,
running: Bool,
runlist: List<{time: Int, func: Func}>,
sortedTasks: List<{time: Int, func: Func}>
}
{
return {
now = 0,
currentTime = 0,
timeline = Map<Int, List<Func>>@{},
running = false,
runlist = List<{time: Int, func: Func}>@{},
sortedTasks = List<{time: Int, func: Func}>@{}
};
}
// Schedule function to add to the timeline
method usched(delay: Int, func: Func): TestScheduler {
let at = this.currentTime + delay;
let updatedTimeline = (this.timeline.has(at)) ? Map<Int, List<Func>>@{
this.timeline.keys().get(at) =>
this.timeline.get(at).append(List<Func>@{func})
} : Map<Int, List<Func>>@{
at => List<Func>@{func}
};
// Filter tasks that should come before and after the new task
let tasksBefore = this.sortedTasks.filter(fn(task) => task.time < at);
let tasksAfter = this.sortedTasks.filter(fn(task) => task.time >= at);
return this.update
(
timeline = updatedTimeline,
sortedTasks = tasksBefore
.append(List<{time: Int, func: Func}>@{{time=at,func=func}})
.append(tasksAfter)
);
}
// Run function to process scheduled functions
method run(): TestScheduler {
if (this.timeline.empty()) {
//_debug("I'm empty");
return this.update
(
running = false
);
}
let r = this.update
(
currentTime = this.now,
runlist = this.sortedTasks,
sortedTasks = List<{time: Int, func: Func}>@{}
);
return r;
}
// Returns the current time
method utcnow(): Int {
return this.currentTime;
}
// Schedule immediately
method schedule(func: Func): TestScheduler {
let sch = this.usched(this.currentTime, func);
if (!this.running) {
let r = this.update
(
running = true,
sortedTasks = sch.sortedTasks
);
return r;
}
return sch;
}
// Delay schedule
method delay(timeout: Int, func: Func): TestScheduler
requires release checkIntBounds(timeout);
{
let sch = this.usched(timeout, func);
return sch;
}
}
entrypoint function main(): Any {
// Schedule task1 to run immediately
let s = TestScheduler@new()
.schedule(Func@enqueue(fn() => "R1"))
.delay(18, Func@enqueue(fn() => "R2"))
.delay(2, Func@enqueue(fn() => "R3"))
.run();
let currentTime = s.utcnow();
check currentTime == s.now;
check s.runlist.get(0).func.exe() == "R1";
check s.runlist.get(1).func.exe() == "R3";
check s.runlist.get(2).func.exe() == "R2";
return [s.runlist, currentTime];
}
@wolfspider
Copy link
Author

Symbolic testing of Bosque sources in files:
fibersched.bsq
...
Transpiling Bosque assembly to bytecode with entrypoint of NSMain::main...
Running z3 on SMT encoding...
Writing SMT output to "fibersched.smt2..."
(simplifier :num-exprs 2800 :num-asts 88663 :time 0.00 :before-memory 38.52 :after-memory 38.72)
(simplifier :num-exprs 2800 :num-asts 88473 :time 0.00 :before-memory 38.61 :after-memory 38.61)
(propagate-values :num-exprs 2381 :num-asts 88266 :time 0.00 :before-memory 38.61 :after-memory 39.43)
(ctx-simplify :num-steps 30870)
(ctx-simplify :num-exprs 2513 :num-asts 88752 :time 0.00 :before-memory 39.43 :after-memory 40.86)
(simplifier :num-exprs 2513 :num-asts 88575 :time 0.00 :before-memory 39.44 :after-memory 39.44)
(solve_eqs :num-exprs 1 :num-asts 88645 :time 0.00 :before-memory 39.44 :after-memory 39.44)
unsat
Verified up to bound -- no errors found!

@wolfspider
Copy link
Author

wolfspider commented Oct 14, 2024

;;-------------------------------------------------------------------------------------------------------
;; Copyright (C) Microsoft. All rights reserved.
;; Licensed under the MIT license. See LICENSE.txt file in the project root for full license information.
;;-------------------------------------------------------------------------------------------------------

(set-option :smt.auto-config false) ; disable automatic self configuration
(set-option :smt.mbqi false) ; disable model-based quantifier instantiation

(set-option :timeout 10000)

(declare-datatypes (
      (StructuralSpecialTypeInfo 0)
    ) (
    ( (StructuralSpecialTypeInfo@cons (StructuralSpecialTypeInfo$PODType Bool) (StructuralSpecialTypeInfo$APIType Bool) (StructuralSpecialTypeInfo$Parsable Bool)) )
))

(declare-datatypes (
      (bsq_safestring 0)
      (bsq_stringof 0)
      (bsq_uuid 0)
      (bsq_logicaltime 0)
      (bsq_cryptohash 0)
      (bsq_enum 0)
      (bsq_idkeysimple 0)
      (bsq_idkeycompound 0)
      (BKeyValue 0)
    ) (
    ( (bsq_safestring@cons (bsq_safestring_type Int) (bsq_safestring_value String)) )
    ( (bsq_stringof@cons (bsq_stringof_type Int) (bsq_stringof_value String)) )
    ( (bsq_uuid@cons (bsq_uuid_value String)) )
    ( (bsq_logicaltime@cons (bsq_logicaltime_value Int)) )
    ( (bsq_cryptohash@cons (bsq_cryptohash_value String)) )
    ( (bsq_enum@cons (bsq_enum_type Int) (bsq_enum_value Int)) )
    ( (bsq_idkeysimple@cons (bsq_idkeysimple_type Int) (bsq_idkeysimple_value BKeyValue)) )
    ( (bsq_idkeycompound@cons (bsq_idkeycompound_type Int) (bsq_idkeycompound_value (Array Int BKeyValue))) )
    (
      (bsqkey_none) 
      (bsqkey_bool (bsqkey_bool_value Bool))
      (bsqkey_int (bsqkey_int_value Int))
      (bsqkey_bigint (bsqkey_bigint_value Int))
      (bsqkey_string (bsqkey_string_value String))
      (bsqkey_safestring (bsqkey_safestring_value bsq_safestring))
      (bsqkey_stringof (bsqkey_stringof_value bsq_stringof))
      (bsqkey_uuid (bsqkey_uuid_value bsq_uuid))
      (bsqkey_logicaltime (bsqkey_logicaltime_value bsq_logicaltime))
      (bsqkey_cryptohash (bsqkey_cryptohash_value bsq_cryptohash))
      (bsqkey_enum (bsqkey_enum_value bsq_enum))
      (bsqkey_idkeysimple (bsqkey_idkeysimple_value bsq_idkeysimple))
      (bsqkey_idkeycompound (bsqkey_idkeycompound_value bsq_idkeycompound))
    )
))

(declare-datatypes ( 
    (bsq_buffer 0)
    (bsq_bufferof 0)
    (bsq_bytebuffer 0)
    (bsq_isotime 0)
    (bsq_regex 0)
    (bsq_tuple 0)
    (bsq_record 0)
    (nscore__assumesafeI0I 0)
    (nscore__keylist_k_nscore__int_I11I 0)
    (nscore__knownsafeI14I 0)
    (nscore__list_t__func_nsmain__func__time_nscore__int__I15I 0)
    (nscore__list_t_nscore__int_I17I 0)
    (nscore__list_t_nsmain__func_I19I 0)
    (nscore__map_k_nscore__int__v_nscore__list_nsmain__func__I23I 0)
    (nscore__mapentry_k_nscore__int__v_nscore__list_nsmain__func__I26I 0)
    (nsmain__funcI20I 0)
    (nsmain__testschedulerI34I 0)
    (bsq_object 0)
    (BTerm 0)
    ) (
    ( (bsq_buffer@cons (bsq_buffer_type Int) (bsq_buffer_contents String)) )
    ( (bsq_bufferof@cons (bsq_bufferof_type Int) (bsq_bufferof_contents String)) )
    ( (bsq_bytebuffer@cons (bsq_bytebuffer_contents (Seq Int))) )
    ( (bsq_isotime@cons (bsq_isotime_value Int)) )
    ( (bsq_regex@cons (bsq_regex_value Int)) )
    ( (bsq_tuple@cons (bsq_tuple_concepts StructuralSpecialTypeInfo) (bsq_tuple_entries (Array Int BTerm)))  )
    ( (bsq_record@cons (bsq_record_concepts StructuralSpecialTypeInfo) (bsq_record_entries (Array String BTerm))) )
    ( (nscore__assumesafeI0I@cons ) )
    ( (nscore__keylist_k_nscore__int_I11I@cons (nscore__keylist_k_nscore__int_I11I@nscore__keylist_k_nscore__int__hkeyI12I Int) (nscore__keylist_k_nscore__int_I11I@nscore__keylist_k_nscore__int__tailI13I BTerm)) )
    ( (nscore__knownsafeI14I@cons ) )
    ( (nscore__list_t__func_nsmain__func__time_nscore__int__I15I@cons (nscore__list_t__func_nsmain__func__time_nscore__int__I15I@@size Int) (nscore__list_t__func_nsmain__func__time_nscore__int__I15I@@entries (Array Int bsq_record))) )
    ( (nscore__list_t_nscore__int_I17I@cons (nscore__list_t_nscore__int_I17I@@size Int) (nscore__list_t_nscore__int_I17I@@entries (Array Int Int))) )
    ( (nscore__list_t_nsmain__func_I19I@cons (nscore__list_t_nsmain__func_I19I@@size Int) (nscore__list_t_nsmain__func_I19I@@entries (Array Int nsmain__funcI20I))) )
    ( (nscore__map_k_nscore__int__v_nscore__list_nsmain__func__I23I@cons (nscore__map_k_nscore__int__v_nscore__list_nsmain__func__I23I@@size Int) (nscore__map_k_nscore__int__v_nscore__list_nsmain__func__I23I@@has (Array Int Bool)) (nscore__map_k_nscore__int__v_nscore__list_nsmain__func__I23I@@values (Array Int nscore__list_t_nsmain__func_I19I)) (nscore__map_k_nscore__int__v_nscore__list_nsmain__func__I23I@@keylist BTerm)) )
    ( (nscore__mapentry_k_nscore__int__v_nscore__list_nsmain__func__I26I@cons (nscore__mapentry_k_nscore__int__v_nscore__list_nsmain__func__I26I@nscore__mapentry_k_nscore__int__v_nscore__list_nsmain__func___keyI27I Int) (nscore__mapentry_k_nscore__int__v_nscore__list_nsmain__func__I26I@nscore__mapentry_k_nscore__int__v_nscore__list_nsmain__func___valueI28I nscore__list_t_nsmain__func_I19I)) )
    ( (nsmain__funcI20I@cons (nsmain__funcI20I@nsmain__func_lfI33I String)) )
    ( (nsmain__testschedulerI34I@cons (nsmain__testschedulerI34I@nsmain__testscheduler_nowI35I Int) (nsmain__testschedulerI34I@nsmain__testscheduler_currenttimeI36I Int) (nsmain__testschedulerI34I@nsmain__testscheduler_timelineI37I nscore__map_k_nscore__int__v_nscore__list_nsmain__func__I23I) (nsmain__testschedulerI34I@nsmain__testscheduler_runningI38I Bool) (nsmain__testschedulerI34I@nsmain__testscheduler_runlistI39I nscore__list_t__func_nsmain__func__time_nscore__int__I15I) (nsmain__testschedulerI34I@nsmain__testscheduler_sortedtasksI40I nscore__list_t__func_nsmain__func__time_nscore__int__I15I)) )
    (
      (bsq_object@empty)
    (cons@bsq_object_from_nscore__assumesafeI0I (bsqterm_object_nscore__assumesafeI0I_value nscore__assumesafeI0I))
    (cons@bsq_object_from_nscore__keylist_k_nscore__int_I11I (bsqterm_object_nscore__keylist_k_nscore__int_I11I_value nscore__keylist_k_nscore__int_I11I))
    (cons@bsq_object_from_nscore__knownsafeI14I (bsqterm_object_nscore__knownsafeI14I_value nscore__knownsafeI14I))
    (cons@bsq_object_from_nscore__list_t__func_nsmain__func__time_nscore__int__I15I (bsqterm_object_nscore__list_t__func_nsmain__func__time_nscore__int__I15I_value nscore__list_t__func_nsmain__func__time_nscore__int__I15I))
    (cons@bsq_object_from_nscore__list_t_nscore__int_I17I (bsqterm_object_nscore__list_t_nscore__int_I17I_value nscore__list_t_nscore__int_I17I))
    (cons@bsq_object_from_nscore__list_t_nsmain__func_I19I (bsqterm_object_nscore__list_t_nsmain__func_I19I_value nscore__list_t_nsmain__func_I19I))
    (cons@bsq_object_from_nscore__map_k_nscore__int__v_nscore__list_nsmain__func__I23I (bsqterm_object_nscore__map_k_nscore__int__v_nscore__list_nsmain__func__I23I_value nscore__map_k_nscore__int__v_nscore__list_nsmain__func__I23I))
    (cons@bsq_object_from_nscore__mapentry_k_nscore__int__v_nscore__list_nsmain__func__I26I (bsqterm_object_nscore__mapentry_k_nscore__int__v_nscore__list_nsmain__func__I26I_value nscore__mapentry_k_nscore__int__v_nscore__list_nsmain__func__I26I))
    (cons@bsq_object_from_nsmain__funcI20I (bsqterm_object_nsmain__funcI20I_value nsmain__funcI20I))
    (cons@bsq_object_from_nsmain__testschedulerI34I (bsqterm_object_nsmain__testschedulerI34I_value nsmain__testschedulerI34I))
    )
    (
      (bsqterm@clear)
      (bsqterm_key (bsqterm_key_value BKeyValue))
      (bsqterm_float64 (bsqterm_float64_value (_ FloatingPoint 11 53)))
      (bsqterm_buffer (bsqterm_buffer_value bsq_buffer))
      (bsqterm_bufferof (bsqterm_bufferof_value bsq_bufferof))
      (bsqterm_bytebuffer (bsqterm_bytebuffer_value bsq_bytebuffer))
      (bsqterm_isotime (bsqterm_isotime_value bsq_isotime))
      (bsqterm_regex (bsqterm_regex_value bsq_regex))
      (bsqterm_tuple (bsqterm_tuple_value bsq_tuple))
      (bsqterm_record (bsqterm_record_value bsq_record))
      (bsqterm_object (bsqterm_object_type Int) (bsqterm_object_value bsq_object))
    )
))

(declare-const MIRNominalTypeEnum_nscore__assumesafeI0I Int)
(assert (= MIRNominalTypeEnum_nscore__assumesafeI0I 1))
(declare-const MIRNominalTypeEnum_nscore__bigintI1I Int)
(assert (= MIRNominalTypeEnum_nscore__bigintI1I 3))
(declare-const MIRNominalTypeEnum_nscore__boolI2I Int)
(assert (= MIRNominalTypeEnum_nscore__boolI2I 5))
(declare-const MIRNominalTypeEnum_nscore__buffercompressionI3I Int)
(assert (= MIRNominalTypeEnum_nscore__buffercompressionI3I 7))
(declare-const MIRNominalTypeEnum_nscore__bufferencodingI4I Int)
(assert (= MIRNominalTypeEnum_nscore__bufferencodingI4I 9))
(declare-const MIRNominalTypeEnum_nscore__bufferformatI5I Int)
(assert (= MIRNominalTypeEnum_nscore__bufferformatI5I 11))
(declare-const MIRNominalTypeEnum_nscore__bytebufferI6I Int)
(assert (= MIRNominalTypeEnum_nscore__bytebufferI6I 13))
(declare-const MIRNominalTypeEnum_nscore__cryptohashI7I Int)
(assert (= MIRNominalTypeEnum_nscore__cryptohashI7I 15))
(declare-const MIRNominalTypeEnum_nscore__float64I8I Int)
(assert (= MIRNominalTypeEnum_nscore__float64I8I 17))
(declare-const MIRNominalTypeEnum_nscore__intI9I Int)
(assert (= MIRNominalTypeEnum_nscore__intI9I 19))
(declare-const MIRNominalTypeEnum_nscore__isotimeI10I Int)
(assert (= MIRNominalTypeEnum_nscore__isotimeI10I 21))
(declare-const MIRNominalTypeEnum_nscore__keylist_k_nscore__int_I11I Int)
(assert (= MIRNominalTypeEnum_nscore__keylist_k_nscore__int_I11I 23))
(declare-const MIRNominalTypeEnum_nscore__knownsafeI14I Int)
(assert (= MIRNominalTypeEnum_nscore__knownsafeI14I 25))
(declare-const MIRNominalTypeEnum_nscore__list_t__func_nsmain__func__time_nscore__int__I15I Int)
(assert (= MIRNominalTypeEnum_nscore__list_t__func_nsmain__func__time_nscore__int__I15I 27))
(declare-const MIRNominalTypeEnum_nscore__list_t_nscore__int_I17I Int)
(assert (= MIRNominalTypeEnum_nscore__list_t_nscore__int_I17I 29))
(declare-const MIRNominalTypeEnum_nscore__list_t_nsmain__func_I19I Int)
(assert (= MIRNominalTypeEnum_nscore__list_t_nsmain__func_I19I 31))
(declare-const MIRNominalTypeEnum_nscore__logicaltimeI22I Int)
(assert (= MIRNominalTypeEnum_nscore__logicaltimeI22I 33))
(declare-const MIRNominalTypeEnum_nscore__map_k_nscore__int__v_nscore__list_nsmain__func__I23I Int)
(assert (= MIRNominalTypeEnum_nscore__map_k_nscore__int__v_nscore__list_nsmain__func__I23I 35))
(declare-const MIRNominalTypeEnum_nscore__mapentry_k_nscore__int__v_nscore__list_nsmain__func__I26I Int)
(assert (= MIRNominalTypeEnum_nscore__mapentry_k_nscore__int__v_nscore__list_nsmain__func__I26I 37))
(declare-const MIRNominalTypeEnum_nscore__noneI29I Int)
(assert (= MIRNominalTypeEnum_nscore__noneI29I 39))
(declare-const MIRNominalTypeEnum_nscore__regexI30I Int)
(assert (= MIRNominalTypeEnum_nscore__regexI30I 41))
(declare-const MIRNominalTypeEnum_nscore__stringI31I Int)
(assert (= MIRNominalTypeEnum_nscore__stringI31I 43))
(declare-const MIRNominalTypeEnum_nscore__uuidI32I Int)
(assert (= MIRNominalTypeEnum_nscore__uuidI32I 45))
(declare-const MIRNominalTypeEnum_nsmain__funcI20I Int)
(assert (= MIRNominalTypeEnum_nsmain__funcI20I 47))
(declare-const MIRNominalTypeEnum_nsmain__testschedulerI34I Int)
(assert (= MIRNominalTypeEnum_nsmain__testschedulerI34I 49))
(declare-const MIRNominalTypeEnum_nscore__anyI41I Int)
(assert (= MIRNominalTypeEnum_nscore__anyI41I 51))
(declare-const MIRNominalTypeEnum_nscore__apitypeI42I Int)
(assert (= MIRNominalTypeEnum_nscore__apitypeI42I 53))
(declare-const MIRNominalTypeEnum_nscore__apivalueI43I Int)
(assert (= MIRNominalTypeEnum_nscore__apivalueI43I 55))
(declare-const MIRNominalTypeEnum_nscore__convertableI44I Int)
(assert (= MIRNominalTypeEnum_nscore__convertableI44I 57))
(declare-const MIRNominalTypeEnum_nscore__enumI45I Int)
(assert (= MIRNominalTypeEnum_nscore__enumI45I 59))
(declare-const MIRNominalTypeEnum_nscore__expandoable_t__func_nsmain__func__time_nscore__int__I46I Int)
(assert (= MIRNominalTypeEnum_nscore__expandoable_t__func_nsmain__func__time_nscore__int__I46I 61))
(declare-const MIRNominalTypeEnum_nscore__expandoable_t_nscore__int_I47I Int)
(assert (= MIRNominalTypeEnum_nscore__expandoable_t_nscore__int_I47I 63))
(declare-const MIRNominalTypeEnum_nscore__expandoable_t_nscore__mapentry_nscore__int__nscore__list_nsmain__func___I48I Int)
(assert (= MIRNominalTypeEnum_nscore__expandoable_t_nscore__mapentry_nscore__int__nscore__list_nsmain__func___I48I 65))
(declare-const MIRNominalTypeEnum_nscore__expandoable_t_nsmain__func_I49I Int)
(assert (= MIRNominalTypeEnum_nscore__expandoable_t_nsmain__func_I49I 67))
(declare-const MIRNominalTypeEnum_nscore__idkeyI50I Int)
(assert (= MIRNominalTypeEnum_nscore__idkeyI50I 69))
(declare-const MIRNominalTypeEnum_nscore__keytypeI51I Int)
(assert (= MIRNominalTypeEnum_nscore__keytypeI51I 71))
(declare-const MIRNominalTypeEnum_nscore__objectI52I Int)
(assert (= MIRNominalTypeEnum_nscore__objectI52I 73))
(declare-const MIRNominalTypeEnum_nscore__parsableI53I Int)
(assert (= MIRNominalTypeEnum_nscore__parsableI53I 75))
(declare-const MIRNominalTypeEnum_nscore__podtypeI54I Int)
(assert (= MIRNominalTypeEnum_nscore__podtypeI54I 77))
(declare-const MIRNominalTypeEnum_nscore__recordI55I Int)
(assert (= MIRNominalTypeEnum_nscore__recordI55I 79))
(declare-const MIRNominalTypeEnum_nscore__someI56I Int)
(assert (= MIRNominalTypeEnum_nscore__someI56I 81))
(declare-const MIRNominalTypeEnum_nscore__truthyI57I Int)
(assert (= MIRNominalTypeEnum_nscore__truthyI57I 83))
(declare-const MIRNominalTypeEnum_nscore__tupleI58I Int)
(assert (= MIRNominalTypeEnum_nscore__tupleI58I 85))
(declare-const MIRNominalTypeEnum_nscore__validatorI59I Int)
(assert (= MIRNominalTypeEnum_nscore__validatorI59I 87))
(declare-const MIRNominalTypeEnum_nsmain__schedulerI60I Int)
(assert (= MIRNominalTypeEnum_nsmain__schedulerI60I 89))

(declare-const MIRNominalTypeEnum_None Int)
(declare-const MIRNominalTypeEnum_Bool Int)
(declare-const MIRNominalTypeEnum_Int Int)
(declare-const MIRNominalTypeEnum_BigInt Int)
(declare-const MIRNominalTypeEnum_Float64 Int)
(declare-const MIRNominalTypeEnum_String Int)
(declare-const MIRNominalTypeEnum_UUID Int)
(declare-const MIRNominalTypeEnum_LogicalTime Int)
(declare-const MIRNominalTypeEnum_CryptoHash Int)
(declare-const MIRNominalTypeEnum_ByteBuffer Int)
(declare-const MIRNominalTypeEnum_ISOTime Int)
(declare-const MIRNominalTypeEnum_Tuple Int)
(declare-const MIRNominalTypeEnum_Record Int)
(declare-const MIRNominalTypeEnum_Regex Int)

(assert (= MIRNominalTypeEnum_BigInt MIRNominalTypeEnum_nscore__bigintI1I))
(assert (= MIRNominalTypeEnum_Bool MIRNominalTypeEnum_nscore__boolI2I))
(assert (= MIRNominalTypeEnum_ByteBuffer MIRNominalTypeEnum_nscore__bytebufferI6I))
(assert (= MIRNominalTypeEnum_CryptoHash MIRNominalTypeEnum_nscore__cryptohashI7I))
(assert (= MIRNominalTypeEnum_Float64 MIRNominalTypeEnum_nscore__float64I8I))
(assert (= MIRNominalTypeEnum_ISOTime MIRNominalTypeEnum_nscore__isotimeI10I))
(assert (= MIRNominalTypeEnum_Int MIRNominalTypeEnum_nscore__intI9I))
(assert (= MIRNominalTypeEnum_LogicalTime MIRNominalTypeEnum_nscore__logicaltimeI22I))
(assert (= MIRNominalTypeEnum_None MIRNominalTypeEnum_nscore__noneI29I))
(assert (= MIRNominalTypeEnum_Record MIRNominalTypeEnum_nscore__recordI55I))
(assert (= MIRNominalTypeEnum_Regex MIRNominalTypeEnum_nscore__regexI30I))
(assert (= MIRNominalTypeEnum_String MIRNominalTypeEnum_nscore__stringI31I))
(assert (= MIRNominalTypeEnum_Tuple MIRNominalTypeEnum_nscore__tupleI58I))
(assert (= MIRNominalTypeEnum_UUID MIRNominalTypeEnum_nscore__uuidI32I))

(declare-fun nominalDataKinds (Int) StructuralSpecialTypeInfo)
(assert (= (nominalDataKinds MIRNominalTypeEnum_nscore__assumesafeI0I) (StructuralSpecialTypeInfo@cons false false false)))
(assert (= (nominalDataKinds MIRNominalTypeEnum_nscore__bigintI1I) (StructuralSpecialTypeInfo@cons true true true)))
(assert (= (nominalDataKinds MIRNominalTypeEnum_nscore__boolI2I) (StructuralSpecialTypeInfo@cons true true true)))
(assert (= (nominalDataKinds MIRNominalTypeEnum_nscore__buffercompressionI3I) (StructuralSpecialTypeInfo@cons true false true)))
(assert (= (nominalDataKinds MIRNominalTypeEnum_nscore__bufferencodingI4I) (StructuralSpecialTypeInfo@cons true false true)))
(assert (= (nominalDataKinds MIRNominalTypeEnum_nscore__bufferformatI5I) (StructuralSpecialTypeInfo@cons true false true)))
(assert (= (nominalDataKinds MIRNominalTypeEnum_nscore__bytebufferI6I) (StructuralSpecialTypeInfo@cons false false false)))
(assert (= (nominalDataKinds MIRNominalTypeEnum_nscore__cryptohashI7I) (StructuralSpecialTypeInfo@cons true true true)))
(assert (= (nominalDataKinds MIRNominalTypeEnum_nscore__float64I8I) (StructuralSpecialTypeInfo@cons true true true)))
(assert (= (nominalDataKinds MIRNominalTypeEnum_nscore__intI9I) (StructuralSpecialTypeInfo@cons true true true)))
(assert (= (nominalDataKinds MIRNominalTypeEnum_nscore__isotimeI10I) (StructuralSpecialTypeInfo@cons true true true)))
(assert (= (nominalDataKinds MIRNominalTypeEnum_nscore__keylist_k_nscore__int_I11I) (StructuralSpecialTypeInfo@cons false false false)))
(assert (= (nominalDataKinds MIRNominalTypeEnum_nscore__knownsafeI14I) (StructuralSpecialTypeInfo@cons false false false)))
(assert (= (nominalDataKinds MIRNominalTypeEnum_nscore__list_t__func_nsmain__func__time_nscore__int__I15I) (StructuralSpecialTypeInfo@cons false false false)))
(assert (= (nominalDataKinds MIRNominalTypeEnum_nscore__list_t_nscore__int_I17I) (StructuralSpecialTypeInfo@cons false true true)))
(assert (= (nominalDataKinds MIRNominalTypeEnum_nscore__list_t_nsmain__func_I19I) (StructuralSpecialTypeInfo@cons false false false)))
(assert (= (nominalDataKinds MIRNominalTypeEnum_nscore__logicaltimeI22I) (StructuralSpecialTypeInfo@cons true true true)))
(assert (= (nominalDataKinds MIRNominalTypeEnum_nscore__map_k_nscore__int__v_nscore__list_nsmain__func__I23I) (StructuralSpecialTypeInfo@cons false false false)))
(assert (= (nominalDataKinds MIRNominalTypeEnum_nscore__mapentry_k_nscore__int__v_nscore__list_nsmain__func__I26I) (StructuralSpecialTypeInfo@cons false false false)))
(assert (= (nominalDataKinds MIRNominalTypeEnum_nscore__noneI29I) (StructuralSpecialTypeInfo@cons true true true)))
(assert (= (nominalDataKinds MIRNominalTypeEnum_nscore__regexI30I) (StructuralSpecialTypeInfo@cons false false false)))
(assert (= (nominalDataKinds MIRNominalTypeEnum_nscore__stringI31I) (StructuralSpecialTypeInfo@cons false true true)))
(assert (= (nominalDataKinds MIRNominalTypeEnum_nscore__uuidI32I) (StructuralSpecialTypeInfo@cons true true true)))
(assert (= (nominalDataKinds MIRNominalTypeEnum_nsmain__funcI20I) (StructuralSpecialTypeInfo@cons false false false)))
(assert (= (nominalDataKinds MIRNominalTypeEnum_nsmain__testschedulerI34I) (StructuralSpecialTypeInfo@cons false false false)))

(define-fun bsqkey_get_nominal_type ((keyv BKeyValue)) Int
  (ite (= keyv bsqkey_none) MIRNominalTypeEnum_None
    (ite (is-bsqkey_bool keyv) MIRNominalTypeEnum_Bool
      (ite (is-bsqkey_int keyv) MIRNominalTypeEnum_Int
        (ite (is-bsqkey_bigint keyv) MIRNominalTypeEnum_BigInt
          (ite (is-bsqkey_string keyv) MIRNominalTypeEnum_String
            (ite (is-bsqkey_safestring keyv) (bsq_safestring_type (bsqkey_safestring_value keyv))
              (ite (is-bsqkey_stringof keyv) (bsq_stringof_type (bsqkey_stringof_value keyv))
                (ite (is-bsqkey_uuid keyv) MIRNominalTypeEnum_UUID
                  (ite (is-bsqkey_logicaltime keyv) MIRNominalTypeEnum_LogicalTime
                    (ite (is-bsqkey_cryptohash keyv) MIRNominalTypeEnum_CryptoHash
                      (ite (is-bsqkey_enum keyv) (bsq_enum_type (bsqkey_enum_value keyv))
                        (ite (is-bsqkey_idkeysimple keyv) (bsq_idkeysimple_type (bsqkey_idkeysimple_value keyv))
                          (bsq_idkeycompound_type (bsqkey_idkeycompound_value keyv))
                        )
                      )
                    )
                  )
                )
              )
            )
          )
        )
      )
    )
  )
)

(define-fun bsqterm_get_nominal_type ((term BTerm)) Int
  (ite (is-bsqterm_float64 term) MIRNominalTypeEnum_Float64
    (ite (is-bsqterm_key term) (bsqkey_get_nominal_type (bsqterm_key_value term))
      (ite (is-bsqterm_buffer term) (bsq_buffer_type (bsqterm_buffer_value term))
        (ite (is-bsqterm_bufferof term) (bsq_bufferof_type (bsqterm_bufferof_value term))
          (ite (is-bsqterm_bytebuffer term) MIRNominalTypeEnum_ByteBuffer
            (ite (is-bsqterm_isotime term) MIRNominalTypeEnum_ISOTime
              (ite (is-bsqterm_regex term) MIRNominalTypeEnum_Regex
                (ite (is-bsqterm_tuple term) MIRNominalTypeEnum_Tuple
                  (ite (is-bsqterm_record term) MIRNominalTypeEnum_Record
                    (bsqterm_object_type term)
                  )
                )
              )
            )
          )
        )
      )
    )
  )
)

(define-fun bsqkeyless_basetypes ((k1 BKeyValue) (k2 BKeyValue)) Bool
  (let ((k1t (bsqkey_get_nominal_type k1)) (k2t (bsqkey_get_nominal_type k2)))
    (ite (not (= k1t k2t))
      (< k1t k2t)
      (ite (and (= k1 bsqkey_none) (= k2 bsqkey_none)) false
        (ite (and (is-bsqkey_bool k1) (is-bsqkey_bool k2)) (and (not (bsqkey_bool_value k1)) (bsqkey_bool_value k2))
          (ite (and (is-bsqkey_int k1) (is-bsqkey_int k2)) (< (bsqkey_int_value k1) (bsqkey_int_value k2))
            (ite (and (is-bsqkey_bigint k1) (is-bsqkey_bigint k2)) (< (bsqkey_bigint_value k1) (bsqkey_bigint_value k2))
              (ite (and (is-bsqkey_string k1) (is-bsqkey_string k2)) (str.< (bsqkey_string_value k1) (bsqkey_string_value k2))
                (ite (and (is-bsqkey_safestring k1) (is-bsqkey_safestring k2)) (str.< (bsq_safestring_value (bsqkey_safestring_value k1)) (bsq_safestring_value (bsqkey_safestring_value k2)))
                  (ite (and (is-bsqkey_stringof k1) (is-bsqkey_stringof k2)) (str.< (bsq_stringof_value (bsqkey_stringof_value k1)) (bsq_stringof_value (bsqkey_stringof_value k2)))
                    (ite (and (is-bsqkey_uuid k1) (is-bsqkey_uuid k2)) (str.< (bsq_uuid_value (bsqkey_uuid_value k1)) (bsq_uuid_value (bsqkey_uuid_value k2)))
                      (ite (and (is-bsqkey_logicaltime k1) (is-bsqkey_logicaltime k2)) (< (bsq_logicaltime_value (bsqkey_logicaltime_value k1)) (bsq_logicaltime_value (bsqkey_logicaltime_value k2)))
                        (ite (and (is-bsqkey_cryptohash k1) (is-bsqkey_cryptohash k2)) (str.< (bsq_cryptohash_value (bsqkey_cryptohash_value k1)) (bsq_cryptohash_value (bsqkey_cryptohash_value k2)))
                          (< (bsq_enum_value (bsqkey_enum_value k1)) (bsq_enum_value (bsqkey_enum_value k2)))
                        )
                      )
                    )
                  )
                )
              )
            )
          )
        )
      )   
    )
  )
)

(define-fun bsqkeyless_identitysimple ((idtype Int) (k1 bsq_idkeysimple) (k2 bsq_idkeysimple)) Bool
;;
;;TODO -- need to gas bound and generate this (and bsqkeyless programatically)
;;
false
)

(define-fun bsqkeyless_identitycompound ((idtype Int) (k1 bsq_idkeycompound) (k2 bsq_idkeycompound)) Bool
;;
;;TODO -- need to gas bound and generate this (and bsqkeyless programatically)
;;
false
)

(define-fun bsqkeyless ((k1 BKeyValue) (k2 BKeyValue)) Bool
  (let ((k1t (bsqkey_get_nominal_type k1)) (k2t (bsqkey_get_nominal_type k2)))
    (ite (not (= k1t k2t))
      (< k1t k2t)
      (ite (and (is-bsqkey_idkeycompound k1) (is-bsqkey_idkeycompound k2))
        (bsqkeyless_identitycompound k1t (bsqkey_idkeycompound_value k1) (bsqkey_idkeycompound_value k2))
        (ite (and (is-bsqkey_idkeysimple k1) (is-bsqkey_idkeysimple k2))
          (bsqkeyless_identitysimple k1t (bsqkey_idkeysimple_value k1) (bsqkey_idkeysimple_value k2))
          (bsqkeyless_basetypes k1 k2)
        )
      )
    )
  )
)

(declare-const StructuralSpecialTypeInfo@Clear StructuralSpecialTypeInfo)
(assert (= StructuralSpecialTypeInfo@Clear (StructuralSpecialTypeInfo@cons true true true)))

(define-fun getStructuralSpecialTypeInfoTerm ((term BTerm)) StructuralSpecialTypeInfo
  (ite (= term bsqterm@clear) StructuralSpecialTypeInfo@Clear
    (ite (is-bsqterm_tuple term) (bsq_tuple_concepts (bsqterm_tuple_value term))
      (ite (is-bsqterm_record term) (bsq_record_concepts (bsqterm_record_value term))
        (nominalDataKinds (bsqterm_get_nominal_type term))
      )
    )
  )
)

(define-fun mergeStructuralSpecialTypeInfo ((st1 StructuralSpecialTypeInfo) (st2 StructuralSpecialTypeInfo)) StructuralSpecialTypeInfo
  (StructuralSpecialTypeInfo@cons (and (StructuralSpecialTypeInfo$PODType st1) (StructuralSpecialTypeInfo$PODType st2)) (and (StructuralSpecialTypeInfo$APIType st1) (StructuralSpecialTypeInfo$APIType st2)) (and (StructuralSpecialTypeInfo$Parsable st1) (StructuralSpecialTypeInfo$Parsable st2)))
)

(define-fun @fj ((term BTerm) (sti StructuralSpecialTypeInfo)) StructuralSpecialTypeInfo
  (mergeStructuralSpecialTypeInfo (getStructuralSpecialTypeInfoTerm term) sti)
)

(declare-const @int_min Int)
(assert (= @int_min -9007199254740991))

(declare-const @int_max Int)
(assert (= @int_max 9007199254740991))

(define-fun @int_unsafe ((v Int)) Bool
  (or (< v @int_min) (> v @int_max))
)



(declare-const bsqterm_none BTerm)
(assert (= bsqterm_none (bsqterm_key bsqkey_none)))

(declare-const bsqidkey_array_empty (Array Int BKeyValue))
(assert (= bsqidkey_array_empty ((as const (Array Int BKeyValue)) bsqkey_none)))

(declare-const bsqtuple_array_empty (Array Int BTerm))
(assert (= bsqtuple_array_empty ((as const (Array Int BTerm)) bsqterm@clear)))

(declare-const bsqrecord_array_empty (Array String BTerm))
(assert (= bsqrecord_array_empty ((as const (Array String BTerm)) bsqterm@clear)))

(declare-const nscore__list_t__func_nsmain__func__time_nscore__int___collection_data_array_emptyI16I (Array Int bsq_record))
(declare-const nscore__list_t_nscore__int__collection_data_array_emptyI18I (Array Int Int))
(declare-const nscore__list_t_nsmain__func__collection_data_array_emptyI21I (Array Int nsmain__funcI20I))
(declare-const nscore__map_k_nscore__int__v_nscore__list_nsmain__func___collection_data_array_emptyI24I (Array Int nscore__list_t_nsmain__func_I19I))
(declare-const nscore__map_k_nscore__int__v_nscore__list_nsmain__func___collection_has_array_emptyI25I (Array Int Bool))
(assert (= nscore__map_k_nscore__int__v_nscore__list_nsmain__func___collection_has_array_emptyI25I ((as const (Array Int Bool)) false)))

(declare-datatypes (
      (ErrorCode 0)
      (Result@BTerm 0)
    (Result@Bool 0)
    (Result@Int 0)
    (Result@String 0)
    (Result@bsq_record 0)
    (Result@nscore__keylist_k_nscore__int_I11I 0)
    (Result@nscore__list_t__func_nsmain__func__time_nscore__int__I15I 0)
    (Result@nscore__list_t_nscore__int_I17I 0)
    (Result@nscore__list_t_nsmain__func_I19I 0)
    (Result@nsmain__funcI20I 0)
    (Result@nsmain__testschedulerI34I 0)
    ) (
    ( (result_error (error_id Int)) (result_bmc (bmc_id String)) )
    ( (result_success@BTerm (result_success_value@BTerm BTerm)) (result_error@BTerm (result_error_code@BTerm ErrorCode)) )
    ( (result_success@Bool (result_success_value@Bool Bool)) (result_error@Bool (result_error_code@Bool ErrorCode)) )
    ( (result_success@Int (result_success_value@Int Int)) (result_error@Int (result_error_code@Int ErrorCode)) )
    ( (result_success@String (result_success_value@String String)) (result_error@String (result_error_code@String ErrorCode)) )
    ( (result_success@bsq_record (result_success_value@bsq_record bsq_record)) (result_error@bsq_record (result_error_code@bsq_record ErrorCode)) )
    ( (result_success@nscore__keylist_k_nscore__int_I11I (result_success_value@nscore__keylist_k_nscore__int_I11I nscore__keylist_k_nscore__int_I11I)) (result_error@nscore__keylist_k_nscore__int_I11I (result_error_code@nscore__keylist_k_nscore__int_I11I ErrorCode)) )
    ( (result_success@nscore__list_t__func_nsmain__func__time_nscore__int__I15I (result_success_value@nscore__list_t__func_nsmain__func__time_nscore__int__I15I nscore__list_t__func_nsmain__func__time_nscore__int__I15I)) (result_error@nscore__list_t__func_nsmain__func__time_nscore__int__I15I (result_error_code@nscore__list_t__func_nsmain__func__time_nscore__int__I15I ErrorCode)) )
    ( (result_success@nscore__list_t_nscore__int_I17I (result_success_value@nscore__list_t_nscore__int_I17I nscore__list_t_nscore__int_I17I)) (result_error@nscore__list_t_nscore__int_I17I (result_error_code@nscore__list_t_nscore__int_I17I ErrorCode)) )
    ( (result_success@nscore__list_t_nsmain__func_I19I (result_success_value@nscore__list_t_nsmain__func_I19I nscore__list_t_nsmain__func_I19I)) (result_error@nscore__list_t_nsmain__func_I19I (result_error_code@nscore__list_t_nsmain__func_I19I ErrorCode)) )
    ( (result_success@nsmain__funcI20I (result_success_value@nsmain__funcI20I nsmain__funcI20I)) (result_error@nsmain__funcI20I (result_error_code@nsmain__funcI20I ErrorCode)) )
    ( (result_success@nsmain__testschedulerI34I (result_success_value@nsmain__testschedulerI34I nsmain__testschedulerI34I)) (result_error@nsmain__testschedulerI34I (result_error_code@nsmain__testschedulerI34I ErrorCode)) )
))

(declare-const mirconceptsubtypearray_empty (Array Int Bool))
(assert (= mirconceptsubtypearray_empty ((as const (Array Int Bool)) false)))



(declare-const MIRConceptSubtypeArray$nscore__anyI41I (Array Int Bool))
(assert (= MIRConceptSubtypeArray$nscore__anyI41I (store (store (store (store (store (store (store (store (store (store (store (store (store (store (store (store (store (store (store (store (store (store (store (store (store (store (store mirconceptsubtypearray_empty MIRNominalTypeEnum_nscore__assumesafeI0I true) MIRNominalTypeEnum_nscore__bigintI1I true) MIRNominalTypeEnum_nscore__boolI2I true) MIRNominalTypeEnum_nscore__buffercompressionI3I true) MIRNominalTypeEnum_nscore__bufferencodingI4I true) MIRNominalTypeEnum_nscore__bufferformatI5I true) MIRNominalTypeEnum_nscore__bytebufferI6I true) MIRNominalTypeEnum_nscore__cryptohashI7I true) MIRNominalTypeEnum_nscore__float64I8I true) MIRNominalTypeEnum_nscore__intI9I true) MIRNominalTypeEnum_nscore__isotimeI10I true) MIRNominalTypeEnum_nscore__keylist_k_nscore__int_I11I true) MIRNominalTypeEnum_nscore__knownsafeI14I true) MIRNominalTypeEnum_nscore__list_t__func_nsmain__func__time_nscore__int__I15I true) MIRNominalTypeEnum_nscore__list_t_nscore__int_I17I true) MIRNominalTypeEnum_nscore__list_t_nsmain__func_I19I true) MIRNominalTypeEnum_nscore__logicaltimeI22I true) MIRNominalTypeEnum_nscore__map_k_nscore__int__v_nscore__list_nsmain__func__I23I true) MIRNominalTypeEnum_nscore__mapentry_k_nscore__int__v_nscore__list_nsmain__func__I26I true) MIRNominalTypeEnum_nscore__noneI29I true) MIRNominalTypeEnum_nscore__recordI55I true) MIRNominalTypeEnum_nscore__regexI30I true) MIRNominalTypeEnum_nscore__stringI31I true) MIRNominalTypeEnum_nscore__tupleI58I true) MIRNominalTypeEnum_nscore__uuidI32I true) MIRNominalTypeEnum_nsmain__funcI20I true) MIRNominalTypeEnum_nsmain__testschedulerI34I true)))
(declare-const MIRConceptSubtypeArray$nscore__apitypeI42I (Array Int Bool))
(assert (= MIRConceptSubtypeArray$nscore__apitypeI42I (store (store (store (store (store (store (store (store (store (store (store (store (store (store mirconceptsubtypearray_empty MIRNominalTypeEnum_nscore__bigintI1I true) MIRNominalTypeEnum_nscore__boolI2I true) MIRNominalTypeEnum_nscore__buffercompressionI3I true) MIRNominalTypeEnum_nscore__bufferencodingI4I true) MIRNominalTypeEnum_nscore__bufferformatI5I true) MIRNominalTypeEnum_nscore__cryptohashI7I true) MIRNominalTypeEnum_nscore__float64I8I true) MIRNominalTypeEnum_nscore__intI9I true) MIRNominalTypeEnum_nscore__isotimeI10I true) MIRNominalTypeEnum_nscore__list_t_nscore__int_I17I true) MIRNominalTypeEnum_nscore__logicaltimeI22I true) MIRNominalTypeEnum_nscore__noneI29I true) MIRNominalTypeEnum_nscore__stringI31I true) MIRNominalTypeEnum_nscore__uuidI32I true)))
(declare-const MIRConceptSubtypeArray$nscore__apivalueI43I (Array Int Bool))
(assert (= MIRConceptSubtypeArray$nscore__apivalueI43I (store (store (store (store (store (store (store (store (store (store (store (store (store (store (store mirconceptsubtypearray_empty MIRNominalTypeEnum_nscore__bigintI1I true) MIRNominalTypeEnum_nscore__boolI2I true) MIRNominalTypeEnum_nscore__buffercompressionI3I true) MIRNominalTypeEnum_nscore__bufferencodingI4I true) MIRNominalTypeEnum_nscore__bufferformatI5I true) MIRNominalTypeEnum_nscore__bytebufferI6I true) MIRNominalTypeEnum_nscore__cryptohashI7I true) MIRNominalTypeEnum_nscore__float64I8I true) MIRNominalTypeEnum_nscore__intI9I true) MIRNominalTypeEnum_nscore__isotimeI10I true) MIRNominalTypeEnum_nscore__list_t_nscore__int_I17I true) MIRNominalTypeEnum_nscore__logicaltimeI22I true) MIRNominalTypeEnum_nscore__noneI29I true) MIRNominalTypeEnum_nscore__stringI31I true) MIRNominalTypeEnum_nscore__uuidI32I true)))
(declare-const MIRConceptSubtypeArray$nscore__convertableI44I (Array Int Bool))
(assert (= MIRConceptSubtypeArray$nscore__convertableI44I (store mirconceptsubtypearray_empty MIRNominalTypeEnum_nscore__mapentry_k_nscore__int__v_nscore__list_nsmain__func__I26I true)))
(declare-const MIRConceptSubtypeArray$nscore__enumI45I (Array Int Bool))
(assert (= MIRConceptSubtypeArray$nscore__enumI45I (store (store (store mirconceptsubtypearray_empty MIRNominalTypeEnum_nscore__buffercompressionI3I true) MIRNominalTypeEnum_nscore__bufferencodingI4I true) MIRNominalTypeEnum_nscore__bufferformatI5I true)))
(declare-const MIRConceptSubtypeArray$nscore__expandoable_t__func_nsmain__func__time_nscore__int__I46I (Array Int Bool))
(assert (= MIRConceptSubtypeArray$nscore__expandoable_t__func_nsmain__func__time_nscore__int__I46I (store (store (store (store mirconceptsubtypearray_empty MIRNominalTypeEnum_nscore__list_t__func_nsmain__func__time_nscore__int__I15I true) MIRNominalTypeEnum_nscore__list_t_nscore__int_I17I true) MIRNominalTypeEnum_nscore__list_t_nsmain__func_I19I true) MIRNominalTypeEnum_nscore__map_k_nscore__int__v_nscore__list_nsmain__func__I23I true)))
(declare-const MIRConceptSubtypeArray$nscore__expandoable_t_nscore__int_I47I (Array Int Bool))
(assert (= MIRConceptSubtypeArray$nscore__expandoable_t_nscore__int_I47I (store (store (store (store mirconceptsubtypearray_empty MIRNominalTypeEnum_nscore__list_t__func_nsmain__func__time_nscore__int__I15I true) MIRNominalTypeEnum_nscore__list_t_nscore__int_I17I true) MIRNominalTypeEnum_nscore__list_t_nsmain__func_I19I true) MIRNominalTypeEnum_nscore__map_k_nscore__int__v_nscore__list_nsmain__func__I23I true)))
(declare-const MIRConceptSubtypeArray$nscore__expandoable_t_nscore__mapentry_nscore__int__nscore__list_nsmain__func___I48I (Array Int Bool))
(assert (= MIRConceptSubtypeArray$nscore__expandoable_t_nscore__mapentry_nscore__int__nscore__list_nsmain__func___I48I (store (store (store (store mirconceptsubtypearray_empty MIRNominalTypeEnum_nscore__list_t__func_nsmain__func__time_nscore__int__I15I true) MIRNominalTypeEnum_nscore__list_t_nscore__int_I17I true) MIRNominalTypeEnum_nscore__list_t_nsmain__func_I19I true) MIRNominalTypeEnum_nscore__map_k_nscore__int__v_nscore__list_nsmain__func__I23I true)))
(declare-const MIRConceptSubtypeArray$nscore__expandoable_t_nsmain__func_I49I (Array Int Bool))
(assert (= MIRConceptSubtypeArray$nscore__expandoable_t_nsmain__func_I49I (store (store (store (store mirconceptsubtypearray_empty MIRNominalTypeEnum_nscore__list_t__func_nsmain__func__time_nscore__int__I15I true) MIRNominalTypeEnum_nscore__list_t_nscore__int_I17I true) MIRNominalTypeEnum_nscore__list_t_nsmain__func_I19I true) MIRNominalTypeEnum_nscore__map_k_nscore__int__v_nscore__list_nsmain__func__I23I true)))
(declare-const MIRConceptSubtypeArray$nscore__keytypeI51I (Array Int Bool))
(assert (= MIRConceptSubtypeArray$nscore__keytypeI51I (store (store (store (store (store (store (store (store (store (store (store mirconceptsubtypearray_empty MIRNominalTypeEnum_nscore__bigintI1I true) MIRNominalTypeEnum_nscore__boolI2I true) MIRNominalTypeEnum_nscore__buffercompressionI3I true) MIRNominalTypeEnum_nscore__bufferencodingI4I true) MIRNominalTypeEnum_nscore__bufferformatI5I true) MIRNominalTypeEnum_nscore__cryptohashI7I true) MIRNominalTypeEnum_nscore__intI9I true) MIRNominalTypeEnum_nscore__logicaltimeI22I true) MIRNominalTypeEnum_nscore__noneI29I true) MIRNominalTypeEnum_nscore__stringI31I true) MIRNominalTypeEnum_nscore__uuidI32I true)))
(declare-const MIRConceptSubtypeArray$nscore__objectI52I (Array Int Bool))
(assert (= MIRConceptSubtypeArray$nscore__objectI52I (store (store (store (store (store (store (store mirconceptsubtypearray_empty MIRNominalTypeEnum_nscore__keylist_k_nscore__int_I11I true) MIRNominalTypeEnum_nscore__list_t__func_nsmain__func__time_nscore__int__I15I true) MIRNominalTypeEnum_nscore__list_t_nscore__int_I17I true) MIRNominalTypeEnum_nscore__list_t_nsmain__func_I19I true) MIRNominalTypeEnum_nscore__map_k_nscore__int__v_nscore__list_nsmain__func__I23I true) MIRNominalTypeEnum_nsmain__funcI20I true) MIRNominalTypeEnum_nsmain__testschedulerI34I true)))
(declare-const MIRConceptSubtypeArray$nscore__parsableI53I (Array Int Bool))
(assert (= MIRConceptSubtypeArray$nscore__parsableI53I (store (store (store (store (store (store (store (store (store (store (store (store mirconceptsubtypearray_empty MIRNominalTypeEnum_nscore__bigintI1I true) MIRNominalTypeEnum_nscore__boolI2I true) MIRNominalTypeEnum_nscore__buffercompressionI3I true) MIRNominalTypeEnum_nscore__bufferencodingI4I true) MIRNominalTypeEnum_nscore__bufferformatI5I true) MIRNominalTypeEnum_nscore__cryptohashI7I true) MIRNominalTypeEnum_nscore__float64I8I true) MIRNominalTypeEnum_nscore__intI9I true) MIRNominalTypeEnum_nscore__isotimeI10I true) MIRNominalTypeEnum_nscore__logicaltimeI22I true) MIRNominalTypeEnum_nscore__noneI29I true) MIRNominalTypeEnum_nscore__uuidI32I true)))
(declare-const MIRConceptSubtypeArray$nscore__podtypeI54I (Array Int Bool))
(assert (= MIRConceptSubtypeArray$nscore__podtypeI54I (store (store (store (store (store (store (store (store (store (store (store mirconceptsubtypearray_empty MIRNominalTypeEnum_nscore__bigintI1I true) MIRNominalTypeEnum_nscore__boolI2I true) MIRNominalTypeEnum_nscore__cryptohashI7I true) MIRNominalTypeEnum_nscore__float64I8I true) MIRNominalTypeEnum_nscore__intI9I true) MIRNominalTypeEnum_nscore__isotimeI10I true) MIRNominalTypeEnum_nscore__list_t_nscore__int_I17I true) MIRNominalTypeEnum_nscore__logicaltimeI22I true) MIRNominalTypeEnum_nscore__noneI29I true) MIRNominalTypeEnum_nscore__stringI31I true) MIRNominalTypeEnum_nscore__uuidI32I true)))
(declare-const MIRConceptSubtypeArray$nscore__recordI55I (Array Int Bool))
(assert (= MIRConceptSubtypeArray$nscore__recordI55I (store mirconceptsubtypearray_empty MIRNominalTypeEnum_nscore__recordI55I true)))
(declare-const MIRConceptSubtypeArray$nscore__someI56I (Array Int Bool))
(assert (= MIRConceptSubtypeArray$nscore__someI56I (store (store (store (store (store (store (store (store (store (store (store (store (store (store (store (store (store (store (store (store (store (store (store (store (store (store mirconceptsubtypearray_empty MIRNominalTypeEnum_nscore__assumesafeI0I true) MIRNominalTypeEnum_nscore__bigintI1I true) MIRNominalTypeEnum_nscore__boolI2I true) MIRNominalTypeEnum_nscore__buffercompressionI3I true) MIRNominalTypeEnum_nscore__bufferencodingI4I true) MIRNominalTypeEnum_nscore__bufferformatI5I true) MIRNominalTypeEnum_nscore__bytebufferI6I true) MIRNominalTypeEnum_nscore__cryptohashI7I true) MIRNominalTypeEnum_nscore__float64I8I true) MIRNominalTypeEnum_nscore__intI9I true) MIRNominalTypeEnum_nscore__isotimeI10I true) MIRNominalTypeEnum_nscore__keylist_k_nscore__int_I11I true) MIRNominalTypeEnum_nscore__knownsafeI14I true) MIRNominalTypeEnum_nscore__list_t__func_nsmain__func__time_nscore__int__I15I true) MIRNominalTypeEnum_nscore__list_t_nscore__int_I17I true) MIRNominalTypeEnum_nscore__list_t_nsmain__func_I19I true) MIRNominalTypeEnum_nscore__logicaltimeI22I true) MIRNominalTypeEnum_nscore__map_k_nscore__int__v_nscore__list_nsmain__func__I23I true) MIRNominalTypeEnum_nscore__mapentry_k_nscore__int__v_nscore__list_nsmain__func__I26I true) MIRNominalTypeEnum_nscore__recordI55I true) MIRNominalTypeEnum_nscore__regexI30I true) MIRNominalTypeEnum_nscore__stringI31I true) MIRNominalTypeEnum_nscore__tupleI58I true) MIRNominalTypeEnum_nscore__uuidI32I true) MIRNominalTypeEnum_nsmain__funcI20I true) MIRNominalTypeEnum_nsmain__testschedulerI34I true)))
(declare-const MIRConceptSubtypeArray$nscore__truthyI57I (Array Int Bool))
(assert (= MIRConceptSubtypeArray$nscore__truthyI57I (store (store mirconceptsubtypearray_empty MIRNominalTypeEnum_nscore__boolI2I true) MIRNominalTypeEnum_nscore__noneI29I true)))
(declare-const MIRConceptSubtypeArray$nscore__tupleI58I (Array Int Bool))
(assert (= MIRConceptSubtypeArray$nscore__tupleI58I (store mirconceptsubtypearray_empty MIRNominalTypeEnum_nscore__tupleI58I true)))
(declare-const MIRConceptSubtypeArray$nsmain__schedulerI60I (Array Int Bool))
(assert (= MIRConceptSubtypeArray$nsmain__schedulerI60I (store mirconceptsubtypearray_empty MIRNominalTypeEnum_nsmain__testschedulerI34I true)))





(define-fun nsmain__testscheduler__newI61I () Result@bsq_record 
(let ((_tmp_3I62I (nscore__map_k_nscore__int__v_nscore__list_nsmain__func__I23I@cons 0 nscore__map_k_nscore__int__v_nscore__list_nsmain__func___collection_has_array_emptyI25I nscore__map_k_nscore__int__v_nscore__list_nsmain__func___collection_data_array_emptyI24I bsqterm_none)))
    (let ((_tmp_5I63I (nscore__list_t__func_nsmain__func__time_nscore__int__I15I@cons 0 nscore__list_t__func_nsmain__func__time_nscore__int___collection_data_array_emptyI16I)))
      (let ((_tmp_6I64I (nscore__list_t__func_nsmain__func__time_nscore__int__I15I@cons 0 nscore__list_t__func_nsmain__func__time_nscore__int___collection_data_array_emptyI16I)))
        (let ((_tmp_0I65I (bsq_record@cons (StructuralSpecialTypeInfo@cons false false false) (store (store (store (store (store (store bsqrecord_array_empty "currentTime" (bsqterm_key (bsqkey_int 0))) "now" (bsqterm_key (bsqkey_int 0))) "runlist" (bsqterm_object MIRNominalTypeEnum_nscore__list_t__func_nsmain__func__time_nscore__int__I15I (cons@bsq_object_from_nscore__list_t__func_nsmain__func__time_nscore__int__I15I _tmp_5I63I))) "running" (bsqterm_key (bsqkey_bool false))) "sortedTasks" (bsqterm_object MIRNominalTypeEnum_nscore__list_t__func_nsmain__func__time_nscore__int__I15I (cons@bsq_object_from_nscore__list_t__func_nsmain__func__time_nscore__int__I15I _tmp_6I64I))) "timeline" (bsqterm_object MIRNominalTypeEnum_nscore__map_k_nscore__int__v_nscore__list_nsmain__func__I23I (cons@bsq_object_from_nscore__map_k_nscore__int__v_nscore__list_nsmain__func__I23I _tmp_3I62I))))))
          (let ((___ir_ret__I66I _tmp_0I65I))
            (let (($return ___ir_ret__I66I))
              (result_success@bsq_record $return)
            )
          )
        )
      )
    )
  ))
(define-fun fn__fibersched_bsq_138__3592I67I () Result@String 
(let ((___ir_ret__I66I "R1"))
    (let (($return ___ir_ret__I66I))
      (result_success@String $return)
    )
  ))
(define-fun nsmain__func__enqueue_fibersched_bsq_138_0_I68I () Result@bsq_record 
(let ((@tmpvar@0 fn__fibersched_bsq_138__3592I67I))
    (ite (is-result_error@String @tmpvar@0)
      (result_error@bsq_record (result_error_code@String @tmpvar@0))
      (let ((_tmp_1I69I (result_success_value@String @tmpvar@0)))
        (let ((_tmp_0I65I (bsq_record@cons (StructuralSpecialTypeInfo@cons false true true) (store bsqrecord_array_empty "lf" (bsqterm_key (bsqkey_string _tmp_1I69I))))))
          (let ((___ir_ret__I66I _tmp_0I65I))
            (let (($return ___ir_ret__I66I))
              (result_success@bsq_record $return)
            )
          )
        )
      )
    )
  ))
(define-fun nsmain__func___invariant_directI71I ((_lfI70I String)) Result@Bool 
(let ((_tmp_0I65I (not (= _lfI70I ""))))
    (let ((___ir_ret__I66I _tmp_0I65I))
      (let (($return ___ir_ret__I66I))
        (result_success@Bool $return)
      )
    )
  ))
(define-fun nsmain__func____invariantI72I ((_lfI70I String)) Result@Bool 
(let ((_tmp_0I65I true))
    (let ((@tmpvar@1 (nsmain__func___invariant_directI71I _lfI70I)))
      (ite (is-result_error@Bool @tmpvar@1)
        @tmpvar@1
        (let ((_tmp_0_1I73I (result_success_value@Bool @tmpvar@1)))
          (ite _tmp_0_1I73I
            (let ((___ir_ret___1I74I _tmp_0_1I73I))
              (let ((___ir_ret___2I75I ___ir_ret___1I74I))
                (let (($return ___ir_ret___2I75I))
                  (result_success@Bool $return)
                )
              )
            )
            (let ((___ir_ret__I66I _tmp_0_1I73I))
              (let ((___ir_ret___2I75I ___ir_ret__I66I))
                (let (($return ___ir_ret___2I75I))
                  (result_success@Bool $return)
                )
              )
            )
          )
        )
      )
    )
  ))
(define-fun nscore__map__s_has_key_k_nscore__int__v_nscore__list_nsmain__func__I78I ((mI76I nscore__map_k_nscore__int__v_nscore__list_nsmain__func__I23I) (keyI77I Int)) Bool 
  (select (nscore__map_k_nscore__int__v_nscore__list_nsmain__func__I23I@@has mI76I) keyI77I)
)
(define-fun nscore__map__has_k_nscore__int__v_nscore__list_nsmain__func__I80I ((thisI79I nscore__map_k_nscore__int__v_nscore__list_nsmain__func__I23I) (keyI77I Int)) Result@Bool 
(let ((_tmp_0I65I (nscore__map__s_has_key_k_nscore__int__v_nscore__list_nsmain__func__I78I thisI79I keyI77I)))
    (let ((___ir_ret__I66I _tmp_0I65I))
      (let (($return ___ir_ret__I66I))
        (result_success@Bool $return)
      )
    )
  ))
(define-fun nscore__list__s_size_t__func_nsmain__func__time_nscore__int__I82I ((lI81I nscore__list_t__func_nsmain__func__time_nscore__int__I15I)) Int 
  (nscore__list_t__func_nsmain__func__time_nscore__int__I15I@@size lI81I)
)
(define-fun nscore__list__s_unsafe_get_t__func_nsmain__func__time_nscore__int__I84I ((lI81I nscore__list_t__func_nsmain__func__time_nscore__int__I15I) (iI83I Int)) bsq_record 
  (select (nscore__list_t__func_nsmain__func__time_nscore__int__I15I@@entries lI81I) iI83I)
)
(define-fun fn__fibersched_bsq_71__1945I87I ((taskI85I bsq_record) (__c_atI86I Int)) Result@Bool 
(let ((_tmp_3I62I (bsqkey_int_value (bsqterm_key_value (select (bsq_record_entries taskI85I) "time")))))
    (let ((_tmp_0I65I (< _tmp_3I62I __c_atI86I)))
      (let ((___ir_ret__I66I _tmp_0I65I))
        (let (($return ___ir_ret__I66I))
          (result_success@Bool $return)
        )
      )
    )
  ))
(define-fun nscore__list__s_unsafe_push_t__func_nsmain__func__time_nscore__int__I89I ((lI81I nscore__list_t__func_nsmain__func__time_nscore__int__I15I) (vI88I bsq_record)) nscore__list_t__func_nsmain__func__time_nscore__int__I15I 
  (nscore__list_t__func_nsmain__func__time_nscore__int__I15I@cons (+ (nscore__list_t__func_nsmain__func__time_nscore__int__I15I@@size lI81I) 1) (store (nscore__list_t__func_nsmain__func__time_nscore__int__I15I@@entries lI81I) (nscore__list_t__func_nsmain__func__time_nscore__int__I15I@@size lI81I) vI88I))
)
(define-fun nscore__list__s_filter_t__func_nsmain__func__time_nscore__int___fibersched_bsq_71_0_I93I@gas1 ((lI81I nscore__list_t__func_nsmain__func__time_nscore__int__I15I) (lsizeI90I Int) (lpI91I nscore__list_t__func_nsmain__func__time_nscore__int__I15I) (idxI92I Int) (__c_atI86I Int)) Result@nscore__list_t__func_nsmain__func__time_nscore__int__I15I 
(let ((_tmp_0I65I (= idxI92I lsizeI90I)))
    (ite _tmp_0I65I
      (let ((___ir_ret___2I75I lpI91I))
        (let ((___ir_ret___3I94I ___ir_ret___2I75I))
          (let (($return ___ir_ret___3I94I))
            (result_success@nscore__list_t__func_nsmain__func__time_nscore__int__I15I $return)
          )
        )
      )
      (let ((_tmp_4I95I (nscore__list__s_unsafe_get_t__func_nsmain__func__time_nscore__int__I84I lI81I idxI92I)))
        (let ((valI96I _tmp_4I95I))
          (let ((@tmpvar@2 (fn__fibersched_bsq_71__1945I87I valI96I __c_atI86I)))
            (ite (is-result_error@Bool @tmpvar@2)
              (result_error@nscore__list_t__func_nsmain__func__time_nscore__int__I15I (result_error_code@Bool @tmpvar@2))
              (let ((_tmp_7I97I (result_success_value@Bool @tmpvar@2)))
                (ite _tmp_7I97I
                  (let ((_tmp_13I98I (nscore__list__s_unsafe_push_t__func_nsmain__func__time_nscore__int__I89I lpI91I valI96I)))
                    (let ((_tmp_16I99I (+ idxI92I 1)))
                      (ite (@int_unsafe _tmp_16I99I)
                        (result_error@nscore__list_t__func_nsmain__func__time_nscore__int__I15I (result_error 0))
                        (let ((@tmpvar@3 (result_error@nscore__list_t__func_nsmain__func__time_nscore__int__I15I (result_bmc "collection"))))
                          (ite (is-result_error@nscore__list_t__func_nsmain__func__time_nscore__int__I15I @tmpvar@3)
                            @tmpvar@3
                            (let ((_tmp_10I100I (result_success_value@nscore__list_t__func_nsmain__func__time_nscore__int__I15I @tmpvar@3)))
                              (let ((___ir_ret___1I74I _tmp_10I100I))
                                (let ((___ir_ret___3I94I ___ir_ret___1I74I))
                                  (let (($return ___ir_ret___3I94I))
                                    (result_success@nscore__list_t__func_nsmain__func__time_nscore__int__I15I $return)
                                  )
                                )
                              )
                            )
                          )
                        )
                      )
                    )
                  )
                  (let ((_tmp_24I101I (+ idxI92I 1)))
                    (ite (@int_unsafe _tmp_24I101I)
                      (result_error@nscore__list_t__func_nsmain__func__time_nscore__int__I15I (result_error 1))
                      (let ((@tmpvar@4 (result_error@nscore__list_t__func_nsmain__func__time_nscore__int__I15I (result_bmc "collection"))))
                        (ite (is-result_error@nscore__list_t__func_nsmain__func__time_nscore__int__I15I @tmpvar@4)
                          @tmpvar@4
                          (let ((_tmp_20I102I (result_success_value@nscore__list_t__func_nsmain__func__time_nscore__int__I15I @tmpvar@4)))
                            (let ((___ir_ret__I66I _tmp_20I102I))
                              (let ((___ir_ret___3I94I ___ir_ret__I66I))
                                (let (($return ___ir_ret___3I94I))
                                  (result_success@nscore__list_t__func_nsmain__func__time_nscore__int__I15I $return)
                                )
                              )
                            )
                          )
                        )
                      )
                    )
                  )
                )
              )
            )
          )
        )
      )
    )
  ))
(define-fun nscore__list__s_filter_t__func_nsmain__func__time_nscore__int___fibersched_bsq_71_0_I93I@gas2 ((lI81I nscore__list_t__func_nsmain__func__time_nscore__int__I15I) (lsizeI90I Int) (lpI91I nscore__list_t__func_nsmain__func__time_nscore__int__I15I) (idxI92I Int) (__c_atI86I Int)) Result@nscore__list_t__func_nsmain__func__time_nscore__int__I15I 
(let ((_tmp_0I65I (= idxI92I lsizeI90I)))
    (ite _tmp_0I65I
      (let ((___ir_ret___2I75I lpI91I))
        (let ((___ir_ret___3I94I ___ir_ret___2I75I))
          (let (($return ___ir_ret___3I94I))
            (result_success@nscore__list_t__func_nsmain__func__time_nscore__int__I15I $return)
          )
        )
      )
      (let ((_tmp_4I95I (nscore__list__s_unsafe_get_t__func_nsmain__func__time_nscore__int__I84I lI81I idxI92I)))
        (let ((valI96I _tmp_4I95I))
          (let ((@tmpvar@5 (fn__fibersched_bsq_71__1945I87I valI96I __c_atI86I)))
            (ite (is-result_error@Bool @tmpvar@5)
              (result_error@nscore__list_t__func_nsmain__func__time_nscore__int__I15I (result_error_code@Bool @tmpvar@5))
              (let ((_tmp_7I97I (result_success_value@Bool @tmpvar@5)))
                (ite _tmp_7I97I
                  (let ((_tmp_13I98I (nscore__list__s_unsafe_push_t__func_nsmain__func__time_nscore__int__I89I lpI91I valI96I)))
                    (let ((_tmp_16I99I (+ idxI92I 1)))
                      (ite (@int_unsafe _tmp_16I99I)
                        (result_error@nscore__list_t__func_nsmain__func__time_nscore__int__I15I (result_error 0))
                        (let ((@tmpvar@6 (nscore__list__s_filter_t__func_nsmain__func__time_nscore__int___fibersched_bsq_71_0_I93I@gas1 lI81I lsizeI90I _tmp_13I98I _tmp_16I99I __c_atI86I)))
                          (ite (is-result_error@nscore__list_t__func_nsmain__func__time_nscore__int__I15I @tmpvar@6)
                            @tmpvar@6
                            (let ((_tmp_10I100I (result_success_value@nscore__list_t__func_nsmain__func__time_nscore__int__I15I @tmpvar@6)))
                              (let ((___ir_ret___1I74I _tmp_10I100I))
                                (let ((___ir_ret___3I94I ___ir_ret___1I74I))
                                  (let (($return ___ir_ret___3I94I))
                                    (result_success@nscore__list_t__func_nsmain__func__time_nscore__int__I15I $return)
                                  )
                                )
                              )
                            )
                          )
                        )
                      )
                    )
                  )
                  (let ((_tmp_24I101I (+ idxI92I 1)))
                    (ite (@int_unsafe _tmp_24I101I)
                      (result_error@nscore__list_t__func_nsmain__func__time_nscore__int__I15I (result_error 1))
                      (let ((@tmpvar@7 (nscore__list__s_filter_t__func_nsmain__func__time_nscore__int___fibersched_bsq_71_0_I93I@gas1 lI81I lsizeI90I lpI91I _tmp_24I101I __c_atI86I)))
                        (ite (is-result_error@nscore__list_t__func_nsmain__func__time_nscore__int__I15I @tmpvar@7)
                          @tmpvar@7
                          (let ((_tmp_20I102I (result_success_value@nscore__list_t__func_nsmain__func__time_nscore__int__I15I @tmpvar@7)))
                            (let ((___ir_ret__I66I _tmp_20I102I))
                              (let ((___ir_ret___3I94I ___ir_ret__I66I))
                                (let (($return ___ir_ret___3I94I))
                                  (result_success@nscore__list_t__func_nsmain__func__time_nscore__int__I15I $return)
                                )
                              )
                            )
                          )
                        )
                      )
                    )
                  )
                )
              )
            )
          )
        )
      )
    )
  ))
(define-fun nscore__list__s_filter_t__func_nsmain__func__time_nscore__int___fibersched_bsq_71_0_I93I@gas3 ((lI81I nscore__list_t__func_nsmain__func__time_nscore__int__I15I) (lsizeI90I Int) (lpI91I nscore__list_t__func_nsmain__func__time_nscore__int__I15I) (idxI92I Int) (__c_atI86I Int)) Result@nscore__list_t__func_nsmain__func__time_nscore__int__I15I 
(let ((_tmp_0I65I (= idxI92I lsizeI90I)))
    (ite _tmp_0I65I
      (let ((___ir_ret___2I75I lpI91I))
        (let ((___ir_ret___3I94I ___ir_ret___2I75I))
          (let (($return ___ir_ret___3I94I))
            (result_success@nscore__list_t__func_nsmain__func__time_nscore__int__I15I $return)
          )
        )
      )
      (let ((_tmp_4I95I (nscore__list__s_unsafe_get_t__func_nsmain__func__time_nscore__int__I84I lI81I idxI92I)))
        (let ((valI96I _tmp_4I95I))
          (let ((@tmpvar@8 (fn__fibersched_bsq_71__1945I87I valI96I __c_atI86I)))
            (ite (is-result_error@Bool @tmpvar@8)
              (result_error@nscore__list_t__func_nsmain__func__time_nscore__int__I15I (result_error_code@Bool @tmpvar@8))
              (let ((_tmp_7I97I (result_success_value@Bool @tmpvar@8)))
                (ite _tmp_7I97I
                  (let ((_tmp_13I98I (nscore__list__s_unsafe_push_t__func_nsmain__func__time_nscore__int__I89I lpI91I valI96I)))
                    (let ((_tmp_16I99I (+ idxI92I 1)))
                      (ite (@int_unsafe _tmp_16I99I)
                        (result_error@nscore__list_t__func_nsmain__func__time_nscore__int__I15I (result_error 0))
                        (let ((@tmpvar@9 (nscore__list__s_filter_t__func_nsmain__func__time_nscore__int___fibersched_bsq_71_0_I93I@gas2 lI81I lsizeI90I _tmp_13I98I _tmp_16I99I __c_atI86I)))
                          (ite (is-result_error@nscore__list_t__func_nsmain__func__time_nscore__int__I15I @tmpvar@9)
                            @tmpvar@9
                            (let ((_tmp_10I100I (result_success_value@nscore__list_t__func_nsmain__func__time_nscore__int__I15I @tmpvar@9)))
                              (let ((___ir_ret___1I74I _tmp_10I100I))
                                (let ((___ir_ret___3I94I ___ir_ret___1I74I))
                                  (let (($return ___ir_ret___3I94I))
                                    (result_success@nscore__list_t__func_nsmain__func__time_nscore__int__I15I $return)
                                  )
                                )
                              )
                            )
                          )
                        )
                      )
                    )
                  )
                  (let ((_tmp_24I101I (+ idxI92I 1)))
                    (ite (@int_unsafe _tmp_24I101I)
                      (result_error@nscore__list_t__func_nsmain__func__time_nscore__int__I15I (result_error 1))
                      (let ((@tmpvar@10 (nscore__list__s_filter_t__func_nsmain__func__time_nscore__int___fibersched_bsq_71_0_I93I@gas2 lI81I lsizeI90I lpI91I _tmp_24I101I __c_atI86I)))
                        (ite (is-result_error@nscore__list_t__func_nsmain__func__time_nscore__int__I15I @tmpvar@10)
                          @tmpvar@10
                          (let ((_tmp_20I102I (result_success_value@nscore__list_t__func_nsmain__func__time_nscore__int__I15I @tmpvar@10)))
                            (let ((___ir_ret__I66I _tmp_20I102I))
                              (let ((___ir_ret___3I94I ___ir_ret__I66I))
                                (let (($return ___ir_ret___3I94I))
                                  (result_success@nscore__list_t__func_nsmain__func__time_nscore__int__I15I $return)
                                )
                              )
                            )
                          )
                        )
                      )
                    )
                  )
                )
              )
            )
          )
        )
      )
    )
  ))
(define-fun nscore__list__s_filter_t__func_nsmain__func__time_nscore__int___fibersched_bsq_71_0_I93I@gas4 ((lI81I nscore__list_t__func_nsmain__func__time_nscore__int__I15I) (lsizeI90I Int) (lpI91I nscore__list_t__func_nsmain__func__time_nscore__int__I15I) (idxI92I Int) (__c_atI86I Int)) Result@nscore__list_t__func_nsmain__func__time_nscore__int__I15I 
(let ((_tmp_0I65I (= idxI92I lsizeI90I)))
    (ite _tmp_0I65I
      (let ((___ir_ret___2I75I lpI91I))
        (let ((___ir_ret___3I94I ___ir_ret___2I75I))
          (let (($return ___ir_ret___3I94I))
            (result_success@nscore__list_t__func_nsmain__func__time_nscore__int__I15I $return)
          )
        )
      )
      (let ((_tmp_4I95I (nscore__list__s_unsafe_get_t__func_nsmain__func__time_nscore__int__I84I lI81I idxI92I)))
        (let ((valI96I _tmp_4I95I))
          (let ((@tmpvar@11 (fn__fibersched_bsq_71__1945I87I valI96I __c_atI86I)))
            (ite (is-result_error@Bool @tmpvar@11)
              (result_error@nscore__list_t__func_nsmain__func__time_nscore__int__I15I (result_error_code@Bool @tmpvar@11))
              (let ((_tmp_7I97I (result_success_value@Bool @tmpvar@11)))
                (ite _tmp_7I97I
                  (let ((_tmp_13I98I (nscore__list__s_unsafe_push_t__func_nsmain__func__time_nscore__int__I89I lpI91I valI96I)))
                    (let ((_tmp_16I99I (+ idxI92I 1)))
                      (ite (@int_unsafe _tmp_16I99I)
                        (result_error@nscore__list_t__func_nsmain__func__time_nscore__int__I15I (result_error 0))
                        (let ((@tmpvar@12 (nscore__list__s_filter_t__func_nsmain__func__time_nscore__int___fibersched_bsq_71_0_I93I@gas3 lI81I lsizeI90I _tmp_13I98I _tmp_16I99I __c_atI86I)))
                          (ite (is-result_error@nscore__list_t__func_nsmain__func__time_nscore__int__I15I @tmpvar@12)
                            @tmpvar@12
                            (let ((_tmp_10I100I (result_success_value@nscore__list_t__func_nsmain__func__time_nscore__int__I15I @tmpvar@12)))
                              (let ((___ir_ret___1I74I _tmp_10I100I))
                                (let ((___ir_ret___3I94I ___ir_ret___1I74I))
                                  (let (($return ___ir_ret___3I94I))
                                    (result_success@nscore__list_t__func_nsmain__func__time_nscore__int__I15I $return)
                                  )
                                )
                              )
                            )
                          )
                        )
                      )
                    )
                  )
                  (let ((_tmp_24I101I (+ idxI92I 1)))
                    (ite (@int_unsafe _tmp_24I101I)
                      (result_error@nscore__list_t__func_nsmain__func__time_nscore__int__I15I (result_error 1))
                      (let ((@tmpvar@13 (nscore__list__s_filter_t__func_nsmain__func__time_nscore__int___fibersched_bsq_71_0_I93I@gas3 lI81I lsizeI90I lpI91I _tmp_24I101I __c_atI86I)))
                        (ite (is-result_error@nscore__list_t__func_nsmain__func__time_nscore__int__I15I @tmpvar@13)
                          @tmpvar@13
                          (let ((_tmp_20I102I (result_success_value@nscore__list_t__func_nsmain__func__time_nscore__int__I15I @tmpvar@13)))
                            (let ((___ir_ret__I66I _tmp_20I102I))
                              (let ((___ir_ret___3I94I ___ir_ret__I66I))
                                (let (($return ___ir_ret___3I94I))
                                  (result_success@nscore__list_t__func_nsmain__func__time_nscore__int__I15I $return)
                                )
                              )
                            )
                          )
                        )
                      )
                    )
                  )
                )
              )
            )
          )
        )
      )
    )
  ))
(define-fun nscore__list__s_filter_t__func_nsmain__func__time_nscore__int___fibersched_bsq_71_0_I93I ((lI81I nscore__list_t__func_nsmain__func__time_nscore__int__I15I) (lsizeI90I Int) (lpI91I nscore__list_t__func_nsmain__func__time_nscore__int__I15I) (idxI92I Int) (__c_atI86I Int)) Result@nscore__list_t__func_nsmain__func__time_nscore__int__I15I 
(let ((_tmp_0I65I (= idxI92I lsizeI90I)))
    (ite _tmp_0I65I
      (let ((___ir_ret___2I75I lpI91I))
        (let ((___ir_ret___3I94I ___ir_ret___2I75I))
          (let (($return ___ir_ret___3I94I))
            (result_success@nscore__list_t__func_nsmain__func__time_nscore__int__I15I $return)
          )
        )
      )
      (let ((_tmp_4I95I (nscore__list__s_unsafe_get_t__func_nsmain__func__time_nscore__int__I84I lI81I idxI92I)))
        (let ((valI96I _tmp_4I95I))
          (let ((@tmpvar@14 (fn__fibersched_bsq_71__1945I87I valI96I __c_atI86I)))
            (ite (is-result_error@Bool @tmpvar@14)
              (result_error@nscore__list_t__func_nsmain__func__time_nscore__int__I15I (result_error_code@Bool @tmpvar@14))
              (let ((_tmp_7I97I (result_success_value@Bool @tmpvar@14)))
                (ite _tmp_7I97I
                  (let ((_tmp_13I98I (nscore__list__s_unsafe_push_t__func_nsmain__func__time_nscore__int__I89I lpI91I valI96I)))
                    (let ((_tmp_16I99I (+ idxI92I 1)))
                      (ite (@int_unsafe _tmp_16I99I)
                        (result_error@nscore__list_t__func_nsmain__func__time_nscore__int__I15I (result_error 0))
                        (let ((@tmpvar@15 (nscore__list__s_filter_t__func_nsmain__func__time_nscore__int___fibersched_bsq_71_0_I93I@gas4 lI81I lsizeI90I _tmp_13I98I _tmp_16I99I __c_atI86I)))
                          (ite (is-result_error@nscore__list_t__func_nsmain__func__time_nscore__int__I15I @tmpvar@15)
                            @tmpvar@15
                            (let ((_tmp_10I100I (result_success_value@nscore__list_t__func_nsmain__func__time_nscore__int__I15I @tmpvar@15)))
                              (let ((___ir_ret___1I74I _tmp_10I100I))
                                (let ((___ir_ret___3I94I ___ir_ret___1I74I))
                                  (let (($return ___ir_ret___3I94I))
                                    (result_success@nscore__list_t__func_nsmain__func__time_nscore__int__I15I $return)
                                  )
                                )
                              )
                            )
                          )
                        )
                      )
                    )
                  )
                  (let ((_tmp_24I101I (+ idxI92I 1)))
                    (ite (@int_unsafe _tmp_24I101I)
                      (result_error@nscore__list_t__func_nsmain__func__time_nscore__int__I15I (result_error 1))
                      (let ((@tmpvar@16 (nscore__list__s_filter_t__func_nsmain__func__time_nscore__int___fibersched_bsq_71_0_I93I@gas4 lI81I lsizeI90I lpI91I _tmp_24I101I __c_atI86I)))
                        (ite (is-result_error@nscore__list_t__func_nsmain__func__time_nscore__int__I15I @tmpvar@16)
                          @tmpvar@16
                          (let ((_tmp_20I102I (result_success_value@nscore__list_t__func_nsmain__func__time_nscore__int__I15I @tmpvar@16)))
                            (let ((___ir_ret__I66I _tmp_20I102I))
                              (let ((___ir_ret___3I94I ___ir_ret__I66I))
                                (let (($return ___ir_ret___3I94I))
                                  (result_success@nscore__list_t__func_nsmain__func__time_nscore__int__I15I $return)
                                )
                              )
                            )
                          )
                        )
                      )
                    )
                  )
                )
              )
            )
          )
        )
      )
    )
  ))
(define-fun nscore__list__filter_t__func_nsmain__func__time_nscore__int___fibersched_bsq_71_0_I103I ((thisI79I nscore__list_t__func_nsmain__func__time_nscore__int__I15I) (__c_atI86I Int)) Result@nscore__list_t__func_nsmain__func__time_nscore__int__I15I 
(let ((_tmp_2I104I (nscore__list__s_size_t__func_nsmain__func__time_nscore__int__I82I thisI79I)))
    (let ((_tmp_4I95I (nscore__list_t__func_nsmain__func__time_nscore__int__I15I@cons 0 nscore__list_t__func_nsmain__func__time_nscore__int___collection_data_array_emptyI16I)))
      (let ((@tmpvar@17 (nscore__list__s_filter_t__func_nsmain__func__time_nscore__int___fibersched_bsq_71_0_I93I thisI79I _tmp_2I104I _tmp_4I95I 0 __c_atI86I)))
        (ite (is-result_error@nscore__list_t__func_nsmain__func__time_nscore__int__I15I @tmpvar@17)
          @tmpvar@17
          (let ((_tmp_0I65I (result_success_value@nscore__list_t__func_nsmain__func__time_nscore__int__I15I @tmpvar@17)))
            (let ((___ir_ret__I66I _tmp_0I65I))
              (let (($return ___ir_ret__I66I))
                (result_success@nscore__list_t__func_nsmain__func__time_nscore__int__I15I $return)
              )
            )
          )
        )
      )
    )
  ))
(define-fun fn__fibersched_bsq_72__2023I105I ((taskI85I bsq_record) (__c_atI86I Int)) Result@Bool 
(let ((_tmp_3I62I (bsqkey_int_value (bsqterm_key_value (select (bsq_record_entries taskI85I) "time")))))
    (let ((_tmp_0I65I (or (< __c_atI86I _tmp_3I62I) (= __c_atI86I _tmp_3I62I))))
      (let ((___ir_ret__I66I _tmp_0I65I))
        (let (($return ___ir_ret__I66I))
          (result_success@Bool $return)
        )
      )
    )
  ))
(define-fun nscore__list__s_filter_t__func_nsmain__func__time_nscore__int___fibersched_bsq_72_0_I106I@gas1 ((lI81I nscore__list_t__func_nsmain__func__time_nscore__int__I15I) (lsizeI90I Int) (lpI91I nscore__list_t__func_nsmain__func__time_nscore__int__I15I) (idxI92I Int) (__c_atI86I Int)) Result@nscore__list_t__func_nsmain__func__time_nscore__int__I15I 
(let ((_tmp_0I65I (= idxI92I lsizeI90I)))
    (ite _tmp_0I65I
      (let ((___ir_ret___2I75I lpI91I))
        (let ((___ir_ret___3I94I ___ir_ret___2I75I))
          (let (($return ___ir_ret___3I94I))
            (result_success@nscore__list_t__func_nsmain__func__time_nscore__int__I15I $return)
          )
        )
      )
      (let ((_tmp_4I95I (nscore__list__s_unsafe_get_t__func_nsmain__func__time_nscore__int__I84I lI81I idxI92I)))
        (let ((valI96I _tmp_4I95I))
          (let ((@tmpvar@18 (fn__fibersched_bsq_72__2023I105I valI96I __c_atI86I)))
            (ite (is-result_error@Bool @tmpvar@18)
              (result_error@nscore__list_t__func_nsmain__func__time_nscore__int__I15I (result_error_code@Bool @tmpvar@18))
              (let ((_tmp_7I97I (result_success_value@Bool @tmpvar@18)))
                (ite _tmp_7I97I
                  (let ((_tmp_13I98I (nscore__list__s_unsafe_push_t__func_nsmain__func__time_nscore__int__I89I lpI91I valI96I)))
                    (let ((_tmp_16I99I (+ idxI92I 1)))
                      (ite (@int_unsafe _tmp_16I99I)
                        (result_error@nscore__list_t__func_nsmain__func__time_nscore__int__I15I (result_error 0))
                        (let ((@tmpvar@19 (result_error@nscore__list_t__func_nsmain__func__time_nscore__int__I15I (result_bmc "collection"))))
                          (ite (is-result_error@nscore__list_t__func_nsmain__func__time_nscore__int__I15I @tmpvar@19)
                            @tmpvar@19
                            (let ((_tmp_10I100I (result_success_value@nscore__list_t__func_nsmain__func__time_nscore__int__I15I @tmpvar@19)))
                              (let ((___ir_ret___1I74I _tmp_10I100I))
                                (let ((___ir_ret___3I94I ___ir_ret___1I74I))
                                  (let (($return ___ir_ret___3I94I))
                                    (result_success@nscore__list_t__func_nsmain__func__time_nscore__int__I15I $return)
                                  )
                                )
                              )
                            )
                          )
                        )
                      )
                    )
                  )
                  (let ((_tmp_24I101I (+ idxI92I 1)))
                    (ite (@int_unsafe _tmp_24I101I)
                      (result_error@nscore__list_t__func_nsmain__func__time_nscore__int__I15I (result_error 1))
                      (let ((@tmpvar@20 (result_error@nscore__list_t__func_nsmain__func__time_nscore__int__I15I (result_bmc "collection"))))
                        (ite (is-result_error@nscore__list_t__func_nsmain__func__time_nscore__int__I15I @tmpvar@20)
                          @tmpvar@20
                          (let ((_tmp_20I102I (result_success_value@nscore__list_t__func_nsmain__func__time_nscore__int__I15I @tmpvar@20)))
                            (let ((___ir_ret__I66I _tmp_20I102I))
                              (let ((___ir_ret___3I94I ___ir_ret__I66I))
                                (let (($return ___ir_ret___3I94I))
                                  (result_success@nscore__list_t__func_nsmain__func__time_nscore__int__I15I $return)
                                )
                              )
                            )
                          )
                        )
                      )
                    )
                  )
                )
              )
            )
          )
        )
      )
    )
  ))
(define-fun nscore__list__s_filter_t__func_nsmain__func__time_nscore__int___fibersched_bsq_72_0_I106I@gas2 ((lI81I nscore__list_t__func_nsmain__func__time_nscore__int__I15I) (lsizeI90I Int) (lpI91I nscore__list_t__func_nsmain__func__time_nscore__int__I15I) (idxI92I Int) (__c_atI86I Int)) Result@nscore__list_t__func_nsmain__func__time_nscore__int__I15I 
(let ((_tmp_0I65I (= idxI92I lsizeI90I)))
    (ite _tmp_0I65I
      (let ((___ir_ret___2I75I lpI91I))
        (let ((___ir_ret___3I94I ___ir_ret___2I75I))
          (let (($return ___ir_ret___3I94I))
            (result_success@nscore__list_t__func_nsmain__func__time_nscore__int__I15I $return)
          )
        )
      )
      (let ((_tmp_4I95I (nscore__list__s_unsafe_get_t__func_nsmain__func__time_nscore__int__I84I lI81I idxI92I)))
        (let ((valI96I _tmp_4I95I))
          (let ((@tmpvar@21 (fn__fibersched_bsq_72__2023I105I valI96I __c_atI86I)))
            (ite (is-result_error@Bool @tmpvar@21)
              (result_error@nscore__list_t__func_nsmain__func__time_nscore__int__I15I (result_error_code@Bool @tmpvar@21))
              (let ((_tmp_7I97I (result_success_value@Bool @tmpvar@21)))
                (ite _tmp_7I97I
                  (let ((_tmp_13I98I (nscore__list__s_unsafe_push_t__func_nsmain__func__time_nscore__int__I89I lpI91I valI96I)))
                    (let ((_tmp_16I99I (+ idxI92I 1)))
                      (ite (@int_unsafe _tmp_16I99I)
                        (result_error@nscore__list_t__func_nsmain__func__time_nscore__int__I15I (result_error 0))
                        (let ((@tmpvar@22 (nscore__list__s_filter_t__func_nsmain__func__time_nscore__int___fibersched_bsq_72_0_I106I@gas1 lI81I lsizeI90I _tmp_13I98I _tmp_16I99I __c_atI86I)))
                          (ite (is-result_error@nscore__list_t__func_nsmain__func__time_nscore__int__I15I @tmpvar@22)
                            @tmpvar@22
                            (let ((_tmp_10I100I (result_success_value@nscore__list_t__func_nsmain__func__time_nscore__int__I15I @tmpvar@22)))
                              (let ((___ir_ret___1I74I _tmp_10I100I))
                                (let ((___ir_ret___3I94I ___ir_ret___1I74I))
                                  (let (($return ___ir_ret___3I94I))
                                    (result_success@nscore__list_t__func_nsmain__func__time_nscore__int__I15I $return)
                                  )
                                )
                              )
                            )
                          )
                        )
                      )
                    )
                  )
                  (let ((_tmp_24I101I (+ idxI92I 1)))
                    (ite (@int_unsafe _tmp_24I101I)
                      (result_error@nscore__list_t__func_nsmain__func__time_nscore__int__I15I (result_error 1))
                      (let ((@tmpvar@23 (nscore__list__s_filter_t__func_nsmain__func__time_nscore__int___fibersched_bsq_72_0_I106I@gas1 lI81I lsizeI90I lpI91I _tmp_24I101I __c_atI86I)))
                        (ite (is-result_error@nscore__list_t__func_nsmain__func__time_nscore__int__I15I @tmpvar@23)
                          @tmpvar@23
                          (let ((_tmp_20I102I (result_success_value@nscore__list_t__func_nsmain__func__time_nscore__int__I15I @tmpvar@23)))
                            (let ((___ir_ret__I66I _tmp_20I102I))
                              (let ((___ir_ret___3I94I ___ir_ret__I66I))
                                (let (($return ___ir_ret___3I94I))
                                  (result_success@nscore__list_t__func_nsmain__func__time_nscore__int__I15I $return)
                                )
                              )
                            )
                          )
                        )
                      )
                    )
                  )
                )
              )
            )
          )
        )
      )
    )
  ))
(define-fun nscore__list__s_filter_t__func_nsmain__func__time_nscore__int___fibersched_bsq_72_0_I106I@gas3 ((lI81I nscore__list_t__func_nsmain__func__time_nscore__int__I15I) (lsizeI90I Int) (lpI91I nscore__list_t__func_nsmain__func__time_nscore__int__I15I) (idxI92I Int) (__c_atI86I Int)) Result@nscore__list_t__func_nsmain__func__time_nscore__int__I15I 
(let ((_tmp_0I65I (= idxI92I lsizeI90I)))
    (ite _tmp_0I65I
      (let ((___ir_ret___2I75I lpI91I))
        (let ((___ir_ret___3I94I ___ir_ret___2I75I))
          (let (($return ___ir_ret___3I94I))
            (result_success@nscore__list_t__func_nsmain__func__time_nscore__int__I15I $return)
          )
        )
      )
      (let ((_tmp_4I95I (nscore__list__s_unsafe_get_t__func_nsmain__func__time_nscore__int__I84I lI81I idxI92I)))
        (let ((valI96I _tmp_4I95I))
          (let ((@tmpvar@24 (fn__fibersched_bsq_72__2023I105I valI96I __c_atI86I)))
            (ite (is-result_error@Bool @tmpvar@24)
              (result_error@nscore__list_t__func_nsmain__func__time_nscore__int__I15I (result_error_code@Bool @tmpvar@24))
              (let ((_tmp_7I97I (result_success_value@Bool @tmpvar@24)))
                (ite _tmp_7I97I
                  (let ((_tmp_13I98I (nscore__list__s_unsafe_push_t__func_nsmain__func__time_nscore__int__I89I lpI91I valI96I)))
                    (let ((_tmp_16I99I (+ idxI92I 1)))
                      (ite (@int_unsafe _tmp_16I99I)
                        (result_error@nscore__list_t__func_nsmain__func__time_nscore__int__I15I (result_error 0))
                        (let ((@tmpvar@25 (nscore__list__s_filter_t__func_nsmain__func__time_nscore__int___fibersched_bsq_72_0_I106I@gas2 lI81I lsizeI90I _tmp_13I98I _tmp_16I99I __c_atI86I)))
                          (ite (is-result_error@nscore__list_t__func_nsmain__func__time_nscore__int__I15I @tmpvar@25)
                            @tmpvar@25
                            (let ((_tmp_10I100I (result_success_value@nscore__list_t__func_nsmain__func__time_nscore__int__I15I @tmpvar@25)))
                              (let ((___ir_ret___1I74I _tmp_10I100I))
                                (let ((___ir_ret___3I94I ___ir_ret___1I74I))
                                  (let (($return ___ir_ret___3I94I))
                                    (result_success@nscore__list_t__func_nsmain__func__time_nscore__int__I15I $return)
                                  )
                                )
                              )
                            )
                          )
                        )
                      )
                    )
                  )
                  (let ((_tmp_24I101I (+ idxI92I 1)))
                    (ite (@int_unsafe _tmp_24I101I)
                      (result_error@nscore__list_t__func_nsmain__func__time_nscore__int__I15I (result_error 1))
                      (let ((@tmpvar@26 (nscore__list__s_filter_t__func_nsmain__func__time_nscore__int___fibersched_bsq_72_0_I106I@gas2 lI81I lsizeI90I lpI91I _tmp_24I101I __c_atI86I)))
                        (ite (is-result_error@nscore__list_t__func_nsmain__func__time_nscore__int__I15I @tmpvar@26)
                          @tmpvar@26
                          (let ((_tmp_20I102I (result_success_value@nscore__list_t__func_nsmain__func__time_nscore__int__I15I @tmpvar@26)))
                            (let ((___ir_ret__I66I _tmp_20I102I))
                              (let ((___ir_ret___3I94I ___ir_ret__I66I))
                                (let (($return ___ir_ret___3I94I))
                                  (result_success@nscore__list_t__func_nsmain__func__time_nscore__int__I15I $return)
                                )
                              )
                            )
                          )
                        )
                      )
                    )
                  )
                )
              )
            )
          )
        )
      )
    )
  ))
(define-fun nscore__list__s_filter_t__func_nsmain__func__time_nscore__int___fibersched_bsq_72_0_I106I@gas4 ((lI81I nscore__list_t__func_nsmain__func__time_nscore__int__I15I) (lsizeI90I Int) (lpI91I nscore__list_t__func_nsmain__func__time_nscore__int__I15I) (idxI92I Int) (__c_atI86I Int)) Result@nscore__list_t__func_nsmain__func__time_nscore__int__I15I 
(let ((_tmp_0I65I (= idxI92I lsizeI90I)))
    (ite _tmp_0I65I
      (let ((___ir_ret___2I75I lpI91I))
        (let ((___ir_ret___3I94I ___ir_ret___2I75I))
          (let (($return ___ir_ret___3I94I))
            (result_success@nscore__list_t__func_nsmain__func__time_nscore__int__I15I $return)
          )
        )
      )
      (let ((_tmp_4I95I (nscore__list__s_unsafe_get_t__func_nsmain__func__time_nscore__int__I84I lI81I idxI92I)))
        (let ((valI96I _tmp_4I95I))
          (let ((@tmpvar@27 (fn__fibersched_bsq_72__2023I105I valI96I __c_atI86I)))
            (ite (is-result_error@Bool @tmpvar@27)
              (result_error@nscore__list_t__func_nsmain__func__time_nscore__int__I15I (result_error_code@Bool @tmpvar@27))
              (let ((_tmp_7I97I (result_success_value@Bool @tmpvar@27)))
                (ite _tmp_7I97I
                  (let ((_tmp_13I98I (nscore__list__s_unsafe_push_t__func_nsmain__func__time_nscore__int__I89I lpI91I valI96I)))
                    (let ((_tmp_16I99I (+ idxI92I 1)))
                      (ite (@int_unsafe _tmp_16I99I)
                        (result_error@nscore__list_t__func_nsmain__func__time_nscore__int__I15I (result_error 0))
                        (let ((@tmpvar@28 (nscore__list__s_filter_t__func_nsmain__func__time_nscore__int___fibersched_bsq_72_0_I106I@gas3 lI81I lsizeI90I _tmp_13I98I _tmp_16I99I __c_atI86I)))
                          (ite (is-result_error@nscore__list_t__func_nsmain__func__time_nscore__int__I15I @tmpvar@28)
                            @tmpvar@28
                            (let ((_tmp_10I100I (result_success_value@nscore__list_t__func_nsmain__func__time_nscore__int__I15I @tmpvar@28)))
                              (let ((___ir_ret___1I74I _tmp_10I100I))
                                (let ((___ir_ret___3I94I ___ir_ret___1I74I))
                                  (let (($return ___ir_ret___3I94I))
                                    (result_success@nscore__list_t__func_nsmain__func__time_nscore__int__I15I $return)
                                  )
                                )
                              )
                            )
                          )
                        )
                      )
                    )
                  )
                  (let ((_tmp_24I101I (+ idxI92I 1)))
                    (ite (@int_unsafe _tmp_24I101I)
                      (result_error@nscore__list_t__func_nsmain__func__time_nscore__int__I15I (result_error 1))
                      (let ((@tmpvar@29 (nscore__list__s_filter_t__func_nsmain__func__time_nscore__int___fibersched_bsq_72_0_I106I@gas3 lI81I lsizeI90I lpI91I _tmp_24I101I __c_atI86I)))
                        (ite (is-result_error@nscore__list_t__func_nsmain__func__time_nscore__int__I15I @tmpvar@29)
                          @tmpvar@29
                          (let ((_tmp_20I102I (result_success_value@nscore__list_t__func_nsmain__func__time_nscore__int__I15I @tmpvar@29)))
                            (let ((___ir_ret__I66I _tmp_20I102I))
                              (let ((___ir_ret___3I94I ___ir_ret__I66I))
                                (let (($return ___ir_ret___3I94I))
                                  (result_success@nscore__list_t__func_nsmain__func__time_nscore__int__I15I $return)
                                )
                              )
                            )
                          )
                        )
                      )
                    )
                  )
                )
              )
            )
          )
        )
      )
    )
  ))
(define-fun nscore__list__s_filter_t__func_nsmain__func__time_nscore__int___fibersched_bsq_72_0_I106I ((lI81I nscore__list_t__func_nsmain__func__time_nscore__int__I15I) (lsizeI90I Int) (lpI91I nscore__list_t__func_nsmain__func__time_nscore__int__I15I) (idxI92I Int) (__c_atI86I Int)) Result@nscore__list_t__func_nsmain__func__time_nscore__int__I15I 
(let ((_tmp_0I65I (= idxI92I lsizeI90I)))
    (ite _tmp_0I65I
      (let ((___ir_ret___2I75I lpI91I))
        (let ((___ir_ret___3I94I ___ir_ret___2I75I))
          (let (($return ___ir_ret___3I94I))
            (result_success@nscore__list_t__func_nsmain__func__time_nscore__int__I15I $return)
          )
        )
      )
      (let ((_tmp_4I95I (nscore__list__s_unsafe_get_t__func_nsmain__func__time_nscore__int__I84I lI81I idxI92I)))
        (let ((valI96I _tmp_4I95I))
          (let ((@tmpvar@30 (fn__fibersched_bsq_72__2023I105I valI96I __c_atI86I)))
            (ite (is-result_error@Bool @tmpvar@30)
              (result_error@nscore__list_t__func_nsmain__func__time_nscore__int__I15I (result_error_code@Bool @tmpvar@30))
              (let ((_tmp_7I97I (result_success_value@Bool @tmpvar@30)))
                (ite _tmp_7I97I
                  (let ((_tmp_13I98I (nscore__list__s_unsafe_push_t__func_nsmain__func__time_nscore__int__I89I lpI91I valI96I)))
                    (let ((_tmp_16I99I (+ idxI92I 1)))
                      (ite (@int_unsafe _tmp_16I99I)
                        (result_error@nscore__list_t__func_nsmain__func__time_nscore__int__I15I (result_error 0))
                        (let ((@tmpvar@31 (nscore__list__s_filter_t__func_nsmain__func__time_nscore__int___fibersched_bsq_72_0_I106I@gas4 lI81I lsizeI90I _tmp_13I98I _tmp_16I99I __c_atI86I)))
                          (ite (is-result_error@nscore__list_t__func_nsmain__func__time_nscore__int__I15I @tmpvar@31)
                            @tmpvar@31
                            (let ((_tmp_10I100I (result_success_value@nscore__list_t__func_nsmain__func__time_nscore__int__I15I @tmpvar@31)))
                              (let ((___ir_ret___1I74I _tmp_10I100I))
                                (let ((___ir_ret___3I94I ___ir_ret___1I74I))
                                  (let (($return ___ir_ret___3I94I))
                                    (result_success@nscore__list_t__func_nsmain__func__time_nscore__int__I15I $return)
                                  )
                                )
                              )
                            )
                          )
                        )
                      )
                    )
                  )
                  (let ((_tmp_24I101I (+ idxI92I 1)))
                    (ite (@int_unsafe _tmp_24I101I)
                      (result_error@nscore__list_t__func_nsmain__func__time_nscore__int__I15I (result_error 1))
                      (let ((@tmpvar@32 (nscore__list__s_filter_t__func_nsmain__func__time_nscore__int___fibersched_bsq_72_0_I106I@gas4 lI81I lsizeI90I lpI91I _tmp_24I101I __c_atI86I)))
                        (ite (is-result_error@nscore__list_t__func_nsmain__func__time_nscore__int__I15I @tmpvar@32)
                          @tmpvar@32
                          (let ((_tmp_20I102I (result_success_value@nscore__list_t__func_nsmain__func__time_nscore__int__I15I @tmpvar@32)))
                            (let ((___ir_ret__I66I _tmp_20I102I))
                              (let ((___ir_ret___3I94I ___ir_ret__I66I))
                                (let (($return ___ir_ret___3I94I))
                                  (result_success@nscore__list_t__func_nsmain__func__time_nscore__int__I15I $return)
                                )
                              )
                            )
                          )
                        )
                      )
                    )
                  )
                )
              )
            )
          )
        )
      )
    )
  ))
(define-fun nscore__list__filter_t__func_nsmain__func__time_nscore__int___fibersched_bsq_72_0_I107I ((thisI79I nscore__list_t__func_nsmain__func__time_nscore__int__I15I) (__c_atI86I Int)) Result@nscore__list_t__func_nsmain__func__time_nscore__int__I15I 
(let ((_tmp_2I104I (nscore__list__s_size_t__func_nsmain__func__time_nscore__int__I82I thisI79I)))
    (let ((_tmp_4I95I (nscore__list_t__func_nsmain__func__time_nscore__int__I15I@cons 0 nscore__list_t__func_nsmain__func__time_nscore__int___collection_data_array_emptyI16I)))
      (let ((@tmpvar@33 (nscore__list__s_filter_t__func_nsmain__func__time_nscore__int___fibersched_bsq_72_0_I106I thisI79I _tmp_2I104I _tmp_4I95I 0 __c_atI86I)))
        (ite (is-result_error@nscore__list_t__func_nsmain__func__time_nscore__int__I15I @tmpvar@33)
          @tmpvar@33
          (let ((_tmp_0I65I (result_success_value@nscore__list_t__func_nsmain__func__time_nscore__int__I15I @tmpvar@33)))
            (let ((___ir_ret__I66I _tmp_0I65I))
              (let (($return ___ir_ret__I66I))
                (result_success@nscore__list_t__func_nsmain__func__time_nscore__int__I15I $return)
              )
            )
          )
        )
      )
    )
  ))
(define-fun nscore__list__s_append_t__func_nsmain__func__time_nscore__int__I108I@gas1 ((lI81I nscore__list_t__func_nsmain__func__time_nscore__int__I15I) (lsizeI90I Int) (lpI91I nscore__list_t__func_nsmain__func__time_nscore__int__I15I) (idxI92I Int)) Result@nscore__list_t__func_nsmain__func__time_nscore__int__I15I 
(let ((_tmp_0I65I (= idxI92I lsizeI90I)))
    (ite _tmp_0I65I
      (let ((___ir_ret___1I74I lpI91I))
        (let ((___ir_ret___2I75I ___ir_ret___1I74I))
          (let (($return ___ir_ret___2I75I))
            (result_success@nscore__list_t__func_nsmain__func__time_nscore__int__I15I $return)
          )
        )
      )
      (let ((_tmp_4I95I (nscore__list__s_unsafe_get_t__func_nsmain__func__time_nscore__int__I84I lI81I idxI92I)))
        (let ((valI96I _tmp_4I95I))
          (let ((_tmp_10I100I (nscore__list__s_unsafe_push_t__func_nsmain__func__time_nscore__int__I89I lpI91I valI96I)))
            (let ((_tmp_13I98I (+ idxI92I 1)))
              (ite (@int_unsafe _tmp_13I98I)
                (result_error@nscore__list_t__func_nsmain__func__time_nscore__int__I15I (result_error 2))
                (let ((@tmpvar@34 (result_error@nscore__list_t__func_nsmain__func__time_nscore__int__I15I (result_bmc "collection"))))
                  (ite (is-result_error@nscore__list_t__func_nsmain__func__time_nscore__int__I15I @tmpvar@34)
                    @tmpvar@34
                    (let ((_tmp_7I97I (result_success_value@nscore__list_t__func_nsmain__func__time_nscore__int__I15I @tmpvar@34)))
                      (let ((___ir_ret__I66I _tmp_7I97I))
                        (let ((___ir_ret___2I75I ___ir_ret__I66I))
                          (let (($return ___ir_ret___2I75I))
                            (result_success@nscore__list_t__func_nsmain__func__time_nscore__int__I15I $return)
                          )
                        )
                      )
                    )
                  )
                )
              )
            )
          )
        )
      )
    )
  ))
(define-fun nscore__list__s_append_t__func_nsmain__func__time_nscore__int__I108I@gas2 ((lI81I nscore__list_t__func_nsmain__func__time_nscore__int__I15I) (lsizeI90I Int) (lpI91I nscore__list_t__func_nsmain__func__time_nscore__int__I15I) (idxI92I Int)) Result@nscore__list_t__func_nsmain__func__time_nscore__int__I15I 
(let ((_tmp_0I65I (= idxI92I lsizeI90I)))
    (ite _tmp_0I65I
      (let ((___ir_ret___1I74I lpI91I))
        (let ((___ir_ret___2I75I ___ir_ret___1I74I))
          (let (($return ___ir_ret___2I75I))
            (result_success@nscore__list_t__func_nsmain__func__time_nscore__int__I15I $return)
          )
        )
      )
      (let ((_tmp_4I95I (nscore__list__s_unsafe_get_t__func_nsmain__func__time_nscore__int__I84I lI81I idxI92I)))
        (let ((valI96I _tmp_4I95I))
          (let ((_tmp_10I100I (nscore__list__s_unsafe_push_t__func_nsmain__func__time_nscore__int__I89I lpI91I valI96I)))
            (let ((_tmp_13I98I (+ idxI92I 1)))
              (ite (@int_unsafe _tmp_13I98I)
                (result_error@nscore__list_t__func_nsmain__func__time_nscore__int__I15I (result_error 2))
                (let ((@tmpvar@35 (nscore__list__s_append_t__func_nsmain__func__time_nscore__int__I108I@gas1 lI81I lsizeI90I _tmp_10I100I _tmp_13I98I)))
                  (ite (is-result_error@nscore__list_t__func_nsmain__func__time_nscore__int__I15I @tmpvar@35)
                    @tmpvar@35
                    (let ((_tmp_7I97I (result_success_value@nscore__list_t__func_nsmain__func__time_nscore__int__I15I @tmpvar@35)))
                      (let ((___ir_ret__I66I _tmp_7I97I))
                        (let ((___ir_ret___2I75I ___ir_ret__I66I))
                          (let (($return ___ir_ret___2I75I))
                            (result_success@nscore__list_t__func_nsmain__func__time_nscore__int__I15I $return)
                          )
                        )
                      )
                    )
                  )
                )
              )
            )
          )
        )
      )
    )
  ))
(define-fun nscore__list__s_append_t__func_nsmain__func__time_nscore__int__I108I@gas3 ((lI81I nscore__list_t__func_nsmain__func__time_nscore__int__I15I) (lsizeI90I Int) (lpI91I nscore__list_t__func_nsmain__func__time_nscore__int__I15I) (idxI92I Int)) Result@nscore__list_t__func_nsmain__func__time_nscore__int__I15I 
(let ((_tmp_0I65I (= idxI92I lsizeI90I)))
    (ite _tmp_0I65I
      (let ((___ir_ret___1I74I lpI91I))
        (let ((___ir_ret___2I75I ___ir_ret___1I74I))
          (let (($return ___ir_ret___2I75I))
            (result_success@nscore__list_t__func_nsmain__func__time_nscore__int__I15I $return)
          )
        )
      )
      (let ((_tmp_4I95I (nscore__list__s_unsafe_get_t__func_nsmain__func__time_nscore__int__I84I lI81I idxI92I)))
        (let ((valI96I _tmp_4I95I))
          (let ((_tmp_10I100I (nscore__list__s_unsafe_push_t__func_nsmain__func__time_nscore__int__I89I lpI91I valI96I)))
            (let ((_tmp_13I98I (+ idxI92I 1)))
              (ite (@int_unsafe _tmp_13I98I)
                (result_error@nscore__list_t__func_nsmain__func__time_nscore__int__I15I (result_error 2))
                (let ((@tmpvar@36 (nscore__list__s_append_t__func_nsmain__func__time_nscore__int__I108I@gas2 lI81I lsizeI90I _tmp_10I100I _tmp_13I98I)))
                  (ite (is-result_error@nscore__list_t__func_nsmain__func__time_nscore__int__I15I @tmpvar@36)
                    @tmpvar@36
                    (let ((_tmp_7I97I (result_success_value@nscore__list_t__func_nsmain__func__time_nscore__int__I15I @tmpvar@36)))
                      (let ((___ir_ret__I66I _tmp_7I97I))
                        (let ((___ir_ret___2I75I ___ir_ret__I66I))
                          (let (($return ___ir_ret___2I75I))
                            (result_success@nscore__list_t__func_nsmain__func__time_nscore__int__I15I $return)
                          )
                        )
                      )
                    )
                  )
                )
              )
            )
          )
        )
      )
    )
  ))
(define-fun nscore__list__s_append_t__func_nsmain__func__time_nscore__int__I108I@gas4 ((lI81I nscore__list_t__func_nsmain__func__time_nscore__int__I15I) (lsizeI90I Int) (lpI91I nscore__list_t__func_nsmain__func__time_nscore__int__I15I) (idxI92I Int)) Result@nscore__list_t__func_nsmain__func__time_nscore__int__I15I 
(let ((_tmp_0I65I (= idxI92I lsizeI90I)))
    (ite _tmp_0I65I
      (let ((___ir_ret___1I74I lpI91I))
        (let ((___ir_ret___2I75I ___ir_ret___1I74I))
          (let (($return ___ir_ret___2I75I))
            (result_success@nscore__list_t__func_nsmain__func__time_nscore__int__I15I $return)
          )
        )
      )
      (let ((_tmp_4I95I (nscore__list__s_unsafe_get_t__func_nsmain__func__time_nscore__int__I84I lI81I idxI92I)))
        (let ((valI96I _tmp_4I95I))
          (let ((_tmp_10I100I (nscore__list__s_unsafe_push_t__func_nsmain__func__time_nscore__int__I89I lpI91I valI96I)))
            (let ((_tmp_13I98I (+ idxI92I 1)))
              (ite (@int_unsafe _tmp_13I98I)
                (result_error@nscore__list_t__func_nsmain__func__time_nscore__int__I15I (result_error 2))
                (let ((@tmpvar@37 (nscore__list__s_append_t__func_nsmain__func__time_nscore__int__I108I@gas3 lI81I lsizeI90I _tmp_10I100I _tmp_13I98I)))
                  (ite (is-result_error@nscore__list_t__func_nsmain__func__time_nscore__int__I15I @tmpvar@37)
                    @tmpvar@37
                    (let ((_tmp_7I97I (result_success_value@nscore__list_t__func_nsmain__func__time_nscore__int__I15I @tmpvar@37)))
                      (let ((___ir_ret__I66I _tmp_7I97I))
                        (let ((___ir_ret___2I75I ___ir_ret__I66I))
                          (let (($return ___ir_ret___2I75I))
                            (result_success@nscore__list_t__func_nsmain__func__time_nscore__int__I15I $return)
                          )
                        )
                      )
                    )
                  )
                )
              )
            )
          )
        )
      )
    )
  ))
(define-fun nscore__list__s_append_t__func_nsmain__func__time_nscore__int__I108I ((lI81I nscore__list_t__func_nsmain__func__time_nscore__int__I15I) (lsizeI90I Int) (lpI91I nscore__list_t__func_nsmain__func__time_nscore__int__I15I) (idxI92I Int)) Result@nscore__list_t__func_nsmain__func__time_nscore__int__I15I 
(let ((_tmp_0I65I (= idxI92I lsizeI90I)))
    (ite _tmp_0I65I
      (let ((___ir_ret___1I74I lpI91I))
        (let ((___ir_ret___2I75I ___ir_ret___1I74I))
          (let (($return ___ir_ret___2I75I))
            (result_success@nscore__list_t__func_nsmain__func__time_nscore__int__I15I $return)
          )
        )
      )
      (let ((_tmp_4I95I (nscore__list__s_unsafe_get_t__func_nsmain__func__time_nscore__int__I84I lI81I idxI92I)))
        (let ((valI96I _tmp_4I95I))
          (let ((_tmp_10I100I (nscore__list__s_unsafe_push_t__func_nsmain__func__time_nscore__int__I89I lpI91I valI96I)))
            (let ((_tmp_13I98I (+ idxI92I 1)))
              (ite (@int_unsafe _tmp_13I98I)
                (result_error@nscore__list_t__func_nsmain__func__time_nscore__int__I15I (result_error 2))
                (let ((@tmpvar@38 (nscore__list__s_append_t__func_nsmain__func__time_nscore__int__I108I@gas4 lI81I lsizeI90I _tmp_10I100I _tmp_13I98I)))
                  (ite (is-result_error@nscore__list_t__func_nsmain__func__time_nscore__int__I15I @tmpvar@38)
                    @tmpvar@38
                    (let ((_tmp_7I97I (result_success_value@nscore__list_t__func_nsmain__func__time_nscore__int__I15I @tmpvar@38)))
                      (let ((___ir_ret__I66I _tmp_7I97I))
                        (let ((___ir_ret___2I75I ___ir_ret__I66I))
                          (let (($return ___ir_ret___2I75I))
                            (result_success@nscore__list_t__func_nsmain__func__time_nscore__int__I15I $return)
                          )
                        )
                      )
                    )
                  )
                )
              )
            )
          )
        )
      )
    )
  ))
(define-fun nscore__list__append_t__func_nsmain__func__time_nscore__int__I109I ((thisI79I nscore__list_t__func_nsmain__func__time_nscore__int__I15I) (lI81I nscore__list_t__func_nsmain__func__time_nscore__int__I15I)) Result@nscore__list_t__func_nsmain__func__time_nscore__int__I15I 
(let ((_tmp_2I104I (nscore__list__s_size_t__func_nsmain__func__time_nscore__int__I82I lI81I)))
    (let ((@tmpvar@39 (nscore__list__s_append_t__func_nsmain__func__time_nscore__int__I108I lI81I _tmp_2I104I thisI79I 0)))
      (ite (is-result_error@nscore__list_t__func_nsmain__func__time_nscore__int__I15I @tmpvar@39)
        @tmpvar@39
        (let ((_tmp_0I65I (result_success_value@nscore__list_t__func_nsmain__func__time_nscore__int__I15I @tmpvar@39)))
          (let ((___ir_ret__I66I _tmp_0I65I))
            (let (($return ___ir_ret__I66I))
              (result_success@nscore__list_t__func_nsmain__func__time_nscore__int__I15I $return)
            )
          )
        )
      )
    )
  ))
(define-fun nsmain__testscheduler__usched__lselect_done_3I113I ((atI110I Int) (funcI111I nsmain__funcI20I) (thisI79I nsmain__testschedulerI34I) (_tmp_5_2I112I nscore__map_k_nscore__int__v_nscore__list_nsmain__func__I23I)) Result@nsmain__testschedulerI34I 
(let ((updatedtimelineI114I _tmp_5_2I112I))
    (let ((_tmp_32I115I (nsmain__testschedulerI34I@nsmain__testscheduler_sortedtasksI40I thisI79I)))
      (let ((@tmpvar@40 (nscore__list__filter_t__func_nsmain__func__time_nscore__int___fibersched_bsq_71_0_I103I _tmp_32I115I atI110I)))
        (ite (is-result_error@nscore__list_t__func_nsmain__func__time_nscore__int__I15I @tmpvar@40)
          (result_error@nsmain__testschedulerI34I (result_error_code@nscore__list_t__func_nsmain__func__time_nscore__int__I15I @tmpvar@40))
          (let ((_tmp_33I116I (result_success_value@nscore__list_t__func_nsmain__func__time_nscore__int__I15I @tmpvar@40)))
            (let ((tasksbeforeI117I _tmp_33I116I))
              (let ((_tmp_37I118I (nsmain__testschedulerI34I@nsmain__testscheduler_sortedtasksI40I thisI79I)))
                (let ((@tmpvar@41 (nscore__list__filter_t__func_nsmain__func__time_nscore__int___fibersched_bsq_72_0_I107I _tmp_37I118I atI110I)))
                  (ite (is-result_error@nscore__list_t__func_nsmain__func__time_nscore__int__I15I @tmpvar@41)
                    (result_error@nsmain__testschedulerI34I (result_error_code@nscore__list_t__func_nsmain__func__time_nscore__int__I15I @tmpvar@41))
                    (let ((_tmp_38I119I (result_success_value@nscore__list_t__func_nsmain__func__time_nscore__int__I15I @tmpvar@41)))
                      (let ((tasksafterI120I _tmp_38I119I))
                        (let ((_tmp_47I121I (bsq_record@cons (StructuralSpecialTypeInfo@cons false false false) (store (store bsqrecord_array_empty "func" (bsqterm_object MIRNominalTypeEnum_nsmain__funcI20I (cons@bsq_object_from_nsmain__funcI20I funcI111I))) "time" (bsqterm_key (bsqkey_int atI110I))))))
                          (let ((_tmp_46I122I (nscore__list_t__func_nsmain__func__time_nscore__int__I15I@cons 1 (store nscore__list_t__func_nsmain__func__time_nscore__int___collection_data_array_emptyI16I 0 _tmp_47I121I))))
                            (let ((@tmpvar@42 (nscore__list__append_t__func_nsmain__func__time_nscore__int__I109I tasksbeforeI117I _tmp_46I122I)))
                              (ite (is-result_error@nscore__list_t__func_nsmain__func__time_nscore__int__I15I @tmpvar@42)
                                (result_error@nsmain__testschedulerI34I (result_error_code@nscore__list_t__func_nsmain__func__time_nscore__int__I15I @tmpvar@42))
                                (let ((_tmp_45I123I (result_success_value@nscore__list_t__func_nsmain__func__time_nscore__int__I15I @tmpvar@42)))
                                  (let ((@tmpvar@43 (nscore__list__append_t__func_nsmain__func__time_nscore__int__I109I _tmp_45I123I tasksafterI120I)))
                                    (ite (is-result_error@nscore__list_t__func_nsmain__func__time_nscore__int__I15I @tmpvar@43)
                                      (result_error@nsmain__testschedulerI34I (result_error_code@nscore__list_t__func_nsmain__func__time_nscore__int__I15I @tmpvar@43))
                                      (let ((_tmp_50I124I (result_success_value@nscore__list_t__func_nsmain__func__time_nscore__int__I15I @tmpvar@43)))
                                        (let ((_tmp_42I125I (nsmain__testschedulerI34I@cons (nsmain__testschedulerI34I@nsmain__testscheduler_nowI35I thisI79I) (nsmain__testschedulerI34I@nsmain__testscheduler_currenttimeI36I thisI79I) updatedtimelineI114I (nsmain__testschedulerI34I@nsmain__testscheduler_runningI38I thisI79I) (nsmain__testschedulerI34I@nsmain__testscheduler_runlistI39I thisI79I) _tmp_50I124I)))
                                          (let ((___ir_ret__I66I _tmp_42I125I))
                                            (let (($return ___ir_ret__I66I))
                                              (result_success@nsmain__testschedulerI34I $return)
                                            )
                                          )
                                        )
                                      )
                                    )
                                  )
                                )
                              )
                            )
                          )
                        )
                      )
                    )
                  )
                )
              )
            )
          )
        )
      )
    )
  ))
(define-fun nscore__map__s_get_keylist_k_nscore__int__v_nscore__list_nsmain__func__I126I ((mI76I nscore__map_k_nscore__int__v_nscore__list_nsmain__func__I23I)) BTerm 
  (nscore__map_k_nscore__int__v_nscore__list_nsmain__func__I23I@@keylist mI76I)
)
(define-fun nscore__keylist__s_insert_k_nscore__int_I128I@gas1 ((klI127I nscore__keylist_k_nscore__int_I11I) (valI96I Int)) Result@nscore__keylist_k_nscore__int_I11I 
(let ((_tmp_4I95I (nscore__keylist_k_nscore__int_I11I@nscore__keylist_k_nscore__int__hkeyI12I klI127I)))
    (let ((_tmp_1I69I (< _tmp_4I95I valI96I)))
      (let ((_tmp_0I65I (not _tmp_1I69I)))
        (ite _tmp_0I65I
          (let ((_tmp_6I64I (nscore__keylist_k_nscore__int_I11I@cons valI96I (bsqterm_object MIRNominalTypeEnum_nscore__keylist_k_nscore__int_I11I (cons@bsq_object_from_nscore__keylist_k_nscore__int_I11I klI127I)))))
            (let ((___ir_ret___2I75I _tmp_6I64I))
              (let ((___ir_ret___3I94I ___ir_ret___2I75I))
                (let (($return ___ir_ret___3I94I))
                  (result_success@nscore__keylist_k_nscore__int_I11I $return)
                )
              )
            )
          )
          (let ((_tmp_11I129I (nscore__keylist_k_nscore__int_I11I@nscore__keylist_k_nscore__int__tailI13I klI127I)))
            (let ((tlI130I _tmp_11I129I))
              (let ((_tmp_12I131I (= tlI130I bsqterm_none)))
                (ite _tmp_12I131I
                  (let ((_tmp_18I132I (nscore__keylist_k_nscore__int_I11I@nscore__keylist_k_nscore__int__hkeyI12I klI127I)))
                    (let ((_tmp_19I133I (nscore__keylist_k_nscore__int_I11I@cons valI96I bsqterm_none)))
                      (let ((_tmp_15I134I (nscore__keylist_k_nscore__int_I11I@cons _tmp_18I132I (bsqterm_object MIRNominalTypeEnum_nscore__keylist_k_nscore__int_I11I (cons@bsq_object_from_nscore__keylist_k_nscore__int_I11I _tmp_19I133I)))))
                        (let ((___ir_ret___1I74I _tmp_15I134I))
                          (let ((___ir_ret___3I94I ___ir_ret___1I74I))
                            (let (($return ___ir_ret___3I94I))
                              (result_success@nscore__keylist_k_nscore__int_I11I $return)
                            )
                          )
                        )
                      )
                    )
                  )
                  (let ((_tmp_25I135I (nscore__keylist_k_nscore__int_I11I@nscore__keylist_k_nscore__int__hkeyI12I klI127I)))
                    (let ((@tmpvar@44 (result_error@nscore__keylist_k_nscore__int_I11I (result_bmc "default"))))
                      (ite (is-result_error@nscore__keylist_k_nscore__int_I11I @tmpvar@44)
                        @tmpvar@44
                        (let ((_tmp_26I136I (result_success_value@nscore__keylist_k_nscore__int_I11I @tmpvar@44)))
                          (let ((_tmp_22I137I (nscore__keylist_k_nscore__int_I11I@cons _tmp_25I135I (bsqterm_object MIRNominalTypeEnum_nscore__keylist_k_nscore__int_I11I (cons@bsq_object_from_nscore__keylist_k_nscore__int_I11I _tmp_26I136I)))))
                            (let ((___ir_ret__I66I _tmp_22I137I))
                              (let ((___ir_ret___3I94I ___ir_ret__I66I))
                                (let (($return ___ir_ret___3I94I))
                                  (result_success@nscore__keylist_k_nscore__int_I11I $return)
                                )
                              )
                            )
                          )
                        )
                      )
                    )
                  )
                )
              )
            )
          )
        )
      )
    )
  ))
(define-fun nscore__keylist__s_insert_k_nscore__int_I128I@gas2 ((klI127I nscore__keylist_k_nscore__int_I11I) (valI96I Int)) Result@nscore__keylist_k_nscore__int_I11I 
(let ((_tmp_4I95I (nscore__keylist_k_nscore__int_I11I@nscore__keylist_k_nscore__int__hkeyI12I klI127I)))
    (let ((_tmp_1I69I (< _tmp_4I95I valI96I)))
      (let ((_tmp_0I65I (not _tmp_1I69I)))
        (ite _tmp_0I65I
          (let ((_tmp_6I64I (nscore__keylist_k_nscore__int_I11I@cons valI96I (bsqterm_object MIRNominalTypeEnum_nscore__keylist_k_nscore__int_I11I (cons@bsq_object_from_nscore__keylist_k_nscore__int_I11I klI127I)))))
            (let ((___ir_ret___2I75I _tmp_6I64I))
              (let ((___ir_ret___3I94I ___ir_ret___2I75I))
                (let (($return ___ir_ret___3I94I))
                  (result_success@nscore__keylist_k_nscore__int_I11I $return)
                )
              )
            )
          )
          (let ((_tmp_11I129I (nscore__keylist_k_nscore__int_I11I@nscore__keylist_k_nscore__int__tailI13I klI127I)))
            (let ((tlI130I _tmp_11I129I))
              (let ((_tmp_12I131I (= tlI130I bsqterm_none)))
                (ite _tmp_12I131I
                  (let ((_tmp_18I132I (nscore__keylist_k_nscore__int_I11I@nscore__keylist_k_nscore__int__hkeyI12I klI127I)))
                    (let ((_tmp_19I133I (nscore__keylist_k_nscore__int_I11I@cons valI96I bsqterm_none)))
                      (let ((_tmp_15I134I (nscore__keylist_k_nscore__int_I11I@cons _tmp_18I132I (bsqterm_object MIRNominalTypeEnum_nscore__keylist_k_nscore__int_I11I (cons@bsq_object_from_nscore__keylist_k_nscore__int_I11I _tmp_19I133I)))))
                        (let ((___ir_ret___1I74I _tmp_15I134I))
                          (let ((___ir_ret___3I94I ___ir_ret___1I74I))
                            (let (($return ___ir_ret___3I94I))
                              (result_success@nscore__keylist_k_nscore__int_I11I $return)
                            )
                          )
                        )
                      )
                    )
                  )
                  (let ((_tmp_25I135I (nscore__keylist_k_nscore__int_I11I@nscore__keylist_k_nscore__int__hkeyI12I klI127I)))
                    (let ((@tmpvar@45 (nscore__keylist__s_insert_k_nscore__int_I128I@gas1 (bsqterm_object_nscore__keylist_k_nscore__int_I11I_value (bsqterm_object_value tlI130I)) valI96I)))
                      (ite (is-result_error@nscore__keylist_k_nscore__int_I11I @tmpvar@45)
                        @tmpvar@45
                        (let ((_tmp_26I136I (result_success_value@nscore__keylist_k_nscore__int_I11I @tmpvar@45)))
                          (let ((_tmp_22I137I (nscore__keylist_k_nscore__int_I11I@cons _tmp_25I135I (bsqterm_object MIRNominalTypeEnum_nscore__keylist_k_nscore__int_I11I (cons@bsq_object_from_nscore__keylist_k_nscore__int_I11I _tmp_26I136I)))))
                            (let ((___ir_ret__I66I _tmp_22I137I))
                              (let ((___ir_ret___3I94I ___ir_ret__I66I))
                                (let (($return ___ir_ret___3I94I))
                                  (result_success@nscore__keylist_k_nscore__int_I11I $return)
                                )
                              )
                            )
                          )
                        )
                      )
                    )
                  )
                )
              )
            )
          )
        )
      )
    )
  ))
(define-fun nscore__keylist__s_insert_k_nscore__int_I128I@gas3 ((klI127I nscore__keylist_k_nscore__int_I11I) (valI96I Int)) Result@nscore__keylist_k_nscore__int_I11I 
(let ((_tmp_4I95I (nscore__keylist_k_nscore__int_I11I@nscore__keylist_k_nscore__int__hkeyI12I klI127I)))
    (let ((_tmp_1I69I (< _tmp_4I95I valI96I)))
      (let ((_tmp_0I65I (not _tmp_1I69I)))
        (ite _tmp_0I65I
          (let ((_tmp_6I64I (nscore__keylist_k_nscore__int_I11I@cons valI96I (bsqterm_object MIRNominalTypeEnum_nscore__keylist_k_nscore__int_I11I (cons@bsq_object_from_nscore__keylist_k_nscore__int_I11I klI127I)))))
            (let ((___ir_ret___2I75I _tmp_6I64I))
              (let ((___ir_ret___3I94I ___ir_ret___2I75I))
                (let (($return ___ir_ret___3I94I))
                  (result_success@nscore__keylist_k_nscore__int_I11I $return)
                )
              )
            )
          )
          (let ((_tmp_11I129I (nscore__keylist_k_nscore__int_I11I@nscore__keylist_k_nscore__int__tailI13I klI127I)))
            (let ((tlI130I _tmp_11I129I))
              (let ((_tmp_12I131I (= tlI130I bsqterm_none)))
                (ite _tmp_12I131I
                  (let ((_tmp_18I132I (nscore__keylist_k_nscore__int_I11I@nscore__keylist_k_nscore__int__hkeyI12I klI127I)))
                    (let ((_tmp_19I133I (nscore__keylist_k_nscore__int_I11I@cons valI96I bsqterm_none)))
                      (let ((_tmp_15I134I (nscore__keylist_k_nscore__int_I11I@cons _tmp_18I132I (bsqterm_object MIRNominalTypeEnum_nscore__keylist_k_nscore__int_I11I (cons@bsq_object_from_nscore__keylist_k_nscore__int_I11I _tmp_19I133I)))))
                        (let ((___ir_ret___1I74I _tmp_15I134I))
                          (let ((___ir_ret___3I94I ___ir_ret___1I74I))
                            (let (($return ___ir_ret___3I94I))
                              (result_success@nscore__keylist_k_nscore__int_I11I $return)
                            )
                          )
                        )
                      )
                    )
                  )
                  (let ((_tmp_25I135I (nscore__keylist_k_nscore__int_I11I@nscore__keylist_k_nscore__int__hkeyI12I klI127I)))
                    (let ((@tmpvar@46 (nscore__keylist__s_insert_k_nscore__int_I128I@gas2 (bsqterm_object_nscore__keylist_k_nscore__int_I11I_value (bsqterm_object_value tlI130I)) valI96I)))
                      (ite (is-result_error@nscore__keylist_k_nscore__int_I11I @tmpvar@46)
                        @tmpvar@46
                        (let ((_tmp_26I136I (result_success_value@nscore__keylist_k_nscore__int_I11I @tmpvar@46)))
                          (let ((_tmp_22I137I (nscore__keylist_k_nscore__int_I11I@cons _tmp_25I135I (bsqterm_object MIRNominalTypeEnum_nscore__keylist_k_nscore__int_I11I (cons@bsq_object_from_nscore__keylist_k_nscore__int_I11I _tmp_26I136I)))))
                            (let ((___ir_ret__I66I _tmp_22I137I))
                              (let ((___ir_ret___3I94I ___ir_ret__I66I))
                                (let (($return ___ir_ret___3I94I))
                                  (result_success@nscore__keylist_k_nscore__int_I11I $return)
                                )
                              )
                            )
                          )
                        )
                      )
                    )
                  )
                )
              )
            )
          )
        )
      )
    )
  ))
(define-fun nscore__keylist__s_insert_k_nscore__int_I128I ((klI127I nscore__keylist_k_nscore__int_I11I) (valI96I Int)) Result@nscore__keylist_k_nscore__int_I11I 
(let ((_tmp_4I95I (nscore__keylist_k_nscore__int_I11I@nscore__keylist_k_nscore__int__hkeyI12I klI127I)))
    (let ((_tmp_1I69I (< _tmp_4I95I valI96I)))
      (let ((_tmp_0I65I (not _tmp_1I69I)))
        (ite _tmp_0I65I
          (let ((_tmp_6I64I (nscore__keylist_k_nscore__int_I11I@cons valI96I (bsqterm_object MIRNominalTypeEnum_nscore__keylist_k_nscore__int_I11I (cons@bsq_object_from_nscore__keylist_k_nscore__int_I11I klI127I)))))
            (let ((___ir_ret___2I75I _tmp_6I64I))
              (let ((___ir_ret___3I94I ___ir_ret___2I75I))
                (let (($return ___ir_ret___3I94I))
                  (result_success@nscore__keylist_k_nscore__int_I11I $return)
                )
              )
            )
          )
          (let ((_tmp_11I129I (nscore__keylist_k_nscore__int_I11I@nscore__keylist_k_nscore__int__tailI13I klI127I)))
            (let ((tlI130I _tmp_11I129I))
              (let ((_tmp_12I131I (= tlI130I bsqterm_none)))
                (ite _tmp_12I131I
                  (let ((_tmp_18I132I (nscore__keylist_k_nscore__int_I11I@nscore__keylist_k_nscore__int__hkeyI12I klI127I)))
                    (let ((_tmp_19I133I (nscore__keylist_k_nscore__int_I11I@cons valI96I bsqterm_none)))
                      (let ((_tmp_15I134I (nscore__keylist_k_nscore__int_I11I@cons _tmp_18I132I (bsqterm_object MIRNominalTypeEnum_nscore__keylist_k_nscore__int_I11I (cons@bsq_object_from_nscore__keylist_k_nscore__int_I11I _tmp_19I133I)))))
                        (let ((___ir_ret___1I74I _tmp_15I134I))
                          (let ((___ir_ret___3I94I ___ir_ret___1I74I))
                            (let (($return ___ir_ret___3I94I))
                              (result_success@nscore__keylist_k_nscore__int_I11I $return)
                            )
                          )
                        )
                      )
                    )
                  )
                  (let ((_tmp_25I135I (nscore__keylist_k_nscore__int_I11I@nscore__keylist_k_nscore__int__hkeyI12I klI127I)))
                    (let ((@tmpvar@47 (nscore__keylist__s_insert_k_nscore__int_I128I@gas3 (bsqterm_object_nscore__keylist_k_nscore__int_I11I_value (bsqterm_object_value tlI130I)) valI96I)))
                      (ite (is-result_error@nscore__keylist_k_nscore__int_I11I @tmpvar@47)
                        @tmpvar@47
                        (let ((_tmp_26I136I (result_success_value@nscore__keylist_k_nscore__int_I11I @tmpvar@47)))
                          (let ((_tmp_22I137I (nscore__keylist_k_nscore__int_I11I@cons _tmp_25I135I (bsqterm_object MIRNominalTypeEnum_nscore__keylist_k_nscore__int_I11I (cons@bsq_object_from_nscore__keylist_k_nscore__int_I11I _tmp_26I136I)))))
                            (let ((___ir_ret__I66I _tmp_22I137I))
                              (let ((___ir_ret___3I94I ___ir_ret__I66I))
                                (let (($return ___ir_ret___3I94I))
                                  (result_success@nscore__keylist_k_nscore__int_I11I $return)
                                )
                              )
                            )
                          )
                        )
                      )
                    )
                  )
                )
              )
            )
          )
        )
      )
    )
  ))
(define-fun nscore__keylist__s_sort_k_nscore__int_I139I@gas1 ((klI127I nscore__keylist_k_nscore__int_I11I) (rklI138I nscore__keylist_k_nscore__int_I11I)) Result@nscore__keylist_k_nscore__int_I11I 
(let ((_tmp_2I104I (nscore__keylist_k_nscore__int_I11I@nscore__keylist_k_nscore__int__tailI13I klI127I)))
    (let ((tlI130I _tmp_2I104I))
      (let ((_tmp_3I62I (= tlI130I bsqterm_none)))
        (ite _tmp_3I62I
          (let ((_tmp_10I100I (nscore__keylist_k_nscore__int_I11I@nscore__keylist_k_nscore__int__hkeyI12I klI127I)))
            (let ((@tmpvar@48 (nscore__keylist__s_insert_k_nscore__int_I128I rklI138I _tmp_10I100I)))
              (ite (is-result_error@nscore__keylist_k_nscore__int_I11I @tmpvar@48)
                @tmpvar@48
                (let ((_tmp_6I64I (result_success_value@nscore__keylist_k_nscore__int_I11I @tmpvar@48)))
                  (let ((___ir_ret___1I74I _tmp_6I64I))
                    (let ((___ir_ret___2I75I ___ir_ret___1I74I))
                      (let (($return ___ir_ret___2I75I))
                        (result_success@nscore__keylist_k_nscore__int_I11I $return)
                      )
                    )
                  )
                )
              )
            )
          )
          (let ((_tmp_17I140I (nscore__keylist_k_nscore__int_I11I@nscore__keylist_k_nscore__int__hkeyI12I klI127I)))
            (let ((@tmpvar@49 (nscore__keylist__s_insert_k_nscore__int_I128I rklI138I _tmp_17I140I)))
              (ite (is-result_error@nscore__keylist_k_nscore__int_I11I @tmpvar@49)
                @tmpvar@49
                (let ((_tmp_13I98I (result_success_value@nscore__keylist_k_nscore__int_I11I @tmpvar@49)))
                  (let ((@tmpvar@50 (result_error@nscore__keylist_k_nscore__int_I11I (result_bmc "default"))))
                    (ite (is-result_error@nscore__keylist_k_nscore__int_I11I @tmpvar@50)
                      @tmpvar@50
                      (let ((_tmp_11I129I (result_success_value@nscore__keylist_k_nscore__int_I11I @tmpvar@50)))
                        (let ((___ir_ret__I66I _tmp_11I129I))
                          (let ((___ir_ret___2I75I ___ir_ret__I66I))
                            (let (($return ___ir_ret___2I75I))
                              (result_success@nscore__keylist_k_nscore__int_I11I $return)
                            )
                          )
                        )
                      )
                    )
                  )
                )
              )
            )
          )
        )
      )
    )
  ))
(define-fun nscore__keylist__s_sort_k_nscore__int_I139I@gas2 ((klI127I nscore__keylist_k_nscore__int_I11I) (rklI138I nscore__keylist_k_nscore__int_I11I)) Result@nscore__keylist_k_nscore__int_I11I 
(let ((_tmp_2I104I (nscore__keylist_k_nscore__int_I11I@nscore__keylist_k_nscore__int__tailI13I klI127I)))
    (let ((tlI130I _tmp_2I104I))
      (let ((_tmp_3I62I (= tlI130I bsqterm_none)))
        (ite _tmp_3I62I
          (let ((_tmp_10I100I (nscore__keylist_k_nscore__int_I11I@nscore__keylist_k_nscore__int__hkeyI12I klI127I)))
            (let ((@tmpvar@51 (nscore__keylist__s_insert_k_nscore__int_I128I rklI138I _tmp_10I100I)))
              (ite (is-result_error@nscore__keylist_k_nscore__int_I11I @tmpvar@51)
                @tmpvar@51
                (let ((_tmp_6I64I (result_success_value@nscore__keylist_k_nscore__int_I11I @tmpvar@51)))
                  (let ((___ir_ret___1I74I _tmp_6I64I))
                    (let ((___ir_ret___2I75I ___ir_ret___1I74I))
                      (let (($return ___ir_ret___2I75I))
                        (result_success@nscore__keylist_k_nscore__int_I11I $return)
                      )
                    )
                  )
                )
              )
            )
          )
          (let ((_tmp_17I140I (nscore__keylist_k_nscore__int_I11I@nscore__keylist_k_nscore__int__hkeyI12I klI127I)))
            (let ((@tmpvar@52 (nscore__keylist__s_insert_k_nscore__int_I128I rklI138I _tmp_17I140I)))
              (ite (is-result_error@nscore__keylist_k_nscore__int_I11I @tmpvar@52)
                @tmpvar@52
                (let ((_tmp_13I98I (result_success_value@nscore__keylist_k_nscore__int_I11I @tmpvar@52)))
                  (let ((@tmpvar@53 (nscore__keylist__s_sort_k_nscore__int_I139I@gas1 (bsqterm_object_nscore__keylist_k_nscore__int_I11I_value (bsqterm_object_value tlI130I)) _tmp_13I98I)))
                    (ite (is-result_error@nscore__keylist_k_nscore__int_I11I @tmpvar@53)
                      @tmpvar@53
                      (let ((_tmp_11I129I (result_success_value@nscore__keylist_k_nscore__int_I11I @tmpvar@53)))
                        (let ((___ir_ret__I66I _tmp_11I129I))
                          (let ((___ir_ret___2I75I ___ir_ret__I66I))
                            (let (($return ___ir_ret___2I75I))
                              (result_success@nscore__keylist_k_nscore__int_I11I $return)
                            )
                          )
                        )
                      )
                    )
                  )
                )
              )
            )
          )
        )
      )
    )
  ))
(define-fun nscore__keylist__s_sort_k_nscore__int_I139I@gas3 ((klI127I nscore__keylist_k_nscore__int_I11I) (rklI138I nscore__keylist_k_nscore__int_I11I)) Result@nscore__keylist_k_nscore__int_I11I 
(let ((_tmp_2I104I (nscore__keylist_k_nscore__int_I11I@nscore__keylist_k_nscore__int__tailI13I klI127I)))
    (let ((tlI130I _tmp_2I104I))
      (let ((_tmp_3I62I (= tlI130I bsqterm_none)))
        (ite _tmp_3I62I
          (let ((_tmp_10I100I (nscore__keylist_k_nscore__int_I11I@nscore__keylist_k_nscore__int__hkeyI12I klI127I)))
            (let ((@tmpvar@54 (nscore__keylist__s_insert_k_nscore__int_I128I rklI138I _tmp_10I100I)))
              (ite (is-result_error@nscore__keylist_k_nscore__int_I11I @tmpvar@54)
                @tmpvar@54
                (let ((_tmp_6I64I (result_success_value@nscore__keylist_k_nscore__int_I11I @tmpvar@54)))
                  (let ((___ir_ret___1I74I _tmp_6I64I))
                    (let ((___ir_ret___2I75I ___ir_ret___1I74I))
                      (let (($return ___ir_ret___2I75I))
                        (result_success@nscore__keylist_k_nscore__int_I11I $return)
                      )
                    )
                  )
                )
              )
            )
          )
          (let ((_tmp_17I140I (nscore__keylist_k_nscore__int_I11I@nscore__keylist_k_nscore__int__hkeyI12I klI127I)))
            (let ((@tmpvar@55 (nscore__keylist__s_insert_k_nscore__int_I128I rklI138I _tmp_17I140I)))
              (ite (is-result_error@nscore__keylist_k_nscore__int_I11I @tmpvar@55)
                @tmpvar@55
                (let ((_tmp_13I98I (result_success_value@nscore__keylist_k_nscore__int_I11I @tmpvar@55)))
                  (let ((@tmpvar@56 (nscore__keylist__s_sort_k_nscore__int_I139I@gas2 (bsqterm_object_nscore__keylist_k_nscore__int_I11I_value (bsqterm_object_value tlI130I)) _tmp_13I98I)))
                    (ite (is-result_error@nscore__keylist_k_nscore__int_I11I @tmpvar@56)
                      @tmpvar@56
                      (let ((_tmp_11I129I (result_success_value@nscore__keylist_k_nscore__int_I11I @tmpvar@56)))
                        (let ((___ir_ret__I66I _tmp_11I129I))
                          (let ((___ir_ret___2I75I ___ir_ret__I66I))
                            (let (($return ___ir_ret___2I75I))
                              (result_success@nscore__keylist_k_nscore__int_I11I $return)
                            )
                          )
                        )
                      )
                    )
                  )
                )
              )
            )
          )
        )
      )
    )
  ))
(define-fun nscore__keylist__s_sort_k_nscore__int_I139I ((klI127I nscore__keylist_k_nscore__int_I11I) (rklI138I nscore__keylist_k_nscore__int_I11I)) Result@nscore__keylist_k_nscore__int_I11I 
(let ((_tmp_2I104I (nscore__keylist_k_nscore__int_I11I@nscore__keylist_k_nscore__int__tailI13I klI127I)))
    (let ((tlI130I _tmp_2I104I))
      (let ((_tmp_3I62I (= tlI130I bsqterm_none)))
        (ite _tmp_3I62I
          (let ((_tmp_10I100I (nscore__keylist_k_nscore__int_I11I@nscore__keylist_k_nscore__int__hkeyI12I klI127I)))
            (let ((@tmpvar@57 (nscore__keylist__s_insert_k_nscore__int_I128I rklI138I _tmp_10I100I)))
              (ite (is-result_error@nscore__keylist_k_nscore__int_I11I @tmpvar@57)
                @tmpvar@57
                (let ((_tmp_6I64I (result_success_value@nscore__keylist_k_nscore__int_I11I @tmpvar@57)))
                  (let ((___ir_ret___1I74I _tmp_6I64I))
                    (let ((___ir_ret___2I75I ___ir_ret___1I74I))
                      (let (($return ___ir_ret___2I75I))
                        (result_success@nscore__keylist_k_nscore__int_I11I $return)
                      )
                    )
                  )
                )
              )
            )
          )
          (let ((_tmp_17I140I (nscore__keylist_k_nscore__int_I11I@nscore__keylist_k_nscore__int__hkeyI12I klI127I)))
            (let ((@tmpvar@58 (nscore__keylist__s_insert_k_nscore__int_I128I rklI138I _tmp_17I140I)))
              (ite (is-result_error@nscore__keylist_k_nscore__int_I11I @tmpvar@58)
                @tmpvar@58
                (let ((_tmp_13I98I (result_success_value@nscore__keylist_k_nscore__int_I11I @tmpvar@58)))
                  (let ((@tmpvar@59 (nscore__keylist__s_sort_k_nscore__int_I139I@gas3 (bsqterm_object_nscore__keylist_k_nscore__int_I11I_value (bsqterm_object_value tlI130I)) _tmp_13I98I)))
                    (ite (is-result_error@nscore__keylist_k_nscore__int_I11I @tmpvar@59)
                      @tmpvar@59
                      (let ((_tmp_11I129I (result_success_value@nscore__keylist_k_nscore__int_I11I @tmpvar@59)))
                        (let ((___ir_ret__I66I _tmp_11I129I))
                          (let ((___ir_ret___2I75I ___ir_ret__I66I))
                            (let (($return ___ir_ret___2I75I))
                              (result_success@nscore__keylist_k_nscore__int_I11I $return)
                            )
                          )
                        )
                      )
                    )
                  )
                )
              )
            )
          )
        )
      )
    )
  ))
(define-fun nscore__keylist__sort_k_nscore__int_I141I ((klI127I BTerm)) Result@BTerm 
(let ((_tmp_0I65I (= klI127I bsqterm_none)))
    (ite _tmp_0I65I
      (let ((___ir_ret___2I75I bsqkey_none))
        (let ((___ir_ret___3I94I bsqterm_none))
          (let (($return ___ir_ret___3I94I))
            (result_success@BTerm $return)
          )
        )
      )
      (let ((_tmp_6I64I (nscore__keylist_k_nscore__int_I11I@nscore__keylist_k_nscore__int__tailI13I (bsqterm_object_nscore__keylist_k_nscore__int_I11I_value (bsqterm_object_value klI127I)))))
        (let ((tlI130I _tmp_6I64I))
          (let ((_tmp_7I97I (= tlI130I bsqterm_none)))
            (ite _tmp_7I97I
              (let ((___ir_ret___1I74I klI127I))
                (let ((___ir_ret___3I94I ___ir_ret___1I74I))
                  (let (($return ___ir_ret___3I94I))
                    (result_success@BTerm $return)
                  )
                )
              )
              (let ((_tmp_16I99I (nscore__keylist_k_nscore__int_I11I@nscore__keylist_k_nscore__int__hkeyI12I (bsqterm_object_nscore__keylist_k_nscore__int_I11I_value (bsqterm_object_value klI127I)))))
                (let ((_tmp_13I98I (nscore__keylist_k_nscore__int_I11I@cons _tmp_16I99I bsqterm_none)))
                  (let ((@tmpvar@60 (nscore__keylist__s_sort_k_nscore__int_I139I (bsqterm_object_nscore__keylist_k_nscore__int_I11I_value (bsqterm_object_value tlI130I)) _tmp_13I98I)))
                    (ite (is-result_error@nscore__keylist_k_nscore__int_I11I @tmpvar@60)
                      (result_error@BTerm (result_error_code@nscore__keylist_k_nscore__int_I11I @tmpvar@60))
                      (let ((_tmp_11I129I (result_success_value@nscore__keylist_k_nscore__int_I11I @tmpvar@60)))
                        (let ((___ir_ret__I66I _tmp_11I129I))
                          (let ((___ir_ret___3I94I (bsqterm_object MIRNominalTypeEnum_nscore__keylist_k_nscore__int_I11I (cons@bsq_object_from_nscore__keylist_k_nscore__int_I11I ___ir_ret__I66I))))
                            (let (($return ___ir_ret___3I94I))
                              (result_success@BTerm $return)
                            )
                          )
                        )
                      )
                    )
                  )
                )
              )
            )
          )
        )
      )
    )
  ))
(define-fun nscore__list__s_unsafe_push_t_nscore__int_I142I ((lI81I nscore__list_t_nscore__int_I17I) (vI88I Int)) nscore__list_t_nscore__int_I17I 
  (nscore__list_t_nscore__int_I17I@cons (+ (nscore__list_t_nscore__int_I17I@@size lI81I) 1) (store (nscore__list_t_nscore__int_I17I@@entries lI81I) (nscore__list_t_nscore__int_I17I@@size lI81I) vI88I))
)
(define-fun nscore__map__s_key_list_k_nscore__int__v_nscore__list_nsmain__func__I143I@gas1 ((klI127I BTerm) (lI81I nscore__list_t_nscore__int_I17I)) Result@nscore__list_t_nscore__int_I17I 
(let ((_tmp_0I65I (= klI127I bsqterm_none)))
    (ite _tmp_0I65I
      (let ((___ir_ret___1I74I lI81I))
        (let ((___ir_ret___2I75I ___ir_ret___1I74I))
          (let (($return ___ir_ret___2I75I))
            (result_success@nscore__list_t_nscore__int_I17I $return)
          )
        )
      )
      (let ((_tmp_7I97I (nscore__keylist_k_nscore__int_I11I@nscore__keylist_k_nscore__int__tailI13I (bsqterm_object_nscore__keylist_k_nscore__int_I11I_value (bsqterm_object_value klI127I)))))
        (let ((_tmp_12I131I (nscore__keylist_k_nscore__int_I11I@nscore__keylist_k_nscore__int__hkeyI12I (bsqterm_object_nscore__keylist_k_nscore__int_I11I_value (bsqterm_object_value klI127I)))))
          (let ((_tmp_8I144I (nscore__list__s_unsafe_push_t_nscore__int_I142I lI81I _tmp_12I131I)))
            (let ((@tmpvar@61 (result_error@nscore__list_t_nscore__int_I17I (result_bmc "collection"))))
              (ite (is-result_error@nscore__list_t_nscore__int_I17I @tmpvar@61)
                @tmpvar@61
                (let ((_tmp_4I95I (result_success_value@nscore__list_t_nscore__int_I17I @tmpvar@61)))
                  (let ((___ir_ret__I66I _tmp_4I95I))
                    (let ((___ir_ret___2I75I ___ir_ret__I66I))
                      (let (($return ___ir_ret___2I75I))
                        (result_success@nscore__list_t_nscore__int_I17I $return)
                      )
                    )
                  )
                )
              )
            )
          )
        )
      )
    )
  ))
(define-fun nscore__map__s_key_list_k_nscore__int__v_nscore__list_nsmain__func__I143I@gas2 ((klI127I BTerm) (lI81I nscore__list_t_nscore__int_I17I)) Result@nscore__list_t_nscore__int_I17I 
(let ((_tmp_0I65I (= klI127I bsqterm_none)))
    (ite _tmp_0I65I
      (let ((___ir_ret___1I74I lI81I))
        (let ((___ir_ret___2I75I ___ir_ret___1I74I))
          (let (($return ___ir_ret___2I75I))
            (result_success@nscore__list_t_nscore__int_I17I $return)
          )
        )
      )
      (let ((_tmp_7I97I (nscore__keylist_k_nscore__int_I11I@nscore__keylist_k_nscore__int__tailI13I (bsqterm_object_nscore__keylist_k_nscore__int_I11I_value (bsqterm_object_value klI127I)))))
        (let ((_tmp_12I131I (nscore__keylist_k_nscore__int_I11I@nscore__keylist_k_nscore__int__hkeyI12I (bsqterm_object_nscore__keylist_k_nscore__int_I11I_value (bsqterm_object_value klI127I)))))
          (let ((_tmp_8I144I (nscore__list__s_unsafe_push_t_nscore__int_I142I lI81I _tmp_12I131I)))
            (let ((@tmpvar@62 (nscore__map__s_key_list_k_nscore__int__v_nscore__list_nsmain__func__I143I@gas1 _tmp_7I97I _tmp_8I144I)))
              (ite (is-result_error@nscore__list_t_nscore__int_I17I @tmpvar@62)
                @tmpvar@62
                (let ((_tmp_4I95I (result_success_value@nscore__list_t_nscore__int_I17I @tmpvar@62)))
                  (let ((___ir_ret__I66I _tmp_4I95I))
                    (let ((___ir_ret___2I75I ___ir_ret__I66I))
                      (let (($return ___ir_ret___2I75I))
                        (result_success@nscore__list_t_nscore__int_I17I $return)
                      )
                    )
                  )
                )
              )
            )
          )
        )
      )
    )
  ))
(define-fun nscore__map__s_key_list_k_nscore__int__v_nscore__list_nsmain__func__I143I@gas3 ((klI127I BTerm) (lI81I nscore__list_t_nscore__int_I17I)) Result@nscore__list_t_nscore__int_I17I 
(let ((_tmp_0I65I (= klI127I bsqterm_none)))
    (ite _tmp_0I65I
      (let ((___ir_ret___1I74I lI81I))
        (let ((___ir_ret___2I75I ___ir_ret___1I74I))
          (let (($return ___ir_ret___2I75I))
            (result_success@nscore__list_t_nscore__int_I17I $return)
          )
        )
      )
      (let ((_tmp_7I97I (nscore__keylist_k_nscore__int_I11I@nscore__keylist_k_nscore__int__tailI13I (bsqterm_object_nscore__keylist_k_nscore__int_I11I_value (bsqterm_object_value klI127I)))))
        (let ((_tmp_12I131I (nscore__keylist_k_nscore__int_I11I@nscore__keylist_k_nscore__int__hkeyI12I (bsqterm_object_nscore__keylist_k_nscore__int_I11I_value (bsqterm_object_value klI127I)))))
          (let ((_tmp_8I144I (nscore__list__s_unsafe_push_t_nscore__int_I142I lI81I _tmp_12I131I)))
            (let ((@tmpvar@63 (nscore__map__s_key_list_k_nscore__int__v_nscore__list_nsmain__func__I143I@gas2 _tmp_7I97I _tmp_8I144I)))
              (ite (is-result_error@nscore__list_t_nscore__int_I17I @tmpvar@63)
                @tmpvar@63
                (let ((_tmp_4I95I (result_success_value@nscore__list_t_nscore__int_I17I @tmpvar@63)))
                  (let ((___ir_ret__I66I _tmp_4I95I))
                    (let ((___ir_ret___2I75I ___ir_ret__I66I))
                      (let (($return ___ir_ret___2I75I))
                        (result_success@nscore__list_t_nscore__int_I17I $return)
                      )
                    )
                  )
                )
              )
            )
          )
        )
      )
    )
  ))
(define-fun nscore__map__s_key_list_k_nscore__int__v_nscore__list_nsmain__func__I143I@gas4 ((klI127I BTerm) (lI81I nscore__list_t_nscore__int_I17I)) Result@nscore__list_t_nscore__int_I17I 
(let ((_tmp_0I65I (= klI127I bsqterm_none)))
    (ite _tmp_0I65I
      (let ((___ir_ret___1I74I lI81I))
        (let ((___ir_ret___2I75I ___ir_ret___1I74I))
          (let (($return ___ir_ret___2I75I))
            (result_success@nscore__list_t_nscore__int_I17I $return)
          )
        )
      )
      (let ((_tmp_7I97I (nscore__keylist_k_nscore__int_I11I@nscore__keylist_k_nscore__int__tailI13I (bsqterm_object_nscore__keylist_k_nscore__int_I11I_value (bsqterm_object_value klI127I)))))
        (let ((_tmp_12I131I (nscore__keylist_k_nscore__int_I11I@nscore__keylist_k_nscore__int__hkeyI12I (bsqterm_object_nscore__keylist_k_nscore__int_I11I_value (bsqterm_object_value klI127I)))))
          (let ((_tmp_8I144I (nscore__list__s_unsafe_push_t_nscore__int_I142I lI81I _tmp_12I131I)))
            (let ((@tmpvar@64 (nscore__map__s_key_list_k_nscore__int__v_nscore__list_nsmain__func__I143I@gas3 _tmp_7I97I _tmp_8I144I)))
              (ite (is-result_error@nscore__list_t_nscore__int_I17I @tmpvar@64)
                @tmpvar@64
                (let ((_tmp_4I95I (result_success_value@nscore__list_t_nscore__int_I17I @tmpvar@64)))
                  (let ((___ir_ret__I66I _tmp_4I95I))
                    (let ((___ir_ret___2I75I ___ir_ret__I66I))
                      (let (($return ___ir_ret___2I75I))
                        (result_success@nscore__list_t_nscore__int_I17I $return)
                      )
                    )
                  )
                )
              )
            )
          )
        )
      )
    )
  ))
(define-fun nscore__map__s_key_list_k_nscore__int__v_nscore__list_nsmain__func__I143I ((klI127I BTerm) (lI81I nscore__list_t_nscore__int_I17I)) Result@nscore__list_t_nscore__int_I17I 
(let ((_tmp_0I65I (= klI127I bsqterm_none)))
    (ite _tmp_0I65I
      (let ((___ir_ret___1I74I lI81I))
        (let ((___ir_ret___2I75I ___ir_ret___1I74I))
          (let (($return ___ir_ret___2I75I))
            (result_success@nscore__list_t_nscore__int_I17I $return)
          )
        )
      )
      (let ((_tmp_7I97I (nscore__keylist_k_nscore__int_I11I@nscore__keylist_k_nscore__int__tailI13I (bsqterm_object_nscore__keylist_k_nscore__int_I11I_value (bsqterm_object_value klI127I)))))
        (let ((_tmp_12I131I (nscore__keylist_k_nscore__int_I11I@nscore__keylist_k_nscore__int__hkeyI12I (bsqterm_object_nscore__keylist_k_nscore__int_I11I_value (bsqterm_object_value klI127I)))))
          (let ((_tmp_8I144I (nscore__list__s_unsafe_push_t_nscore__int_I142I lI81I _tmp_12I131I)))
            (let ((@tmpvar@65 (nscore__map__s_key_list_k_nscore__int__v_nscore__list_nsmain__func__I143I@gas4 _tmp_7I97I _tmp_8I144I)))
              (ite (is-result_error@nscore__list_t_nscore__int_I17I @tmpvar@65)
                @tmpvar@65
                (let ((_tmp_4I95I (result_success_value@nscore__list_t_nscore__int_I17I @tmpvar@65)))
                  (let ((___ir_ret__I66I _tmp_4I95I))
                    (let ((___ir_ret___2I75I ___ir_ret__I66I))
                      (let (($return ___ir_ret___2I75I))
                        (result_success@nscore__list_t_nscore__int_I17I $return)
                      )
                    )
                  )
                )
              )
            )
          )
        )
      )
    )
  ))
(define-fun nscore__map__keys_k_nscore__int__v_nscore__list_nsmain__func__I145I ((thisI79I nscore__map_k_nscore__int__v_nscore__list_nsmain__func__I23I)) Result@nscore__list_t_nscore__int_I17I 
(let ((_tmp_2I104I (nscore__map__s_get_keylist_k_nscore__int__v_nscore__list_nsmain__func__I126I thisI79I)))
    (let ((@tmpvar@66 (nscore__keylist__sort_k_nscore__int_I141I _tmp_2I104I)))
      (ite (is-result_error@BTerm @tmpvar@66)
        (result_error@nscore__list_t_nscore__int_I17I (result_error_code@BTerm @tmpvar@66))
        (let ((_tmp_1I69I (result_success_value@BTerm @tmpvar@66)))
          (let ((_tmp_4I95I (nscore__list_t_nscore__int_I17I@cons 0 nscore__list_t_nscore__int__collection_data_array_emptyI18I)))
            (let ((@tmpvar@67 (nscore__map__s_key_list_k_nscore__int__v_nscore__list_nsmain__func__I143I _tmp_1I69I _tmp_4I95I)))
              (ite (is-result_error@nscore__list_t_nscore__int_I17I @tmpvar@67)
                @tmpvar@67
                (let ((_tmp_0I65I (result_success_value@nscore__list_t_nscore__int_I17I @tmpvar@67)))
                  (let ((___ir_ret__I66I _tmp_0I65I))
                    (let (($return ___ir_ret__I66I))
                      (result_success@nscore__list_t_nscore__int_I17I $return)
                    )
                  )
                )
              )
            )
          )
        )
      )
    )
  ))
(define-fun nscore__list__get_t_nscore__int___pre__llogic_done_3I147I ((_tmp_0_2I146I Bool)) Result@Bool 
(let ((___ir_ret__I66I _tmp_0_2I146I))
    (let (($return ___ir_ret__I66I))
      (result_success@Bool $return)
    )
  ))
(define-fun nscore__list__s_size_t_nscore__int_I148I ((lI81I nscore__list_t_nscore__int_I17I)) Int 
  (nscore__list_t_nscore__int_I17I@@size lI81I)
)
(define-fun nscore__list__get_t_nscore__int___preI149I ((thisI79I nscore__list_t_nscore__int_I17I) (iI83I Int)) Result@Bool 
(let ((_tmp_1I69I (or (< 0 iI83I) (= 0 iI83I))))
    (ite _tmp_1I69I
      (let ((_tmp_6I64I (nscore__list__s_size_t_nscore__int_I148I thisI79I)))
        (let ((_tmp_4I95I (< iI83I _tmp_6I64I)))
          (let ((_tmp_0_1I73I _tmp_4I95I))
            (let ((@tmpvar@68 (nscore__list__get_t_nscore__int___pre__llogic_done_3I147I _tmp_0_1I73I)))
              (ite (is-result_error@Bool @tmpvar@68)
                @tmpvar@68
                (let ((_tmp_100001I150I (result_success_value@Bool @tmpvar@68)))
                  (let (($return _tmp_100001I150I))
                    (result_success@Bool $return)
                  )
                )
              )
            )
          )
        )
      )
      (let ((_tmp_0I65I false))
        (let ((@tmpvar@69 (nscore__list__get_t_nscore__int___pre__llogic_done_3I147I _tmp_0I65I)))
          (ite (is-result_error@Bool @tmpvar@69)
            @tmpvar@69
            (let ((_tmp_100000I151I (result_success_value@Bool @tmpvar@69)))
              (let (($return _tmp_100000I151I))
                (result_success@Bool $return)
              )
            )
          )
        )
      )
    )
  ))
(define-fun nscore__list__s_unsafe_get_t_nscore__int_I152I ((lI81I nscore__list_t_nscore__int_I17I) (iI83I Int)) Int 
  (select (nscore__list_t_nscore__int_I17I@@entries lI81I) iI83I)
)
(define-fun nscore__list__get_t_nscore__int_I153I ((thisI79I nscore__list_t_nscore__int_I17I) (iI83I Int)) Result@Int 
(let ((@tmpvar@70 (nscore__list__get_t_nscore__int___preI149I thisI79I iI83I)))
    (ite (is-result_error@Bool @tmpvar@70)
      (result_error@Int (result_error_code@Bool @tmpvar@70))
      (let ((_tmp_0I65I (result_success_value@Bool @tmpvar@70)))
        (ite _tmp_0I65I
          (let ((_tmp_1I69I (nscore__list__s_unsafe_get_t_nscore__int_I152I thisI79I iI83I)))
            (let ((___ir_ret__I66I _tmp_1I69I))
              (let (($return ___ir_ret__I66I))
                (result_success@Int $return)
              )
            )
          )
          (result_error@Int (result_error 3))
        )
      )
    )
  ))
(define-fun nscore__map__get_k_nscore__int__v_nscore__list_nsmain__func____preI154I ((thisI79I nscore__map_k_nscore__int__v_nscore__list_nsmain__func__I23I) (keyI77I Int)) Result@Bool 
(let ((_tmp_0I65I (nscore__map__s_has_key_k_nscore__int__v_nscore__list_nsmain__func__I78I thisI79I keyI77I)))
    (let ((___ir_ret__I66I _tmp_0I65I))
      (let (($return ___ir_ret__I66I))
        (result_success@Bool $return)
      )
    )
  ))
(define-fun nscore__map__s_at_val_k_nscore__int__v_nscore__list_nsmain__func__I155I ((mI76I nscore__map_k_nscore__int__v_nscore__list_nsmain__func__I23I) (keyI77I Int)) nscore__list_t_nsmain__func_I19I 
  (select (nscore__map_k_nscore__int__v_nscore__list_nsmain__func__I23I@@values mI76I) keyI77I)
)
(define-fun nscore__map__get_k_nscore__int__v_nscore__list_nsmain__func__I156I ((thisI79I nscore__map_k_nscore__int__v_nscore__list_nsmain__func__I23I) (keyI77I Int)) Result@nscore__list_t_nsmain__func_I19I 
(let ((@tmpvar@71 (nscore__map__get_k_nscore__int__v_nscore__list_nsmain__func____preI154I thisI79I keyI77I)))
    (ite (is-result_error@Bool @tmpvar@71)
      (result_error@nscore__list_t_nsmain__func_I19I (result_error_code@Bool @tmpvar@71))
      (let ((_tmp_0I65I (result_success_value@Bool @tmpvar@71)))
        (ite _tmp_0I65I
          (let ((_tmp_1I69I (nscore__map__s_at_val_k_nscore__int__v_nscore__list_nsmain__func__I155I thisI79I keyI77I)))
            (let ((___ir_ret__I66I _tmp_1I69I))
              (let (($return ___ir_ret__I66I))
                (result_success@nscore__list_t_nsmain__func_I19I $return)
              )
            )
          )
          (result_error@nscore__list_t_nsmain__func_I19I (result_error 4))
        )
      )
    )
  ))
(define-fun nscore__list__s_size_t_nsmain__func_I157I ((lI81I nscore__list_t_nsmain__func_I19I)) Int 
  (nscore__list_t_nsmain__func_I19I@@size lI81I)
)
(define-fun nscore__list__s_unsafe_get_t_nsmain__func_I158I ((lI81I nscore__list_t_nsmain__func_I19I) (iI83I Int)) nsmain__funcI20I 
  (select (nscore__list_t_nsmain__func_I19I@@entries lI81I) iI83I)
)
(define-fun nscore__list__s_unsafe_push_t_nsmain__func_I159I ((lI81I nscore__list_t_nsmain__func_I19I) (vI88I nsmain__funcI20I)) nscore__list_t_nsmain__func_I19I 
  (nscore__list_t_nsmain__func_I19I@cons (+ (nscore__list_t_nsmain__func_I19I@@size lI81I) 1) (store (nscore__list_t_nsmain__func_I19I@@entries lI81I) (nscore__list_t_nsmain__func_I19I@@size lI81I) vI88I))
)
(define-fun nscore__list__s_append_t_nsmain__func_I160I@gas1 ((lI81I nscore__list_t_nsmain__func_I19I) (lsizeI90I Int) (lpI91I nscore__list_t_nsmain__func_I19I) (idxI92I Int)) Result@nscore__list_t_nsmain__func_I19I 
(let ((_tmp_0I65I (= idxI92I lsizeI90I)))
    (ite _tmp_0I65I
      (let ((___ir_ret___1I74I lpI91I))
        (let ((___ir_ret___2I75I ___ir_ret___1I74I))
          (let (($return ___ir_ret___2I75I))
            (result_success@nscore__list_t_nsmain__func_I19I $return)
          )
        )
      )
      (let ((_tmp_4I95I (nscore__list__s_unsafe_get_t_nsmain__func_I158I lI81I idxI92I)))
        (let ((valI96I _tmp_4I95I))
          (let ((_tmp_10I100I (nscore__list__s_unsafe_push_t_nsmain__func_I159I lpI91I valI96I)))
            (let ((_tmp_13I98I (+ idxI92I 1)))
              (ite (@int_unsafe _tmp_13I98I)
                (result_error@nscore__list_t_nsmain__func_I19I (result_error 2))
                (let ((@tmpvar@72 (result_error@nscore__list_t_nsmain__func_I19I (result_bmc "collection"))))
                  (ite (is-result_error@nscore__list_t_nsmain__func_I19I @tmpvar@72)
                    @tmpvar@72
                    (let ((_tmp_7I97I (result_success_value@nscore__list_t_nsmain__func_I19I @tmpvar@72)))
                      (let ((___ir_ret__I66I _tmp_7I97I))
                        (let ((___ir_ret___2I75I ___ir_ret__I66I))
                          (let (($return ___ir_ret___2I75I))
                            (result_success@nscore__list_t_nsmain__func_I19I $return)
                          )
                        )
                      )
                    )
                  )
                )
              )
            )
          )
        )
      )
    )
  ))
(define-fun nscore__list__s_append_t_nsmain__func_I160I@gas2 ((lI81I nscore__list_t_nsmain__func_I19I) (lsizeI90I Int) (lpI91I nscore__list_t_nsmain__func_I19I) (idxI92I Int)) Result@nscore__list_t_nsmain__func_I19I 
(let ((_tmp_0I65I (= idxI92I lsizeI90I)))
    (ite _tmp_0I65I
      (let ((___ir_ret___1I74I lpI91I))
        (let ((___ir_ret___2I75I ___ir_ret___1I74I))
          (let (($return ___ir_ret___2I75I))
            (result_success@nscore__list_t_nsmain__func_I19I $return)
          )
        )
      )
      (let ((_tmp_4I95I (nscore__list__s_unsafe_get_t_nsmain__func_I158I lI81I idxI92I)))
        (let ((valI96I _tmp_4I95I))
          (let ((_tmp_10I100I (nscore__list__s_unsafe_push_t_nsmain__func_I159I lpI91I valI96I)))
            (let ((_tmp_13I98I (+ idxI92I 1)))
              (ite (@int_unsafe _tmp_13I98I)
                (result_error@nscore__list_t_nsmain__func_I19I (result_error 2))
                (let ((@tmpvar@73 (nscore__list__s_append_t_nsmain__func_I160I@gas1 lI81I lsizeI90I _tmp_10I100I _tmp_13I98I)))
                  (ite (is-result_error@nscore__list_t_nsmain__func_I19I @tmpvar@73)
                    @tmpvar@73
                    (let ((_tmp_7I97I (result_success_value@nscore__list_t_nsmain__func_I19I @tmpvar@73)))
                      (let ((___ir_ret__I66I _tmp_7I97I))
                        (let ((___ir_ret___2I75I ___ir_ret__I66I))
                          (let (($return ___ir_ret___2I75I))
                            (result_success@nscore__list_t_nsmain__func_I19I $return)
                          )
                        )
                      )
                    )
                  )
                )
              )
            )
          )
        )
      )
    )
  ))
(define-fun nscore__list__s_append_t_nsmain__func_I160I@gas3 ((lI81I nscore__list_t_nsmain__func_I19I) (lsizeI90I Int) (lpI91I nscore__list_t_nsmain__func_I19I) (idxI92I Int)) Result@nscore__list_t_nsmain__func_I19I 
(let ((_tmp_0I65I (= idxI92I lsizeI90I)))
    (ite _tmp_0I65I
      (let ((___ir_ret___1I74I lpI91I))
        (let ((___ir_ret___2I75I ___ir_ret___1I74I))
          (let (($return ___ir_ret___2I75I))
            (result_success@nscore__list_t_nsmain__func_I19I $return)
          )
        )
      )
      (let ((_tmp_4I95I (nscore__list__s_unsafe_get_t_nsmain__func_I158I lI81I idxI92I)))
        (let ((valI96I _tmp_4I95I))
          (let ((_tmp_10I100I (nscore__list__s_unsafe_push_t_nsmain__func_I159I lpI91I valI96I)))
            (let ((_tmp_13I98I (+ idxI92I 1)))
              (ite (@int_unsafe _tmp_13I98I)
                (result_error@nscore__list_t_nsmain__func_I19I (result_error 2))
                (let ((@tmpvar@74 (nscore__list__s_append_t_nsmain__func_I160I@gas2 lI81I lsizeI90I _tmp_10I100I _tmp_13I98I)))
                  (ite (is-result_error@nscore__list_t_nsmain__func_I19I @tmpvar@74)
                    @tmpvar@74
                    (let ((_tmp_7I97I (result_success_value@nscore__list_t_nsmain__func_I19I @tmpvar@74)))
                      (let ((___ir_ret__I66I _tmp_7I97I))
                        (let ((___ir_ret___2I75I ___ir_ret__I66I))
                          (let (($return ___ir_ret___2I75I))
                            (result_success@nscore__list_t_nsmain__func_I19I $return)
                          )
                        )
                      )
                    )
                  )
                )
              )
            )
          )
        )
      )
    )
  ))
(define-fun nscore__list__s_append_t_nsmain__func_I160I@gas4 ((lI81I nscore__list_t_nsmain__func_I19I) (lsizeI90I Int) (lpI91I nscore__list_t_nsmain__func_I19I) (idxI92I Int)) Result@nscore__list_t_nsmain__func_I19I 
(let ((_tmp_0I65I (= idxI92I lsizeI90I)))
    (ite _tmp_0I65I
      (let ((___ir_ret___1I74I lpI91I))
        (let ((___ir_ret___2I75I ___ir_ret___1I74I))
          (let (($return ___ir_ret___2I75I))
            (result_success@nscore__list_t_nsmain__func_I19I $return)
          )
        )
      )
      (let ((_tmp_4I95I (nscore__list__s_unsafe_get_t_nsmain__func_I158I lI81I idxI92I)))
        (let ((valI96I _tmp_4I95I))
          (let ((_tmp_10I100I (nscore__list__s_unsafe_push_t_nsmain__func_I159I lpI91I valI96I)))
            (let ((_tmp_13I98I (+ idxI92I 1)))
              (ite (@int_unsafe _tmp_13I98I)
                (result_error@nscore__list_t_nsmain__func_I19I (result_error 2))
                (let ((@tmpvar@75 (nscore__list__s_append_t_nsmain__func_I160I@gas3 lI81I lsizeI90I _tmp_10I100I _tmp_13I98I)))
                  (ite (is-result_error@nscore__list_t_nsmain__func_I19I @tmpvar@75)
                    @tmpvar@75
                    (let ((_tmp_7I97I (result_success_value@nscore__list_t_nsmain__func_I19I @tmpvar@75)))
                      (let ((___ir_ret__I66I _tmp_7I97I))
                        (let ((___ir_ret___2I75I ___ir_ret__I66I))
                          (let (($return ___ir_ret___2I75I))
                            (result_success@nscore__list_t_nsmain__func_I19I $return)
                          )
                        )
                      )
                    )
                  )
                )
              )
            )
          )
        )
      )
    )
  ))
(define-fun nscore__list__s_append_t_nsmain__func_I160I ((lI81I nscore__list_t_nsmain__func_I19I) (lsizeI90I Int) (lpI91I nscore__list_t_nsmain__func_I19I) (idxI92I Int)) Result@nscore__list_t_nsmain__func_I19I 
(let ((_tmp_0I65I (= idxI92I lsizeI90I)))
    (ite _tmp_0I65I
      (let ((___ir_ret___1I74I lpI91I))
        (let ((___ir_ret___2I75I ___ir_ret___1I74I))
          (let (($return ___ir_ret___2I75I))
            (result_success@nscore__list_t_nsmain__func_I19I $return)
          )
        )
      )
      (let ((_tmp_4I95I (nscore__list__s_unsafe_get_t_nsmain__func_I158I lI81I idxI92I)))
        (let ((valI96I _tmp_4I95I))
          (let ((_tmp_10I100I (nscore__list__s_unsafe_push_t_nsmain__func_I159I lpI91I valI96I)))
            (let ((_tmp_13I98I (+ idxI92I 1)))
              (ite (@int_unsafe _tmp_13I98I)
                (result_error@nscore__list_t_nsmain__func_I19I (result_error 2))
                (let ((@tmpvar@76 (nscore__list__s_append_t_nsmain__func_I160I@gas4 lI81I lsizeI90I _tmp_10I100I _tmp_13I98I)))
                  (ite (is-result_error@nscore__list_t_nsmain__func_I19I @tmpvar@76)
                    @tmpvar@76
                    (let ((_tmp_7I97I (result_success_value@nscore__list_t_nsmain__func_I19I @tmpvar@76)))
                      (let ((___ir_ret__I66I _tmp_7I97I))
                        (let ((___ir_ret___2I75I ___ir_ret__I66I))
                          (let (($return ___ir_ret___2I75I))
                            (result_success@nscore__list_t_nsmain__func_I19I $return)
                          )
                        )
                      )
                    )
                  )
                )
              )
            )
          )
        )
      )
    )
  ))
(define-fun nscore__list__append_t_nsmain__func_I161I ((thisI79I nscore__list_t_nsmain__func_I19I) (lI81I nscore__list_t_nsmain__func_I19I)) Result@nscore__list_t_nsmain__func_I19I 
(let ((_tmp_2I104I (nscore__list__s_size_t_nsmain__func_I157I lI81I)))
    (let ((@tmpvar@77 (nscore__list__s_append_t_nsmain__func_I160I lI81I _tmp_2I104I thisI79I 0)))
      (ite (is-result_error@nscore__list_t_nsmain__func_I19I @tmpvar@77)
        @tmpvar@77
        (let ((_tmp_0I65I (result_success_value@nscore__list_t_nsmain__func_I19I @tmpvar@77)))
          (let ((___ir_ret__I66I _tmp_0I65I))
            (let (($return ___ir_ret__I66I))
              (result_success@nscore__list_t_nsmain__func_I19I $return)
            )
          )
        )
      )
    )
  ))
(define-fun nsmain__testscheduler__uschedI163I ((thisI79I nsmain__testschedulerI34I) (delayI162I Int) (funcI111I nsmain__funcI20I)) Result@nsmain__testschedulerI34I 
(let ((_tmp_3I62I (nsmain__testschedulerI34I@nsmain__testscheduler_currenttimeI36I thisI79I)))
    (let ((_tmp_0I65I (+ _tmp_3I62I delayI162I)))
      (ite (@int_unsafe _tmp_0I65I)
        (result_error@nsmain__testschedulerI34I (result_error 5))
        (let ((atI110I _tmp_0I65I))
          (let ((_tmp_8I144I (nsmain__testschedulerI34I@nsmain__testscheduler_timelineI37I thisI79I)))
            (let ((@tmpvar@78 (nscore__map__has_k_nscore__int__v_nscore__list_nsmain__func__I80I _tmp_8I144I atI110I)))
              (ite (is-result_error@Bool @tmpvar@78)
                (result_error@nsmain__testschedulerI34I (result_error_code@Bool @tmpvar@78))
                (let ((_tmp_9I164I (result_success_value@Bool @tmpvar@78)))
                  (ite _tmp_9I164I
                    (let ((_tmp_14I165I (nsmain__testschedulerI34I@nsmain__testscheduler_timelineI37I thisI79I)))
                      (let ((@tmpvar@79 (nscore__map__keys_k_nscore__int__v_nscore__list_nsmain__func__I145I _tmp_14I165I)))
                        (ite (is-result_error@nscore__list_t_nscore__int_I17I @tmpvar@79)
                          (result_error@nsmain__testschedulerI34I (result_error_code@nscore__list_t_nscore__int_I17I @tmpvar@79))
                          (let ((_tmp_15I134I (result_success_value@nscore__list_t_nscore__int_I17I @tmpvar@79)))
                            (let ((@tmpvar@80 (nscore__list__get_t_nscore__int_I153I _tmp_15I134I atI110I)))
                              (ite (is-result_error@Int @tmpvar@80)
                                (result_error@nsmain__testschedulerI34I (result_error_code@Int @tmpvar@80))
                                (let ((_tmp_16I99I (result_success_value@Int @tmpvar@80)))
                                  (let ((_tmp_20I102I (nsmain__testschedulerI34I@nsmain__testscheduler_timelineI37I thisI79I)))
                                    (let ((@tmpvar@81 (nscore__map__get_k_nscore__int__v_nscore__list_nsmain__func__I156I _tmp_20I102I atI110I)))
                                      (ite (is-result_error@nscore__list_t_nsmain__func_I19I @tmpvar@81)
                                        (result_error@nsmain__testschedulerI34I (result_error_code@nscore__list_t_nsmain__func_I19I @tmpvar@81))
                                        (let ((_tmp_21I166I (result_success_value@nscore__list_t_nsmain__func_I19I @tmpvar@81)))
                                          (let ((_tmp_24I101I (nscore__list_t_nsmain__func_I19I@cons 1 (store nscore__list_t_nsmain__func__collection_data_array_emptyI21I 0 funcI111I))))
                                            (let ((@tmpvar@82 (nscore__list__append_t_nsmain__func_I161I _tmp_21I166I _tmp_24I101I)))
                                              (ite (is-result_error@nscore__list_t_nsmain__func_I19I @tmpvar@82)
                                                (result_error@nsmain__testschedulerI34I (result_error_code@nscore__list_t_nsmain__func_I19I @tmpvar@82))
                                                (let ((_tmp_23I167I (result_success_value@nscore__list_t_nsmain__func_I19I @tmpvar@82)))
                                                  (let ((_tmp_11I129I (nscore__mapentry_k_nscore__int__v_nscore__list_nsmain__func__I26I@cons _tmp_16I99I _tmp_23I167I)))
                                                    (let ((_tmp_5_1I168I (nscore__map_k_nscore__int__v_nscore__list_nsmain__func__I23I@cons 1 (store nscore__map_k_nscore__int__v_nscore__list_nsmain__func___collection_has_array_emptyI25I (nscore__mapentry_k_nscore__int__v_nscore__list_nsmain__func__I26I@nscore__mapentry_k_nscore__int__v_nscore__list_nsmain__func___keyI27I _tmp_11I129I) true) (store nscore__map_k_nscore__int__v_nscore__list_nsmain__func___collection_data_array_emptyI24I (nscore__mapentry_k_nscore__int__v_nscore__list_nsmain__func__I26I@nscore__mapentry_k_nscore__int__v_nscore__list_nsmain__func___keyI27I _tmp_11I129I) (nscore__mapentry_k_nscore__int__v_nscore__list_nsmain__func__I26I@nscore__mapentry_k_nscore__int__v_nscore__list_nsmain__func___valueI28I _tmp_11I129I)) (bsqterm_object MIRNominalTypeEnum_nscore__keylist_k_nscore__int_I11I (cons@bsq_object_from_nscore__keylist_k_nscore__int_I11I (nscore__keylist_k_nscore__int_I11I@cons (nscore__mapentry_k_nscore__int__v_nscore__list_nsmain__func__I26I@nscore__mapentry_k_nscore__int__v_nscore__list_nsmain__func___keyI27I _tmp_11I129I) bsqterm_none))))))
                                                      (let ((@tmpvar@83 (nsmain__testscheduler__usched__lselect_done_3I113I atI110I funcI111I thisI79I _tmp_5_1I168I)))
                                                        (ite (is-result_error@nsmain__testschedulerI34I @tmpvar@83)
                                                          @tmpvar@83
                                                          (let ((_tmp_100001I150I (result_success_value@nsmain__testschedulerI34I @tmpvar@83)))
                                                            (let (($return _tmp_100001I150I))
                                                              (result_success@nsmain__testschedulerI34I $return)
                                                            )
                                                          )
                                                        )
                                                      )
                                                    )
                                                  )
                                                )
                                              )
                                            )
                                          )
                                        )
                                      )
                                    )
                                  )
                                )
                              )
                            )
                          )
                        )
                      )
                    )
                    (let ((_tmp_28I169I (nscore__list_t_nsmain__func_I19I@cons 1 (store nscore__list_t_nsmain__func__collection_data_array_emptyI21I 0 funcI111I))))
                      (let ((_tmp_26I136I (nscore__mapentry_k_nscore__int__v_nscore__list_nsmain__func__I26I@cons atI110I _tmp_28I169I)))
                        (let ((_tmp_5I63I (nscore__map_k_nscore__int__v_nscore__list_nsmain__func__I23I@cons 1 (store nscore__map_k_nscore__int__v_nscore__list_nsmain__func___collection_has_array_emptyI25I (nscore__mapentry_k_nscore__int__v_nscore__list_nsmain__func__I26I@nscore__mapentry_k_nscore__int__v_nscore__list_nsmain__func___keyI27I _tmp_26I136I) true) (store nscore__map_k_nscore__int__v_nscore__list_nsmain__func___collection_data_array_emptyI24I (nscore__mapentry_k_nscore__int__v_nscore__list_nsmain__func__I26I@nscore__mapentry_k_nscore__int__v_nscore__list_nsmain__func___keyI27I _tmp_26I136I) (nscore__mapentry_k_nscore__int__v_nscore__list_nsmain__func__I26I@nscore__mapentry_k_nscore__int__v_nscore__list_nsmain__func___valueI28I _tmp_26I136I)) (bsqterm_object MIRNominalTypeEnum_nscore__keylist_k_nscore__int_I11I (cons@bsq_object_from_nscore__keylist_k_nscore__int_I11I (nscore__keylist_k_nscore__int_I11I@cons (nscore__mapentry_k_nscore__int__v_nscore__list_nsmain__func__I26I@nscore__mapentry_k_nscore__int__v_nscore__list_nsmain__func___keyI27I _tmp_26I136I) bsqterm_none))))))
                          (let ((@tmpvar@84 (nsmain__testscheduler__usched__lselect_done_3I113I atI110I funcI111I thisI79I _tmp_5I63I)))
                            (ite (is-result_error@nsmain__testschedulerI34I @tmpvar@84)
                              @tmpvar@84
                              (let ((_tmp_100000I151I (result_success_value@nsmain__testschedulerI34I @tmpvar@84)))
                                (let (($return _tmp_100000I151I))
                                  (result_success@nsmain__testschedulerI34I $return)
                                )
                              )
                            )
                          )
                        )
                      )
                    )
                  )
                )
              )
            )
          )
        )
      )
    )
  ))
(define-fun nsmain__testscheduler__scheduleI170I ((thisI79I nsmain__testschedulerI34I) (funcI111I nsmain__funcI20I)) Result@nsmain__testschedulerI34I 
(let ((_tmp_4I95I (nsmain__testschedulerI34I@nsmain__testscheduler_currenttimeI36I thisI79I)))
    (let ((@tmpvar@85 (nsmain__testscheduler__uschedI163I thisI79I _tmp_4I95I funcI111I)))
      (ite (is-result_error@nsmain__testschedulerI34I @tmpvar@85)
        @tmpvar@85
        (let ((_tmp_0I65I (result_success_value@nsmain__testschedulerI34I @tmpvar@85)))
          (let ((schI171I _tmp_0I65I))
            (let ((_tmp_9I164I (nsmain__testschedulerI34I@nsmain__testscheduler_runningI38I thisI79I)))
              (let ((_tmp_6I64I (not _tmp_9I164I)))
                (ite _tmp_6I64I
                  (let ((_tmp_16I99I (nsmain__testschedulerI34I@nsmain__testscheduler_sortedtasksI40I schI171I)))
                    (let ((_tmp_12I131I (nsmain__testschedulerI34I@cons (nsmain__testschedulerI34I@nsmain__testscheduler_nowI35I thisI79I) (nsmain__testschedulerI34I@nsmain__testscheduler_currenttimeI36I thisI79I) (nsmain__testschedulerI34I@nsmain__testscheduler_timelineI37I thisI79I) true (nsmain__testschedulerI34I@nsmain__testscheduler_runlistI39I thisI79I) _tmp_16I99I)))
                      (let ((rI172I _tmp_12I131I))
                        (let ((___ir_ret___1I74I rI172I))
                          (let ((___ir_ret___2I75I ___ir_ret___1I74I))
                            (let (($return ___ir_ret___2I75I))
                              (result_success@nsmain__testschedulerI34I $return)
                            )
                          )
                        )
                      )
                    )
                  )
                  (let ((___ir_ret__I66I schI171I))
                    (let ((___ir_ret___2I75I ___ir_ret__I66I))
                      (let (($return ___ir_ret___2I75I))
                        (result_success@nsmain__testschedulerI34I $return)
                      )
                    )
                  )
                )
              )
            )
          )
        )
      )
    )
  ))
(define-fun fn__fibersched_bsq_139__3639I173I () Result@String 
(let ((___ir_ret__I66I "R2"))
    (let (($return ___ir_ret__I66I))
      (result_success@String $return)
    )
  ))
(define-fun nsmain__func__enqueue_fibersched_bsq_139_0_I174I () Result@bsq_record 
(let ((@tmpvar@86 fn__fibersched_bsq_139__3639I173I))
    (ite (is-result_error@String @tmpvar@86)
      (result_error@bsq_record (result_error_code@String @tmpvar@86))
      (let ((_tmp_1I69I (result_success_value@String @tmpvar@86)))
        (let ((_tmp_0I65I (bsq_record@cons (StructuralSpecialTypeInfo@cons false true true) (store bsqrecord_array_empty "lf" (bsqterm_key (bsqkey_string _tmp_1I69I))))))
          (let ((___ir_ret__I66I _tmp_0I65I))
            (let (($return ___ir_ret__I66I))
              (result_success@bsq_record $return)
            )
          )
        )
      )
    )
  ))
(define-fun nsmain__testscheduler__delayI176I ((thisI79I nsmain__testschedulerI34I) (timeoutI175I Int) (funcI111I nsmain__funcI20I)) Result@nsmain__testschedulerI34I 
(let ((@tmpvar@87 (nsmain__testscheduler__uschedI163I thisI79I timeoutI175I funcI111I)))
    (ite (is-result_error@nsmain__testschedulerI34I @tmpvar@87)
      @tmpvar@87
      (let ((_tmp_0I65I (result_success_value@nsmain__testschedulerI34I @tmpvar@87)))
        (let ((schI171I _tmp_0I65I))
          (let ((___ir_ret__I66I schI171I))
            (let (($return ___ir_ret__I66I))
              (result_success@nsmain__testschedulerI34I $return)
            )
          )
        )
      )
    )
  ))
(define-fun fn__fibersched_bsq_140__3685I177I () Result@String 
(let ((___ir_ret__I66I "R3"))
    (let (($return ___ir_ret__I66I))
      (result_success@String $return)
    )
  ))
(define-fun nsmain__func__enqueue_fibersched_bsq_140_0_I178I () Result@bsq_record 
(let ((@tmpvar@88 fn__fibersched_bsq_140__3685I177I))
    (ite (is-result_error@String @tmpvar@88)
      (result_error@bsq_record (result_error_code@String @tmpvar@88))
      (let ((_tmp_1I69I (result_success_value@String @tmpvar@88)))
        (let ((_tmp_0I65I (bsq_record@cons (StructuralSpecialTypeInfo@cons false true true) (store bsqrecord_array_empty "lf" (bsqterm_key (bsqkey_string _tmp_1I69I))))))
          (let ((___ir_ret__I66I _tmp_0I65I))
            (let (($return ___ir_ret__I66I))
              (result_success@bsq_record $return)
            )
          )
        )
      )
    )
  ))
(define-fun nscore__map__s_size_k_nscore__int__v_nscore__list_nsmain__func__I179I ((mI76I nscore__map_k_nscore__int__v_nscore__list_nsmain__func__I23I)) Int 
  (nscore__map_k_nscore__int__v_nscore__list_nsmain__func__I23I@@size mI76I)
)
(define-fun nscore__map__empty_k_nscore__int__v_nscore__list_nsmain__func__I180I ((thisI79I nscore__map_k_nscore__int__v_nscore__list_nsmain__func__I23I)) Result@Bool 
(let ((_tmp_1I69I (nscore__map__s_size_k_nscore__int__v_nscore__list_nsmain__func__I179I thisI79I)))
    (let ((_tmp_0I65I (= _tmp_1I69I 0)))
      (let ((___ir_ret__I66I _tmp_0I65I))
        (let (($return ___ir_ret__I66I))
          (result_success@Bool $return)
        )
      )
    )
  ))
(define-fun nsmain__testscheduler__runI181I ((thisI79I nsmain__testschedulerI34I)) Result@nsmain__testschedulerI34I 
(let ((_tmp_2I104I (nsmain__testschedulerI34I@nsmain__testscheduler_timelineI37I thisI79I)))
    (let ((@tmpvar@89 (nscore__map__empty_k_nscore__int__v_nscore__list_nsmain__func__I180I _tmp_2I104I)))
      (ite (is-result_error@Bool @tmpvar@89)
        (result_error@nsmain__testschedulerI34I (result_error_code@Bool @tmpvar@89))
        (let ((_tmp_3I62I (result_success_value@Bool @tmpvar@89)))
          (ite _tmp_3I62I
            (let ((_tmp_6I64I (nsmain__testschedulerI34I@cons (nsmain__testschedulerI34I@nsmain__testscheduler_nowI35I thisI79I) (nsmain__testschedulerI34I@nsmain__testscheduler_currenttimeI36I thisI79I) (nsmain__testschedulerI34I@nsmain__testscheduler_timelineI37I thisI79I) false (nsmain__testschedulerI34I@nsmain__testscheduler_runlistI39I thisI79I) (nsmain__testschedulerI34I@nsmain__testscheduler_sortedtasksI40I thisI79I))))
              (let ((___ir_ret___1I74I _tmp_6I64I))
                (let ((___ir_ret___2I75I ___ir_ret___1I74I))
                  (let (($return ___ir_ret___2I75I))
                    (result_success@nsmain__testschedulerI34I $return)
                  )
                )
              )
            )
            (let ((_tmp_13I98I (nsmain__testschedulerI34I@nsmain__testscheduler_nowI35I thisI79I)))
              (let ((_tmp_16I99I (nsmain__testschedulerI34I@nsmain__testscheduler_sortedtasksI40I thisI79I)))
                (let ((_tmp_17I140I (nscore__list_t__func_nsmain__func__time_nscore__int__I15I@cons 0 nscore__list_t__func_nsmain__func__time_nscore__int___collection_data_array_emptyI16I)))
                  (let ((_tmp_10I100I (nsmain__testschedulerI34I@cons (nsmain__testschedulerI34I@nsmain__testscheduler_nowI35I thisI79I) _tmp_13I98I (nsmain__testschedulerI34I@nsmain__testscheduler_timelineI37I thisI79I) (nsmain__testschedulerI34I@nsmain__testscheduler_runningI38I thisI79I) _tmp_16I99I _tmp_17I140I)))
                    (let ((rI172I _tmp_10I100I))
                      (let ((___ir_ret__I66I rI172I))
                        (let ((___ir_ret___2I75I ___ir_ret__I66I))
                          (let (($return ___ir_ret___2I75I))
                            (result_success@nsmain__testschedulerI34I $return)
                          )
                        )
                      )
                    )
                  )
                )
              )
            )
          )
        )
      )
    )
  ))
(define-fun nsmain__testscheduler__utcnowI182I ((thisI79I nsmain__testschedulerI34I)) Result@Int 
(let ((_tmp_2I104I (nsmain__testschedulerI34I@nsmain__testscheduler_currenttimeI36I thisI79I)))
    (let ((___ir_ret__I66I _tmp_2I104I))
      (let (($return ___ir_ret__I66I))
        (result_success@Int $return)
      )
    )
  ))
(define-fun nscore__list__get_t__func_nsmain__func__time_nscore__int____pre__llogic_done_3I183I ((_tmp_0_2I146I Bool)) Result@Bool 
(let ((___ir_ret__I66I _tmp_0_2I146I))
    (let (($return ___ir_ret__I66I))
      (result_success@Bool $return)
    )
  ))
(define-fun nscore__list__get_t__func_nsmain__func__time_nscore__int____preI184I ((thisI79I nscore__list_t__func_nsmain__func__time_nscore__int__I15I) (iI83I Int)) Result@Bool 
(let ((_tmp_1I69I (or (< 0 iI83I) (= 0 iI83I))))
    (ite _tmp_1I69I
      (let ((_tmp_6I64I (nscore__list__s_size_t__func_nsmain__func__time_nscore__int__I82I thisI79I)))
        (let ((_tmp_4I95I (< iI83I _tmp_6I64I)))
          (let ((_tmp_0_1I73I _tmp_4I95I))
            (let ((@tmpvar@90 (nscore__list__get_t__func_nsmain__func__time_nscore__int____pre__llogic_done_3I183I _tmp_0_1I73I)))
              (ite (is-result_error@Bool @tmpvar@90)
                @tmpvar@90
                (let ((_tmp_100001I150I (result_success_value@Bool @tmpvar@90)))
                  (let (($return _tmp_100001I150I))
                    (result_success@Bool $return)
                  )
                )
              )
            )
          )
        )
      )
      (let ((_tmp_0I65I false))
        (let ((@tmpvar@91 (nscore__list__get_t__func_nsmain__func__time_nscore__int____pre__llogic_done_3I183I _tmp_0I65I)))
          (ite (is-result_error@Bool @tmpvar@91)
            @tmpvar@91
            (let ((_tmp_100000I151I (result_success_value@Bool @tmpvar@91)))
              (let (($return _tmp_100000I151I))
                (result_success@Bool $return)
              )
            )
          )
        )
      )
    )
  ))
(define-fun nscore__list__get_t__func_nsmain__func__time_nscore__int__I185I ((thisI79I nscore__list_t__func_nsmain__func__time_nscore__int__I15I) (iI83I Int)) Result@bsq_record 
(let ((@tmpvar@92 (nscore__list__get_t__func_nsmain__func__time_nscore__int____preI184I thisI79I iI83I)))
    (ite (is-result_error@Bool @tmpvar@92)
      (result_error@bsq_record (result_error_code@Bool @tmpvar@92))
      (let ((_tmp_0I65I (result_success_value@Bool @tmpvar@92)))
        (ite _tmp_0I65I
          (let ((_tmp_1I69I (nscore__list__s_unsafe_get_t__func_nsmain__func__time_nscore__int__I84I thisI79I iI83I)))
            (let ((___ir_ret__I66I _tmp_1I69I))
              (let (($return ___ir_ret__I66I))
                (result_success@bsq_record $return)
              )
            )
          )
          (result_error@bsq_record (result_error 3))
        )
      )
    )
  ))
(define-fun nsmain__func__exeI186I ((thisI79I nsmain__funcI20I)) Result@String 
(let ((_tmp_2I104I (nsmain__funcI20I@nsmain__func_lfI33I thisI79I)))
    (let ((___ir_ret__I66I _tmp_2I104I))
      (let (($return ___ir_ret__I66I))
        (result_success@String $return)
      )
    )
  ))
(define-fun nsmain__mainI187I () Result@BTerm 
(let ((@tmpvar@93 nsmain__testscheduler__newI61I))
    (ite (is-result_error@bsq_record @tmpvar@93)
      (result_error@BTerm (result_error_code@bsq_record @tmpvar@93))
      (let ((_tmp_2I104I (result_success_value@bsq_record @tmpvar@93)))
        (let ((_tmp_3I62I (bsqkey_int_value (bsqterm_key_value (select (bsq_record_entries _tmp_2I104I) "currentTime")))))
          (let ((_tmp_4I95I (bsqkey_int_value (bsqterm_key_value (select (bsq_record_entries _tmp_2I104I) "now")))))
            (let ((_tmp_5I63I (bsqterm_object_nscore__list_t__func_nsmain__func__time_nscore__int__I15I_value (bsqterm_object_value (select (bsq_record_entries _tmp_2I104I) "runlist")))))
              (let ((_tmp_6I64I (bsqkey_bool_value (bsqterm_key_value (select (bsq_record_entries _tmp_2I104I) "running")))))
                (let ((_tmp_7I97I (bsqterm_object_nscore__list_t__func_nsmain__func__time_nscore__int__I15I_value (bsqterm_object_value (select (bsq_record_entries _tmp_2I104I) "sortedTasks")))))
                  (let ((_tmp_8I144I (bsqterm_object_nscore__map_k_nscore__int__v_nscore__list_nsmain__func__I23I_value (bsqterm_object_value (select (bsq_record_entries _tmp_2I104I) "timeline")))))
                    (let ((_tmp_1I69I (nsmain__testschedulerI34I@cons _tmp_4I95I _tmp_3I62I _tmp_8I144I _tmp_6I64I _tmp_5I63I _tmp_7I97I)))
                      (let ((@tmpvar@94 nsmain__func__enqueue_fibersched_bsq_138_0_I68I))
                        (ite (is-result_error@bsq_record @tmpvar@94)
                          (result_error@BTerm (result_error_code@bsq_record @tmpvar@94))
                          (let ((_tmp_12I131I (result_success_value@bsq_record @tmpvar@94)))
                            (let ((_tmp_13I98I (bsqkey_string_value (bsqterm_key_value (select (bsq_record_entries _tmp_12I131I) "lf")))))
                              (let ((_tmp_10I100I (nsmain__funcI20I@cons _tmp_13I98I)))
                                (let ((@tmpvar@95 (nsmain__func____invariantI72I (nsmain__funcI20I@nsmain__func_lfI33I _tmp_10I100I))))
                                  (ite (is-result_error@Bool @tmpvar@95)
                                    (result_error@BTerm (result_error_code@Bool @tmpvar@95))
                                    (let ((_tmp_14I165I (result_success_value@Bool @tmpvar@95)))
                                      (ite _tmp_14I165I
                                        (let ((@tmpvar@96 (nsmain__testscheduler__scheduleI170I _tmp_1I69I _tmp_10I100I)))
                                          (ite (is-result_error@nsmain__testschedulerI34I @tmpvar@96)
                                            (result_error@BTerm (result_error_code@nsmain__testschedulerI34I @tmpvar@96))
                                            (let ((_tmp_9I164I (result_success_value@nsmain__testschedulerI34I @tmpvar@96)))
                                              (let ((_tmp_16I99I 18))
                                                (let ((@tmpvar@97 nsmain__func__enqueue_fibersched_bsq_139_0_I174I))
                                                  (ite (is-result_error@bsq_record @tmpvar@97)
                                                    (result_error@BTerm (result_error_code@bsq_record @tmpvar@97))
                                                    (let ((_tmp_19I133I (result_success_value@bsq_record @tmpvar@97)))
                                                      (let ((_tmp_20I102I (bsqkey_string_value (bsqterm_key_value (select (bsq_record_entries _tmp_19I133I) "lf")))))
                                                        (let ((_tmp_17I140I (nsmain__funcI20I@cons _tmp_20I102I)))
                                                          (let ((@tmpvar@98 (nsmain__func____invariantI72I (nsmain__funcI20I@nsmain__func_lfI33I _tmp_17I140I))))
                                                            (ite (is-result_error@Bool @tmpvar@98)
                                                              (result_error@BTerm (result_error_code@Bool @tmpvar@98))
                                                              (let ((_tmp_21I166I (result_success_value@Bool @tmpvar@98)))
                                                                (ite _tmp_21I166I
                                                                  (let ((@tmpvar@99 (nsmain__testscheduler__delayI176I _tmp_9I164I _tmp_16I99I _tmp_17I140I)))
                                                                    (ite (is-result_error@nsmain__testschedulerI34I @tmpvar@99)
                                                                      (result_error@BTerm (result_error_code@nsmain__testschedulerI34I @tmpvar@99))
                                                                      (let ((_tmp_15I134I (result_success_value@nsmain__testschedulerI34I @tmpvar@99)))
                                                                        (let ((_tmp_23I167I 2))
                                                                          (let ((@tmpvar@100 nsmain__func__enqueue_fibersched_bsq_140_0_I178I))
                                                                            (ite (is-result_error@bsq_record @tmpvar@100)
                                                                              (result_error@BTerm (result_error_code@bsq_record @tmpvar@100))
                                                                              (let ((_tmp_26I136I (result_success_value@bsq_record @tmpvar@100)))
                                                                                (let ((_tmp_27I188I (bsqkey_string_value (bsqterm_key_value (select (bsq_record_entries _tmp_26I136I) "lf")))))
                                                                                  (let ((_tmp_24I101I (nsmain__funcI20I@cons _tmp_27I188I)))
                                                                                    (let ((@tmpvar@101 (nsmain__func____invariantI72I (nsmain__funcI20I@nsmain__func_lfI33I _tmp_24I101I))))
                                                                                      (ite (is-result_error@Bool @tmpvar@101)
                                                                                        (result_error@BTerm (result_error_code@Bool @tmpvar@101))
                                                                                        (let ((_tmp_28I169I (result_success_value@Bool @tmpvar@101)))
                                                                                          (ite _tmp_28I169I
                                                                                            (let ((@tmpvar@102 (nsmain__testscheduler__delayI176I _tmp_15I134I _tmp_23I167I _tmp_24I101I)))
                                                                                              (ite (is-result_error@nsmain__testschedulerI34I @tmpvar@102)
                                                                                                (result_error@BTerm (result_error_code@nsmain__testschedulerI34I @tmpvar@102))
                                                                                                (let ((_tmp_22I137I (result_success_value@nsmain__testschedulerI34I @tmpvar@102)))
                                                                                                  (let ((@tmpvar@103 (nsmain__testscheduler__runI181I _tmp_22I137I)))
                                                                                                    (ite (is-result_error@nsmain__testschedulerI34I @tmpvar@103)
                                                                                                      (result_error@BTerm (result_error_code@nsmain__testschedulerI34I @tmpvar@103))
                                                                                                      (let ((_tmp_29I189I (result_success_value@nsmain__testschedulerI34I @tmpvar@103)))
                                                                                                        (let ((sI190I _tmp_29I189I))
                                                                                                          (let ((@tmpvar@104 (nsmain__testscheduler__utcnowI182I sI190I)))
                                                                                                            (ite (is-result_error@Int @tmpvar@104)
                                                                                                              (result_error@BTerm (result_error_code@Int @tmpvar@104))
                                                                                                              (let ((_tmp_30I191I (result_success_value@Int @tmpvar@104)))
                                                                                                                (let ((currenttimeI192I _tmp_30I191I))
                                                                                                                  (let ((_tmp_36I193I (nsmain__testschedulerI34I@nsmain__testscheduler_nowI35I sI190I)))
                                                                                                                    (let ((_tmp_32I115I (= currenttimeI192I _tmp_36I193I)))
                                                                                                                      (ite _tmp_32I115I
                                                                                                                        (let ((_tmp_40I194I (nsmain__testschedulerI34I@nsmain__testscheduler_runlistI39I sI190I)))
                                                                                                                          (let ((@tmpvar@105 (nscore__list__get_t__func_nsmain__func__time_nscore__int__I185I _tmp_40I194I 0)))
                                                                                                                            (ite (is-result_error@bsq_record @tmpvar@105)
                                                                                                                              (result_error@BTerm (result_error_code@bsq_record @tmpvar@105))
                                                                                                                              (let ((_tmp_41I195I (result_success_value@bsq_record @tmpvar@105)))
                                                                                                                                (let ((_tmp_43I196I (bsqterm_object_nsmain__funcI20I_value (bsqterm_object_value (select (bsq_record_entries _tmp_41I195I) "func")))))
                                                                                                                                  (let ((@tmpvar@106 (nsmain__func__exeI186I _tmp_43I196I)))
                                                                                                                                    (ite (is-result_error@String @tmpvar@106)
                                                                                                                                      (result_error@BTerm (result_error_code@String @tmpvar@106))
                                                                                                                                      (let ((_tmp_44I197I (result_success_value@String @tmpvar@106)))
                                                                                                                                        (let ((_tmp_37I118I (= _tmp_44I197I "R1")))
                                                                                                                                          (ite _tmp_37I118I
                                                                                                                                            (let ((_tmp_49I198I (nsmain__testschedulerI34I@nsmain__testscheduler_runlistI39I sI190I)))
                                                                                                                                              (let ((@tmpvar@107 (nscore__list__get_t__func_nsmain__func__time_nscore__int__I185I _tmp_49I198I 1)))
                                                                                                                                                (ite (is-result_error@bsq_record @tmpvar@107)
                                                                                                                                                  (result_error@BTerm (result_error_code@bsq_record @tmpvar@107))
                                                                                                                                                  (let ((_tmp_50I124I (result_success_value@bsq_record @tmpvar@107)))
                                                                                                                                                    (let ((_tmp_52I199I (bsqterm_object_nsmain__funcI20I_value (bsqterm_object_value (select (bsq_record_entries _tmp_50I124I) "func")))))
                                                                                                                                                      (let ((@tmpvar@108 (nsmain__func__exeI186I _tmp_52I199I)))
                                                                                                                                                        (ite (is-result_error@String @tmpvar@108)
                                                                                                                                                          (result_error@BTerm (result_error_code@String @tmpvar@108))
                                                                                                                                                          (let ((_tmp_53I200I (result_success_value@String @tmpvar@108)))
                                                                                                                                                            (let ((_tmp_46I122I (= _tmp_53I200I "R3")))
                                                                                                                                                              (ite _tmp_46I122I
                                                                                                                                                                (let ((_tmp_58I201I (nsmain__testschedulerI34I@nsmain__testscheduler_runlistI39I sI190I)))
                                                                                                                                                                  (let ((@tmpvar@109 (nscore__list__get_t__func_nsmain__func__time_nscore__int__I185I _tmp_58I201I 2)))
                                                                                                                                                                    (ite (is-result_error@bsq_record @tmpvar@109)
                                                                                                                                                                      (result_error@BTerm (result_error_code@bsq_record @tmpvar@109))
                                                                                                                                                                      (let ((_tmp_59I202I (result_success_value@bsq_record @tmpvar@109)))
                                                                                                                                                                        (let ((_tmp_61I203I (bsqterm_object_nsmain__funcI20I_value (bsqterm_object_value (select (bsq_record_entries _tmp_59I202I) "func")))))
                                                                                                                                                                          (let ((@tmpvar@110 (nsmain__func__exeI186I _tmp_61I203I)))
                                                                                                                                                                            (ite (is-result_error@String @tmpvar@110)
                                                                                                                                                                              (result_error@BTerm (result_error_code@String @tmpvar@110))
                                                                                                                                                                              (let ((_tmp_62I204I (result_success_value@String @tmpvar@110)))
                                                                                                                                                                                (let ((_tmp_55I205I (= _tmp_62I204I "R2")))
                                                                                                                                                                                  (ite _tmp_55I205I
                                                                                                                                                                                    (let ((_tmp_67I206I (nsmain__testschedulerI34I@nsmain__testscheduler_runlistI39I sI190I)))
                                                                                                                                                                                      (let ((_tmp_64I207I (bsq_tuple@cons (StructuralSpecialTypeInfo@cons false false false) (store (store bsqtuple_array_empty 0 (bsqterm_object MIRNominalTypeEnum_nscore__list_t__func_nsmain__func__time_nscore__int__I15I (cons@bsq_object_from_nscore__list_t__func_nsmain__func__time_nscore__int__I15I _tmp_67I206I))) 1 (bsqterm_key (bsqkey_int currenttimeI192I))))))
                                                                                                                                                                                        (let ((___ir_ret__I66I _tmp_64I207I))
                                                                                                                                                                                          (let (($return (bsqterm_tuple ___ir_ret__I66I)))
                                                                                                                                                                                            (result_success@BTerm $return)
                                                                                                                                                                                          )
                                                                                                                                                                                        )
                                                                                                                                                                                      )
                                                                                                                                                                                    )
                                                                                                                                                                                    (result_error@BTerm (result_error 6))
                                                                                                                                                                                  )
                                                                                                                                                                                )
                                                                                                                                                                              )
                                                                                                                                                                            )
                                                                                                                                                                          )
                                                                                                                                                                        )
                                                                                                                                                                      )
                                                                                                                                                                    )
                                                                                                                                                                  )
                                                                                                                                                                )
                                                                                                                                                                (result_error@BTerm (result_error 7))
                                                                                                                                                              )
                                                                                                                                                            )
                                                                                                                                                          )
                                                                                                                                                        )
                                                                                                                                                      )
                                                                                                                                                    )
                                                                                                                                                  )
                                                                                                                                                )
                                                                                                                                              )
                                                                                                                                            )
                                                                                                                                            (result_error@BTerm (result_error 8))
                                                                                                                                          )
                                                                                                                                        )
                                                                                                                                      )
                                                                                                                                    )
                                                                                                                                  )
                                                                                                                                )
                                                                                                                              )
                                                                                                                            )
                                                                                                                          )
                                                                                                                        )
                                                                                                                        (result_error@BTerm (result_error 9))
                                                                                                                      )
                                                                                                                    )
                                                                                                                  )
                                                                                                                )
                                                                                                              )
                                                                                                            )
                                                                                                          )
                                                                                                        )
                                                                                                      )
                                                                                                    )
                                                                                                  )
                                                                                                )
                                                                                              )
                                                                                            )
                                                                                            (result_error@BTerm (result_error 10))
                                                                                          )
                                                                                        )
                                                                                      )
                                                                                    )
                                                                                  )
                                                                                )
                                                                              )
                                                                            )
                                                                          )
                                                                        )
                                                                      )
                                                                    )
                                                                  )
                                                                  (result_error@BTerm (result_error 11))
                                                                )
                                                              )
                                                            )
                                                          )
                                                        )
                                                      )
                                                    )
                                                  )
                                                )
                                              )
                                            )
                                          )
                                        )
                                        (result_error@BTerm (result_error 12))
                                      )
                                    )
                                  )
                                )
                              )
                            )
                          )
                        )
                      )
                    )
                  )
                )
              )
            )
          )
        )
      )
    )
  ))



(declare-const @smtres@ Result@BTerm)
(assert (= @smtres@ nsmain__mainI187I))
(assert (not (and (is-result_error@BTerm @smtres@) (is-result_bmc (result_error_code@BTerm @smtres@)))))
(assert (is-result_error@BTerm @smtres@))

(check-sat)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment