JuliaStaging / GeneralizedGenerated.jl

A generalized version of Julia generated functions @generated to allow closures in generated functions and avoid the use of runtime eval or invokelatest.
MIT License
89 stars 10 forks source link

Extremely long stracktrace #44

Closed YingboMa closed 4 years ago

YingboMa commented 4 years ago

MWE:

using ModelingToolkit
@parameters t L g
@variables x(t) y(t) w(t) z(t) T(t) xˍt(t) yˍt(t)
@derivatives D'~t
idx1_pendulum = [D(x) ~ w,
                 D(y) ~ z,
                 D(w) ~ T*x,
                 D(z) ~ T*y - g,
                 0 ~ x^2 + y^2 - L^2,
                 0 ~ 2x*w + 2y*z,
                 D(D(x)) ~ D(w),
                 D(D(y)) ~ D(z),
                 0 ~ 2x*(T*x) + 2*w*w + 2y*(T*y - g) + 2*z*z]
idx1_pendulum = ODESystem(idx1_pendulum, t, [x, y, w, z, T], [L, g])
first_order_idx1_pendulum = ode_order_lowering(idx1_pendulum)

using OrdinaryDiffEq
prob = ODEProblem(ODEFunction(first_order_idx1_pendulum),
         # [x, y, w, z, T, xˍt, yˍt]
           [1, 0, 0, 0, 0,   0,  0.0],
           (0, 10.0),
           [1, 9.8],
           mass_matrix=calculate_massmatrix(first_order_idx1_pendulum))
solve(prob, Rosenbrock23())

stacktrace:

julia> solve(prob, Rosenbrock23())
ERROR: UndefVarError: wˍt not defined
Stacktrace:
 [1] getproperty at ./Base.jl:26 [inlined]
 [2] macro expansion at /home/scheme/.julia/dev/GeneralizedGenerated/src/ngg/runtime_fns.jl:70 [inlined]
 [3] (::GeneralizedGenerated.NGG.RuntimeFn{TypeEncoding(list(##MTIIPVar#279, ##MTKArg#275, ##MTKArg#276, ##MTKArg#277)),TypeEncoding(nil(GeneralizedGenerated.NGG.Argument)),TypeEncoding(begin
    begin
        begin
            $(Expr(:inbounds, true))
            local var"#32#val" = begin
                        let (x, y, w, z, T, xˍt, yˍt, L, g, t) = (var"##MTKArg#275"[1], var"##MTKArg#275"[2], var"##MTKArg#275"[3], var"##MTKArg#275"[4], var"##MTKArg#275"[5], var"##MTKArg#275"[6], var"##MTKArg#275"[7], var"##MTKArg#276"[1], var"##MTKArg#276"[2], var"##MTKArg#277")
                            begin
                                var"##MTIIPVar#279"[1] = w
                                var"##MTIIPVar#279"[2] = z
                                var"##MTIIPVar#279"[3] = (ModelingToolkit).:*(T, x)
                                var"##MTIIPVar#279"[4] = (ModelingToolkit).:-((ModelingToolkit).:*(T, y), g)
                                var"##MTIIPVar#279"[5] = (ModelingToolkit).:-((ModelingToolkit).:+((ModelingToolkit).:^(x, 2), (ModelingToolkit).:^(y, 2)), (ModelingToolkit).:^(L, 2))
                                var"##MTIIPVar#279"[6] = (ModelingToolkit).:+((ModelingToolkit).:*((ModelingToolkit).:*(2, x), w), (ModelingToolkit).:*((ModelingToolkit).:*(2, y), z))
                                var"##MTIIPVar#279"[7] = (ModelingToolkit).wˍt(t)
                                var"##MTIIPVar#279"[8] = (ModelingToolkit).zˍt(t)
                                var"##MTIIPVar#279"[9] = (ModelingToolkit).:+((ModelingToolkit).:+((ModelingToolkit).:+((ModelingToolkit).:*((ModelingToolkit).:*(2, x), (ModelingToolkit).:*(T, x)), (ModelingToolkit).:*((ModelingToolkit).:*(2, w), w)), (ModelingToolkit).:*((ModelingToolkit).:*(2, y), (ModelingToolkit).:-((ModelingToolkit).:*(T, y), g))), (ModelingToolkit).:*((ModelingToolkit).:*(2, z), z))
                                var"##MTIIPVar#279"[10] = xˍt
                                var"##MTIIPVar#279"[11] = yˍt
                            end
                        end
                    end
            $(Expr(:inbounds, :((ModelingToolkit).pop)))
            var"#32#val"
        end
        (ModelingToolkit).nothing
    end
end),:function})(::Array{Float64,1}, ::Array{Float64,1}, ::Array{Float64,1}, ::Float64) at /home/scheme/.julia/dev/GeneralizedGenerated/src/ngg/runtime_fns.jl:63
 [4] f at /home/scheme/.julia/dev/ModelingToolkit/src/systems/diffeqs/abstractodesystem.jl:147 [inlined]
 [5] ODEFunction at /home/scheme/.julia/dev/DiffEqBase/src/diffeqfunction.jl:250 [inlined]
 [6] _initialize_dae!(::OrdinaryDiffEq.ODEIntegrator{Rosenbrock23{0,true,DefaultLinSolve,DataType},true,Array{Float64,1},Nothing,Float64,Array{Float64,1},Float64,Float64,Float64,Array{Array{Float64,1},1},ODESolution{Float64,2,Array{Array{Float64,1},1},Nothing,Nothing,Array{Float64,1},Array{Array{Array{Float64,1},1},1},ODEProblem{Array{Float64,1},Tuple{Float64,Float64},true,Array{Float64,1},ODEFunction{true,ModelingToolkit.var"#f#84"{GeneralizedGenerated.NGG.RuntimeFn{TypeEncoding(list(##MTKArg#275, ##MTKArg#276, ##MTKArg#277)),TypeEncoding(nil(GeneralizedGenerated.NGG.Argument)),TypeEncoding(begin
    begin
        if (ModelingToolkit).isa(var"##MTKArg#275", (ModelingToolkit).Array) || (ModelingToolkit).:!((ModelingToolkit).typeof(var"##MTKArg#275") <: (ModelingToolkit).StaticArray) && false
            return begin
                    $(Expr(:inbounds, true))
                    local var"#30#val" = begin
                                let (x, y, w, z, T, xˍt, yˍt, L, g, t) = (var"##MTKArg#275"[1], var"##MTKArg#275"[2], var"##MTKArg#275"[3], var"##MTKArg#275"[4], var"##MTKArg#275"[5], var"##MTKArg#275"[6], var"##MTKArg#275"[7], var"##MTKArg#276"[1], var"##MTKArg#276"[2], var"##MTKArg#277")
                                    [w, z, (ModelingToolkit).:*(T, x), (ModelingToolkit).:-((ModelingToolkit).:*(T, y), g), (ModelingToolkit).:-((ModelingToolkit).:+((ModelingToolkit).:^(x, 2), (ModelingToolkit).:^(y, 2)), (ModelingToolkit).:^(L, 2)), (ModelingToolkit).:+((ModelingToolkit).:*((ModelingToolkit).:*(2, x), w), (ModelingToolkit).:*((ModelingToolkit).:*(2, y), z)), (ModelingToolkit).wˍt(t), (ModelingToolkit).zˍt(t), (ModelingToolkit).:+((ModelingToolkit).:+((ModelingToolkit).:+((ModelingToolkit).:*((ModelingToolkit).:*(2, x), (ModelingToolkit).:*(T, x)), (ModelingToolkit).:*((ModelingToolkit).:*(2, w), w)), (ModelingToolkit).:*((ModelingToolkit).:*(2, y), (ModelingToolkit).:-((ModelingToolkit).:*(T, y), g))), (ModelingToolkit).:*((ModelingToolkit).:*(2, z), z)), xˍt, yˍt]
                                end
                            end
                    $(Expr(:inbounds, :((ModelingToolkit).pop)))
                    var"#30#val"
                end
        else
            X = begin
                    $(Expr(:inbounds, true))
                    local var"#31#val" = begin
                                let (x, y, w, z, T, xˍt, yˍt, L, g, t) = (var"##MTKArg#275"[1], var"##MTKArg#275"[2], var"##MTKArg#275"[3], var"##MTKArg#275"[4], var"##MTKArg#275"[5], var"##MTKArg#275"[6], var"##MTKArg#275"[7], var"##MTKArg#276"[1], var"##MTKArg#276"[2], var"##MTKArg#277")
                                    (w, z, (ModelingToolkit).:*(T, x), (ModelingToolkit).:-((ModelingToolkit).:*(T, y), g), (ModelingToolkit).:-((ModelingToolkit).:+((ModelingToolkit).:^(x, 2), (ModelingToolkit).:^(y, 2)), (ModelingToolkit).:^(L, 2)), (ModelingToolkit).:+((ModelingToolkit).:*((ModelingToolkit).:*(2, x), w), (ModelingToolkit).:*((ModelingToolkit).:*(2, y), z)), (ModelingToolkit).wˍt(t), (ModelingToolkit).zˍt(t), (ModelingToolkit).:+((ModelingToolkit).:+((ModelingToolkit).:+((ModelingToolkit).:*((ModelingToolkit).:*(2, x), (ModelingToolkit).:*(T, x)), (ModelingToolkit).:*((ModelingToolkit).:*(2, w), w)), (ModelingToolkit).:*((ModelingToolkit).:*(2, y), (ModelingToolkit).:-((ModelingToolkit).:*(T, y), g))), (ModelingToolkit).:*((ModelingToolkit).:*(2, z), z)), xˍt, yˍt)
                                end
                            end
                    $(Expr(:inbounds, :((ModelingToolkit).pop)))
                    var"#31#val"
                end
            construct = if (ModelingToolkit).isa(var"##MTKArg#275", (ModelingToolkit).ModelingToolkit.StaticArrays.StaticArray)
                    (ModelingToolkit).ModelingToolkit.StaticArrays.similar_type((ModelingToolkit).typeof(var"##MTKArg#275"), (ModelingToolkit).eltype(X))
                else
                    #= /home/scheme/.julia/dev/GeneralizedGenerated/src/closure_conv.jl:53 =#
                    let freevars = (var"##MTKArg#275",)
                        #= /home/scheme/.julia/dev/GeneralizedGenerated/src/closure_conv.jl:54 =#
                        (GeneralizedGenerated.Closure){function = (##MTKArg#275, x;) -> begin
    begin
        (ModelingToolkit).convert((ModelingToolkit).typeof(var"##MTKArg#275"), x)
    end
end, Base.typeof(freevars)}(freevars)
                    end
                end
            return construct(X)
        end
    end
end),:function},GeneralizedGenerated.NGG.RuntimeFn{TypeEncoding(list(##MTIIPVar#279, ##MTKArg#275, ##MTKArg#276, ##MTKArg#277)),TypeEncoding(nil(GeneralizedGenerated.NGG.Argument)),TypeEncoding(begin
    begin
        begin
            $(Expr(:inbounds, true))
            local var"#32#val" = begin
                        let (x, y, w, z, T, xˍt, yˍt, L, g, t) = (var"##MTKArg#275"[1], var"##MTKArg#275"[2], var"##MTKArg#275"[3], var"##MTKArg#275"[4], var"##MTKArg#275"[5], var"##MTKArg#275"[6], var"##MTKArg#275"[7], var"##MTKArg#276"[1], var"##MTKArg#276"[2], var"##MTKArg#277")
                            begin
                                var"##MTIIPVar#279"[1] = w
                                var"##MTIIPVar#279"[2] = z
                                var"##MTIIPVar#279"[3] = (ModelingToolkit).:*(T, x)
                                var"##MTIIPVar#279"[4] = (ModelingToolkit).:-((ModelingToolkit).:*(T, y), g)
                                var"##MTIIPVar#279"[5] = (ModelingToolkit).:-((ModelingToolkit).:+((ModelingToolkit).:^(x, 2), (ModelingToolkit).:^(y, 2)), (ModelingToolkit).:^(L, 2))
                                var"##MTIIPVar#279"[6] = (ModelingToolkit).:+((ModelingToolkit).:*((ModelingToolkit).:*(2, x), w), (ModelingToolkit).:*((ModelingToolkit).:*(2, y), z))
                                var"##MTIIPVar#279"[7] = (ModelingToolkit).wˍt(t)
                                var"##MTIIPVar#279"[8] = (ModelingToolkit).zˍt(t)
                                var"##MTIIPVar#279"[9] = (ModelingToolkit).:+((ModelingToolkit).:+((ModelingToolkit).:+((ModelingToolkit).:*((ModelingToolkit).:*(2, x), (ModelingToolkit).:*(T, x)), (ModelingToolkit).:*((ModelingToolkit).:*(2, w), w)), (ModelingToolkit).:*((ModelingToolkit).:*(2, y), (ModelingToolkit).:-((ModelingToolkit).:*(T, y), g))), (ModelingToolkit).:*((ModelingToolkit).:*(2, z), z))
                                var"##MTIIPVar#279"[10] = xˍt
                                var"##MTIIPVar#279"[11] = yˍt
                            end
                        end
                    end
            $(Expr(:inbounds, :((ModelingToolkit).pop)))
            var"#32#val"
        end
        (ModelingToolkit).nothing
    end
end),:function}},Array{Float64,2},Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Array{Symbol,1},Nothing},Base.Iterators.Pairs{Symbol,Array{Float64,2},Tuple{Symbol},NamedTuple{(:mass_matrix,),Tuple{Array{Float64,2}}}},DiffEqBase.StandardODEProblem},Rosenbrock23{0,true,DefaultLinSolve,DataType},OrdinaryDiffEq.InterpolationData{ODEFunction{true,ModelingToolkit.var"#f#84"{GeneralizedGenerated.NGG.RuntimeFn{TypeEncoding(list(##MTKArg#275, ##MTKArg#276, ##MTKArg#277)),TypeEncoding(nil(GeneralizedGenerated.NGG.Argument)),TypeEncoding(begin
    begin
        if (ModelingToolkit).isa(var"##MTKArg#275", (ModelingToolkit).Array) || (ModelingToolkit).:!((ModelingToolkit).typeof(var"##MTKArg#275") <: (ModelingToolkit).StaticArray) && false
            return begin
                    $(Expr(:inbounds, true))
                    local var"#30#val" = begin
                                let (x, y, w, z, T, xˍt, yˍt, L, g, t) = (var"##MTKArg#275"[1], var"##MTKArg#275"[2], var"##MTKArg#275"[3], var"##MTKArg#275"[4], var"##MTKArg#275"[5], var"##MTKArg#275"[6], var"##MTKArg#275"[7], var"##MTKArg#276"[1], var"##MTKArg#276"[2], var"##MTKArg#277")
                                    [w, z, (ModelingToolkit).:*(T, x), (ModelingToolkit).:-((ModelingToolkit).:*(T, y), g), (ModelingToolkit).:-((ModelingToolkit).:+((ModelingToolkit).:^(x, 2), (ModelingToolkit).:^(y, 2)), (ModelingToolkit).:^(L, 2)), (ModelingToolkit).:+((ModelingToolkit).:*((ModelingToolkit).:*(2, x), w), (ModelingToolkit).:*((ModelingToolkit).:*(2, y), z)), (ModelingToolkit).wˍt(t), (ModelingToolkit).zˍt(t), (ModelingToolkit).:+((ModelingToolkit).:+((ModelingToolkit).:+((ModelingToolkit).:*((ModelingToolkit).:*(2, x), (ModelingToolkit).:*(T, x)), (ModelingToolkit).:*((ModelingToolkit).:*(2, w), w)), (ModelingToolkit).:*((ModelingToolkit).:*(2, y), (ModelingToolkit).:-((ModelingToolkit).:*(T, y), g))), (ModelingToolkit).:*((ModelingToolkit).:*(2, z), z)), xˍt, yˍt]
                                end
                            end
                    $(Expr(:inbounds, :((ModelingToolkit).pop)))
                    var"#30#val"
                end
        else
            X = begin
                    $(Expr(:inbounds, true))
                    local var"#31#val" = begin
                                let (x, y, w, z, T, xˍt, yˍt, L, g, t) = (var"##MTKArg#275"[1], var"##MTKArg#275"[2], var"##MTKArg#275"[3], var"##MTKArg#275"[4], var"##MTKArg#275"[5], var"##MTKArg#275"[6], var"##MTKArg#275"[7], var"##MTKArg#276"[1], var"##MTKArg#276"[2], var"##MTKArg#277")
                                    (w, z, (ModelingToolkit).:*(T, x), (ModelingToolkit).:-((ModelingToolkit).:*(T, y), g), (ModelingToolkit).:-((ModelingToolkit).:+((ModelingToolkit).:^(x, 2), (ModelingToolkit).:^(y, 2)), (ModelingToolkit).:^(L, 2)), (ModelingToolkit).:+((ModelingToolkit).:*((ModelingToolkit).:*(2, x), w), (ModelingToolkit).:*((ModelingToolkit).:*(2, y), z)), (ModelingToolkit).wˍt(t), (ModelingToolkit).zˍt(t), (ModelingToolkit).:+((ModelingToolkit).:+((ModelingToolkit).:+((ModelingToolkit).:*((ModelingToolkit).:*(2, x), (ModelingToolkit).:*(T, x)), (ModelingToolkit).:*((ModelingToolkit).:*(2, w), w)), (ModelingToolkit).:*((ModelingToolkit).:*(2, y), (ModelingToolkit).:-((ModelingToolkit).:*(T, y), g))), (ModelingToolkit).:*((ModelingToolkit).:*(2, z), z)), xˍt, yˍt)
                                end
                            end
                    $(Expr(:inbounds, :((ModelingToolkit).pop)))
                    var"#31#val"
                end
            construct = if (ModelingToolkit).isa(var"##MTKArg#275", (ModelingToolkit).ModelingToolkit.StaticArrays.StaticArray)
                    (ModelingToolkit).ModelingToolkit.StaticArrays.similar_type((ModelingToolkit).typeof(var"##MTKArg#275"), (ModelingToolkit).eltype(X))
                else
                    #= /home/scheme/.julia/dev/GeneralizedGenerated/src/closure_conv.jl:53 =#
                    let freevars = (var"##MTKArg#275",)
                        #= /home/scheme/.julia/dev/GeneralizedGenerated/src/closure_conv.jl:54 =#
                        (GeneralizedGenerated.Closure){function = (##MTKArg#275, x;) -> begin
    begin
        (ModelingToolkit).convert((ModelingToolkit).typeof(var"##MTKArg#275"), x)
    end
end, Base.typeof(freevars)}(freevars)
                    end
                end
            return construct(X)
        end
    end
end),:function},GeneralizedGenerated.NGG.RuntimeFn{TypeEncoding(list(##MTIIPVar#279, ##MTKArg#275, ##MTKArg#276, ##MTKArg#277)),TypeEncoding(nil(GeneralizedGenerated.NGG.Argument)),TypeEncoding(begin
    begin
        begin
            $(Expr(:inbounds, true))
            local var"#32#val" = begin
                        let (x, y, w, z, T, xˍt, yˍt, L, g, t) = (var"##MTKArg#275"[1], var"##MTKArg#275"[2], var"##MTKArg#275"[3], var"##MTKArg#275"[4], var"##MTKArg#275"[5], var"##MTKArg#275"[6], var"##MTKArg#275"[7], var"##MTKArg#276"[1], var"##MTKArg#276"[2], var"##MTKArg#277")
                            begin
                                var"##MTIIPVar#279"[1] = w
                                var"##MTIIPVar#279"[2] = z
                                var"##MTIIPVar#279"[3] = (ModelingToolkit).:*(T, x)
                                var"##MTIIPVar#279"[4] = (ModelingToolkit).:-((ModelingToolkit).:*(T, y), g)
                                var"##MTIIPVar#279"[5] = (ModelingToolkit).:-((ModelingToolkit).:+((ModelingToolkit).:^(x, 2), (ModelingToolkit).:^(y, 2)), (ModelingToolkit).:^(L, 2))
                                var"##MTIIPVar#279"[6] = (ModelingToolkit).:+((ModelingToolkit).:*((ModelingToolkit).:*(2, x), w), (ModelingToolkit).:*((ModelingToolkit).:*(2, y), z))
                                var"##MTIIPVar#279"[7] = (ModelingToolkit).wˍt(t)
                                var"##MTIIPVar#279"[8] = (ModelingToolkit).zˍt(t)
                                var"##MTIIPVar#279"[9] = (ModelingToolkit).:+((ModelingToolkit).:+((ModelingToolkit).:+((ModelingToolkit).:*((ModelingToolkit).:*(2, x), (ModelingToolkit).:*(T, x)), (ModelingToolkit).:*((ModelingToolkit).:*(2, w), w)), (ModelingToolkit).:*((ModelingToolkit).:*(2, y), (ModelingToolkit).:-((ModelingToolkit).:*(T, y), g))), (ModelingToolkit).:*((ModelingToolkit).:*(2, z), z))
                                var"##MTIIPVar#279"[10] = xˍt
                                var"##MTIIPVar#279"[11] = yˍt
                            end
                        end
                    end
            $(Expr(:inbounds, :((ModelingToolkit).pop)))
            var"#32#val"
        end
        (ModelingToolkit).nothing
    end
end),:function}},Array{Float64,2},Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Array{Symbol,1},Nothing},Array{Array{Float64,1},1},Array{Float64,1},Array{Array{Array{Float64,1},1},1},OrdinaryDiffEq.Rosenbrock23Cache{Array{Float64,1},Array{Float64,1},Array{Float64,1},Array{Float64,2},Array{Float64,2},OrdinaryDiffEq.Rosenbrock23Tableau{Float64},DiffEqBase.TimeGradientWrapper{ODEFunction{true,ModelingToolkit.var"#f#84"{GeneralizedGenerated.NGG.RuntimeFn{TypeEncoding(list(##MTKArg#275, ##MTKArg#276, ##MTKArg#277)),TypeEncoding(nil(GeneralizedGenerated.NGG.Argument)),TypeEncoding(begin
    begin
        if (ModelingToolkit).isa(var"##MTKArg#275", (ModelingToolkit).Array) || (ModelingToolkit).:!((ModelingToolkit).typeof(var"##MTKArg#275") <: (ModelingToolkit).StaticArray) && false
            return begin
                    $(Expr(:inbounds, true))
                    local var"#30#val" = begin
                                let (x, y, w, z, T, xˍt, yˍt, L, g, t) = (var"##MTKArg#275"[1], var"##MTKArg#275"[2], var"##MTKArg#275"[3], var"##MTKArg#275"[4], var"##MTKArg#275"[5], var"##MTKArg#275"[6], var"##MTKArg#275"[7], var"##MTKArg#276"[1], var"##MTKArg#276"[2], var"##MTKArg#277")
                                    [w, z, (ModelingToolkit).:*(T, x), (ModelingToolkit).:-((ModelingToolkit).:*(T, y), g), (ModelingToolkit).:-((ModelingToolkit).:+((ModelingToolkit).:^(x, 2), (ModelingToolkit).:^(y, 2)), (ModelingToolkit).:^(L, 2)), (ModelingToolkit).:+((ModelingToolkit).:*((ModelingToolkit).:*(2, x), w), (ModelingToolkit).:*((ModelingToolkit).:*(2, y), z)), (ModelingToolkit).wˍt(t), (ModelingToolkit).zˍt(t), (ModelingToolkit).:+((ModelingToolkit).:+((ModelingToolkit).:+((ModelingToolkit).:*((ModelingToolkit).:*(2, x), (ModelingToolkit).:*(T, x)), (ModelingToolkit).:*((ModelingToolkit).:*(2, w), w)), (ModelingToolkit).:*((ModelingToolkit).:*(2, y), (ModelingToolkit).:-((ModelingToolkit).:*(T, y), g))), (ModelingToolkit).:*((ModelingToolkit).:*(2, z), z)), xˍt, yˍt]
                                end
                            end
                    $(Expr(:inbounds, :((ModelingToolkit).pop)))
                    var"#30#val"
                end
        else
            X = begin
                    $(Expr(:inbounds, true))
                    local var"#31#val" = begin
                                let (x, y, w, z, T, xˍt, yˍt, L, g, t) = (var"##MTKArg#275"[1], var"##MTKArg#275"[2], var"##MTKArg#275"[3], var"##MTKArg#275"[4], var"##MTKArg#275"[5], var"##MTKArg#275"[6], var"##MTKArg#275"[7], var"##MTKArg#276"[1], var"##MTKArg#276"[2], var"##MTKArg#277")
                                    (w, z, (ModelingToolkit).:*(T, x), (ModelingToolkit).:-((ModelingToolkit).:*(T, y), g), (ModelingToolkit).:-((ModelingToolkit).:+((ModelingToolkit).:^(x, 2), (ModelingToolkit).:^(y, 2)), (ModelingToolkit).:^(L, 2)), (ModelingToolkit).:+((ModelingToolkit).:*((ModelingToolkit).:*(2, x), w), (ModelingToolkit).:*((ModelingToolkit).:*(2, y), z)), (ModelingToolkit).wˍt(t), (ModelingToolkit).zˍt(t), (ModelingToolkit).:+((ModelingToolkit).:+((ModelingToolkit).:+((ModelingToolkit).:*((ModelingToolkit).:*(2, x), (ModelingToolkit).:*(T, x)), (ModelingToolkit).:*((ModelingToolkit).:*(2, w), w)), (ModelingToolkit).:*((ModelingToolkit).:*(2, y), (ModelingToolkit).:-((ModelingToolkit).:*(T, y), g))), (ModelingToolkit).:*((ModelingToolkit).:*(2, z), z)), xˍt, yˍt)
                                end
                            end
                    $(Expr(:inbounds, :((ModelingToolkit).pop)))
                    var"#31#val"
                end
            construct = if (ModelingToolkit).isa(var"##MTKArg#275", (ModelingToolkit).ModelingToolkit.StaticArrays.StaticArray)
                    (ModelingToolkit).ModelingToolkit.StaticArrays.similar_type((ModelingToolkit).typeof(var"##MTKArg#275"), (ModelingToolkit).eltype(X))
                else
                    #= /home/scheme/.julia/dev/GeneralizedGenerated/src/closure_conv.jl:53 =#
                    let freevars = (var"##MTKArg#275",)
                        #= /home/scheme/.julia/dev/GeneralizedGenerated/src/closure_conv.jl:54 =#
                        (GeneralizedGenerated.Closure){function = (##MTKArg#275, x;) -> begin
    begin
        (ModelingToolkit).convert((ModelingToolkit).typeof(var"##MTKArg#275"), x)
    end
end, Base.typeof(freevars)}(freevars)
                    end
                end
            return construct(X)
        end
    end
end),:function},GeneralizedGenerated.NGG.RuntimeFn{TypeEncoding(list(##MTIIPVar#279, ##MTKArg#275, ##MTKArg#276, ##MTKArg#277)),TypeEncoding(nil(GeneralizedGenerated.NGG.Argument)),TypeEncoding(begin
    begin
        begin
            $(Expr(:inbounds, true))
            local var"#32#val" = begin
                        let (x, y, w, z, T, xˍt, yˍt, L, g, t) = (var"##MTKArg#275"[1], var"##MTKArg#275"[2], var"##MTKArg#275"[3], var"##MTKArg#275"[4], var"##MTKArg#275"[5], var"##MTKArg#275"[6], var"##MTKArg#275"[7], var"##MTKArg#276"[1], var"##MTKArg#276"[2], var"##MTKArg#277")
                            begin
                                var"##MTIIPVar#279"[1] = w
                                var"##MTIIPVar#279"[2] = z
                                var"##MTIIPVar#279"[3] = (ModelingToolkit).:*(T, x)
                                var"##MTIIPVar#279"[4] = (ModelingToolkit).:-((ModelingToolkit).:*(T, y), g)
                                var"##MTIIPVar#279"[5] = (ModelingToolkit).:-((ModelingToolkit).:+((ModelingToolkit).:^(x, 2), (ModelingToolkit).:^(y, 2)), (ModelingToolkit).:^(L, 2))
                                var"##MTIIPVar#279"[6] = (ModelingToolkit).:+((ModelingToolkit).:*((ModelingToolkit).:*(2, x), w), (ModelingToolkit).:*((ModelingToolkit).:*(2, y), z))
                                var"##MTIIPVar#279"[7] = (ModelingToolkit).wˍt(t)
                                var"##MTIIPVar#279"[8] = (ModelingToolkit).zˍt(t)
                                var"##MTIIPVar#279"[9] = (ModelingToolkit).:+((ModelingToolkit).:+((ModelingToolkit).:+((ModelingToolkit).:*((ModelingToolkit).:*(2, x), (ModelingToolkit).:*(T, x)), (ModelingToolkit).:*((ModelingToolkit).:*(2, w), w)), (ModelingToolkit).:*((ModelingToolkit).:*(2, y), (ModelingToolkit).:-((ModelingToolkit).:*(T, y), g))), (ModelingToolkit).:*((ModelingToolkit).:*(2, z), z))
                                var"##MTIIPVar#279"[10] = xˍt
                                var"##MTIIPVar#279"[11] = yˍt
                            end
                        end
                    end
            $(Expr(:inbounds, :((ModelingToolkit).pop)))
            var"#32#val"
        end
        (ModelingToolkit).nothing
    end
end),:function}},Array{Float64,2},Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Array{Symbol,1},Nothing},Array{Float64,1},Array{Float64,1}},DiffEqBase.UJacobianWrapper{ODEFunction{true,ModelingToolkit.var"#f#84"{GeneralizedGenerated.NGG.RuntimeFn{TypeEncoding(list(##MTKArg#275, ##MTKArg#276, ##MTKArg#277)),TypeEncoding(nil(GeneralizedGenerated.NGG.Argument)),TypeEncoding(begin
    begin
        if (ModelingToolkit).isa(var"##MTKArg#275", (ModelingToolkit).Array) || (ModelingToolkit).:!((ModelingToolkit).typeof(var"##MTKArg#275") <: (ModelingToolkit).StaticArray) && false
            return begin
                    $(Expr(:inbounds, true))
                    local var"#30#val" = begin
                                let (x, y, w, z, T, xˍt, yˍt, L, g, t) = (var"##MTKArg#275"[1], var"##MTKArg#275"[2], var"##MTKArg#275"[3], var"##MTKArg#275"[4], var"##MTKArg#275"[5], var"##MTKArg#275"[6], var"##MTKArg#275"[7], var"##MTKArg#276"[1], var"##MTKArg#276"[2], var"##MTKArg#277")
                                    [w, z, (ModelingToolkit).:*(T, x), (ModelingToolkit).:-((ModelingToolkit).:*(T, y), g), (ModelingToolkit).:-((ModelingToolkit).:+((ModelingToolkit).:^(x, 2), (ModelingToolkit).:^(y, 2)), (ModelingToolkit).:^(L, 2)), (ModelingToolkit).:+((ModelingToolkit).:*((ModelingToolkit).:*(2, x), w), (ModelingToolkit).:*((ModelingToolkit).:*(2, y), z)), (ModelingToolkit).wˍt(t), (ModelingToolkit).zˍt(t), (ModelingToolkit).:+((ModelingToolkit).:+((ModelingToolkit).:+((ModelingToolkit).:*((ModelingToolkit).:*(2, x), (ModelingToolkit).:*(T, x)), (ModelingToolkit).:*((ModelingToolkit).:*(2, w), w)), (ModelingToolkit).:*((ModelingToolkit).:*(2, y), (ModelingToolkit).:-((ModelingToolkit).:*(T, y), g))), (ModelingToolkit).:*((ModelingToolkit).:*(2, z), z)), xˍt, yˍt]
                                end
                            end
                    $(Expr(:inbounds, :((ModelingToolkit).pop)))
                    var"#30#val"
                end
        else
            X = begin
                    $(Expr(:inbounds, true))
                    local var"#31#val" = begin
                                let (x, y, w, z, T, xˍt, yˍt, L, g, t) = (var"##MTKArg#275"[1], var"##MTKArg#275"[2], var"##MTKArg#275"[3], var"##MTKArg#275"[4], var"##MTKArg#275"[5], var"##MTKArg#275"[6], var"##MTKArg#275"[7], var"##MTKArg#276"[1], var"##MTKArg#276"[2], var"##MTKArg#277")
                                    (w, z, (ModelingToolkit).:*(T, x), (ModelingToolkit).:-((ModelingToolkit).:*(T, y), g), (ModelingToolkit).:-((ModelingToolkit).:+((ModelingToolkit).:^(x, 2), (ModelingToolkit).:^(y, 2)), (ModelingToolkit).:^(L, 2)), (ModelingToolkit).:+((ModelingToolkit).:*((ModelingToolkit).:*(2, x), w), (ModelingToolkit).:*((ModelingToolkit).:*(2, y), z)), (ModelingToolkit).wˍt(t), (ModelingToolkit).zˍt(t), (ModelingToolkit).:+((ModelingToolkit).:+((ModelingToolkit).:+((ModelingToolkit).:*((ModelingToolkit).:*(2, x), (ModelingToolkit).:*(T, x)), (ModelingToolkit).:*((ModelingToolkit).:*(2, w), w)), (ModelingToolkit).:*((ModelingToolkit).:*(2, y), (ModelingToolkit).:-((ModelingToolkit).:*(T, y), g))), (ModelingToolkit).:*((ModelingToolkit).:*(2, z), z)), xˍt, yˍt)
                                end
                            end
                    $(Expr(:inbounds, :((ModelingToolkit).pop)))
                    var"#31#val"
                end
            construct = if (ModelingToolkit).isa(var"##MTKArg#275", (ModelingToolkit).ModelingToolkit.StaticArrays.StaticArray)
                    (ModelingToolkit).ModelingToolkit.StaticArrays.similar_type((ModelingToolkit).typeof(var"##MTKArg#275"), (ModelingToolkit).eltype(X))
                else
                    #= /home/scheme/.julia/dev/GeneralizedGenerated/src/closure_conv.jl:53 =#
                    let freevars = (var"##MTKArg#275",)
                        #= /home/scheme/.julia/dev/GeneralizedGenerated/src/closure_conv.jl:54 =#
                        (GeneralizedGenerated.Closure){function = (##MTKArg#275, x;) -> begin
    begin
        (ModelingToolkit).convert((ModelingToolkit).typeof(var"##MTKArg#275"), x)
    end
end, Base.typeof(freevars)}(freevars)
                    end
                end
            return construct(X)
        end
    end
end),:function},GeneralizedGenerated.NGG.RuntimeFn{TypeEncoding(list(##MTIIPVar#279, ##MTKArg#275, ##MTKArg#276, ##MTKArg#277)),TypeEncoding(nil(GeneralizedGenerated.NGG.Argument)),TypeEncoding(begin
    begin
        begin
            $(Expr(:inbounds, true))
            local var"#32#val" = begin
                        let (x, y, w, z, T, xˍt, yˍt, L, g, t) = (var"##MTKArg#275"[1], var"##MTKArg#275"[2], var"##MTKArg#275"[3], var"##MTKArg#275"[4], var"##MTKArg#275"[5], var"##MTKArg#275"[6], var"##MTKArg#275"[7], var"##MTKArg#276"[1], var"##MTKArg#276"[2], var"##MTKArg#277")
                            begin
                                var"##MTIIPVar#279"[1] = w
                                var"##MTIIPVar#279"[2] = z
                                var"##MTIIPVar#279"[3] = (ModelingToolkit).:*(T, x)
                                var"##MTIIPVar#279"[4] = (ModelingToolkit).:-((ModelingToolkit).:*(T, y), g)
                                var"##MTIIPVar#279"[5] = (ModelingToolkit).:-((ModelingToolkit).:+((ModelingToolkit).:^(x, 2), (ModelingToolkit).:^(y, 2)), (ModelingToolkit).:^(L, 2))
                                var"##MTIIPVar#279"[6] = (ModelingToolkit).:+((ModelingToolkit).:*((ModelingToolkit).:*(2, x), w), (ModelingToolkit).:*((ModelingToolkit).:*(2, y), z))
                                var"##MTIIPVar#279"[7] = (ModelingToolkit).wˍt(t)
                                var"##MTIIPVar#279"[8] = (ModelingToolkit).zˍt(t)
                                var"##MTIIPVar#279"[9] = (ModelingToolkit).:+((ModelingToolkit).:+((ModelingToolkit).:+((ModelingToolkit).:*((ModelingToolkit).:*(2, x), (ModelingToolkit).:*(T, x)), (ModelingToolkit).:*((ModelingToolkit).:*(2, w), w)), (ModelingToolkit).:*((ModelingToolkit).:*(2, y), (ModelingToolkit).:-((ModelingToolkit).:*(T, y), g))), (ModelingToolkit).:*((ModelingToolkit).:*(2, z), z))
                                var"##MTIIPVar#279"[10] = xˍt
                                var"##MTIIPVar#279"[11] = yˍt
                            end
                        end
                    end
            $(Expr(:inbounds, :((ModelingToolkit).pop)))
            var"#32#val"
        end
        (ModelingToolkit).nothing
    end
end),:function}},Array{Float64,2},Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Array{Symbol,1},Nothing},Float64,Array{Float64,1}},DefaultLinSolve,SparseDiffTools.ForwardColorJacCache{Array{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.UJacobianWrapper{ODEFunction{true,ModelingToolkit.var"#f#84"{GeneralizedGenerated.NGG.RuntimeFn{TypeEncoding(list(##MTKArg#275, ##MTKArg#276, ##MTKArg#277)),TypeEncoding(nil(GeneralizedGenerated.NGG.Argument)),TypeEncoding(begin
    begin
        if (ModelingToolkit).isa(var"##MTKArg#275", (ModelingToolkit).Array) || (ModelingToolkit).:!((ModelingToolkit).typeof(var"##MTKArg#275") <: (ModelingToolkit).StaticArray) && false
            return begin
                    $(Expr(:inbounds, true))
                    local var"#30#val" = begin
                                let (x, y, w, z, T, xˍt, yˍt, L, g, t) = (var"##MTKArg#275"[1], var"##MTKArg#275"[2], var"##MTKArg#275"[3], var"##MTKArg#275"[4], var"##MTKArg#275"[5], var"##MTKArg#275"[6], var"##MTKArg#275"[7], var"##MTKArg#276"[1], var"##MTKArg#276"[2], var"##MTKArg#277")
                                    [w, z, (ModelingToolkit).:*(T, x), (ModelingToolkit).:-((ModelingToolkit).:*(T, y), g), (ModelingToolkit).:-((ModelingToolkit).:+((ModelingToolkit).:^(x, 2), (ModelingToolkit).:^(y, 2)), (ModelingToolkit).:^(L, 2)), (ModelingToolkit).:+((ModelingToolkit).:*((ModelingToolkit).:*(2, x), w), (ModelingToolkit).:*((ModelingToolkit).:*(2, y), z)), (ModelingToolkit).wˍt(t), (ModelingToolkit).zˍt(t), (ModelingToolkit).:+((ModelingToolkit).:+((ModelingToolkit).:+((ModelingToolkit).:*((ModelingToolkit).:*(2, x), (ModelingToolkit).:*(T, x)), (ModelingToolkit).:*((ModelingToolkit).:*(2, w), w)), (ModelingToolkit).:*((ModelingToolkit).:*(2, y), (ModelingToolkit).:-((ModelingToolkit).:*(T, y), g))), (ModelingToolkit).:*((ModelingToolkit).:*(2, z), z)), xˍt, yˍt]
                                end
                            end
                    $(Expr(:inbounds, :((ModelingToolkit).pop)))
                    var"#30#val"
                end
        else
            X = begin
                    $(Expr(:inbounds, true))
                    local var"#31#val" = begin
                                let (x, y, w, z, T, xˍt, yˍt, L, g, t) = (var"##MTKArg#275"[1], var"##MTKArg#275"[2], var"##MTKArg#275"[3], var"##MTKArg#275"[4], var"##MTKArg#275"[5], var"##MTKArg#275"[6], var"##MTKArg#275"[7], var"##MTKArg#276"[1], var"##MTKArg#276"[2], var"##MTKArg#277")
                                    (w, z, (ModelingToolkit).:*(T, x), (ModelingToolkit).:-((ModelingToolkit).:*(T, y), g), (ModelingToolkit).:-((ModelingToolkit).:+((ModelingToolkit).:^(x, 2), (ModelingToolkit).:^(y, 2)), (ModelingToolkit).:^(L, 2)), (ModelingToolkit).:+((ModelingToolkit).:*((ModelingToolkit).:*(2, x), w), (ModelingToolkit).:*((ModelingToolkit).:*(2, y), z)), (ModelingToolkit).wˍt(t), (ModelingToolkit).zˍt(t), (ModelingToolkit).:+((ModelingToolkit).:+((ModelingToolkit).:+((ModelingToolkit).:*((ModelingToolkit).:*(2, x), (ModelingToolkit).:*(T, x)), (ModelingToolkit).:*((ModelingToolkit).:*(2, w), w)), (ModelingToolkit).:*((ModelingToolkit).:*(2, y), (ModelingToolkit).:-((ModelingToolkit).:*(T, y), g))), (ModelingToolkit).:*((ModelingToolkit).:*(2, z), z)), xˍt, yˍt)
                                end
                            end
                    $(Expr(:inbounds, :((ModelingToolkit).pop)))
                    var"#31#val"
                end
            construct = if (ModelingToolkit).isa(var"##MTKArg#275", (ModelingToolkit).ModelingToolkit.StaticArrays.StaticArray)
                    (ModelingToolkit).ModelingToolkit.StaticArrays.similar_type((ModelingToolkit).typeof(var"##MTKArg#275"), (ModelingToolkit).eltype(X))
                else
                    #= /home/scheme/.julia/dev/GeneralizedGenerated/src/closure_conv.jl:53 =#
                    let freevars = (var"##MTKArg#275",)
                        #= /home/scheme/.julia/dev/GeneralizedGenerated/src/closure_conv.jl:54 =#
                        (GeneralizedGenerated.Closure){function = (##MTKArg#275, x;) -> begin
    begin
        (ModelingToolkit).convert((ModelingToolkit).typeof(var"##MTKArg#275"), x)
    end
end, Base.typeof(freevars)}(freevars)
                    end
                end
            return construct(X)
        end
    end
end),:function},GeneralizedGenerated.NGG.RuntimeFn{TypeEncoding(list(##MTIIPVar#279, ##MTKArg#275, ##MTKArg#276, ##MTKArg#277)),TypeEncoding(nil(GeneralizedGenerated.NGG.Argument)),TypeEncoding(begin
    begin
        begin
            $(Expr(:inbounds, true))
            local var"#32#val" = begin
                        let (x, y, w, z, T, xˍt, yˍt, L, g, t) = (var"##MTKArg#275"[1], var"##MTKArg#275"[2], var"##MTKArg#275"[3], var"##MTKArg#275"[4], var"##MTKArg#275"[5], var"##MTKArg#275"[6], var"##MTKArg#275"[7], var"##MTKArg#276"[1], var"##MTKArg#276"[2], var"##MTKArg#277")
                            begin
                                var"##MTIIPVar#279"[1] = w
                                var"##MTIIPVar#279"[2] = z
                                var"##MTIIPVar#279"[3] = (ModelingToolkit).:*(T, x)
                                var"##MTIIPVar#279"[4] = (ModelingToolkit).:-((ModelingToolkit).:*(T, y), g)
                                var"##MTIIPVar#279"[5] = (ModelingToolkit).:-((ModelingToolkit).:+((ModelingToolkit).:^(x, 2), (ModelingToolkit).:^(y, 2)), (ModelingToolkit).:^(L, 2))
                                var"##MTIIPVar#279"[6] = (ModelingToolkit).:+((ModelingToolkit).:*((ModelingToolkit).:*(2, x), w), (ModelingToolkit).:*((ModelingToolkit).:*(2, y), z))
                                var"##MTIIPVar#279"[7] = (ModelingToolkit).wˍt(t)
                                var"##MTIIPVar#279"[8] = (ModelingToolkit).zˍt(t)
                                var"##MTIIPVar#279"[9] = (ModelingToolkit).:+((ModelingToolkit).:+((ModelingToolkit).:+((ModelingToolkit).:*((ModelingToolkit).:*(2, x), (ModelingToolkit).:*(T, x)), (ModelingToolkit).:*((ModelingToolkit).:*(2, w), w)), (ModelingToolkit).:*((ModelingToolkit).:*(2, y), (ModelingToolkit).:-((ModelingToolkit).:*(T, y), g))), (ModelingToolkit).:*((ModelingToolkit).:*(2, z), z))
                                var"##MTIIPVar#279"[10] = xˍt
                                var"##MTIIPVar#279"[11] = yˍt
                            end
                        end
                    end
            $(Expr(:inbounds, :((ModelingToolkit).pop)))
            var"#32#val"
        end
        (ModelingToolkit).nothing
    end
end),:function}},Array{Float64,2},Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Array{Symbol,1},Nothing},Float64,Array{Float64,1}},Float64}(),Float64,7},1},Array{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.UJacobianWrapper{ODEFunction{true,ModelingToolkit.var"#f#84"{GeneralizedGenerated.NGG.RuntimeFn{TypeEncoding(list(##MTKArg#275, ##MTKArg#276, ##MTKArg#277)),TypeEncoding(nil(GeneralizedGenerated.NGG.Argument)),TypeEncoding(begin
    begin
        if (ModelingToolkit).isa(var"##MTKArg#275", (ModelingToolkit).Array) || (ModelingToolkit).:!((ModelingToolkit).typeof(var"##MTKArg#275") <: (ModelingToolkit).StaticArray) && false
            return begin
                    $(Expr(:inbounds, true))
                    local var"#30#val" = begin
                                let (x, y, w, z, T, xˍt, yˍt, L, g, t) = (var"##MTKArg#275"[1], var"##MTKArg#275"[2], var"##MTKArg#275"[3], var"##MTKArg#275"[4], var"##MTKArg#275"[5], var"##MTKArg#275"[6], var"##MTKArg#275"[7], var"##MTKArg#276"[1], var"##MTKArg#276"[2], var"##MTKArg#277")
                                    [w, z, (ModelingToolkit).:*(T, x), (ModelingToolkit).:-((ModelingToolkit).:*(T, y), g), (ModelingToolkit).:-((ModelingToolkit).:+((ModelingToolkit).:^(x, 2), (ModelingToolkit).:^(y, 2)), (ModelingToolkit).:^(L, 2)), (ModelingToolkit).:+((ModelingToolkit).:*((ModelingToolkit).:*(2, x), w), (ModelingToolkit).:*((ModelingToolkit).:*(2, y), z)), (ModelingToolkit).wˍt(t), (ModelingToolkit).zˍt(t), (ModelingToolkit).:+((ModelingToolkit).:+((ModelingToolkit).:+((ModelingToolkit).:*((ModelingToolkit).:*(2, x), (ModelingToolkit).:*(T, x)), (ModelingToolkit).:*((ModelingToolkit).:*(2, w), w)), (ModelingToolkit).:*((ModelingToolkit).:*(2, y), (ModelingToolkit).:-((ModelingToolkit).:*(T, y), g))), (ModelingToolkit).:*((ModelingToolkit).:*(2, z), z)), xˍt, yˍt]
                                end
                            end
                    $(Expr(:inbounds, :((ModelingToolkit).pop)))
                    var"#30#val"
                end
        else
            X = begin
                    $(Expr(:inbounds, true))
                    local var"#31#val" = begin
                                let (x, y, w, z, T, xˍt, yˍt, L, g, t) = (var"##MTKArg#275"[1], var"##MTKArg#275"[2], var"##MTKArg#275"[3], var"##MTKArg#275"[4], var"##MTKArg#275"[5], var"##MTKArg#275"[6], var"##MTKArg#275"[7], var"##MTKArg#276"[1], var"##MTKArg#276"[2], var"##MTKArg#277")
                                    (w, z, (ModelingToolkit).:*(T, x), (ModelingToolkit).:-((ModelingToolkit).:*(T, y), g), (ModelingToolkit).:-((ModelingToolkit).:+((ModelingToolkit).:^(x, 2), (ModelingToolkit).:^(y, 2)), (ModelingToolkit).:^(L, 2)), (ModelingToolkit).:+((ModelingToolkit).:*((ModelingToolkit).:*(2, x), w), (ModelingToolkit).:*((ModelingToolkit).:*(2, y), z)), (ModelingToolkit).wˍt(t), (ModelingToolkit).zˍt(t), (ModelingToolkit).:+((ModelingToolkit).:+((ModelingToolkit).:+((ModelingToolkit).:*((ModelingToolkit).:*(2, x), (ModelingToolkit).:*(T, x)), (ModelingToolkit).:*((ModelingToolkit).:*(2, w), w)), (ModelingToolkit).:*((ModelingToolkit).:*(2, y), (ModelingToolkit).:-((ModelingToolkit).:*(T, y), g))), (ModelingToolkit).:*((ModelingToolkit).:*(2, z), z)), xˍt, yˍt)
                                end
                            end
                    $(Expr(:inbounds, :((ModelingToolkit).pop)))
                    var"#31#val"
                end
            construct = if (ModelingToolkit).isa(var"##MTKArg#275", (ModelingToolkit).ModelingToolkit.StaticArrays.StaticArray)
                    (ModelingToolkit).ModelingToolkit.StaticArrays.similar_type((ModelingToolkit).typeof(var"##MTKArg#275"), (ModelingToolkit).eltype(X))
                else
                    #= /home/scheme/.julia/dev/GeneralizedGenerated/src/closure_conv.jl:53 =#
                    let freevars = (var"##MTKArg#275",)
                        #= /home/scheme/.julia/dev/GeneralizedGenerated/src/closure_conv.jl:54 =#
                        (GeneralizedGenerated.Closure){function = (##MTKArg#275, x;) -> begin
    begin
        (ModelingToolkit).convert((ModelingToolkit).typeof(var"##MTKArg#275"), x)
    end
end, Base.typeof(freevars)}(freevars)
                    end
                end
            return construct(X)
        end
    end
end),:function},GeneralizedGenerated.NGG.RuntimeFn{TypeEncoding(list(##MTIIPVar#279, ##MTKArg#275, ##MTKArg#276, ##MTKArg#277)),TypeEncoding(nil(GeneralizedGenerated.NGG.Argument)),TypeEncoding(begin
    begin
        begin
            $(Expr(:inbounds, true))
            local var"#32#val" = begin
                        let (x, y, w, z, T, xˍt, yˍt, L, g, t) = (var"##MTKArg#275"[1], var"##MTKArg#275"[2], var"##MTKArg#275"[3], var"##MTKArg#275"[4], var"##MTKArg#275"[5], var"##MTKArg#275"[6], var"##MTKArg#275"[7], var"##MTKArg#276"[1], var"##MTKArg#276"[2], var"##MTKArg#277")
                            begin
                                var"##MTIIPVar#279"[1] = w
                                var"##MTIIPVar#279"[2] = z
                                var"##MTIIPVar#279"[3] = (ModelingToolkit).:*(T, x)
                                var"##MTIIPVar#279"[4] = (ModelingToolkit).:-((ModelingToolkit).:*(T, y), g)
                                var"##MTIIPVar#279"[5] = (ModelingToolkit).:-((ModelingToolkit).:+((ModelingToolkit).:^(x, 2), (ModelingToolkit).:^(y, 2)), (ModelingToolkit).:^(L, 2))
                                var"##MTIIPVar#279"[6] = (ModelingToolkit).:+((ModelingToolkit).:*((ModelingToolkit).:*(2, x), w), (ModelingToolkit).:*((ModelingToolkit).:*(2, y), z))
                                var"##MTIIPVar#279"[7] = (ModelingToolkit).wˍt(t)
                                var"##MTIIPVar#279"[8] = (ModelingToolkit).zˍt(t)
                                var"##MTIIPVar#279"[9] = (ModelingToolkit).:+((ModelingToolkit).:+((ModelingToolkit).:+((ModelingToolkit).:*((ModelingToolkit).:*(2, x), (ModelingToolkit).:*(T, x)), (ModelingToolkit).:*((ModelingToolkit).:*(2, w), w)), (ModelingToolkit).:*((ModelingToolkit).:*(2, y), (ModelingToolkit).:-((ModelingToolkit).:*(T, y), g))), (ModelingToolkit).:*((ModelingToolkit).:*(2, z), z))
                                var"##MTIIPVar#279"[10] = xˍt
                                var"##MTIIPVar#279"[11] = yˍt
                            end
                        end
                    end
            $(Expr(:inbounds, :((ModelingToolkit).pop)))
            var"#32#val"
        end
        (ModelingToolkit).nothing
    end
end),:function}},Array{Float64,2},Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Array{Symbol,1},Nothing},Float64,Array{Float64,1}},Float64}(),Float64,7},1},Array{Float64,1},Array{Array{NTuple{7,Bool},1},1},UnitRange{Int64},Nothing},ForwardDiff.DerivativeConfig{ForwardDiff.Tag{DiffEqBase.TimeGradientWrapper{ODEFunction{true,ModelingToolkit.var"#f#84"{GeneralizedGenerated.NGG.RuntimeFn{TypeEncoding(list(##MTKArg#275, ##MTKArg#276, ##MTKArg#277)),TypeEncoding(nil(GeneralizedGenerated.NGG.Argument)),TypeEncoding(begin
    begin
        if (ModelingToolkit).isa(var"##MTKArg#275", (ModelingToolkit).Array) || (ModelingToolkit).:!((ModelingToolkit).typeof(var"##MTKArg#275") <: (ModelingToolkit).StaticArray) && false
            return begin
                    $(Expr(:inbounds, true))
                    local var"#30#val" = begin
                                let (x, y, w, z, T, xˍt, yˍt, L, g, t) = (var"##MTKArg#275"[1], var"##MTKArg#275"[2], var"##MTKArg#275"[3], var"##MTKArg#275"[4], var"##MTKArg#275"[5], var"##MTKArg#275"[6], var"##MTKArg#275"[7], var"##MTKArg#276"[1], var"##MTKArg#276"[2], var"##MTKArg#277")
                                    [w, z, (ModelingToolkit).:*(T, x), (ModelingToolkit).:-((ModelingToolkit).:*(T, y), g), (ModelingToolkit).:-((ModelingToolkit).:+((ModelingToolkit).:^(x, 2), (ModelingToolkit).:^(y, 2)), (ModelingToolkit).:^(L, 2)), (ModelingToolkit).:+((ModelingToolkit).:*((ModelingToolkit).:*(2, x), w), (ModelingToolkit).:*((ModelingToolkit).:*(2, y), z)), (ModelingToolkit).wˍt(t), (ModelingToolkit).zˍt(t), (ModelingToolkit).:+((ModelingToolkit).:+((ModelingToolkit).:+((ModelingToolkit).:*((ModelingToolkit).:*(2, x), (ModelingToolkit).:*(T, x)), (ModelingToolkit).:*((ModelingToolkit).:*(2, w), w)), (ModelingToolkit).:*((ModelingToolkit).:*(2, y), (ModelingToolkit).:-((ModelingToolkit).:*(T, y), g))), (ModelingToolkit).:*((ModelingToolkit).:*(2, z), z)), xˍt, yˍt]
                                end
                            end
                    $(Expr(:inbounds, :((ModelingToolkit).pop)))
                    var"#30#val"
                end
        else
            X = begin
                    $(Expr(:inbounds, true))
                    local var"#31#val" = begin
                                let (x, y, w, z, T, xˍt, yˍt, L, g, t) = (var"##MTKArg#275"[1], var"##MTKArg#275"[2], var"##MTKArg#275"[3], var"##MTKArg#275"[4], var"##MTKArg#275"[5], var"##MTKArg#275"[6], var"##MTKArg#275"[7], var"##MTKArg#276"[1], var"##MTKArg#276"[2], var"##MTKArg#277")
                                    (w, z, (ModelingToolkit).:*(T, x), (ModelingToolkit).:-((ModelingToolkit).:*(T, y), g), (ModelingToolkit).:-((ModelingToolkit).:+((ModelingToolkit).:^(x, 2), (ModelingToolkit).:^(y, 2)), (ModelingToolkit).:^(L, 2)), (ModelingToolkit).:+((ModelingToolkit).:*((ModelingToolkit).:*(2, x), w), (ModelingToolkit).:*((ModelingToolkit).:*(2, y), z)), (ModelingToolkit).wˍt(t), (ModelingToolkit).zˍt(t), (ModelingToolkit).:+((ModelingToolkit).:+((ModelingToolkit).:+((ModelingToolkit).:*((ModelingToolkit).:*(2, x), (ModelingToolkit).:*(T, x)), (ModelingToolkit).:*((ModelingToolkit).:*(2, w), w)), (ModelingToolkit).:*((ModelingToolkit).:*(2, y), (ModelingToolkit).:-((ModelingToolkit).:*(T, y), g))), (ModelingToolkit).:*((ModelingToolkit).:*(2, z), z)), xˍt, yˍt)
                                end
                            end
                    $(Expr(:inbounds, :((ModelingToolkit).pop)))
                    var"#31#val"
                end
            construct = if (ModelingToolkit).isa(var"##MTKArg#275", (ModelingToolkit).ModelingToolkit.StaticArrays.StaticArray)
                    (ModelingToolkit).ModelingToolkit.StaticArrays.similar_type((ModelingToolkit).typeof(var"##MTKArg#275"), (ModelingToolkit).eltype(X))
                else
                    #= /home/scheme/.julia/dev/GeneralizedGenerated/src/closure_conv.jl:53 =#
                    let freevars = (var"##MTKArg#275",)
                        #= /home/scheme/.julia/dev/GeneralizedGenerated/src/closure_conv.jl:54 =#
                        (GeneralizedGenerated.Closure){function = (##MTKArg#275, x;) -> begin
    begin
        (ModelingToolkit).convert((ModelingToolkit).typeof(var"##MTKArg#275"), x)
    end
end, Base.typeof(freevars)}(freevars)
                    end
                end
            return construct(X)
        end
    end
end),:function},GeneralizedGenerated.NGG.RuntimeFn{TypeEncoding(list(##MTIIPVar#279, ##MTKArg#275, ##MTKArg#276, ##MTKArg#277)),TypeEncoding(nil(GeneralizedGenerated.NGG.Argument)),TypeEncoding(begin
    begin
        begin
            $(Expr(:inbounds, true))
            local var"#32#val" = begin
                        let (x, y, w, z, T, xˍt, yˍt, L, g, t) = (var"##MTKArg#275"[1], var"##MTKArg#275"[2], var"##MTKArg#275"[3], var"##MTKArg#275"[4], var"##MTKArg#275"[5], var"##MTKArg#275"[6], var"##MTKArg#275"[7], var"##MTKArg#276"[1], var"##MTKArg#276"[2], var"##MTKArg#277")
                            begin
                                var"##MTIIPVar#279"[1] = w
                                var"##MTIIPVar#279"[2] = z
                                var"##MTIIPVar#279"[3] = (ModelingToolkit).:*(T, x)
                                var"##MTIIPVar#279"[4] = (ModelingToolkit).:-((ModelingToolkit).:*(T, y), g)
                                var"##MTIIPVar#279"[5] = (ModelingToolkit).:-((ModelingToolkit).:+((ModelingToolkit).:^(x, 2), (ModelingToolkit).:^(y, 2)), (ModelingToolkit).:^(L, 2))
                                var"##MTIIPVar#279"[6] = (ModelingToolkit).:+((ModelingToolkit).:*((ModelingToolkit).:*(2, x), w), (ModelingToolkit).:*((ModelingToolkit).:*(2, y), z))
                                var"##MTIIPVar#279"[7] = (ModelingToolkit).wˍt(t)
                                var"##MTIIPVar#279"[8] = (ModelingToolkit).zˍt(t)
                                var"##MTIIPVar#279"[9] = (ModelingToolkit).:+((ModelingToolkit).:+((ModelingToolkit).:+((ModelingToolkit).:*((ModelingToolkit).:*(2, x), (ModelingToolkit).:*(T, x)), (ModelingToolkit).:*((ModelingToolkit).:*(2, w), w)), (ModelingToolkit).:*((ModelingToolkit).:*(2, y), (ModelingToolkit).:-((ModelingToolkit).:*(T, y), g))), (ModelingToolkit).:*((ModelingToolkit).:*(2, z), z))
                                var"##MTIIPVar#279"[10] = xˍt
                                var"##MTIIPVar#279"[11] = yˍt
                            end
                        end
                    end
            $(Expr(:inbounds, :((ModelingToolkit).pop)))
            var"#32#val"
        end
        (ModelingToolkit).nothing
    end
end),:function}},Array{Float64,2},Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Array{Symbol,1},Nothing},Array{Float64,1},Array{Float64,1}},Float64},Array{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.TimeGradientWrapper{ODEFunction{true,ModelingToolkit.var"#f#84"{GeneralizedGenerated.NGG.RuntimeFn{TypeEncoding(list(##MTKArg#275, ##MTKArg#276, ##MTKArg#277)),TypeEncoding(nil(GeneralizedGenerated.NGG.Argument)),TypeEncoding(begin
    begin
        if (ModelingToolkit).isa(var"##MTKArg#275", (ModelingToolkit).Array) || (ModelingToolkit).:!((ModelingToolkit).typeof(var"##MTKArg#275") <: (ModelingToolkit).StaticArray) && false
            return begin
                    $(Expr(:inbounds, true))
                    local var"#30#val" = begin
                                let (x, y, w, z, T, xˍt, yˍt, L, g, t) = (var"##MTKArg#275"[1], var"##MTKArg#275"[2], var"##MTKArg#275"[3], var"##MTKArg#275"[4], var"##MTKArg#275"[5], var"##MTKArg#275"[6], var"##MTKArg#275"[7], var"##MTKArg#276"[1], var"##MTKArg#276"[2], var"##MTKArg#277")
                                    [w, z, (ModelingToolkit).:*(T, x), (ModelingToolkit).:-((ModelingToolkit).:*(T, y), g), (ModelingToolkit).:-((ModelingToolkit).:+((ModelingToolkit).:^(x, 2), (ModelingToolkit).:^(y, 2)), (ModelingToolkit).:^(L, 2)), (ModelingToolkit).:+((ModelingToolkit).:*((ModelingToolkit).:*(2, x), w), (ModelingToolkit).:*((ModelingToolkit).:*(2, y), z)), (ModelingToolkit).wˍt(t), (ModelingToolkit).zˍt(t), (ModelingToolkit).:+((ModelingToolkit).:+((ModelingToolkit).:+((ModelingToolkit).:*((ModelingToolkit).:*(2, x), (ModelingToolkit).:*(T, x)), (ModelingToolkit).:*((ModelingToolkit).:*(2, w), w)), (ModelingToolkit).:*((ModelingToolkit).:*(2, y), (ModelingToolkit).:-((ModelingToolkit).:*(T, y), g))), (ModelingToolkit).:*((ModelingToolkit).:*(2, z), z)), xˍt, yˍt]
                                end
                            end
                    $(Expr(:inbounds, :((ModelingToolkit).pop)))
                    var"#30#val"
                end
        else
            X = begin
                    $(Expr(:inbounds, true))
                    local var"#31#val" = begin
                                let (x, y, w, z, T, xˍt, yˍt, L, g, t) = (var"##MTKArg#275"[1], var"##MTKArg#275"[2], var"##MTKArg#275"[3], var"##MTKArg#275"[4], var"##MTKArg#275"[5], var"##MTKArg#275"[6], var"##MTKArg#275"[7], var"##MTKArg#276"[1], var"##MTKArg#276"[2], var"##MTKArg#277")
                                    (w, z, (ModelingToolkit).:*(T, x), (ModelingToolkit).:-((ModelingToolkit).:*(T, y), g), (ModelingToolkit).:-((ModelingToolkit).:+((ModelingToolkit).:^(x, 2), (ModelingToolkit).:^(y, 2)), (ModelingToolkit).:^(L, 2)), (ModelingToolkit).:+((ModelingToolkit).:*((ModelingToolkit).:*(2, x), w), (ModelingToolkit).:*((ModelingToolkit).:*(2, y), z)), (ModelingToolkit).wˍt(t), (ModelingToolkit).zˍt(t), (ModelingToolkit).:+((ModelingToolkit).:+((ModelingToolkit).:+((ModelingToolkit).:*((ModelingToolkit).:*(2, x), (ModelingToolkit).:*(T, x)), (ModelingToolkit).:*((ModelingToolkit).:*(2, w), w)), (ModelingToolkit).:*((ModelingToolkit).:*(2, y), (ModelingToolkit).:-((ModelingToolkit).:*(T, y), g))), (ModelingToolkit).:*((ModelingToolkit).:*(2, z), z)), xˍt, yˍt)
                                end
                            end
                    $(Expr(:inbounds, :((ModelingToolkit).pop)))
                    var"#31#val"
                end
            construct = if (ModelingToolkit).isa(var"##MTKArg#275", (ModelingToolkit).ModelingToolkit.StaticArrays.StaticArray)
                    (ModelingToolkit).ModelingToolkit.StaticArrays.similar_type((ModelingToolkit).typeof(var"##MTKArg#275"), (ModelingToolkit).eltype(X))
                else
                    #= /home/scheme/.julia/dev/GeneralizedGenerated/src/closure_conv.jl:53 =#
                    let freevars = (var"##MTKArg#275",)
                        #= /home/scheme/.julia/dev/GeneralizedGenerated/src/closure_conv.jl:54 =#
                        (GeneralizedGenerated.Closure){function = (##MTKArg#275, x;) -> begin
    begin
        (ModelingToolkit).convert((ModelingToolkit).typeof(var"##MTKArg#275"), x)
    end
end, Base.typeof(freevars)}(freevars)
                    end
                end
            return construct(X)
        end
    end
end),:function},GeneralizedGenerated.NGG.RuntimeFn{TypeEncoding(list(##MTIIPVar#279, ##MTKArg#275, ##MTKArg#276, ##MTKArg#277)),TypeEncoding(nil(GeneralizedGenerated.NGG.Argument)),TypeEncoding(begin
    begin
        begin
            $(Expr(:inbounds, true))
            local var"#32#val" = begin
                        let (x, y, w, z, T, xˍt, yˍt, L, g, t) = (var"##MTKArg#275"[1], var"##MTKArg#275"[2], var"##MTKArg#275"[3], var"##MTKArg#275"[4], var"##MTKArg#275"[5], var"##MTKArg#275"[6], var"##MTKArg#275"[7], var"##MTKArg#276"[1], var"##MTKArg#276"[2], var"##MTKArg#277")
                            begin
                                var"##MTIIPVar#279"[1] = w
                                var"##MTIIPVar#279"[2] = z
                                var"##MTIIPVar#279"[3] = (ModelingToolkit).:*(T, x)
                                var"##MTIIPVar#279"[4] = (ModelingToolkit).:-((ModelingToolkit).:*(T, y), g)
                                var"##MTIIPVar#279"[5] = (ModelingToolkit).:-((ModelingToolkit).:+((ModelingToolkit).:^(x, 2), (ModelingToolkit).:^(y, 2)), (ModelingToolkit).:^(L, 2))
                                var"##MTIIPVar#279"[6] = (ModelingToolkit).:+((ModelingToolkit).:*((ModelingToolkit).:*(2, x), w), (ModelingToolkit).:*((ModelingToolkit).:*(2, y), z))
                                var"##MTIIPVar#279"[7] = (ModelingToolkit).wˍt(t)
                                var"##MTIIPVar#279"[8] = (ModelingToolkit).zˍt(t)
                                var"##MTIIPVar#279"[9] = (ModelingToolkit).:+((ModelingToolkit).:+((ModelingToolkit).:+((ModelingToolkit).:*((ModelingToolkit).:*(2, x), (ModelingToolkit).:*(T, x)), (ModelingToolkit).:*((ModelingToolkit).:*(2, w), w)), (ModelingToolkit).:*((ModelingToolkit).:*(2, y), (ModelingToolkit).:-((ModelingToolkit).:*(T, y), g))), (ModelingToolkit).:*((ModelingToolkit).:*(2, z), z))
                                var"##MTIIPVar#279"[10] = xˍt
                                var"##MTIIPVar#279"[11] = yˍt
                            end
                        end
                    end
            $(Expr(:inbounds, :((ModelingToolkit).pop)))
            var"#32#val"
        end
        (ModelingToolkit).nothing
    end
end),:function}},Array{Float64,2},Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Array{Symbol,1},Nothing},Array{Float64,1},Array{Float64,1}},Float64},Float64,1},1}}}},DiffEqBase.DEStats},ODEFunction{true,ModelingToolkit.var"#f#84"{GeneralizedGenerated.NGG.RuntimeFn{TypeEncoding(list(##MTKArg#275, ##MTKArg#276, ##MTKArg#277)),TypeEncoding(nil(GeneralizedGenerated.NGG.Argument)),TypeEncoding(begin
    begin
        if (ModelingToolkit).isa(var"##MTKArg#275", (ModelingToolkit).Array) || (ModelingToolkit).:!((ModelingToolkit).typeof(var"##MTKArg#275") <: (ModelingToolkit).StaticArray) && false
            return begin
                    $(Expr(:inbounds, true))
                    local var"#30#val" = begin
                                let (x, y, w, z, T, xˍt, yˍt, L, g, t) = (var"##MTKArg#275"[1], var"##MTKArg#275"[2], var"##MTKArg#275"[3], var"##MTKArg#275"[4], var"##MTKArg#275"[5], var"##MTKArg#275"[6], var"##MTKArg#275"[7], var"##MTKArg#276"[1], var"##MTKArg#276"[2], var"##MTKArg#277")
                                    [w, z, (ModelingToolkit).:*(T, x), (ModelingToolkit).:-((ModelingToolkit).:*(T, y), g), (ModelingToolkit).:-((ModelingToolkit).:+((ModelingToolkit).:^(x, 2), (ModelingToolkit).:^(y, 2)), (ModelingToolkit).:^(L, 2)), (ModelingToolkit).:+((ModelingToolkit).:*((ModelingToolkit).:*(2, x), w), (ModelingToolkit).:*((ModelingToolkit).:*(2, y), z)), (ModelingToolkit).wˍt(t), (ModelingToolkit).zˍt(t), (ModelingToolkit).:+((ModelingToolkit).:+((ModelingToolkit).:+((ModelingToolkit).:*((ModelingToolkit).:*(2, x), (ModelingToolkit).:*(T, x)), (ModelingToolkit).:*((ModelingToolkit).:*(2, w), w)), (ModelingToolkit).:*((ModelingToolkit).:*(2, y), (ModelingToolkit).:-((ModelingToolkit).:*(T, y), g))), (ModelingToolkit).:*((ModelingToolkit).:*(2, z), z)), xˍt, yˍt]
                                end
                            end
                    $(Expr(:inbounds, :((ModelingToolkit).pop)))
                    var"#30#val"
                end
        else
            X = begin
                    $(Expr(:inbounds, true))
                    local var"#31#val" = begin
                                let (x, y, w, z, T, xˍt, yˍt, L, g, t) = (var"##MTKArg#275"[1], var"##MTKArg#275"[2], var"##MTKArg#275"[3], var"##MTKArg#275"[4], var"##MTKArg#275"[5], var"##MTKArg#275"[6], var"##MTKArg#275"[7], var"##MTKArg#276"[1], var"##MTKArg#276"[2], var"##MTKArg#277")
                                    (w, z, (ModelingToolkit).:*(T, x), (ModelingToolkit).:-((ModelingToolkit).:*(T, y), g), (ModelingToolkit).:-((ModelingToolkit).:+((ModelingToolkit).:^(x, 2), (ModelingToolkit).:^(y, 2)), (ModelingToolkit).:^(L, 2)), (ModelingToolkit).:+((ModelingToolkit).:*((ModelingToolkit).:*(2, x), w), (ModelingToolkit).:*((ModelingToolkit).:*(2, y), z)), (ModelingToolkit).wˍt(t), (ModelingToolkit).zˍt(t), (ModelingToolkit).:+((ModelingToolkit).:+((ModelingToolkit).:+((ModelingToolkit).:*((ModelingToolkit).:*(2, x), (ModelingToolkit).:*(T, x)), (ModelingToolkit).:*((ModelingToolkit).:*(2, w), w)), (ModelingToolkit).:*((ModelingToolkit).:*(2, y), (ModelingToolkit).:-((ModelingToolkit).:*(T, y), g))), (ModelingToolkit).:*((ModelingToolkit).:*(2, z), z)), xˍt, yˍt)
                                end
                            end
                    $(Expr(:inbounds, :((ModelingToolkit).pop)))
                    var"#31#val"
                end
            construct = if (ModelingToolkit).isa(var"##MTKArg#275", (ModelingToolkit).ModelingToolkit.StaticArrays.StaticArray)
                    (ModelingToolkit).ModelingToolkit.StaticArrays.similar_type((ModelingToolkit).typeof(var"##MTKArg#275"), (ModelingToolkit).eltype(X))
                else
                    #= /home/scheme/.julia/dev/GeneralizedGenerated/src/closure_conv.jl:53 =#
                    let freevars = (var"##MTKArg#275",)
                        #= /home/scheme/.julia/dev/GeneralizedGenerated/src/closure_conv.jl:54 =#
                        (GeneralizedGenerated.Closure){function = (##MTKArg#275, x;) -> begin
    begin
        (ModelingToolkit).convert((ModelingToolkit).typeof(var"##MTKArg#275"), x)
    end
end, Base.typeof(freevars)}(freevars)
                    end
                end
            return construct(X)
        end
    end
end),:function},GeneralizedGenerated.NGG.RuntimeFn{TypeEncoding(list(##MTIIPVar#279, ##MTKArg#275, ##MTKArg#276, ##MTKArg#277)),TypeEncoding(nil(GeneralizedGenerated.NGG.Argument)),TypeEncoding(begin
    begin
        begin
            $(Expr(:inbounds, true))
            local var"#32#val" = begin
                        let (x, y, w, z, T, xˍt, yˍt, L, g, t) = (var"##MTKArg#275"[1], var"##MTKArg#275"[2], var"##MTKArg#275"[3], var"##MTKArg#275"[4], var"##MTKArg#275"[5], var"##MTKArg#275"[6], var"##MTKArg#275"[7], var"##MTKArg#276"[1], var"##MTKArg#276"[2], var"##MTKArg#277")
                            begin
                                var"##MTIIPVar#279"[1] = w
                                var"##MTIIPVar#279"[2] = z
                                var"##MTIIPVar#279"[3] = (ModelingToolkit).:*(T, x)
                                var"##MTIIPVar#279"[4] = (ModelingToolkit).:-((ModelingToolkit).:*(T, y), g)
                                var"##MTIIPVar#279"[5] = (ModelingToolkit).:-((ModelingToolkit).:+((ModelingToolkit).:^(x, 2), (ModelingToolkit).:^(y, 2)), (ModelingToolkit).:^(L, 2))
                                var"##MTIIPVar#279"[6] = (ModelingToolkit).:+((ModelingToolkit).:*((ModelingToolkit).:*(2, x), w), (ModelingToolkit).:*((ModelingToolkit).:*(2, y), z))
                                var"##MTIIPVar#279"[7] = (ModelingToolkit).wˍt(t)
                                var"##MTIIPVar#279"[8] = (ModelingToolkit).zˍt(t)
                                var"##MTIIPVar#279"[9] = (ModelingToolkit).:+((ModelingToolkit).:+((ModelingToolkit).:+((ModelingToolkit).:*((ModelingToolkit).:*(2, x), (ModelingToolkit).:*(T, x)), (ModelingToolkit).:*((ModelingToolkit).:*(2, w), w)), (ModelingToolkit).:*((ModelingToolkit).:*(2, y), (ModelingToolkit).:-((ModelingToolkit).:*(T, y), g))), (ModelingToolkit).:*((ModelingToolkit).:*(2, z), z))
                                var"##MTIIPVar#279"[10] = xˍt
                                var"##MTIIPVar#279"[11] = yˍt
                            end
                        end
                    end
            $(Expr(:inbounds, :((ModelingToolkit).pop)))
            var"#32#val"
        end
        (ModelingToolkit).nothing
    end
end),:function}},Array{Float64,2},Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Array{Symbol,1},Nothing},OrdinaryDiffEq.Rosenbrock23Cache{Array{Float64,1},Array{Float64,1},Array{Float64,1},Array{Float64,2},Array{Float64,2},OrdinaryDiffEq.Rosenbrock23Tableau{Float64},DiffEqBase.TimeGradientWrapper{ODEFunction{true,ModelingToolkit.var"#f#84"{GeneralizedGenerated.NGG.RuntimeFn{TypeEncoding(list(##MTKArg#275, ##MTKArg#276, ##MTKArg#277)),TypeEncoding(nil(GeneralizedGenerated.NGG.Argument)),TypeEncoding(begin
    begin
        if (ModelingToolkit).isa(var"##MTKArg#275", (ModelingToolkit).Array) || (ModelingToolkit).:!((ModelingToolkit).typeof(var"##MTKArg#275") <: (ModelingToolkit).StaticArray) && false
            return begin
                    $(Expr(:inbounds, true))
                    local var"#30#val" = begin
                                let (x, y, w, z, T, xˍt, yˍt, L, g, t) = (var"##MTKArg#275"[1], var"##MTKArg#275"[2], var"##MTKArg#275"[3], var"##MTKArg#275"[4], var"##MTKArg#275"[5], var"##MTKArg#275"[6], var"##MTKArg#275"[7], var"##MTKArg#276"[1], var"##MTKArg#276"[2], var"##MTKArg#277")
                                    [w, z, (ModelingToolkit).:*(T, x), (ModelingToolkit).:-((ModelingToolkit).:*(T, y), g), (ModelingToolkit).:-((ModelingToolkit).:+((ModelingToolkit).:^(x, 2), (ModelingToolkit).:^(y, 2)), (ModelingToolkit).:^(L, 2)), (ModelingToolkit).:+((ModelingToolkit).:*((ModelingToolkit).:*(2, x), w), (ModelingToolkit).:*((ModelingToolkit).:*(2, y), z)), (ModelingToolkit).wˍt(t), (ModelingToolkit).zˍt(t), (ModelingToolkit).:+((ModelingToolkit).:+((ModelingToolkit).:+((ModelingToolkit).:*((ModelingToolkit).:*(2, x), (ModelingToolkit).:*(T, x)), (ModelingToolkit).:*((ModelingToolkit).:*(2, w), w)), (ModelingToolkit).:*((ModelingToolkit).:*(2, y), (ModelingToolkit).:-((ModelingToolkit).:*(T, y), g))), (ModelingToolkit).:*((ModelingToolkit).:*(2, z), z)), xˍt, yˍt]
                                end
                            end
                    $(Expr(:inbounds, :((ModelingToolkit).pop)))
                    var"#30#val"
                end
        else
            X = begin
                    $(Expr(:inbounds, true))
                    local var"#31#val" = begin
                                let (x, y, w, z, T, xˍt, yˍt, L, g, t) = (var"##MTKArg#275"[1], var"##MTKArg#275"[2], var"##MTKArg#275"[3], var"##MTKArg#275"[4], var"##MTKArg#275"[5], var"##MTKArg#275"[6], var"##MTKArg#275"[7], var"##MTKArg#276"[1], var"##MTKArg#276"[2], var"##MTKArg#277")
                                    (w, z, (ModelingToolkit).:*(T, x), (ModelingToolkit).:-((ModelingToolkit).:*(T, y), g), (ModelingToolkit).:-((ModelingToolkit).:+((ModelingToolkit).:^(x, 2), (ModelingToolkit).:^(y, 2)), (ModelingToolkit).:^(L, 2)), (ModelingToolkit).:+((ModelingToolkit).:*((ModelingToolkit).:*(2, x), w), (ModelingToolkit).:*((ModelingToolkit).:*(2, y), z)), (ModelingToolkit).wˍt(t), (ModelingToolkit).zˍt(t), (ModelingToolkit).:+((ModelingToolkit).:+((ModelingToolkit).:+((ModelingToolkit).:*((ModelingToolkit).:*(2, x), (ModelingToolkit).:*(T, x)), (ModelingToolkit).:*((ModelingToolkit).:*(2, w), w)), (ModelingToolkit).:*((ModelingToolkit).:*(2, y), (ModelingToolkit).:-((ModelingToolkit).:*(T, y), g))), (ModelingToolkit).:*((ModelingToolkit).:*(2, z), z)), xˍt, yˍt)
                                end
                            end
                    $(Expr(:inbounds, :((ModelingToolkit).pop)))
                    var"#31#val"
                end
            construct = if (ModelingToolkit).isa(var"##MTKArg#275", (ModelingToolkit).ModelingToolkit.StaticArrays.StaticArray)
                    (ModelingToolkit).ModelingToolkit.StaticArrays.similar_type((ModelingToolkit).typeof(var"##MTKArg#275"), (ModelingToolkit).eltype(X))
                else
                    #= /home/scheme/.julia/dev/GeneralizedGenerated/src/closure_conv.jl:53 =#
                    let freevars = (var"##MTKArg#275",)
                        #= /home/scheme/.julia/dev/GeneralizedGenerated/src/closure_conv.jl:54 =#
                        (GeneralizedGenerated.Closure){function = (##MTKArg#275, x;) -> begin
    begin
        (ModelingToolkit).convert((ModelingToolkit).typeof(var"##MTKArg#275"), x)
    end
end, Base.typeof(freevars)}(freevars)
                    end
                end
            return construct(X)
        end
    end
end),:function},GeneralizedGenerated.NGG.RuntimeFn{TypeEncoding(list(##MTIIPVar#279, ##MTKArg#275, ##MTKArg#276, ##MTKArg#277)),TypeEncoding(nil(GeneralizedGenerated.NGG.Argument)),TypeEncoding(begin
    begin
        begin
            $(Expr(:inbounds, true))
            local var"#32#val" = begin
                        let (x, y, w, z, T, xˍt, yˍt, L, g, t) = (var"##MTKArg#275"[1], var"##MTKArg#275"[2], var"##MTKArg#275"[3], var"##MTKArg#275"[4], var"##MTKArg#275"[5], var"##MTKArg#275"[6], var"##MTKArg#275"[7], var"##MTKArg#276"[1], var"##MTKArg#276"[2], var"##MTKArg#277")
                            begin
                                var"##MTIIPVar#279"[1] = w
                                var"##MTIIPVar#279"[2] = z
                                var"##MTIIPVar#279"[3] = (ModelingToolkit).:*(T, x)
                                var"##MTIIPVar#279"[4] = (ModelingToolkit).:-((ModelingToolkit).:*(T, y), g)
                                var"##MTIIPVar#279"[5] = (ModelingToolkit).:-((ModelingToolkit).:+((ModelingToolkit).:^(x, 2), (ModelingToolkit).:^(y, 2)), (ModelingToolkit).:^(L, 2))
                                var"##MTIIPVar#279"[6] = (ModelingToolkit).:+((ModelingToolkit).:*((ModelingToolkit).:*(2, x), w), (ModelingToolkit).:*((ModelingToolkit).:*(2, y), z))
                                var"##MTIIPVar#279"[7] = (ModelingToolkit).wˍt(t)
                                var"##MTIIPVar#279"[8] = (ModelingToolkit).zˍt(t)
                                var"##MTIIPVar#279"[9] = (ModelingToolkit).:+((ModelingToolkit).:+((ModelingToolkit).:+((ModelingToolkit).:*((ModelingToolkit).:*(2, x), (ModelingToolkit).:*(T, x)), (ModelingToolkit).:*((ModelingToolkit).:*(2, w), w)), (ModelingToolkit).:*((ModelingToolkit).:*(2, y), (ModelingToolkit).:-((ModelingToolkit).:*(T, y), g))), (ModelingToolkit).:*((ModelingToolkit).:*(2, z), z))
                                var"##MTIIPVar#279"[10] = xˍt
                                var"##MTIIPVar#279"[11] = yˍt
                            end
                        end
                    end
            $(Expr(:inbounds, :((ModelingToolkit).pop)))
            var"#32#val"
        end
        (ModelingToolkit).nothing
    end
end),:function}},Array{Float64,2},Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Array{Symbol,1},Nothing},Array{Float64,1},Array{Float64,1}},DiffEqBase.UJacobianWrapper{ODEFunction{true,ModelingToolkit.var"#f#84"{GeneralizedGenerated.NGG.RuntimeFn{TypeEncoding(list(##MTKArg#275, ##MTKArg#276, ##MTKArg#277)),TypeEncoding(nil(GeneralizedGenerated.NGG.Argument)),TypeEncoding(begin
    begin
        if (ModelingToolkit).isa(var"##MTKArg#275", (ModelingToolkit).Array) || (ModelingToolkit).:!((ModelingToolkit).typeof(var"##MTKArg#275") <: (ModelingToolkit).StaticArray) && false
            return begin
                    $(Expr(:inbounds, true))
                    local var"#30#val" = begin
                                let (x, y, w, z, T, xˍt, yˍt, L, g, t) = (var"##MTKArg#275"[1], var"##MTKArg#275"[2], var"##MTKArg#275"[3], var"##MTKArg#275"[4], var"##MTKArg#275"[5], var"##MTKArg#275"[6], var"##MTKArg#275"[7], var"##MTKArg#276"[1], var"##MTKArg#276"[2], var"##MTKArg#277")
                                    [w, z, (ModelingToolkit).:*(T, x), (ModelingToolkit).:-((ModelingToolkit).:*(T, y), g), (ModelingToolkit).:-((ModelingToolkit).:+((ModelingToolkit).:^(x, 2), (ModelingToolkit).:^(y, 2)), (ModelingToolkit).:^(L, 2)), (ModelingToolkit).:+((ModelingToolkit).:*((ModelingToolkit).:*(2, x), w), (ModelingToolkit).:*((ModelingToolkit).:*(2, y), z)), (ModelingToolkit).wˍt(t), (ModelingToolkit).zˍt(t), (ModelingToolkit).:+((ModelingToolkit).:+((ModelingToolkit).:+((ModelingToolkit).:*((ModelingToolkit).:*(2, x), (ModelingToolkit).:*(T, x)), (ModelingToolkit).:*((ModelingToolkit).:*(2, w), w)), (ModelingToolkit).:*((ModelingToolkit).:*(2, y), (ModelingToolkit).:-((ModelingToolkit).:*(T, y), g))), (ModelingToolkit).:*((ModelingToolkit).:*(2, z), z)), xˍt, yˍt]
                                end
                            end
                    $(Expr(:inbounds, :((ModelingToolkit).pop)))
                    var"#30#val"
                end
        else
            X = begin
                    $(Expr(:inbounds, true))
                    local var"#31#val" = begin
                                let (x, y, w, z, T, xˍt, yˍt, L, g, t) = (var"##MTKArg#275"[1], var"##MTKArg#275"[2], var"##MTKArg#275"[3], var"##MTKArg#275"[4], var"##MTKArg#275"[5], var"##MTKArg#275"[6], var"##MTKArg#275"[7], var"##MTKArg#276"[1], var"##MTKArg#276"[2], var"##MTKArg#277")
                                    (w, z, (ModelingToolkit).:*(T, x), (ModelingToolkit).:-((ModelingToolkit).:*(T, y), g), (ModelingToolkit).:-((ModelingToolkit).:+((ModelingToolkit).:^(x, 2), (ModelingToolkit).:^(y, 2)), (ModelingToolkit).:^(L, 2)), (ModelingToolkit).:+((ModelingToolkit).:*((ModelingToolkit).:*(2, x), w), (ModelingToolkit).:*((ModelingToolkit).:*(2, y), z)), (ModelingToolkit).wˍt(t), (ModelingToolkit).zˍt(t), (ModelingToolkit).:+((ModelingToolkit).:+((ModelingToolkit).:+((ModelingToolkit).:*((ModelingToolkit).:*(2, x), (ModelingToolkit).:*(T, x)), (ModelingToolkit).:*((ModelingToolkit).:*(2, w), w)), (ModelingToolkit).:*((ModelingToolkit).:*(2, y), (ModelingToolkit).:-((ModelingToolkit).:*(T, y), g))), (ModelingToolkit).:*((ModelingToolkit).:*(2, z), z)), xˍt, yˍt)
                                end
                            end
                    $(Expr(:inbounds, :((ModelingToolkit).pop)))
                    var"#31#val"
                end
            construct = if (ModelingToolkit).isa(var"##MTKArg#275", (ModelingToolkit).ModelingToolkit.StaticArrays.StaticArray)
                    (ModelingToolkit).ModelingToolkit.StaticArrays.similar_type((ModelingToolkit).typeof(var"##MTKArg#275"), (ModelingToolkit).eltype(X))
                else
                    #= /home/scheme/.julia/dev/GeneralizedGenerated/src/closure_conv.jl:53 =#
                    let freevars = (var"##MTKArg#275",)
                        #= /home/scheme/.julia/dev/GeneralizedGenerated/src/closure_conv.jl:54 =#
                        (GeneralizedGenerated.Closure){function = (##MTKArg#275, x;) -> begin
    begin
        (ModelingToolkit).convert((ModelingToolkit).typeof(var"##MTKArg#275"), x)
    end
end, Base.typeof(freevars)}(freevars)
                    end
                end
            return construct(X)
        end
    end
end),:function},GeneralizedGenerated.NGG.RuntimeFn{TypeEncoding(list(##MTIIPVar#279, ##MTKArg#275, ##MTKArg#276, ##MTKArg#277)),TypeEncoding(nil(GeneralizedGenerated.NGG.Argument)),TypeEncoding(begin
    begin
        begin
            $(Expr(:inbounds, true))
            local var"#32#val" = begin
                        let (x, y, w, z, T, xˍt, yˍt, L, g, t) = (var"##MTKArg#275"[1], var"##MTKArg#275"[2], var"##MTKArg#275"[3], var"##MTKArg#275"[4], var"##MTKArg#275"[5], var"##MTKArg#275"[6], var"##MTKArg#275"[7], var"##MTKArg#276"[1], var"##MTKArg#276"[2], var"##MTKArg#277")
                            begin
                                var"##MTIIPVar#279"[1] = w
                                var"##MTIIPVar#279"[2] = z
                                var"##MTIIPVar#279"[3] = (ModelingToolkit).:*(T, x)
                                var"##MTIIPVar#279"[4] = (ModelingToolkit).:-((ModelingToolkit).:*(T, y), g)
                                var"##MTIIPVar#279"[5] = (ModelingToolkit).:-((ModelingToolkit).:+((ModelingToolkit).:^(x, 2), (ModelingToolkit).:^(y, 2)), (ModelingToolkit).:^(L, 2))
                                var"##MTIIPVar#279"[6] = (ModelingToolkit).:+((ModelingToolkit).:*((ModelingToolkit).:*(2, x), w), (ModelingToolkit).:*((ModelingToolkit).:*(2, y), z))
                                var"##MTIIPVar#279"[7] = (ModelingToolkit).wˍt(t)
                                var"##MTIIPVar#279"[8] = (ModelingToolkit).zˍt(t)
                                var"##MTIIPVar#279"[9] = (ModelingToolkit).:+((ModelingToolkit).:+((ModelingToolkit).:+((ModelingToolkit).:*((ModelingToolkit).:*(2, x), (ModelingToolkit).:*(T, x)), (ModelingToolkit).:*((ModelingToolkit).:*(2, w), w)), (ModelingToolkit).:*((ModelingToolkit).:*(2, y), (ModelingToolkit).:-((ModelingToolkit).:*(T, y), g))), (ModelingToolkit).:*((ModelingToolkit).:*(2, z), z))
                                var"##MTIIPVar#279"[10] = xˍt
                                var"##MTIIPVar#279"[11] = yˍt
                            end
                        end
                    end
            $(Expr(:inbounds, :((ModelingToolkit).pop)))
            var"#32#val"
        end
        (ModelingToolkit).nothing
    end
end),:function}},Array{Float64,2},Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Array{Symbol,1},Nothing},Float64,Array{Float64,1}},DefaultLinSolve,SparseDiffTools.ForwardColorJacCache{Array{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.UJacobianWrapper{ODEFunction{true,ModelingToolkit.var"#f#84"{GeneralizedGenerated.NGG.RuntimeFn{TypeEncoding(list(##MTKArg#275, ##MTKArg#276, ##MTKArg#277)),TypeEncoding(nil(GeneralizedGenerated.NGG.Argument)),TypeEncoding(begin
    begin
        if (ModelingToolkit).isa(var"##MTKArg#275", (ModelingToolkit).Array) || (ModelingToolkit).:!((ModelingToolkit).typeof(var"##MTKArg#275") <: (ModelingToolkit).StaticArray) && false
            return begin
                    $(Expr(:inbounds, true))
                    local var"#30#val" = begin
                                let (x, y, w, z, T, xˍt, yˍt, L, g, t) = (var"##MTKArg#275"[1], var"##MTKArg#275"[2], var"##MTKArg#275"[3], var"##MTKArg#275"[4], var"##MTKArg#275"[5], var"##MTKArg#275"[6], var"##MTKArg#275"[7], var"##MTKArg#276"[1], var"##MTKArg#276"[2], var"##MTKArg#277")
                                    [w, z, (ModelingToolkit).:*(T, x), (ModelingToolkit).:-((ModelingToolkit).:*(T, y), g), (ModelingToolkit).:-((ModelingToolkit).:+((ModelingToolkit).:^(x, 2), (ModelingToolkit).:^(y, 2)), (ModelingToolkit).:^(L, 2)), (ModelingToolkit).:+((ModelingToolkit).:*((ModelingToolkit).:*(2, x), w), (ModelingToolkit).:*((ModelingToolkit).:*(2, y), z)), (ModelingToolkit).wˍt(t), (ModelingToolkit).zˍt(t), (ModelingToolkit).:+((ModelingToolkit).:+((ModelingToolkit).:+((ModelingToolkit).:*((ModelingToolkit).:*(2, x), (ModelingToolkit).:*(T, x)), (ModelingToolkit).:*((ModelingToolkit).:*(2, w), w)), (ModelingToolkit).:*((ModelingToolkit).:*(2, y), (ModelingToolkit).:-((ModelingToolkit).:*(T, y), g))), (ModelingToolkit).:*((ModelingToolkit).:*(2, z), z)), xˍt, yˍt]
                                end
                            end
                    $(Expr(:inbounds, :((ModelingToolkit).pop)))
                    var"#30#val"
                end
        else
            X = begin
                    $(Expr(:inbounds, true))
                    local var"#31#val" = begin
                                let (x, y, w, z, T, xˍt, yˍt, L, g, t) = (var"##MTKArg#275"[1], var"##MTKArg#275"[2], var"##MTKArg#275"[3], var"##MTKArg#275"[4], var"##MTKArg#275"[5], var"##MTKArg#275"[6], var"##MTKArg#275"[7], var"##MTKArg#276"[1], var"##MTKArg#276"[2], var"##MTKArg#277")
                                    (w, z, (ModelingToolkit).:*(T, x), (ModelingToolkit).:-((ModelingToolkit).:*(T, y), g), (ModelingToolkit).:-((ModelingToolkit).:+((ModelingToolkit).:^(x, 2), (ModelingToolkit).:^(y, 2)), (ModelingToolkit).:^(L, 2)), (ModelingToolkit).:+((ModelingToolkit).:*((ModelingToolkit).:*(2, x), w), (ModelingToolkit).:*((ModelingToolkit).:*(2, y), z)), (ModelingToolkit).wˍt(t), (ModelingToolkit).zˍt(t), (ModelingToolkit).:+((ModelingToolkit).:+((ModelingToolkit).:+((ModelingToolkit).:*((ModelingToolkit).:*(2, x), (ModelingToolkit).:*(T, x)), (ModelingToolkit).:*((ModelingToolkit).:*(2, w), w)), (ModelingToolkit).:*((ModelingToolkit).:*(2, y), (ModelingToolkit).:-((ModelingToolkit).:*(T, y), g))), (ModelingToolkit).:*((ModelingToolkit).:*(2, z), z)), xˍt, yˍt)
                                end
                            end
                    $(Expr(:inbounds, :((ModelingToolkit).pop)))
                    var"#31#val"
                end
            construct = if (ModelingToolkit).isa(var"##MTKArg#275", (ModelingToolkit).ModelingToolkit.StaticArrays.StaticArray)
                    (ModelingToolkit).ModelingToolkit.StaticArrays.similar_type((ModelingToolkit).typeof(var"##MTKArg#275"), (ModelingToolkit).eltype(X))
                else
                    #= /home/scheme/.julia/dev/GeneralizedGenerated/src/closure_conv.jl:53 =#
                    let freevars = (var"##MTKArg#275",)
                        #= /home/scheme/.julia/dev/GeneralizedGenerated/src/closure_conv.jl:54 =#
                        (GeneralizedGenerated.Closure){function = (##MTKArg#275, x;) -> begin
    begin
        (ModelingToolkit).convert((ModelingToolkit).typeof(var"##MTKArg#275"), x)
    end
end, Base.typeof(freevars)}(freevars)
                    end
                end
            return construct(X)
        end
    end
end),:function},GeneralizedGenerated.NGG.RuntimeFn{TypeEncoding(list(##MTIIPVar#279, ##MTKArg#275, ##MTKArg#276, ##MTKArg#277)),TypeEncoding(nil(GeneralizedGenerated.NGG.Argument)),TypeEncoding(begin
    begin
        begin
            $(Expr(:inbounds, true))
            local var"#32#val" = begin
                        let (x, y, w, z, T, xˍt, yˍt, L, g, t) = (var"##MTKArg#275"[1], var"##MTKArg#275"[2], var"##MTKArg#275"[3], var"##MTKArg#275"[4], var"##MTKArg#275"[5], var"##MTKArg#275"[6], var"##MTKArg#275"[7], var"##MTKArg#276"[1], var"##MTKArg#276"[2], var"##MTKArg#277")
                            begin
                                var"##MTIIPVar#279"[1] = w
                                var"##MTIIPVar#279"[2] = z
                                var"##MTIIPVar#279"[3] = (ModelingToolkit).:*(T, x)
                                var"##MTIIPVar#279"[4] = (ModelingToolkit).:-((ModelingToolkit).:*(T, y), g)
                                var"##MTIIPVar#279"[5] = (ModelingToolkit).:-((ModelingToolkit).:+((ModelingToolkit).:^(x, 2), (ModelingToolkit).:^(y, 2)), (ModelingToolkit).:^(L, 2))
                                var"##MTIIPVar#279"[6] = (ModelingToolkit).:+((ModelingToolkit).:*((ModelingToolkit).:*(2, x), w), (ModelingToolkit).:*((ModelingToolkit).:*(2, y), z))
                                var"##MTIIPVar#279"[7] = (ModelingToolkit).wˍt(t)
                                var"##MTIIPVar#279"[8] = (ModelingToolkit).zˍt(t)
                                var"##MTIIPVar#279"[9] = (ModelingToolkit).:+((ModelingToolkit).:+((ModelingToolkit).:+((ModelingToolkit).:*((ModelingToolkit).:*(2, x), (ModelingToolkit).:*(T, x)), (ModelingToolkit).:*((ModelingToolkit).:*(2, w), w)), (ModelingToolkit).:*((ModelingToolkit).:*(2, y), (ModelingToolkit).:-((ModelingToolkit).:*(T, y), g))), (ModelingToolkit).:*((ModelingToolkit).:*(2, z), z))
                                var"##MTIIPVar#279"[10] = xˍt
                                var"##MTIIPVar#279"[11] = yˍt
                            end
                        end
                    end
            $(Expr(:inbounds, :((ModelingToolkit).pop)))
            var"#32#val"
        end
        (ModelingToolkit).nothing
    end
end),:function}},Array{Float64,2},Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Array{Symbol,1},Nothing},Float64,Array{Float64,1}},Float64}(),Float64,7},1},Array{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.UJacobianWrapper{ODEFunction{true,ModelingToolkit.var"#f#84"{GeneralizedGenerated.NGG.RuntimeFn{TypeEncoding(list(##MTKArg#275, ##MTKArg#276, ##MTKArg#277)),TypeEncoding(nil(GeneralizedGenerated.NGG.Argument)),TypeEncoding(begin
    begin
        if (ModelingToolkit).isa(var"##MTKArg#275", (ModelingToolkit).Array) || (ModelingToolkit).:!((ModelingToolkit).typeof(var"##MTKArg#275") <: (ModelingToolkit).StaticArray) && false
            return begin
                    $(Expr(:inbounds, true))
                    local var"#30#val" = begin
                                let (x, y, w, z, T, xˍt, yˍt, L, g, t) = (var"##MTKArg#275"[1], var"##MTKArg#275"[2], var"##MTKArg#275"[3], var"##MTKArg#275"[4], var"##MTKArg#275"[5], var"##MTKArg#275"[6], var"##MTKArg#275"[7], var"##MTKArg#276"[1], var"##MTKArg#276"[2], var"##MTKArg#277")
                                    [w, z, (ModelingToolkit).:*(T, x), (ModelingToolkit).:-((ModelingToolkit).:*(T, y), g), (ModelingToolkit).:-((ModelingToolkit).:+((ModelingToolkit).:^(x, 2), (ModelingToolkit).:^(y, 2)), (ModelingToolkit).:^(L, 2)), (ModelingToolkit).:+((ModelingToolkit).:*((ModelingToolkit).:*(2, x), w), (ModelingToolkit).:*((ModelingToolkit).:*(2, y), z)), (ModelingToolkit).wˍt(t), (ModelingToolkit).zˍt(t), (ModelingToolkit).:+((ModelingToolkit).:+((ModelingToolkit).:+((ModelingToolkit).:*((ModelingToolkit).:*(2, x), (ModelingToolkit).:*(T, x)), (ModelingToolkit).:*((ModelingToolkit).:*(2, w), w)), (ModelingToolkit).:*((ModelingToolkit).:*(2, y), (ModelingToolkit).:-((ModelingToolkit).:*(T, y), g))), (ModelingToolkit).:*((ModelingToolkit).:*(2, z), z)), xˍt, yˍt]
                                end
                            end
                    $(Expr(:inbounds, :((ModelingToolkit).pop)))
                    var"#30#val"
                end
        else
            X = begin
                    $(Expr(:inbounds, true))
                    local var"#31#val" = begin
                                let (x, y, w, z, T, xˍt, yˍt, L, g, t) = (var"##MTKArg#275"[1], var"##MTKArg#275"[2], var"##MTKArg#275"[3], var"##MTKArg#275"[4], var"##MTKArg#275"[5], var"##MTKArg#275"[6], var"##MTKArg#275"[7], var"##MTKArg#276"[1], var"##MTKArg#276"[2], var"##MTKArg#277")
                                    (w, z, (ModelingToolkit).:*(T, x), (ModelingToolkit).:-((ModelingToolkit).:*(T, y), g), (ModelingToolkit).:-((ModelingToolkit).:+((ModelingToolkit).:^(x, 2), (ModelingToolkit).:^(y, 2)), (ModelingToolkit).:^(L, 2)), (ModelingToolkit).:+((ModelingToolkit).:*((ModelingToolkit).:*(2, x), w), (ModelingToolkit).:*((ModelingToolkit).:*(2, y), z)), (ModelingToolkit).wˍt(t), (ModelingToolkit).zˍt(t), (ModelingToolkit).:+((ModelingToolkit).:+((ModelingToolkit).:+((ModelingToolkit).:*((ModelingToolkit).:*(2, x), (ModelingToolkit).:*(T, x)), (ModelingToolkit).:*((ModelingToolkit).:*(2, w), w)), (ModelingToolkit).:*((ModelingToolkit).:*(2, y), (ModelingToolkit).:-((ModelingToolkit).:*(T, y), g))), (ModelingToolkit).:*((ModelingToolkit).:*(2, z), z)), xˍt, yˍt)
                                end
                            end
                    $(Expr(:inbounds, :((ModelingToolkit).pop)))
                    var"#31#val"
                end
            construct = if (ModelingToolkit).isa(var"##MTKArg#275", (ModelingToolkit).ModelingToolkit.StaticArrays.StaticArray)
                    (ModelingToolkit).ModelingToolkit.StaticArrays.similar_type((ModelingToolkit).typeof(var"##MTKArg#275"), (ModelingToolkit).eltype(X))
                else
                    #= /home/scheme/.julia/dev/GeneralizedGenerated/src/closure_conv.jl:53 =#
                    let freevars = (var"##MTKArg#275",)
                        #= /home/scheme/.julia/dev/GeneralizedGenerated/src/closure_conv.jl:54 =#
                        (GeneralizedGenerated.Closure){function = (##MTKArg#275, x;) -> begin
    begin
        (ModelingToolkit).convert((ModelingToolkit).typeof(var"##MTKArg#275"), x)
    end
end, Base.typeof(freevars)}(freevars)
                    end
                end
            return construct(X)
        end
    end
end),:function},GeneralizedGenerated.NGG.RuntimeFn{TypeEncoding(list(##MTIIPVar#279, ##MTKArg#275, ##MTKArg#276, ##MTKArg#277)),TypeEncoding(nil(GeneralizedGenerated.NGG.Argument)),TypeEncoding(begin
    begin
        begin
            $(Expr(:inbounds, true))
            local var"#32#val" = begin
                        let (x, y, w, z, T, xˍt, yˍt, L, g, t) = (var"##MTKArg#275"[1], var"##MTKArg#275"[2], var"##MTKArg#275"[3], var"##MTKArg#275"[4], var"##MTKArg#275"[5], var"##MTKArg#275"[6], var"##MTKArg#275"[7], var"##MTKArg#276"[1], var"##MTKArg#276"[2], var"##MTKArg#277")
                            begin
                                var"##MTIIPVar#279"[1] = w
                                var"##MTIIPVar#279"[2] = z
                                var"##MTIIPVar#279"[3] = (ModelingToolkit).:*(T, x)
                                var"##MTIIPVar#279"[4] = (ModelingToolkit).:-((ModelingToolkit).:*(T, y), g)
                                var"##MTIIPVar#279"[5] = (ModelingToolkit).:-((ModelingToolkit).:+((ModelingToolkit).:^(x, 2), (ModelingToolkit).:^(y, 2)), (ModelingToolkit).:^(L, 2))
                                var"##MTIIPVar#279"[6] = (ModelingToolkit).:+((ModelingToolkit).:*((ModelingToolkit).:*(2, x), w), (ModelingToolkit).:*((ModelingToolkit).:*(2, y), z))
                                var"##MTIIPVar#279"[7] = (ModelingToolkit).wˍt(t)
                                var"##MTIIPVar#279"[8] = (ModelingToolkit).zˍt(t)
                                var"##MTIIPVar#279"[9] = (ModelingToolkit).:+((ModelingToolkit).:+((ModelingToolkit).:+((ModelingToolkit).:*((ModelingToolkit).:*(2, x), (ModelingToolkit).:*(T, x)), (ModelingToolkit).:*((ModelingToolkit).:*(2, w), w)), (ModelingToolkit).:*((ModelingToolkit).:*(2, y), (ModelingToolkit).:-((ModelingToolkit).:*(T, y), g))), (ModelingToolkit).:*((ModelingToolkit).:*(2, z), z))
                                var"##MTIIPVar#279"[10] = xˍt
                                var"##MTIIPVar#279"[11] = yˍt
                            end
                        end
                    end
            $(Expr(:inbounds, :((ModelingToolkit).pop)))
            var"#32#val"
        end
        (ModelingToolkit).nothing
    end
end),:function}},Array{Float64,2},Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Array{Symbol,1},Nothing},Float64,Array{Float64,1}},Float64}(),Float64,7},1},Array{Float64,1},Array{Array{NTuple{7,Bool},1},1},UnitRange{Int64},Nothing},ForwardDiff.DerivativeConfig{ForwardDiff.Tag{DiffEqBase.TimeGradientWrapper{ODEFunction{true,ModelingToolkit.var"#f#84"{GeneralizedGenerated.NGG.RuntimeFn{TypeEncoding(list(##MTKArg#275, ##MTKArg#276, ##MTKArg#277)),TypeEncoding(nil(GeneralizedGenerated.NGG.Argument)),TypeEncoding(begin
    begin
        if (ModelingToolkit).isa(var"##MTKArg#275", (ModelingToolkit).Array) || (ModelingToolkit).:!((ModelingToolkit).typeof(var"##MTKArg#275") <: (ModelingToolkit).StaticArray) && false
            return begin
                    $(Expr(:inbounds, true))
                    local var"#30#val" = begin
                                let (x, y, w, z, T, xˍt, yˍt, L, g, t) = (var"##MTKArg#275"[1], var"##MTKArg#275"[2], var"##MTKArg#275"[3], var"##MTKArg#275"[4], var"##MTKArg#275"[5], var"##MTKArg#275"[6], var"##MTKArg#275"[7], var"##MTKArg#276"[1], var"##MTKArg#276"[2], var"##MTKArg#277")
                                    [w, z, (ModelingToolkit).:*(T, x), (ModelingToolkit).:-((ModelingToolkit).:*(T, y), g), (ModelingToolkit).:-((ModelingToolkit).:+((ModelingToolkit).:^(x, 2), (ModelingToolkit).:^(y, 2)), (ModelingToolkit).:^(L, 2)), (ModelingToolkit).:+((ModelingToolkit).:*((ModelingToolkit).:*(2, x), w), (ModelingToolkit).:*((ModelingToolkit).:*(2, y), z)), (ModelingToolkit).wˍt(t), (ModelingToolkit).zˍt(t), (ModelingToolkit).:+((ModelingToolkit).:+((ModelingToolkit).:+((ModelingToolkit).:*((ModelingToolkit).:*(2, x), (ModelingToolkit).:*(T, x)), (ModelingToolkit).:*((ModelingToolkit).:*(2, w), w)), (ModelingToolkit).:*((ModelingToolkit).:*(2, y), (ModelingToolkit).:-((ModelingToolkit).:*(T, y), g))), (ModelingToolkit).:*((ModelingToolkit).:*(2, z), z)), xˍt, yˍt]
                                end
                            end
                    $(Expr(:inbounds, :((ModelingToolkit).pop)))
                    var"#30#val"
                end
        else
            X = begin
                    $(Expr(:inbounds, true))
                    local var"#31#val" = begin
                                let (x, y, w, z, T, xˍt, yˍt, L, g, t) = (var"##MTKArg#275"[1], var"##MTKArg#275"[2], var"##MTKArg#275"[3], var"##MTKArg#275"[4], var"##MTKArg#275"[5], var"##MTKArg#275"[6], var"##MTKArg#275"[7], var"##MTKArg#276"[1], var"##MTKArg#276"[2], var"##MTKArg#277")
                                    (w, z, (ModelingToolkit).:*(T, x), (ModelingToolkit).:-((ModelingToolkit).:*(T, y), g), (ModelingToolkit).:-((ModelingToolkit).:+((ModelingToolkit).:^(x, 2), (ModelingToolkit).:^(y, 2)), (ModelingToolkit).:^(L, 2)), (ModelingToolkit).:+((ModelingToolkit).:*((ModelingToolkit).:*(2, x), w), (ModelingToolkit).:*((ModelingToolkit).:*(2, y), z)), (ModelingToolkit).wˍt(t), (ModelingToolkit).zˍt(t), (ModelingToolkit).:+((ModelingToolkit).:+((ModelingToolkit).:+((ModelingToolkit).:*((ModelingToolkit).:*(2, x), (ModelingToolkit).:*(T, x)), (ModelingToolkit).:*((ModelingToolkit).:*(2, w), w)), (ModelingToolkit).:*((ModelingToolkit).:*(2, y), (ModelingToolkit).:-((ModelingToolkit).:*(T, y), g))), (ModelingToolkit).:*((ModelingToolkit).:*(2, z), z)), xˍt, yˍt)
                                end
                            end
                    $(Expr(:inbounds, :((ModelingToolkit).pop)))
                    var"#31#val"
                end
            construct = if (ModelingToolkit).isa(var"##MTKArg#275", (ModelingToolkit).ModelingToolkit.StaticArrays.StaticArray)
                    (ModelingToolkit).ModelingToolkit.StaticArrays.similar_type((ModelingToolkit).typeof(var"##MTKArg#275"), (ModelingToolkit).eltype(X))
                else
                    #= /home/scheme/.julia/dev/GeneralizedGenerated/src/closure_conv.jl:53 =#
                    let freevars = (var"##MTKArg#275",)
                        #= /home/scheme/.julia/dev/GeneralizedGenerated/src/closure_conv.jl:54 =#
                        (GeneralizedGenerated.Closure){function = (##MTKArg#275, x;) -> begin
    begin
        (ModelingToolkit).convert((ModelingToolkit).typeof(var"##MTKArg#275"), x)
    end
end, Base.typeof(freevars)}(freevars)
                    end
                end
            return construct(X)
        end
    end
end),:function},GeneralizedGenerated.NGG.RuntimeFn{TypeEncoding(list(##MTIIPVar#279, ##MTKArg#275, ##MTKArg#276, ##MTKArg#277)),TypeEncoding(nil(GeneralizedGenerated.NGG.Argument)),TypeEncoding(begin
    begin
        begin
            $(Expr(:inbounds, true))
            local var"#32#val" = begin
                        let (x, y, w, z, T, xˍt, yˍt, L, g, t) = (var"##MTKArg#275"[1], var"##MTKArg#275"[2], var"##MTKArg#275"[3], var"##MTKArg#275"[4], var"##MTKArg#275"[5], var"##MTKArg#275"[6], var"##MTKArg#275"[7], var"##MTKArg#276"[1], var"##MTKArg#276"[2], var"##MTKArg#277")
                            begin
                                var"##MTIIPVar#279"[1] = w
                                var"##MTIIPVar#279"[2] = z
                                var"##MTIIPVar#279"[3] = (ModelingToolkit).:*(T, x)
                                var"##MTIIPVar#279"[4] = (ModelingToolkit).:-((ModelingToolkit).:*(T, y), g)
                                var"##MTIIPVar#279"[5] = (ModelingToolkit).:-((ModelingToolkit).:+((ModelingToolkit).:^(x, 2), (ModelingToolkit).:^(y, 2)), (ModelingToolkit).:^(L, 2))
                                var"##MTIIPVar#279"[6] = (ModelingToolkit).:+((ModelingToolkit).:*((ModelingToolkit).:*(2, x), w), (ModelingToolkit).:*((ModelingToolkit).:*(2, y), z))
                                var"##MTIIPVar#279"[7] = (ModelingToolkit).wˍt(t)
                                var"##MTIIPVar#279"[8] = (ModelingToolkit).zˍt(t)
                                var"##MTIIPVar#279"[9] = (ModelingToolkit).:+((ModelingToolkit).:+((ModelingToolkit).:+((ModelingToolkit).:*((ModelingToolkit).:*(2, x), (ModelingToolkit).:*(T, x)), (ModelingToolkit).:*((ModelingToolkit).:*(2, w), w)), (ModelingToolkit).:*((ModelingToolkit).:*(2, y), (ModelingToolkit).:-((ModelingToolkit).:*(T, y), g))), (ModelingToolkit).:*((ModelingToolkit).:*(2, z), z))
                                var"##MTIIPVar#279"[10] = xˍt
                                var"##MTIIPVar#279"[11] = yˍt
                            end
                        end
                    end
            $(Expr(:inbounds, :((ModelingToolkit).pop)))
            var"#32#val"
        end
        (ModelingToolkit).nothing
    end
end),:function}},Array{Float64,2},Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Array{Symbol,1},Nothing},Array{Float64,1},Array{Float64,1}},Float64},Array{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.TimeGradientWrapper{ODEFunction{true,ModelingToolkit.var"#f#84"{GeneralizedGenerated.NGG.RuntimeFn{TypeEncoding(list(##MTKArg#275, ##MTKArg#276, ##MTKArg#277)),TypeEncoding(nil(GeneralizedGenerated.NGG.Argument)),TypeEncoding(begin
    begin
        if (ModelingToolkit).isa(var"##MTKArg#275", (ModelingToolkit).Array) || (ModelingToolkit).:!((ModelingToolkit).typeof(var"##MTKArg#275") <: (ModelingToolkit).StaticArray) && false
            return begin
                    $(Expr(:inbounds, true))
                    local var"#30#val" = begin
                                let (x, y, w, z, T, xˍt, yˍt, L, g, t) = (var"##MTKArg#275"[1], var"##MTKArg#275"[2], var"##MTKArg#275"[3], var"##MTKArg#275"[4], var"##MTKArg#275"[5], var"##MTKArg#275"[6], var"##MTKArg#275"[7], var"##MTKArg#276"[1], var"##MTKArg#276"[2], var"##MTKArg#277")
                                    [w, z, (ModelingToolkit).:*(T, x), (ModelingToolkit).:-((ModelingToolkit).:*(T, y), g), (ModelingToolkit).:-((ModelingToolkit).:+((ModelingToolkit).:^(x, 2), (ModelingToolkit).:^(y, 2)), (ModelingToolkit).:^(L, 2)), (ModelingToolkit).:+((ModelingToolkit).:*((ModelingToolkit).:*(2, x), w), (ModelingToolkit).:*((ModelingToolkit).:*(2, y), z)), (ModelingToolkit).wˍt(t), (ModelingToolkit).zˍt(t), (ModelingToolkit).:+((ModelingToolkit).:+((ModelingToolkit).:+((ModelingToolkit).:*((ModelingToolkit).:*(2, x), (ModelingToolkit).:*(T, x)), (ModelingToolkit).:*((ModelingToolkit).:*(2, w), w)), (ModelingToolkit).:*((ModelingToolkit).:*(2, y), (ModelingToolkit).:-((ModelingToolkit).:*(T, y), g))), (ModelingToolkit).:*((ModelingToolkit).:*(2, z), z)), xˍt, yˍt]
                                end
                            end
                    $(Expr(:inbounds, :((ModelingToolkit).pop)))
                    var"#30#val"
                end
        else
            X = begin
                    $(Expr(:inbounds, true))
                    local var"#31#val" = begin
                                let (x, y, w, z, T, xˍt, yˍt, L, g, t) = (var"##MTKArg#275"[1], var"##MTKArg#275"[2], var"##MTKArg#275"[3], var"##MTKArg#275"[4], var"##MTKArg#275"[5], var"##MTKArg#275"[6], var"##MTKArg#275"[7], var"##MTKArg#276"[1], var"##MTKArg#276"[2], var"##MTKArg#277")
                                    (w, z, (ModelingToolkit).:*(T, x), (ModelingToolkit).:-((ModelingToolkit).:*(T, y), g), (ModelingToolkit).:-((ModelingToolkit).:+((ModelingToolkit).:^(x, 2), (ModelingToolkit).:^(y, 2)), (ModelingToolkit).:^(L, 2)), (ModelingToolkit).:+((ModelingToolkit).:*((ModelingToolkit).:*(2, x), w), (ModelingToolkit).:*((ModelingToolkit).:*(2, y), z)), (ModelingToolkit).wˍt(t), (ModelingToolkit).zˍt(t), (ModelingToolkit).:+((ModelingToolkit).:+((ModelingToolkit).:+((ModelingToolkit).:*((ModelingToolkit).:*(2, x), (ModelingToolkit).:*(T, x)), (ModelingToolkit).:*((ModelingToolkit).:*(2, w), w)), (ModelingToolkit).:*((ModelingToolkit).:*(2, y), (ModelingToolkit).:-((ModelingToolkit).:*(T, y), g))), (ModelingToolkit).:*((ModelingToolkit).:*(2, z), z)), xˍt, yˍt)
                                end
                            end
                    $(Expr(:inbounds, :((ModelingToolkit).pop)))
                    var"#31#val"
                end
            construct = if (ModelingToolkit).isa(var"##MTKArg#275", (ModelingToolkit).ModelingToolkit.StaticArrays.StaticArray)
                    (ModelingToolkit).ModelingToolkit.StaticArrays.similar_type((ModelingToolkit).typeof(var"##MTKArg#275"), (ModelingToolkit).eltype(X))
                else
                    #= /home/scheme/.julia/dev/GeneralizedGenerated/src/closure_conv.jl:53 =#
                    let freevars = (var"##MTKArg#275",)
                        #= /home/scheme/.julia/dev/GeneralizedGenerated/src/closure_conv.jl:54 =#
                        (GeneralizedGenerated.Closure){function = (##MTKArg#275, x;) -> begin
    begin
        (ModelingToolkit).convert((ModelingToolkit).typeof(var"##MTKArg#275"), x)
    end
end, Base.typeof(freevars)}(freevars)
                    end
                end
            return construct(X)
        end
    end
end),:function},GeneralizedGenerated.NGG.RuntimeFn{TypeEncoding(list(##MTIIPVar#279, ##MTKArg#275, ##MTKArg#276, ##MTKArg#277)),TypeEncoding(nil(GeneralizedGenerated.NGG.Argument)),TypeEncoding(begin
    begin
        begin
            $(Expr(:inbounds, true))
            local var"#32#val" = begin
                        let (x, y, w, z, T, xˍt, yˍt, L, g, t) = (var"##MTKArg#275"[1], var"##MTKArg#275"[2], var"##MTKArg#275"[3], var"##MTKArg#275"[4], var"##MTKArg#275"[5], var"##MTKArg#275"[6], var"##MTKArg#275"[7], var"##MTKArg#276"[1], var"##MTKArg#276"[2], var"##MTKArg#277")
                            begin
                                var"##MTIIPVar#279"[1] = w
                                var"##MTIIPVar#279"[2] = z
                                var"##MTIIPVar#279"[3] = (ModelingToolkit).:*(T, x)
                                var"##MTIIPVar#279"[4] = (ModelingToolkit).:-((ModelingToolkit).:*(T, y), g)
                                var"##MTIIPVar#279"[5] = (ModelingToolkit).:-((ModelingToolkit).:+((ModelingToolkit).:^(x, 2), (ModelingToolkit).:^(y, 2)), (ModelingToolkit).:^(L, 2))
                                var"##MTIIPVar#279"[6] = (ModelingToolkit).:+((ModelingToolkit).:*((ModelingToolkit).:*(2, x), w), (ModelingToolkit).:*((ModelingToolkit).:*(2, y), z))
                                var"##MTIIPVar#279"[7] = (ModelingToolkit).wˍt(t)
                                var"##MTIIPVar#279"[8] = (ModelingToolkit).zˍt(t)
                                var"##MTIIPVar#279"[9] = (ModelingToolkit).:+((ModelingToolkit).:+((ModelingToolkit).:+((ModelingToolkit).:*((ModelingToolkit).:*(2, x), (ModelingToolkit).:*(T, x)), (ModelingToolkit).:*((ModelingToolkit).:*(2, w), w)), (ModelingToolkit).:*((ModelingToolkit).:*(2, y), (ModelingToolkit).:-((ModelingToolkit).:*(T, y), g))), (ModelingToolkit).:*((ModelingToolkit).:*(2, z), z))
                                var"##MTIIPVar#279"[10] = xˍt
                                var"##MTIIPVar#279"[11] = yˍt
                            end
                        end
                    end
            $(Expr(:inbounds, :((ModelingToolkit).pop)))
            var"#32#val"
        end
        (ModelingToolkit).nothing
    end
end),:function}},Array{Float64,2},Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Array{Symbol,1},Nothing},Array{Float64,1},Array{Float64,1}},Float64},Float64,1},1}}},OrdinaryDiffEq.DEOptions{Float64,Float64,Float64,Float64,typeof(DiffEqBase.ODE_DEFAULT_NORM),typeof(LinearAlgebra.opnorm),CallbackSet{Tuple{},Tuple{}},typeof(DiffEqBase.ODE_DEFAULT_ISOUTOFDOMAIN),typeof(DiffEqBase.ODE_DEFAULT_PROG_MESSAGE),typeof(DiffEqBase.ODE_DEFAULT_UNSTABLE_CHECK),DataStructures.BinaryHeap{Float64,DataStructures.LessThan},DataStructures.BinaryHeap{Float64,DataStructures.LessThan},Nothing,Nothing,Int64,Array{Float64,1},Array{Float64,1},Array{Float64,1}},Array{Float64,1},Float64,Nothing,OrdinaryDiffEq.DefaultInit}, ::ODEProblem{Array{Float64,1},Tuple{Float64,Float64},true,Array{Float64,1},ODEFunction{true,ModelingToolkit.var"#f#84"{GeneralizedGenerated.NGG.RuntimeFn{TypeEncoding(list(##MTKArg#275, ##MTKArg#276, ##MTKArg#277)),TypeEncoding(nil(GeneralizedGenerated.NGG.Argument)),TypeEncoding(begin
    begin
        if (ModelingToolkit).isa(var"##MTKArg#275", (ModelingToolkit).Array) || (ModelingToolkit).:!((ModelingToolkit).typeof(var"##MTKArg#275") <: (ModelingToolkit).StaticArray) && false
            return begin
                    $(Expr(:inbounds, true))
                    local var"#30#val" = begin
                                let (x, y, w, z, T, xˍt, yˍt, L, g, t) = (var"##MTKArg#275"[1], var"##MTKArg#275"[2], var"##MTKArg#275"[3], var"##MTKArg#275"[4], var"##MTKArg#275"[5], var"##MTKArg#275"[6], var"##MTKArg#275"[7], var"##MTKArg#276"[1], var"##MTKArg#276"[2], var"##MTKArg#277")
                                    [w, z, (ModelingToolkit).:*(T, x), (ModelingToolkit).:-((ModelingToolkit).:*(T, y), g), (ModelingToolkit).:-((ModelingToolkit).:+((ModelingToolkit).:^(x, 2), (ModelingToolkit).:^(y, 2)), (ModelingToolkit).:^(L, 2)), (ModelingToolkit).:+((ModelingToolkit).:*((ModelingToolkit).:*(2, x), w), (ModelingToolkit).:*((ModelingToolkit).:*(2, y), z)), (ModelingToolkit).wˍt(t), (ModelingToolkit).zˍt(t), (ModelingToolkit).:+((ModelingToolkit).:+((ModelingToolkit).:+((ModelingToolkit).:*((ModelingToolkit).:*(2, x), (ModelingToolkit).:*(T, x)), (ModelingToolkit).:*((ModelingToolkit).:*(2, w), w)), (ModelingToolkit).:*((ModelingToolkit).:*(2, y), (ModelingToolkit).:-((ModelingToolkit).:*(T, y), g))), (ModelingToolkit).:*((ModelingToolkit).:*(2, z), z)), xˍt, yˍt]
                                end
                            end
                    $(Expr(:inbounds, :((ModelingToolkit).pop)))
                    var"#30#val"
                end
        else
            X = begin
                    $(Expr(:inbounds, true))
                    local var"#31#val" = begin
                                let (x, y, w, z, T, xˍt, yˍt, L, g, t) = (var"##MTKArg#275"[1], var"##MTKArg#275"[2], var"##MTKArg#275"[3], var"##MTKArg#275"[4], var"##MTKArg#275"[5], var"##MTKArg#275"[6], var"##MTKArg#275"[7], var"##MTKArg#276"[1], var"##MTKArg#276"[2], var"##MTKArg#277")
                                    (w, z, (ModelingToolkit).:*(T, x), (ModelingToolkit).:-((ModelingToolkit).:*(T, y), g), (ModelingToolkit).:-((ModelingToolkit).:+((ModelingToolkit).:^(x, 2), (ModelingToolkit).:^(y, 2)), (ModelingToolkit).:^(L, 2)), (ModelingToolkit).:+((ModelingToolkit).:*((ModelingToolkit).:*(2, x), w), (ModelingToolkit).:*((ModelingToolkit).:*(2, y), z)), (ModelingToolkit).wˍt(t), (ModelingToolkit).zˍt(t), (ModelingToolkit).:+((ModelingToolkit).:+((ModelingToolkit).:+((ModelingToolkit).:*((ModelingToolkit).:*(2, x), (ModelingToolkit).:*(T, x)), (ModelingToolkit).:*((ModelingToolkit).:*(2, w), w)), (ModelingToolkit).:*((ModelingToolkit).:*(2, y), (ModelingToolkit).:-((ModelingToolkit).:*(T, y), g))), (ModelingToolkit).:*((ModelingToolkit).:*(2, z), z)), xˍt, yˍt)
                                end
                            end
                    $(Expr(:inbounds, :((ModelingToolkit).pop)))
                    var"#31#val"
                end
            construct = if (ModelingToolkit).isa(var"##MTKArg#275", (ModelingToolkit).ModelingToolkit.StaticArrays.StaticArray)
                    (ModelingToolkit).ModelingToolkit.StaticArrays.similar_type((ModelingToolkit).typeof(var"##MTKArg#275"), (ModelingToolkit).eltype(X))
                else
                    #= /home/scheme/.julia/dev/GeneralizedGenerated/src/closure_conv.jl:53 =#
                    let freevars = (var"##MTKArg#275",)
                        #= /home/scheme/.julia/dev/GeneralizedGenerated/src/closure_conv.jl:54 =#
                        (GeneralizedGenerated.Closure){function = (##MTKArg#275, x;) -> begin
    begin
        (ModelingToolkit).convert((ModelingToolkit).typeof(var"##MTKArg#275"), x)
    end
end, Base.typeof(freevars)}(freevars)
                    end
                end
            return construct(X)
        end
    end
end),:function},GeneralizedGenerated.NGG.RuntimeFn{TypeEncoding(list(##MTIIPVar#279, ##MTKArg#275, ##MTKArg#276, ##MTKArg#277)),TypeEncoding(nil(GeneralizedGenerated.NGG.Argument)),TypeEncoding(begin
    begin
        begin
            $(Expr(:inbounds, true))
            local var"#32#val" = begin
                        let (x, y, w, z, T, xˍt, yˍt, L, g, t) = (var"##MTKArg#275"[1], var"##MTKArg#275"[2], var"##MTKArg#275"[3], var"##MTKArg#275"[4], var"##MTKArg#275"[5], var"##MTKArg#275"[6], var"##MTKArg#275"[7], var"##MTKArg#276"[1], var"##MTKArg#276"[2], var"##MTKArg#277")
                            begin
                                var"##MTIIPVar#279"[1] = w
                                var"##MTIIPVar#279"[2] = z
                                var"##MTIIPVar#279"[3] = (ModelingToolkit).:*(T, x)
                                var"##MTIIPVar#279"[4] = (ModelingToolkit).:-((ModelingToolkit).:*(T, y), g)
                                var"##MTIIPVar#279"[5] = (ModelingToolkit).:-((ModelingToolkit).:+((ModelingToolkit).:^(x, 2), (ModelingToolkit).:^(y, 2)), (ModelingToolkit).:^(L, 2))
                                var"##MTIIPVar#279"[6] = (ModelingToolkit).:+((ModelingToolkit).:*((ModelingToolkit).:*(2, x), w), (ModelingToolkit).:*((ModelingToolkit).:*(2, y), z))
                                var"##MTIIPVar#279"[7] = (ModelingToolkit).wˍt(t)
                                var"##MTIIPVar#279"[8] = (ModelingToolkit).zˍt(t)
                                var"##MTIIPVar#279"[9] = (ModelingToolkit).:+((ModelingToolkit).:+((ModelingToolkit).:+((ModelingToolkit).:*((ModelingToolkit).:*(2, x), (ModelingToolkit).:*(T, x)), (ModelingToolkit).:*((ModelingToolkit).:*(2, w), w)), (ModelingToolkit).:*((ModelingToolkit).:*(2, y), (ModelingToolkit).:-((ModelingToolkit).:*(T, y), g))), (ModelingToolkit).:*((ModelingToolkit).:*(2, z), z))
                                var"##MTIIPVar#279"[10] = xˍt
                                var"##MTIIPVar#279"[11] = yˍt
                            end
                        end
                    end
            $(Expr(:inbounds, :((ModelingToolkit).pop)))
            var"#32#val"
        end
        (ModelingToolkit).nothing
    end
end),:function}},Array{Float64,2},Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Array{Symbol,1},Nothing},Base.Iterators.Pairs{Symbol,Array{Float64,2},Tuple{Symbol},NamedTuple{(:mass_matrix,),Tuple{Array{Float64,2}}}},DiffEqBase.StandardODEProblem}, ::BrownFullBasicInit{Float64}, ::Val{true}) at /home/scheme/.julia/dev/OrdinaryDiffEq/src/initialize_dae.jl:242
 [7] _initialize_dae! at /home/scheme/.julia/dev/OrdinaryDiffEq/src/initialize_dae.jl:40 [inlined]
 [8] initialize_dae! at /home/scheme/.julia/dev/OrdinaryDiffEq/src/initialize_dae.jl:31 [inlined] (repeats 2 times)
 [9] __init(::ODEProblem{Array{Float64,1},Tuple{Float64,Float64},true,Array{Float64,1},ODEFunction{true,ModelingToolkit.var"#f#84"{GeneralizedGenerated.NGG.RuntimeFn{TypeEncoding(list(##MTKArg#275, ##MTKArg#276, ##MTKArg#277)),TypeEncoding(nil(GeneralizedGenerated.NGG.Argument)),TypeEncoding(begin
    begin
        if (ModelingToolkit).isa(var"##MTKArg#275", (ModelingToolkit).Array) || (ModelingToolkit).:!((ModelingToolkit).typeof(var"##MTKArg#275") <: (ModelingToolkit).StaticArray) && false
            return begin
                    $(Expr(:inbounds, true))
                    local var"#30#val" = begin
                                let (x, y, w, z, T, xˍt, yˍt, L, g, t) = (var"##MTKArg#275"[1], var"##MTKArg#275"[2], var"##MTKArg#275"[3], var"##MTKArg#275"[4], var"##MTKArg#275"[5], var"##MTKArg#275"[6], var"##MTKArg#275"[7], var"##MTKArg#276"[1], var"##MTKArg#276"[2], var"##MTKArg#277")
                                    [w, z, (ModelingToolkit).:*(T, x), (ModelingToolkit).:-((ModelingToolkit).:*(T, y), g), (ModelingToolkit).:-((ModelingToolkit).:+((ModelingToolkit).:^(x, 2), (ModelingToolkit).:^(y, 2)), (ModelingToolkit).:^(L, 2)), (ModelingToolkit).:+((ModelingToolkit).:*((ModelingToolkit).:*(2, x), w), (ModelingToolkit).:*((ModelingToolkit).:*(2, y), z)), (ModelingToolkit).wˍt(t), (ModelingToolkit).zˍt(t), (ModelingToolkit).:+((ModelingToolkit).:+((ModelingToolkit).:+((ModelingToolkit).:*((ModelingToolkit).:*(2, x), (ModelingToolkit).:*(T, x)), (ModelingToolkit).:*((ModelingToolkit).:*(2, w), w)), (ModelingToolkit).:*((ModelingToolkit).:*(2, y), (ModelingToolkit).:-((ModelingToolkit).:*(T, y), g))), (ModelingToolkit).:*((ModelingToolkit).:*(2, z), z)), xˍt, yˍt]
                                end
                            end
                    $(Expr(:inbounds, :((ModelingToolkit).pop)))
                    var"#30#val"
                end
        else
            X = begin
                    $(Expr(:inbounds, true))
                    local var"#31#val" = begin
                                let (x, y, w, z, T, xˍt, yˍt, L, g, t) = (var"##MTKArg#275"[1], var"##MTKArg#275"[2], var"##MTKArg#275"[3], var"##MTKArg#275"[4], var"##MTKArg#275"[5], var"##MTKArg#275"[6], var"##MTKArg#275"[7], var"##MTKArg#276"[1], var"##MTKArg#276"[2], var"##MTKArg#277")
                                    (w, z, (ModelingToolkit).:*(T, x), (ModelingToolkit).:-((ModelingToolkit).:*(T, y), g), (ModelingToolkit).:-((ModelingToolkit).:+((ModelingToolkit).:^(x, 2), (ModelingToolkit).:^(y, 2)), (ModelingToolkit).:^(L, 2)), (ModelingToolkit).:+((ModelingToolkit).:*((ModelingToolkit).:*(2, x), w), (ModelingToolkit).:*((ModelingToolkit).:*(2, y), z)), (ModelingToolkit).wˍt(t), (ModelingToolkit).zˍt(t), (ModelingToolkit).:+((ModelingToolkit).:+((ModelingToolkit).:+((ModelingToolkit).:*((ModelingToolkit).:*(2, x), (ModelingToolkit).:*(T, x)), (ModelingToolkit).:*((ModelingToolkit).:*(2, w), w)), (ModelingToolkit).:*((ModelingToolkit).:*(2, y), (ModelingToolkit).:-((ModelingToolkit).:*(T, y), g))), (ModelingToolkit).:*((ModelingToolkit).:*(2, z), z)), xˍt, yˍt)
                                end
                            end
                    $(Expr(:inbounds, :((ModelingToolkit).pop)))
                    var"#31#val"
                end
            construct = if (ModelingToolkit).isa(var"##MTKArg#275", (ModelingToolkit).ModelingToolkit.StaticArrays.StaticArray)
                    (ModelingToolkit).ModelingToolkit.StaticArrays.similar_type((ModelingToolkit).typeof(var"##MTKArg#275"), (ModelingToolkit).eltype(X))
                else
                    #= /home/scheme/.julia/dev/GeneralizedGenerated/src/closure_conv.jl:53 =#
                    let freevars = (var"##MTKArg#275",)
                        #= /home/scheme/.julia/dev/GeneralizedGenerated/src/closure_conv.jl:54 =#
                        (GeneralizedGenerated.Closure){function = (##MTKArg#275, x;) -> begin
    begin
        (ModelingToolkit).convert((ModelingToolkit).typeof(var"##MTKArg#275"), x)
    end
end, Base.typeof(freevars)}(freevars)
                    end
                end
            return construct(X)
        end
    end
end),:function},GeneralizedGenerated.NGG.RuntimeFn{TypeEncoding(list(##MTIIPVar#279, ##MTKArg#275, ##MTKArg#276, ##MTKArg#277)),TypeEncoding(nil(GeneralizedGenerated.NGG.Argument)),TypeEncoding(begin
    begin
        begin
            $(Expr(:inbounds, true))
            local var"#32#val" = begin
                        let (x, y, w, z, T, xˍt, yˍt, L, g, t) = (var"##MTKArg#275"[1], var"##MTKArg#275"[2], var"##MTKArg#275"[3], var"##MTKArg#275"[4], var"##MTKArg#275"[5], var"##MTKArg#275"[6], var"##MTKArg#275"[7], var"##MTKArg#276"[1], var"##MTKArg#276"[2], var"##MTKArg#277")
                            begin
                                var"##MTIIPVar#279"[1] = w
                                var"##MTIIPVar#279"[2] = z
                                var"##MTIIPVar#279"[3] = (ModelingToolkit).:*(T, x)
                                var"##MTIIPVar#279"[4] = (ModelingToolkit).:-((ModelingToolkit).:*(T, y), g)
                                var"##MTIIPVar#279"[5] = (ModelingToolkit).:-((ModelingToolkit).:+((ModelingToolkit).:^(x, 2), (ModelingToolkit).:^(y, 2)), (ModelingToolkit).:^(L, 2))
                                var"##MTIIPVar#279"[6] = (ModelingToolkit).:+((ModelingToolkit).:*((ModelingToolkit).:*(2, x), w), (ModelingToolkit).:*((ModelingToolkit).:*(2, y), z))
                                var"##MTIIPVar#279"[7] = (ModelingToolkit).wˍt(t)
                                var"##MTIIPVar#279"[8] = (ModelingToolkit).zˍt(t)
                                var"##MTIIPVar#279"[9] = (ModelingToolkit).:+((ModelingToolkit).:+((ModelingToolkit).:+((ModelingToolkit).:*((ModelingToolkit).:*(2, x), (ModelingToolkit).:*(T, x)), (ModelingToolkit).:*((ModelingToolkit).:*(2, w), w)), (ModelingToolkit).:*((ModelingToolkit).:*(2, y), (ModelingToolkit).:-((ModelingToolkit).:*(T, y), g))), (ModelingToolkit).:*((ModelingToolkit).:*(2, z), z))
                                var"##MTIIPVar#279"[10] = xˍt
                                var"##MTIIPVar#279"[11] = yˍt
                            end
                        end
                    end
            $(Expr(:inbounds, :((ModelingToolkit).pop)))
            var"#32#val"
        end
        (ModelingToolkit).nothing
    end
end),:function}},Array{Float64,2},Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Array{Symbol,1},Nothing},Base.Iterators.Pairs{Symbol,Array{Float64,2},Tuple{Symbol},NamedTuple{(:mass_matrix,),Tuple{Array{Float64,2}}}},DiffEqBase.StandardODEProblem}, ::Rosenbrock23{0,true,DefaultLinSolve,DataType}, ::Array{Array{Float64,1},1}, ::Array{Float64,1}, ::Array{Any,1}, ::Type{Val{true}}; saveat::Array{Float64,1}, tstops::Array{Float64,1}, d_discontinuities::Array{Float64,1}, save_idxs::Nothing, save_everystep::Bool, save_on::Bool, save_start::Bool, save_end::Bool, callback::Nothing, dense::Bool, calck::Bool, dt::Float64, dtmin::Nothing, dtmax::Float64, force_dtmin::Bool, adaptive::Bool, gamma::Rational{Int64}, abstol::Nothing, reltol::Nothing, qmin::Rational{Int64}, qmax::Int64, qsteady_min::Int64, qsteady_max::Rational{Int64}, qoldinit::Rational{Int64}, fullnormalize::Bool, failfactor::Int64, beta1::Nothing, beta2::Nothing, maxiters::Int64, internalnorm::typeof(DiffEqBase.ODE_DEFAULT_NORM), internalopnorm::typeof(LinearAlgebra.opnorm), isoutofdomain::typeof(DiffEqBase.ODE_DEFAULT_ISOUTOFDOMAIN), unstable_check::typeof(DiffEqBase.ODE_DEFAULT_UNSTABLE_CHECK), verbose::Bool, timeseries_errors::Bool, dense_errors::Bool, advance_to_tstop::Bool, stop_at_next_tstop::Bool, initialize_save::Bool, progress::Bool, progress_steps::Int64, progress_name::String, progress_message::typeof(DiffEqBase.ODE_DEFAULT_PROG_MESSAGE), userdata::Nothing, allow_extrapolation::Bool, initialize_integrator::Bool, alias_u0::Bool, alias_du0::Bool, initializealg::OrdinaryDiffEq.DefaultInit, kwargs::Base.Iterators.Pairs{Symbol,Array{Float64,2},Tuple{Symbol},NamedTuple{(:mass_matrix,),Tuple{Array{Float64,2}}}}) at /home/scheme/.julia/dev/OrdinaryDiffEq/src/solve.jl:382
 [10] __solve(::ODEProblem{Array{Float64,1},Tuple{Float64,Float64},true,Array{Float64,1},ODEFunction{true,ModelingToolkit.var"#f#84"{GeneralizedGenerated.NGG.RuntimeFn{TypeEncoding(list(##MTKArg#275, ##MTKArg#276, ##MTKArg#277)),TypeEncoding(nil(GeneralizedGenerated.NGG.Argument)),TypeEncoding(begin
    begin
        if (ModelingToolkit).isa(var"##MTKArg#275", (ModelingToolkit).Array) || (ModelingToolkit).:!((ModelingToolkit).typeof(var"##MTKArg#275") <: (ModelingToolkit).StaticArray) && false
            return begin
                    $(Expr(:inbounds, true))
                    local var"#30#val" = begin
                                let (x, y, w, z, T, xˍt, yˍt, L, g, t) = (var"##MTKArg#275"[1], var"##MTKArg#275"[2], var"##MTKArg#275"[3], var"##MTKArg#275"[4], var"##MTKArg#275"[5], var"##MTKArg#275"[6], var"##MTKArg#275"[7], var"##MTKArg#276"[1], var"##MTKArg#276"[2], var"##MTKArg#277")
                                    [w, z, (ModelingToolkit).:*(T, x), (ModelingToolkit).:-((ModelingToolkit).:*(T, y), g), (ModelingToolkit).:-((ModelingToolkit).:+((ModelingToolkit).:^(x, 2), (ModelingToolkit).:^(y, 2)), (ModelingToolkit).:^(L, 2)), (ModelingToolkit).:+((ModelingToolkit).:*((ModelingToolkit).:*(2, x), w), (ModelingToolkit).:*((ModelingToolkit).:*(2, y), z)), (ModelingToolkit).wˍt(t), (ModelingToolkit).zˍt(t), (ModelingToolkit).:+((ModelingToolkit).:+((ModelingToolkit).:+((ModelingToolkit).:*((ModelingToolkit).:*(2, x), (ModelingToolkit).:*(T, x)), (ModelingToolkit).:*((ModelingToolkit).:*(2, w), w)), (ModelingToolkit).:*((ModelingToolkit).:*(2, y), (ModelingToolkit).:-((ModelingToolkit).:*(T, y), g))), (ModelingToolkit).:*((ModelingToolkit).:*(2, z), z)), xˍt, yˍt]
                                end
                            end
                    $(Expr(:inbounds, :((ModelingToolkit).pop)))
                    var"#30#val"
                end
        else
            X = begin
                    $(Expr(:inbounds, true))
                    local var"#31#val" = begin
                                let (x, y, w, z, T, xˍt, yˍt, L, g, t) = (var"##MTKArg#275"[1], var"##MTKArg#275"[2], var"##MTKArg#275"[3], var"##MTKArg#275"[4], var"##MTKArg#275"[5], var"##MTKArg#275"[6], var"##MTKArg#275"[7], var"##MTKArg#276"[1], var"##MTKArg#276"[2], var"##MTKArg#277")
                                    (w, z, (ModelingToolkit).:*(T, x), (ModelingToolkit).:-((ModelingToolkit).:*(T, y), g), (ModelingToolkit).:-((ModelingToolkit).:+((ModelingToolkit).:^(x, 2), (ModelingToolkit).:^(y, 2)), (ModelingToolkit).:^(L, 2)), (ModelingToolkit).:+((ModelingToolkit).:*((ModelingToolkit).:*(2, x), w), (ModelingToolkit).:*((ModelingToolkit).:*(2, y), z)), (ModelingToolkit).wˍt(t), (ModelingToolkit).zˍt(t), (ModelingToolkit).:+((ModelingToolkit).:+((ModelingToolkit).:+((ModelingToolkit).:*((ModelingToolkit).:*(2, x), (ModelingToolkit).:*(T, x)), (ModelingToolkit).:*((ModelingToolkit).:*(2, w), w)), (ModelingToolkit).:*((ModelingToolkit).:*(2, y), (ModelingToolkit).:-((ModelingToolkit).:*(T, y), g))), (ModelingToolkit).:*((ModelingToolkit).:*(2, z), z)), xˍt, yˍt)
                                end
                            end
                    $(Expr(:inbounds, :((ModelingToolkit).pop)))
                    var"#31#val"
                end
            construct = if (ModelingToolkit).isa(var"##MTKArg#275", (ModelingToolkit).ModelingToolkit.StaticArrays.StaticArray)
                    (ModelingToolkit).ModelingToolkit.StaticArrays.similar_type((ModelingToolkit).typeof(var"##MTKArg#275"), (ModelingToolkit).eltype(X))
                else
                    #= /home/scheme/.julia/dev/GeneralizedGenerated/src/closure_conv.jl:53 =#
                    let freevars = (var"##MTKArg#275",)
                        #= /home/scheme/.julia/dev/GeneralizedGenerated/src/closure_conv.jl:54 =#
                        (GeneralizedGenerated.Closure){function = (##MTKArg#275, x;) -> begin
    begin
        (ModelingToolkit).convert((ModelingToolkit).typeof(var"##MTKArg#275"), x)
    end
end, Base.typeof(freevars)}(freevars)
                    end
                end
            return construct(X)
        end
    end
end),:function},GeneralizedGenerated.NGG.RuntimeFn{TypeEncoding(list(##MTIIPVar#279, ##MTKArg#275, ##MTKArg#276, ##MTKArg#277)),TypeEncoding(nil(GeneralizedGenerated.NGG.Argument)),TypeEncoding(begin
    begin
        begin
            $(Expr(:inbounds, true))
            local var"#32#val" = begin
                        let (x, y, w, z, T, xˍt, yˍt, L, g, t) = (var"##MTKArg#275"[1], var"##MTKArg#275"[2], var"##MTKArg#275"[3], var"##MTKArg#275"[4], var"##MTKArg#275"[5], var"##MTKArg#275"[6], var"##MTKArg#275"[7], var"##MTKArg#276"[1], var"##MTKArg#276"[2], var"##MTKArg#277")
                            begin
                                var"##MTIIPVar#279"[1] = w
                                var"##MTIIPVar#279"[2] = z
                                var"##MTIIPVar#279"[3] = (ModelingToolkit).:*(T, x)
                                var"##MTIIPVar#279"[4] = (ModelingToolkit).:-((ModelingToolkit).:*(T, y), g)
                                var"##MTIIPVar#279"[5] = (ModelingToolkit).:-((ModelingToolkit).:+((ModelingToolkit).:^(x, 2), (ModelingToolkit).:^(y, 2)), (ModelingToolkit).:^(L, 2))
                                var"##MTIIPVar#279"[6] = (ModelingToolkit).:+((ModelingToolkit).:*((ModelingToolkit).:*(2, x), w), (ModelingToolkit).:*((ModelingToolkit).:*(2, y), z))
                                var"##MTIIPVar#279"[7] = (ModelingToolkit).wˍt(t)
                                var"##MTIIPVar#279"[8] = (ModelingToolkit).zˍt(t)
                                var"##MTIIPVar#279"[9] = (ModelingToolkit).:+((ModelingToolkit).:+((ModelingToolkit).:+((ModelingToolkit).:*((ModelingToolkit).:*(2, x), (ModelingToolkit).:*(T, x)), (ModelingToolkit).:*((ModelingToolkit).:*(2, w), w)), (ModelingToolkit).:*((ModelingToolkit).:*(2, y), (ModelingToolkit).:-((ModelingToolkit).:*(T, y), g))), (ModelingToolkit).:*((ModelingToolkit).:*(2, z), z))
                                var"##MTIIPVar#279"[10] = xˍt
                                var"##MTIIPVar#279"[11] = yˍt
                            end
                        end
                    end
            $(Expr(:inbounds, :((ModelingToolkit).pop)))
            var"#32#val"
        end
        (ModelingToolkit).nothing
    end
end),:function}},Array{Float64,2},Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Array{Symbol,1},Nothing},Base.Iterators.Pairs{Symbol,Array{Float64,2},Tuple{Symbol},NamedTuple{(:mass_matrix,),Tuple{Array{Float64,2}}}},DiffEqBase.StandardODEProblem}, ::Rosenbrock23{0,true,DefaultLinSolve,DataType}; kwargs::Base.Iterators.Pairs{Symbol,Array{Float64,2},Tuple{Symbol},NamedTuple{(:mass_matrix,),Tuple{Array{Float64,2}}}}) at /home/scheme/.julia/dev/OrdinaryDiffEq/src/solve.jl:4
 [11] (::DiffEqBase.var"#466#467"{ODEProblem{Array{Float64,1},Tuple{Float64,Float64},true,Array{Float64,1},ODEFunction{true,ModelingToolkit.var"#f#84"{GeneralizedGenerated.NGG.RuntimeFn{TypeEncoding(list(##MTKArg#275, ##MTKArg#276, ##MTKArg#277)),TypeEncoding(nil(GeneralizedGenerated.NGG.Argument)),TypeEncoding(begin
    begin
        if (ModelingToolkit).isa(var"##MTKArg#275", (ModelingToolkit).Array) || (ModelingToolkit).:!((ModelingToolkit).typeof(var"##MTKArg#275") <: (ModelingToolkit).StaticArray) && false
            return begin
                    $(Expr(:inbounds, true))
                    local var"#30#val" = begin
                                let (x, y, w, z, T, xˍt, yˍt, L, g, t) = (var"##MTKArg#275"[1], var"##MTKArg#275"[2], var"##MTKArg#275"[3], var"##MTKArg#275"[4], var"##MTKArg#275"[5], var"##MTKArg#275"[6], var"##MTKArg#275"[7], var"##MTKArg#276"[1], var"##MTKArg#276"[2], var"##MTKArg#277")
                                    [w, z, (ModelingToolkit).:*(T, x), (ModelingToolkit).:-((ModelingToolkit).:*(T, y), g), (ModelingToolkit).:-((ModelingToolkit).:+((ModelingToolkit).:^(x, 2), (ModelingToolkit).:^(y, 2)), (ModelingToolkit).:^(L, 2)), (ModelingToolkit).:+((ModelingToolkit).:*((ModelingToolkit).:*(2, x), w), (ModelingToolkit).:*((ModelingToolkit).:*(2, y), z)), (ModelingToolkit).wˍt(t), (ModelingToolkit).zˍt(t), (ModelingToolkit).:+((ModelingToolkit).:+((ModelingToolkit).:+((ModelingToolkit).:*((ModelingToolkit).:*(2, x), (ModelingToolkit).:*(T, x)), (ModelingToolkit).:*((ModelingToolkit).:*(2, w), w)), (ModelingToolkit).:*((ModelingToolkit).:*(2, y), (ModelingToolkit).:-((ModelingToolkit).:*(T, y), g))), (ModelingToolkit).:*((ModelingToolkit).:*(2, z), z)), xˍt, yˍt]
                                end
                            end
                    $(Expr(:inbounds, :((ModelingToolkit).pop)))
                    var"#30#val"
                end
        else
            X = begin
                    $(Expr(:inbounds, true))
                    local var"#31#val" = begin
                                let (x, y, w, z, T, xˍt, yˍt, L, g, t) = (var"##MTKArg#275"[1], var"##MTKArg#275"[2], var"##MTKArg#275"[3], var"##MTKArg#275"[4], var"##MTKArg#275"[5], var"##MTKArg#275"[6], var"##MTKArg#275"[7], var"##MTKArg#276"[1], var"##MTKArg#276"[2], var"##MTKArg#277")
                                    (w, z, (ModelingToolkit).:*(T, x), (ModelingToolkit).:-((ModelingToolkit).:*(T, y), g), (ModelingToolkit).:-((ModelingToolkit).:+((ModelingToolkit).:^(x, 2), (ModelingToolkit).:^(y, 2)), (ModelingToolkit).:^(L, 2)), (ModelingToolkit).:+((ModelingToolkit).:*((ModelingToolkit).:*(2, x), w), (ModelingToolkit).:*((ModelingToolkit).:*(2, y), z)), (ModelingToolkit).wˍt(t), (ModelingToolkit).zˍt(t), (ModelingToolkit).:+((ModelingToolkit).:+((ModelingToolkit).:+((ModelingToolkit).:*((ModelingToolkit).:*(2, x), (ModelingToolkit).:*(T, x)), (ModelingToolkit).:*((ModelingToolkit).:*(2, w), w)), (ModelingToolkit).:*((ModelingToolkit).:*(2, y), (ModelingToolkit).:-((ModelingToolkit).:*(T, y), g))), (ModelingToolkit).:*((ModelingToolkit).:*(2, z), z)), xˍt, yˍt)
                                end
                            end
                    $(Expr(:inbounds, :((ModelingToolkit).pop)))
                    var"#31#val"
                end
            construct = if (ModelingToolkit).isa(var"##MTKArg#275", (ModelingToolkit).ModelingToolkit.StaticArrays.StaticArray)
                    (ModelingToolkit).ModelingToolkit.StaticArrays.similar_type((ModelingToolkit).typeof(var"##MTKArg#275"), (ModelingToolkit).eltype(X))
                else
                    #= /home/scheme/.julia/dev/GeneralizedGenerated/src/closure_conv.jl:53 =#
                    let freevars = (var"##MTKArg#275",)
                        #= /home/scheme/.julia/dev/GeneralizedGenerated/src/closure_conv.jl:54 =#
                        (GeneralizedGenerated.Closure){function = (##MTKArg#275, x;) -> begin
    begin
        (ModelingToolkit).convert((ModelingToolkit).typeof(var"##MTKArg#275"), x)
    end
end, Base.typeof(freevars)}(freevars)
                    end
                end
            return construct(X)
        end
    end
end),:function},GeneralizedGenerated.NGG.RuntimeFn{TypeEncoding(list(##MTIIPVar#279, ##MTKArg#275, ##MTKArg#276, ##MTKArg#277)),TypeEncoding(nil(GeneralizedGenerated.NGG.Argument)),TypeEncoding(begin
    begin
        begin
            $(Expr(:inbounds, true))
            local var"#32#val" = begin
                        let (x, y, w, z, T, xˍt, yˍt, L, g, t) = (var"##MTKArg#275"[1], var"##MTKArg#275"[2], var"##MTKArg#275"[3], var"##MTKArg#275"[4], var"##MTKArg#275"[5], var"##MTKArg#275"[6], var"##MTKArg#275"[7], var"##MTKArg#276"[1], var"##MTKArg#276"[2], var"##MTKArg#277")
                            begin
                                var"##MTIIPVar#279"[1] = w
                                var"##MTIIPVar#279"[2] = z
                                var"##MTIIPVar#279"[3] = (ModelingToolkit).:*(T, x)
                                var"##MTIIPVar#279"[4] = (ModelingToolkit).:-((ModelingToolkit).:*(T, y), g)
                                var"##MTIIPVar#279"[5] = (ModelingToolkit).:-((ModelingToolkit).:+((ModelingToolkit).:^(x, 2), (ModelingToolkit).:^(y, 2)), (ModelingToolkit).:^(L, 2))
                                var"##MTIIPVar#279"[6] = (ModelingToolkit).:+((ModelingToolkit).:*((ModelingToolkit).:*(2, x), w), (ModelingToolkit).:*((ModelingToolkit).:*(2, y), z))
                                var"##MTIIPVar#279"[7] = (ModelingToolkit).wˍt(t)
                                var"##MTIIPVar#279"[8] = (ModelingToolkit).zˍt(t)
                                var"##MTIIPVar#279"[9] = (ModelingToolkit).:+((ModelingToolkit).:+((ModelingToolkit).:+((ModelingToolkit).:*((ModelingToolkit).:*(2, x), (ModelingToolkit).:*(T, x)), (ModelingToolkit).:*((ModelingToolkit).:*(2, w), w)), (ModelingToolkit).:*((ModelingToolkit).:*(2, y), (ModelingToolkit).:-((ModelingToolkit).:*(T, y), g))), (ModelingToolkit).:*((ModelingToolkit).:*(2, z), z))
                                var"##MTIIPVar#279"[10] = xˍt
                                var"##MTIIPVar#279"[11] = yˍt
                            end
                        end
                    end
            $(Expr(:inbounds, :((ModelingToolkit).pop)))
            var"#32#val"
        end
        (ModelingToolkit).nothing
    end
end),:function}},Array{Float64,2},Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Array{Symbol,1},Nothing},Base.Iterators.Pairs{Symbol,Array{Float64,2},Tuple{Symbol},NamedTuple{(:mass_matrix,),Tuple{Array{Float64,2}}}},DiffEqBase.StandardODEProblem},Tuple{Rosenbrock23{0,true,DefaultLinSolve,DataType}}})() at /home/scheme/.julia/dev/DiffEqBase/src/solve.jl:49
 [12] maybe_with_logger at /home/scheme/.julia/dev/DiffEqBase/src/utils.jl:259 [inlined]
 [13] solve_call(::ODEProblem{Array{Float64,1},Tuple{Float64,Float64},true,Array{Float64,1},ODEFunction{true,ModelingToolkit.var"#f#84"{GeneralizedGenerated.NGG.RuntimeFn{TypeEncoding(list(##MTKArg#275, ##MTKArg#276, ##MTKArg#277)),TypeEncoding(nil(GeneralizedGenerated.NGG.Argument)),TypeEncoding(begin
    begin
        if (ModelingToolkit).isa(var"##MTKArg#275", (ModelingToolkit).Array) || (ModelingToolkit).:!((ModelingToolkit).typeof(var"##MTKArg#275") <: (ModelingToolkit).StaticArray) && false
            return begin
                    $(Expr(:inbounds, true))
                    local var"#30#val" = begin
                                let (x, y, w, z, T, xˍt, yˍt, L, g, t) = (var"##MTKArg#275"[1], var"##MTKArg#275"[2], var"##MTKArg#275"[3], var"##MTKArg#275"[4], var"##MTKArg#275"[5], var"##MTKArg#275"[6], var"##MTKArg#275"[7], var"##MTKArg#276"[1], var"##MTKArg#276"[2], var"##MTKArg#277")
                                    [w, z, (ModelingToolkit).:*(T, x), (ModelingToolkit).:-((ModelingToolkit).:*(T, y), g), (ModelingToolkit).:-((ModelingToolkit).:+((ModelingToolkit).:^(x, 2), (ModelingToolkit).:^(y, 2)), (ModelingToolkit).:^(L, 2)), (ModelingToolkit).:+((ModelingToolkit).:*((ModelingToolkit).:*(2, x), w), (ModelingToolkit).:*((ModelingToolkit).:*(2, y), z)), (ModelingToolkit).wˍt(t), (ModelingToolkit).zˍt(t), (ModelingToolkit).:+((ModelingToolkit).:+((ModelingToolkit).:+((ModelingToolkit).:*((ModelingToolkit).:*(2, x), (ModelingToolkit).:*(T, x)), (ModelingToolkit).:*((ModelingToolkit).:*(2, w), w)), (ModelingToolkit).:*((ModelingToolkit).:*(2, y), (ModelingToolkit).:-((ModelingToolkit).:*(T, y), g))), (ModelingToolkit).:*((ModelingToolkit).:*(2, z), z)), xˍt, yˍt]
                                end
                            end
                    $(Expr(:inbounds, :((ModelingToolkit).pop)))
                    var"#30#val"
                end
        else
            X = begin
                    $(Expr(:inbounds, true))
                    local var"#31#val" = begin
                                let (x, y, w, z, T, xˍt, yˍt, L, g, t) = (var"##MTKArg#275"[1], var"##MTKArg#275"[2], var"##MTKArg#275"[3], var"##MTKArg#275"[4], var"##MTKArg#275"[5], var"##MTKArg#275"[6], var"##MTKArg#275"[7], var"##MTKArg#276"[1], var"##MTKArg#276"[2], var"##MTKArg#277")
                                    (w, z, (ModelingToolkit).:*(T, x), (ModelingToolkit).:-((ModelingToolkit).:*(T, y), g), (ModelingToolkit).:-((ModelingToolkit).:+((ModelingToolkit).:^(x, 2), (ModelingToolkit).:^(y, 2)), (ModelingToolkit).:^(L, 2)), (ModelingToolkit).:+((ModelingToolkit).:*((ModelingToolkit).:*(2, x), w), (ModelingToolkit).:*((ModelingToolkit).:*(2, y), z)), (ModelingToolkit).wˍt(t), (ModelingToolkit).zˍt(t), (ModelingToolkit).:+((ModelingToolkit).:+((ModelingToolkit).:+((ModelingToolkit).:*((ModelingToolkit).:*(2, x), (ModelingToolkit).:*(T, x)), (ModelingToolkit).:*((ModelingToolkit).:*(2, w), w)), (ModelingToolkit).:*((ModelingToolkit).:*(2, y), (ModelingToolkit).:-((ModelingToolkit).:*(T, y), g))), (ModelingToolkit).:*((ModelingToolkit).:*(2, z), z)), xˍt, yˍt)
                                end
                            end
                    $(Expr(:inbounds, :((ModelingToolkit).pop)))
                    var"#31#val"
                end
            construct = if (ModelingToolkit).isa(var"##MTKArg#275", (ModelingToolkit).ModelingToolkit.StaticArrays.StaticArray)
                    (ModelingToolkit).ModelingToolkit.StaticArrays.similar_type((ModelingToolkit).typeof(var"##MTKArg#275"), (ModelingToolkit).eltype(X))
                else
                    #= /home/scheme/.julia/dev/GeneralizedGenerated/src/closure_conv.jl:53 =#
                    let freevars = (var"##MTKArg#275",)
                        #= /home/scheme/.julia/dev/GeneralizedGenerated/src/closure_conv.jl:54 =#
                        (GeneralizedGenerated.Closure){function = (##MTKArg#275, x;) -> begin
    begin
        (ModelingToolkit).convert((ModelingToolkit).typeof(var"##MTKArg#275"), x)
    end
end, Base.typeof(freevars)}(freevars)
                    end
                end
            return construct(X)
        end
    end
end),:function},GeneralizedGenerated.NGG.RuntimeFn{TypeEncoding(list(##MTIIPVar#279, ##MTKArg#275, ##MTKArg#276, ##MTKArg#277)),TypeEncoding(nil(GeneralizedGenerated.NGG.Argument)),TypeEncoding(begin
    begin
        begin
            $(Expr(:inbounds, true))
            local var"#32#val" = begin
                        let (x, y, w, z, T, xˍt, yˍt, L, g, t) = (var"##MTKArg#275"[1], var"##MTKArg#275"[2], var"##MTKArg#275"[3], var"##MTKArg#275"[4], var"##MTKArg#275"[5], var"##MTKArg#275"[6], var"##MTKArg#275"[7], var"##MTKArg#276"[1], var"##MTKArg#276"[2], var"##MTKArg#277")
                            begin
                                var"##MTIIPVar#279"[1] = w
                                var"##MTIIPVar#279"[2] = z
                                var"##MTIIPVar#279"[3] = (ModelingToolkit).:*(T, x)
                                var"##MTIIPVar#279"[4] = (ModelingToolkit).:-((ModelingToolkit).:*(T, y), g)
                                var"##MTIIPVar#279"[5] = (ModelingToolkit).:-((ModelingToolkit).:+((ModelingToolkit).:^(x, 2), (ModelingToolkit).:^(y, 2)), (ModelingToolkit).:^(L, 2))
                                var"##MTIIPVar#279"[6] = (ModelingToolkit).:+((ModelingToolkit).:*((ModelingToolkit).:*(2, x), w), (ModelingToolkit).:*((ModelingToolkit).:*(2, y), z))
                                var"##MTIIPVar#279"[7] = (ModelingToolkit).wˍt(t)
                                var"##MTIIPVar#279"[8] = (ModelingToolkit).zˍt(t)
                                var"##MTIIPVar#279"[9] = (ModelingToolkit).:+((ModelingToolkit).:+((ModelingToolkit).:+((ModelingToolkit).:*((ModelingToolkit).:*(2, x), (ModelingToolkit).:*(T, x)), (ModelingToolkit).:*((ModelingToolkit).:*(2, w), w)), (ModelingToolkit).:*((ModelingToolkit).:*(2, y), (ModelingToolkit).:-((ModelingToolkit).:*(T, y), g))), (ModelingToolkit).:*((ModelingToolkit).:*(2, z), z))
                                var"##MTIIPVar#279"[10] = xˍt
                                var"##MTIIPVar#279"[11] = yˍt
                            end
                        end
                    end
            $(Expr(:inbounds, :((ModelingToolkit).pop)))
            var"#32#val"
        end
        (ModelingToolkit).nothing
    end
end),:function}},Array{Float64,2},Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Array{Symbol,1},Nothing},Base.Iterators.Pairs{Symbol,Array{Float64,2},Tuple{Symbol},NamedTuple{(:mass_matrix,),Tuple{Array{Float64,2}}}},DiffEqBase.StandardODEProblem}, ::Rosenbrock23{0,true,DefaultLinSolve,DataType}; merge_callbacks::Bool, kwargs::Base.Iterators.Pairs{Union{},Union{},Tuple{},NamedTuple{(),Tuple{}}}) at /home/scheme/.julia/dev/DiffEqBase/src/solve.jl:48
 [14] solve_call at /home/scheme/.julia/dev/DiffEqBase/src/solve.jl:37 [inlined]
 [15] #solve#468 at /home/scheme/.julia/dev/DiffEqBase/src/solve.jl:66 [inlined]
 [16] solve(::ODEProblem{Array{Float64,1},Tuple{Float64,Float64},true,Array{Float64,1},ODEFunction{true,ModelingToolkit.var"#f#84"{GeneralizedGenerated.NGG.RuntimeFn{TypeEncoding(list(##MTKArg#275, ##MTKArg#276, ##MTKArg#277)),TypeEncoding(nil(GeneralizedGenerated.NGG.Argument)),TypeEncoding(begin
    begin
        if (ModelingToolkit).isa(var"##MTKArg#275", (ModelingToolkit).Array) || (ModelingToolkit).:!((ModelingToolkit).typeof(var"##MTKArg#275") <: (ModelingToolkit).StaticArray) && false
            return begin
                    $(Expr(:inbounds, true))
                    local var"#30#val" = begin
                                let (x, y, w, z, T, xˍt, yˍt, L, g, t) = (var"##MTKArg#275"[1], var"##MTKArg#275"[2], var"##MTKArg#275"[3], var"##MTKArg#275"[4], var"##MTKArg#275"[5], var"##MTKArg#275"[6], var"##MTKArg#275"[7], var"##MTKArg#276"[1], var"##MTKArg#276"[2], var"##MTKArg#277")
                                    [w, z, (ModelingToolkit).:*(T, x), (ModelingToolkit).:-((ModelingToolkit).:*(T, y), g), (ModelingToolkit).:-((ModelingToolkit).:+((ModelingToolkit).:^(x, 2), (ModelingToolkit).:^(y, 2)), (ModelingToolkit).:^(L, 2)), (ModelingToolkit).:+((ModelingToolkit).:*((ModelingToolkit).:*(2, x), w), (ModelingToolkit).:*((ModelingToolkit).:*(2, y), z)), (ModelingToolkit).wˍt(t), (ModelingToolkit).zˍt(t), (ModelingToolkit).:+((ModelingToolkit).:+((ModelingToolkit).:+((ModelingToolkit).:*((ModelingToolkit).:*(2, x), (ModelingToolkit).:*(T, x)), (ModelingToolkit).:*((ModelingToolkit).:*(2, w), w)), (ModelingToolkit).:*((ModelingToolkit).:*(2, y), (ModelingToolkit).:-((ModelingToolkit).:*(T, y), g))), (ModelingToolkit).:*((ModelingToolkit).:*(2, z), z)), xˍt, yˍt]
                                end
                            end
                    $(Expr(:inbounds, :((ModelingToolkit).pop)))
                    var"#30#val"
                end
        else
            X = begin
                    $(Expr(:inbounds, true))
                    local var"#31#val" = begin
                                let (x, y, w, z, T, xˍt, yˍt, L, g, t) = (var"##MTKArg#275"[1], var"##MTKArg#275"[2], var"##MTKArg#275"[3], var"##MTKArg#275"[4], var"##MTKArg#275"[5], var"##MTKArg#275"[6], var"##MTKArg#275"[7], var"##MTKArg#276"[1], var"##MTKArg#276"[2], var"##MTKArg#277")
                                    (w, z, (ModelingToolkit).:*(T, x), (ModelingToolkit).:-((ModelingToolkit).:*(T, y), g), (ModelingToolkit).:-((ModelingToolkit).:+((ModelingToolkit).:^(x, 2), (ModelingToolkit).:^(y, 2)), (ModelingToolkit).:^(L, 2)), (ModelingToolkit).:+((ModelingToolkit).:*((ModelingToolkit).:*(2, x), w), (ModelingToolkit).:*((ModelingToolkit).:*(2, y), z)), (ModelingToolkit).wˍt(t), (ModelingToolkit).zˍt(t), (ModelingToolkit).:+((ModelingToolkit).:+((ModelingToolkit).:+((ModelingToolkit).:*((ModelingToolkit).:*(2, x), (ModelingToolkit).:*(T, x)), (ModelingToolkit).:*((ModelingToolkit).:*(2, w), w)), (ModelingToolkit).:*((ModelingToolkit).:*(2, y), (ModelingToolkit).:-((ModelingToolkit).:*(T, y), g))), (ModelingToolkit).:*((ModelingToolkit).:*(2, z), z)), xˍt, yˍt)
                                end
                            end
                    $(Expr(:inbounds, :((ModelingToolkit).pop)))
                    var"#31#val"
                end
            construct = if (ModelingToolkit).isa(var"##MTKArg#275", (ModelingToolkit).ModelingToolkit.StaticArrays.StaticArray)
                    (ModelingToolkit).ModelingToolkit.StaticArrays.similar_type((ModelingToolkit).typeof(var"##MTKArg#275"), (ModelingToolkit).eltype(X))
                else
                    #= /home/scheme/.julia/dev/GeneralizedGenerated/src/closure_conv.jl:53 =#
                    let freevars = (var"##MTKArg#275",)
                        #= /home/scheme/.julia/dev/GeneralizedGenerated/src/closure_conv.jl:54 =#
                        (GeneralizedGenerated.Closure){function = (##MTKArg#275, x;) -> begin
    begin
        (ModelingToolkit).convert((ModelingToolkit).typeof(var"##MTKArg#275"), x)
    end
end, Base.typeof(freevars)}(freevars)
                    end
                end
            return construct(X)
        end
    end
end),:function},GeneralizedGenerated.NGG.RuntimeFn{TypeEncoding(list(##MTIIPVar#279, ##MTKArg#275, ##MTKArg#276, ##MTKArg#277)),TypeEncoding(nil(GeneralizedGenerated.NGG.Argument)),TypeEncoding(begin
    begin
        begin
            $(Expr(:inbounds, true))
            local var"#32#val" = begin
                        let (x, y, w, z, T, xˍt, yˍt, L, g, t) = (var"##MTKArg#275"[1], var"##MTKArg#275"[2], var"##MTKArg#275"[3], var"##MTKArg#275"[4], var"##MTKArg#275"[5], var"##MTKArg#275"[6], var"##MTKArg#275"[7], var"##MTKArg#276"[1], var"##MTKArg#276"[2], var"##MTKArg#277")
                            begin
                                var"##MTIIPVar#279"[1] = w
                                var"##MTIIPVar#279"[2] = z
                                var"##MTIIPVar#279"[3] = (ModelingToolkit).:*(T, x)
                                var"##MTIIPVar#279"[4] = (ModelingToolkit).:-((ModelingToolkit).:*(T, y), g)
                                var"##MTIIPVar#279"[5] = (ModelingToolkit).:-((ModelingToolkit).:+((ModelingToolkit).:^(x, 2), (ModelingToolkit).:^(y, 2)), (ModelingToolkit).:^(L, 2))
                                var"##MTIIPVar#279"[6] = (ModelingToolkit).:+((ModelingToolkit).:*((ModelingToolkit).:*(2, x), w), (ModelingToolkit).:*((ModelingToolkit).:*(2, y), z))
                                var"##MTIIPVar#279"[7] = (ModelingToolkit).wˍt(t)
                                var"##MTIIPVar#279"[8] = (ModelingToolkit).zˍt(t)
                                var"##MTIIPVar#279"[9] = (ModelingToolkit).:+((ModelingToolkit).:+((ModelingToolkit).:+((ModelingToolkit).:*((ModelingToolkit).:*(2, x), (ModelingToolkit).:*(T, x)), (ModelingToolkit).:*((ModelingToolkit).:*(2, w), w)), (ModelingToolkit).:*((ModelingToolkit).:*(2, y), (ModelingToolkit).:-((ModelingToolkit).:*(T, y), g))), (ModelingToolkit).:*((ModelingToolkit).:*(2, z), z))
                                var"##MTIIPVar#279"[10] = xˍt
                                var"##MTIIPVar#279"[11] = yˍt
                            end
                        end
                    end
            $(Expr(:inbounds, :((ModelingToolkit).pop)))
            var"#32#val"
        end
        (ModelingToolkit).nothing
    end
end),:function}},Array{Float64,2},Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Array{Symbol,1},Nothing},Base.Iterators.Pairs{Symbol,Array{Float64,2},Tuple{Symbol},NamedTuple{(:mass_matrix,),Tuple{Array{Float64,2}}}},DiffEqBase.StandardODEProblem}, ::Rosenbrock23{0,true,DefaultLinSolve,DataType}) at /home/scheme/.julia/dev/DiffEqBase/src/solve.jl:54
 [17] top-level scope at REPL[10]:1
 [18] eval(::Module, ::Any) at ./boot.jl:331
 [19] eval_user_input(::Any, ::REPL.REPLBackend) at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.4/REPL/src/REPL.jl:86
 [20] run_backend(::REPL.REPLBackend) at /home/scheme/.julia/packages/Revise/Pcs5V/src/Revise.jl:1073
 [21] top-level scope at none:0
thautwarm commented 4 years ago

... I'll refine the way to identify a function generated by GG, instead of its code. Looking forward to get your suggestions...