Package evaluation to test Arborist on Julia 1.14.0-DEV.2593 (15c2b67521*) started at 2026-07-03T22:13:53.649 ################################################################################ # Set-up # Installing PkgEval dependencies (TestEnv)... Activating project at `~/.julia/environments/v1.14` Set-up completed after 15.11s ################################################################################ # Installation # Installing Arborist... Resolving package versions... Installed CommonSolve ──────── v0.2.9 Installed Compat ───────────── v4.18.1 Installed Reexport ─────────── v1.2.2 Installed MacroTools ───────── v0.5.16 Installed Preferences ──────── v1.5.2 Installed Interfaces ───────── v0.3.2 Installed DynamicExpressions ─ v2.5.2 Installed PrecompileTools ──── v1.3.4 Installed DispatchDoctor ───── v0.4.28 Installed ChainRulesCore ───── v1.26.1 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.9 [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.5+2 [deac9b47] + LibCURL_jll v8.21.0+0 [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 5.2s ################################################################################ # Precompilation # Precompiling PkgEval dependencies... Precompiling project... 8.8 s ✓ TestEnv 1 dependency successfully precompiled in 9 seconds. 27 already precompiled. Precompiling package dependencies... Precompiling project... 4.3 s ✓ MacroTools 1.8 s ✓ Interfaces 0.6 s ✓ Reexport 0.8 s ✓ CommonSolve 31.1 s ✓ Preferences 2.2 s ✓ Compat 31.0 s ✓ PrecompileTools 34.4 s ✓ DispatchDoctor 1.0 s ✓ Compat → CompatLinearAlgebraExt 33.2 s ✓ RecipesBase 295.1 s ✓ ChainRulesCore 70.3 s ✓ DispatchDoctor → DispatchDoctorChainRulesCoreExt 602.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,context,syntax_flags,name_val,meta,value,jl_source,is_toplevel_thunk,source │ [macrocall] | │ @doc :: Identifier | mod=Core │ :(#= /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,context,syntax_flags,name_val,meta,value,jl_source,is_toplevel_thunk,source │ [block] | [old,SL(1QFb5qJ96A9,Base.Docs,SL(FG2T1W0Aj2F,Arborist,)),@doc], │ [if] | [old,SL(1QFb5qJ96A9,Base.Docs,SL(FG2T1W0Aj2F,Arborist,)),@doc], │ true :: Value | [old,SL(1QFb5qJ96A9,Base.Docs,SL(FG2T1W0Aj2F,Arborist,)),@doc], │ [=] | [old,SL(1QFb5qJ96A9,Base.Docs,SL(FG2T1W0Aj2F,Arborist,)),@doc], │ val :: Identifier | [old,SL(1QFb5qJ96A9,Base.Docs,SL(FG2T1W0Aj2F,Arborist,)),@doc], │ [function] | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ [where] | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ [call] | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ optimize_constants! :: Identifier | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ [parameters] | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ [kw] | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ [::] | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ max_iter :: Identifier | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ Int :: Identifier | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ 50 :: Value | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ [kw] | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ [::] | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ tol :: Identifier | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ Float64 :: Identifier | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ 1.0e-8 :: Value | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ [kw] | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ [::] | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ fd_step :: Identifier | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ Float64 :: Identifier | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ 0.001 :: Value | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ [::] | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ g :: Identifier | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ [curly] | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ TreeGenome :: Identifier | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ T :: Identifier | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ [::] | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ e :: Identifier | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ [curly] | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ TreeFitnessEvaluator :: Identifier | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ T :: Identifier | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ T :: Identifier | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ [block] | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ [=] | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ [tuple] | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ constants :: Identifier | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ refs :: Identifier | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ [call] | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ get_scalar_constants :: Identifier | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ [.] | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ g :: Identifier | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ [inert] | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ tree :: Identifier | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ [=] | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ n :: Identifier | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ [call] | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ length :: Identifier | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ constants :: Identifier | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ [=] | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ initial_loss :: Identifier | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ [call] | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ _tree_mse :: Identifier | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ [.] | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ g :: Identifier | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ [inert] | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ tree :: Identifier | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ e :: Identifier | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ [&&] | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ [call] | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ == :: Identifier | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ n :: Identifier | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ 0 :: Value | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ [return] | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ initial_loss :: Identifier | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ [||] | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ [call] | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ isfinite :: Identifier | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ initial_loss :: Identifier | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ [return] | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ initial_loss :: Identifier | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ [=] | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ initial_constants :: Identifier | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ [call] | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ copy :: Identifier | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ constants :: Identifier | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ [=] | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ h :: Identifier | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ [call] | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ T :: Identifier | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ fd_step :: Identifier | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ [function] | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ [call] | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ f_and_grad :: Identifier | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ [::] | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ c :: Identifier | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ [curly] | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ Vector :: Identifier | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ T :: Identifier | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ [block] | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ [call] | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ set_scalar_constants! :: Identifier | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ [.] | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ g :: Identifier | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ [inert] | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ tree :: Identifier | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ c :: Identifier | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ refs :: Identifier | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ [=] | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ loss :: Identifier | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ [call] | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ _tree_mse :: Identifier | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ [.] | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ g :: Identifier | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ [inert] | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ tree :: Identifier | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ e :: Identifier | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ [||] | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ [call] | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ isfinite :: Identifier | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ loss :: Identifier | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ [return] | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ [tuple] | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ Inf :: Identifier | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ [call] | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ fill :: Identifier | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ Inf :: Identifier | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ n :: Identifier | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ [=] | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ grad :: Identifier | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ [call] | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ [curly] | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ Vector :: Identifier | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ Float64 :: Identifier | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ undef :: Identifier | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ n :: Identifier | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ [for] | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ [=] | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ i :: Identifier | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ [call] | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ : :: Identifier | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ 1 :: Value | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ n :: Identifier | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ [block] | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ [=] | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ orig :: Identifier | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ [ref] | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ c :: Identifier | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ i :: Identifier | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ [=] | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ [ref] | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ c :: Identifier | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ i :: Identifier | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ [call] | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ + :: Identifier | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ orig :: Identifier | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ h :: Identifier | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ [call] | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ set_scalar_constants! :: Identifier | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ [.] | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ g :: Identifier | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ [inert] | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ tree :: Identifier | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ c :: Identifier | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ refs :: Identifier | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ [=] | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ loss_p :: Identifier | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ [call] | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ _tree_mse :: Identifier | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ [.] | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ g :: Identifier | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ [inert] | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ tree :: Identifier | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ e :: Identifier | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ [=] | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ [ref] | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ c :: Identifier | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ i :: Identifier | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ [call] | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ - :: Identifier | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ orig :: Identifier | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ h :: Identifier | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ [call] | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ set_scalar_constants! :: Identifier | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ [.] | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ g :: Identifier | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ [inert] | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ tree :: Identifier | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ c :: Identifier | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ refs :: Identifier | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ [=] | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ loss_m :: Identifier | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ [call] | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ _tree_mse :: Identifier | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ [.] | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ g :: Identifier | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ [inert] | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ tree :: Identifier | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ e :: Identifier | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ [=] | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ [ref] | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ c :: Identifier | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ i :: Identifier | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ orig :: Identifier | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ [=] | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ [ref] | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ grad :: Identifier | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ i :: Identifier | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ [if] | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ [&&] | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ [call] | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ isfinite :: Identifier | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ loss_p :: Identifier | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ [call] | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ isfinite :: Identifier | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ loss_m :: Identifier | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ [call] | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ / :: Identifier | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ [call] | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ - :: Identifier | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ loss_p :: Identifier | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ loss_m :: Identifier | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ [call] | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ * :: Identifier | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ 2.0 :: Value | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ [call] | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ Float64 :: Identifier | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ h :: Identifier | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ 0.0 :: Value | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ [call] | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ set_scalar_constants! :: Identifier | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ [.] | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ g :: Identifier | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ [inert] | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ tree :: Identifier | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ c :: Identifier | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ refs :: Identifier | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ [return] | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ [tuple] | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ loss :: Identifier | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ grad :: Identifier | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ [=] | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ [tuple] | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ c_opt :: Identifier | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ loss_opt :: Identifier | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ [call] | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ _bfgs_minimize :: Identifier | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ [parameters] | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ [kw] | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ max_iter :: Identifier | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ max_iter :: Identifier | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ [kw] | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ tol :: Identifier | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ tol :: Identifier | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ f_and_grad :: Identifier | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ constants :: Identifier | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ [if] | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ [&&] | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ [call] | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ isfinite :: Identifier | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ loss_opt :: Identifier | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ [call] | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ < :: Identifier | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ loss_opt :: Identifier | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ initial_loss :: Identifier | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ [block] | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ [call] | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ set_scalar_constants! :: Identifier | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ [.] | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ g :: Identifier | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ [inert] | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ tree :: Identifier | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ c_opt :: Identifier | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ refs :: Identifier | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ [return] | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ loss_opt :: Identifier | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ [block] | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ [call] | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ set_scalar_constants! :: Identifier | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ [.] | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ g :: Identifier | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ [inert] | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ tree :: Identifier | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ initial_constants :: Identifier | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ refs :: Identifier | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ [return] | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ initial_loss :: Identifier | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ [call] | [old,SL(1QFb5qJ96A9,Base.Docs,SL(FG2T1W0Aj2F,Arborist,)),@doc], │ Base.Docs.doc! :: Value | [old,SL(1QFb5qJ96A9,Base.Docs,SL(FG2T1W0Aj2F,Arborist,)),@doc], │ Arborist :: Value | [old,SL(1QFb5qJ96A9,Base.Docs,SL(FG2T1W0Aj2F,Arborist,)),@doc], │ [call] | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ Base.Docs.Binding :: Value | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ Arborist :: Value | [old,SL(1n6Ur5Z10Kz,Base,SL(FG2T1W0Aj2F,Arborist,)),(. Base (inert @__MODULE__))], │ [inert] | [old,SL(FG2T1W0Aj2F,Arborist,),@doc],jl_source=L47 │ optimize_constants! :: Identifier | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ [call] | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ Base.Docs.docstr :: Value | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ [call] | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ Core.svec :: Value | [old,SL(FG2T1W0Aj2F,Arborist,),@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" :: Value | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ [call] | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ Dict{Symbol, Any} :: Value | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ :path => "/home/pkgeval/.julia/packages/Arborist/s0fGK/src/tree_genome.jl" :: Value | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ :linenumber => 900 :: Value | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ :module => Arborist :: Value | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ [where] | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ [curly] | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ Union :: Identifier | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ [curly] | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ Tuple :: Identifier | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ [curly] | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ TreeGenome :: Identifier | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ T :: Identifier | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ [curly] | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ TreeFitnessEvaluator :: Identifier | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ T :: Identifier | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ [curly] | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ Tuple :: Identifier | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ T :: Identifier | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ [<:] | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ T :: Identifier | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ Any :: Identifier | [old,SL(FG2T1W0Aj2F,Arborist,),@doc], │ [if] | [old,SL(1QFb5qJ96A9,Base.Docs,SL(FG2T1W0Aj2F,Arborist,)),@doc], │ true :: Value | [old,SL(1QFb5qJ96A9,Base.Docs,SL(FG2T1W0Aj2F,Arborist,)),@doc], │ val :: Identifier | [old,SL(1QFb5qJ96A9,Base.Docs,SL(FG2T1W0Aj2F,Arborist,)),@doc], │ │ 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))))))  │ └─ (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  └─ (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))))))  └─ (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:3303  [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:118  [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:3303  [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 1209 seconds. 25 already precompiled. Precompilation completed after 1257.92s ################################################################################ # Testing # Testing Arborist Status `/tmp/jl_0IJGaG/Project.toml` [226a4f77] Arborist v0.1.2 [38540f10] CommonSolve v0.2.9 [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_0IJGaG/Manifest.toml` [226a4f77] Arborist v0.1.2 [d360d2e6] ChainRulesCore v1.26.1 [38540f10] CommonSolve v0.2.9 [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.5+2 [deac9b47] LibCURL_jll v8.21.0+0 [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,context,syntax_flags,name_val,meta,value,jl_source,is_toplevel_thunk,source │ [macrocall] | │ @doc :: Identifier | mod=Core │ :(#= /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,context,syntax_flags,name_val,meta,value,jl_source,is_toplevel_thunk,source │ [block] | [old,SL(Ji21YJjUQSQ,Base.Docs,SL(9UlFTIsBOVO,Arborist,)),@doc], │ [if] | [old,SL(Ji21YJjUQSQ,Base.Docs,SL(9UlFTIsBOVO,Arborist,)),@doc], │ true :: Value | [old,SL(Ji21YJjUQSQ,Base.Docs,SL(9UlFTIsBOVO,Arborist,)),@doc], │ [=] | [old,SL(Ji21YJjUQSQ,Base.Docs,SL(9UlFTIsBOVO,Arborist,)),@doc], │ val :: Identifier | [old,SL(Ji21YJjUQSQ,Base.Docs,SL(9UlFTIsBOVO,Arborist,)),@doc], │ [function] | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ [where] | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ [call] | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ optimize_constants! :: Identifier | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ [parameters] | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ [kw] | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ [::] | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ max_iter :: Identifier | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ Int :: Identifier | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ 50 :: Value | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ [kw] | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ [::] | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ tol :: Identifier | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ Float64 :: Identifier | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ 1.0e-8 :: Value | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ [kw] | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ [::] | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ fd_step :: Identifier | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ Float64 :: Identifier | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ 0.001 :: Value | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ [::] | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ g :: Identifier | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ [curly] | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ TreeGenome :: Identifier | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ T :: Identifier | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ [::] | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ e :: Identifier | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ [curly] | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ TreeFitnessEvaluator :: Identifier | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ T :: Identifier | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ T :: Identifier | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ [block] | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ [=] | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ [tuple] | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ constants :: Identifier | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ refs :: Identifier | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ [call] | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ get_scalar_constants :: Identifier | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ [.] | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ g :: Identifier | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ [inert] | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ tree :: Identifier | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ [=] | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ n :: Identifier | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ [call] | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ length :: Identifier | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ constants :: Identifier | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ [=] | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ initial_loss :: Identifier | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ [call] | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ _tree_mse :: Identifier | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ [.] | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ g :: Identifier | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ [inert] | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ tree :: Identifier | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ e :: Identifier | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ [&&] | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ [call] | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ == :: Identifier | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ n :: Identifier | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ 0 :: Value | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ [return] | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ initial_loss :: Identifier | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ [||] | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ [call] | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ isfinite :: Identifier | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ initial_loss :: Identifier | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ [return] | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ initial_loss :: Identifier | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ [=] | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ initial_constants :: Identifier | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ [call] | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ copy :: Identifier | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ constants :: Identifier | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ [=] | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ h :: Identifier | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ [call] | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ T :: Identifier | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ fd_step :: Identifier | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ [function] | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ [call] | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ f_and_grad :: Identifier | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ [::] | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ c :: Identifier | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ [curly] | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ Vector :: Identifier | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ T :: Identifier | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ [block] | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ [call] | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ set_scalar_constants! :: Identifier | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ [.] | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ g :: Identifier | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ [inert] | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ tree :: Identifier | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ c :: Identifier | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ refs :: Identifier | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ [=] | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ loss :: Identifier | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ [call] | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ _tree_mse :: Identifier | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ [.] | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ g :: Identifier | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ [inert] | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ tree :: Identifier | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ e :: Identifier | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ [||] | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ [call] | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ isfinite :: Identifier | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ loss :: Identifier | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ [return] | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ [tuple] | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ Inf :: Identifier | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ [call] | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ fill :: Identifier | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ Inf :: Identifier | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ n :: Identifier | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ [=] | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ grad :: Identifier | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ [call] | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ [curly] | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ Vector :: Identifier | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ Float64 :: Identifier | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ undef :: Identifier | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ n :: Identifier | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ [for] | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ [=] | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ i :: Identifier | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ [call] | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ : :: Identifier | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ 1 :: Value | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ n :: Identifier | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ [block] | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ [=] | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ orig :: Identifier | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ [ref] | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ c :: Identifier | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ i :: Identifier | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ [=] | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ [ref] | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ c :: Identifier | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ i :: Identifier | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ [call] | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ + :: Identifier | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ orig :: Identifier | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ h :: Identifier | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ [call] | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ set_scalar_constants! :: Identifier | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ [.] | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ g :: Identifier | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ [inert] | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ tree :: Identifier | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ c :: Identifier | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ refs :: Identifier | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ [=] | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ loss_p :: Identifier | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ [call] | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ _tree_mse :: Identifier | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ [.] | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ g :: Identifier | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ [inert] | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ tree :: Identifier | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ e :: Identifier | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ [=] | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ [ref] | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ c :: Identifier | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ i :: Identifier | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ [call] | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ - :: Identifier | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ orig :: Identifier | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ h :: Identifier | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ [call] | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ set_scalar_constants! :: Identifier | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ [.] | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ g :: Identifier | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ [inert] | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ tree :: Identifier | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ c :: Identifier | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ refs :: Identifier | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ [=] | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ loss_m :: Identifier | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ [call] | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ _tree_mse :: Identifier | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ [.] | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ g :: Identifier | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ [inert] | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ tree :: Identifier | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ e :: Identifier | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ [=] | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ [ref] | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ c :: Identifier | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ i :: Identifier | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ orig :: Identifier | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ [=] | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ [ref] | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ grad :: Identifier | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ i :: Identifier | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ [if] | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ [&&] | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ [call] | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ isfinite :: Identifier | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ loss_p :: Identifier | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ [call] | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ isfinite :: Identifier | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ loss_m :: Identifier | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ [call] | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ / :: Identifier | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ [call] | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ - :: Identifier | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ loss_p :: Identifier | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ loss_m :: Identifier | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ [call] | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ * :: Identifier | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ 2.0 :: Value | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ [call] | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ Float64 :: Identifier | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ h :: Identifier | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ 0.0 :: Value | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ [call] | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ set_scalar_constants! :: Identifier | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ [.] | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ g :: Identifier | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ [inert] | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ tree :: Identifier | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ c :: Identifier | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ refs :: Identifier | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ [return] | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ [tuple] | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ loss :: Identifier | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ grad :: Identifier | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ [=] | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ [tuple] | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ c_opt :: Identifier | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ loss_opt :: Identifier | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ [call] | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ _bfgs_minimize :: Identifier | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ [parameters] | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ [kw] | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ max_iter :: Identifier | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ max_iter :: Identifier | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ [kw] | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ tol :: Identifier | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ tol :: Identifier | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ f_and_grad :: Identifier | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ constants :: Identifier | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ [if] | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ [&&] | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ [call] | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ isfinite :: Identifier | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ loss_opt :: Identifier | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ [call] | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ < :: Identifier | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ loss_opt :: Identifier | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ initial_loss :: Identifier | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ [block] | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ [call] | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ set_scalar_constants! :: Identifier | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ [.] | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ g :: Identifier | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ [inert] | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ tree :: Identifier | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ c_opt :: Identifier | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ refs :: Identifier | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ [return] | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ loss_opt :: Identifier | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ [block] | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ [call] | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ set_scalar_constants! :: Identifier | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ [.] | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ g :: Identifier | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ [inert] | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ tree :: Identifier | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ initial_constants :: Identifier | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ refs :: Identifier | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ [return] | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ initial_loss :: Identifier | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ [call] | [old,SL(Ji21YJjUQSQ,Base.Docs,SL(9UlFTIsBOVO,Arborist,)),@doc], │ Base.Docs.doc! :: Value | [old,SL(Ji21YJjUQSQ,Base.Docs,SL(9UlFTIsBOVO,Arborist,)),@doc], │ Arborist :: Value | [old,SL(Ji21YJjUQSQ,Base.Docs,SL(9UlFTIsBOVO,Arborist,)),@doc], │ [call] | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ Base.Docs.Binding :: Value | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ Arborist :: Value | [old,SL(CJtwSs7orwQ,Base,SL(9UlFTIsBOVO,Arborist,)),(. Base (inert @__MODULE__))], │ [inert] | [old,SL(9UlFTIsBOVO,Arborist,),@doc],jl_source=L47 │ optimize_constants! :: Identifier | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ [call] | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ Base.Docs.docstr :: Value | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ [call] | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ Core.svec :: Value | [old,SL(9UlFTIsBOVO,Arborist,),@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" :: Value | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ [call] | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ Dict{Symbol, Any} :: Value | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ :path => "/home/pkgeval/.julia/packages/Arborist/s0fGK/src/tree_genome.jl" :: Value | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ :linenumber => 900 :: Value | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ :module => Arborist :: Value | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ [where] | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ [curly] | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ Union :: Identifier | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ [curly] | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ Tuple :: Identifier | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ [curly] | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ TreeGenome :: Identifier | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ T :: Identifier | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ [curly] | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ TreeFitnessEvaluator :: Identifier | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ T :: Identifier | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ [curly] | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ Tuple :: Identifier | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ T :: Identifier | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ [<:] | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ T :: Identifier | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ Any :: Identifier | [old,SL(9UlFTIsBOVO,Arborist,),@doc], │ [if] | [old,SL(Ji21YJjUQSQ,Base.Docs,SL(9UlFTIsBOVO,Arborist,)),@doc], │ true :: Value | [old,SL(Ji21YJjUQSQ,Base.Docs,SL(9UlFTIsBOVO,Arborist,)),@doc], │ val :: Identifier | [old,SL(Ji21YJjUQSQ,Base.Docs,SL(9UlFTIsBOVO,Arborist,)),@doc], │ │ 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))))))  │ └─ (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  └─ (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))))))  └─ (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:3303  [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_faZGzT" (ProcessExited(1)). in expression starting at /home/pkgeval/.julia/packages/Arborist/s0fGK/test/runtests.jl:2 Testing failed after 191.87s 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 1501.42s: package fails to precompile