Package evaluation to test Arborist on Julia 1.14.0-DEV.2373 (cf67ecc88f*) started at 2026-06-13T10:39:44.451 ################################################################################ # Set-up # Installing PkgEval dependencies (TestEnv)... Activating project at `~/.julia/environments/v1.14` Set-up completed after 11.73s ################################################################################ # Installation # Installing Arborist... Resolving package versions... Installed Reexport ─────────── v1.2.2 Installed CommonSolve ──────── v0.2.7 Installed Interfaces ───────── v0.3.2 Installed DispatchDoctor ───── v0.4.28 Installed Compat ───────────── v4.18.1 Installed MacroTools ───────── v0.5.16 Installed Preferences ──────── v1.5.2 Installed DynamicExpressions ─ v2.5.2 Installed ChainRulesCore ───── v1.26.1 Installed PrecompileTools ──── v1.3.4 Installed Arborist ─────────── v0.1.2 Updating `~/.julia/environments/v1.14/Project.toml` [226a4f77] + Arborist v0.1.2 Updating `~/.julia/environments/v1.14/Manifest.toml` [226a4f77] + Arborist v0.1.2 [d360d2e6] + ChainRulesCore v1.26.1 [38540f10] + CommonSolve v0.2.7 [34da2185] + Compat v4.18.1 [8d63f2c5] + DispatchDoctor v0.4.28 [a40a106e] + DynamicExpressions v2.5.2 [85a1e053] + Interfaces v0.3.2 [1914dd2f] + MacroTools v0.5.16 [aea7be01] + PrecompileTools v1.3.4 [21216c6a] + Preferences v1.5.2 [189a3867] + Reexport v1.2.2 [0dad84c5] + ArgTools v1.2.0 [56f22d72] + Artifacts v1.11.0 [ade2ca70] + Dates v1.11.0 [8ba89e20] + Distributed v1.11.0 [f43a241f] + Downloads v1.7.0 [7b1f6079] + FileWatching v1.11.0 [b27032c2] + LibCURL v1.0.0 [8f399da3] + Libdl v1.11.0 [37e2e46d] + LinearAlgebra v1.14.0 [ca575930] + NetworkOptions v1.3.0 [de0858da] + Printf v1.11.0 [9a3f8284] + Random v1.11.0 [ea8e919c] + SHA v1.13.0 [9e88b42a] + Serialization v1.11.0 [6462fe0b] + Sockets v1.11.0 [fa267f1f] + TOML v1.0.3 [cf7118a7] + UUIDs v1.11.0 [4ec0a83e] + Unicode v1.11.0 [e66e0078] + CompilerSupportLibraries_jll v1.5.2+0 [deac9b47] + LibCURL_jll v8.20.0+1 [29816b5a] + LibSSH2_jll v1.11.101+0 [14a3606d] + MozillaCACerts_jll v2026.5.14 [4536629a] + OpenBLAS_jll v0.3.33+0 [458c3c95] + OpenSSL_jll v3.5.7+0 [83775a58] + Zlib_jll v1.3.2+0 [3161d3a3] + Zstd_jll v1.5.7+1 [8e850b90] + libblastrampoline_jll v5.15.0+0 [8e850ede] + nghttp2_jll v1.69.0+0 Installation completed after 4.73s ################################################################################ # Precompilation # Precompiling PkgEval dependencies... Precompiling project... 6.4 s ✓ TestEnv 1 dependency successfully precompiled in 7 seconds. 27 already precompiled. Precompiling package dependencies... Precompiling project... 3.9 s ✓ MacroTools 1.0 s ✓ Interfaces 0.6 s ✓ Reexport 0.6 s ✓ CommonSolve 2.5 s ✓ Preferences 1.4 s ✓ Compat 2.6 s ✓ PrecompileTools 5.4 s ✓ DispatchDoctor 0.7 s ✓ Compat → CompatLinearAlgebraExt 4.3 s ✓ RecipesBase 275.5 s ✓ ChainRulesCore 65.1 s ✓ DispatchDoctor → DispatchDoctorChainRulesCoreExt 445.8 s ✓ DynamicExpressions ┌ Info: JuliaLowering threw given input: │ code = │ :(#= /home/pkgeval/.julia/packages/Arborist/s0fGK/src/tree_genome.jl:900 =# Core.@doc " optimize_constants!(g::TreeGenome, e::TreeFitnessEvaluator; kwargs...) -> Float64\n\nApply BFGS with central finite-difference gradients to the constants of `g.tree`\nagainst `e`'s dataset. Mutates `g.tree` in place; returns the post-optimization\nMSE loss.\n\nReturns the pre-optimization loss unchanged if the tree has zero constants or\nif the initial evaluation produces `Inf` / `NaN`. Never makes the tree worse:\nif BFGS diverges or line search fails, constants are restored and the original\nloss is returned.\n\n# Keyword arguments\n- `max_iter::Int = 50`\n- `tol::Float64 = 1e-8`\n- `fd_step::Float64 = 1e-3`\n" function optimize_constants!(g::TreeGenome{T}, e::TreeFitnessEvaluator{T}; max_iter::Int = 50, tol::Float64 = 1.0e-8, fd_step::Float64 = 0.001) where T │ #= /home/pkgeval/.julia/packages/Arborist/s0fGK/src/tree_genome.jl:917 =# │ #= /home/pkgeval/.julia/packages/Arborist/s0fGK/src/tree_genome.jl:921 =# │ (constants, refs) = get_scalar_constants(g.tree) │ #= /home/pkgeval/.julia/packages/Arborist/s0fGK/src/tree_genome.jl:922 =# │ n = length(constants) │ #= /home/pkgeval/.julia/packages/Arborist/s0fGK/src/tree_genome.jl:923 =# │ initial_loss = _tree_mse(g.tree, e) │ #= /home/pkgeval/.julia/packages/Arborist/s0fGK/src/tree_genome.jl:924 =# │ n == 0 && return initial_loss │ #= /home/pkgeval/.julia/packages/Arborist/s0fGK/src/tree_genome.jl:925 =# │ isfinite(initial_loss) || return initial_loss │ #= /home/pkgeval/.julia/packages/Arborist/s0fGK/src/tree_genome.jl:927 =# │ initial_constants = copy(constants) │ #= /home/pkgeval/.julia/packages/Arborist/s0fGK/src/tree_genome.jl:928 =# │ h = T(fd_step) │ #= /home/pkgeval/.julia/packages/Arborist/s0fGK/src/tree_genome.jl:930 =# │ function f_and_grad(c::Vector{T}) │ #= /home/pkgeval/.julia/packages/Arborist/s0fGK/src/tree_genome.jl:930 =# │ #= /home/pkgeval/.julia/packages/Arborist/s0fGK/src/tree_genome.jl:931 =# │ set_scalar_constants!(g.tree, c, refs) │ #= /home/pkgeval/.julia/packages/Arborist/s0fGK/src/tree_genome.jl:932 =# │ loss = _tree_mse(g.tree, e) │ #= /home/pkgeval/.julia/packages/Arborist/s0fGK/src/tree_genome.jl:933 =# │ isfinite(loss) || return (Inf, fill(Inf, n)) │ #= /home/pkgeval/.julia/packages/Arborist/s0fGK/src/tree_genome.jl:934 =# │ grad = Vector{Float64}(undef, n) │ #= /home/pkgeval/.julia/packages/Arborist/s0fGK/src/tree_genome.jl:935 =# │ for i = 1:n │ #= /home/pkgeval/.julia/packages/Arborist/s0fGK/src/tree_genome.jl:936 =# │ orig = c[i] │ #= /home/pkgeval/.julia/packages/Arborist/s0fGK/src/tree_genome.jl:937 =# │ c[i] = orig + h │ #= /home/pkgeval/.julia/packages/Arborist/s0fGK/src/tree_genome.jl:938 =# │ set_scalar_constants!(g.tree, c, refs) │ #= /home/pkgeval/.julia/packages/Arborist/s0fGK/src/tree_genome.jl:939 =# │ loss_p = _tree_mse(g.tree, e) │ #= /home/pkgeval/.julia/packages/Arborist/s0fGK/src/tree_genome.jl:940 =# │ c[i] = orig - h │ #= /home/pkgeval/.julia/packages/Arborist/s0fGK/src/tree_genome.jl:941 =# │ set_scalar_constants!(g.tree, c, refs) │ #= /home/pkgeval/.julia/packages/Arborist/s0fGK/src/tree_genome.jl:942 =# │ loss_m = _tree_mse(g.tree, e) │ #= /home/pkgeval/.julia/packages/Arborist/s0fGK/src/tree_genome.jl:943 =# │ c[i] = orig │ #= /home/pkgeval/.julia/packages/Arborist/s0fGK/src/tree_genome.jl:944 =# │ grad[i] = if isfinite(loss_p) && isfinite(loss_m) │ (loss_p - loss_m) / (2.0 * Float64(h)) │ else │ 0.0 │ end │ #= /home/pkgeval/.julia/packages/Arborist/s0fGK/src/tree_genome.jl:946 =# │ end │ #= /home/pkgeval/.julia/packages/Arborist/s0fGK/src/tree_genome.jl:947 =# │ set_scalar_constants!(g.tree, c, refs) │ #= /home/pkgeval/.julia/packages/Arborist/s0fGK/src/tree_genome.jl:948 =# │ return (loss, grad) │ end │ #= /home/pkgeval/.julia/packages/Arborist/s0fGK/src/tree_genome.jl:951 =# │ (c_opt, loss_opt) = _bfgs_minimize(f_and_grad, constants; max_iter = max_iter, tol = tol) │ #= /home/pkgeval/.julia/packages/Arborist/s0fGK/src/tree_genome.jl:955 =# │ if isfinite(loss_opt) && loss_opt < initial_loss │ #= /home/pkgeval/.julia/packages/Arborist/s0fGK/src/tree_genome.jl:956 =# │ set_scalar_constants!(g.tree, c_opt, refs) │ #= /home/pkgeval/.julia/packages/Arborist/s0fGK/src/tree_genome.jl:957 =# │ return loss_opt │ else │ #= /home/pkgeval/.julia/packages/Arborist/s0fGK/src/tree_genome.jl:959 =# │ set_scalar_constants!(g.tree, initial_constants, refs) │ #= /home/pkgeval/.julia/packages/Arborist/s0fGK/src/tree_genome.jl:960 =# │ return initial_loss │ end │ end) │ st0 = │ SyntaxTree with attributes mod,kind,var_id,toplevel_pure,scope_type,macro_source,name_val,syntax_flags,meta,scope_layer,value,jl_source,is_toplevel_thunk,source,__macro_ctx__ │ [macrocall] │ │ @doc :: Identifier │ mod │ :(#= /home/pkgeval/.julia/packages/Arborist/s0fGK/src/tree_genome.jl:900 =#) :: Value │ │ " optimize_constants!(g::TreeGenome, e::TreeFitnessEvaluator; kwargs...) -> Float64\n\nApply BFGS with central finite-difference gradients to the constants of `g.tree`\nagainst `e`'s dataset. Mutates `g.tree` in place; returns the post-optimization\nMSE loss.\n\nReturns the pre-optimization loss unchanged if the tree has zero constants or\nif the initial evaluation produces `Inf` / `NaN`. Never makes the tree worse:\nif BFGS diverges or line search fails, constants are restored and the original\nloss is returned.\n\n# Keyword arguments\n- `max_iter::Int = 50`\n- `tol::Float64 = 1e-8`\n- `fd_step::Float64 = 1e-3`\n" :: Value │ │ [function] │ │ [where] │ │ [call] │ │ optimize_constants! :: Identifier │ │ [parameters] │ │ [kw] │ │ [::] │ │ max_iter :: Identifier │ │ Int :: Identifier │ │ 50 :: Value │ │ [kw] │ │ [::] │ │ tol :: Identifier │ │ Float64 :: Identifier │ │ 1.0e-8 :: Value │ │ [kw] │ │ [::] │ │ fd_step :: Identifier │ │ Float64 :: Identifier │ │ 0.001 :: Value │ │ [::] │ │ g :: Identifier │ │ [curly] │ │ TreeGenome :: Identifier │ │ T :: Identifier │ │ [::] │ │ e :: Identifier │ │ [curly] │ │ TreeFitnessEvaluator :: Identifier │ │ T :: Identifier │ │ T :: Identifier │ │ [block] │ │ [=] │ │ [tuple] │ │ constants :: Identifier │ │ refs :: Identifier │ │ [call] │ │ get_scalar_constants :: Identifier │ │ [.] │ │ g :: Identifier │ │ [inert] │ │ tree :: Identifier │ │ [=] │ │ n :: Identifier │ │ [call] │ │ length :: Identifier │ │ constants :: Identifier │ │ [=] │ │ initial_loss :: Identifier │ │ [call] │ │ _tree_mse :: Identifier │ │ [.] │ │ g :: Identifier │ │ [inert] │ │ tree :: Identifier │ │ e :: Identifier │ │ [&&] │ │ [call] │ │ == :: Identifier │ │ n :: Identifier │ │ 0 :: Value │ │ [return] │ │ initial_loss :: Identifier │ │ [||] │ │ [call] │ │ isfinite :: Identifier │ │ initial_loss :: Identifier │ │ [return] │ │ initial_loss :: Identifier │ │ [=] │ │ initial_constants :: Identifier │ │ [call] │ │ copy :: Identifier │ │ constants :: Identifier │ │ [=] │ │ h :: Identifier │ │ [call] │ │ T :: Identifier │ │ fd_step :: Identifier │ │ [function] │ │ [call] │ │ f_and_grad :: Identifier │ │ [::] │ │ c :: Identifier │ │ [curly] │ │ Vector :: Identifier │ │ T :: Identifier │ │ [block] │ │ [call] │ │ set_scalar_constants! :: Identifier │ │ [.] │ │ g :: Identifier │ │ [inert] │ │ tree :: Identifier │ │ c :: Identifier │ │ refs :: Identifier │ │ [=] │ │ loss :: Identifier │ │ [call] │ │ _tree_mse :: Identifier │ │ [.] │ │ g :: Identifier │ │ [inert] │ │ tree :: Identifier │ │ e :: Identifier │ │ [||] │ │ [call] │ │ isfinite :: Identifier │ │ loss :: Identifier │ │ [return] │ │ [tuple] │ │ Inf :: Identifier │ │ [call] │ │ fill :: Identifier │ │ Inf :: Identifier │ │ n :: Identifier │ │ [=] │ │ grad :: Identifier │ │ [call] │ │ [curly] │ │ Vector :: Identifier │ │ Float64 :: Identifier │ │ undef :: Identifier │ │ n :: Identifier │ │ [for] │ │ [=] │ │ i :: Identifier │ │ [call] │ │ : :: Identifier │ │ 1 :: Value │ │ n :: Identifier │ │ [block] │ │ [=] │ │ orig :: Identifier │ │ [ref] │ │ c :: Identifier │ │ i :: Identifier │ │ [=] │ │ [ref] │ │ c :: Identifier │ │ i :: Identifier │ │ [call] │ │ + :: Identifier │ │ orig :: Identifier │ │ h :: Identifier │ │ [call] │ │ set_scalar_constants! :: Identifier │ │ [.] │ │ g :: Identifier │ │ [inert] │ │ tree :: Identifier │ │ c :: Identifier │ │ refs :: Identifier │ │ [=] │ │ loss_p :: Identifier │ │ [call] │ │ _tree_mse :: Identifier │ │ [.] │ │ g :: Identifier │ │ [inert] │ │ tree :: Identifier │ │ e :: Identifier │ │ [=] │ │ [ref] │ │ c :: Identifier │ │ i :: Identifier │ │ [call] │ │ - :: Identifier │ │ orig :: Identifier │ │ h :: Identifier │ │ [call] │ │ set_scalar_constants! :: Identifier │ │ [.] │ │ g :: Identifier │ │ [inert] │ │ tree :: Identifier │ │ c :: Identifier │ │ refs :: Identifier │ │ [=] │ │ loss_m :: Identifier │ │ [call] │ │ _tree_mse :: Identifier │ │ [.] │ │ g :: Identifier │ │ [inert] │ │ tree :: Identifier │ │ e :: Identifier │ │ [=] │ │ [ref] │ │ c :: Identifier │ │ i :: Identifier │ │ orig :: Identifier │ │ [=] │ │ [ref] │ │ grad :: Identifier │ │ i :: Identifier │ │ [if] │ │ [&&] │ │ [call] │ │ isfinite :: Identifier │ │ loss_p :: Identifier │ │ [call] │ │ isfinite :: Identifier │ │ loss_m :: Identifier │ │ [call] │ │ / :: Identifier │ │ [call] │ │ - :: Identifier │ │ loss_p :: Identifier │ │ loss_m :: Identifier │ │ [call] │ │ * :: Identifier │ │ 2.0 :: Value │ │ [call] │ │ Float64 :: Identifier │ │ h :: Identifier │ │ 0.0 :: Value │ │ [call] │ │ set_scalar_constants! :: Identifier │ │ [.] │ │ g :: Identifier │ │ [inert] │ │ tree :: Identifier │ │ c :: Identifier │ │ refs :: Identifier │ │ [return] │ │ [tuple] │ │ loss :: Identifier │ │ grad :: Identifier │ │ [=] │ │ [tuple] │ │ c_opt :: Identifier │ │ loss_opt :: Identifier │ │ [call] │ │ _bfgs_minimize :: Identifier │ │ [parameters] │ │ [kw] │ │ max_iter :: Identifier │ │ max_iter :: Identifier │ │ [kw] │ │ tol :: Identifier │ │ tol :: Identifier │ │ f_and_grad :: Identifier │ │ constants :: Identifier │ │ [if] │ │ [&&] │ │ [call] │ │ isfinite :: Identifier │ │ loss_opt :: Identifier │ │ [call] │ │ < :: Identifier │ │ loss_opt :: Identifier │ │ initial_loss :: Identifier │ │ [block] │ │ [call] │ │ set_scalar_constants! :: Identifier │ │ [.] │ │ g :: Identifier │ │ [inert] │ │ tree :: Identifier │ │ c_opt :: Identifier │ │ refs :: Identifier │ │ [return] │ │ loss_opt :: Identifier │ │ [block] │ │ [call] │ │ set_scalar_constants! :: Identifier │ │ [.] │ │ g :: Identifier │ │ [inert] │ │ tree :: Identifier │ │ initial_constants :: Identifier │ │ refs :: Identifier │ │ [return] │ │ initial_loss :: Identifier │ │ │ st1 = │ SyntaxTree with attributes mod,kind,var_id,toplevel_pure,scope_type,macro_source,name_val,syntax_flags,meta,scope_layer,value,jl_source,is_toplevel_thunk,source │ [block] │ │ [=] │ │ val :: Identifier │ scope_layer=3 │ [function] │ │ [where] │ │ [call] │ │ optimize_constants! :: Identifier │ scope_layer=1 │ [parameters] │ │ [kw] │ │ [::] │ │ max_iter :: Identifier │ scope_layer=1 │ Int :: Identifier │ scope_layer=1 │ 50 :: Value │ macro_source=279 │ [kw] │ │ [::] │ │ tol :: Identifier │ scope_layer=1 │ Float64 :: Identifier │ scope_layer=1 │ 1.0e-8 :: Value │ macro_source=279 │ [kw] │ │ [::] │ │ fd_step :: Identifier │ scope_layer=1 │ Float64 :: Identifier │ scope_layer=1 │ 0.001 :: Value │ macro_source=279 │ [::] │ │ g :: Identifier │ scope_layer=1 │ [curly] │ │ TreeGenome :: Identifier │ scope_layer=1 │ T :: Identifier │ scope_layer=1 │ [::] │ │ e :: Identifier │ scope_layer=1 │ [curly] │ │ TreeFitnessEvaluator :: Identifier │ scope_layer=1 │ T :: Identifier │ scope_layer=1 │ T :: Identifier │ scope_layer=1 │ [block] │ │ [=] │ │ [tuple] │ │ constants :: Identifier │ scope_layer=1 │ refs :: Identifier │ scope_layer=1 │ [call] │ │ get_scalar_constants :: Identifier │ scope_layer=1 │ [.] │ │ g :: Identifier │ scope_layer=1 │ [inert] │ │ tree :: Identifier │ │ [=] │ │ n :: Identifier │ scope_layer=1 │ [call] │ │ length :: Identifier │ scope_layer=1 │ constants :: Identifier │ scope_layer=1 │ [=] │ │ initial_loss :: Identifier │ scope_layer=1 │ [call] │ │ _tree_mse :: Identifier │ scope_layer=1 │ [.] │ │ g :: Identifier │ scope_layer=1 │ [inert] │ │ tree :: Identifier │ │ e :: Identifier │ scope_layer=1 │ [&&] │ │ [call] │ │ == :: Identifier │ scope_layer=1 │ n :: Identifier │ scope_layer=1 │ 0 :: Value │ macro_source=279 │ [return] │ │ initial_loss :: Identifier │ scope_layer=1 │ [||] │ │ [call] │ │ isfinite :: Identifier │ scope_layer=1 │ initial_loss :: Identifier │ scope_layer=1 │ [return] │ │ initial_loss :: Identifier │ scope_layer=1 │ [=] │ │ initial_constants :: Identifier │ scope_layer=1 │ [call] │ │ copy :: Identifier │ scope_layer=1 │ constants :: Identifier │ scope_layer=1 │ [=] │ │ h :: Identifier │ scope_layer=1 │ [call] │ │ T :: Identifier │ scope_layer=1 │ fd_step :: Identifier │ scope_layer=1 │ [function] │ │ [call] │ │ f_and_grad :: Identifier │ scope_layer=1 │ [::] │ │ c :: Identifier │ scope_layer=1 │ [curly] │ │ Vector :: Identifier │ scope_layer=1 │ T :: Identifier │ scope_layer=1 │ [block] │ │ [call] │ │ set_scalar_constants! :: Identifier │ scope_layer=1 │ [.] │ │ g :: Identifier │ scope_layer=1 │ [inert] │ │ tree :: Identifier │ │ c :: Identifier │ scope_layer=1 │ refs :: Identifier │ scope_layer=1 │ [=] │ │ loss :: Identifier │ scope_layer=1 │ [call] │ │ _tree_mse :: Identifier │ scope_layer=1 │ [.] │ │ g :: Identifier │ scope_layer=1 │ [inert] │ │ tree :: Identifier │ │ e :: Identifier │ scope_layer=1 │ [||] │ │ [call] │ │ isfinite :: Identifier │ scope_layer=1 │ loss :: Identifier │ scope_layer=1 │ [return] │ │ [tuple] │ │ Inf :: Identifier │ scope_layer=1 │ [call] │ │ fill :: Identifier │ scope_layer=1 │ Inf :: Identifier │ scope_layer=1 │ n :: Identifier │ scope_layer=1 │ [=] │ │ grad :: Identifier │ scope_layer=1 │ [call] │ │ [curly] │ │ Vector :: Identifier │ scope_layer=1 │ Float64 :: Identifier │ scope_layer=1 │ undef :: Identifier │ scope_layer=1 │ n :: Identifier │ scope_layer=1 │ [for] │ │ [=] │ │ i :: Identifier │ scope_layer=1 │ [call] │ │ : :: Identifier │ scope_layer=1 │ 1 :: Value │ macro_source=279 │ n :: Identifier │ scope_layer=1 │ [block] │ │ [=] │ │ orig :: Identifier │ scope_layer=1 │ [ref] │ │ c :: Identifier │ scope_layer=1 │ i :: Identifier │ scope_layer=1 │ [=] │ │ [ref] │ │ c :: Identifier │ scope_layer=1 │ i :: Identifier │ scope_layer=1 │ [call] │ │ + :: Identifier │ scope_layer=1 │ orig :: Identifier │ scope_layer=1 │ h :: Identifier │ scope_layer=1 │ [call] │ │ set_scalar_constants! :: Identifier │ scope_layer=1 │ [.] │ │ g :: Identifier │ scope_layer=1 │ [inert] │ │ tree :: Identifier │ │ c :: Identifier │ scope_layer=1 │ refs :: Identifier │ scope_layer=1 │ [=] │ │ loss_p :: Identifier │ scope_layer=1 │ [call] │ │ _tree_mse :: Identifier │ scope_layer=1 │ [.] │ │ g :: Identifier │ scope_layer=1 │ [inert] │ │ tree :: Identifier │ │ e :: Identifier │ scope_layer=1 │ [=] │ │ [ref] │ │ c :: Identifier │ scope_layer=1 │ i :: Identifier │ scope_layer=1 │ [call] │ │ - :: Identifier │ scope_layer=1 │ orig :: Identifier │ scope_layer=1 │ h :: Identifier │ scope_layer=1 │ [call] │ │ set_scalar_constants! :: Identifier │ scope_layer=1 │ [.] │ │ g :: Identifier │ scope_layer=1 │ [inert] │ │ tree :: Identifier │ │ c :: Identifier │ scope_layer=1 │ refs :: Identifier │ scope_layer=1 │ [=] │ │ loss_m :: Identifier │ scope_layer=1 │ [call] │ │ _tree_mse :: Identifier │ scope_layer=1 │ [.] │ │ g :: Identifier │ scope_layer=1 │ [inert] │ │ tree :: Identifier │ │ e :: Identifier │ scope_layer=1 │ [=] │ │ [ref] │ │ c :: Identifier │ scope_layer=1 │ i :: Identifier │ scope_layer=1 │ orig :: Identifier │ scope_layer=1 │ [=] │ │ [ref] │ │ grad :: Identifier │ scope_layer=1 │ i :: Identifier │ scope_layer=1 │ [if] │ │ [&&] │ │ [call] │ │ isfinite :: Identifier │ scope_layer=1 │ loss_p :: Identifier │ scope_layer=1 │ [call] │ │ isfinite :: Identifier │ scope_layer=1 │ loss_m :: Identifier │ scope_layer=1 │ [call] │ │ / :: Identifier │ scope_layer=1 │ [call] │ │ - :: Identifier │ scope_layer=1 │ loss_p :: Identifier │ scope_layer=1 │ loss_m :: Identifier │ scope_layer=1 │ [call] │ │ * :: Identifier │ scope_layer=1 │ 2.0 :: Value │ macro_source=279 │ [call] │ │ Float64 :: Identifier │ scope_layer=1 │ h :: Identifier │ scope_layer=1 │ 0.0 :: Value │ macro_source=279 │ [call] │ │ set_scalar_constants! :: Identifier │ scope_layer=1 │ [.] │ │ g :: Identifier │ scope_layer=1 │ [inert] │ │ tree :: Identifier │ │ c :: Identifier │ scope_layer=1 │ refs :: Identifier │ scope_layer=1 │ [return] │ │ [tuple] │ │ loss :: Identifier │ scope_layer=1 │ grad :: Identifier │ scope_layer=1 │ [=] │ │ [tuple] │ │ c_opt :: Identifier │ scope_layer=1 │ loss_opt :: Identifier │ scope_layer=1 │ [call] │ │ _bfgs_minimize :: Identifier │ scope_layer=1 │ [parameters] │ │ [kw] │ │ max_iter :: Identifier │ scope_layer=1 │ max_iter :: Identifier │ scope_layer=1 │ [kw] │ │ tol :: Identifier │ scope_layer=1 │ tol :: Identifier │ scope_layer=1 │ f_and_grad :: Identifier │ scope_layer=1 │ constants :: Identifier │ scope_layer=1 │ [if] │ │ [&&] │ │ [call] │ │ isfinite :: Identifier │ scope_layer=1 │ loss_opt :: Identifier │ scope_layer=1 │ [call] │ │ < :: Identifier │ scope_layer=1 │ loss_opt :: Identifier │ scope_layer=1 │ initial_loss :: Identifier │ scope_layer=1 │ [block] │ │ [call] │ │ set_scalar_constants! :: Identifier │ scope_layer=1 │ [.] │ │ g :: Identifier │ scope_layer=1 │ [inert] │ │ tree :: Identifier │ │ c_opt :: Identifier │ scope_layer=1 │ refs :: Identifier │ scope_layer=1 │ [return] │ │ loss_opt :: Identifier │ scope_layer=1 │ [block] │ │ [call] │ │ set_scalar_constants! :: Identifier │ scope_layer=1 │ [.] │ │ g :: Identifier │ scope_layer=1 │ [inert] │ │ tree :: Identifier │ │ initial_constants :: Identifier │ scope_layer=1 │ refs :: Identifier │ scope_layer=1 │ [return] │ │ initial_loss :: Identifier │ scope_layer=1 │ [call] │ │ Base.Docs.doc! :: Value │ macro_source=279 │ Arborist :: Value │ macro_source=279 │ [call] │ │ Base.Docs.Binding :: Value │ macro_source=279 │ Arborist :: Value │ │ [inert] │ jl_source=L65 │ optimize_constants! :: Identifier │ │ [call] │ macro_source=279 │ Base.Docs.docstr :: Value │ macro_source=279 │ [call] │ macro_source=279 │ Core.svec :: Value │ macro_source=279 │ " optimize_constants!(g::TreeGenome, e::TreeFitnessEvaluator; kwargs...) -> Float64\n\nApply BFGS with central finite-difference gradients to the constants of `g.tree`\nagainst `e`'s dataset. Mutates `g.tree` in place; returns the post-optimization\nMSE loss.\n\nReturns the pre-optimization loss unchanged if the tree has zero constants or\nif the initial evaluation produces `Inf` / `NaN`. Never makes the tree worse:\nif BFGS diverges or line search fails, constants are restored and the original\nloss is returned.\n\n# Keyword arguments\n- `max_iter::Int = 50`\n- `tol::Float64 = 1e-8`\n- `fd_step::Float64 = 1e-3`\n" :: Value │ macro_source=279 │ [call] │ macro_source=279 │ Dict{Symbol, Any} :: Value │ macro_source=279 │ :path => "/home/pkgeval/.julia/packages/Arborist/s0fGK/src/tree_genome.jl" :: Value │ macro_source=279 │ :linenumber => 900 :: Value │ macro_source=279 │ :module => Arborist :: Value │ macro_source=279 │ [where] │ │ [curly] │ │ Union :: Identifier │ scope_layer=1 │ [curly] │ │ Tuple :: Identifier │ scope_layer=1 │ [curly] │ │ TreeGenome :: Identifier │ scope_layer=1 │ T :: Identifier │ scope_layer=1 │ [curly] │ │ TreeFitnessEvaluator :: Identifier │ scope_layer=1 │ T :: Identifier │ scope_layer=1 │ [curly] │ │ Tuple :: Identifier │ scope_layer=1 │ T :: Identifier │ scope_layer=1 │ [<:] │ scope_layer=1 │ T :: Identifier │ scope_layer=1 │ Any :: Identifier │ scope_layer=1 │ val :: Identifier │ scope_layer=3 │ │ file = "/home/pkgeval/.julia/packages/Arborist/s0fGK/src/tree_genome.jl" │ line = 900 └ mod = Arborist ERROR: LoadError: LoweringError: #= /home/pkgeval/.julia/packages/Arborist/s0fGK/src/tree_genome.jl:930 =# - Found unexpected binding of kind static_parameter Expression:  #₄₆/T Containing expressions:  (= #₁₀₈/T #₄₆/T)  (call core.svec (call core.svec #₁₀₁/##kw_body#optimize_constants!#0#f_and_grad##0 (call core.apply_type #₆₂/Vector #₄₆/T)) (call core.svec) SourceLocation:/home/pkgeval/.julia/packages/Arborist/s0fGK/src/tree_genome.jl:930:0)  (call core.svec (call core.svec (function_type #₄₉/f_and_grad) (call core.apply_type #₆₂/Vector #₄₆/T)) (call core.svec) SourceLocation:/home/pkgeval/.julia/packages/Arborist/s0fGK/src/tree_genome.jl:930:0)  Detailed provenance:  #₄₆/T  └─ T  └─ T  ├─ @ /home/pkgeval/.julia/packages/Arborist/s0fGK/src/tree_genome.jl:930  └─ (macrocall @doc :(#= /home/pkgeval/.julia/packages/Arborist/s0fGK/src/tree_genome.jl:900 =#) " optimize_constants!(g::TreeGenome, e::TreeFitnessEvaluator; kwargs...) -> Float64\n\nApply BFGS with central finite-difference gradients to the constants of `g.tree`\nagainst `e`'s dataset. Mutates `g.tree` in place; returns the post-optimization\nMSE loss.\n\nReturns the pre-optimization loss unchanged if the tree has zero constants or\nif the initial evaluation produces `Inf` / `NaN`. Never makes the tree worse:\nif BFGS diverges or line search fails, constants are restored and the original\nloss is returned.\n\n# Keyword arguments\n- `max_iter::Int = 50`\n- `tol::Float64 = 1e-8`\n- `fd_step::Float64 = 1e-3`\n" (function (where (call optimize_constants! (parameters (kw (:: max_iter Int) 50) (kw (:: tol Float64) 1.0e-8) (kw (:: fd_step Float64) 0.001)) (:: g (curly TreeGenome T)) (:: e (curly TreeFitnessEvaluator T))) T) (block (= (tuple constants refs) (call get_scalar_constants (. g (inert tree)))) (= n (call length constants)) (= initial_loss (call _tree_mse (. g (inert tree)) e)) (&& (call == n 0) (return initial_loss)) (|| (call isfinite initial_loss) (return initial_loss)) (= initial_constants (call copy constants)) (= h (call T fd_step)) (function (call f_and_grad (:: c (curly Vector T))) (block (call set_scalar_constants! (. g (inert tree)) c refs) (= loss (call _tree_mse (. g (inert tree)) e)) (|| (call isfinite loss) (return (tuple Inf (call fill Inf n)))) (= grad (call (curly Vector Float64) undef n)) (for (= i (call : 1 n)) (block (= orig (ref c i)) (= (ref c i) (call + orig h)) (call set_scalar_constants! (. g (inert tree)) c refs) (= loss_p (call _tree_mse (. g (inert tree)) e)) (= (ref c i) (call - orig h)) (call set_scalar_constants! (. g (inert tree)) c refs) (= loss_m (call _tree_mse (. g (inert tree)) e)) (= (ref c i) orig) (= (ref grad i) (if (&& (call isfinite loss_p) (call isfinite loss_m)) (call / (call - loss_p loss_m) (call * 2.0 (call Float64 h))) 0.0)))) (call set_scalar_constants! (. g (inert tree)) c refs) (return (tuple loss grad)))) (= (tuple c_opt loss_opt) (call _bfgs_minimize (parameters (kw max_iter max_iter) (kw tol tol)) f_and_grad constants)) (if (&& (call isfinite loss_opt) (call < loss_opt initial_loss)) (block (call set_scalar_constants! (. g (inert tree)) c_opt refs) (return loss_opt)) (block (call set_scalar_constants! (. g (inert tree)) initial_constants refs) (return initial_loss))))))  └─ @ /home/pkgeval/.julia/packages/Arborist/s0fGK/src/tree_genome.jl:900  Stacktrace:  [1] _renumber(ctx::Base.JuliaLowering.LinearIRContext{Dict{Symbol, Dict{Int64, Any}}}, ssa_rewrites::Dict{Int64, Int64}, slot_rewrites::Dict{Int64, Int64}, label_table::Dict{Int64, Int64}, ex::Base.JuliaSyntax.SyntaxTree{Dict{Symbol, Dict{Int64, Any}}})  @ Base.JuliaLowering /source/usr/share/julia/JuliaLowering/src/linear_ir.jl:1097  [2] renumber_body(ctx::Base.JuliaLowering.LinearIRContext{Dict{Symbol, Dict{Int64, Any}}}, input_code::Base.JuliaSyntax.SyntaxList{Dict{Symbol, Dict{Int64, Any}}, Vector{Int64}}, slot_rewrites::Dict{Int64, Int64})  @ Base.JuliaLowering /source/usr/share/julia/JuliaLowering/src/linear_ir.jl:1162  [3] compile_lambda(outer_ctx::Base.JuliaLowering.LinearIRContext{Dict{Symbol, Dict{Int64, Any}}}, ex::Base.JuliaSyntax.SyntaxTree{Dict{Symbol, Dict{Int64, Any}}})  @ Base.JuliaLowering /source/usr/share/julia/JuliaLowering/src/linear_ir.jl:1257  [4] linearize_ir(ctx::Base.JuliaLowering.ClosureConversionCtx{Dict{Symbol, Dict{Int64, Any}}}, ex::Base.JuliaSyntax.SyntaxTree{Dict{Symbol, Dict{Int64, Any}}})  @ Base.JuliaLowering /source/usr/share/julia/JuliaLowering/src/linear_ir.jl:1287  [5] core_lowering_hook(code::Any, mod::Module, file::String, line::UInt64, world::UInt64, _warn::Bool)  @ Base.JuliaLowering /source/usr/share/julia/JuliaLowering/src/hooks.jl:33  [6] include(mapexpr::Function, mod::Module, _path::String)  @ Base Base.jl:326  [7] top-level scope  @ ~/.julia/packages/Arborist/s0fGK/src/Arborist.jl:101  [8] include(mod::Module, _path::String)  @ Base Base.jl:325  [9] include_package_for_output(pkg::Base.PkgId, input::String, syntax_version::VersionNumber, depot_path::Vector{String}, dl_load_path::Vector{String}, load_path::Vector{String}, concrete_deps::Vector{Pair{Base.PkgId, UInt128}}, source::Nothing)  @ Base loading.jl:3296  [10] top-level scope  @ stdin:5  [11] eval(m::Module, e::Any)  @ Core boot.jl:522  [12] include_string(mapexpr::typeof(identity), mod::Module, code::String, filename::String)  @ Base loading.jl:3132  [13] include_string(m::Module, txt::String, fname::String)  @ Base loading.jl:3142 [inlined]  [14] exec_options(opts::Base.JLOptions)  @ Base client.jl:353  [15] _start()  @ Base client.jl:596 in expression starting at /home/pkgeval/.julia/packages/Arborist/s0fGK/src/tree_genome.jl:900 in expression starting at /home/pkgeval/.julia/packages/Arborist/s0fGK/src/Arborist.jl:1 in expression starting at stdin:5 ✗ Arborist ERROR: LoadError: Precompiled image Base.PkgId(Base.UUID("226a4f77-d45f-40bb-908f-e1e2bc89957a"), "Arborist") not available with flags CacheFlags(; use_pkgimages=false, debug_level=1, check_bounds=1, inline=true, opt_level=0) Stacktrace:  [1] error(s::String)  @ Base error.jl:56  [2] __require_prelocked(pkg::Base.PkgId, env::String)  @ Base loading.jl:2837  [3] _require_prelocked(uuidkey::Base.PkgId, env::String)  @ Base loading.jl:2685  [4] macro expansion  @ loading.jl:2599 [inlined]  [5] macro expansion  @ lock.jl:376 [inlined]  [6] __require(into::Module, mod::Symbol)  @ Base loading.jl:2563  [7] require(into::Module, mod::Symbol)  @ Base loading.jl:2539 [inlined]  [8] eval_import_path(at::Module, from::Nothing, path::Expr, keyword::String)  @ Base module.jl:36 [inlined]  [9] eval_import_path_all(at::Module, path::Expr, keyword::String)  @ Base module.jl:60  [10] _eval_import(::Bool, ::Module, ::Expr, ::Expr, ::Vararg{Expr})  @ Base module.jl:101  [11] eval_import(::Bool, ::Module, ::Expr, ::Expr, ::Vararg{Expr})  @ Base.JuliaLowering /source/usr/share/julia/JuliaLowering/src/runtime.jl:195  [12] top-level scope  @ ~/.julia/packages/Arborist/s0fGK/ext/ArboristRecipesBaseExt.jl:11  [13] include(mod::Module, _path::String)  @ Base Base.jl:325  [14] include_package_for_output(pkg::Base.PkgId, input::String, syntax_version::VersionNumber, depot_path::Vector{String}, dl_load_path::Vector{String}, load_path::Vector{String}, concrete_deps::Vector{Pair{Base.PkgId, UInt128}}, source::Nothing)  @ Base loading.jl:3296  [15] top-level scope  @ stdin:5  [16] eval(m::Module, e::Any)  @ Core boot.jl:522  [17] include_string(mapexpr::typeof(identity), mod::Module, code::String, filename::String)  @ Base loading.jl:3132  [18] include_string(m::Module, txt::String, fname::String)  @ Base loading.jl:3142 [inlined]  [19] exec_options(opts::Base.JLOptions)  @ Base client.jl:353  [20] _start()  @ Base client.jl:596 in expression starting at /home/pkgeval/.julia/packages/Arborist/s0fGK/ext/ArboristRecipesBaseExt.jl:8 in expression starting at stdin:5 ✗ Arborist → ArboristRecipesBaseExt 13 dependencies successfully precompiled in 882 seconds. 25 already precompiled. Precompilation completed after 917.2s ################################################################################ # Testing # Testing Arborist Status `/tmp/jl_Wk8VRs/Project.toml` [226a4f77] Arborist v0.1.2 [38540f10] CommonSolve v0.2.7 [a40a106e] DynamicExpressions v2.5.2 [3cdcf5f2] RecipesBase v1.3.4 [8ba89e20] Distributed v1.11.0 [f43a241f] Downloads v1.7.0 [37e2e46d] LinearAlgebra v1.14.0 [9a3f8284] Random v1.11.0 [9e88b42a] Serialization v1.11.0 [8dfed614] Test v1.11.0 Status `/tmp/jl_Wk8VRs/Manifest.toml` [226a4f77] Arborist v0.1.2 [d360d2e6] ChainRulesCore v1.26.1 [38540f10] CommonSolve v0.2.7 [34da2185] Compat v4.18.1 [8d63f2c5] DispatchDoctor v0.4.28 [a40a106e] DynamicExpressions v2.5.2 [85a1e053] Interfaces v0.3.2 [1914dd2f] MacroTools v0.5.16 [aea7be01] PrecompileTools v1.3.4 [21216c6a] Preferences v1.5.2 [3cdcf5f2] RecipesBase v1.3.4 [189a3867] Reexport v1.2.2 [0dad84c5] ArgTools v1.2.0 [56f22d72] Artifacts v1.11.0 [2a0f44e3] Base64 v1.11.0 [ade2ca70] Dates v1.11.0 [8ba89e20] Distributed v1.11.0 [f43a241f] Downloads v1.7.0 [7b1f6079] FileWatching v1.11.0 [b77e0a4c] InteractiveUtils v1.11.0 [ac6e5ff7] JuliaSyntaxHighlighting v1.13.0 [b27032c2] LibCURL v1.0.0 [8f399da3] Libdl v1.11.0 [37e2e46d] LinearAlgebra v1.14.0 [56ddb016] Logging v1.11.0 [d6f4376e] Markdown v1.11.0 [ca575930] NetworkOptions v1.3.0 [de0858da] Printf v1.11.0 [9a3f8284] Random v1.11.0 [ea8e919c] SHA v1.13.0 [9e88b42a] Serialization v1.11.0 [6462fe0b] Sockets v1.11.0 [f489334b] StyledStrings v1.13.0 [fa267f1f] TOML v1.0.3 [8dfed614] Test v1.11.0 [cf7118a7] UUIDs v1.11.0 [4ec0a83e] Unicode v1.11.0 [e66e0078] CompilerSupportLibraries_jll v1.5.2+0 [deac9b47] LibCURL_jll v8.20.0+1 [29816b5a] LibSSH2_jll v1.11.101+0 [14a3606d] MozillaCACerts_jll v2026.5.14 [4536629a] OpenBLAS_jll v0.3.33+0 [458c3c95] OpenSSL_jll v3.5.7+0 [83775a58] Zlib_jll v1.3.2+0 [3161d3a3] Zstd_jll v1.5.7+1 [8e850b90] libblastrampoline_jll v5.15.0+0 [8e850ede] nghttp2_jll v1.69.0+0 Testing Running tests... ┌ Info: JuliaLowering threw given input: │ code = │ :(#= /home/pkgeval/.julia/packages/Arborist/s0fGK/src/tree_genome.jl:900 =# Core.@doc " optimize_constants!(g::TreeGenome, e::TreeFitnessEvaluator; kwargs...) -> Float64\n\nApply BFGS with central finite-difference gradients to the constants of `g.tree`\nagainst `e`'s dataset. Mutates `g.tree` in place; returns the post-optimization\nMSE loss.\n\nReturns the pre-optimization loss unchanged if the tree has zero constants or\nif the initial evaluation produces `Inf` / `NaN`. Never makes the tree worse:\nif BFGS diverges or line search fails, constants are restored and the original\nloss is returned.\n\n# Keyword arguments\n- `max_iter::Int = 50`\n- `tol::Float64 = 1e-8`\n- `fd_step::Float64 = 1e-3`\n" function optimize_constants!(g::TreeGenome{T}, e::TreeFitnessEvaluator{T}; max_iter::Int = 50, tol::Float64 = 1.0e-8, fd_step::Float64 = 0.001) where T │ #= /home/pkgeval/.julia/packages/Arborist/s0fGK/src/tree_genome.jl:917 =# │ #= /home/pkgeval/.julia/packages/Arborist/s0fGK/src/tree_genome.jl:921 =# │ (constants, refs) = get_scalar_constants(g.tree) │ #= /home/pkgeval/.julia/packages/Arborist/s0fGK/src/tree_genome.jl:922 =# │ n = length(constants) │ #= /home/pkgeval/.julia/packages/Arborist/s0fGK/src/tree_genome.jl:923 =# │ initial_loss = _tree_mse(g.tree, e) │ #= /home/pkgeval/.julia/packages/Arborist/s0fGK/src/tree_genome.jl:924 =# │ n == 0 && return initial_loss │ #= /home/pkgeval/.julia/packages/Arborist/s0fGK/src/tree_genome.jl:925 =# │ isfinite(initial_loss) || return initial_loss │ #= /home/pkgeval/.julia/packages/Arborist/s0fGK/src/tree_genome.jl:927 =# │ initial_constants = copy(constants) │ #= /home/pkgeval/.julia/packages/Arborist/s0fGK/src/tree_genome.jl:928 =# │ h = T(fd_step) │ #= /home/pkgeval/.julia/packages/Arborist/s0fGK/src/tree_genome.jl:930 =# │ function f_and_grad(c::Vector{T}) │ #= /home/pkgeval/.julia/packages/Arborist/s0fGK/src/tree_genome.jl:930 =# │ #= /home/pkgeval/.julia/packages/Arborist/s0fGK/src/tree_genome.jl:931 =# │ set_scalar_constants!(g.tree, c, refs) │ #= /home/pkgeval/.julia/packages/Arborist/s0fGK/src/tree_genome.jl:932 =# │ loss = _tree_mse(g.tree, e) │ #= /home/pkgeval/.julia/packages/Arborist/s0fGK/src/tree_genome.jl:933 =# │ isfinite(loss) || return (Inf, fill(Inf, n)) │ #= /home/pkgeval/.julia/packages/Arborist/s0fGK/src/tree_genome.jl:934 =# │ grad = Vector{Float64}(undef, n) │ #= /home/pkgeval/.julia/packages/Arborist/s0fGK/src/tree_genome.jl:935 =# │ for i = 1:n │ #= /home/pkgeval/.julia/packages/Arborist/s0fGK/src/tree_genome.jl:936 =# │ orig = c[i] │ #= /home/pkgeval/.julia/packages/Arborist/s0fGK/src/tree_genome.jl:937 =# │ c[i] = orig + h │ #= /home/pkgeval/.julia/packages/Arborist/s0fGK/src/tree_genome.jl:938 =# │ set_scalar_constants!(g.tree, c, refs) │ #= /home/pkgeval/.julia/packages/Arborist/s0fGK/src/tree_genome.jl:939 =# │ loss_p = _tree_mse(g.tree, e) │ #= /home/pkgeval/.julia/packages/Arborist/s0fGK/src/tree_genome.jl:940 =# │ c[i] = orig - h │ #= /home/pkgeval/.julia/packages/Arborist/s0fGK/src/tree_genome.jl:941 =# │ set_scalar_constants!(g.tree, c, refs) │ #= /home/pkgeval/.julia/packages/Arborist/s0fGK/src/tree_genome.jl:942 =# │ loss_m = _tree_mse(g.tree, e) │ #= /home/pkgeval/.julia/packages/Arborist/s0fGK/src/tree_genome.jl:943 =# │ c[i] = orig │ #= /home/pkgeval/.julia/packages/Arborist/s0fGK/src/tree_genome.jl:944 =# │ grad[i] = if isfinite(loss_p) && isfinite(loss_m) │ (loss_p - loss_m) / (2.0 * Float64(h)) │ else │ 0.0 │ end │ #= /home/pkgeval/.julia/packages/Arborist/s0fGK/src/tree_genome.jl:946 =# │ end │ #= /home/pkgeval/.julia/packages/Arborist/s0fGK/src/tree_genome.jl:947 =# │ set_scalar_constants!(g.tree, c, refs) │ #= /home/pkgeval/.julia/packages/Arborist/s0fGK/src/tree_genome.jl:948 =# │ return (loss, grad) │ end │ #= /home/pkgeval/.julia/packages/Arborist/s0fGK/src/tree_genome.jl:951 =# │ (c_opt, loss_opt) = _bfgs_minimize(f_and_grad, constants; max_iter = max_iter, tol = tol) │ #= /home/pkgeval/.julia/packages/Arborist/s0fGK/src/tree_genome.jl:955 =# │ if isfinite(loss_opt) && loss_opt < initial_loss │ #= /home/pkgeval/.julia/packages/Arborist/s0fGK/src/tree_genome.jl:956 =# │ set_scalar_constants!(g.tree, c_opt, refs) │ #= /home/pkgeval/.julia/packages/Arborist/s0fGK/src/tree_genome.jl:957 =# │ return loss_opt │ else │ #= /home/pkgeval/.julia/packages/Arborist/s0fGK/src/tree_genome.jl:959 =# │ set_scalar_constants!(g.tree, initial_constants, refs) │ #= /home/pkgeval/.julia/packages/Arborist/s0fGK/src/tree_genome.jl:960 =# │ return initial_loss │ end │ end) │ st0 = │ SyntaxTree with attributes mod,kind,var_id,toplevel_pure,scope_type,macro_source,name_val,syntax_flags,meta,scope_layer,value,jl_source,is_toplevel_thunk,source,__macro_ctx__ │ [macrocall] │ │ @doc :: Identifier │ mod │ :(#= /home/pkgeval/.julia/packages/Arborist/s0fGK/src/tree_genome.jl:900 =#) :: Value │ │ " optimize_constants!(g::TreeGenome, e::TreeFitnessEvaluator; kwargs...) -> Float64\n\nApply BFGS with central finite-difference gradients to the constants of `g.tree`\nagainst `e`'s dataset. Mutates `g.tree` in place; returns the post-optimization\nMSE loss.\n\nReturns the pre-optimization loss unchanged if the tree has zero constants or\nif the initial evaluation produces `Inf` / `NaN`. Never makes the tree worse:\nif BFGS diverges or line search fails, constants are restored and the original\nloss is returned.\n\n# Keyword arguments\n- `max_iter::Int = 50`\n- `tol::Float64 = 1e-8`\n- `fd_step::Float64 = 1e-3`\n" :: Value │ │ [function] │ │ [where] │ │ [call] │ │ optimize_constants! :: Identifier │ │ [parameters] │ │ [kw] │ │ [::] │ │ max_iter :: Identifier │ │ Int :: Identifier │ │ 50 :: Value │ │ [kw] │ │ [::] │ │ tol :: Identifier │ │ Float64 :: Identifier │ │ 1.0e-8 :: Value │ │ [kw] │ │ [::] │ │ fd_step :: Identifier │ │ Float64 :: Identifier │ │ 0.001 :: Value │ │ [::] │ │ g :: Identifier │ │ [curly] │ │ TreeGenome :: Identifier │ │ T :: Identifier │ │ [::] │ │ e :: Identifier │ │ [curly] │ │ TreeFitnessEvaluator :: Identifier │ │ T :: Identifier │ │ T :: Identifier │ │ [block] │ │ [=] │ │ [tuple] │ │ constants :: Identifier │ │ refs :: Identifier │ │ [call] │ │ get_scalar_constants :: Identifier │ │ [.] │ │ g :: Identifier │ │ [inert] │ │ tree :: Identifier │ │ [=] │ │ n :: Identifier │ │ [call] │ │ length :: Identifier │ │ constants :: Identifier │ │ [=] │ │ initial_loss :: Identifier │ │ [call] │ │ _tree_mse :: Identifier │ │ [.] │ │ g :: Identifier │ │ [inert] │ │ tree :: Identifier │ │ e :: Identifier │ │ [&&] │ │ [call] │ │ == :: Identifier │ │ n :: Identifier │ │ 0 :: Value │ │ [return] │ │ initial_loss :: Identifier │ │ [||] │ │ [call] │ │ isfinite :: Identifier │ │ initial_loss :: Identifier │ │ [return] │ │ initial_loss :: Identifier │ │ [=] │ │ initial_constants :: Identifier │ │ [call] │ │ copy :: Identifier │ │ constants :: Identifier │ │ [=] │ │ h :: Identifier │ │ [call] │ │ T :: Identifier │ │ fd_step :: Identifier │ │ [function] │ │ [call] │ │ f_and_grad :: Identifier │ │ [::] │ │ c :: Identifier │ │ [curly] │ │ Vector :: Identifier │ │ T :: Identifier │ │ [block] │ │ [call] │ │ set_scalar_constants! :: Identifier │ │ [.] │ │ g :: Identifier │ │ [inert] │ │ tree :: Identifier │ │ c :: Identifier │ │ refs :: Identifier │ │ [=] │ │ loss :: Identifier │ │ [call] │ │ _tree_mse :: Identifier │ │ [.] │ │ g :: Identifier │ │ [inert] │ │ tree :: Identifier │ │ e :: Identifier │ │ [||] │ │ [call] │ │ isfinite :: Identifier │ │ loss :: Identifier │ │ [return] │ │ [tuple] │ │ Inf :: Identifier │ │ [call] │ │ fill :: Identifier │ │ Inf :: Identifier │ │ n :: Identifier │ │ [=] │ │ grad :: Identifier │ │ [call] │ │ [curly] │ │ Vector :: Identifier │ │ Float64 :: Identifier │ │ undef :: Identifier │ │ n :: Identifier │ │ [for] │ │ [=] │ │ i :: Identifier │ │ [call] │ │ : :: Identifier │ │ 1 :: Value │ │ n :: Identifier │ │ [block] │ │ [=] │ │ orig :: Identifier │ │ [ref] │ │ c :: Identifier │ │ i :: Identifier │ │ [=] │ │ [ref] │ │ c :: Identifier │ │ i :: Identifier │ │ [call] │ │ + :: Identifier │ │ orig :: Identifier │ │ h :: Identifier │ │ [call] │ │ set_scalar_constants! :: Identifier │ │ [.] │ │ g :: Identifier │ │ [inert] │ │ tree :: Identifier │ │ c :: Identifier │ │ refs :: Identifier │ │ [=] │ │ loss_p :: Identifier │ │ [call] │ │ _tree_mse :: Identifier │ │ [.] │ │ g :: Identifier │ │ [inert] │ │ tree :: Identifier │ │ e :: Identifier │ │ [=] │ │ [ref] │ │ c :: Identifier │ │ i :: Identifier │ │ [call] │ │ - :: Identifier │ │ orig :: Identifier │ │ h :: Identifier │ │ [call] │ │ set_scalar_constants! :: Identifier │ │ [.] │ │ g :: Identifier │ │ [inert] │ │ tree :: Identifier │ │ c :: Identifier │ │ refs :: Identifier │ │ [=] │ │ loss_m :: Identifier │ │ [call] │ │ _tree_mse :: Identifier │ │ [.] │ │ g :: Identifier │ │ [inert] │ │ tree :: Identifier │ │ e :: Identifier │ │ [=] │ │ [ref] │ │ c :: Identifier │ │ i :: Identifier │ │ orig :: Identifier │ │ [=] │ │ [ref] │ │ grad :: Identifier │ │ i :: Identifier │ │ [if] │ │ [&&] │ │ [call] │ │ isfinite :: Identifier │ │ loss_p :: Identifier │ │ [call] │ │ isfinite :: Identifier │ │ loss_m :: Identifier │ │ [call] │ │ / :: Identifier │ │ [call] │ │ - :: Identifier │ │ loss_p :: Identifier │ │ loss_m :: Identifier │ │ [call] │ │ * :: Identifier │ │ 2.0 :: Value │ │ [call] │ │ Float64 :: Identifier │ │ h :: Identifier │ │ 0.0 :: Value │ │ [call] │ │ set_scalar_constants! :: Identifier │ │ [.] │ │ g :: Identifier │ │ [inert] │ │ tree :: Identifier │ │ c :: Identifier │ │ refs :: Identifier │ │ [return] │ │ [tuple] │ │ loss :: Identifier │ │ grad :: Identifier │ │ [=] │ │ [tuple] │ │ c_opt :: Identifier │ │ loss_opt :: Identifier │ │ [call] │ │ _bfgs_minimize :: Identifier │ │ [parameters] │ │ [kw] │ │ max_iter :: Identifier │ │ max_iter :: Identifier │ │ [kw] │ │ tol :: Identifier │ │ tol :: Identifier │ │ f_and_grad :: Identifier │ │ constants :: Identifier │ │ [if] │ │ [&&] │ │ [call] │ │ isfinite :: Identifier │ │ loss_opt :: Identifier │ │ [call] │ │ < :: Identifier │ │ loss_opt :: Identifier │ │ initial_loss :: Identifier │ │ [block] │ │ [call] │ │ set_scalar_constants! :: Identifier │ │ [.] │ │ g :: Identifier │ │ [inert] │ │ tree :: Identifier │ │ c_opt :: Identifier │ │ refs :: Identifier │ │ [return] │ │ loss_opt :: Identifier │ │ [block] │ │ [call] │ │ set_scalar_constants! :: Identifier │ │ [.] │ │ g :: Identifier │ │ [inert] │ │ tree :: Identifier │ │ initial_constants :: Identifier │ │ refs :: Identifier │ │ [return] │ │ initial_loss :: Identifier │ │ │ st1 = │ SyntaxTree with attributes mod,kind,var_id,toplevel_pure,scope_type,macro_source,name_val,syntax_flags,meta,scope_layer,value,jl_source,is_toplevel_thunk,source │ [block] │ │ [=] │ │ val :: Identifier │ scope_layer=3 │ [function] │ │ [where] │ │ [call] │ │ optimize_constants! :: Identifier │ scope_layer=1 │ [parameters] │ │ [kw] │ │ [::] │ │ max_iter :: Identifier │ scope_layer=1 │ Int :: Identifier │ scope_layer=1 │ 50 :: Value │ macro_source=279 │ [kw] │ │ [::] │ │ tol :: Identifier │ scope_layer=1 │ Float64 :: Identifier │ scope_layer=1 │ 1.0e-8 :: Value │ macro_source=279 │ [kw] │ │ [::] │ │ fd_step :: Identifier │ scope_layer=1 │ Float64 :: Identifier │ scope_layer=1 │ 0.001 :: Value │ macro_source=279 │ [::] │ │ g :: Identifier │ scope_layer=1 │ [curly] │ │ TreeGenome :: Identifier │ scope_layer=1 │ T :: Identifier │ scope_layer=1 │ [::] │ │ e :: Identifier │ scope_layer=1 │ [curly] │ │ TreeFitnessEvaluator :: Identifier │ scope_layer=1 │ T :: Identifier │ scope_layer=1 │ T :: Identifier │ scope_layer=1 │ [block] │ │ [=] │ │ [tuple] │ │ constants :: Identifier │ scope_layer=1 │ refs :: Identifier │ scope_layer=1 │ [call] │ │ get_scalar_constants :: Identifier │ scope_layer=1 │ [.] │ │ g :: Identifier │ scope_layer=1 │ [inert] │ │ tree :: Identifier │ │ [=] │ │ n :: Identifier │ scope_layer=1 │ [call] │ │ length :: Identifier │ scope_layer=1 │ constants :: Identifier │ scope_layer=1 │ [=] │ │ initial_loss :: Identifier │ scope_layer=1 │ [call] │ │ _tree_mse :: Identifier │ scope_layer=1 │ [.] │ │ g :: Identifier │ scope_layer=1 │ [inert] │ │ tree :: Identifier │ │ e :: Identifier │ scope_layer=1 │ [&&] │ │ [call] │ │ == :: Identifier │ scope_layer=1 │ n :: Identifier │ scope_layer=1 │ 0 :: Value │ macro_source=279 │ [return] │ │ initial_loss :: Identifier │ scope_layer=1 │ [||] │ │ [call] │ │ isfinite :: Identifier │ scope_layer=1 │ initial_loss :: Identifier │ scope_layer=1 │ [return] │ │ initial_loss :: Identifier │ scope_layer=1 │ [=] │ │ initial_constants :: Identifier │ scope_layer=1 │ [call] │ │ copy :: Identifier │ scope_layer=1 │ constants :: Identifier │ scope_layer=1 │ [=] │ │ h :: Identifier │ scope_layer=1 │ [call] │ │ T :: Identifier │ scope_layer=1 │ fd_step :: Identifier │ scope_layer=1 │ [function] │ │ [call] │ │ f_and_grad :: Identifier │ scope_layer=1 │ [::] │ │ c :: Identifier │ scope_layer=1 │ [curly] │ │ Vector :: Identifier │ scope_layer=1 │ T :: Identifier │ scope_layer=1 │ [block] │ │ [call] │ │ set_scalar_constants! :: Identifier │ scope_layer=1 │ [.] │ │ g :: Identifier │ scope_layer=1 │ [inert] │ │ tree :: Identifier │ │ c :: Identifier │ scope_layer=1 │ refs :: Identifier │ scope_layer=1 │ [=] │ │ loss :: Identifier │ scope_layer=1 │ [call] │ │ _tree_mse :: Identifier │ scope_layer=1 │ [.] │ │ g :: Identifier │ scope_layer=1 │ [inert] │ │ tree :: Identifier │ │ e :: Identifier │ scope_layer=1 │ [||] │ │ [call] │ │ isfinite :: Identifier │ scope_layer=1 │ loss :: Identifier │ scope_layer=1 │ [return] │ │ [tuple] │ │ Inf :: Identifier │ scope_layer=1 │ [call] │ │ fill :: Identifier │ scope_layer=1 │ Inf :: Identifier │ scope_layer=1 │ n :: Identifier │ scope_layer=1 │ [=] │ │ grad :: Identifier │ scope_layer=1 │ [call] │ │ [curly] │ │ Vector :: Identifier │ scope_layer=1 │ Float64 :: Identifier │ scope_layer=1 │ undef :: Identifier │ scope_layer=1 │ n :: Identifier │ scope_layer=1 │ [for] │ │ [=] │ │ i :: Identifier │ scope_layer=1 │ [call] │ │ : :: Identifier │ scope_layer=1 │ 1 :: Value │ macro_source=279 │ n :: Identifier │ scope_layer=1 │ [block] │ │ [=] │ │ orig :: Identifier │ scope_layer=1 │ [ref] │ │ c :: Identifier │ scope_layer=1 │ i :: Identifier │ scope_layer=1 │ [=] │ │ [ref] │ │ c :: Identifier │ scope_layer=1 │ i :: Identifier │ scope_layer=1 │ [call] │ │ + :: Identifier │ scope_layer=1 │ orig :: Identifier │ scope_layer=1 │ h :: Identifier │ scope_layer=1 │ [call] │ │ set_scalar_constants! :: Identifier │ scope_layer=1 │ [.] │ │ g :: Identifier │ scope_layer=1 │ [inert] │ │ tree :: Identifier │ │ c :: Identifier │ scope_layer=1 │ refs :: Identifier │ scope_layer=1 │ [=] │ │ loss_p :: Identifier │ scope_layer=1 │ [call] │ │ _tree_mse :: Identifier │ scope_layer=1 │ [.] │ │ g :: Identifier │ scope_layer=1 │ [inert] │ │ tree :: Identifier │ │ e :: Identifier │ scope_layer=1 │ [=] │ │ [ref] │ │ c :: Identifier │ scope_layer=1 │ i :: Identifier │ scope_layer=1 │ [call] │ │ - :: Identifier │ scope_layer=1 │ orig :: Identifier │ scope_layer=1 │ h :: Identifier │ scope_layer=1 │ [call] │ │ set_scalar_constants! :: Identifier │ scope_layer=1 │ [.] │ │ g :: Identifier │ scope_layer=1 │ [inert] │ │ tree :: Identifier │ │ c :: Identifier │ scope_layer=1 │ refs :: Identifier │ scope_layer=1 │ [=] │ │ loss_m :: Identifier │ scope_layer=1 │ [call] │ │ _tree_mse :: Identifier │ scope_layer=1 │ [.] │ │ g :: Identifier │ scope_layer=1 │ [inert] │ │ tree :: Identifier │ │ e :: Identifier │ scope_layer=1 │ [=] │ │ [ref] │ │ c :: Identifier │ scope_layer=1 │ i :: Identifier │ scope_layer=1 │ orig :: Identifier │ scope_layer=1 │ [=] │ │ [ref] │ │ grad :: Identifier │ scope_layer=1 │ i :: Identifier │ scope_layer=1 │ [if] │ │ [&&] │ │ [call] │ │ isfinite :: Identifier │ scope_layer=1 │ loss_p :: Identifier │ scope_layer=1 │ [call] │ │ isfinite :: Identifier │ scope_layer=1 │ loss_m :: Identifier │ scope_layer=1 │ [call] │ │ / :: Identifier │ scope_layer=1 │ [call] │ │ - :: Identifier │ scope_layer=1 │ loss_p :: Identifier │ scope_layer=1 │ loss_m :: Identifier │ scope_layer=1 │ [call] │ │ * :: Identifier │ scope_layer=1 │ 2.0 :: Value │ macro_source=279 │ [call] │ │ Float64 :: Identifier │ scope_layer=1 │ h :: Identifier │ scope_layer=1 │ 0.0 :: Value │ macro_source=279 │ [call] │ │ set_scalar_constants! :: Identifier │ scope_layer=1 │ [.] │ │ g :: Identifier │ scope_layer=1 │ [inert] │ │ tree :: Identifier │ │ c :: Identifier │ scope_layer=1 │ refs :: Identifier │ scope_layer=1 │ [return] │ │ [tuple] │ │ loss :: Identifier │ scope_layer=1 │ grad :: Identifier │ scope_layer=1 │ [=] │ │ [tuple] │ │ c_opt :: Identifier │ scope_layer=1 │ loss_opt :: Identifier │ scope_layer=1 │ [call] │ │ _bfgs_minimize :: Identifier │ scope_layer=1 │ [parameters] │ │ [kw] │ │ max_iter :: Identifier │ scope_layer=1 │ max_iter :: Identifier │ scope_layer=1 │ [kw] │ │ tol :: Identifier │ scope_layer=1 │ tol :: Identifier │ scope_layer=1 │ f_and_grad :: Identifier │ scope_layer=1 │ constants :: Identifier │ scope_layer=1 │ [if] │ │ [&&] │ │ [call] │ │ isfinite :: Identifier │ scope_layer=1 │ loss_opt :: Identifier │ scope_layer=1 │ [call] │ │ < :: Identifier │ scope_layer=1 │ loss_opt :: Identifier │ scope_layer=1 │ initial_loss :: Identifier │ scope_layer=1 │ [block] │ │ [call] │ │ set_scalar_constants! :: Identifier │ scope_layer=1 │ [.] │ │ g :: Identifier │ scope_layer=1 │ [inert] │ │ tree :: Identifier │ │ c_opt :: Identifier │ scope_layer=1 │ refs :: Identifier │ scope_layer=1 │ [return] │ │ loss_opt :: Identifier │ scope_layer=1 │ [block] │ │ [call] │ │ set_scalar_constants! :: Identifier │ scope_layer=1 │ [.] │ │ g :: Identifier │ scope_layer=1 │ [inert] │ │ tree :: Identifier │ │ initial_constants :: Identifier │ scope_layer=1 │ refs :: Identifier │ scope_layer=1 │ [return] │ │ initial_loss :: Identifier │ scope_layer=1 │ [call] │ │ Base.Docs.doc! :: Value │ macro_source=279 │ Arborist :: Value │ macro_source=279 │ [call] │ │ Base.Docs.Binding :: Value │ macro_source=279 │ Arborist :: Value │ │ [inert] │ jl_source=L65 │ optimize_constants! :: Identifier │ │ [call] │ macro_source=279 │ Base.Docs.docstr :: Value │ macro_source=279 │ [call] │ macro_source=279 │ Core.svec :: Value │ macro_source=279 │ " optimize_constants!(g::TreeGenome, e::TreeFitnessEvaluator; kwargs...) -> Float64\n\nApply BFGS with central finite-difference gradients to the constants of `g.tree`\nagainst `e`'s dataset. Mutates `g.tree` in place; returns the post-optimization\nMSE loss.\n\nReturns the pre-optimization loss unchanged if the tree has zero constants or\nif the initial evaluation produces `Inf` / `NaN`. Never makes the tree worse:\nif BFGS diverges or line search fails, constants are restored and the original\nloss is returned.\n\n# Keyword arguments\n- `max_iter::Int = 50`\n- `tol::Float64 = 1e-8`\n- `fd_step::Float64 = 1e-3`\n" :: Value │ macro_source=279 │ [call] │ macro_source=279 │ Dict{Symbol, Any} :: Value │ macro_source=279 │ :path => "/home/pkgeval/.julia/packages/Arborist/s0fGK/src/tree_genome.jl" :: Value │ macro_source=279 │ :linenumber => 900 :: Value │ macro_source=279 │ :module => Arborist :: Value │ macro_source=279 │ [where] │ │ [curly] │ │ Union :: Identifier │ scope_layer=1 │ [curly] │ │ Tuple :: Identifier │ scope_layer=1 │ [curly] │ │ TreeGenome :: Identifier │ scope_layer=1 │ T :: Identifier │ scope_layer=1 │ [curly] │ │ TreeFitnessEvaluator :: Identifier │ scope_layer=1 │ T :: Identifier │ scope_layer=1 │ [curly] │ │ Tuple :: Identifier │ scope_layer=1 │ T :: Identifier │ scope_layer=1 │ [<:] │ scope_layer=1 │ T :: Identifier │ scope_layer=1 │ Any :: Identifier │ scope_layer=1 │ val :: Identifier │ scope_layer=3 │ │ file = "/home/pkgeval/.julia/packages/Arborist/s0fGK/src/tree_genome.jl" │ line = 900 └ mod = Arborist ERROR: LoadError: LoweringError: #= /home/pkgeval/.julia/packages/Arborist/s0fGK/src/tree_genome.jl:930 =# - Found unexpected binding of kind static_parameter Expression:  #₄₆/T Containing expressions:  (= #₁₀₈/T #₄₆/T)  (call core.svec (call core.svec #₁₀₁/##kw_body#optimize_constants!#0#f_and_grad##0 (call core.apply_type #₆₂/Vector #₄₆/T)) (call core.svec) SourceLocation:/home/pkgeval/.julia/packages/Arborist/s0fGK/src/tree_genome.jl:930:0)  (call core.svec (call core.svec (function_type #₄₉/f_and_grad) (call core.apply_type #₆₂/Vector #₄₆/T)) (call core.svec) SourceLocation:/home/pkgeval/.julia/packages/Arborist/s0fGK/src/tree_genome.jl:930:0)  Detailed provenance:  #₄₆/T  └─ T  └─ T  ├─ @ /home/pkgeval/.julia/packages/Arborist/s0fGK/src/tree_genome.jl:930  └─ (macrocall @doc :(#= /home/pkgeval/.julia/packages/Arborist/s0fGK/src/tree_genome.jl:900 =#) " optimize_constants!(g::TreeGenome, e::TreeFitnessEvaluator; kwargs...) -> Float64\n\nApply BFGS with central finite-difference gradients to the constants of `g.tree`\nagainst `e`'s dataset. Mutates `g.tree` in place; returns the post-optimization\nMSE loss.\n\nReturns the pre-optimization loss unchanged if the tree has zero constants or\nif the initial evaluation produces `Inf` / `NaN`. Never makes the tree worse:\nif BFGS diverges or line search fails, constants are restored and the original\nloss is returned.\n\n# Keyword arguments\n- `max_iter::Int = 50`\n- `tol::Float64 = 1e-8`\n- `fd_step::Float64 = 1e-3`\n" (function (where (call optimize_constants! (parameters (kw (:: max_iter Int) 50) (kw (:: tol Float64) 1.0e-8) (kw (:: fd_step Float64) 0.001)) (:: g (curly TreeGenome T)) (:: e (curly TreeFitnessEvaluator T))) T) (block (= (tuple constants refs) (call get_scalar_constants (. g (inert tree)))) (= n (call length constants)) (= initial_loss (call _tree_mse (. g (inert tree)) e)) (&& (call == n 0) (return initial_loss)) (|| (call isfinite initial_loss) (return initial_loss)) (= initial_constants (call copy constants)) (= h (call T fd_step)) (function (call f_and_grad (:: c (curly Vector T))) (block (call set_scalar_constants! (. g (inert tree)) c refs) (= loss (call _tree_mse (. g (inert tree)) e)) (|| (call isfinite loss) (return (tuple Inf (call fill Inf n)))) (= grad (call (curly Vector Float64) undef n)) (for (= i (call : 1 n)) (block (= orig (ref c i)) (= (ref c i) (call + orig h)) (call set_scalar_constants! (. g (inert tree)) c refs) (= loss_p (call _tree_mse (. g (inert tree)) e)) (= (ref c i) (call - orig h)) (call set_scalar_constants! (. g (inert tree)) c refs) (= loss_m (call _tree_mse (. g (inert tree)) e)) (= (ref c i) orig) (= (ref grad i) (if (&& (call isfinite loss_p) (call isfinite loss_m)) (call / (call - loss_p loss_m) (call * 2.0 (call Float64 h))) 0.0)))) (call set_scalar_constants! (. g (inert tree)) c refs) (return (tuple loss grad)))) (= (tuple c_opt loss_opt) (call _bfgs_minimize (parameters (kw max_iter max_iter) (kw tol tol)) f_and_grad constants)) (if (&& (call isfinite loss_opt) (call < loss_opt initial_loss)) (block (call set_scalar_constants! (. g (inert tree)) c_opt refs) (return loss_opt)) (block (call set_scalar_constants! (. g (inert tree)) initial_constants refs) (return initial_loss))))))  └─ @ /home/pkgeval/.julia/packages/Arborist/s0fGK/src/tree_genome.jl:900  Stacktrace:  [1] _renumber(ctx::Base.JuliaLowering.LinearIRContext{Dict{Symbol, Dict{Int64, Any}}}, ssa_rewrites::Dict{Int64, Int64}, slot_rewrites::Dict{Int64, Int64}, label_table::Dict{Int64, Int64}, ex::Base.JuliaSyntax.SyntaxTree{Dict{Symbol, Dict{Int64, Any}}})  @ Base.JuliaLowering /source/usr/share/julia/JuliaLowering/src/linear_ir.jl:1097  [2] renumber_body(ctx::Base.JuliaLowering.LinearIRContext{Dict{Symbol, Dict{Int64, Any}}}, input_code::Base.JuliaSyntax.SyntaxList{Dict{Symbol, Dict{Int64, Any}}, Vector{Int64}}, slot_rewrites::Dict{Int64, Int64})  @ Base.JuliaLowering /source/usr/share/julia/JuliaLowering/src/linear_ir.jl:1162  [3] compile_lambda(outer_ctx::Base.JuliaLowering.LinearIRContext{Dict{Symbol, Dict{Int64, Any}}}, ex::Base.JuliaSyntax.SyntaxTree{Dict{Symbol, Dict{Int64, Any}}})  @ Base.JuliaLowering /source/usr/share/julia/JuliaLowering/src/linear_ir.jl:1257  [4] linearize_ir(ctx::Base.JuliaLowering.ClosureConversionCtx{Dict{Symbol, Dict{Int64, Any}}}, ex::Base.JuliaSyntax.SyntaxTree{Dict{Symbol, Dict{Int64, Any}}})  @ Base.JuliaLowering /source/usr/share/julia/JuliaLowering/src/linear_ir.jl:1287  [5] core_lowering_hook(code::Any, mod::Module, file::String, line::UInt64, world::UInt64, _warn::Bool)  @ Base.JuliaLowering /source/usr/share/julia/JuliaLowering/src/hooks.jl:33  [6] include(mapexpr::Function, mod::Module, _path::String)  @ Base Base.jl:326  [7] top-level scope  @ ~/.julia/packages/Arborist/s0fGK/src/Arborist.jl:101  [8] include(mod::Module, _path::String)  @ Base Base.jl:325  [9] include_package_for_output(pkg::Base.PkgId, input::String, syntax_version::VersionNumber, depot_path::Vector{String}, dl_load_path::Vector{String}, load_path::Vector{String}, concrete_deps::Vector{Pair{Base.PkgId, UInt128}}, source::Nothing)  @ Base loading.jl:3296  [10] top-level scope  @ stdin:5  [11] eval(m::Module, e::Any)  @ Core boot.jl:522  [12] include_string(mapexpr::typeof(identity), mod::Module, code::String, filename::String)  @ Base loading.jl:3132  [13] include_string(m::Module, txt::String, fname::String)  @ Base loading.jl:3142 [inlined]  [14] exec_options(opts::Base.JLOptions)  @ Base client.jl:353  [15] _start()  @ Base client.jl:596 in expression starting at /home/pkgeval/.julia/packages/Arborist/s0fGK/src/tree_genome.jl:900 in expression starting at /home/pkgeval/.julia/packages/Arborist/s0fGK/src/Arborist.jl:1 in expression starting at stdin:5 1 dependency had output during precompilation: ┌ Arborist │ [Output was shown above] └ ERROR: LoadError: The following 1 package failed to precompile: Arborist Failed to precompile Arborist [226a4f77-d45f-40bb-908f-e1e2bc89957a] to "/home/pkgeval/.julia/compiled/v1.14/Arborist/jl_U3Y3M8" (ProcessExited(1)). in expression starting at /home/pkgeval/.julia/packages/Arborist/s0fGK/test/runtests.jl:2 Testing failed after 188.27s ERROR: LoadError: Package Arborist errored during testing Stacktrace: [1] pkgerror(msg::String) @ Pkg.Types /opt/julia/share/julia/stdlib/v1.14/Pkg/src/Types.jl:68 [2] test(ctx::Pkg.Types.Context, pkgs::Vector{PackageSpec}; coverage::Bool, julia_args::Cmd, test_args::Cmd, test_fn::Nothing, force_latest_compatible_version::Bool, allow_earlier_backwards_compatible_versions::Bool, allow_reresolve::Bool) @ Pkg.Operations /opt/julia/share/julia/stdlib/v1.14/Pkg/src/Operations.jl:3247 [3] test(ctx::Pkg.Types.Context, pkgs::Vector{PackageSpec}; coverage::Bool, test_fn::Nothing, julia_args::Cmd, test_args::Cmd, force_latest_compatible_version::Bool, allow_earlier_backwards_compatible_versions::Bool, allow_reresolve::Bool, kwargs::@Kwargs{io::IOContext{IO}}) @ Pkg.API /opt/julia/share/julia/stdlib/v1.14/Pkg/src/API.jl:587 [4] test(pkgs::Vector{PackageSpec}; io::IOContext{IO}, kwargs::@Kwargs{julia_args::Cmd}) @ Pkg.API /opt/julia/share/julia/stdlib/v1.14/Pkg/src/API.jl:172 [5] test(pkgs::Vector{String}; kwargs::@Kwargs{julia_args::Cmd}) @ Pkg.API /opt/julia/share/julia/stdlib/v1.14/Pkg/src/API.jl:160 [6] test(pkg::String; kwargs::@Kwargs{julia_args::Cmd}) @ Pkg.API /opt/julia/share/julia/stdlib/v1.14/Pkg/src/API.jl:159 [inlined] [7] top-level scope @ /PkgEval.jl/scripts/evaluate.jl:223 [8] include(mod::Module, _path::String) @ Base Base.jl:325 [9] exec_options(opts::Base.JLOptions) @ Base client.jl:355 [10] _start() @ Base client.jl:596 in expression starting at /PkgEval.jl/scripts/evaluate.jl:214 PkgEval failed after 1139.25s: package fails to precompile