In [23]:
using SemanticModels
using Random
using LightGraphs
using MetaGraphs
using DataFrames
using GraphPlot
using DifferentialEquations
using Plots

Dynamic Analysis and Dataflow Graph Construction for Type Disambiguation

Our objective in this task is to ingest the main method of a program, and recursively enumerate: (1) the set of subroutines, S = {s | s is called by main} that main calls; (2) the set of variables that main interacts with (as args, or in the form of locally scoped assignment statements), V = {v | v is passed to main, or is a local variable inside of main}; (3) the set of sub-subroutines (e.g., subroutines called by each sub-routine called by main), $S_{sr}$ = {s.sr | s.sr called by s; $s \in S$}; and (4) the set of variables that the set of methods, $S$, interacts with, which may be global (w/respect to main) or local (w/respect to S) in scope, $V_{sr}$ = {s.sr.v | v is passed to an s.sr $\in S_{sr}$, or is a local variable inside of an s.sr $\in S_{sr}$}.

Our hypothesis is that if we extract method -> subroutine calls, and method -> variable interactions, and use the union of these tuples and their associated metadata to construct a (directed) dataflow graph, we can use this graph to identify patterns in method call stacks, variable co-location, and different variables whose types are the same in the program as it is currently written, and as such, are candidates for type disambiguation vis-a-vis struct creation.

A basic workflow that this type of formalization can support would be:

Let $C$ be a class of models and $f$ be an oracle that determines $f(m) = true \iff m \in C$. Define a function swap(m, a, b) that takes the model $m$ and swaps all occurances of the value $a$ with the value $b$. If f(swap(m,a,b)) = f(m) then $a$ and $b$ are interchangeable.

  1. For a given program $p_1$, identify/detect potentially ambiguous types.
  2. For all elements of a given data type, perform pairwise swaps, and observe whether oracle still returns true.
    • Note that we assume here that we're able to filter the set of candidate data types, to avoid (in most cases) primitive-level swaps.
  3. Transform $p_1$ to $p_2$ by introducing structs and/or more precise data types to resolve ambiguities.
    • Most likely a human (expert)-in-the-loop process, where we programatically generate viable stubs, and the scientist fills in these stubs with implementations.
  4. If we iteratively apply step one to $p_2$, the ambiguities we initially detected will have been resolved, and will not be identified as candidates for type disambiguation.

This workflow touches on validation-related tasks in that we should expect some swaps to result in alterations to programs that do not halt execution, but do meaningfully alter results. Ideally, we'd be able to flag inappropriate swaps of this nature by observing cases where the results represent marked deviations from previously observed values/outputs.

For demonstration purposes, we begin by defining a set of extraction, graph construction, and graph visualization methods. We then provide example programs to illustrate how to apply this analytical pipeline.

1. Define Structs and Code Annotation Methods

The data structures and methods defined below are intended to facilitate the annotation of our input "program" via injection (e.g., we insert data structures into the toy methods defined above for the purpose of extracting information that we can use to build the dataflow graph, including directed relationships of the types: method -calls-> method; method -interacts_with-> variable; method -returns-> variable; and variable -takes-> value).

In [32]:
"""
Struct to hold a single method, its args, and its caller method, when recovered from parsing a program's AST.
"""
mutable struct Method{name, args, expression, called_by}
    name::name
    args::args
    expression::expression
    called_by::called_by
end

"""
Struct to hold declared methods extracted from parsing a program's AST.
"""
mutable struct DeclaredMethodsCollector{declared_methods}
    declared_methods::declared_methods
end

"""
Struct to hold called methods extracted from parsing a program's AST.
"""
mutable struct CalledMethodsCollector{called_methods}
    called_methods::called_methods
end

"""
Struct to hold a single variable with its current (updateable) value(s), along with the function performing i/o related operation with this variable.
Note that a single variable can be interact with (e.g., be passed as args to, be instantiated/modified by, and/or be returned by, multiple functions)
"""
mutable struct Variable{name, cur_val, read_write_by}
    name::name
    cur_val::cur_val
    read_write_by::read_write_by
end

"""
    set_val!(v::Variable, new_val::Any)
A method to update the "current value" of a Variable struct as a value modification (e.g., assignment or math operation) is encountered in the code.
"""
set_val!(v::Variable, new_val::Any) = (v.cur_val = new_val)


"""
Struct to hold called variables extracted from parsing and evaling a program's AST.
"""
mutable struct VariableCollector{vars}
    vars::vars
end
Out[32]:
VariableCollector
In [33]:
"""
    get_all_top_level_signatures(expr_to_parse::Expr, expr_name::String, decl_methods_col::DeclaredMethodsCollector, called_methods_col::CalledMethodsCollector)
Take a Julia program (wrapped in quote), parses the AST, and recover all top level method signatures from declared and called methods.
"""
function get_all_top_level_signatures(expr_to_parse::Expr, expr_name::String, decl_methods_col::DeclaredMethodsCollector, called_methods_col::CalledMethodsCollector)
    
    for ex in expr_to_parse.args
        
        if isa(ex, LineNumberNode)
            continue
        end
        
        if ex.head == :function
            
            # the first arg of each function expression will be the function call 
            signature = ex.args[1]
            
            # the remainder of the expression args will be the args that are passed into the function
            args = signature.args[2:length(signature.args)]
            
            decl_method = Method(signature, args, ex, "$expr_name")
            push!(decl_methods_col.declared_methods, decl_method)
        end
        
        if (ex.head == :macrocall)
            
            # arg 1 is the :macrocall head; arg 2 is the line number 
            signature = ex.args[3]
            args = signature.args[2:length(signature.args)]
            called_method = Method(signature, args, Expr(:call, signature, args...), "$expr_name")
            push!(called_methods_col.called_methods, called_method)
        end

    end

    return decl_methods_col, called_methods_col
    
end
Out[33]:
get_all_top_level_signatures
In [34]:
"""
    collect_method_info(expr_to_parse::Expr)
Helper function that ingests an expression to parse, and outputs collector structs containing all declared and called methods
"""
function collect_method_info(expr_to_parse::Expr)
    
    delc_methods = DeclaredMethodsCollector(Method[])
    called_methods = CalledMethodsCollector(Method[])
    delc_methods, called_methods = get_all_top_level_signatures(expr_to_parse, "toy_expr",
        delc_methods, called_methods)
end
Out[34]:
collect_method_info
In [35]:
"""
    nametype(ex::Expr)
Returns the value and type of the expression
"""
nametype(ex::Expr) = begin
    ex.head == :(::) || error("$ex is not a type assertion")
    avar = ex.args[1]
    atyp = ex.args[2]
    return avar, atyp
end

nametype(s::Symbol) = (s, :Any)
Out[35]:
nametype (generic function with 2 methods)
In [36]:
"""
    collect_subroutine_calls(collector, subtree_root, caller_func)
Collects all first-level subroutine calls made by the caller_func. Note that this is (by design) not currently recursively applied. 
"""

function collect_subroutine_calls(collector, subtree_root, caller_func)

    if subtree_root.head == :call
        
        subroutine_name = subtree_root.args[1]
        sr_args = subtree_root.args[2:end]
        subroutine = Method(subroutine_name, sr_args, subtree_root, caller_func)
        push!(collector, subroutine)
    end    
end
Out[36]:
collect_subroutine_calls (generic function with 1 method)
In [37]:
"""
    describe_args(fu::Expr, collector::Array)
A function to inject variable collection commands into the Expr representation of the program so that when the program is evaled, variables (and their values) can be collected. 
"""
function describe_args(fu::Expr, collector::Array)
    f = fu
#     @show argl = f.args[1].args[2:end]
#     @show argl
#     @show body = f.args[2].args

    fname = string(f.args[1])
    
    for a in reverse(argl)
        avar, atyp = nametype(a)
        varname = string(avar)
        type_avar = typeof(avar)
        pushfirst!(body,
            :(println("F: ", $fname, "; ",
                $varname, " = ", $avar, " :: ", $type_avar, " <: ", $atyp))
        )
        
        variable_obj = Variable(varname, avar, fname)
        pushfirst!(body, :(push!($collector, $variable_obj)))

    end
    return f
end
Out[37]:
describe_args
In [38]:
"""
annotate_program(input_expr::Expr)
Takes a program (represented as an expression), and injects annotations such that first and second-level method calls, along with variable assignment statements, can be parsed/collected when the expression is evaled.  
"""
function annotate_program(input_expr::Expr)
    
    expr_to_annotate = copy(input_expr)
    declared, called = collect_method_info(expr_to_annotate)

    first_and_second_order_method_calls = CalledMethodsCollector([])
    program_level_variables = VariableCollector([])

    for method in declared.declared_methods
        
        f = method.expression
        
        describe_args(f, program_level_variables.vars)
        
        fname = string(f.args[1])
        func_obj = f.args[1]
        body = f.args[2].args
        
        # We want to put the top-level function call with its args into our called methods collector
        method_obj = Method(func_obj, body, func_obj, func_obj)
        pushfirst!(body, :(push!($first_and_second_order_method_calls.called_methods, $method_obj)))

        for ex in body
            
            if (isa(ex,LineNumberNode)) || (ex.head == :push!) || (ex.head == :println)
                continue
            end
            
            if ex.head == :(=) 
                a = ex.args[1]
                b = ex.args[2]
                varname = string(a)
                
                insert!(body, length(body)-1,:(println("A: ", $fname, "; " , $varname, " = ", $b)))
                insert!(body, length(body)-1,:(push!($program_level_variables.vars, Variable($varname, $b, $fname))))  

                # Collect second-level method calls
                if isa(b, Expr)
                    collect_subroutine_calls(first_and_second_order_method_calls.called_methods, b, func_obj)
                end

            end
            
           if ex.head in (:(*=), :(+=), :(-=), :(/=))
                
                a = ex.args[1]
                varname = string(a)
                b = ex.args[2]

                # The math op is the symbol right before the equals sign in the ex.head
                math_op = string(ex.head)[1] 
                
                insert!(body, length(body)-1,:(println("A: ", $fname, "; " , $varname, " = ", $varname, " ", $math_op, " ", $b, "; == ", $a)))
                insert!(body, length(body)-1,:(push!($program_level_variables.vars, Variable($varname, $a, $fname))))
                
                # Collect second-level method calls
                if isa(b, Expr)
                    collect_subroutine_calls(first_and_second_order_method_calls.called_methods, b, func_obj)
                end

            end
            
            # The last line is a return statement; we want to capture the method -returns-> variable relationship
            if ex.head == :return && isa(body[length(body)-1],LineNumberNode)
                return_vals = ex.args[1:end]
                
                # can catch all assgmts take lhs and print out values of lhs
                insert!(body, length(body), :(println("R: ", $fname, " returns ", $return_vals)))
                
                # When we're about to return, update the value attribute of each variable 
                for v in program_level_variables.vars                    
                    insert!(body, length(body), :(set_val!(v, v.name)))
                end
            end
            
            # We've reached the last line and this program doesn't contain a return statement; capture var values.
            if (ex == body[length(body)])
                
                if !(isa(body[length(body)-2], LineNumberNode)) && (body[length(body)-2].args[1] == :push!)

                    for v in program_level_variables.vars  
                        insert!(body, length(body), :(set_val!(v, v.name)))
                    end
                
                    break
                    
                end
            end
        end
    end    
    return expr_to_annotate, first_and_second_order_method_calls, program_level_variables
    
end
Out[38]:
annotate_program
In [39]:
# Graph construction helper methods
function create_vertex_metadata_dict(vertex_struct)
    
    meta_data = Dict()
    
    for f in fieldnames(typeof(vertex_struct))
        meta_data[f] = getfield(vertex_struct, f)
    end
    
    return meta_data
end

function get_method_calls_method_edges(called_methods)
    
    methods_df = DataFrame(caller=Expr[], callee=Expr[])
    
    for m in called_methods
        push!(methods_df, [m.called_by, m.expression])
    end
    
#     @show methods_df
    return methods_df
end

function get_method_rw_variable_edges(prog_variables)
    
    vars_df = DataFrame(method=String[], variable=String[])
    
    for v in prog_variables
        push!(vars_df, [v.read_write_by, v.name])
    end
    
#     @show vars_df
    return vars_df
end

function add_vertices!(vertices_to_add, g, counter)
    
    for x in vertices_to_add
        v_name = string(x.name)

        try
            g[string(v_name), :v_name] 
    
        catch error

            if isa(error, ErrorException) 
                
                meta_data = create_vertex_metadata_dict(x)
                v_name = string(meta_data[:name])
                vertex_props = Dict(:v_type=> typeof(x), :meta_data=> meta_data)

                add_vertex!(g)
                set_indexing_prop!(g, counter, :v_name, v_name)
                set_props!(g, counter, vertex_props)

                counter += 1
            end
        end

    end
    
    return g, counter
   
end

# need to be able to make this conditional on the array type (Eg methods vs variables)

function add_directed_edges!(g, edge_collector::CalledMethodsCollector, edge_type::String)
    
    for method_call in edge_collector.called_methods
        
        src_id = g[string(method_call.called_by.args[1]), :v_name]
        dst_id = g[string(method_call.name), :v_name]

        # Check if \e \in G; if Y, increment counter 
        if has_edge(g, src_id, dst_id)
            cur_freq = get_prop(g, Edge(src_id, dst_id), :weight)
            updated_props = Dict(:weight => cur_freq + 1, :type => edge_type)
            set_props!(g, Edge(src_id, dst_id), updated_props)
        else
            
            e_props = Dict(:weight => 1, :type => edge_type)
            add_edge!(g, Edge(src_id, dst_id))
            set_props!(g, Edge(src_id, dst_id), e_props)
        end
    end
end
    

function add_directed_edges!(g, edge_collector::VariableCollector, edge_type::String)
    
    for var in edge_collector.vars
            
        src_name = split(string(var.read_write_by), "(")[1]
        src_id = g["$src_name", :v_name]
        dst_id = g[string(var.name), :v_name]

        # Check if \e \in G; if Y, increment counter 
        if has_edge(g, src_id, dst_id)
            cur_freq = get_prop(g, Edge(src_id, dst_id), :weight)
            updated_props = Dict(:weight => cur_freq + 1, :type => edge_type)
            set_props!(g, Edge(src_id, dst_id), updated_props)
        else
            
            e_props = Dict(:weight => 1, :type => edge_type)
            add_edge!(g, Edge(src_id, dst_id))
            set_props!(g, Edge(src_id, dst_id), e_props)
        end
    end
end


function create_dataflow_graph(called_methods, prog_vars, m_df, v_df)
    
    g = MetaDiGraph()
    
    set_indexing_prop!(g, :v_name)
    
    # THIS HAS TO START AT ONE, NOT ZERO.
    counter = 1
    
    # Add the method vertices representing called methods
    g, counter = add_vertices!(called_methods.called_methods, g, counter) 
    
    # Add the caller methods
    callers = [v.called_by for v in called_methods.called_methods]
    caller_methods = [Method(c.args[1], c.args[2:end], c, :nothing) for c in callers]
    
    g, counter = add_vertices!(caller_methods, g, counter)

    # Add the variable vertices 
    g, counter = add_vertices!(prog_vars.vars, g, counter)
    
    # Add the method -calls-> method edges
    add_directed_edges!(g, called_methods, "calls")
    
    add_directed_edges!(g, prog_vars, "interacts_with")
    
    return g

end
Out[39]:
create_dataflow_graph (generic function with 1 method)
In [40]:
# Graph visualization helper method
function plot_dataflow_graph(g)
    println(ne(g))
    
    edge_labels = [(get_prop(g,e, :type),get_prop(g,e, :weight))  for e in edges(g)]

    vertex_labels = []
    
    for v in vertices(g)
        
        if get_prop(g,v, :v_type) <: Variable
            v_name = get_prop(g,v, :v_name)
            v_type = typeof(get_prop(g,v, :meta_data)[:cur_val])
            push!(vertex_labels, (string(v_name, "::", v_type)))
        else
            push!(vertex_labels, (get_prop(g,v, :v_name)))
        end
    end

    node_sizes = [LightGraphs.outdegree(g, v) + 3 for v in vertices(g)]
    
    # Our nodes either represent methods or variables 
    node_colors = [get_prop(g,v, :v_type) <: Variable ? "#6682E0" : "#D5635C"  for v in vertices(g)]
    node_strokes = [get_prop(g,v, :v_type) <: Variable ? "#4063D8" : "#CB3C33"  for v in vertices(g)]
    
    node_label_sizes = [LightGraphs.outdegree(g, v) for v in vertices(g)]
    
    layout=(args...)->spring_layout(args...; C=40)
    
    gplot(g, 
        edgelabel=edge_labels, 
        nodelabel=vertex_labels, 
        nodesize=node_sizes, 
        edgelabelsize=2.0, 
        nodelabelsize=2.5,
        #layout=stressmajorize_layout,
        layout=layout,
        nodefillc=node_colors,
        nodestrokec= node_strokes,
        nodestrokelw = 1.0,
        nodelabeldist=1.5, 
        nodelabelangleoffset=Ï€/4,
        NODELABELSIZE = 3.5,
        EDGELABELSIZE = 3.5)

end
Out[40]:
plot_dataflow_graph (generic function with 1 method)

2. Define Example Programs

To begin, we can define some toy methods with useful properties (e.g., sub-routine calls; recursive calls, empty args). We wrap our method declarations and calls in a quote so that we can parse the program (and its component pieces) as Expr objects; this allows us to traverse the ASTs.

In [41]:
sir_expr = quote
function sir_ode(du, u, p, t)
    #Infected per-Capita Rate
    β = p[1]
    #Recover per-capita rate
    γ = p[2]
    #Susceptible Individuals
    S = u[1]
    #Infected by Infected Individuals
    I = u[2]

    du[1] = -β * S * I
    du[2] = β * S * I - γ * I
    du[3] = γ * I
end
function sir_ode2(du,u,p,t)
    S,I,R = u
    b,g = p
    du[1] = -b*S*I
    du[2] = b*S*I-g*I
    du[3] = g*I
end
parms = [0.1,0.05]
init = [0.99,0.01,0.0]
tspan = (0.0,200.0)
sir_prob2 = ODEProblem(sir_ode2,init,tspan,parms)
@show sir_sol = solve(sir_prob2,saveat = 0.1)
end
Out[41]:
quote
    #= In[41]:2 =#
    function sir_ode(du, u, p, t)
        #= In[41]:4 =#
        β = p[1]
        #= In[41]:6 =#
        γ = p[2]
        #= In[41]:8 =#
        S = u[1]
        #= In[41]:10 =#
        I = u[2]
        #= In[41]:12 =#
        du[1] = -β * S * I
        #= In[41]:13 =#
        du[2] = β * S * I - γ * I
        #= In[41]:14 =#
        du[3] = γ * I
    end
    #= In[41]:16 =#
    function sir_ode2(du, u, p, t)
        #= In[41]:17 =#
        (S, I, R) = u
        #= In[41]:18 =#
        (b, g) = p
        #= In[41]:19 =#
        du[1] = -b * S * I
        #= In[41]:20 =#
        du[2] = b * S * I - g * I
        #= In[41]:21 =#
        du[3] = g * I
    end
    #= In[41]:23 =#
    parms = [0.1, 0.05]
    #= In[41]:24 =#
    init = [0.99, 0.01, 0.0]
    #= In[41]:25 =#
    tspan = (0.0, 200.0)
    #= In[41]:26 =#
    sir_prob2 = ODEProblem(sir_ode2, init, tspan, parms)
    #= In[41]:27 =#
    #= In[41]:27 =# @show sir_sol = solve(sir_prob2, saveat=0.1)
end
In [42]:
macro_parasite_expr = quote
function main()
# +
function macroParasiteModelFunction(dY,Y,p,t)
    #Host Birth Rate
    a = p[1]
    #Parasite Influence on host birth rate
    b = p[2]
    #Parasite induced host mortality
    α = p[3]
    #Parasite induced decrease in host reproduction
    β = p[4]
    #Intrinsic death rate of parasites
    μ = p[5]
    #dispersion aggregation parameter
    k = p[6]
    #Rate of production of new free-living stages
    λ = p[7]
    #Death Rate of Free-Living Stages
    γ = p[8]
    
    #Host Population
    H = Y[1]
    #Parasite Population
    P = Y[2]
    #Infective Stages
    W = Y[3]
    
dY[1] = (a-b)*H - α*P
dY[2] = β*H*W - (μ + α + b) * P - (α*((P^2)/H)*((k+1)/k)) 
dY[3] = λ*P - (γ*W) - (β*H*W)
end

# -

par=[1.4,1.05,0.0003,0.01,0.5,0.1,10.0,10.0]
init=[100.0,10.0,10.0]
tspan=(0.0,100.0)


macro_odeProblem = ODEProblem(macroParasiteModelFunction,init,tspan,par)


sol=solve(macro_odeProblem);
@show typeof(sol)

p = plot(sol,xlabel="Time",yscale=:log10)
end
@show main()
end
Out[42]:
quote
    #= In[42]:2 =#
    function main()
        #= In[42]:4 =#
        function macroParasiteModelFunction(dY, Y, p, t)
            #= In[42]:6 =#
            a = p[1]
            #= In[42]:8 =#
            b = p[2]
            #= In[42]:10 =#
            α = p[3]
            #= In[42]:12 =#
            β = p[4]
            #= In[42]:14 =#
            μ = p[5]
            #= In[42]:16 =#
            k = p[6]
            #= In[42]:18 =#
            λ = p[7]
            #= In[42]:20 =#
            γ = p[8]
            #= In[42]:23 =#
            H = Y[1]
            #= In[42]:25 =#
            P = Y[2]
            #= In[42]:27 =#
            W = Y[3]
            #= In[42]:29 =#
            dY[1] = (a - b) * H - α * P
            #= In[42]:30 =#
            dY[2] = (β * H * W - (μ + α + b) * P) - α * (P ^ 2 / H) * ((k + 1) / k)
            #= In[42]:31 =#
            dY[3] = (λ * P - γ * W) - β * H * W
        end
        #= In[42]:36 =#
        par = [1.4, 1.05, 0.0003, 0.01, 0.5, 0.1, 10.0, 10.0]
        #= In[42]:37 =#
        init = [100.0, 10.0, 10.0]
        #= In[42]:38 =#
        tspan = (0.0, 100.0)
        #= In[42]:41 =#
        macro_odeProblem = ODEProblem(macroParasiteModelFunction, init, tspan, par)
        #= In[42]:44 =#
        sol = solve(macro_odeProblem)
        #= In[42]:45 =#
        #= In[42]:45 =# @show typeof(sol)
        #= In[42]:47 =#
        p = plot(sol, xlabel="Time", yscale=:log10)
    end
    #= In[42]:49 =#
    #= In[42]:49 =# @show main()
end
In [43]:
# Let's define some toy functions with useful properties (e.g., sub-routine calls; recursive calls, empty args):
example_expr = quote 
    
function fib(n::Int64)
    if n <= 2
        return 1
    else 
        return fib(n-1) + fib(n-2)
    end
end

function circumference(r)
    circum = 2*pi*r
    return circum
end

function exp_decay(init_value, decay_rate, t)
    y = init_value(1-decay_rate)^t
    return y
end
    
function compute_circle_metrics(r)
    c = circumference(r)
    a = pi*r^2
    return c,a
end
    
function add_some_noise(x)
    rng = MersenneTwister(1234);
    x *= Base.randn(rng,1)
    return x
end
    
function combine_fib_and_circle(x::Int64)
    fib_res = fib(x)
    circum, area = compute_circle_metrics(fib_res)
    return circum, area
end

@show combine_fib_and_circle(7)
end
Out[43]:
quote
    #= In[43]:4 =#
    function fib(n::Int64)
        #= In[43]:5 =#
        if n <= 2
            #= In[43]:6 =#
            return 1
        else
            #= In[43]:8 =#
            return fib(n - 1) + fib(n - 2)
        end
    end
    #= In[43]:12 =#
    function circumference(r)
        #= In[43]:13 =#
        circum = 2 * pi * r
        #= In[43]:14 =#
        return circum
    end
    #= In[43]:17 =#
    function exp_decay(init_value, decay_rate, t)
        #= In[43]:18 =#
        y = init_value(1 - decay_rate) ^ t
        #= In[43]:19 =#
        return y
    end
    #= In[43]:22 =#
    function compute_circle_metrics(r)
        #= In[43]:23 =#
        c = circumference(r)
        #= In[43]:24 =#
        a = pi * r ^ 2
        #= In[43]:25 =#
        return (c, a)
    end
    #= In[43]:28 =#
    function add_some_noise(x)
        #= In[43]:29 =#
        rng = MersenneTwister(1234)
        #= In[43]:30 =#
        x *= Base.randn(rng, 1)
        #= In[43]:31 =#
        return x
    end
    #= In[43]:34 =#
    function combine_fib_and_circle(x::Int64)
        #= In[43]:35 =#
        fib_res = fib(x)
        #= In[43]:36 =#
        (circum, area) = compute_circle_metrics(fib_res)
        #= In[43]:37 =#
        return (circum, area)
    end
    #= In[43]:40 =#
    #= In[43]:40 =# @show combine_fib_and_circle(7)
end
In [44]:
# Let's define some toy functions with useful properties (e.g., sub-routine calls; recursive calls, empty args):
example_expr_fib = quote 
    
function fib(n::Int64)
    if n <= 2
        return 1
    else 
        return fib(n-1) + fib(n-2)
    end
end
function main(n::Int64)
    out = fib(n)
    return out
end
        
@show main(5)
end
Out[44]:
quote
    #= In[44]:4 =#
    function fib(n::Int64)
        #= In[44]:5 =#
        if n <= 2
            #= In[44]:6 =#
            return 1
        else
            #= In[44]:8 =#
            return fib(n - 1) + fib(n - 2)
        end
    end
    #= In[44]:11 =#
    function main(n::Int64)
        #= In[44]:12 =#
        out = fib(n)
        #= In[44]:13 =#
        return out
    end
    #= In[44]:16 =#
    #= In[44]:16 =# @show main(5)
end

3. Use code annotation script to collect metadata to build dataflow graph

In [ ]:
# First, let's run our annotation method on the example expression. 
# When we do this, we'll get back a revised (annotated) expression that can be evaluated to yield the information
# we can use to build the dataflow graph.

annotated_expr, first_and_second_order_calls, prog_vars = annotate_program(sir_expr)
#annotated_expr, first_and_second_order_calls, prog_vars = annotate_program(macro_parasite_expr)
#annotated_expr, first_and_second_order_calls, prog_vars = annotate_program(example_expr)
In [46]:
eval(annotated_expr)
F: sir_ode2(du, u, p, t); du = [0.0, 0.0, 0.0] :: Symbol <: Any
F: sir_ode2(du, u, p, t); u = [0.99, 0.01, 0.0] :: Symbol <: Any
F: sir_ode2(du, u, p, t); p = [0.1, 0.05] :: Symbol <: Any
F: sir_ode2(du, u, p, t); t = 0.0 :: Symbol <: Any
A: sir_ode2(du, u, p, t); (S, I, R) = [0.99, 0.01, 0.0]
A: sir_ode2(du, u, p, t); (b, g) = [0.1, 0.05]
A: sir_ode2(du, u, p, t); du[1] = -0.00099
A: sir_ode2(du, u, p, t); du[2] = 0.00049
A: sir_ode2(du, u, p, t); du[3] = 0.0005
F: sir_ode2(du, u, p, t); du = [0.0, 0.0, 0.0] :: Symbol <: Any
F: sir_ode2(du, u, p, t); u = [0.99, 0.01, 0.0] :: Symbol <: Any
F: sir_ode2(du, u, p, t); p = [0.1, 0.05] :: Symbol <: Any
F: sir_ode2(du, u, p, t); t = 0.0 :: Symbol <: Any
A: sir_ode2(du, u, p, t); (S, I, R) = [0.99, 0.01, 0.0]
A: sir_ode2(du, u, p, t); (b, g) = [0.1, 0.05]
A: sir_ode2(du, u, p, t); du[1] = -0.00099
A: sir_ode2(du, u, p, t); du[2] = 0.00049
A: sir_ode2(du, u, p, t); du[3] = 0.0005
F: sir_ode2(du, u, p, t); du = [0.0, 0.0, 0.0] :: Symbol <: Any
F: sir_ode2(du, u, p, t); u = [0.989973, 0.0100132, 1.34538e-5] :: Symbol <: Any
F: sir_ode2(du, u, p, t); p = [0.1, 0.05] :: Symbol <: Any
F: sir_ode2(du, u, p, t); t = 0.02690765807943082 :: Symbol <: Any
A: sir_ode2(du, u, p, t); (S, I, R) = [0.989973, 0.0100132, 1.34538e-5]
A: sir_ode2(du, u, p, t); (b, g) = [0.1, 0.05]
A: sir_ode2(du, u, p, t); du[1] = -0.0009912786167896243
A: sir_ode2(du, u, p, t); du[2] = 0.0004906193791666783
A: sir_ode2(du, u, p, t); du[3] = 0.000500659237622946
F: sir_ode2(du, u, p, t); du = [0.0, 0.0, 0.0] :: Symbol <: Any
F: sir_ode2(du, u, p, t); u = [0.98998, 0.0100101, 1.03127e-5] :: Symbol <: Any
F: sir_ode2(du, u, p, t); p = [0.1, 0.05] :: Symbol <: Any
F: sir_ode2(du, u, p, t); t = 0.02062530985317627 :: Symbol <: Any
A: sir_ode2(du, u, p, t); (S, I, R) = [0.98998, 0.0100101, 1.03127e-5]
A: sir_ode2(du, u, p, t); (b, g) = [0.1, 0.05]
A: sir_ode2(du, u, p, t); du[1] = -0.0009909800940879037
A: sir_ode2(du, u, p, t); du[2] = 0.0004904747739965009
A: sir_ode2(du, u, p, t); du[3] = 0.0005005053200914029
F: sir_ode2(du, u, p, t); du = [0.0, 0.0, 0.0] :: Symbol <: Any
F: sir_ode2(du, u, p, t); u = [0.989958, 0.0100205, 2.09673e-5] :: Symbol <: Any
F: sir_ode2(du, u, p, t); p = [0.1, 0.05] :: Symbol <: Any
F: sir_ode2(du, u, p, t); t = 0.04189115727943255 :: Symbol <: Any
A: sir_ode2(du, u, p, t); (S, I, R) = [0.989958, 0.0100205, 2.09673e-5]
A: sir_ode2(du, u, p, t); (b, g) = [0.1, 0.05]
A: sir_ode2(du, u, p, t); du[1] = -0.0009919925604316788
A: sir_ode2(du, u, p, t); du[2] = 0.0004909652068461538
A: sir_ode2(du, u, p, t); du[3] = 0.000501027353585525
F: sir_ode2(du, u, p, t); du = [0.0, 0.0, 0.0] :: Symbol <: Any
F: sir_ode2(du, u, p, t); u = [0.989886, 0.0100566, 5.78108e-5] :: Symbol <: Any
F: sir_ode2(du, u, p, t); p = [0.1, 0.05] :: Symbol <: Any
F: sir_ode2(du, u, p, t); t = 0.1152967631544015 :: Symbol <: Any
A: sir_ode2(du, u, p, t); (S, I, R) = [0.989886, 0.0100566, 5.78108e-5]
A: sir_ode2(du, u, p, t); (b, g) = [0.1, 0.05]
A: sir_ode2(du, u, p, t); du[1] = -0.0009954930465227707
A: sir_ode2(du, u, p, t); du[2] = 0.0004926606456353215
A: sir_ode2(du, u, p, t); du[3] = 0.0005028324008874493
F: sir_ode2(du, u, p, t); du = [0.0, 0.0, 0.0] :: Symbol <: Any
F: sir_ode2(du, u, p, t); u = [0.989875, 0.0100617, 6.29667e-5] :: Symbol <: Any
F: sir_ode2(du, u, p, t); p = [0.1, 0.05] :: Symbol <: Any
F: sir_ode2(du, u, p, t); t = 0.1255486363054794 :: Symbol <: Any
A: sir_ode2(du, u, p, t); (S, I, R) = [0.989875, 0.0100617, 6.29667e-5]
A: sir_ode2(du, u, p, t); (b, g) = [0.1, 0.05]
A: sir_ode2(du, u, p, t); du[1] = -0.0009959828188805025
A: sir_ode2(du, u, p, t); du[2] = 0.0004928978419647935
A: sir_ode2(du, u, p, t); du[3] = 0.000503084976915709
F: sir_ode2(du, u, p, t); du = [0.0, 0.0, 0.0] :: Symbol <: Any
F: sir_ode2(du, u, p, t); u = [0.989873, 0.010063, 6.4254e-5] :: Symbol <: Any
F: sir_ode2(du, u, p, t); p = [0.1, 0.05] :: Symbol <: Any
F: sir_ode2(du, u, p, t); t = 0.12810751461600167 :: Symbol <: Any
A: sir_ode2(du, u, p, t); (S, I, R) = [0.989873, 0.010063, 6.4254e-5]
A: sir_ode2(du, u, p, t); (b, g) = [0.1, 0.05]
A: sir_ode2(du, u, p, t); du[1] = -0.0009961051049009774
A: sir_ode2(du, u, p, t); du[2] = 0.0004929570641397504
A: sir_ode2(du, u, p, t); du[3] = 0.000503148040761227
F: sir_ode2(du, u, p, t); du = [-0.00099, 0.00049, 0.0005] :: Symbol <: Any
F: sir_ode2(du, u, p, t); u = [0.989873, 0.010063, 6.42552e-5] :: Symbol <: Any
F: sir_ode2(du, u, p, t); p = [0.1, 0.05] :: Symbol <: Any
F: sir_ode2(du, u, p, t); t = 0.12810751461600167 :: Symbol <: Any
A: sir_ode2(du, u, p, t); (S, I, R) = [0.989873, 0.010063, 6.42552e-5]
A: sir_ode2(du, u, p, t); (b, g) = [0.1, 0.05]
A: sir_ode2(du, u, p, t); du[1] = -0.0009961052123561112
A: sir_ode2(du, u, p, t); du[2] = 0.0004929571161611621
A: sir_ode2(du, u, p, t); du[3] = 0.0005031480961949491
F: sir_ode2(du, u, p, t); du = [-0.00099098, 0.000490475, 0.000500505] :: Symbol <: Any
F: sir_ode2(du, u, p, t); u = [0.989667, 0.0101646, 0.000168031] :: Symbol <: Any
F: sir_ode2(du, u, p, t); p = [0.1, 0.05] :: Symbol <: Any
F: sir_ode2(du, u, p, t); t = 0.3343606131477644 :: Symbol <: Any
A: sir_ode2(du, u, p, t); (S, I, R) = [0.989667, 0.0101646, 0.000168031]
A: sir_ode2(du, u, p, t); (b, g) = [0.1, 0.05]
A: sir_ode2(du, u, p, t); du[1] = -0.0010059608059953878
A: sir_ode2(du, u, p, t); du[2] = 0.0004977290131678627
A: sir_ode2(du, u, p, t); du[3] = 0.0005082317928275251
F: sir_ode2(du, u, p, t); du = [-0.000991993, 0.000490965, 0.000501027] :: Symbol <: Any
F: sir_ode2(du, u, p, t); u = [0.989451, 0.0102715, 0.000277215] :: Symbol <: Any
F: sir_ode2(du, u, p, t); p = [0.1, 0.05] :: Symbol <: Any
F: sir_ode2(du, u, p, t); t = 0.5470190874103271 :: Symbol <: Any
A: sir_ode2(du, u, p, t); (S, I, R) = [0.989451, 0.0102715, 0.000277215]
A: sir_ode2(du, u, p, t); (b, g) = [0.1, 0.05]
A: sir_ode2(du, u, p, t); du[1] = -0.0010163166709911038
A: sir_ode2(du, u, p, t); du[2] = 0.0005027407604299526
A: sir_ode2(du, u, p, t); du[3] = 0.0005135759105611512
F: sir_ode2(du, u, p, t); du = [-0.000995493, 0.000492661, 0.000502832] :: Symbol <: Any
F: sir_ode2(du, u, p, t); u = [0.988692, 0.0106471, 0.000661227] :: Symbol <: Any
F: sir_ode2(du, u, p, t); p = [0.1, 0.05] :: Symbol <: Any
F: sir_ode2(du, u, p, t); t = 1.2810751461600167 :: Symbol <: Any
A: sir_ode2(du, u, p, t); (S, I, R) = [0.988692, 0.0106471, 0.000661227]
A: sir_ode2(du, u, p, t); (b, g) = [0.1, 0.05]
A: sir_ode2(du, u, p, t); du[1] = -0.0010526722972494865
A: sir_ode2(du, u, p, t); du[2] = 0.0005203160772943486
A: sir_ode2(du, u, p, t); du[3] = 0.0005323562199551379
F: sir_ode2(du, u, p, t); du = [-0.000995983, 0.000492898, 0.000503085] :: Symbol <: Any
F: sir_ode2(du, u, p, t); u = [0.988583, 0.0107007, 0.000716106] :: Symbol <: Any
F: sir_ode2(du, u, p, t); p = [0.1, 0.05] :: Symbol <: Any
F: sir_ode2(du, u, p, t); t = 1.383593877670796 :: Symbol <: Any
A: sir_ode2(du, u, p, t); (S, I, R) = [0.988583, 0.0107007, 0.000716106]
A: sir_ode2(du, u, p, t); (b, g) = [0.1, 0.05]
A: sir_ode2(du, u, p, t); du[1] = -0.0010578575402060881
A: sir_ode2(du, u, p, t); du[2] = 0.0005228203306599559
A: sir_ode2(du, u, p, t); du[3] = 0.0005350372095461322
F: sir_ode2(du, u, p, t); du = [-0.000996105, 0.000492957, 0.000503148] :: Symbol <: Any
F: sir_ode2(du, u, p, t); u = [0.988556, 0.0107142, 0.000729843] :: Symbol <: Any
F: sir_ode2(du, u, p, t); p = [0.1, 0.05] :: Symbol <: Any
F: sir_ode2(du, u, p, t); t = 1.4091826607760183 :: Symbol <: Any
A: sir_ode2(du, u, p, t); (S, I, R) = [0.988556, 0.0107142, 0.000729843]
A: sir_ode2(du, u, p, t); (b, g) = [0.1, 0.05]
A: sir_ode2(du, u, p, t); du[1] = -0.0010591551772377388
A: sir_ode2(du, u, p, t); du[2] = 0.0005234469395432939
A: sir_ode2(du, u, p, t); du[3] = 0.0005357082376944449
F: sir_ode2(du, u, p, t); du = [-0.000996105, 0.000492957, 0.000503148] :: Symbol <: Any
F: sir_ode2(du, u, p, t); u = [0.988557, 0.0107138, 0.000729462] :: Symbol <: Any
F: sir_ode2(du, u, p, t); p = [0.1, 0.05] :: Symbol <: Any
F: sir_ode2(du, u, p, t); t = 1.4091826607760183 :: Symbol <: Any
A: sir_ode2(du, u, p, t); (S, I, R) = [0.988557, 0.0107138, 0.000729462]
A: sir_ode2(du, u, p, t); (b, g) = [0.1, 0.05]
A: sir_ode2(du, u, p, t); du[1] = -0.0010591218710941125
A: sir_ode2(du, u, p, t); du[2] = 0.000523430872234184
A: sir_ode2(du, u, p, t); du[3] = 0.0005356909988599285
F: sir_ode2(du, u, p, t); du = [-0.00100596, 0.000497729, 0.000508232] :: Symbol <: Any
F: sir_ode2(du, u, p, t); u = [0.987916, 0.0110306, 0.00105365] :: Symbol <: Any
F: sir_ode2(du, u, p, t); p = [0.1, 0.05] :: Symbol <: Any
F: sir_ode2(du, u, p, t); t = 2.014364854712506 :: Symbol <: Any
A: sir_ode2(du, u, p, t); (S, I, R) = [0.987916, 0.0110306, 0.00105365]
A: sir_ode2(du, u, p, t); (b, g) = [0.1, 0.05]
A: sir_ode2(du, u, p, t); du[1] = -0.0010897294667758435
A: sir_ode2(du, u, p, t); du[2] = 0.0005381999157342763
A: sir_ode2(du, u, p, t); du[3] = 0.0005515295510415671
F: sir_ode2(du, u, p, t); du = [-0.00101632, 0.000502741, 0.000513576] :: Symbol <: Any
F: sir_ode2(du, u, p, t); u = [0.987216, 0.0113758, 0.00140788] :: Symbol <: Any
F: sir_ode2(du, u, p, t); p = [0.1, 0.05] :: Symbol <: Any
F: sir_ode2(du, u, p, t); t = 2.6383415267215558 :: Symbol <: Any
A: sir_ode2(du, u, p, t); (S, I, R) = [0.987216, 0.0113758, 0.00140788]
A: sir_ode2(du, u, p, t); (b, g) = [0.1, 0.05]
A: sir_ode2(du, u, p, t); du[1] = -0.0011230398762282845
A: sir_ode2(du, u, p, t); du[2] = 0.0005542486771609017
A: sir_ode2(du, u, p, t); du[3] = 0.0005687911990673828
F: sir_ode2(du, u, p, t); du = [-0.00105267, 0.000520316, 0.000532356] :: Symbol <: Any
F: sir_ode2(du, u, p, t); u = [0.984657, 0.0126369, 0.00270585] :: Symbol <: Any
F: sir_ode2(du, u, p, t); p = [0.1, 0.05] :: Symbol <: Any
F: sir_ode2(du, u, p, t); t = 4.792188713837131 :: Symbol <: Any
A: sir_ode2(du, u, p, t); (S, I, R) = [0.984657, 0.0126369, 0.00270585]
A: sir_ode2(du, u, p, t); (b, g) = [0.1, 0.05]
A: sir_ode2(du, u, p, t); du[1] = -0.0012442991272172339
A: sir_ode2(du, u, p, t); du[2] = 0.0006124553561414016
A: sir_ode2(du, u, p, t); du[3] = 0.0006318437710758323
F: sir_ode2(du, u, p, t); du = [-0.00105786, 0.00052282, 0.000535037] :: Symbol <: Any
F: sir_ode2(du, u, p, t); u = [0.98427, 0.0128271, 0.00290254] :: Symbol <: Any
F: sir_ode2(du, u, p, t); p = [0.1, 0.05] :: Symbol <: Any
F: sir_ode2(du, u, p, t); t = 5.09299636859207 :: Symbol <: Any
A: sir_ode2(du, u, p, t); (S, I, R) = [0.98427, 0.0128271, 0.00290254]
A: sir_ode2(du, u, p, t); (b, g) = [0.1, 0.05]
A: sir_ode2(du, u, p, t); du[1] = -0.0012625370513066644
A: sir_ode2(du, u, p, t); du[2] = 0.0006211801898352866
A: sir_ode2(du, u, p, t); du[3] = 0.0006413568614713778
F: sir_ode2(du, u, p, t); du = [-0.00105916, 0.000523447, 0.000535708] :: Symbol <: Any
F: sir_ode2(du, u, p, t); u = [0.984173, 0.0128749, 0.0029519] :: Symbol <: Any
F: sir_ode2(du, u, p, t); p = [0.1, 0.05] :: Symbol <: Any
F: sir_ode2(du, u, p, t); t = 5.168078275288366 :: Symbol <: Any
A: sir_ode2(du, u, p, t); (S, I, R) = [0.984173, 0.0128749, 0.0029519]
A: sir_ode2(du, u, p, t); (b, g) = [0.1, 0.05]
A: sir_ode2(du, u, p, t); du[1] = -0.0012671109727033806
A: sir_ode2(du, u, p, t); du[2] = 0.0006233670937625838
A: sir_ode2(du, u, p, t); du[3] = 0.0006437438789407968
F: sir_ode2(du, u, p, t); du = [-0.00105912, 0.000523431, 0.000535691] :: Symbol <: Any
F: sir_ode2(du, u, p, t); u = [0.984197, 0.0128634, 0.00293922] :: Symbol <: Any
F: sir_ode2(du, u, p, t); p = [0.1, 0.05] :: Symbol <: Any
F: sir_ode2(du, u, p, t); t = 5.168078275288366 :: Symbol <: Any
A: sir_ode2(du, u, p, t); (S, I, R) = [0.984197, 0.0128634, 0.00293922]
A: sir_ode2(du, u, p, t); (b, g) = [0.1, 0.05]
A: sir_ode2(du, u, p, t); du[1] = -0.0012660085162553448
A: sir_ode2(du, u, p, t); du[2] = 0.0006228405482375045
A: sir_ode2(du, u, p, t); du[3] = 0.0006431679680178403
F: sir_ode2(du, u, p, t); du = [-0.00108973, 0.0005382, 0.00055153] :: Symbol <: Any
F: sir_ode2(du, u, p, t); u = [0.98301, 0.0134476, 0.00354254] :: Symbol <: Any
F: sir_ode2(du, u, p, t); p = [0.1, 0.05] :: Symbol <: Any
F: sir_ode2(du, u, p, t); t = 6.106134282820671 :: Symbol <: Any
A: sir_ode2(du, u, p, t); (S, I, R) = [0.98301, 0.0134476, 0.00354254]
A: sir_ode2(du, u, p, t); (b, g) = [0.1, 0.05]
A: sir_ode2(du, u, p, t); du[1] = -0.001321914146331582
A: sir_ode2(du, u, p, t); du[2] = 0.0006495332124132965
A: sir_ode2(du, u, p, t); du[3] = 0.0006723809339182856
F: sir_ode2(du, u, p, t); du = [-0.00112304, 0.000554249, 0.000568791] :: Symbol <: Any
F: sir_ode2(du, u, p, t); u = [0.981676, 0.0141022, 0.00422171] :: Symbol <: Any
F: sir_ode2(du, u, p, t); p = [0.1, 0.05] :: Symbol <: Any
F: sir_ode2(du, u, p, t); t = 7.073322464499941 :: Symbol <: Any
A: sir_ode2(du, u, p, t); (S, I, R) = [0.981676, 0.0141022, 0.00422171]
A: sir_ode2(du, u, p, t); (b, g) = [0.1, 0.05]
A: sir_ode2(du, u, p, t); du[1] = -0.0013843790326278581
A: sir_ode2(du, u, p, t); du[2] = 0.0006792691487993556
A: sir_ode2(du, u, p, t); du[3] = 0.0007051098838285026
F: sir_ode2(du, u, p, t); du = [-0.0012443, 0.000612455, 0.000631844] :: Symbol <: Any
F: sir_ode2(du, u, p, t); u = [0.976622, 0.0165746, 0.00680378] :: Symbol <: Any
F: sir_ode2(du, u, p, t); p = [0.1, 0.05] :: Symbol <: Any
F: sir_ode2(du, u, p, t); t = 10.411869621742243 :: Symbol <: Any
A: sir_ode2(du, u, p, t); (S, I, R) = [0.976622, 0.0165746, 0.00680378]
A: sir_ode2(du, u, p, t); (b, g) = [0.1, 0.05]
A: sir_ode2(du, u, p, t); du[1] = -0.001618710224147588
A: sir_ode2(du, u, p, t); du[2] = 0.0007899807661258851
A: sir_ode2(du, u, p, t); du[3] = 0.000828729458021703
F: sir_ode2(du, u, p, t); du = [-0.00126254, 0.00062118, 0.000641357] :: Symbol <: Any
F: sir_ode2(du, u, p, t); u = [0.975816, 0.0169669, 0.00721713] :: Symbol <: Any
F: sir_ode2(du, u, p, t); p = [0.1, 0.05] :: Symbol <: Any
F: sir_ode2(du, u, p, t); t = 10.878133220509309 :: Symbol <: Any
A: sir_ode2(du, u, p, t); (S, I, R) = [0.975816, 0.0169669, 0.00721713]
A: sir_ode2(du, u, p, t); (b, g) = [0.1, 0.05]
A: sir_ode2(du, u, p, t); du[1] = -0.0016556553917340855
A: sir_ode2(du, u, p, t); du[2] = 0.0008073113297833883
A: sir_ode2(du, u, p, t); du[3] = 0.0008483440619506972
F: sir_ode2(du, u, p, t); du = [-0.00126711, 0.000623367, 0.000643744] :: Symbol <: Any
F: sir_ode2(du, u, p, t); u = [0.975614, 0.0170653, 0.00732088] :: Symbol <: Any
F: sir_ode2(du, u, p, t); p = [0.1, 0.05] :: Symbol <: Any
F: sir_ode2(du, u, p, t); t = 10.994513104681563 :: Symbol <: Any
A: sir_ode2(du, u, p, t); (S, I, R) = [0.975614, 0.0170653, 0.00732088]
A: sir_ode2(du, u, p, t); (b, g) = [0.1, 0.05]
A: sir_ode2(du, u, p, t); du[1] = -0.0016649154110951632
A: sir_ode2(du, u, p, t); du[2] = 0.0008116498086598562
A: sir_ode2(du, u, p, t); du[3] = 0.000853265602435307
F: sir_ode2(du, u, p, t); du = [-0.00126601, 0.000622841, 0.000643168] :: Symbol <: Any
F: sir_ode2(du, u, p, t); u = [0.975719, 0.0170157, 0.00726505] :: Symbol <: Any
F: sir_ode2(du, u, p, t); p = [0.1, 0.05] :: Symbol <: Any
F: sir_ode2(du, u, p, t); t = 10.994513104681563 :: Symbol <: Any
A: sir_ode2(du, u, p, t); (S, I, R) = [0.975719, 0.0170157, 0.00726505]
A: sir_ode2(du, u, p, t); (b, g) = [0.1, 0.05]
A: sir_ode2(du, u, p, t); du[1] = -0.001660258700534838
A: sir_ode2(du, u, p, t); du[2] = 0.0008094715684539215
A: sir_ode2(du, u, p, t); du[3] = 0.0008507871320809165
F: sir_ode2(du, u, p, t); du = [-0.00132191, 0.000649533, 0.000672381] :: Symbol <: Any
F: sir_ode2(du, u, p, t); u = [0.973766, 0.0179681, 0.00826598] :: Symbol <: Any
F: sir_ode2(du, u, p, t); p = [0.1, 0.05] :: Symbol <: Any
F: sir_ode2(du, u, p, t); t = 12.170997852017074 :: Symbol <: Any
A: sir_ode2(du, u, p, t); (S, I, R) = [0.973766, 0.0179681, 0.00826598]
A: sir_ode2(du, u, p, t); (b, g) = [0.1, 0.05]
A: sir_ode2(du, u, p, t); du[1] = -0.001749669813141545
A: sir_ode2(du, u, p, t); du[2] = 0.0008512661333762389
A: sir_ode2(du, u, p, t); du[3] = 0.000898403679765306
F: sir_ode2(du, u, p, t); du = [-0.00138438, 0.000679269, 0.00070511] :: Symbol <: Any
F: sir_ode2(du, u, p, t); u = [0.971533, 0.0190524, 0.00941474] :: Symbol <: Any
F: sir_ode2(du, u, p, t); p = [0.1, 0.05] :: Symbol <: Any
F: sir_ode2(du, u, p, t); t = 13.384019392748096 :: Symbol <: Any
A: sir_ode2(du, u, p, t); (S, I, R) = [0.971533, 0.0190524, 0.00941474]
A: sir_ode2(du, u, p, t); (b, g) = [0.1, 0.05]
A: sir_ode2(du, u, p, t); du[1] = -0.001851006936486387
A: sir_ode2(du, u, p, t); du[2] = 0.0008983850125300826
A: sir_ode2(du, u, p, t); du[3] = 0.0009526219239563044
F: sir_ode2(du, u, p, t); du = [-0.00161871, 0.000789981, 0.000828729] :: Symbol <: Any
F: sir_ode2(du, u, p, t); u = [0.962875, 0.0232314, 0.0138937] :: Symbol <: Any
F: sir_ode2(du, u, p, t); p = [0.1, 0.05] :: Symbol <: Any
F: sir_ode2(du, u, p, t); t = 17.571135915873857 :: Symbol <: Any
A: sir_ode2(du, u, p, t); (S, I, R) = [0.962875, 0.0232314, 0.0138937]
A: sir_ode2(du, u, p, t); (b, g) = [0.1, 0.05]
A: sir_ode2(du, u, p, t); du[1] = -0.0022368918972213527
A: sir_ode2(du, u, p, t); du[2] = 0.001075322530205023
A: sir_ode2(du, u, p, t); du[3] = 0.0011615693670163298
F: sir_ode2(du, u, p, t); du = [-0.00165566, 0.000807311, 0.000848344] :: Symbol <: Any
F: sir_ode2(du, u, p, t); u = [0.961448, 0.0239148, 0.0146375] :: Symbol <: Any
F: sir_ode2(du, u, p, t); p = [0.1, 0.05] :: Symbol <: Any
F: sir_ode2(du, u, p, t); t = 18.155911246752304 :: Symbol <: Any
A: sir_ode2(du, u, p, t); (S, I, R) = [0.961448, 0.0239148, 0.0146375]
A: sir_ode2(du, u, p, t); (b, g) = [0.1, 0.05]
A: sir_ode2(du, u, p, t); du[1] = -0.002299284933395886
A: sir_ode2(du, u, p, t); du[2] = 0.0011035438321986306
A: sir_ode2(du, u, p, t); du[3] = 0.0011957411011972556
F: sir_ode2(du, u, p, t); du = [-0.00166492, 0.00081165, 0.000853266] :: Symbol <: Any
F: sir_ode2(du, u, p, t); u = [0.96109, 0.0240862, 0.0148241] :: Symbol <: Any
F: sir_ode2(du, u, p, t); p = [0.1, 0.05] :: Symbol <: Any
F: sir_ode2(du, u, p, t); t = 18.30187178378411 :: Symbol <: Any
A: sir_ode2(du, u, p, t); (S, I, R) = [0.96109, 0.0240862, 0.0148241]
A: sir_ode2(du, u, p, t); (b, g) = [0.1, 0.05]
A: sir_ode2(du, u, p, t); du[1] = -0.0023148986857909845
A: sir_ode2(du, u, p, t); du[2] = 0.0011105893227320238
A: sir_ode2(du, u, p, t); du[3] = 0.0012043093630589607
F: sir_ode2(du, u, p, t); du = [-0.00166026, 0.000809472, 0.000850787] :: Symbol <: Any
F: sir_ode2(du, u, p, t); u = [0.961344, 0.0239699, 0.0146865] :: Symbol <: Any
F: sir_ode2(du, u, p, t); p = [0.1, 0.05] :: Symbol <: Any
F: sir_ode2(du, u, p, t); t = 18.30187178378411 :: Symbol <: Any
A: sir_ode2(du, u, p, t); (S, I, R) = [0.961344, 0.0239699, 0.0146865]
A: sir_ode2(du, u, p, t); (b, g) = [0.1, 0.05]
A: sir_ode2(du, u, p, t); du[1] = -0.002304329102291154
A: sir_ode2(du, u, p, t); du[2] = 0.0011058350696079929
A: sir_ode2(du, u, p, t); du[3] = 0.0011984940326831613
F: sir_ode2(du, u, p, t); du = [-0.00174967, 0.000851266, 0.000898404] :: Symbol <: Any
F: sir_ode2(du, u, p, t); u = [0.95782, 0.0256607, 0.0165191] :: Symbol <: Any
F: sir_ode2(du, u, p, t); p = [0.1, 0.05] :: Symbol <: Any
F: sir_ode2(du, u, p, t); t = 19.830898807907047 :: Symbol <: Any
A: sir_ode2(du, u, p, t); (S, I, R) = [0.95782, 0.0256607, 0.0165191]
A: sir_ode2(du, u, p, t); (b, g) = [0.1, 0.05]
A: sir_ode2(du, u, p, t); du[1] = -0.0024578367916072937
A: sir_ode2(du, u, p, t); du[2] = 0.001174800173641458
A: sir_ode2(du, u, p, t); du[3] = 0.0012830366179658358
F: sir_ode2(du, u, p, t); du = [-0.00185101, 0.000898385, 0.000952622] :: Symbol <: Any
F: sir_ode2(du, u, p, t); u = [0.953698, 0.0276238, 0.0186779] :: Symbol <: Any
F: sir_ode2(du, u, p, t); p = [0.1, 0.05] :: Symbol <: Any
F: sir_ode2(du, u, p, t); t = 21.40741114333815 :: Symbol <: Any
A: sir_ode2(du, u, p, t); (S, I, R) = [0.953698, 0.0276238, 0.0186779]
A: sir_ode2(du, u, p, t); (b, g) = [0.1, 0.05]
A: sir_ode2(du, u, p, t); du[1] = -0.002634479375911583
A: sir_ode2(du, u, p, t); du[2] = 0.001253288207283402
A: sir_ode2(du, u, p, t); du[3] = 0.001381191168628181
F: sir_ode2(du, u, p, t); du = [-0.00223689, 0.00107532, 0.00116157] :: Symbol <: Any
F: sir_ode2(du, u, p, t); u = [0.937241, 0.0353655, 0.0273934] :: Symbol <: Any
F: sir_ode2(du, u, p, t); p = [0.1, 0.05] :: Symbol <: Any
F: sir_ode2(du, u, p, t); t = 26.849227819253947 :: Symbol <: Any
A: sir_ode2(du, u, p, t); (S, I, R) = [0.937241, 0.0353655, 0.0273934]
A: sir_ode2(du, u, p, t); (b, g) = [0.1, 0.05]
A: sir_ode2(du, u, p, t); du[1] = -0.003314596351952849
A: sir_ode2(du, u, p, t); du[2] = 0.0015463233693505014
A: sir_ode2(du, u, p, t); du[3] = 0.0017682729826023478
F: sir_ode2(du, u, p, t); du = [-0.00229928, 0.00110354, 0.00119574] :: Symbol <: Any
F: sir_ode2(du, u, p, t); u = [0.93441, 0.0366768, 0.028913] :: Symbol <: Any
F: sir_ode2(du, u, p, t); p = [0.1, 0.05] :: Symbol <: Any
F: sir_ode2(du, u, p, t); t = 27.609235363744947 :: Symbol <: Any
A: sir_ode2(du, u, p, t); (S, I, R) = [0.93441, 0.0366768, 0.028913]
A: sir_ode2(du, u, p, t); (b, g) = [0.1, 0.05]
A: sir_ode2(du, u, p, t); du[1] = -0.003427115251708864
A: sir_ode2(du, u, p, t); du[2] = 0.001593276569307139
A: sir_ode2(du, u, p, t); du[3] = 0.001833838682401725
F: sir_ode2(du, u, p, t); du = [-0.0023149, 0.00111059, 0.00120431] :: Symbol <: Any
F: sir_ode2(du, u, p, t); u = [0.933701, 0.0370051, 0.0292936] :: Symbol <: Any
F: sir_ode2(du, u, p, t); p = [0.1, 0.05] :: Symbol <: Any
F: sir_ode2(du, u, p, t); t = 27.798934045417262 :: Symbol <: Any
A: sir_ode2(du, u, p, t); (S, I, R) = [0.933701, 0.0370051, 0.0292936]
A: sir_ode2(du, u, p, t); (b, g) = [0.1, 0.05]
A: sir_ode2(du, u, p, t); du[1] = -0.0034551698157697314
A: sir_ode2(du, u, p, t); du[2] = 0.0016049153720418615
A: sir_ode2(du, u, p, t); du[3] = 0.00185025444372787
F: sir_ode2(du, u, p, t); du = [-0.00230433, 0.00110584, 0.00119849] :: Symbol <: Any
F: sir_ode2(du, u, p, t); u = [0.934383, 0.0367076, 0.0289091] :: Symbol <: Any
F: sir_ode2(du, u, p, t); p = [0.1, 0.05] :: Symbol <: Any
F: sir_ode2(du, u, p, t); t = 27.798934045417262 :: Symbol <: Any
A: sir_ode2(du, u, p, t); (S, I, R) = [0.934383, 0.0367076, 0.0289091]
A: sir_ode2(du, u, p, t); (b, g) = [0.1, 0.05]
A: sir_ode2(du, u, p, t); du[1] = -0.003429894117497664
A: sir_ode2(du, u, p, t); du[2] = 0.001594515735717664
A: sir_ode2(du, u, p, t); du[3] = 0.0018353783817800001
F: sir_ode2(du, u, p, t); du = [-0.00245784, 0.0011748, 0.00128304] :: Symbol <: Any
F: sir_ode2(du, u, p, t); u = [0.927906, 0.039719, 0.0323754] :: Symbol <: Any
F: sir_ode2(du, u, p, t); p = [0.1, 0.05] :: Symbol <: Any
F: sir_ode2(du, u, p, t); t = 29.687542181600765 :: Symbol <: Any
A: sir_ode2(du, u, p, t); (S, I, R) = [0.927906, 0.039719, 0.0323754]
A: sir_ode2(du, u, p, t); (b, g) = [0.1, 0.05]
A: sir_ode2(du, u, p, t); du[1] = -0.0036855468985371198
A: sir_ode2(du, u, p, t); du[2] = 0.0016995977471696696
A: sir_ode2(du, u, p, t); du[3] = 0.00198594915136745
F: sir_ode2(du, u, p, t); du = [-0.00263448, 0.00125329, 0.00138119] :: Symbol <: Any
F: sir_ode2(du, u, p, t); u = [0.920221, 0.0432375, 0.0365419] :: Symbol <: Any
F: sir_ode2(du, u, p, t); p = [0.1, 0.05] :: Symbol <: Any
F: sir_ode2(du, u, p, t); t = 31.634802744373822 :: Symbol <: Any
A: sir_ode2(du, u, p, t); (S, I, R) = [0.920221, 0.0432375, 0.0365419]
A: sir_ode2(du, u, p, t); (b, g) = [0.1, 0.05]
A: sir_ode2(du, u, p, t); du[1] = -0.003978800021674078
A: sir_ode2(du, u, p, t); du[2] = 0.001816927260425932
A: sir_ode2(du, u, p, t); du[3] = 0.0021618727612481457
F: sir_ode2(du, u, p, t); du = [-0.0033146, 0.00154632, 0.00176827] :: Symbol <: Any
F: sir_ode2(du, u, p, t); u = [0.889156, 0.0570837, 0.0537608] :: Symbol <: Any
F: sir_ode2(du, u, p, t); p = [0.1, 0.05] :: Symbol <: Any
F: sir_ode2(du, u, p, t); t = 38.35637083153623 :: Symbol <: Any
A: sir_ode2(du, u, p, t); (S, I, R) = [0.889156, 0.0570837, 0.0537608]
A: sir_ode2(du, u, p, t); (b, g) = [0.1, 0.05]
A: sir_ode2(du, u, p, t); du[1] = -0.005075630206672848
A: sir_ode2(du, u, p, t); du[2] = 0.002221444335061478
A: sir_ode2(du, u, p, t); du[3] = 0.0028541858716113703
F: sir_ode2(du, u, p, t); du = [-0.00342712, 0.00159328, 0.00183384] :: Symbol <: Any
F: sir_ode2(du, u, p, t); u = [0.883709, 0.0594316, 0.0568592] :: Symbol <: Any
F: sir_ode2(du, u, p, t); p = [0.1, 0.05] :: Symbol <: Any
F: sir_ode2(du, u, p, t); t = 39.295109264174386 :: Symbol <: Any
A: sir_ode2(du, u, p, t); (S, I, R) = [0.883709, 0.0594316, 0.0568592]
A: sir_ode2(du, u, p, t); (b, g) = [0.1, 0.05]
A: sir_ode2(du, u, p, t); du[1] = -0.005252023866031659
A: sir_ode2(du, u, p, t); du[2] = 0.002280444541491732
A: sir_ode2(du, u, p, t); du[3] = 0.0029715793245399273
F: sir_ode2(du, u, p, t); du = [-0.00345517, 0.00160492, 0.00185025] :: Symbol <: Any
F: sir_ode2(du, u, p, t); u = [0.882347, 0.0600187, 0.0576346] :: Symbol <: Any
F: sir_ode2(du, u, p, t); p = [0.1, 0.05] :: Symbol <: Any
F: sir_ode2(du, u, p, t); t = 39.52941936332723 :: Symbol <: Any
A: sir_ode2(du, u, p, t); (S, I, R) = [0.882347, 0.0600187, 0.0576346]
A: sir_ode2(du, u, p, t); (b, g) = [0.1, 0.05]
A: sir_ode2(du, u, p, t); du[1] = -0.005295726218699886
A: sir_ode2(du, u, p, t); du[2] = 0.0022947936061172266
A: sir_ode2(du, u, p, t); du[3] = 0.0030009326125826595
F: sir_ode2(du, u, p, t); du = [-0.00342989, 0.00159452, 0.00183538] :: Symbol <: Any
F: sir_ode2(du, u, p, t); u = [0.883849, 0.0594416, 0.0567092] :: Symbol <: Any
F: sir_ode2(du, u, p, t); p = [0.1, 0.05] :: Symbol <: Any
F: sir_ode2(du, u, p, t); t = 39.52941936332723 :: Symbol <: Any
A: sir_ode2(du, u, p, t); (S, I, R) = [0.883849, 0.0594416, 0.0567092]
A: sir_ode2(du, u, p, t); (b, g) = [0.1, 0.05]
A: sir_ode2(du, u, p, t); du[1] = -0.005253740458923468
A: sir_ode2(du, u, p, t); du[2] = 0.002281660841219631
A: sir_ode2(du, u, p, t); du[3] = 0.0029720796177038367
F: sir_ode2(du, u, p, t); du = [-0.00368555, 0.0016996, 0.00198595] :: Symbol <: Any
F: sir_ode2(du, u, p, t); u = [0.871582, 0.0647693, 0.0636491] :: Symbol <: Any
F: sir_ode2(du, u, p, t); p = [0.1, 0.05] :: Symbol <: Any
F: sir_ode2(du, u, p, t); t = 41.864441088927265 :: Symbol <: Any
A: sir_ode2(du, u, p, t); (S, I, R) = [0.871582, 0.0647693, 0.0636491]
A: sir_ode2(du, u, p, t); (b, g) = [0.1, 0.05]
A: sir_ode2(du, u, p, t); du[1] = -0.005645174847571297
A: sir_ode2(du, u, p, t); du[2] = 0.0024067088481325256
A: sir_ode2(du, u, p, t); du[3] = 0.0032384659994387716
F: sir_ode2(du, u, p, t); du = [-0.0039788, 0.00181693, 0.00216187] :: Symbol <: Any
F: sir_ode2(du, u, p, t); u = [0.857028, 0.0708709, 0.0721006] :: Symbol <: Any
F: sir_ode2(du, u, p, t); p = [0.1, 0.05] :: Symbol <: Any
F: sir_ode2(du, u, p, t); t = 44.271979017185686 :: Symbol <: Any
A: sir_ode2(du, u, p, t); (S, I, R) = [0.857028, 0.0708709, 0.0721006]
A: sir_ode2(du, u, p, t); (b, g) = [0.1, 0.05]
A: sir_ode2(du, u, p, t); du[1] = -0.006073840874456042
A: sir_ode2(du, u, p, t); du[2] = 0.0025302942162646006
A: sir_ode2(du, u, p, t); du[3] = 0.0035435466581914413
F: sir_ode2(du, u, p, t); du = [-0.00507563, 0.00222144, 0.00285419] :: Symbol <: Any
F: sir_ode2(du, u, p, t); u = [0.79949, 0.0934208, 0.107089] :: Symbol <: Any
F: sir_ode2(du, u, p, t); p = [0.1, 0.05] :: Symbol <: Any
F: sir_ode2(du, u, p, t); t = 52.582335841836745 :: Symbol <: Any
A: sir_ode2(du, u, p, t); (S, I, R) = [0.79949, 0.0934208, 0.107089]
A: sir_ode2(du, u, p, t); (b, g) = [0.1, 0.05]
A: sir_ode2(du, u, p, t); du[1] = -0.007468899818556298
A: sir_ode2(du, u, p, t); du[2] = 0.002797859383312528
A: sir_ode2(du, u, p, t); du[3] = 0.004671040435243769
F: sir_ode2(du, u, p, t); du = [-0.00525202, 0.00228044, 0.00297158] :: Symbol <: Any
F: sir_ode2(du, u, p, t); u = [0.789693, 0.0969007, 0.113406] :: Symbol <: Any
F: sir_ode2(du, u, p, t); p = [0.1, 0.05] :: Symbol <: Any
F: sir_ode2(du, u, p, t); t = 53.742965510252425 :: Symbol <: Any
A: sir_ode2(du, u, p, t); (S, I, R) = [0.789693, 0.0969007, 0.113406]
A: sir_ode2(du, u, p, t); (b, g) = [0.1, 0.05]
A: sir_ode2(du, u, p, t); du[1] = -0.007652176642658092
A: sir_ode2(du, u, p, t); du[2] = 0.0028071435730583653
A: sir_ode2(du, u, p, t); du[3] = 0.0048450330695997265
F: sir_ode2(du, u, p, t); du = [-0.00529573, 0.00229479, 0.00300093] :: Symbol <: Any
F: sir_ode2(du, u, p, t); u = [0.787241, 0.0977708, 0.114988] :: Symbol <: Any
F: sir_ode2(du, u, p, t); p = [0.1, 0.05] :: Symbol <: Any
F: sir_ode2(du, u, p, t); t = 54.03265989500447 :: Symbol <: Any
A: sir_ode2(du, u, p, t); (S, I, R) = [0.787241, 0.0977708, 0.114988]
A: sir_ode2(du, u, p, t); (b, g) = [0.1, 0.05]
A: sir_ode2(du, u, p, t); du[1] = -0.007696917583492516
A: sir_ode2(du, u, p, t); du[2] = 0.002808377149300552
A: sir_ode2(du, u, p, t); du[3] = 0.004888540434191964
F: sir_ode2(du, u, p, t); du = [-0.00525374, 0.00228166, 0.00297208] :: Symbol <: Any
F: sir_ode2(du, u, p, t); u = [0.789657, 0.0972901, 0.113053] :: Symbol <: Any
F: sir_ode2(du, u, p, t); p = [0.1, 0.05] :: Symbol <: Any
F: sir_ode2(du, u, p, t); t = 54.03265989500447 :: Symbol <: Any
A: sir_ode2(du, u, p, t); (S, I, R) = [0.789657, 0.0972901, 0.113053]
A: sir_ode2(du, u, p, t); (b, g) = [0.1, 0.05]
A: sir_ode2(du, u, p, t); du[1] = -0.007682576109357079
A: sir_ode2(du, u, p, t); du[2] = 0.0028180713553939245
A: sir_ode2(du, u, p, t); du[3] = 0.0048645047539631545
F: sir_ode2(du, u, p, t); du = [-0.00564517, 0.00240671, 0.00323847] :: Symbol <: Any
F: sir_ode2(du, u, p, t); u = [0.768629, 0.105003, 0.126368] :: Symbol <: Any
F: sir_ode2(du, u, p, t); p = [0.1, 0.05] :: Symbol <: Any
F: sir_ode2(du, u, p, t); t = 56.769767895208886 :: Symbol <: Any
A: sir_ode2(du, u, p, t); (S, I, R) = [0.768629, 0.105003, 0.126368]
A: sir_ode2(du, u, p, t); (b, g) = [0.1, 0.05]
A: sir_ode2(du, u, p, t); du[1] = -0.008070865379599045
A: sir_ode2(du, u, p, t); du[2] = 0.0028206923430361096
A: sir_ode2(du, u, p, t); du[3] = 0.005250173036562935
F: sir_ode2(du, u, p, t); du = [-0.00607384, 0.00253029, 0.00354355] :: Symbol <: Any
F: sir_ode2(du, u, p, t); u = [0.744733, 0.112971, 0.142296] :: Symbol <: Any
F: sir_ode2(du, u, p, t); p = [0.1, 0.05] :: Symbol <: Any
F: sir_ode2(du, u, p, t); t = 59.591879249456916 :: Symbol <: Any
A: sir_ode2(du, u, p, t); (S, I, R) = [0.744733, 0.112971, 0.142296]
A: sir_ode2(du, u, p, t); (b, g) = [0.1, 0.05]
A: sir_ode2(du, u, p, t); du[1] = -0.00841334544918717
A: sir_ode2(du, u, p, t); du[2] = 0.0027647794276211227
A: sir_ode2(du, u, p, t); du[3] = 0.0056485660215660465
F: sir_ode2(du, u, p, t); du = [-0.0074689, 0.00279786, 0.00467104] :: Symbol <: Any
F: sir_ode2(du, u, p, t); u = [0.659893, 0.136173, 0.203934] :: Symbol <: Any
F: sir_ode2(du, u, p, t); p = [0.1, 0.05] :: Symbol <: Any
F: sir_ode2(du, u, p, t); t = 69.33326362285524 :: Symbol <: Any
A: sir_ode2(du, u, p, t); (S, I, R) = [0.659893, 0.136173, 0.203934]
A: sir_ode2(du, u, p, t); (b, g) = [0.1, 0.05]
A: sir_ode2(du, u, p, t); du[1] = -0.008985941308353328
A: sir_ode2(du, u, p, t); du[2] = 0.002177306950156369
A: sir_ode2(du, u, p, t); du[3] = 0.006808634358196959
F: sir_ode2(du, u, p, t); du = [-0.00765218, 0.00280714, 0.00484503] :: Symbol <: Any
F: sir_ode2(du, u, p, t); u = [0.648141, 0.137935, 0.213924] :: Symbol <: Any
F: sir_ode2(du, u, p, t); p = [0.1, 0.05] :: Symbol <: Any
F: sir_ode2(du, u, p, t); t = 70.69375150006282 :: Symbol <: Any
A: sir_ode2(du, u, p, t); (S, I, R) = [0.648141, 0.137935, 0.213924]
A: sir_ode2(du, u, p, t); (b, g) = [0.1, 0.05]
A: sir_ode2(du, u, p, t); du[1] = -0.008940157853944952
A: sir_ode2(du, u, p, t); du[2] = 0.0020433894853178402
A: sir_ode2(du, u, p, t); du[3] = 0.006896768368627112
F: sir_ode2(du, u, p, t); du = [-0.00769692, 0.00280838, 0.00488854] :: Symbol <: Any
F: sir_ode2(du, u, p, t); u = [0.645163, 0.138383, 0.216453] :: Symbol <: Any
F: sir_ode2(du, u, p, t); p = [0.1, 0.05] :: Symbol <: Any
F: sir_ode2(du, u, p, t); t = 71.03333070372756 :: Symbol <: Any
A: sir_ode2(du, u, p, t); (S, I, R) = [0.645163, 0.138383, 0.216453]
A: sir_ode2(du, u, p, t); (b, g) = [0.1, 0.05]
A: sir_ode2(du, u, p, t); du[1] = -0.008927976266654826
A: sir_ode2(du, u, p, t); du[2] = 0.0020088164821614523
A: sir_ode2(du, u, p, t); du[3] = 0.006919159784493373
F: sir_ode2(du, u, p, t); du = [-0.00768258, 0.00281807, 0.0048645] :: Symbol <: Any
F: sir_ode2(du, u, p, t); u = [0.643584, 0.14109, 0.215326] :: Symbol <: Any
F: sir_ode2(du, u, p, t); p = [0.1, 0.05] :: Symbol <: Any
F: sir_ode2(du, u, p, t); t = 71.03333070372756 :: Symbol <: Any
A: sir_ode2(du, u, p, t); (S, I, R) = [0.643584, 0.14109, 0.215326]
A: sir_ode2(du, u, p, t); (b, g) = [0.1, 0.05]
A: sir_ode2(du, u, p, t); du[1] = -0.009080342534302644
A: sir_ode2(du, u, p, t); du[2] = 0.002025830410661099
A: sir_ode2(du, u, p, t); du[3] = 0.007054512123641545
F: sir_ode2(du, u, p, t); du = [-0.00807087, 0.00282069, 0.00525017] :: Symbol <: Any
F: sir_ode2(du, u, p, t); u = [0.615342, 0.147391, 0.237267] :: Symbol <: Any
F: sir_ode2(du, u, p, t); p = [0.1, 0.05] :: Symbol <: Any
F: sir_ode2(du, u, p, t); t = 74.14359923934661 :: Symbol <: Any
A: sir_ode2(du, u, p, t); (S, I, R) = [0.615342, 0.147391, 0.237267]
A: sir_ode2(du, u, p, t); (b, g) = [0.1, 0.05]
A: sir_ode2(du, u, p, t); du[1] = -0.009069590407721453
A: sir_ode2(du, u, p, t); du[2] = 0.0017000344548409362
A: sir_ode2(du, u, p, t); du[3] = 0.0073695559528805165
F: sir_ode2(du, u, p, t); du = [-0.00841335, 0.00276478, 0.00564857] :: Symbol <: Any
F: sir_ode2(du, u, p, t); u = [0.586292, 0.151776, 0.261932] :: Symbol <: Any
F: sir_ode2(du, u, p, t); p = [0.1, 0.05] :: Symbol <: Any
F: sir_ode2(du, u, p, t); t = 77.35045996551283 :: Symbol <: Any
A: sir_ode2(du, u, p, t); (S, I, R) = [0.586292, 0.151776, 0.261932]
A: sir_ode2(du, u, p, t); (b, g) = [0.1, 0.05]
A: sir_ode2(du, u, p, t); du[1] = -0.00889851749463169
A: sir_ode2(du, u, p, t); du[2] = 0.0013097073076930917
A: sir_ode2(du, u, p, t); du[3] = 0.007588810186938598
F: sir_ode2(du, u, p, t); du = [-0.00898594, 0.00217731, 0.00680863] :: Symbol <: Any
F: sir_ode2(du, u, p, t); u = [0.49971, 0.155988, 0.344302] :: Symbol <: Any
F: sir_ode2(du, u, p, t); p = [0.1, 0.05] :: Symbol <: Any
F: sir_ode2(du, u, p, t); t = 88.41992500221914 :: Symbol <: Any
A: sir_ode2(du, u, p, t); (S, I, R) = [0.49971, 0.155988, 0.344302]
A: sir_ode2(du, u, p, t); (b, g) = [0.1, 0.05]
A: sir_ode2(du, u, p, t); du[1] = -0.00779489304879896
A: sir_ode2(du, u, p, t); du[2] = -4.527836061364067e-6
A: sir_ode2(du, u, p, t); du[3] = 0.007799420884860324
F: sir_ode2(du, u, p, t); du = [-0.00894016, 0.00204339, 0.00689677] :: Symbol <: Any
F: sir_ode2(du, u, p, t); u = [0.493261, 0.153322, 0.353417] :: Symbol <: Any
F: sir_ode2(du, u, p, t); p = [0.1, 0.05] :: Symbol <: Any
F: sir_ode2(du, u, p, t); t = 89.96589346135698 :: Symbol <: Any
A: sir_ode2(du, u, p, t); (S, I, R) = [0.493261, 0.153322, 0.353417]
A: sir_ode2(du, u, p, t); (b, g) = [0.1, 0.05]
A: sir_ode2(du, u, p, t); du[1] = -0.007562787325128109
A: sir_ode2(du, u, p, t); du[2] = -0.00010332097403696963
A: sir_ode2(du, u, p, t); du[3] = 0.007666108299165079
F: sir_ode2(du, u, p, t); du = [-0.00892798, 0.00200882, 0.00691916] :: Symbol <: Any
F: sir_ode2(du, u, p, t); u = [0.491536, 0.15264, 0.355824] :: Symbol <: Any
F: sir_ode2(du, u, p, t); p = [0.1, 0.05] :: Symbol <: Any
F: sir_ode2(du, u, p, t); t = 90.35176881316265 :: Symbol <: Any
A: sir_ode2(du, u, p, t); (S, I, R) = [0.491536, 0.15264, 0.355824]
A: sir_ode2(du, u, p, t); (b, g) = [0.1, 0.05]
A: sir_ode2(du, u, p, t); du[1] = -0.007502795971632594
A: sir_ode2(du, u, p, t); du[2] = -0.0001291928824711788
A: sir_ode2(du, u, p, t); du[3] = 0.007631988854103773
F: sir_ode2(du, u, p, t); du = [-0.00908034, 0.00202583, 0.00705451] :: Symbol <: Any
F: sir_ode2(du, u, p, t); u = [0.478491, 0.15798, 0.363529] :: Symbol <: Any
F: sir_ode2(du, u, p, t); p = [0.1, 0.05] :: Symbol <: Any
F: sir_ode2(du, u, p, t); t = 90.35176881316265 :: Symbol <: Any
A: sir_ode2(du, u, p, t); (S, I, R) = [0.478491, 0.15798, 0.363529]
A: sir_ode2(du, u, p, t); (b, g) = [0.1, 0.05]
A: sir_ode2(du, u, p, t); du[1] = -0.007559207488228247
A: sir_ode2(du, u, p, t); du[2] = -0.0003397924714841705
A: sir_ode2(du, u, p, t); du[3] = 0.007898999959712417
F: sir_ode2(du, u, p, t); du = [-0.00906959, 0.00170003, 0.00736956] :: Symbol <: Any
F: sir_ode2(du, u, p, t); u = [0.453646, 0.156863, 0.38949] :: Symbol <: Any
F: sir_ode2(du, u, p, t); p = [0.1, 0.05] :: Symbol <: Any
F: sir_ode2(du, u, p, t); t = 93.63848277343641 :: Symbol <: Any
A: sir_ode2(du, u, p, t); (S, I, R) = [0.453646, 0.156863, 0.38949]
A: sir_ode2(du, u, p, t); (b, g) = [0.1, 0.05]
A: sir_ode2(du, u, p, t); du[1] = -0.007116043658305945
A: sir_ode2(du, u, p, t); du[2] = -0.0007271162684253252
A: sir_ode2(du, u, p, t); du[3] = 0.00784315992673127
F: sir_ode2(du, u, p, t); du = [-0.00889852, 0.00130971, 0.00758881] :: Symbol <: Any
F: sir_ode2(du, u, p, t); u = [0.431065, 0.153059, 0.415876] :: Symbol <: Any
F: sir_ode2(du, u, p, t); p = [0.1, 0.05] :: Symbol <: Any
F: sir_ode2(du, u, p, t); t = 97.02726859583046 :: Symbol <: Any
A: sir_ode2(du, u, p, t); (S, I, R) = [0.431065, 0.153059, 0.415876]
A: sir_ode2(du, u, p, t); (b, g) = [0.1, 0.05]
A: sir_ode2(du, u, p, t); du[1] = -0.006597841170560479
A: sir_ode2(du, u, p, t); du[2] = -0.0010551127491820406
A: sir_ode2(du, u, p, t); du[3] = 0.00765295391974252
F: sir_ode2(du, u, p, t); du = [-0.00779489, -4.52784e-6, 0.00779942] :: Symbol <: Any
F: sir_ode2(du, u, p, t); u = [0.367686, 0.138319, 0.493995] :: Symbol <: Any
F: sir_ode2(du, u, p, t); p = [0.1, 0.05] :: Symbol <: Any
F: sir_ode2(du, u, p, t); t = 108.7247039948172 :: Symbol <: Any
A: sir_ode2(du, u, p, t); (S, I, R) = [0.367686, 0.138319, 0.493995]
A: sir_ode2(du, u, p, t); (b, g) = [0.1, 0.05]
A: sir_ode2(du, u, p, t); du[1] = -0.005085807498707148
A: sir_ode2(du, u, p, t); du[2] = -0.0018301527805082516
A: sir_ode2(du, u, p, t); du[3] = 0.0069159602792154
F: sir_ode2(du, u, p, t); du = [-0.00756279, -0.000103321, 0.00766611] :: Symbol <: Any
F: sir_ode2(du, u, p, t); u = [0.363401, 0.137438, 0.499161] :: Symbol <: Any
F: sir_ode2(du, u, p, t); p = [0.1, 0.05] :: Symbol <: Any
F: sir_ode2(du, u, p, t); t = 110.35837519027875 :: Symbol <: Any
A: sir_ode2(du, u, p, t); (S, I, R) = [0.363401, 0.137438, 0.499161]
A: sir_ode2(du, u, p, t); (b, g) = [0.1, 0.05]
A: sir_ode2(du, u, p, t); du[1] = -0.004994517073767188
A: sir_ode2(du, u, p, t); du[2] = -0.0018773914923682347
A: sir_ode2(du, u, p, t); du[3] = 0.006871908566135423
F: sir_ode2(du, u, p, t); du = [-0.0075028, -0.000129193, 0.00763199] :: Symbol <: Any
F: sir_ode2(du, u, p, t); u = [0.362319, 0.137125, 0.500557] :: Symbol <: Any
F: sir_ode2(du, u, p, t); p = [0.1, 0.05] :: Symbol <: Any
F: sir_ode2(du, u, p, t); t = 110.76614123722325 :: Symbol <: Any
A: sir_ode2(du, u, p, t); (S, I, R) = [0.362319, 0.137125, 0.500557]
A: sir_ode2(du, u, p, t); (b, g) = [0.1, 0.05]
A: sir_ode2(du, u, p, t); du[1] = -0.004968282751185538
A: sir_ode2(du, u, p, t); du[2] = -0.0018879500249163626
A: sir_ode2(du, u, p, t); du[3] = 0.006856232776101901
F: sir_ode2(du, u, p, t); du = [-0.00755921, -0.000339792, 0.007899] :: Symbol <: Any
F: sir_ode2(du, u, p, t); u = [0.354016, 0.131801, 0.514183] :: Symbol <: Any
F: sir_ode2(du, u, p, t); p = [0.1, 0.05] :: Symbol <: Any
F: sir_ode2(du, u, p, t); t = 110.76614123722325 :: Symbol <: Any
A: sir_ode2(du, u, p, t); (S, I, R) = [0.354016, 0.131801, 0.514183]
A: sir_ode2(du, u, p, t); (b, g) = [0.1, 0.05]
A: sir_ode2(du, u, p, t); du[1] = -0.004665972170189277
A: sir_ode2(du, u, p, t); du[2] = -0.0019240881939552998
A: sir_ode2(du, u, p, t); du[3] = 0.0065900603641445765
F: sir_ode2(du, u, p, t); du = [-0.00711604, -0.000727116, 0.00784316] :: Symbol <: Any
F: sir_ode2(du, u, p, t); u = [0.334156, 0.123612, 0.542232] :: Symbol <: Any
F: sir_ode2(du, u, p, t); p = [0.1, 0.05] :: Symbol <: Any
F: sir_ode2(du, u, p, t); t = 115.02244168866913 :: Symbol <: Any
A: sir_ode2(du, u, p, t); (S, I, R) = [0.334156, 0.123612, 0.542232]
A: sir_ode2(du, u, p, t); (b, g) = [0.1, 0.05]
A: sir_ode2(du, u, p, t); du[1] = -0.004130560817853837
A: sir_ode2(du, u, p, t); du[2] = -0.0020500246738630575
A: sir_ode2(du, u, p, t); du[3] = 0.006180585491716894
F: sir_ode2(du, u, p, t); du = [-0.00659784, -0.00105511, 0.00765295] :: Symbol <: Any
F: sir_ode2(du, u, p, t); u = [0.318428, 0.114051, 0.567521] :: Symbol <: Any
F: sir_ode2(du, u, p, t); p = [0.1, 0.05] :: Symbol <: Any
F: sir_ode2(du, u, p, t); t = 119.41092538394874 :: Symbol <: Any
A: sir_ode2(du, u, p, t); (S, I, R) = [0.318428, 0.114051, 0.567521]
A: sir_ode2(du, u, p, t); (b, g) = [0.1, 0.05]
A: sir_ode2(du, u, p, t); du[1] = -0.00363170303730673
A: sir_ode2(du, u, p, t); du[2] = -0.0020708445381515104
A: sir_ode2(du, u, p, t); du[3] = 0.005702547575458241
F: sir_ode2(du, u, p, t); du = [-0.00508581, -0.00183015, 0.00691596] :: Symbol <: Any
F: sir_ode2(du, u, p, t); u = [0.27226, 0.0902696, 0.63747] :: Symbol <: Any
F: sir_ode2(du, u, p, t); p = [0.1, 0.05] :: Symbol <: Any
F: sir_ode2(du, u, p, t); t = 134.5591251272934 :: Symbol <: Any
A: sir_ode2(du, u, p, t); (S, I, R) = [0.27226, 0.0902696, 0.63747]
A: sir_ode2(du, u, p, t); (b, g) = [0.1, 0.05]
A: sir_ode2(du, u, p, t); du[1] = -0.0024576822236317734
A: sir_ode2(du, u, p, t); du[2] = -0.0020557961042253713
A: sir_ode2(du, u, p, t); du[3] = 0.004513478327857145
F: sir_ode2(du, u, p, t); du = [-0.00499452, -0.00187739, 0.00687191] :: Symbol <: Any
F: sir_ode2(du, u, p, t); u = [0.266376, 0.0923081, 0.641316] :: Symbol <: Any
F: sir_ode2(du, u, p, t); p = [0.1, 0.05] :: Symbol <: Any
F: sir_ode2(du, u, p, t); t = 136.6747322445547 :: Symbol <: Any
A: sir_ode2(du, u, p, t); (S, I, R) = [0.266376, 0.0923081, 0.641316]
A: sir_ode2(du, u, p, t); (b, g) = [0.1, 0.05]
A: sir_ode2(du, u, p, t); du[1] = -0.002458861258665709
A: sir_ode2(du, u, p, t); du[2] = -0.0021565425026440314
A: sir_ode2(du, u, p, t); du[3] = 0.004615403761309741
F: sir_ode2(du, u, p, t); du = [-0.00496828, -0.00188795, 0.00685623] :: Symbol <: Any
F: sir_ode2(du, u, p, t); u = [0.265043, 0.0927197, 0.642237] :: Symbol <: Any
F: sir_ode2(du, u, p, t); p = [0.1, 0.05] :: Symbol <: Any
F: sir_ode2(du, u, p, t); t = 137.20279000396786 :: Symbol <: Any
A: sir_ode2(du, u, p, t); (S, I, R) = [0.265043, 0.0927197, 0.642237]
A: sir_ode2(du, u, p, t); (b, g) = [0.1, 0.05]
A: sir_ode2(du, u, p, t); du[1] = -0.0024574759498263545
A: sir_ode2(du, u, p, t); du[2] = -0.0021785112790829453
A: sir_ode2(du, u, p, t); du[3] = 0.0046359872289093
F: sir_ode2(du, u, p, t); du = [-0.00466597, -0.00192409, 0.00659006] :: Symbol <: Any
F: sir_ode2(du, u, p, t); u = [0.26819, 0.0788203, 0.652989] :: Symbol <: Any
F: sir_ode2(du, u, p, t); p = [0.1, 0.05] :: Symbol <: Any
F: sir_ode2(du, u, p, t); t = 137.20279000396786 :: Symbol <: Any
A: sir_ode2(du, u, p, t); (S, I, R) = [0.26819, 0.0788203, 0.652989]
A: sir_ode2(du, u, p, t); (b, g) = [0.1, 0.05]
A: sir_ode2(du, u, p, t); du[1] = -0.0021138836210798186
A: sir_ode2(du, u, p, t); du[2] = -0.0018271320931907277
A: sir_ode2(du, u, p, t); du[3] = 0.003941015714270546
F: sir_ode2(du, u, p, t); du = [-0.00413056, -0.00205002, 0.00618059] :: Symbol <: Any
F: sir_ode2(du, u, p, t); u = [0.260341, 0.0720362, 0.667622] :: Symbol <: Any
F: sir_ode2(du, u, p, t); p = [0.1, 0.05] :: Symbol <: Any
F: sir_ode2(du, u, p, t); t = 140.9157752811792 :: Symbol <: Any
A: sir_ode2(du, u, p, t); (S, I, R) = [0.260341, 0.0720362, 0.667622]
A: sir_ode2(du, u, p, t); (b, g) = [0.1, 0.05]
A: sir_ode2(du, u, p, t); du[1] = -0.0018754004062863452
A: sir_ode2(du, u, p, t); du[2] = -0.0017264095799073259
A: sir_ode2(du, u, p, t); du[3] = 0.003601809986193671
F: sir_ode2(du, u, p, t); du = [-0.0036317, -0.00207084, 0.00570255] :: Symbol <: Any
F: sir_ode2(du, u, p, t); u = [0.254094, 0.0658207, 0.680085] :: Symbol <: Any
F: sir_ode2(du, u, p, t); p = [0.1, 0.05] :: Symbol <: Any
F: sir_ode2(du, u, p, t); t = 144.7440706601673 :: Symbol <: Any
A: sir_ode2(du, u, p, t); (S, I, R) = [0.254094, 0.0658207, 0.680085]
A: sir_ode2(du, u, p, t); (b, g) = [0.1, 0.05]
A: sir_ode2(du, u, p, t); du[1] = -0.0016724633638977424
A: sir_ode2(du, u, p, t); du[2] = -0.001618570362634452
A: sir_ode2(du, u, p, t); du[3] = 0.0032910337265321943
F: sir_ode2(du, u, p, t); du = [-0.00245768, -0.0020558, 0.00451348] :: Symbol <: Any
F: sir_ode2(du, u, p, t); u = [0.233747, 0.0471066, 0.719147] :: Symbol <: Any
F: sir_ode2(du, u, p, t); p = [0.1, 0.05] :: Symbol <: Any
F: sir_ode2(du, u, p, t); t = 157.95860832378278 :: Symbol <: Any
A: sir_ode2(du, u, p, t); (S, I, R) = [0.233747, 0.0471066, 0.719147]
A: sir_ode2(du, u, p, t); (b, g) = [0.1, 0.05]
A: sir_ode2(du, u, p, t); du[1] = -0.0011011008875391034
A: sir_ode2(du, u, p, t); du[2] = -0.0012542272308503513
A: sir_ode2(du, u, p, t); du[3] = 0.0023553281183894548
F: sir_ode2(du, u, p, t); du = [-0.00245886, -0.00215654, 0.0046154] :: Symbol <: Any
F: sir_ode2(du, u, p, t); u = [0.22994, 0.0450639, 0.724996] :: Symbol <: Any
F: sir_ode2(du, u, p, t); p = [0.1, 0.05] :: Symbol <: Any
F: sir_ode2(du, u, p, t); t = 159.80415897707047 :: Symbol <: Any
A: sir_ode2(du, u, p, t); (S, I, R) = [0.22994, 0.0450639, 0.724996]
A: sir_ode2(du, u, p, t); (b, g) = [0.1, 0.05]
A: sir_ode2(du, u, p, t); du[1] = -0.0010362017177331893
A: sir_ode2(du, u, p, t); du[2] = -0.001216995342901703
A: sir_ode2(du, u, p, t); du[3] = 0.0022531970606348923
F: sir_ode2(du, u, p, t); du = [-0.00245748, -0.00217851, 0.00463599] :: Symbol <: Any
F: sir_ode2(du, u, p, t); u = [0.229064, 0.0445711, 0.726365] :: Symbol <: Any
F: sir_ode2(du, u, p, t); p = [0.1, 0.05] :: Symbol <: Any
F: sir_ode2(du, u, p, t); t = 160.26481035931778 :: Symbol <: Any
A: sir_ode2(du, u, p, t); (S, I, R) = [0.229064, 0.0445711, 0.726365]
A: sir_ode2(du, u, p, t); (b, g) = [0.1, 0.05]
A: sir_ode2(du, u, p, t); du[1] = -0.0010209623844058275
A: sir_ode2(du, u, p, t); du[2] = -0.001207592148347803
A: sir_ode2(du, u, p, t); du[3] = 0.0022285545327536305
F: sir_ode2(du, u, p, t); du = [-0.00211388, -0.00182713, 0.00394102] :: Symbol <: Any
F: sir_ode2(du, u, p, t); u = [0.233414, 0.0441549, 0.722431] :: Symbol <: Any
F: sir_ode2(du, u, p, t); p = [0.1, 0.05] :: Symbol <: Any
F: sir_ode2(du, u, p, t); t = 160.26481035931778 :: Symbol <: Any
A: sir_ode2(du, u, p, t); (S, I, R) = [0.233414, 0.0441549, 0.722431]
A: sir_ode2(du, u, p, t); (b, g) = [0.1, 0.05]
A: sir_ode2(du, u, p, t); du[1] = -0.0010306360816700142
A: sir_ode2(du, u, p, t); du[2] = -0.0011771087210239914
A: sir_ode2(du, u, p, t); du[3] = 0.0022077448026940056
F: sir_ode2(du, u, p, t); du = [-0.0018754, -0.00172641, 0.00360181] :: Symbol <: Any
F: sir_ode2(du, u, p, t); u = [0.227628, 0.0375473, 0.734824] :: Symbol <: Any
F: sir_ode2(du, u, p, t); p = [0.1, 0.05] :: Symbol <: Any
F: sir_ode2(du, u, p, t); t = 165.8782513720844 :: Symbol <: Any
A: sir_ode2(du, u, p, t); (S, I, R) = [0.227628, 0.0375473, 0.734824]
A: sir_ode2(du, u, p, t); (b, g) = [0.1, 0.05]
A: sir_ode2(du, u, p, t); du[1] = -0.0008546822382860269
A: sir_ode2(du, u, p, t); du[2] = -0.0010226810458539106
A: sir_ode2(du, u, p, t); du[3] = 0.0018773632841399377
F: sir_ode2(du, u, p, t); du = [-0.00167246, -0.00161857, 0.00329103] :: Symbol <: Any
F: sir_ode2(du, u, p, t); u = [0.223721, 0.0325408, 0.743738] :: Symbol <: Any
F: sir_ode2(du, u, p, t); p = [0.1, 0.05] :: Symbol <: Any
F: sir_ode2(du, u, p, t); t = 171.66602285108604 :: Symbol <: Any
A: sir_ode2(du, u, p, t); (S, I, R) = [0.223721, 0.0325408, 0.743738]
A: sir_ode2(du, u, p, t); (b, g) = [0.1, 0.05]
A: sir_ode2(du, u, p, t); du[1] = -0.0007280062652644225
A: sir_ode2(du, u, p, t); du[2] = -0.0008990314569857057
A: sir_ode2(du, u, p, t); du[3] = 0.0016270377222501282
F: sir_ode2(du, u, p, t); du = [-0.0011011, -0.00125423, 0.00235533] :: Symbol <: Any
F: sir_ode2(du, u, p, t); u = [0.208088, 0.0152712, 0.776641] :: Symbol <: Any
F: sir_ode2(du, u, p, t); p = [0.1, 0.05] :: Symbol <: Any
F: sir_ode2(du, u, p, t); t = 191.64429428161574 :: Symbol <: Any
A: sir_ode2(du, u, p, t); (S, I, R) = [0.208088, 0.0152712, 0.776641]
A: sir_ode2(du, u, p, t); (b, g) = [0.1, 0.05]
A: sir_ode2(du, u, p, t); du[1] = -0.0003177751681359188
A: sir_ode2(du, u, p, t); du[2] = -0.0004457855170777483
A: sir_ode2(du, u, p, t); du[3] = 0.0007635606852136671
F: sir_ode2(du, u, p, t); du = [-0.0010362, -0.001217, 0.0022532] :: Symbol <: Any
F: sir_ode2(du, u, p, t); u = [0.20291, 0.0109884, 0.786101] :: Symbol <: Any
F: sir_ode2(du, u, p, t); p = [0.1, 0.05] :: Symbol <: Any
F: sir_ode2(du, u, p, t); t = 194.4344722529338 :: Symbol <: Any
A: sir_ode2(du, u, p, t); (S, I, R) = [0.20291, 0.0109884, 0.786101]
A: sir_ode2(du, u, p, t); (b, g) = [0.1, 0.05]
A: sir_ode2(du, u, p, t); du[1] = -0.0002229656482756417
A: sir_ode2(du, u, p, t); du[2] = -0.00032645344509017163
A: sir_ode2(du, u, p, t); du[3] = 0.0005494190933658133
F: sir_ode2(du, u, p, t); du = [-0.00102096, -0.00120759, 0.00222855] :: Symbol <: Any
F: sir_ode2(du, u, p, t); u = [0.20173, 0.00998863, 0.788281] :: Symbol <: Any
F: sir_ode2(du, u, p, t); p = [0.1, 0.05] :: Symbol <: Any
F: sir_ode2(du, u, p, t); t = 195.1309036063155 :: Symbol <: Any
A: sir_ode2(du, u, p, t); (S, I, R) = [0.20173, 0.00998863, 0.788281]
A: sir_ode2(du, u, p, t); (b, g) = [0.1, 0.05]
A: sir_ode2(du, u, p, t); du[1] = -0.00020150066345937814
A: sir_ode2(du, u, p, t); du[2] = -0.0002979306677861277
A: sir_ode2(du, u, p, t); du[3] = 0.0004994313312455058
F: sir_ode2(du, u, p, t); du = [-0.00103064, -0.00117711, 0.00220774] :: Symbol <: Any
F: sir_ode2(du, u, p, t); u = [0.211434, 0.0166631, 0.771903] :: Symbol <: Any
F: sir_ode2(du, u, p, t); p = [0.1, 0.05] :: Symbol <: Any
F: sir_ode2(du, u, p, t); t = 195.1309036063155 :: Symbol <: Any
A: sir_ode2(du, u, p, t); (S, I, R) = [0.211434, 0.0166631, 0.771903]
A: sir_ode2(du, u, p, t); (b, g) = [0.1, 0.05]
A: sir_ode2(du, u, p, t); du[1] = -0.00035231426403672407
A: sir_ode2(du, u, p, t); du[2] = -0.00048083900828994896
A: sir_ode2(du, u, p, t); du[3] = 0.000833153272326673
F: sir_ode2(du, u, p, t); du = [-0.000854682, -0.00102268, 0.00187736] :: Symbol <: Any
F: sir_ode2(du, u, p, t); u = [0.211158, 0.0162861, 0.772556] :: Symbol <: Any
F: sir_ode2(du, u, p, t); p = [0.1, 0.05] :: Symbol <: Any
F: sir_ode2(du, u, p, t); t = 195.9148281256987 :: Symbol <: Any
A: sir_ode2(du, u, p, t); (S, I, R) = [0.211158, 0.0162861, 0.772556]
A: sir_ode2(du, u, p, t); (b, g) = [0.1, 0.05]
A: sir_ode2(du, u, p, t); du[1] = -0.00034389462732481213
A: sir_ode2(du, u, p, t); du[2] = -0.0004704115705781412
A: sir_ode2(du, u, p, t); du[3] = 0.0008143061979029533
F: sir_ode2(du, u, p, t); du = [-0.000728006, -0.000899031, 0.00162704] :: Symbol <: Any
F: sir_ode2(du, u, p, t); u = [0.210887, 0.0159145, 0.773198] :: Symbol <: Any
F: sir_ode2(du, u, p, t); p = [0.1, 0.05] :: Symbol <: Any
F: sir_ode2(du, u, p, t); t = 196.72309812705035 :: Symbol <: Any
A: sir_ode2(du, u, p, t); (S, I, R) = [0.210887, 0.0159145, 0.773198]
A: sir_ode2(du, u, p, t); (b, g) = [0.1, 0.05]
A: sir_ode2(du, u, p, t); du[1] = -0.00033561638272460294
A: sir_ode2(du, u, p, t); du[2] = -0.0004601090824203983
A: sir_ode2(du, u, p, t); du[3] = 0.0007957254651450012
F: sir_ode2(du, u, p, t); du = [-0.000317775, -0.000445786, 0.000763561] :: Symbol <: Any
F: sir_ode2(du, u, p, t); u = [0.209984, 0.0146734, 0.775342] :: Symbol <: Any
F: sir_ode2(du, u, p, t); p = [0.1, 0.05] :: Symbol <: Any
F: sir_ode2(du, u, p, t); t = 199.51309036063157 :: Symbol <: Any
A: sir_ode2(du, u, p, t); (S, I, R) = [0.209984, 0.0146734, 0.775342]
A: sir_ode2(du, u, p, t); (b, g) = [0.1, 0.05]
A: sir_ode2(du, u, p, t); du[1] = -0.00030811769629070544
A: sir_ode2(du, u, p, t); du[2] = -0.0004255507342359263
A: sir_ode2(du, u, p, t); du[3] = 0.0007336684305266317
F: sir_ode2(du, u, p, t); du = [-0.000222966, -0.000326453, 0.000549419] :: Symbol <: Any
F: sir_ode2(du, u, p, t); u = [0.209861, 0.0145037, 0.775635] :: Symbol <: Any
F: sir_ode2(du, u, p, t); p = [0.1, 0.05] :: Symbol <: Any
F: sir_ode2(du, u, p, t); t = 199.90274243325234 :: Symbol <: Any
A: sir_ode2(du, u, p, t); (S, I, R) = [0.209861, 0.0145037, 0.775635]
A: sir_ode2(du, u, p, t); (b, g) = [0.1, 0.05]
A: sir_ode2(du, u, p, t); du[1] = -0.00030437664465059525
A: sir_ode2(du, u, p, t); du[2] = -0.0004208099711789855
A: sir_ode2(du, u, p, t); du[3] = 0.0007251866158295807
F: sir_ode2(du, u, p, t); du = [-0.000201501, -0.000297931, 0.000499431] :: Symbol <: Any
F: sir_ode2(du, u, p, t); u = [0.20983, 0.0144618, 0.775708] :: Symbol <: Any
F: sir_ode2(du, u, p, t); p = [0.1, 0.05] :: Symbol <: Any
F: sir_ode2(du, u, p, t); t = 200.0 :: Symbol <: Any
A: sir_ode2(du, u, p, t); (S, I, R) = [0.20983, 0.0144618, 0.775708]
A: sir_ode2(du, u, p, t); (b, g) = [0.1, 0.05]
A: sir_ode2(du, u, p, t); du[1] = -0.0003034532173363343
A: sir_ode2(du, u, p, t); du[2] = -0.00041963819844869575
A: sir_ode2(du, u, p, t); du[3] = 0.00072309141578503
F: sir_ode2(du, u, p, t); du = [-0.000352314, -0.000480839, 0.000833153] :: Symbol <: Any
F: sir_ode2(du, u, p, t); u = [0.20984, 0.0144731, 0.775687] :: Symbol <: Any
F: sir_ode2(du, u, p, t); p = [0.1, 0.05] :: Symbol <: Any
F: sir_ode2(du, u, p, t); t = 200.0 :: Symbol <: Any
A: sir_ode2(du, u, p, t); (S, I, R) = [0.20984, 0.0144731, 0.775687]
A: sir_ode2(du, u, p, t); (b, g) = [0.1, 0.05]
A: sir_ode2(du, u, p, t); du[1] = -0.00030370359276208
A: sir_ode2(du, u, p, t); du[2] = -0.0004199512021765236
A: sir_ode2(du, u, p, t); du[3] = 0.0007236547949386036
sir_sol = solve(sir_prob2, saveat=0.1) = retcode: Success
Interpolation: 1st order linear
t: [0.0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 1.7, 1.8, 1.9, 2.0, 2.1, 2.2, 2.3, 2.4, 2.5, 2.6, 2.7, 2.8, 2.9, 3.0, 3.1, 3.2, 3.3, 3.4, 3.5, 3.6, 3.7, 3.8, 3.9, 4.0, 4.1, 4.2, 4.3, 4.4, 4.5, 4.6, 4.7, 4.8, 4.9, 5.0, 5.1, 5.2, 5.3, 5.4, 5.5, 5.6, 5.7, 5.8, 5.9, 6.0, 6.1, 6.2, 6.3, 6.4, 6.5, 6.6, 6.7, 6.8, 6.9, 7.0, 7.1, 7.2, 7.3, 7.4, 7.5, 7.6, 7.7, 7.8, 7.9, 8.0, 8.1, 8.2, 8.3, 8.4, 8.5, 8.6, 8.7, 8.8, 8.9, 9.0, 9.1, 9.2, 9.3, 9.4, 9.5, 9.6, 9.7, 9.8, 9.9, 10.0, 10.1, 10.2, 10.3, 10.4, 10.5, 10.6, 10.7, 10.8, 10.9, 11.0, 11.1, 11.2, 11.3, 11.4, 11.5, 11.6, 11.7, 11.8, 11.9, 12.0, 12.1, 12.2, 12.3, 12.4, 12.5, 12.6, 12.7, 12.8, 12.9, 13.0, 13.1, 13.2, 13.3, 13.4, 13.5, 13.6, 13.7, 13.8, 13.9, 14.0, 14.1, 14.2, 14.3, 14.4, 14.5, 14.6, 14.7, 14.8, 14.9, 15.0, 15.1, 15.2, 15.3, 15.4, 15.5, 15.6, 15.7, 15.8, 15.9, 16.0, 16.1, 16.2, 16.3, 16.4, 16.5, 16.6, 16.7, 16.8, 16.9, 17.0, 17.1, 17.2, 17.3, 17.4, 17.5, 17.6, 17.7, 17.8, 17.9, 18.0, 18.1, 18.2, 18.3, 18.4, 18.5, 18.6, 18.7, 18.8, 18.9, 19.0, 19.1, 19.2, 19.3, 19.4, 19.5, 19.6, 19.7, 19.8, 19.9, 20.0, 20.1, 20.2, 20.3, 20.4, 20.5, 20.6, 20.7, 20.8, 20.9, 21.0, 21.1, 21.2, 21.3, 21.4, 21.5, 21.6, 21.7, 21.8, 21.9, 22.0, 22.1, 22.2, 22.3, 22.4, 22.5, 22.6, 22.7, 22.8, 22.9, 23.0, 23.1, 23.2, 23.3, 23.4, 23.5, 23.6, 23.7, 23.8, 23.9, 24.0, 24.1, 24.2, 24.3, 24.4, 24.5, 24.6, 24.7, 24.8, 24.9, 25.0, 25.1, 25.2, 25.3, 25.4, 25.5, 25.6, 25.7, 25.8, 25.9, 26.0, 26.1, 26.2, 26.3, 26.4, 26.5, 26.6, 26.7, 26.8, 26.9, 27.0, 27.1, 27.2, 27.3, 27.4, 27.5, 27.6, 27.7, 27.8, 27.9, 28.0, 28.1, 28.2, 28.3, 28.4, 28.5, 28.6, 28.7, 28.8, 28.9, 29.0, 29.1, 29.2, 29.3, 29.4, 29.5, 29.6, 29.7, 29.8, 29.9, 30.0, 30.1, 30.2, 30.3, 30.4, 30.5, 30.6, 30.7, 30.8, 30.9, 31.0, 31.1, 31.2, 31.3, 31.4, 31.5, 31.6, 31.7, 31.8, 31.9, 32.0, 32.1, 32.2, 32.3, 32.4, 32.5, 32.6, 32.7, 32.8, 32.9, 33.0, 33.1, 33.2, 33.3, 33.4, 33.5, 33.6, 33.7, 33.8, 33.9, 34.0, 34.1, 34.2, 34.3, 34.4, 34.5, 34.6, 34.7, 34.8, 34.9, 35.0, 35.1, 35.2, 35.3, 35.4, 35.5, 35.6, 35.7, 35.8, 35.9, 36.0, 36.1, 36.2, 36.3, 36.4, 36.5, 36.6, 36.7, 36.8, 36.9, 37.0, 37.1, 37.2, 37.3, 37.4, 37.5, 37.6, 37.7, 37.8, 37.9, 38.0, 38.1, 38.2, 38.3, 38.4, 38.5, 38.6, 38.7, 38.8, 38.9, 39.0, 39.1, 39.2, 39.3, 39.4, 39.5, 39.6, 39.7, 39.8, 39.9, 40.0, 40.1, 40.2, 40.3, 40.4, 40.5, 40.6, 40.7, 40.8, 40.9, 41.0, 41.1, 41.2, 41.3, 41.4, 41.5, 41.6, 41.7, 41.8, 41.9, 42.0, 42.1, 42.2, 42.3, 42.4, 42.5, 42.6, 42.7, 42.8, 42.9, 43.0, 43.1, 43.2, 43.3, 43.4, 43.5, 43.6, 43.7, 43.8, 43.9, 44.0, 44.1, 44.2, 44.3, 44.4, 44.5, 44.6, 44.7, 44.8, 44.9, 45.0, 45.1, 45.2, 45.3, 45.4, 45.5, 45.6, 45.7, 45.8, 45.9, 46.0, 46.1, 46.2, 46.3, 46.4, 46.5, 46.6, 46.7, 46.8, 46.9, 47.0, 47.1, 47.2, 47.3, 47.4, 47.5, 47.6, 47.7, 47.8, 47.9, 48.0, 48.1, 48.2, 48.3, 48.4, 48.5, 48.6, 48.7, 48.8, 48.9, 49.0, 49.1, 49.2, 49.3, 49.4, 49.5, 49.6, 49.7, 49.8, 49.9, 50.0, 50.1, 50.2, 50.3, 50.4, 50.5, 50.6, 50.7, 50.8, 50.9, 51.0, 51.1, 51.2, 51.3, 51.4, 51.5, 51.6, 51.7, 51.8, 51.9, 52.0, 52.1, 52.2, 52.3, 52.4, 52.5, 52.6, 52.7, 52.8, 52.9, 53.0, 53.1, 53.2, 53.3, 53.4, 53.5, 53.6, 53.7, 53.8, 53.9, 54.0, 54.1, 54.2, 54.3, 54.4, 54.5, 54.6, 54.7, 54.8, 54.9, 55.0, 55.1, 55.2, 55.3, 55.4, 55.5, 55.6, 55.7, 55.8, 55.9, 56.0, 56.1, 56.2, 56.3, 56.4, 56.5, 56.6, 56.7, 56.8, 56.9, 57.0, 57.1, 57.2, 57.3, 57.4, 57.5, 57.6, 57.7, 57.8, 57.9, 58.0, 58.1, 58.2, 58.3, 58.4, 58.5, 58.6, 58.7, 58.8, 58.9, 59.0, 59.1, 59.2, 59.3, 59.4, 59.5, 59.6, 59.7, 59.8, 59.9, 60.0, 60.1, 60.2, 60.3, 60.4, 60.5, 60.6, 60.7, 60.8, 60.9, 61.0, 61.1, 61.2, 61.3, 61.4, 61.5, 61.6, 61.7, 61.8, 61.9, 62.0, 62.1, 62.2, 62.3, 62.4, 62.5, 62.6, 62.7, 62.8, 62.9, 63.0, 63.1, 63.2, 63.3, 63.4, 63.5, 63.6, 63.7, 63.8, 63.9, 64.0, 64.1, 64.2, 64.3, 64.4, 64.5, 64.6, 64.7, 64.8, 64.9, 65.0, 65.1, 65.2, 65.3, 65.4, 65.5, 65.6, 65.7, 65.8, 65.9, 66.0, 66.1, 66.2, 66.3, 66.4, 66.5, 66.6, 66.7, 66.8, 66.9, 67.0, 67.1, 67.2, 67.3, 67.4, 67.5, 67.6, 67.7, 67.8, 67.9, 68.0, 68.1, 68.2, 68.3, 68.4, 68.5, 68.6, 68.7, 68.8, 68.9, 69.0, 69.1, 69.2, 69.3, 69.4, 69.5, 69.6, 69.7, 69.8, 69.9, 70.0, 70.1, 70.2, 70.3, 70.4, 70.5, 70.6, 70.7, 70.8, 70.9, 71.0, 71.1, 71.2, 71.3, 71.4, 71.5, 71.6, 71.7, 71.8, 71.9, 72.0, 72.1, 72.2, 72.3, 72.4, 72.5, 72.6, 72.7, 72.8, 72.9, 73.0, 73.1, 73.2, 73.3, 73.4, 73.5, 73.6, 73.7, 73.8, 73.9, 74.0, 74.1, 74.2, 74.3, 74.4, 74.5, 74.6, 74.7, 74.8, 74.9, 75.0, 75.1, 75.2, 75.3, 75.4, 75.5, 75.6, 75.7, 75.8, 75.9, 76.0, 76.1, 76.2, 76.3, 76.4, 76.5, 76.6, 76.7, 76.8, 76.9, 77.0, 77.1, 77.2, 77.3, 77.4, 77.5, 77.6, 77.7, 77.8, 77.9, 78.0, 78.1, 78.2, 78.3, 78.4, 78.5, 78.6, 78.7, 78.8, 78.9, 79.0, 79.1, 79.2, 79.3, 79.4, 79.5, 79.6, 79.7, 79.8, 79.9, 80.0, 80.1, 80.2, 80.3, 80.4, 80.5, 80.6, 80.7, 80.8, 80.9, 81.0, 81.1, 81.2, 81.3, 81.4, 81.5, 81.6, 81.7, 81.8, 81.9, 82.0, 82.1, 82.2, 82.3, 82.4, 82.5, 82.6, 82.7, 82.8, 82.9, 83.0, 83.1, 83.2, 83.3, 83.4, 83.5, 83.6, 83.7, 83.8, 83.9, 84.0, 84.1, 84.2, 84.3, 84.4, 84.5, 84.6, 84.7, 84.8, 84.9, 85.0, 85.1, 85.2, 85.3, 85.4, 85.5, 85.6, 85.7, 85.8, 85.9, 86.0, 86.1, 86.2, 86.3, 86.4, 86.5, 86.6, 86.7, 86.8, 86.9, 87.0, 87.1, 87.2, 87.3, 87.4, 87.5, 87.6, 87.7, 87.8, 87.9, 88.0, 88.1, 88.2, 88.3, 88.4, 88.5, 88.6, 88.7, 88.8, 88.9, 89.0, 89.1, 89.2, 89.3, 89.4, 89.5, 89.6, 89.7, 89.8, 89.9, 90.0, 90.1, 90.2, 90.3, 90.4, 90.5, 90.6, 90.7, 90.8, 90.9, 91.0, 91.1, 91.2, 91.3, 91.4, 91.5, 91.6, 91.7, 91.8, 91.9, 92.0, 92.1, 92.2, 92.3, 92.4, 92.5, 92.6, 92.7, 92.8, 92.9, 93.0, 93.1, 93.2, 93.3, 93.4, 93.5, 93.6, 93.7, 93.8, 93.9, 94.0, 94.1, 94.2, 94.3, 94.4, 94.5, 94.6, 94.7, 94.8, 94.9, 95.0, 95.1, 95.2, 95.3, 95.4, 95.5, 95.6, 95.7, 95.8, 95.9, 96.0, 96.1, 96.2, 96.3, 96.4, 96.5, 96.6, 96.7, 96.8, 96.9, 97.0, 97.1, 97.2, 97.3, 97.4, 97.5, 97.6, 97.7, 97.8, 97.9, 98.0, 98.1, 98.2, 98.3, 98.4, 98.5, 98.6, 98.7, 98.8, 98.9, 99.0, 99.1, 99.2, 99.3, 99.4, 99.5, 99.6, 99.7, 99.8, 99.9, 100.0, 100.1, 100.2, 100.3, 100.4, 100.5, 100.6, 100.7, 100.8, 100.9, 101.0, 101.1, 101.2, 101.3, 101.4, 101.5, 101.6, 101.7, 101.8, 101.9, 102.0, 102.1, 102.2, 102.3, 102.4, 102.5, 102.6, 102.7, 102.8, 102.9, 103.0, 103.1, 103.2, 103.3, 103.4, 103.5, 103.6, 103.7, 103.8, 103.9, 104.0, 104.1, 104.2, 104.3, 104.4, 104.5, 104.6, 104.7, 104.8, 104.9, 105.0, 105.1, 105.2, 105.3, 105.4, 105.5, 105.6, 105.7, 105.8, 105.9, 106.0, 106.1, 106.2, 106.3, 106.4, 106.5, 106.6, 106.7, 106.8, 106.9, 107.0, 107.1, 107.2, 107.3, 107.4, 107.5, 107.6, 107.7, 107.8, 107.9, 108.0, 108.1, 108.2, 108.3, 108.4, 108.5, 108.6, 108.7, 108.8, 108.9, 109.0, 109.1, 109.2, 109.3, 109.4, 109.5, 109.6, 109.7, 109.8, 109.9, 110.0, 110.1, 110.2, 110.3, 110.4, 110.5, 110.6, 110.7, 110.8, 110.9, 111.0, 111.1, 111.2, 111.3, 111.4, 111.5, 111.6, 111.7, 111.8, 111.9, 112.0, 112.1, 112.2, 112.3, 112.4, 112.5, 112.6, 112.7, 112.8, 112.9, 113.0, 113.1, 113.2, 113.3, 113.4, 113.5, 113.6, 113.7, 113.8, 113.9, 114.0, 114.1, 114.2, 114.3, 114.4, 114.5, 114.6, 114.7, 114.8, 114.9, 115.0, 115.1, 115.2, 115.3, 115.4, 115.5, 115.6, 115.7, 115.8, 115.9, 116.0, 116.1, 116.2, 116.3, 116.4, 116.5, 116.6, 116.7, 116.8, 116.9, 117.0, 117.1, 117.2, 117.3, 117.4, 117.5, 117.6, 117.7, 117.8, 117.9, 118.0, 118.1, 118.2, 118.3, 118.4, 118.5, 118.6, 118.7, 118.8, 118.9, 119.0, 119.1, 119.2, 119.3, 119.4, 119.5, 119.6, 119.7, 119.8, 119.9, 120.0, 120.1, 120.2, 120.3, 120.4, 120.5, 120.6, 120.7, 120.8, 120.9, 121.0, 121.1, 121.2, 121.3, 121.4, 121.5, 121.6, 121.7, 121.8, 121.9, 122.0, 122.1, 122.2, 122.3, 122.4, 122.5, 122.6, 122.7, 122.8, 122.9, 123.0, 123.1, 123.2, 123.3, 123.4, 123.5, 123.6, 123.7, 123.8, 123.9, 124.0, 124.1, 124.2, 124.3, 124.4, 124.5, 124.6, 124.7, 124.8, 124.9, 125.0, 125.1, 125.2, 125.3, 125.4, 125.5, 125.6, 125.7, 125.8, 125.9, 126.0, 126.1, 126.2, 126.3, 126.4, 126.5, 126.6, 126.7, 126.8, 126.9, 127.0, 127.1, 127.2, 127.3, 127.4, 127.5, 127.6, 127.7, 127.8, 127.9, 128.0, 128.1, 128.2, 128.3, 128.4, 128.5, 128.6, 128.7, 128.8, 128.9, 129.0, 129.1, 129.2, 129.3, 129.4, 129.5, 129.6, 129.7, 129.8, 129.9, 130.0, 130.1, 130.2, 130.3, 130.4, 130.5, 130.6, 130.7, 130.8, 130.9, 131.0, 131.1, 131.2, 131.3, 131.4, 131.5, 131.6, 131.7, 131.8, 131.9, 132.0, 132.1, 132.2, 132.3, 132.4, 132.5, 132.6, 132.7, 132.8, 132.9, 133.0, 133.1, 133.2, 133.3, 133.4, 133.5, 133.6, 133.7, 133.8, 133.9, 134.0, 134.1, 134.2, 134.3, 134.4, 134.5, 134.6, 134.7, 134.8, 134.9, 135.0, 135.1, 135.2, 135.3, 135.4, 135.5, 135.6, 135.7, 135.8, 135.9, 136.0, 136.1, 136.2, 136.3, 136.4, 136.5, 136.6, 136.7, 136.8, 136.9, 137.0, 137.1, 137.2, 137.3, 137.4, 137.5, 137.6, 137.7, 137.8, 137.9, 138.0, 138.1, 138.2, 138.3, 138.4, 138.5, 138.6, 138.7, 138.8, 138.9, 139.0, 139.1, 139.2, 139.3, 139.4, 139.5, 139.6, 139.7, 139.8, 139.9, 140.0, 140.1, 140.2, 140.3, 140.4, 140.5, 140.6, 140.7, 140.8, 140.9, 141.0, 141.1, 141.2, 141.3, 141.4, 141.5, 141.6, 141.7, 141.8, 141.9, 142.0, 142.1, 142.2, 142.3, 142.4, 142.5, 142.6, 142.7, 142.8, 142.9, 143.0, 143.1, 143.2, 143.3, 143.4, 143.5, 143.6, 143.7, 143.8, 143.9, 144.0, 144.1, 144.2, 144.3, 144.4, 144.5, 144.6, 144.7, 144.8, 144.9, 145.0, 145.1, 145.2, 145.3, 145.4, 145.5, 145.6, 145.7, 145.8, 145.9, 146.0, 146.1, 146.2, 146.3, 146.4, 146.5, 146.6, 146.7, 146.8, 146.9, 147.0, 147.1, 147.2, 147.3, 147.4, 147.5, 147.6, 147.7, 147.8, 147.9, 148.0, 148.1, 148.2, 148.3, 148.4, 148.5, 148.6, 148.7, 148.8, 148.9, 149.0, 149.1, 149.2, 149.3, 149.4, 149.5, 149.6, 149.7, 149.8, 149.9, 150.0, 150.1, 150.2, 150.3, 150.4, 150.5, 150.6, 150.7, 150.8, 150.9, 151.0, 151.1, 151.2, 151.3, 151.4, 151.5, 151.6, 151.7, 151.8, 151.9, 152.0, 152.1, 152.2, 152.3, 152.4, 152.5, 152.6, 152.7, 152.8, 152.9, 153.0, 153.1, 153.2, 153.3, 153.4, 153.5, 153.6, 153.7, 153.8, 153.9, 154.0, 154.1, 154.2, 154.3, 154.4, 154.5, 154.6, 154.7, 154.8, 154.9, 155.0, 155.1, 155.2, 155.3, 155.4, 155.5, 155.6, 155.7, 155.8, 155.9, 156.0, 156.1, 156.2, 156.3, 156.4, 156.5, 156.6, 156.7, 156.8, 156.9, 157.0, 157.1, 157.2, 157.3, 157.4, 157.5, 157.6, 157.7, 157.8, 157.9, 158.0, 158.1, 158.2, 158.3, 158.4, 158.5, 158.6, 158.7, 158.8, 158.9, 159.0, 159.1, 159.2, 159.3, 159.4, 159.5, 159.6, 159.7, 159.8, 159.9, 160.0, 160.1, 160.2, 160.3, 160.4, 160.5, 160.6, 160.7, 160.8, 160.9, 161.0, 161.1, 161.2, 161.3, 161.4, 161.5, 161.6, 161.7, 161.8, 161.9, 162.0, 162.1, 162.2, 162.3, 162.4, 162.5, 162.6, 162.7, 162.8, 162.9, 163.0, 163.1, 163.2, 163.3, 163.4, 163.5, 163.6, 163.7, 163.8, 163.9, 164.0, 164.1, 164.2, 164.3, 164.4, 164.5, 164.6, 164.7, 164.8, 164.9, 165.0, 165.1, 165.2, 165.3, 165.4, 165.5, 165.6, 165.7, 165.8, 165.9, 166.0, 166.1, 166.2, 166.3, 166.4, 166.5, 166.6, 166.7, 166.8, 166.9, 167.0, 167.1, 167.2, 167.3, 167.4, 167.5, 167.6, 167.7, 167.8, 167.9, 168.0, 168.1, 168.2, 168.3, 168.4, 168.5, 168.6, 168.7, 168.8, 168.9, 169.0, 169.1, 169.2, 169.3, 169.4, 169.5, 169.6, 169.7, 169.8, 169.9, 170.0, 170.1, 170.2, 170.3, 170.4, 170.5, 170.6, 170.7, 170.8, 170.9, 171.0, 171.1, 171.2, 171.3, 171.4, 171.5, 171.6, 171.7, 171.8, 171.9, 172.0, 172.1, 172.2, 172.3, 172.4, 172.5, 172.6, 172.7, 172.8, 172.9, 173.0, 173.1, 173.2, 173.3, 173.4, 173.5, 173.6, 173.7, 173.8, 173.9, 174.0, 174.1, 174.2, 174.3, 174.4, 174.5, 174.6, 174.7, 174.8, 174.9, 175.0, 175.1, 175.2, 175.3, 175.4, 175.5, 175.6, 175.7, 175.8, 175.9, 176.0, 176.1, 176.2, 176.3, 176.4, 176.5, 176.6, 176.7, 176.8, 176.9, 177.0, 177.1, 177.2, 177.3, 177.4, 177.5, 177.6, 177.7, 177.8, 177.9, 178.0, 178.1, 178.2, 178.3, 178.4, 178.5, 178.6, 178.7, 178.8, 178.9, 179.0, 179.1, 179.2, 179.3, 179.4, 179.5, 179.6, 179.7, 179.8, 179.9, 180.0, 180.1, 180.2, 180.3, 180.4, 180.5, 180.6, 180.7, 180.8, 180.9, 181.0, 181.1, 181.2, 181.3, 181.4, 181.5, 181.6, 181.7, 181.8, 181.9, 182.0, 182.1, 182.2, 182.3, 182.4, 182.5, 182.6, 182.7, 182.8, 182.9, 183.0, 183.1, 183.2, 183.3, 183.4, 183.5, 183.6, 183.7, 183.8, 183.9, 184.0, 184.1, 184.2, 184.3, 184.4, 184.5, 184.6, 184.7, 184.8, 184.9, 185.0, 185.1, 185.2, 185.3, 185.4, 185.5, 185.6, 185.7, 185.8, 185.9, 186.0, 186.1, 186.2, 186.3, 186.4, 186.5, 186.6, 186.7, 186.8, 186.9, 187.0, 187.1, 187.2, 187.3, 187.4, 187.5, 187.6, 187.7, 187.8, 187.9, 188.0, 188.1, 188.2, 188.3, 188.4, 188.5, 188.6, 188.7, 188.8, 188.9, 189.0, 189.1, 189.2, 189.3, 189.4, 189.5, 189.6, 189.7, 189.8, 189.9, 190.0, 190.1, 190.2, 190.3, 190.4, 190.5, 190.6, 190.7, 190.8, 190.9, 191.0, 191.1, 191.2, 191.3, 191.4, 191.5, 191.6, 191.7, 191.8, 191.9, 192.0, 192.1, 192.2, 192.3, 192.4, 192.5, 192.6, 192.7, 192.8, 192.9, 193.0, 193.1, 193.2, 193.3, 193.4, 193.5, 193.6, 193.7, 193.8, 193.9, 194.0, 194.1, 194.2, 194.3, 194.4, 194.5, 194.6, 194.7, 194.8, 194.9, 195.0, 195.1, 195.2, 195.3, 195.4, 195.5, 195.6, 195.7, 195.8, 195.9, 196.0, 196.1, 196.2, 196.3, 196.4, 196.5, 196.6, 196.7, 196.8, 196.9, 197.0, 197.1, 197.2, 197.3, 197.4, 197.5, 197.6, 197.7, 197.8, 197.9, 198.0, 198.1, 198.2, 198.3, 198.4, 198.5, 198.6, 198.7, 198.8, 198.9, 199.0, 199.1, 199.2, 199.3, 199.4, 199.5, 199.6, 199.7, 199.8, 199.9, 200.0]
u: Array{Float64,1}[[0.99, 0.01, 0.0], [0.989901, 0.0100491, 5.01227e-5], [0.989801, 0.0100985, 0.000100492], [0.989701, 0.010148, 0.000151108], [0.9896, 0.0101979, 0.000201972], [0.989499, 0.0102479, 0.000253087], [0.989397, 0.0102982, 0.000304452], [0.989295, 0.0103487, 0.000356069], [0.989193, 0.0103995, 0.000407939], [0.989089, 0.0104504, 0.000460064], [0.988986, 0.0105017, 0.000512444], [0.988882, 0.0105531, 0.000565081], [0.988777, 0.0106049, 0.000617976], [0.988672, 0.0106568, 0.00067113], [0.988566, 0.010709, 0.000724544], [0.98846, 0.0107615, 0.00077822], [0.988354, 0.0108141, 0.000832159], [0.988247, 0.0108671, 0.000886362], [0.988139, 0.0109203, 0.000940831], [0.988031, 0.0109737, 0.000995565], [0.987922, 0.0110274, 0.00105057], [0.987813, 0.0110813, 0.00110584], [0.987703, 0.0111355, 0.00116138], [0.987593, 0.0111899, 0.00121719], [0.987482, 0.0112446, 0.00127328], [0.987371, 0.0112996, 0.00132964], [0.987259, 0.0113547, 0.00138628], [0.987147, 0.0114102, 0.00144319], [0.987034, 0.0114659, 0.00150038], [0.98692, 0.0115219, 0.00155785], [0.986806, 0.0115781, 0.0016156], [0.986692, 0.0116346, 0.00167363], [0.986577, 0.0116914, 0.00173195], [0.986461, 0.0117484, 0.00179054], [0.986345, 0.0118057, 0.00184943], [0.986228, 0.0118632, 0.0019086], [0.986111, 0.011921, 0.00196806], [0.985993, 0.0119791, 0.00202781], [0.985875, 0.0120375, 0.00208785], [0.985756, 0.0120961, 0.00214819], [0.985636, 0.012155, 0.00220882], [0.985516, 0.0122142, 0.00226974], [0.985395, 0.0122736, 0.00233096], [0.985274, 0.0123333, 0.00239247], [0.985152, 0.0123933, 0.00245429], [0.98503, 0.0124536, 0.00251641], [0.984907, 0.0125141, 0.00257883], [0.984784, 0.0125749, 0.00264155], [0.984659, 0.012636, 0.00270458], [0.984535, 0.0126974, 0.00276791], [0.984409, 0.0127591, 0.00283155], [0.984283, 0.012821, 0.0028955], [0.984157, 0.0128833, 0.00295976], [0.98403, 0.0129458, 0.00302433], [0.983902, 0.0130086, 0.00308922], [0.983774, 0.0130717, 0.00315442], [0.983645, 0.0131351, 0.00321994], [0.983516, 0.0131987, 0.00328577], [0.983385, 0.0132627, 0.00335193], [0.983255, 0.0133269, 0.0034184], [0.983123, 0.0133915, 0.0034852], [0.982991, 0.0134563, 0.00355232], [0.982859, 0.0135215, 0.00361976], [0.982726, 0.0135869, 0.00368753], [0.982592, 0.0136527, 0.00375563], [0.982457, 0.0137187, 0.00382406], [0.982322, 0.013785, 0.00389282], [0.982186, 0.0138517, 0.00396191], [0.98205, 0.0139186, 0.00403133], [0.981913, 0.0139859, 0.0041011], [0.981775, 0.0140534, 0.00417119], [0.981637, 0.0141213, 0.00424163], [0.981498, 0.0141894, 0.00431241], [0.981359, 0.0142579, 0.00438352], [0.981218, 0.0143267, 0.00445499], [0.981077, 0.0143958, 0.00452679], [0.980936, 0.0144652, 0.00459894], [0.980794, 0.0145349, 0.00467144], [0.980651, 0.014605, 0.00474429], [0.980507, 0.0146753, 0.00481749], [0.980363, 0.014746, 0.00489105], [0.980218, 0.014817, 0.00496496], [0.980072, 0.0148883, 0.00503922], [0.979926, 0.01496, 0.00511384], [0.979779, 0.0150319, 0.00518882], [0.979632, 0.0151042, 0.00526416], [0.979483, 0.0151768, 0.00533986], [0.979334, 0.0152497, 0.00541593], [0.979185, 0.015323, 0.00549236], [0.979034, 0.0153966, 0.00556916], [0.978883, 0.0154705, 0.00564632], [0.978731, 0.0155448, 0.00572386], [0.978579, 0.0156193, 0.00580177], [0.978426, 0.0156943, 0.00588006], [0.978272, 0.0157695, 0.00595872], [0.978117, 0.0158451, 0.00603775], [0.977962, 0.015921, 0.00611717], [0.977806, 0.0159973, 0.00619696], [0.977649, 0.0160739, 0.00627714], [0.977491, 0.0161509, 0.0063577], [0.977333, 0.0162281, 0.00643865], [0.977174, 0.0163058, 0.00651999], [0.977015, 0.0163838, 0.00660171], [0.976854, 0.0164621, 0.00668382], [0.976693, 0.0165408, 0.00676633], [0.976531, 0.0166198, 0.00684923], [0.976368, 0.0166992, 0.00693253], [0.976205, 0.0167789, 0.00701622], [0.976041, 0.016859, 0.00710032], [0.975876, 0.0169394, 0.00718482], [0.97571, 0.0170202, 0.00726971], [0.975544, 0.0171013, 0.00735502], [0.975376, 0.0171828, 0.00744073], [0.975208, 0.0172647, 0.00752685], [0.97504, 0.0173469, 0.00761338], [0.97487, 0.0174295, 0.00770032], [0.9747, 0.0175125, 0.00778767], [0.974529, 0.0175958, 0.00787544], [0.974357, 0.0176794, 0.00796363], [0.974184, 0.0177635, 0.00805224], [0.974011, 0.0178479, 0.00814126], [0.973837, 0.0179327, 0.00823072], [0.973662, 0.0180179, 0.00832059], [0.973486, 0.0181034, 0.00841089], [0.973309, 0.0181893, 0.00850163], [0.973132, 0.0182756, 0.00859279], [0.972953, 0.0183622, 0.00868438], [0.972774, 0.0184493, 0.00877641], [0.972594, 0.0185367, 0.00886888], [0.972414, 0.0186245, 0.00896178], [0.972232, 0.0187126, 0.00905512], [0.97205, 0.0188012, 0.0091489], [0.971867, 0.0188901, 0.00924313], [0.971683, 0.0189795, 0.00933781], [0.971498, 0.0190692, 0.00943293], [0.971312, 0.0191593, 0.0095285], [0.971126, 0.0192498, 0.00962452], [0.970938, 0.0193407, 0.009721], [0.97075, 0.019432, 0.00981793], [0.970561, 0.0195236, 0.00991532], [0.970371, 0.0196157, 0.0100132], [0.97018, 0.0197082, 0.0101115], [0.969989, 0.019801, 0.0102102], [0.969796, 0.0198943, 0.0103095], [0.969603, 0.019988, 0.0104092], [0.969409, 0.020082, 0.0105094], [0.969214, 0.0201765, 0.01061], [0.969018, 0.0202714, 0.0107111], [0.968821, 0.0203666, 0.0108127], [0.968623, 0.0204623, 0.0109148], [0.968424, 0.0205584, 0.0110173], [0.968225, 0.0206549, 0.0111204], [0.968024, 0.0207518, 0.0112239], [0.967823, 0.0208492, 0.0113279], [0.967621, 0.0209469, 0.0114324], [0.967418, 0.0210451, 0.0115374], [0.967213, 0.0211437, 0.0116428], [0.967009, 0.0212427, 0.0117488], [0.966803, 0.0213421, 0.0118553], [0.966596, 0.0214419, 0.0119622], [0.966388, 0.0215422, 0.0120697], [0.966179, 0.0216429, 0.0121777], [0.96597, 0.021744, 0.0122861], [0.965759, 0.0218455, 0.0123951], [0.965548, 0.0219475, 0.0125046], [0.965336, 0.0220498, 0.0126146], [0.965122, 0.0221527, 0.0127251], [0.964908, 0.0222559, 0.0128361], [0.964693, 0.0223596, 0.0129476], [0.964477, 0.0224637, 0.0130597], [0.964259, 0.0225683, 0.0131723], [0.964041, 0.0226733, 0.0132854], [0.963822, 0.0227787, 0.013399], [0.963602, 0.0228846, 0.0135132], [0.963381, 0.0229909, 0.0136279], [0.963159, 0.0230977, 0.0137431], [0.962936, 0.0232049, 0.0138588], [0.962712, 0.0233125, 0.0139751], [0.962487, 0.0234206, 0.014092], [0.962262, 0.0235291, 0.0142093], [0.962035, 0.0236381, 0.0143273], [0.961807, 0.0237476, 0.0144457], [0.961578, 0.0238575, 0.0145647], [0.961348, 0.0239678, 0.0146843], [0.961117, 0.0240786, 0.0148044], [0.960885, 0.0241899, 0.0149251], [0.960652, 0.0243016, 0.0150463], [0.960418, 0.0244138, 0.0151681], [0.960183, 0.0245264, 0.0152904], [0.959947, 0.0246395, 0.0154134], [0.95971, 0.024753, 0.0155368], [0.959472, 0.0248671, 0.0156609], [0.959233, 0.0249816, 0.0157855], [0.958993, 0.0250965, 0.0159107], [0.958752, 0.0252119, 0.0160365], [0.958509, 0.0253278, 0.0161628], [0.958266, 0.0254442, 0.0162897], [0.958022, 0.025561, 0.0164173], [0.957776, 0.0256783, 0.0165454], [0.95753, 0.0257961, 0.016674], [0.957282, 0.0259144, 0.0168033], [0.957034, 0.0260331, 0.0169332], [0.956784, 0.0261523, 0.0170636], [0.956533, 0.026272, 0.0171947], [0.956281, 0.0263922, 0.0173264], [0.956029, 0.0265129, 0.0174586], [0.955775, 0.026634, 0.0175915], [0.955519, 0.0267556, 0.017725], [0.955263, 0.0268778, 0.017859], [0.955006, 0.0270004, 0.0179937], [0.954747, 0.0271235, 0.018129], [0.954488, 0.0272471, 0.018265], [0.954227, 0.0273711, 0.0184015], [0.953966, 0.0274957, 0.0185387], [0.953703, 0.0276208, 0.0186765], [0.953439, 0.0277464, 0.0188149], [0.953174, 0.0278724, 0.0189539], [0.952907, 0.027999, 0.0190936], [0.95264, 0.028126, 0.0192339], [0.952372, 0.0282536, 0.0193749], [0.952102, 0.0283817, 0.0195165], [0.951831, 0.0285102, 0.0196587], [0.951559, 0.0286393, 0.0198016], [0.951286, 0.0287689, 0.0199451], [0.951012, 0.028899, 0.0200893], [0.950736, 0.0290296, 0.0202341], [0.95046, 0.0291607, 0.0203796], [0.950182, 0.0292923, 0.0205257], [0.949903, 0.0294244, 0.0206725], [0.949623, 0.0295571, 0.0208199], [0.949342, 0.0296902, 0.0209681], [0.949059, 0.0298239, 0.0211168], [0.948776, 0.0299581, 0.0212663], [0.948491, 0.0300928, 0.0214164], [0.948205, 0.030228, 0.0215672], [0.947918, 0.0303638, 0.0217187], [0.947629, 0.0305, 0.0218709], [0.947339, 0.0306368, 0.0220237], [0.947049, 0.0307741, 0.0221772], [0.946757, 0.030912, 0.0223315], [0.946463, 0.0310504, 0.0224864], [0.946169, 0.0311893, 0.022642], [0.945873, 0.0313287, 0.0227983], [0.945576, 0.0314686, 0.0229553], [0.945278, 0.0316091, 0.023113], [0.944979, 0.0317501, 0.0232713], [0.944678, 0.0318917, 0.0234305], [0.944376, 0.0320338, 0.0235903], [0.944073, 0.0321764, 0.0237508], [0.943768, 0.0323195, 0.023912], [0.943463, 0.0324632, 0.024074], [0.943156, 0.0326075, 0.0242367], [0.942848, 0.0327522, 0.0244001], [0.942538, 0.0328976, 0.0245642], [0.942228, 0.0330434, 0.024729], [0.941916, 0.0331898, 0.0248946], [0.941602, 0.0333368, 0.0250609], [0.941288, 0.0334842, 0.025228], [0.940972, 0.0336323, 0.0253958], [0.940655, 0.0337809, 0.0255643], [0.940336, 0.03393, 0.0257336], [0.940017, 0.0340797, 0.0259036], [0.939696, 0.0342299, 0.0260744], [0.939373, 0.0343807, 0.0262459], [0.93905, 0.034532, 0.0264182], [0.938725, 0.0346839, 0.0265912], [0.938399, 0.0348363, 0.026765], [0.938071, 0.0349893, 0.0269396], [0.937742, 0.0351429, 0.0271149], [0.937412, 0.035297, 0.027291], [0.93708, 0.0354517, 0.0274679], [0.936748, 0.0356069, 0.0276456], [0.936413, 0.0357627, 0.027824], [0.936078, 0.0359191, 0.0280032], [0.935741, 0.036076, 0.0281832], [0.935403, 0.0362334, 0.0283639], [0.935063, 0.0363915, 0.0285455], [0.934722, 0.0365501, 0.0287279], [0.93438, 0.0367093, 0.028911], [0.934036, 0.036869, 0.029095], [0.933691, 0.0370293, 0.0292797], [0.933345, 0.0371902, 0.0294652], [0.932997, 0.0373516, 0.0296516], [0.932648, 0.0375136, 0.0298387], [0.932297, 0.0376762, 0.0300267], [0.931945, 0.0378394, 0.0302155], [0.931592, 0.0380031, 0.0304051], [0.931237, 0.0381674, 0.0305955], [0.930881, 0.0383323, 0.0307868], [0.930523, 0.0384977, 0.0309788], [0.930165, 0.0386637, 0.0311717], [0.929804, 0.0388303, 0.0313654], [0.929443, 0.0389975, 0.03156], [0.929079, 0.0391652, 0.0317554], [0.928715, 0.0393336, 0.0319516], [0.928349, 0.0395025, 0.0321487], [0.927981, 0.039672, 0.0323467], [0.927613, 0.039842, 0.0325454], [0.927242, 0.0400127, 0.0327451], [0.926871, 0.0401839, 0.0329455], [0.926497, 0.0403557, 0.0331469], [0.926123, 0.0405281, 0.0333491], [0.925747, 0.0407011, 0.0335522], [0.925369, 0.0408747, 0.0337561], [0.92499, 0.0410488, 0.0339609], [0.92461, 0.0412236, 0.0341666], [0.924228, 0.0413989, 0.0343731], [0.923845, 0.0415748, 0.0345805], [0.92346, 0.0417513, 0.0347889], [0.923074, 0.0419284, 0.0349981], [0.922686, 0.0421061, 0.0352081], [0.922297, 0.0422844, 0.0354191], [0.921906, 0.0424632, 0.035631], [0.921514, 0.0426427, 0.0358437], [0.92112, 0.0428227, 0.0360574], [0.920725, 0.0430034, 0.036272], [0.920328, 0.0431846, 0.0364874], [0.91993, 0.0433664, 0.0367038], [0.91953, 0.0435488, 0.0369211], [0.919129, 0.0437318, 0.0371393], [0.918726, 0.0439154, 0.0373584], [0.918322, 0.0440996, 0.0375785], [0.917916, 0.0442844, 0.0377994], [0.917509, 0.0444698, 0.0380213], [0.9171, 0.0446557, 0.0382442], [0.91669, 0.0448423, 0.0384679], [0.916278, 0.0450295, 0.0386926], [0.915865, 0.0452172, 0.0389182], [0.91545, 0.0454056, 0.0391448], [0.915033, 0.0455945, 0.0393723], [0.914615, 0.0457841, 0.0396007], [0.914196, 0.0459742, 0.0398301], [0.913775, 0.0461649, 0.0400605], [0.913352, 0.0463563, 0.0402918], [0.912928, 0.0465482, 0.0405241], [0.912502, 0.0467407, 0.0407573], [0.912075, 0.0469338, 0.0409915], [0.911646, 0.0471276, 0.0412267], [0.911215, 0.0473219, 0.0414628], [0.910783, 0.0475168, 0.0416999], [0.91035, 0.0477123, 0.041938], [0.909915, 0.0479084, 0.042177], [0.909478, 0.0481051, 0.0424171], [0.90904, 0.0483024, 0.0426581], [0.9086, 0.0485003, 0.0429001], [0.908158, 0.0486987, 0.0431431], [0.907715, 0.0488978, 0.0433871], [0.90727, 0.0490975, 0.0436321], [0.906824, 0.0492978, 0.0438781], [0.906376, 0.0494986, 0.0441251], [0.905927, 0.0497001, 0.0443731], [0.905476, 0.0499021, 0.0446221], [0.905023, 0.0501048, 0.0448722], [0.904569, 0.050308, 0.0451232], [0.904113, 0.0505119, 0.0453753], [0.903655, 0.0507163, 0.0456283], [0.903196, 0.0509213, 0.0458824], [0.902736, 0.0511269, 0.0461376], [0.902273, 0.0513331, 0.0463937], [0.901809, 0.0515399, 0.0466509], [0.901344, 0.0517473, 0.0469091], [0.900876, 0.0519553, 0.0471684], [0.900407, 0.0521639, 0.0474287], [0.899937, 0.0523731, 0.04769], [0.899465, 0.0525828, 0.0479524], [0.898991, 0.0527932, 0.0482159], [0.898516, 0.0530041, 0.0484803], [0.898038, 0.0532156, 0.0487459], [0.89756, 0.0534277, 0.0490125], [0.897079, 0.0536404, 0.0492802], [0.896597, 0.0538537, 0.0495489], [0.896114, 0.0540676, 0.0498187], [0.895628, 0.054282, 0.0500896], [0.895141, 0.0544971, 0.0503615], [0.894653, 0.0547127, 0.0506345], [0.894162, 0.0549289, 0.0509086], [0.89367, 0.0551457, 0.0511838], [0.893177, 0.0553631, 0.0514601], [0.892682, 0.055581, 0.0517374], [0.892185, 0.0557996, 0.0520159], [0.891686, 0.0560187, 0.0522954], [0.891186, 0.0562384, 0.0525761], [0.890684, 0.0564587, 0.0528578], [0.89018, 0.0566795, 0.0531406], [0.889674, 0.0569009, 0.0534246], [0.889167, 0.0571229, 0.0537096], [0.888659, 0.0573455, 0.0539958], [0.888148, 0.0575687, 0.0542831], [0.887636, 0.0577924, 0.0545715], [0.887122, 0.0580167, 0.054861], [0.886607, 0.0582416, 0.0551516], [0.88609, 0.058467, 0.0554434], [0.885571, 0.058693, 0.0557363], [0.88505, 0.0589196, 0.0560303], [0.884528, 0.0591468, 0.0563255], [0.884004, 0.0593745, 0.0566218], [0.883478, 0.0596028, 0.0569192], [0.882951, 0.0598316, 0.0572178], [0.882421, 0.060061, 0.0575176], [0.881891, 0.060291, 0.0578184], [0.881358, 0.0605215, 0.0581204], [0.880824, 0.0607526, 0.0584236], [0.880288, 0.0609842, 0.0587279], [0.87975, 0.0612164, 0.0590334], [0.879211, 0.0614492, 0.0593401], [0.87867, 0.0616825, 0.0596479], [0.878127, 0.0619163, 0.0599568], [0.877582, 0.0621507, 0.060267], [0.877036, 0.0623857, 0.0605783], [0.876488, 0.0626212, 0.0608908], [0.875938, 0.0628572, 0.0612044], [0.875387, 0.0630938, 0.0615193], [0.874834, 0.0633309, 0.0618353], [0.874279, 0.0635686, 0.0621525], [0.873722, 0.0638068, 0.062471], [0.873164, 0.0640455, 0.0627906], [0.872604, 0.0642848, 0.0631114], [0.872042, 0.0645246, 0.0634333], [0.871479, 0.0647649, 0.0637565], [0.870913, 0.0650057, 0.0640809], [0.870346, 0.0652471, 0.0644066], [0.869778, 0.065489, 0.0647334], [0.869207, 0.0657315, 0.0650614], [0.868635, 0.0659744, 0.0653906], [0.868061, 0.0662179, 0.0657211], [0.867485, 0.0664619, 0.0660528], [0.866908, 0.0667064, 0.0663857], [0.866329, 0.0669514, 0.0667198], [0.865748, 0.0671969, 0.0670552], [0.865165, 0.067443, 0.0673918], [0.864581, 0.0676895, 0.0677296], [0.863995, 0.0679366, 0.0680686], [0.863407, 0.0681841, 0.0684089], [0.862817, 0.0684322, 0.0687505], [0.862226, 0.0686807, 0.0690932], [0.861633, 0.0689297, 0.0694373], [0.861038, 0.0691793, 0.0697825], [0.860442, 0.0694293, 0.0701291], [0.859843, 0.0696798, 0.0704768], [0.859243, 0.0699308, 0.0708259], [0.858642, 0.0701823, 0.0711762], [0.858038, 0.0704342, 0.0715277], [0.857433, 0.0706866, 0.0718805], [0.856826, 0.0709395, 0.0722346], [0.856217, 0.0711929, 0.0725899], [0.855607, 0.0714468, 0.0729465], [0.854994, 0.0717011, 0.0733044], [0.854381, 0.0719559, 0.0736636], [0.853765, 0.0722111, 0.074024], [0.853147, 0.0724668, 0.0743857], [0.852528, 0.0727229, 0.0747487], [0.851907, 0.0729795, 0.075113], [0.851285, 0.0732366, 0.0754786], [0.85066, 0.0734941, 0.0758454], [0.850034, 0.073752, 0.0762136], [0.849407, 0.0740104, 0.076583], [0.848777, 0.0742693, 0.0769537], [0.848146, 0.0745285, 0.0773258], [0.847513, 0.0747882, 0.0776991], [0.846878, 0.0750483, 0.0780737], [0.846242, 0.0753089, 0.0784496], [0.845603, 0.0755698, 0.0788269], [0.844963, 0.0758312, 0.0792054], [0.844322, 0.076093, 0.0795852], [0.843678, 0.0763552, 0.0799664], [0.843033, 0.0766179, 0.0803489], [0.842386, 0.0768809, 0.0807326], [0.841738, 0.0771443, 0.0811177], [0.841088, 0.0774081, 0.0815042], [0.840436, 0.0776724, 0.0818919], [0.839782, 0.077937, 0.082281], [0.839127, 0.078202, 0.0826713], [0.83847, 0.0784674, 0.083063], [0.837811, 0.0787332, 0.0834561], [0.83715, 0.0789993, 0.0838504], [0.836488, 0.0792659, 0.0842461], [0.835824, 0.0795328, 0.0846432], [0.835158, 0.0798, 0.0850415], [0.834491, 0.0800677, 0.0854412], [0.833822, 0.0803357, 0.0858423], [0.833151, 0.080604, 0.0862447], [0.832479, 0.0808727, 0.0866484], [0.831805, 0.0811418, 0.0870534], [0.831129, 0.0814112, 0.0874599], [0.830451, 0.0816809, 0.0878676], [0.829772, 0.081951, 0.0882767], [0.829091, 0.0822214, 0.0886872], [0.828409, 0.0824921, 0.089099], [0.827725, 0.0827632, 0.0895121], [0.827039, 0.0830346, 0.0899267], [0.826351, 0.0833063, 0.0903425], [0.825662, 0.0835783, 0.0907597], [0.824971, 0.0838506, 0.0911783], [0.824278, 0.0841233, 0.0915983], [0.823584, 0.0843962, 0.0920196], [0.822888, 0.0846694, 0.0924423], [0.822191, 0.084943, 0.0928663], [0.821492, 0.0852168, 0.0932917], [0.820791, 0.0854909, 0.0937185], [0.820088, 0.0857653, 0.0941466], [0.819384, 0.0860399, 0.0945762], [0.818678, 0.0863148, 0.095007], [0.817971, 0.08659, 0.0954393], [0.817262, 0.0868655, 0.0958729], [0.816551, 0.0871412, 0.0963079], [0.815839, 0.0874171, 0.0967443], [0.815125, 0.0876933, 0.0971821], [0.814409, 0.0879698, 0.0976212], [0.813692, 0.0882465, 0.0980618], [0.812973, 0.0885234, 0.0985037], [0.812252, 0.0888006, 0.098947], [0.81153, 0.089078, 0.0993917], [0.810807, 0.0893556, 0.0998377], [0.810081, 0.0896334, 0.100285], [0.809355, 0.0899114, 0.100734], [0.808626, 0.0901897, 0.101184], [0.807896, 0.0904681, 0.101636], [0.807164, 0.0907467, 0.102089], [0.806431, 0.0910256, 0.102543], [0.805696, 0.0913046, 0.102999], [0.80496, 0.0915838, 0.103456], [0.804222, 0.0918632, 0.103915], [0.803482, 0.0921427, 0.104375], [0.802741, 0.0924224, 0.104836], [0.801999, 0.0927023, 0.105299], [0.801254, 0.0929823, 0.105763], [0.800509, 0.0932625, 0.106229], [0.799761, 0.0935429, 0.106696], [0.799012, 0.0938233, 0.107164], [0.798262, 0.0941039, 0.107634], [0.79751, 0.0943847, 0.108105], [0.796757, 0.0946655, 0.108578], [0.796002, 0.0949465, 0.109052], [0.795245, 0.0952276, 0.109527], [0.794487, 0.0955088, 0.110004], [0.793728, 0.0957901, 0.110482], [0.792967, 0.0960715, 0.110962], [0.792204, 0.0963531, 0.111443], [0.79144, 0.0966346, 0.111925], [0.790674, 0.0969163, 0.112409], [0.789907, 0.0971981, 0.112895], [0.789139, 0.0974799, 0.113381], [0.788369, 0.0977618, 0.113869], [0.787597, 0.0980438, 0.114359], [0.786824, 0.0983258, 0.11485], [0.78605, 0.0986079, 0.115342], [0.785274, 0.0988901, 0.115836], [0.784497, 0.0991723, 0.116331], [0.783718, 0.0994545, 0.116828], [0.782938, 0.0997368, 0.117326], [0.782156, 0.100019, 0.117825], [0.781373, 0.100301, 0.118326], [0.780588, 0.100584, 0.118828], [0.779802, 0.100866, 0.119332], [0.779015, 0.101149, 0.119837], [0.778226, 0.101431, 0.120343], [0.777436, 0.101713, 0.120851], [0.776644, 0.101996, 0.12136], [0.775851, 0.102278, 0.121871], [0.775057, 0.10256, 0.122383], [0.774261, 0.102842, 0.122897], [0.773464, 0.103125, 0.123412], [0.772665, 0.103407, 0.123928], [0.771865, 0.103689, 0.124446], [0.771064, 0.103971, 0.124965], [0.770262, 0.104253, 0.125486], [0.769458, 0.104535, 0.126008], [0.768653, 0.104816, 0.126531], [0.767846, 0.105098, 0.127056], [0.767038, 0.10538, 0.127582], [0.766229, 0.105661, 0.12811], [0.765419, 0.105942, 0.128639], [0.764607, 0.106224, 0.129169], [0.763794, 0.106505, 0.129701], [0.76298, 0.106786, 0.130234], [0.762164, 0.107067, 0.130769], [0.761347, 0.107347, 0.131305], [0.760529, 0.107628, 0.131843], [0.75971, 0.107908, 0.132381], [0.75889, 0.108189, 0.132922], [0.758068, 0.108469, 0.133463], [0.757245, 0.108749, 0.134006], [0.756421, 0.109028, 0.134551], [0.755595, 0.109308, 0.135097], [0.754769, 0.109587, 0.135644], [0.753941, 0.109866, 0.136193], [0.753112, 0.110145, 0.136743], [0.752282, 0.110424, 0.137294], [0.75145, 0.110703, 0.137847], [0.750618, 0.110981, 0.138401], [0.749784, 0.111259, 0.138957], [0.748949, 0.111537, 0.139514], [0.748113, 0.111814, 0.140072], [0.747276, 0.112092, 0.140632], [0.746438, 0.112369, 0.141193], [0.745599, 0.112645, 0.141756], [0.744758, 0.112922, 0.14232], [0.743917, 0.113198, 0.142885], [0.743074, 0.113474, 0.143452], [0.74223, 0.11375, 0.14402], [0.741386, 0.114025, 0.144589], [0.74054, 0.1143, 0.14516], [0.739693, 0.114575, 0.145732], [0.738845, 0.114849, 0.146306], [0.737996, 0.115123, 0.146881], [0.737146, 0.115397, 0.147457], [0.736295, 0.11567, 0.148035], [0.735443, 0.115943, 0.148614], [0.734589, 0.116216, 0.149194], [0.733735, 0.116488, 0.149776], [0.73288, 0.11676, 0.150359], [0.732024, 0.117032, 0.150944], [0.731167, 0.117303, 0.15153], [0.730309, 0.117574, 0.152117], [0.72945, 0.117845, 0.152705], [0.72859, 0.118115, 0.153295], [0.727729, 0.118384, 0.153887], [0.726867, 0.118654, 0.154479], [0.726005, 0.118922, 0.155073], [0.725141, 0.119191, 0.155668], [0.724276, 0.119459, 0.156265], [0.723411, 0.119726, 0.156863], [0.722544, 0.119993, 0.157462], [0.721677, 0.12026, 0.158063], [0.720809, 0.120526, 0.158665], [0.71994, 0.120792, 0.159268], [0.71907, 0.121057, 0.159873], [0.718199, 0.121322, 0.160479], [0.717328, 0.121586, 0.161086], [0.716455, 0.12185, 0.161695], [0.715582, 0.122114, 0.162304], [0.714708, 0.122377, 0.162916], [0.713833, 0.122639, 0.163528], [0.712957, 0.122901, 0.164142], [0.712081, 0.123162, 0.164757], [0.711204, 0.123423, 0.165374], [0.710326, 0.123683, 0.165991], [0.709447, 0.123943, 0.16661], [0.708567, 0.124202, 0.167231], [0.707687, 0.124461, 0.167852], [0.706806, 0.124719, 0.168475], [0.705924, 0.124976, 0.1691], [0.705042, 0.125233, 0.169725], [0.704159, 0.125489, 0.170352], [0.703275, 0.125745, 0.17098], [0.70239, 0.126, 0.171609], [0.701505, 0.126255, 0.17224], [0.700619, 0.126509, 0.172872], [0.699733, 0.126762, 0.173505], [0.698846, 0.127015, 0.174139], [0.697958, 0.127267, 0.174775], [0.697069, 0.127519, 0.175412], [0.69618, 0.12777, 0.17605], [0.69529, 0.12802, 0.17669], [0.6944, 0.12827, 0.17733], [0.693509, 0.128518, 0.177972], [0.692618, 0.128767, 0.178615], [0.691726, 0.129014, 0.17926], [0.690833, 0.129261, 0.179906], [0.68994, 0.129508, 0.180552], [0.689046, 0.129753, 0.181201], [0.688152, 0.129998, 0.18185], [0.687257, 0.130242, 0.1825], [0.686362, 0.130486, 0.183152], [0.685466, 0.130729, 0.183805], [0.68457, 0.130971, 0.18446], [0.683673, 0.131212, 0.185115], [0.682776, 0.131453, 0.185772], [0.681878, 0.131693, 0.186429], [0.68098, 0.131932, 0.187088], [0.680081, 0.13217, 0.187749], [0.679182, 0.132408, 0.18841], [0.678282, 0.132645, 0.189073], [0.677383, 0.132881, 0.189736], [0.676482, 0.133116, 0.190401], [0.675581, 0.133351, 0.191068], [0.67468, 0.133585, 0.191735], [0.673779, 0.133818, 0.192403], [0.672877, 0.13405, 0.193073], [0.671975, 0.134281, 0.193744], [0.671072, 0.134512, 0.194416], [0.670169, 0.134742, 0.195089], [0.669266, 0.134971, 0.195763], [0.668363, 0.135199, 0.196439], [0.667459, 0.135426, 0.197115], [0.666555, 0.135653, 0.197793], [0.66565, 0.135878, 0.198472], [0.664746, 0.136103, 0.199151], [0.663841, 0.136327, 0.199833], [0.662935, 0.13655, 0.200515], [0.66203, 0.136772, 0.201198], [0.661124, 0.136993, 0.201882], [0.660218, 0.137214, 0.202568], [0.659312, 0.137433, 0.203255], [0.658406, 0.137652, 0.203942], [0.657499, 0.13787, 0.204631], [0.656593, 0.138086, 0.205321], [0.655686, 0.138302, 0.206012], [0.654779, 0.138517, 0.206704], [0.653872, 0.138731, 0.207397], [0.652964, 0.138944, 0.208091], [0.652057, 0.139157, 0.208786], [0.65115, 0.139368, 0.209483], [0.650242, 0.139578, 0.21018], [0.649334, 0.139787, 0.210878], [0.648426, 0.139996, 0.211578], [0.647519, 0.140203, 0.212278], [0.646611, 0.140409, 0.21298], [0.645703, 0.140615, 0.213682], [0.644795, 0.140819, 0.214386], [0.643887, 0.141023, 0.215091], [0.642979, 0.141225, 0.215796], [0.642071, 0.141427, 0.216503], [0.641162, 0.141627, 0.217211], [0.640254, 0.141826, 0.217919], [0.639346, 0.142025, 0.218629], [0.638438, 0.142222, 0.21934], [0.63753, 0.142419, 0.220051], [0.636622, 0.142614, 0.220764], [0.635714, 0.142808, 0.221478], [0.634806, 0.143002, 0.222192], [0.633898, 0.143194, 0.222908], [0.63299, 0.143385, 0.223625], [0.632083, 0.143575, 0.224342], [0.631175, 0.143765, 0.225061], [0.630267, 0.143953, 0.22578], [0.62936, 0.14414, 0.2265], [0.628453, 0.144326, 0.227222], [0.627546, 0.144511, 0.227944], [0.626638, 0.144694, 0.228667], [0.625732, 0.144877, 0.229391], [0.624825, 0.145059, 0.230116], [0.623918, 0.145239, 0.230842], [0.623012, 0.145419, 0.231569], [0.622106, 0.145597, 0.232297], [0.6212, 0.145775, 0.233025], [0.620295, 0.145951, 0.233755], [0.619389, 0.146126, 0.234485], [0.618484, 0.1463, 0.235216], [0.617579, 0.146473, 0.235948], [0.616674, 0.146644, 0.236681], [0.61577, 0.146815, 0.237415], [0.614866, 0.146984, 0.23815], [0.613962, 0.147153, 0.238885], [0.613058, 0.14732, 0.239622], [0.612155, 0.147486, 0.240359], [0.611252, 0.147651, 0.241097], [0.61035, 0.147815, 0.241836], [0.609448, 0.147977, 0.242575], [0.608546, 0.148139, 0.243316], [0.607644, 0.148299, 0.244057], [0.606743, 0.148458, 0.244799], [0.605842, 0.148616, 0.245542], [0.604942, 0.148773, 0.246285], [0.604042, 0.148928, 0.24703], [0.603142, 0.149083, 0.247775], [0.602243, 0.149236, 0.248521], [0.601345, 0.149388, 0.249267], [0.600446, 0.149539, 0.250015], [0.599548, 0.149689, 0.250763], [0.598651, 0.149837, 0.251512], [0.597754, 0.149984, 0.252261], [0.596858, 0.15013, 0.253012], [0.595962, 0.150275, 0.253763], [0.595066, 0.150419, 0.254515], [0.594171, 0.150561, 0.255267], [0.593277, 0.150703, 0.25602], [0.592383, 0.150843, 0.256774], [0.59149, 0.150982, 0.257529], [0.590597, 0.151119, 0.258284], [0.589705, 0.151256, 0.25904], [0.588813, 0.151391, 0.259797], [0.587922, 0.151525, 0.260554], [0.587031, 0.151657, 0.261312], [0.586141, 0.151789, 0.26207], [0.585251, 0.151919, 0.26283], [0.584363, 0.152048, 0.263589], [0.583474, 0.152176, 0.26435], [0.582587, 0.152302, 0.265111], [0.5817, 0.152427, 0.265873], [0.580813, 0.152551, 0.266635], [0.579928, 0.152674, 0.267398], [0.579043, 0.152795, 0.268162], [0.578158, 0.152916, 0.268926], [0.577274, 0.153035, 0.269691], [0.576391, 0.153152, 0.270456], [0.575509, 0.153269, 0.271222], [0.574627, 0.153384, 0.271989], [0.573746, 0.153498, 0.272756], [0.572866, 0.153611, 0.273524], [0.571986, 0.153722, 0.274292], [0.571107, 0.153832, 0.275061], [0.570229, 0.153941, 0.27583], [0.569352, 0.154048, 0.2766], [0.568475, 0.154155, 0.27737], [0.567599, 0.15426, 0.278141], [0.566724, 0.154363, 0.278912], [0.56585, 0.154466, 0.279684], [0.564976, 0.154567, 0.280457], [0.564103, 0.154667, 0.28123], [0.563231, 0.154765, 0.282003], [0.56236, 0.154863, 0.282777], [0.56149, 0.154959, 0.283551], [0.56062, 0.155053, 0.284326], [0.559752, 0.155147, 0.285102], [0.558884, 0.155239, 0.285877], [0.558016, 0.15533, 0.286654], [0.55715, 0.155419, 0.28743], [0.556285, 0.155508, 0.288208], [0.55542, 0.155595, 0.288985], [0.554557, 0.15568, 0.289763], [0.553694, 0.155765, 0.290542], [0.552832, 0.155848, 0.291321], [0.551971, 0.155929, 0.2921], [0.551111, 0.15601, 0.292879], [0.550252, 0.156089, 0.29366], [0.549393, 0.156167, 0.29444], [0.548536, 0.156243, 0.295221], [0.547679, 0.156319, 0.296002], [0.546824, 0.156393, 0.296784], [0.545969, 0.156465, 0.297566], [0.545115, 0.156537, 0.298348], [0.544263, 0.156607, 0.299131], [0.543411, 0.156675, 0.299914], [0.54256, 0.156743, 0.300697], [0.54171, 0.156809, 0.301481], [0.540861, 0.156874, 0.302265], [0.540014, 0.156937, 0.303049], [0.539167, 0.156999, 0.303834], [0.538321, 0.15706, 0.304619], [0.537476, 0.15712, 0.305404], [0.536632, 0.157178, 0.30619], [0.535789, 0.157235, 0.306976], [0.534947, 0.157291, 0.307762], [0.534106, 0.157345, 0.308549], [0.533267, 0.157398, 0.309335], [0.532428, 0.15745, 0.310122], [0.53159, 0.1575, 0.31091], [0.530754, 0.157549, 0.311697], [0.529918, 0.157597, 0.312485], [0.529083, 0.157644, 0.313273], [0.52825, 0.157689, 0.314061], [0.527418, 0.157733, 0.31485], [0.526586, 0.157776, 0.315638], [0.525756, 0.157817, 0.316427], [0.524927, 0.157857, 0.317216], [0.524099, 0.157896, 0.318006], [0.523272, 0.157933, 0.318795], [0.522446, 0.157969, 0.319585], [0.521621, 0.158004, 0.320375], [0.520798, 0.158037, 0.321165], [0.519975, 0.15807, 0.321955], [0.519154, 0.158101, 0.322745], [0.518334, 0.15813, 0.323536], [0.517515, 0.158159, 0.324327], [0.516697, 0.158186, 0.325117], [0.51588, 0.158211, 0.325908], [0.515065, 0.158236, 0.326699], [0.51425, 0.158259, 0.327491], [0.513437, 0.158281, 0.328282], [0.512625, 0.158301, 0.329074], [0.511814, 0.158321, 0.329865], [0.511004, 0.158339, 0.330657], [0.510196, 0.158356, 0.331449], [0.509389, 0.158371, 0.33224], [0.508582, 0.158385, 0.333032], [0.507778, 0.158398, 0.333824], [0.506974, 0.15841, 0.334616], [0.506171, 0.15842, 0.335408], [0.50537, 0.158429, 0.336201], [0.50457, 0.158437, 0.336993], [0.503771, 0.158444, 0.337785], [0.502974, 0.158449, 0.338577], [0.502177, 0.158453, 0.33937], [0.501382, 0.158456, 0.340162], [0.500588, 0.158457, 0.340954], [0.499796, 0.158458, 0.341747], [0.499004, 0.158457, 0.342539], [0.498214, 0.158454, 0.343332], [0.497425, 0.158451, 0.344124], [0.496638, 0.158446, 0.344916], [0.495851, 0.15844, 0.345709], [0.495066, 0.158433, 0.346501], [0.494283, 0.158424, 0.347293], [0.4935, 0.158414, 0.348085], [0.492719, 0.158404, 0.348877], [0.491939, 0.158391, 0.34967], [0.491161, 0.158378, 0.350462], [0.490383, 0.158363, 0.351253], [0.489607, 0.158347, 0.352045], [0.488833, 0.15833, 0.352837], [0.488059, 0.158312, 0.353629], [0.487287, 0.158292, 0.35442], [0.486517, 0.158271, 0.355212], [0.485747, 0.158249, 0.356003], [0.484979, 0.158226, 0.356795], [0.484212, 0.158202, 0.357586], [0.483447, 0.158176, 0.358377], [0.482683, 0.158149, 0.359168], [0.48192, 0.158121, 0.359958], [0.481159, 0.158092, 0.360749], [0.480399, 0.158062, 0.361539], [0.47964, 0.15803, 0.36233], [0.478883, 0.157997, 0.36312], [0.478127, 0.157963, 0.36391], [0.477372, 0.157928, 0.364699], [0.476619, 0.157892, 0.365489], [0.475867, 0.157854, 0.366278], [0.475117, 0.157816, 0.367067], [0.474368, 0.157776, 0.367856], [0.47362, 0.157735, 0.368645], [0.472874, 0.157692, 0.369434], [0.472129, 0.157649, 0.370222], [0.471386, 0.157604, 0.37101], [0.470643, 0.157558, 0.371798], [0.469903, 0.157512, 0.372586], [0.469163, 0.157463, 0.373373], [0.468425, 0.157414, 0.37416], [0.467689, 0.157364, 0.374947], [0.466954, 0.157312, 0.375734], [0.46622, 0.157259, 0.37652], [0.465488, 0.157206, 0.377307], [0.464757, 0.157151, 0.378093], [0.464027, 0.157095, 0.378878], [0.463299, 0.157037, 0.379663], [0.462573, 0.156979, 0.380448], [0.461847, 0.156919, 0.381233], [0.461123, 0.156859, 0.382018], [0.460401, 0.156797, 0.382802], [0.45968, 0.156734, 0.383586], [0.45896, 0.15667, 0.384369], [0.458242, 0.156605, 0.385152], [0.457526, 0.156539, 0.385935], [0.45681, 0.156472, 0.386718], [0.456096, 0.156404, 0.3875], [0.455384, 0.156334, 0.388282], [0.454673, 0.156264, 0.389063], [0.453963, 0.156192, 0.389844], [0.453255, 0.15612, 0.390625], [0.452548, 0.156046, 0.391406], [0.451843, 0.155972, 0.392186], [0.451139, 0.155896, 0.392965], [0.450437, 0.155819, 0.393744], [0.449736, 0.155741, 0.394523], [0.449036, 0.155662, 0.395302], [0.448338, 0.155582, 0.39608], [0.447641, 0.155501, 0.396858], [0.446946, 0.155419, 0.397635], [0.446252, 0.155336, 0.398412], [0.44556, 0.155252, 0.399188], [0.444869, 0.155167, 0.399964], [0.444179, 0.155081, 0.40074], [0.443491, 0.154994, 0.401515], [0.442805, 0.154905, 0.40229], [0.44212, 0.154816, 0.403064], [0.441436, 0.154726, 0.403838], [0.440754, 0.154635, 0.404611], [0.440073, 0.154543, 0.405384], [0.439394, 0.15445, 0.406157], [0.438716, 0.154355, 0.406929], [0.43804, 0.15426, 0.4077], [0.437365, 0.154164, 0.408471], [0.436691, 0.154067, 0.409242], [0.436019, 0.153969, 0.410012], [0.435348, 0.15387, 0.410781], [0.434679, 0.15377, 0.41155], [0.434012, 0.153669, 0.412319], [0.433345, 0.153567, 0.413087], [0.432681, 0.153465, 0.413855], [0.432017, 0.153361, 0.414622], [0.431356, 0.153256, 0.415388], [0.430695, 0.153151, 0.416154], [0.430036, 0.153044, 0.41692], [0.429379, 0.152937, 0.417685], [0.428723, 0.152828, 0.418449], [0.428068, 0.152719, 0.419213], [0.427415, 0.152609, 0.419976], [0.426764, 0.152497, 0.420739], [0.426114, 0.152385, 0.421501], [0.425465, 0.152272, 0.422263], [0.424818, 0.152159, 0.423024], [0.424172, 0.152044, 0.423784], [0.423528, 0.151928, 0.424544], [0.422885, 0.151812, 0.425303], [0.422244, 0.151694, 0.426062], [0.421604, 0.151576, 0.42682], [0.420965, 0.151457, 0.427578], [0.420328, 0.151337, 0.428335], [0.419693, 0.151216, 0.429091], [0.419059, 0.151094, 0.429847], [0.418426, 0.150972, 0.430602], [0.417795, 0.150848, 0.431357], [0.417166, 0.150724, 0.43211], [0.416537, 0.150599, 0.432864], [0.415911, 0.150473, 0.433616], [0.415286, 0.150346, 0.434368], [0.414662, 0.150218, 0.43512], [0.41404, 0.15009, 0.435871], [0.413419, 0.149961, 0.436621], [0.412799, 0.149831, 0.43737], [0.412181, 0.1497, 0.438119], [0.411565, 0.149568, 0.438867], [0.41095, 0.149435, 0.439615], [0.410337, 0.149302, 0.440361], [0.409725, 0.149168, 0.441108], [0.409114, 0.149033, 0.441853], [0.408505, 0.148897, 0.442598], [0.407897, 0.148761, 0.443342], [0.407291, 0.148624, 0.444085], [0.406686, 0.148486, 0.444828], [0.406083, 0.148347, 0.44557], [0.405481, 0.148207, 0.446312], [0.404881, 0.148067, 0.447052], [0.404282, 0.147926, 0.447792], [0.403684, 0.147784, 0.448531], [0.403088, 0.147642, 0.44927], [0.402494, 0.147498, 0.450008], [0.401901, 0.147354, 0.450745], [0.401309, 0.147209, 0.451481], [0.400719, 0.147064, 0.452217], [0.40013, 0.146918, 0.452952], [0.399543, 0.146771, 0.453686], [0.398957, 0.146623, 0.45442], [0.398373, 0.146475, 0.455152], [0.39779, 0.146325, 0.455884], [0.397209, 0.146176, 0.456616], [0.396629, 0.146025, 0.457346], [0.39605, 0.145874, 0.458076], [0.395473, 0.145722, 0.458805], [0.394897, 0.14557, 0.459533], [0.394323, 0.145416, 0.460261], [0.39375, 0.145262, 0.460987], [0.393179, 0.145108, 0.461713], [0.392609, 0.144953, 0.462438], [0.392041, 0.144797, 0.463163], [0.391474, 0.14464, 0.463886], [0.390908, 0.144483, 0.464609], [0.390344, 0.144325, 0.465331], [0.389781, 0.144166, 0.466052], [0.38922, 0.144007, 0.466773], [0.38866, 0.143847, 0.467493], [0.388102, 0.143687, 0.468211], [0.387545, 0.143526, 0.468929], [0.386989, 0.143364, 0.469647], [0.386435, 0.143202, 0.470363], [0.385882, 0.143039, 0.471079], [0.385331, 0.142875, 0.471794], [0.384781, 0.142711, 0.472508], [0.384233, 0.142546, 0.473221], [0.383686, 0.142381, 0.473933], [0.38314, 0.142215, 0.474645], [0.382596, 0.142049, 0.475355], [0.382053, 0.141882, 0.476065], [0.381512, 0.141714, 0.476774], [0.380972, 0.141546, 0.477482], [0.380434, 0.141377, 0.47819], [0.379896, 0.141207, 0.478896], [0.379361, 0.141037, 0.479602], [0.378827, 0.140867, 0.480306], [0.378294, 0.140696, 0.48101], [0.377762, 0.140524, 0.481714], [0.377232, 0.140352, 0.482416], [0.376703, 0.14018, 0.483117], [0.376176, 0.140006, 0.483818], [0.37565, 0.139833, 0.484517], [0.375126, 0.139658, 0.485216], [0.374603, 0.139484, 0.485914], [0.374081, 0.139308, 0.486611], [0.373561, 0.139132, 0.487307], [0.373042, 0.138956, 0.488002], [0.372524, 0.138779, 0.488697], [0.372008, 0.138602, 0.48939], [0.371493, 0.138424, 0.490083], [0.37098, 0.138246, 0.490774], [0.370467, 0.138067, 0.491465], [0.369957, 0.137888, 0.492155], [0.369447, 0.137708, 0.492844], [0.36894, 0.137528, 0.493532], [0.368433, 0.137347, 0.49422], [0.367928, 0.137166, 0.494906], [0.367424, 0.136985, 0.495591], [0.366921, 0.136803, 0.496276], [0.36642, 0.13662, 0.496959], [0.36592, 0.136437, 0.497642], [0.365422, 0.136254, 0.498324], [0.364925, 0.13607, 0.499005], [0.364429, 0.135886, 0.499685], [0.363935, 0.135702, 0.500364], [0.363442, 0.135517, 0.501042], [0.36295, 0.135331, 0.501719], [0.36246, 0.135145, 0.502395], [0.361971, 0.134959, 0.50307], [0.361483, 0.134772, 0.503745], [0.360996, 0.134585, 0.504418], [0.360511, 0.134398, 0.505091], [0.360028, 0.13421, 0.505762], [0.359545, 0.134022, 0.506433], [0.359064, 0.133833, 0.507102], [0.358584, 0.133645, 0.507771], [0.358106, 0.133455, 0.508439], [0.357629, 0.133266, 0.509106], [0.357153, 0.133076, 0.509772], [0.356678, 0.132885, 0.510437], [0.356205, 0.132695, 0.511101], [0.355733, 0.132504, 0.511764], [0.355262, 0.132312, 0.512426], [0.354793, 0.13212, 0.513087], [0.354325, 0.131928, 0.513747], [0.353858, 0.131736, 0.514406], [0.353392, 0.131543, 0.515064], [0.352928, 0.13135, 0.515721], [0.352465, 0.131157, 0.516378], [0.352004, 0.130963, 0.517033], [0.351544, 0.130769, 0.517687], [0.351085, 0.130575, 0.51834], [0.350627, 0.130381, 0.518993], [0.35017, 0.130186, 0.519644], [0.349715, 0.129991, 0.520294], [0.349262, 0.129795, 0.520943], [0.348809, 0.129599, 0.521592], [0.348358, 0.129403, 0.522239], [0.347908, 0.129207, 0.522885], [0.347459, 0.12901, 0.523531], [0.347012, 0.128814, 0.524175], [0.346565, 0.128616, 0.524818], [0.34612, 0.128419, 0.525461], [0.345677, 0.128221, 0.526102], [0.345234, 0.128023, 0.526742], [0.344793, 0.127825, 0.527382], [0.344353, 0.127627, 0.52802], [0.343915, 0.127428, 0.528657], [0.343477, 0.127229, 0.529294], [0.343041, 0.12703, 0.529929], [0.342606, 0.126831, 0.530563], [0.342173, 0.126631, 0.531197], [0.34174, 0.126431, 0.531829], [0.341309, 0.126231, 0.53246], [0.340879, 0.126031, 0.53309], [0.34045, 0.12583, 0.53372], [0.340023, 0.125629, 0.534348], [0.339596, 0.125428, 0.534975], [0.339171, 0.125227, 0.535602], [0.338747, 0.125026, 0.536227], [0.338325, 0.124824, 0.536851], [0.337903, 0.124622, 0.537474], [0.337483, 0.12442, 0.538097], [0.337064, 0.124218, 0.538718], [0.336646, 0.124016, 0.539338], [0.33623, 0.123813, 0.539957], [0.335814, 0.12361, 0.540575], [0.3354, 0.123407, 0.541193], [0.334987, 0.123204, 0.541809], [0.334575, 0.123001, 0.542424], [0.334164, 0.122798, 0.543038], [0.333755, 0.122594, 0.543651], [0.333347, 0.12239, 0.544263], [0.33294, 0.122186, 0.544874], [0.332534, 0.121982, 0.545484], [0.332129, 0.121778, 0.546093], [0.331725, 0.121574, 0.546701], [0.331323, 0.121369, 0.547308], [0.330921, 0.121164, 0.547914], [0.330521, 0.12096, 0.548519], [0.330122, 0.120755, 0.549123], [0.329724, 0.120549, 0.549726], [0.329328, 0.120344, 0.550328], [0.328932, 0.120139, 0.550929], [0.328538, 0.119933, 0.551529], [0.328145, 0.119728, 0.552127], [0.327753, 0.119522, 0.552725], [0.327362, 0.119316, 0.553322], [0.326972, 0.11911, 0.553918], [0.326583, 0.118904, 0.554512], [0.326196, 0.118698, 0.555106], [0.325809, 0.118492, 0.555699], [0.325424, 0.118286, 0.55629], [0.32504, 0.118079, 0.556881], [0.324657, 0.117873, 0.557471], [0.324275, 0.117666, 0.558059], [0.323894, 0.117459, 0.558647], [0.323514, 0.117252, 0.559233], [0.323136, 0.117046, 0.559819], [0.322758, 0.116839, 0.560403], [0.322382, 0.116632, 0.560987], [0.322006, 0.116424, 0.561569], [0.321632, 0.116217, 0.56215], [0.321259, 0.11601, 0.562731], [0.320887, 0.115803, 0.56331], [0.320516, 0.115595, 0.563888], [0.320146, 0.115388, 0.564466], [0.319778, 0.115181, 0.565042], [0.31941, 0.114973, 0.565617], [0.319043, 0.114765, 0.566191], [0.318678, 0.114558, 0.566764], [0.318313, 0.11435, 0.567336], [0.31795, 0.114142, 0.567907], [0.317588, 0.113935, 0.568478], [0.317227, 0.113727, 0.569047], [0.316866, 0.113519, 0.569615], [0.316507, 0.113311, 0.570181], [0.316149, 0.113103, 0.570747], [0.315792, 0.112895, 0.571312], [0.315436, 0.112688, 0.571876], [0.315082, 0.11248, 0.572439], [0.314728, 0.112272, 0.573001], [0.314375, 0.112064, 0.573561], [0.314023, 0.111856, 0.574121], [0.313672, 0.111648, 0.57468], [0.313323, 0.11144, 0.575238], [0.312974, 0.111232, 0.575794], [0.312627, 0.111024, 0.57635], [0.31228, 0.110816, 0.576904], [0.311934, 0.110608, 0.577458], [0.31159, 0.1104, 0.57801], [0.311246, 0.110192, 0.578562], [0.310904, 0.109984, 0.579112], [0.310562, 0.109776, 0.579662], [0.310222, 0.109568, 0.58021], [0.309883, 0.10936, 0.580757], [0.309544, 0.109152, 0.581304], [0.309207, 0.108944, 0.581849], [0.30887, 0.108737, 0.582393], [0.308535, 0.108529, 0.582936], [0.308201, 0.108321, 0.583479], [0.307867, 0.108113, 0.58402], [0.307535, 0.107906, 0.58456], [0.307203, 0.107698, 0.585099], [0.306873, 0.10749, 0.585637], [0.306543, 0.107283, 0.586174], [0.306215, 0.107075, 0.58671], [0.305887, 0.106868, 0.587245], [0.305561, 0.10666, 0.587779], [0.305235, 0.106453, 0.588312], [0.304911, 0.106246, 0.588844], [0.304587, 0.106038, 0.589374], [0.304265, 0.105831, 0.589904], [0.303943, 0.105624, 0.590433], [0.303622, 0.105417, 0.590961], [0.303303, 0.10521, 0.591487], [0.302984, 0.105003, 0.592013], [0.302666, 0.104796, 0.592538], [0.302349, 0.104589, 0.593061], [0.302033, 0.104383, 0.593584], [0.301718, 0.104176, 0.594106], [0.301404, 0.10397, 0.594626], [0.301091, 0.103763, 0.595146], [0.300779, 0.103557, 0.595664], [0.300468, 0.10335, 0.596182], [0.300158, 0.103144, 0.596698], [0.299848, 0.102938, 0.597213], [0.29954, 0.102732, 0.597728], [0.299233, 0.102526, 0.598241], [0.298926, 0.10232, 0.598754], [0.298621, 0.102115, 0.599265], [0.298316, 0.101909, 0.599775], [0.298012, 0.101703, 0.600284], [0.297709, 0.101498, 0.600793], [0.297407, 0.101293, 0.6013], [0.297106, 0.101088, 0.601806], [0.296806, 0.100882, 0.602311], [0.296507, 0.100677, 0.602815], [0.296209, 0.100473, 0.603318], [0.295912, 0.100268, 0.603821], [0.295615, 0.100063, 0.604322], [0.29532, 0.0998588, 0.604822], [0.295025, 0.0996544, 0.605321], [0.294731, 0.0994501, 0.605819], [0.294438, 0.099246, 0.606316], [0.294146, 0.099042, 0.606812], [0.293855, 0.0988382, 0.607307], [0.293565, 0.0986344, 0.607801], [0.293276, 0.0984309, 0.608294], [0.292987, 0.0982274, 0.608786], [0.292699, 0.0980241, 0.609276], [0.292413, 0.0978209, 0.609766], [0.292127, 0.0976179, 0.610255], [0.291842, 0.097415, 0.610743], [0.291558, 0.0972122, 0.61123], [0.291275, 0.0970096, 0.611716], [0.290992, 0.0968072, 0.612201], [0.290711, 0.0966049, 0.612684], [0.29043, 0.0964027, 0.613167], [0.29015, 0.0962007, 0.613649], [0.289871, 0.0959989, 0.61413], [0.289593, 0.0957972, 0.61461], [0.289316, 0.0955957, 0.615088], [0.28904, 0.0953943, 0.615566], [0.288764, 0.0951931, 0.616043], [0.288489, 0.0949921, 0.616519], [0.288216, 0.0947912, 0.616993], [0.287943, 0.0945905, 0.617467], [0.28767, 0.0943899, 0.61794], [0.287399, 0.0941896, 0.618411], [0.287128, 0.0939894, 0.618882], [0.286859, 0.0937893, 0.619352], [0.28659, 0.0935895, 0.619821], [0.286322, 0.0933898, 0.620288], [0.286055, 0.0931903, 0.620755], [0.285788, 0.092991, 0.621221], [0.285523, 0.0927919, 0.621685], [0.285258, 0.0925929, 0.622149], [0.284994, 0.0923941, 0.622612], [0.284731, 0.0921956, 0.623074], [0.284468, 0.0919972, 0.623534], [0.284207, 0.0917989, 0.623994], [0.283946, 0.0916009, 0.624453], [0.283686, 0.0914031, 0.624911], [0.283427, 0.0912055, 0.625367], [0.283169, 0.091008, 0.625823], [0.282911, 0.0908107, 0.626278], [0.282655, 0.0906137, 0.626732], [0.282399, 0.0904168, 0.627185], [0.282143, 0.0902202, 0.627636], [0.281889, 0.0900237, 0.628087], [0.281636, 0.0898274, 0.628537], [0.281383, 0.0896314, 0.628986], [0.281131, 0.0894355, 0.629434], [0.280879, 0.0892399, 0.629881], [0.280629, 0.0890444, 0.630327], [0.280379, 0.0888492, 0.630772], [0.28013, 0.0886542, 0.631215], [0.279882, 0.0884593, 0.631658], [0.279635, 0.0882647, 0.6321], [0.279388, 0.0880703, 0.632541], [0.279142, 0.0878762, 0.632982], [0.278897, 0.0876822, 0.633421], [0.278653, 0.0874884, 0.633859], [0.278409, 0.0872949, 0.634296], [0.278166, 0.0871016, 0.634732], [0.277924, 0.0869085, 0.635167], [0.277683, 0.0867156, 0.635601], [0.277442, 0.0865229, 0.636035], [0.277203, 0.0863305, 0.636467], [0.276964, 0.0861383, 0.636898], [0.276725, 0.0859463, 0.637329], [0.276488, 0.0857545, 0.637758], [0.276251, 0.085563, 0.638186], [0.276015, 0.0853717, 0.638614], [0.275779, 0.0851806, 0.63904], [0.275544, 0.0849897, 0.639466], [0.27531, 0.0847991, 0.63989], [0.275077, 0.0846087, 0.640314], [0.274845, 0.0844185, 0.640737], [0.274613, 0.0842286, 0.641158], [0.274382, 0.0840389, 0.641579], [0.274152, 0.0838494, 0.641999], [0.273922, 0.0836602, 0.642418], [0.273693, 0.0834712, 0.642836], [0.273465, 0.0832825, 0.643253], [0.273237, 0.083094, 0.643669], [0.273011, 0.0829057, 0.644084], [0.272784, 0.0827176, 0.644498], [0.272559, 0.0825298, 0.644911], [0.272334, 0.0823423, 0.645323], [0.27211, 0.082155, 0.645735], [0.271887, 0.0819679, 0.646145], [0.271665, 0.0817811, 0.646554], [0.271443, 0.0815945, 0.646963], [0.271221, 0.0814081, 0.64737], [0.271001, 0.081222, 0.647777], [0.270781, 0.0810362, 0.648183], [0.270562, 0.0808506, 0.648587], [0.270344, 0.0806652, 0.648991], [0.270126, 0.0804801, 0.649394], [0.269909, 0.0802953, 0.649796], [0.269692, 0.0801106, 0.650197], [0.269477, 0.0799263, 0.650597], [0.269261, 0.0797422, 0.650996], [0.269047, 0.0795583, 0.651395], [0.268833, 0.0793747, 0.651792], [0.26862, 0.0791914, 0.652188], [0.268408, 0.0790083, 0.652584], [0.268196, 0.0788254, 0.652978], [0.267985, 0.0786428, 0.653372], [0.267775, 0.0784605, 0.653765], [0.267565, 0.0782784, 0.654157], [0.267356, 0.0780966, 0.654548], [0.267147, 0.0779151, 0.654938], [0.266939, 0.0777338, 0.655327], [0.266732, 0.0775528, 0.655715], [0.266526, 0.077372, 0.656102], [0.26632, 0.0771915, 0.656489], [0.266114, 0.0770113, 0.656874], [0.26591, 0.0768314, 0.657259], [0.265706, 0.0766517, 0.657642], [0.265503, 0.0764722, 0.658025], [0.2653, 0.0762931, 0.658407], [0.265098, 0.0761142, 0.658788], [0.264896, 0.0759356, 0.659168], [0.264695, 0.0757572, 0.659547], [0.264495, 0.0755791, 0.659926], [0.264296, 0.0754013, 0.660303], [0.264097, 0.0752238, 0.66068], [0.263898, 0.0750465, 0.661055], [0.2637, 0.0748695, 0.66143], [0.263503, 0.0746927, 0.661804], [0.263307, 0.0745163, 0.662177], [0.263111, 0.0743401, 0.662549], [0.262916, 0.0741642, 0.66292], [0.262721, 0.0739885, 0.663291], [0.262527, 0.0738131, 0.66366], [0.262333, 0.073638, 0.664029], [0.26214, 0.0734632, 0.664396], [0.261948, 0.0732886, 0.664763], [0.261756, 0.0731143, 0.665129], [0.261565, 0.0729403, 0.665494], [0.261375, 0.0727666, 0.665859], [0.261185, 0.0725931, 0.666222], [0.260996, 0.07242, 0.666585], [0.260807, 0.0722471, 0.666946], [0.260619, 0.0720744, 0.667307], [0.260431, 0.0719021, 0.667667], [0.260244, 0.07173, 0.668026], [0.260058, 0.0715582, 0.668384], [0.259872, 0.0713867, 0.668741], [0.259687, 0.0712154, 0.669098], [0.259502, 0.0710445, 0.669454], [0.259318, 0.0708738, 0.669808], [0.259134, 0.0707034, 0.670162], [0.258951, 0.0705333, 0.670515], [0.258769, 0.0703634, 0.670867], [0.258587, 0.0701938, 0.671219], [0.258406, 0.0700246, 0.671569], [0.258225, 0.0698556, 0.671919], [0.258045, 0.0696868, 0.672268], [0.257866, 0.0695184, 0.672616], [0.257687, 0.0693502, 0.672963], [0.257508, 0.0691823, 0.673309], [0.25733, 0.0690147, 0.673655], [0.257153, 0.0688474, 0.673999], [0.256976, 0.0686804, 0.674343], [0.2568, 0.0685136, 0.674686], [0.256624, 0.0683472, 0.675028], [0.256449, 0.068181, 0.67537], [0.256275, 0.0680151, 0.67571], [0.256101, 0.0678495, 0.67605], [0.255927, 0.0676842, 0.676389], [0.255754, 0.0675191, 0.676727], [0.255582, 0.0673543, 0.677064], [0.25541, 0.0671899, 0.6774], [0.255239, 0.0670257, 0.677736], [0.255068, 0.0668618, 0.67807], [0.254897, 0.0666982, 0.678404], [0.254728, 0.0665348, 0.678737], [0.254559, 0.0663718, 0.67907], [0.25439, 0.066209, 0.679401], [0.254222, 0.0660465, 0.679732], [0.254054, 0.0658843, 0.680062], [0.253887, 0.0657224, 0.680391], [0.25372, 0.0655608, 0.680719], [0.253554, 0.0653995, 0.681046], [0.253389, 0.0652385, 0.681373], [0.253224, 0.0650777, 0.681699], [0.253059, 0.0649172, 0.682024], [0.252895, 0.0647571, 0.682348], [0.252732, 0.0645972, 0.682671], [0.252569, 0.0644376, 0.682994], [0.252406, 0.0642783, 0.683316], [0.252244, 0.0641192, 0.683637], [0.252083, 0.0639605, 0.683957], [0.251922, 0.063802, 0.684276], [0.251761, 0.0636439, 0.684595], [0.251601, 0.063486, 0.684913], [0.251442, 0.0633284, 0.68523], [0.251283, 0.0631712, 0.685546], [0.251124, 0.0630141, 0.685862], [0.250966, 0.0628574, 0.686176], [0.250809, 0.062701, 0.68649], [0.250652, 0.0625449, 0.686803], [0.250495, 0.062389, 0.687116], [0.250339, 0.0622335, 0.687427], [0.250184, 0.0620782, 0.687738], [0.250029, 0.0619233, 0.688048], [0.249874, 0.0617686, 0.688357], [0.24972, 0.0616142, 0.688666], [0.249566, 0.0614601, 0.688974], [0.249413, 0.0613063, 0.689281], [0.249261, 0.0611528, 0.689587], [0.249108, 0.0609995, 0.689892], [0.248957, 0.0608466, 0.690197], [0.248805, 0.060694, 0.690501], [0.248655, 0.0605416, 0.690804], [0.248504, 0.0603895, 0.691106], [0.248355, 0.0602378, 0.691408], [0.248205, 0.0600863, 0.691709], [0.248056, 0.0599351, 0.692009], [0.247908, 0.0597842, 0.692308], [0.24776, 0.0596336, 0.692607], [0.247612, 0.0594833, 0.692904], [0.247465, 0.0593332, 0.693201], [0.247319, 0.0591835, 0.693498], [0.247173, 0.0590341, 0.693793], [0.247027, 0.0588849, 0.694088], [0.246882, 0.058736, 0.694382], [0.246737, 0.0585875, 0.694676], [0.246593, 0.0584392, 0.694968], [0.246449, 0.0582912, 0.69526], [0.246305, 0.0581435, 0.695551], [0.246162, 0.0579961, 0.695842], [0.24602, 0.057849, 0.696131], [0.245878, 0.0577022, 0.69642], [0.245736, 0.0575556, 0.696708], [0.245595, 0.0574094, 0.696996], [0.245454, 0.0572634, 0.697282], [0.245314, 0.0571178, 0.697568], [0.245174, 0.0569724, 0.697854], [0.245034, 0.0568273, 0.698138], [0.244895, 0.0566826, 0.698422], [0.244757, 0.0565381, 0.698705], [0.244619, 0.0563939, 0.698987], [0.244481, 0.0562499, 0.699269], [0.244344, 0.0561063, 0.69955], [0.244207, 0.055963, 0.69983], [0.24407, 0.0558199, 0.70011], [0.243934, 0.0556772, 0.700388], [0.243799, 0.0555347, 0.700666], [0.243664, 0.0553926, 0.700944], [0.243529, 0.0552507, 0.70122], [0.243395, 0.0551091, 0.701496], [0.243261, 0.0549678, 0.701772], [0.243127, 0.0548268, 0.702046], [0.242994, 0.0546861, 0.70232], [0.242861, 0.0545456, 0.702593], [0.242729, 0.0544055, 0.702865], [0.242597, 0.0542656, 0.703137], [0.242466, 0.0541261, 0.703408], [0.242335, 0.0539868, 0.703678], [0.242204, 0.0538478, 0.703948], [0.242074, 0.0537091, 0.704217], [0.241944, 0.0535707, 0.704485], [0.241815, 0.0534326, 0.704753], [0.241686, 0.0532947, 0.705019], [0.241557, 0.0531572, 0.705286], [0.241429, 0.0530199, 0.705551], [0.241301, 0.052883, 0.705816], [0.241174, 0.0527463, 0.70608], [0.241047, 0.0526099, 0.706343], [0.24092, 0.0524738, 0.706606], [0.240794, 0.052338, 0.706868], [0.240668, 0.0522025, 0.707129], [0.240543, 0.0520672, 0.70739], [0.240418, 0.0519323, 0.70765], [0.240293, 0.0517976, 0.707909], [0.240169, 0.0516632, 0.708168], [0.240045, 0.0515291, 0.708426], [0.239921, 0.0513953, 0.708683], [0.239798, 0.0512618, 0.70894], [0.239675, 0.0511285, 0.709196], [0.239553, 0.0509956, 0.709451], [0.239431, 0.0508629, 0.709706], [0.23931, 0.0507305, 0.70996], [0.239188, 0.0505984, 0.710213], [0.239067, 0.0504666, 0.710466], [0.238947, 0.050335, 0.710718], [0.238827, 0.0502038, 0.710969], [0.238707, 0.0500728, 0.71122], [0.238588, 0.0499421, 0.71147], [0.238469, 0.0498117, 0.711719], [0.23835, 0.0496816, 0.711968], [0.238232, 0.0495518, 0.712216], [0.238114, 0.0494222, 0.712464], [0.237997, 0.0492929, 0.71271], [0.23788, 0.0491639, 0.712957], [0.237763, 0.0490352, 0.713202], [0.237646, 0.0489068, 0.713447], [0.23753, 0.0487787, 0.713691], [0.237415, 0.0486508, 0.713935], [0.237299, 0.0485232, 0.714178], [0.237184, 0.0483959, 0.71442], [0.23707, 0.0482689, 0.714661], [0.236955, 0.0481421, 0.714902], [0.236842, 0.0480156, 0.715143], [0.236728, 0.0478894, 0.715383], [0.236615, 0.0477635, 0.715622], [0.236502, 0.0476379, 0.71586], [0.236389, 0.0475125, 0.716098], [0.236277, 0.0473874, 0.716335], [0.236166, 0.0472626, 0.716572], [0.236054, 0.0471381, 0.716808], [0.235943, 0.0470138, 0.717043], [0.235832, 0.0468899, 0.717278], [0.235722, 0.0467662, 0.717512], [0.235612, 0.0466427, 0.717746], [0.235502, 0.0465196, 0.717978], [0.235393, 0.0463967, 0.718211], [0.235284, 0.0462741, 0.718442], [0.235175, 0.0461517, 0.718673], [0.235066, 0.0460297, 0.718904], [0.234958, 0.0459079, 0.719134], [0.234851, 0.0457864, 0.719363], [0.234743, 0.0456651, 0.719592], [0.234636, 0.0455442, 0.71982], [0.23453, 0.0454235, 0.720047], [0.234423, 0.045303, 0.720274], [0.234317, 0.0451829, 0.7205], [0.234211, 0.045063, 0.720726], [0.234106, 0.0449433, 0.720951], [0.234001, 0.044824, 0.721175], [0.233896, 0.0447049, 0.721399], [0.233792, 0.0445861, 0.721622], [0.233688, 0.0444675, 0.721845], [0.233584, 0.0443493, 0.722067], [0.233481, 0.0442312, 0.722288], [0.233378, 0.0441135, 0.722509], [0.233275, 0.043996, 0.722729], [0.233172, 0.0438788, 0.722949], [0.23307, 0.0437618, 0.723168], [0.232968, 0.0436451, 0.723387], [0.232867, 0.0435287, 0.723605], [0.232765, 0.0434125, 0.723822], [0.232664, 0.0432966, 0.724039], [0.232564, 0.043181, 0.724255], [0.232464, 0.0430656, 0.724471], [0.232364, 0.0429505, 0.724686], [0.232264, 0.0428357, 0.7249], [0.232164, 0.0427211, 0.725114], [0.232065, 0.0426068, 0.725328], [0.231967, 0.0424927, 0.725541], [0.231868, 0.0423789, 0.725753], [0.23177, 0.0422653, 0.725965], [0.231672, 0.0421521, 0.726176], [0.231574, 0.042039, 0.726387], [0.231477, 0.0419263, 0.726597], [0.23138, 0.0418137, 0.726806], [0.231283, 0.0417015, 0.727015], [0.231187, 0.0415895, 0.727223], [0.231091, 0.0414778, 0.727431], [0.230995, 0.0413663, 0.727639], [0.2309, 0.0412551, 0.727845], [0.230804, 0.0411441, 0.728051], [0.230709, 0.0410334, 0.728257], [0.230615, 0.040923, 0.728462], [0.23052, 0.0408128, 0.728667], [0.230426, 0.0407028, 0.728871], [0.230333, 0.0405931, 0.729074], [0.230239, 0.0404837, 0.729277], [0.230146, 0.0403745, 0.729479], [0.230053, 0.0402656, 0.729681], [0.22996, 0.040157, 0.729883], [0.229868, 0.0400485, 0.730083], [0.229776, 0.0399404, 0.730284], [0.229684, 0.0398325, 0.730483], [0.229593, 0.0397248, 0.730682], [0.229502, 0.0396174, 0.730881], [0.229411, 0.0395103, 0.731079], [0.22932, 0.0394034, 0.731277], [0.22923, 0.0392967, 0.731474], [0.22914, 0.0391903, 0.73167], [0.22905, 0.0390842, 0.731866], [0.22896, 0.0389783, 0.732061], [0.228871, 0.0388726, 0.732256], [0.228782, 0.0387672, 0.732451], [0.228693, 0.0386621, 0.732645], [0.228605, 0.0385572, 0.732838], [0.228517, 0.0384525, 0.733031], [0.228429, 0.0383481, 0.733223], [0.228341, 0.038244, 0.733415], [0.228254, 0.0381401, 0.733606], [0.228167, 0.0380364, 0.733797], [0.22808, 0.037933, 0.733987], [0.227994, 0.0378298, 0.734177], [0.227907, 0.0377269, 0.734366], [0.227821, 0.0376242, 0.734555], [0.227736, 0.0375218, 0.734743], [0.22765, 0.0374196, 0.73493], [0.227565, 0.0373176, 0.735118], [0.22748, 0.0372159, 0.735304], [0.227395, 0.0371145, 0.73549], [0.227311, 0.0370133, 0.735676], [0.227227, 0.0369123, 0.735861], [0.227143, 0.0368116, 0.736046], [0.227059, 0.0367111, 0.73623], [0.226976, 0.0366108, 0.736413], [0.226893, 0.0365108, 0.736597], [0.22681, 0.0364111, 0.736779], [0.226727, 0.0363115, 0.736961], [0.226645, 0.0362123, 0.737143], [0.226563, 0.0361132, 0.737324], [0.226481, 0.0360144, 0.737505], [0.226399, 0.0359159, 0.737685], [0.226318, 0.0358175, 0.737864], [0.226237, 0.0357194, 0.738044], [0.226156, 0.0356216, 0.738222], [0.226076, 0.035524, 0.7384], [0.225995, 0.0354266, 0.738578], [0.225915, 0.0353295, 0.738755], [0.225835, 0.0352326, 0.738932], [0.225756, 0.0351359, 0.739108], [0.225676, 0.0350395, 0.739284], [0.225597, 0.0349433, 0.739459], [0.225519, 0.0348474, 0.739634], [0.22544, 0.0347516, 0.739808], [0.225362, 0.0346562, 0.739982], [0.225284, 0.0345609, 0.740156], [0.225206, 0.0344659, 0.740328], [0.225128, 0.0343711, 0.740501], [0.225051, 0.0342766, 0.740673], [0.224974, 0.0341822, 0.740844], [0.224897, 0.0340882, 0.741015], [0.22482, 0.0339943, 0.741186], [0.224744, 0.0339007, 0.741356], [0.224667, 0.0338073, 0.741525], [0.224591, 0.0337141, 0.741694], [0.224516, 0.0336212, 0.741863], [0.22444, 0.0335285, 0.742031], [0.224365, 0.033436, 0.742199], [0.22429, 0.0333438, 0.742366], [0.224215, 0.0332518, 0.742533], [0.224141, 0.03316, 0.742699], [0.224066, 0.0330685, 0.742865], [0.223992, 0.0329771, 0.74303], [0.223919, 0.032886, 0.743195], [0.223845, 0.0327952, 0.74336], [0.223772, 0.0327045, 0.743524], [0.223698, 0.0326141, 0.743687], [0.223626, 0.0325239, 0.743851], [0.223553, 0.0324339, 0.744013], [0.22348, 0.0323442, 0.744175], [0.223408, 0.0322547, 0.744337], [0.223336, 0.0321654, 0.744498], [0.223264, 0.0320763, 0.744659], [0.223193, 0.0319875, 0.74482], [0.223121, 0.0318989, 0.74498], [0.22305, 0.0318105, 0.745139], [0.222979, 0.0317223, 0.745298], [0.222909, 0.0316344, 0.745457], [0.222838, 0.0315466, 0.745615], [0.222768, 0.0314591, 0.745773], [0.222698, 0.0313718, 0.74593], [0.222628, 0.0312848, 0.746087], [0.222559, 0.0311979, 0.746243], [0.222489, 0.0311113, 0.746399], [0.22242, 0.0310249, 0.746555], [0.222351, 0.0309387, 0.74671], [0.222282, 0.0308527, 0.746865], [0.222214, 0.030767, 0.747019], [0.222146, 0.0306815, 0.747173], [0.222078, 0.0305962, 0.747326], [0.22201, 0.0305111, 0.747479], [0.221942, 0.0304262, 0.747632], [0.221875, 0.0303415, 0.747784], [0.221807, 0.0302571, 0.747936], [0.22174, 0.0301728, 0.748087], [0.221674, 0.0300888, 0.748238], [0.221607, 0.030005, 0.748388], [0.221541, 0.0299214, 0.748538], [0.221474, 0.0298381, 0.748688], [0.221408, 0.0297549, 0.748837], [0.221343, 0.029672, 0.748985], [0.221277, 0.0295892, 0.749134], [0.221212, 0.0295067, 0.749282], [0.221147, 0.0294244, 0.749429], [0.221082, 0.0293423, 0.749576], [0.221017, 0.0292604, 0.749723], [0.220952, 0.0291788, 0.749869], [0.220888, 0.0290973, 0.750015], [0.220824, 0.0290161, 0.75016], [0.22076, 0.028935, 0.750305], [0.220696, 0.0288542, 0.75045], [0.220633, 0.0287736, 0.750594], [0.220569, 0.0286932, 0.750738], [0.220506, 0.028613, 0.750881], [0.220443, 0.028533, 0.751024], [0.22038, 0.0284532, 0.751167], [0.220318, 0.0283736, 0.751309], [0.220255, 0.0282942, 0.75145], [0.220193, 0.0282151, 0.751592], [0.220131, 0.0281361, 0.751733], [0.220069, 0.0280573, 0.751873], [0.220008, 0.0279788, 0.752013], [0.219946, 0.0279004, 0.752153], [0.219885, 0.0278223, 0.752292], [0.219824, 0.0277444, 0.752431], [0.219763, 0.0276666, 0.75257], [0.219703, 0.0275891, 0.752708], [0.219642, 0.0275118, 0.752846], [0.219582, 0.0274346, 0.752983], [0.219522, 0.0273577, 0.75312], [0.219462, 0.027281, 0.753257], [0.219402, 0.0272045, 0.753393], [0.219343, 0.0271282, 0.753529], [0.219284, 0.027052, 0.753664], [0.219224, 0.0269761, 0.7538], [0.219165, 0.0269004, 0.753934], [0.219107, 0.0268249, 0.754068], [0.219048, 0.0267496, 0.754202], [0.21899, 0.0266744, 0.754336], [0.218931, 0.0265995, 0.754469], [0.218873, 0.0265248, 0.754602], [0.218815, 0.0264503, 0.754734], [0.218758, 0.0263759, 0.754866], [0.2187, 0.0263018, 0.754998], [0.218643, 0.0262279, 0.755129], [0.218586, 0.0261541, 0.75526], [0.218529, 0.0260806, 0.755391], [0.218472, 0.0260072, 0.755521], [0.218415, 0.0259341, 0.755651], [0.218359, 0.0258611, 0.75578], [0.218303, 0.0257883, 0.755909], [0.218247, 0.0257157, 0.756038], [0.218191, 0.0256434, 0.756166], [0.218135, 0.0255712, 0.756294], [0.218079, 0.0254992, 0.756421], [0.218024, 0.0254274, 0.756549], [0.217969, 0.0253557, 0.756676], [0.217914, 0.0252843, 0.756802], [0.217859, 0.0252131, 0.756928], [0.217804, 0.025142, 0.757054], [0.21775, 0.0250712, 0.757179], [0.217695, 0.0250005, 0.757304], [0.217641, 0.02493, 0.757429], [0.217587, 0.0248597, 0.757553], [0.217533, 0.0247896, 0.757677], [0.217479, 0.0247197, 0.757801], [0.217426, 0.02465, 0.757924], [0.217372, 0.0245804, 0.758047], [0.217319, 0.0245111, 0.75817], [0.217266, 0.0244419, 0.758292], [0.217213, 0.0243729, 0.758414], [0.217161, 0.0243041, 0.758535], [0.217108, 0.0242355, 0.758656], [0.217056, 0.0241671, 0.758777], [0.217003, 0.0240988, 0.758898], [0.216951, 0.0240307, 0.759018], [0.216899, 0.0239629, 0.759138], [0.216848, 0.0238952, 0.759257], [0.216796, 0.0238276, 0.759376], [0.216745, 0.0237603, 0.759495], [0.216693, 0.0236932, 0.759613], [0.216642, 0.0236262, 0.759731], [0.216591, 0.0235594, 0.759849], [0.216541, 0.0234928, 0.759967], [0.21649, 0.0234263, 0.760084], [0.216439, 0.0233601, 0.7602], [0.216389, 0.023294, 0.760317], [0.216339, 0.0232281, 0.760433], [0.216289, 0.0231624, 0.760549], [0.216239, 0.0230968, 0.760664], [0.216189, 0.0230315, 0.760779], [0.21614, 0.0229663, 0.760894], [0.21609, 0.0229013, 0.761008], [0.216041, 0.0228364, 0.761122], [0.215992, 0.0227718, 0.761236], [0.215943, 0.0227073, 0.76135], [0.215894, 0.022643, 0.761463], [0.215846, 0.0225788, 0.761575], [0.215797, 0.0225149, 0.761688], [0.215749, 0.0224511, 0.7618], [0.215701, 0.0223875, 0.761912], [0.215653, 0.022324, 0.762023], [0.215605, 0.0222607, 0.762135], [0.215557, 0.0221976, 0.762245], [0.215509, 0.0221347, 0.762356], [0.215462, 0.0220719, 0.762466], [0.215415, 0.0220093, 0.762576], [0.215367, 0.0219469, 0.762686], [0.21532, 0.0218847, 0.762795], [0.215274, 0.0218226, 0.762904], [0.215227, 0.0217607, 0.763013], [0.21518, 0.0216989, 0.763121], [0.215134, 0.0216373, 0.763229], [0.215087, 0.0215759, 0.763337], [0.215041, 0.0215147, 0.763444], [0.214995, 0.0214536, 0.763551], [0.214949, 0.0213927, 0.763658], [0.214904, 0.0213319, 0.763764], [0.214858, 0.0212714, 0.763871], [0.214813, 0.0212109, 0.763977], [0.214767, 0.0211507, 0.764082], [0.214722, 0.0210906, 0.764187], [0.214677, 0.0210307, 0.764292], [0.214632, 0.0209709, 0.764397], [0.214587, 0.0209113, 0.764501], [0.214543, 0.0208519, 0.764605], [0.214498, 0.0207926, 0.764709], [0.214454, 0.0207335, 0.764813], [0.21441, 0.0206745, 0.764916], [0.214365, 0.0206157, 0.765019], [0.214321, 0.0205571, 0.765121], [0.214278, 0.0204986, 0.765224], [0.214234, 0.0204403, 0.765326], [0.21419, 0.0203821, 0.765428], [0.214147, 0.0203241, 0.765529], [0.214104, 0.0202663, 0.76563], [0.21406, 0.0202086, 0.765731], [0.214017, 0.020151, 0.765832], [0.213975, 0.0200937, 0.765932], [0.213932, 0.0200365, 0.766032], [0.213889, 0.0199794, 0.766132], [0.213847, 0.0199225, 0.766231], [0.213804, 0.0198657, 0.76633], [0.213762, 0.0198091, 0.766429], [0.21372, 0.0197527, 0.766528], [0.213678, 0.0196964, 0.766626], [0.213636, 0.0196402, 0.766724], [0.213594, 0.0195843, 0.766822], [0.213552, 0.0195284, 0.766919], [0.213511, 0.0194727, 0.767016], [0.21347, 0.0194172, 0.767113], [0.213428, 0.0193618, 0.76721], [0.213387, 0.0193066, 0.767306], [0.213346, 0.0192515, 0.767402], [0.213305, 0.0191966, 0.767498], [0.213265, 0.0191418, 0.767594], [0.213224, 0.0190871, 0.767689], [0.213183, 0.0190326, 0.767784], [0.213143, 0.0189783, 0.767879], [0.213103, 0.0189241, 0.767973], [0.213063, 0.01887, 0.768067], [0.213023, 0.0188161, 0.768161], [0.212983, 0.0187624, 0.768255], [0.212943, 0.0187088, 0.768348], [0.212903, 0.0186553, 0.768441], [0.212864, 0.018602, 0.768534], [0.212824, 0.0185488, 0.768627], [0.212785, 0.0184958, 0.768719], [0.212746, 0.0184429, 0.768811], [0.212707, 0.0183901, 0.768903], [0.212668, 0.0183375, 0.768995], [0.212629, 0.018285, 0.769086], [0.21259, 0.0182327, 0.769177], [0.212552, 0.0181805, 0.769268], [0.212513, 0.0181285, 0.769358], [0.212475, 0.0180766, 0.769449], [0.212436, 0.0180248, 0.769539], [0.212398, 0.0179732, 0.769629], [0.21236, 0.0179217, 0.769718], [0.212322, 0.0178703, 0.769807], [0.212284, 0.0178191, 0.769896], [0.212247, 0.017768, 0.769985], [0.212209, 0.0177171, 0.770074], [0.212172, 0.0176663, 0.770162], [0.212134, 0.0176156, 0.77025], [0.212097, 0.017565, 0.770338], [0.21206, 0.0175146, 0.770425], [0.212023, 0.0174644, 0.770513], [0.211986, 0.0174142, 0.7706], [0.211949, 0.0173642, 0.770687], [0.211912, 0.0173144, 0.770773], [0.211876, 0.0172646, 0.770859], [0.211839, 0.017215, 0.770946], [0.211803, 0.0171655, 0.771031], [0.211767, 0.0171162, 0.771117], [0.211731, 0.017067, 0.771202], [0.211695, 0.0170179, 0.771288], [0.211659, 0.016969, 0.771372], [0.211623, 0.0169201, 0.771457], [0.211587, 0.0168714, 0.771542], [0.211551, 0.0168229, 0.771626], [0.211516, 0.0167744, 0.77171], [0.21148, 0.0167261, 0.771793], [0.211445, 0.0166779, 0.771877], [0.21141, 0.0166299, 0.77196], [0.211375, 0.0165819, 0.772043], [0.21134, 0.0165342, 0.772126], [0.211305, 0.0164865, 0.772209], [0.21127, 0.016439, 0.772291], [0.211235, 0.0163916, 0.772373], [0.211201, 0.0163443, 0.772455], [0.211166, 0.0162972, 0.772536], [0.211132, 0.0162502, 0.772618], [0.211098, 0.0162033, 0.772699], [0.211064, 0.0161565, 0.77278], [0.21103, 0.0161099, 0.77286], [0.210996, 0.0160634, 0.772941], [0.210962, 0.0160171, 0.773021], [0.210928, 0.0159708, 0.773101], [0.210894, 0.0159247, 0.773181], [0.210861, 0.0158788, 0.77326], [0.210827, 0.0158329, 0.77334], [0.210794, 0.0157872, 0.773419], [0.210761, 0.0157416, 0.773497], [0.210728, 0.0156961, 0.773576], [0.210695, 0.0156508, 0.773654], [0.210662, 0.0156056, 0.773733], [0.210629, 0.0155605, 0.77381], [0.210596, 0.0155155, 0.773888], [0.210564, 0.0154707, 0.773966], [0.210531, 0.015426, 0.774043], [0.210499, 0.0153814, 0.77412], [0.210466, 0.0153369, 0.774197], [0.210434, 0.0152926, 0.774273], [0.210402, 0.0152483, 0.77435], [0.21037, 0.0152042, 0.774426], [0.210338, 0.0151603, 0.774502], [0.210306, 0.0151164, 0.774577], [0.210274, 0.0150727, 0.774653], [0.210243, 0.0150291, 0.774728], [0.210211, 0.0149856, 0.774803], [0.21018, 0.0149422, 0.774878], [0.210148, 0.014899, 0.774953], [0.210117, 0.0148558, 0.775027], [0.210086, 0.0148128, 0.775101], [0.210055, 0.01477, 0.775175], [0.210024, 0.0147272, 0.775249], [0.209993, 0.0146845, 0.775322], [0.209962, 0.014642, 0.775396], [0.209932, 0.0145996, 0.775469], [0.209901, 0.0145573, 0.775542], [0.209871, 0.0145151, 0.775614], [0.20984, 0.0144731, 0.775687]]
Out[46]:
retcode: Success
Interpolation: 1st order linear
t: 2001-element Array{Float64,1}:
   0.0
   0.1
   0.2
   0.3
   0.4
   0.5
   0.6
   0.7
   0.8
   0.9
   1.0
   1.1
   1.2
   â‹®  
 198.9
 199.0
 199.1
 199.2
 199.3
 199.4
 199.5
 199.6
 199.7
 199.8
 199.9
 200.0
u: 2001-element Array{Array{Float64,1},1}:
 [0.99, 0.01, 0.0]                 
 [0.989901, 0.0100491, 5.01227e-5] 
 [0.989801, 0.0100985, 0.000100492]
 [0.989701, 0.010148, 0.000151108] 
 [0.9896, 0.0101979, 0.000201972]  
 [0.989499, 0.0102479, 0.000253087]
 [0.989397, 0.0102982, 0.000304452]
 [0.989295, 0.0103487, 0.000356069]
 [0.989193, 0.0103995, 0.000407939]
 [0.989089, 0.0104504, 0.000460064]
 [0.988986, 0.0105017, 0.000512444]
 [0.988882, 0.0105531, 0.000565081]
 [0.988777, 0.0106049, 0.000617976]
 â‹®                                 
 [0.21018, 0.0149422, 0.774878]    
 [0.210148, 0.014899, 0.774953]    
 [0.210117, 0.0148558, 0.775027]   
 [0.210086, 0.0148128, 0.775101]   
 [0.210055, 0.01477, 0.775175]     
 [0.210024, 0.0147272, 0.775249]   
 [0.209993, 0.0146845, 0.775322]   
 [0.209962, 0.014642, 0.775396]    
 [0.209932, 0.0145996, 0.775469]   
 [0.209901, 0.0145573, 0.775542]   
 [0.209871, 0.0145151, 0.775614]   
 [0.20984, 0.0144731, 0.775687]    
In [47]:
methods_df = get_method_calls_method_edges(first_and_second_order_calls.called_methods)
vars_df = get_method_rw_variable_edges(prog_vars.vars)
g_out = create_dataflow_graph(first_and_second_order_calls, prog_vars, methods_df, vars_df)
Out[47]:
{14, 14} directed Int64 metagraph with Float64 weights defined by :weight (default weight 1.0)
In [48]:
plot_dataflow_graph(g_out)
14
Out[48]:
("calls", 2) ("calls", 1) ("calls", 2) ("calls", 1) ("calls", 186) ("interacts_with", 186) ("interacts_with", 186) ("interacts_with", 186) ("interacts_with", 186) ("interacts_with", 186) ("interacts_with", 186) ("interacts_with", 186) ("interacts_with", 186) ("interacts_with", 186) * - sir_ode2(du, u, p, t) sir_ode sir_ode2 du::Symbol u::Symbol p::Symbol t::Symbol (S, I, R)::Array{Float64,1} (b, g)::Array{Float64,1} du[1]::Float64 du[2]::Float64 du[3]::Float64

Conclusions

Dynamic program analysis is able to capture variables, values, functions, and types. Knowledge graphs extracted from scientific model programs include rich information that can be tied to the concept graphs from the text, through the intermediary of variables.

We can collect this dynamic analysis information from programs that use highly optimized complex libraries such as DifferentialEquations.jl, which we did not write. This shows promise for the ability of model metaprogramming and semantically annotated syntax trees to provide information about the structure and function of scientific models.