Package evaluation to test TowerOfEnzyme on Julia 1.14.0-DEV.1613 (8dab3f0623*) started at 2026-01-25T15:46:20.020 ################################################################################ # Set-up # Installing PkgEval dependencies (TestEnv)... Activating project at `~/.julia/environments/v1.14` Set-up completed after 9.87s ################################################################################ # Installation # Installing TowerOfEnzyme... Resolving package versions... Updating `~/.julia/environments/v1.14/Project.toml` [42b7b2d3] + TowerOfEnzyme v0.1.0 Updating `~/.julia/environments/v1.14/Manifest.toml` [fa961155] + CEnum v0.5.0 [7da242da] + Enzyme v0.13.118 [f151be2c] + EnzymeCore v0.8.18 [e2ba6199] + ExprTools v0.1.10 [61eb1bfa] + GPUCompiler v1.8.1 [692b3bcd] + JLLWrappers v1.7.1 [929cbde3] + LLVM v9.4.4 [d8793406] + ObjectFile v0.5.0 [aea7be01] + PrecompileTools v1.3.3 [21216c6a] + Preferences v1.5.1 [189a3867] + Reexport v1.2.2 [6c6a2e73] + Scratch v1.3.0 [53d494c1] + StructIO v0.3.1 [42b7b2d3] + TowerOfEnzyme v0.1.0 [e689c965] + Tracy v0.1.6 ⌅ [7cc45869] + Enzyme_jll v0.0.238+0 [dad2f222] + LLVMExtra_jll v0.0.38+0 [ad6e5548] + LibTracyClient_jll v0.13.1+0 [0dad84c5] + ArgTools v1.1.2 [56f22d72] + Artifacts v1.11.0 [2a0f44e3] + Base64 v1.11.0 [ade2ca70] + Dates v1.11.0 [f43a241f] + Downloads v1.7.0 [7b1f6079] + FileWatching v1.11.0 [b77e0a4c] + InteractiveUtils v1.11.0 [ac6e5ff7] + JuliaSyntaxHighlighting v1.13.0 [4af54fe1] + LazyArtifacts v1.11.0 [b27032c2] + LibCURL v1.0.0 [76f85450] + LibGit2 v1.11.0 [8f399da3] + Libdl v1.11.0 [37e2e46d] + LinearAlgebra v1.13.0 [56ddb016] + Logging v1.11.0 [d6f4376e] + Markdown v1.11.0 [ca575930] + NetworkOptions v1.3.0 [44cfe95a] + Pkg v1.14.0 [de0858da] + Printf v1.11.0 [9a3f8284] + Random v1.11.0 [ea8e919c] + SHA v1.0.0 [9e88b42a] + Serialization v1.11.0 [2f01184e] + SparseArrays v1.13.0 [f489334b] + StyledStrings v1.13.0 [fa267f1f] + TOML v1.0.3 [a4e569a6] + Tar v1.10.0 [cf7118a7] + UUIDs v1.11.0 [4ec0a83e] + Unicode v1.11.0 [e66e0078] + CompilerSupportLibraries_jll v1.3.0+1 [deac9b47] + LibCURL_jll v8.18.0+0 [e37daf67] + LibGit2_jll v1.9.2+0 [29816b5a] + LibSSH2_jll v1.11.3+1 [14a3606d] + MozillaCACerts_jll v2025.12.2 [4536629a] + OpenBLAS_jll v0.3.30+0 [458c3c95] + OpenSSL_jll v3.5.4+0 [efcefdf7] + PCRE2_jll v10.47.0+0 [bea87d4a] + SuiteSparse_jll v7.10.1+0 [83775a58] + Zlib_jll v1.3.1+2 [3161d3a3] + Zstd_jll v1.5.7+1 [8e850b90] + libblastrampoline_jll v5.15.0+0 [8e850ede] + nghttp2_jll v1.68.0+1 [3f19e933] + p7zip_jll v17.7.0+0 Info Packages marked with ⌅ have new versions available but compatibility constraints restrict them from upgrading. To see why use `status --outdated -m` Installation completed after 7.15s ################################################################################ # Precompilation # Precompiling PkgEval dependencies... Precompiling package dependencies... Precompiling packages... 13657.6 ms ✓ ChainRules 166094.3 ms ✓ SymbolicUtils ┌ Warning: Enzyme.jl support for Julia 1.12 is presently in progress. │ For the time being we recommend using 1.11 or LTS (1.10). │ │ For latest updates, check the status of support for Julia 1.12+ at │ https://github.com/EnzymeAD/Enzyme.jl/issues/2699. │ └ @ Enzyme ~/.julia/packages/Enzyme/2lHFw/src/Enzyme.jl:1580 28608.8 ms ✓ TowerOfEnzyme 1620.2 ms ✓ ArrayInterface → ArrayInterfaceChainRulesExt 8951.9 ms ✓ SymbolicLimits 8973.6 ms ✓ SymbolicUtils → SymbolicUtilsChainRulesCoreExt 168724.9 ms ✓ Symbolics 59059.6 ms ✓ TaylorDiff 36398.7 ms ✓ TaylorDiff → TaylorDiffSFExt 9 dependencies successfully precompiled in 494 seconds. 156 already precompiled. 1 dependency had output during precompilation: ┌ TowerOfEnzyme │ ┌ Warning: Enzyme.jl support for Julia 1.12 is presently in progress. │ │ For the time being we recommend using 1.11 or LTS (1.10). │ │ │ │ For latest updates, check the status of support for Julia 1.12+ at │ │ https://github.com/EnzymeAD/Enzyme.jl/issues/2699. │ │ │ └ @ Enzyme ~/.julia/packages/Enzyme/2lHFw/src/Enzyme.jl:1580 └ Precompilation completed after 517.92s ################################################################################ # Testing # Testing TowerOfEnzyme Status `/tmp/jl_fjRE0K/Project.toml` [90137ffa] StaticArrays v1.9.16 [b36ab563] TaylorDiff v0.3.5 [42b7b2d3] TowerOfEnzyme v0.1.0 `~/.julia/packages/TowerOfEnzyme/wUeMv` [8dfed614] Test v1.11.0 Status `/tmp/jl_fjRE0K/Manifest.toml` [47edcb42] ADTypes v1.21.0 [6e696c72] AbstractPlutoDingetjes v1.3.2 [1520ce14] AbstractTrees v0.4.5 [7d9f7c33] Accessors v0.1.43 [79e6a3ab] Adapt v4.4.0 [4fba245c] ArrayInterface v7.22.0 [e2ed5e7c] Bijections v0.2.2 [fa961155] CEnum v0.5.0 [082447d4] ChainRules v1.72.6 [d360d2e6] ChainRulesCore v1.26.0 ⌅ [861a8166] Combinatorics v1.0.2 [f70d9fcc] CommonWorldInvalidations v1.0.0 [34da2185] Compat v4.18.1 [b152e2b5] CompositeTypes v0.1.4 [a33af91c] CompositionsBase v0.1.2 [187b0558] ConstructionBase v1.6.0 [9a962f9c] DataAPI v1.16.0 [864edb3b] DataStructures v0.19.3 [e2d170a0] DataValueInterfaces v1.0.0 [b552c78f] DiffRules v1.15.1 [ffbed154] DocStringExtensions v0.9.5 [5b8099bc] DomainSets v0.7.16 [7c1d4256] DynamicPolynomials v0.6.4 [4e289a0a] EnumX v1.0.6 [7da242da] Enzyme v0.13.118 [f151be2c] EnzymeCore v0.8.18 [e2ba6199] ExprTools v0.1.10 [55351af7] ExproniconLite v0.10.14 [46192b85] GPUArraysCore v0.2.0 [61eb1bfa] GPUCompiler v1.8.1 [18e54dd8] IntegerMathUtils v0.1.3 [8197267c] IntervalSets v0.7.13 [3587e190] InverseFunctions v0.1.17 [92d709cd] IrrationalConstants v0.2.6 [82899510] IteratorInterfaceExtensions v1.0.0 [692b3bcd] JLLWrappers v1.7.1 [ae98c720] Jieko v0.2.1 [929cbde3] LLVM v9.4.4 [2ab3a3ac] LogExpFunctions v0.3.29 [1914dd2f] MacroTools v0.5.16 [2e0e35c7] Moshi v0.3.7 [102ac46a] MultivariatePolynomials v0.5.13 [d8a4904e] MutableArithmetics v1.6.7 [77ba4419] NaNMath v1.1.3 [d8793406] ObjectFile v0.5.0 [bac558e1] OrderedCollections v1.8.1 [aea7be01] PrecompileTools v1.3.3 [21216c6a] Preferences v1.5.1 [27ebfcd6] Primes v0.5.7 [988b38a3] ReadOnlyArrays v0.2.0 [c1ae055f] RealDot v0.1.0 [3cdcf5f2] RecipesBase v1.3.4 [189a3867] Reexport v1.2.2 [ae029012] Requires v1.3.1 [7e49a35a] RuntimeGeneratedFunctions v0.5.16 [431bcebd] SciMLPublic v1.0.1 [6c6a2e73] Scratch v1.3.0 [efcf1570] Setfield v1.1.2 [dc90abb0] SparseInverseSubset v0.1.2 [276daf66] SpecialFunctions v2.6.1 [90137ffa] StaticArrays v1.9.16 [1e83bf80] StaticArraysCore v1.4.4 [10745b16] Statistics v1.11.1 [09ab397b] StructArrays v0.7.2 [53d494c1] StructIO v0.3.1 [2efcf032] SymbolicIndexingInterface v0.3.46 [19f23fe9] SymbolicLimits v1.1.0 [d1185830] SymbolicUtils v4.13.1 [0c5d862f] Symbolics v7.8.0 [3783bdb8] TableTraits v1.0.1 [bd369af6] Tables v1.12.1 [ed4db957] TaskLocalValues v0.1.3 [b36ab563] TaylorDiff v0.3.5 [8ea1fca8] TermInterface v2.0.0 [42b7b2d3] TowerOfEnzyme v0.1.0 `~/.julia/packages/TowerOfEnzyme/wUeMv` [e689c965] Tracy v0.1.6 [d30d5f5c] WeakCacheSets v0.1.0 ⌅ [7cc45869] Enzyme_jll v0.0.238+0 [dad2f222] LLVMExtra_jll v0.0.38+0 [ad6e5548] LibTracyClient_jll v0.13.1+0 [efe28fd5] OpenSpecFun_jll v0.5.6+0 [0dad84c5] ArgTools v1.1.2 [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 [9fa8497b] Future v1.11.0 [b77e0a4c] InteractiveUtils v1.11.0 [ac6e5ff7] JuliaSyntaxHighlighting v1.13.0 [4af54fe1] LazyArtifacts v1.11.0 [b27032c2] LibCURL v1.0.0 [76f85450] LibGit2 v1.11.0 [8f399da3] Libdl v1.11.0 [37e2e46d] LinearAlgebra v1.13.0 [56ddb016] Logging v1.11.0 [d6f4376e] Markdown v1.11.0 [ca575930] NetworkOptions v1.3.0 [44cfe95a] Pkg v1.14.0 [de0858da] Printf v1.11.0 [9a3f8284] Random v1.11.0 [ea8e919c] SHA v1.0.0 [9e88b42a] Serialization v1.11.0 [6462fe0b] Sockets v1.11.0 [2f01184e] SparseArrays v1.13.0 [f489334b] StyledStrings v1.13.0 [4607b0f0] SuiteSparse [fa267f1f] TOML v1.0.3 [a4e569a6] Tar v1.10.0 [8dfed614] Test v1.11.0 [cf7118a7] UUIDs v1.11.0 [4ec0a83e] Unicode v1.11.0 [e66e0078] CompilerSupportLibraries_jll v1.3.0+1 [deac9b47] LibCURL_jll v8.18.0+0 [e37daf67] LibGit2_jll v1.9.2+0 [29816b5a] LibSSH2_jll v1.11.3+1 [14a3606d] MozillaCACerts_jll v2025.12.2 [4536629a] OpenBLAS_jll v0.3.30+0 [05823500] OpenLibm_jll v0.8.7+0 [458c3c95] OpenSSL_jll v3.5.4+0 [efcefdf7] PCRE2_jll v10.47.0+0 [bea87d4a] SuiteSparse_jll v7.10.1+0 [83775a58] Zlib_jll v1.3.1+2 [3161d3a3] Zstd_jll v1.5.7+1 [8e850b90] libblastrampoline_jll v5.15.0+0 [8e850ede] nghttp2_jll v1.68.0+1 [3f19e933] p7zip_jll v17.7.0+0 Info Packages marked with ⌅ have new versions available but compatibility constraints restrict them from upgrading. Testing Running tests... ┌ Warning: Enzyme.jl support for Julia 1.12 is presently in progress. │ For the time being we recommend using 1.11 or LTS (1.10). │ │ For latest updates, check the status of support for Julia 1.12+ at │ https://github.com/EnzymeAD/Enzyme.jl/issues/2699. │ └ @ Enzyme ~/.julia/packages/Enzyme/2lHFw/src/Enzyme.jl:1580 1 dependency had output during precompilation: ┌ TowerOfEnzyme │ [Output was shown above] └ ┌ Warning: Enzyme.jl support for Julia 1.12 is presently in progress. │ For the time being we recommend using 1.11 or LTS (1.10). │ │ For latest updates, check the status of support for Julia 1.12+ at │ https://github.com/EnzymeAD/Enzyme.jl/issues/2699. │ └ @ Enzyme ~/.julia/packages/Enzyme/2lHFw/src/Enzyme.jl:1580 1 dependency had output during precompilation: ┌ Enzyme → EnzymeChainRulesCoreExt │ [Output was shown above] └ WARNING: Method definition test_inverse(Any, Any) in module InverseFunctionsTestExt at /home/pkgeval/.julia/packages/InverseFunctions/4sFsZ/ext/InverseFunctionsTestExt.jl:6 overwritten in module InverseFunctionsTestExt on the same line (check for duplicate calls to `include`). WARNING: Method definition kwcall(NamedTuple{names, T} where T<:Tuple where names, typeof(InverseFunctions.test_inverse), Any, Any) in module InverseFunctionsTestExt at /home/pkgeval/.julia/packages/InverseFunctions/4sFsZ/ext/InverseFunctionsTestExt.jl:6 overwritten in module InverseFunctionsTestExt on the same line (check for duplicate calls to `include`). ┌ Warning: Replacing module `InverseFunctionsTestExt` └ @ Base loading.jl:2768 WARNING: Method definition inverse(typeof(LogExpFunctions.logit)) in module LogExpFunctionsInverseFunctionsExt at /home/pkgeval/.julia/packages/LogExpFunctions/iNqo2/ext/LogExpFunctionsInverseFunctionsExt.jl:13 overwritten in module LogExpFunctionsInverseFunctionsExt on the same line (check for duplicate calls to `include`). WARNING: Method definition inverse(typeof(LogExpFunctions.logistic)) in module LogExpFunctionsInverseFunctionsExt at /home/pkgeval/.julia/packages/LogExpFunctions/iNqo2/ext/LogExpFunctionsInverseFunctionsExt.jl:14 overwritten in module LogExpFunctionsInverseFunctionsExt on the same line (check for duplicate calls to `include`). WARNING: Method definition inverse(typeof(LogExpFunctions.cexpexp)) in module LogExpFunctionsInverseFunctionsExt at /home/pkgeval/.julia/packages/LogExpFunctions/iNqo2/ext/LogExpFunctionsInverseFunctionsExt.jl:17 overwritten in module LogExpFunctionsInverseFunctionsExt on the same line (check for duplicate calls to `include`). WARNING: Method definition inverse(typeof(LogExpFunctions.logexpm1)) in module LogExpFunctionsInverseFunctionsExt at /home/pkgeval/.julia/packages/LogExpFunctions/iNqo2/ext/LogExpFunctionsInverseFunctionsExt.jl:7 overwritten in module LogExpFunctionsInverseFunctionsExt on the same line (check for duplicate calls to `include`). WARNING: Method definition inverse(typeof(LogExpFunctions.log2mexp)) in module LogExpFunctionsInverseFunctionsExt at /home/pkgeval/.julia/packages/LogExpFunctions/iNqo2/ext/LogExpFunctionsInverseFunctionsExt.jl:11 overwritten in module LogExpFunctionsInverseFunctionsExt on the same line (check for duplicate calls to `include`). WARNING: Method definition inverse(typeof(LogExpFunctions.logit1mexp)) in module LogExpFunctionsInverseFunctionsExt at /home/pkgeval/.julia/packages/LogExpFunctions/iNqo2/ext/LogExpFunctionsInverseFunctionsExt.jl:23 overwritten in module LogExpFunctionsInverseFunctionsExt on the same line (check for duplicate calls to `include`). WARNING: Method definition inverse(typeof(LogExpFunctions.log1pexp)) in module LogExpFunctionsInverseFunctionsExt at /home/pkgeval/.julia/packages/LogExpFunctions/iNqo2/ext/LogExpFunctionsInverseFunctionsExt.jl:6 overwritten in module LogExpFunctionsInverseFunctionsExt on the same line (check for duplicate calls to `include`). WARNING: Method definition inverse(typeof(LogExpFunctions.loglogistic)) in module LogExpFunctionsInverseFunctionsExt at /home/pkgeval/.julia/packages/LogExpFunctions/iNqo2/ext/LogExpFunctionsInverseFunctionsExt.jl:19 overwritten in module LogExpFunctionsInverseFunctionsExt on the same line (check for duplicate calls to `include`). WARNING: Method definition inverse(typeof(LogExpFunctions.log1mexp)) in module LogExpFunctionsInverseFunctionsExt at /home/pkgeval/.julia/packages/LogExpFunctions/iNqo2/ext/LogExpFunctionsInverseFunctionsExt.jl:9 overwritten in module LogExpFunctionsInverseFunctionsExt on the same line (check for duplicate calls to `include`). WARNING: Method definition inverse(typeof(LogExpFunctions.logitexp)) in module LogExpFunctionsInverseFunctionsExt at /home/pkgeval/.julia/packages/LogExpFunctions/iNqo2/ext/LogExpFunctionsInverseFunctionsExt.jl:20 overwritten in module LogExpFunctionsInverseFunctionsExt on the same line (check for duplicate calls to `include`). WARNING: Method definition inverse(typeof(LogExpFunctions.log1mlogistic)) in module LogExpFunctionsInverseFunctionsExt at /home/pkgeval/.julia/packages/LogExpFunctions/iNqo2/ext/LogExpFunctionsInverseFunctionsExt.jl:22 overwritten in module LogExpFunctionsInverseFunctionsExt on the same line (check for duplicate calls to `include`). WARNING: Method definition inverse(typeof(LogExpFunctions.softplus)) in module LogExpFunctionsInverseFunctionsExt at /home/pkgeval/.julia/packages/LogExpFunctions/iNqo2/ext/LogExpFunctionsInverseFunctionsExt.jl:25 overwritten in module LogExpFunctionsInverseFunctionsExt on the same line (check for duplicate calls to `include`). WARNING: Method definition inverse(typeof(LogExpFunctions.invsoftplus)) in module LogExpFunctionsInverseFunctionsExt at /home/pkgeval/.julia/packages/LogExpFunctions/iNqo2/ext/LogExpFunctionsInverseFunctionsExt.jl:30 overwritten in module LogExpFunctionsInverseFunctionsExt on the same line (check for duplicate calls to `include`). WARNING: Method definition inverse(typeof(LogExpFunctions.cloglog)) in module LogExpFunctionsInverseFunctionsExt at /home/pkgeval/.julia/packages/LogExpFunctions/iNqo2/ext/LogExpFunctionsInverseFunctionsExt.jl:16 overwritten in module LogExpFunctionsInverseFunctionsExt on the same line (check for duplicate calls to `include`). WARNING: Method definition inverse(Base.Fix{2, typeof(LogExpFunctions.invsoftplus), var"#s1"} where var"#s1"<:Real) in module LogExpFunctionsInverseFunctionsExt at /home/pkgeval/.julia/packages/LogExpFunctions/iNqo2/ext/LogExpFunctionsInverseFunctionsExt.jl:31 overwritten in module LogExpFunctionsInverseFunctionsExt on the same line (check for duplicate calls to `include`). WARNING: Method definition inverse(Base.Fix{2, typeof(LogExpFunctions.softplus), var"#s1"} where var"#s1"<:Real) in module LogExpFunctionsInverseFunctionsExt at /home/pkgeval/.julia/packages/LogExpFunctions/iNqo2/ext/LogExpFunctionsInverseFunctionsExt.jl:26 overwritten in module LogExpFunctionsInverseFunctionsExt on the same line (check for duplicate calls to `include`). ┌ Warning: Replacing module `LogExpFunctionsInverseFunctionsExt` └ @ Base loading.jl:2768 WARNING: Method definition constructorof(Type{var"#s4"} where var"#s4"<:ADTypes.AutoEnzyme{M, A}) where {M, A} in module ADTypesConstructionBaseExt at /home/pkgeval/.julia/packages/ADTypes/Rjw6V/ext/ADTypesConstructionBaseExt.jl:10 overwritten in module ADTypesConstructionBaseExt on the same line (check for duplicate calls to `include`). WARNING: Method definition constructorof(Type{var"#s4"} where var"#s4"<:(ADTypes.AutoPolyesterForwardDiff{chunksize, T} where T)) where {chunksize} in module ADTypesConstructionBaseExt at /home/pkgeval/.julia/packages/ADTypes/Rjw6V/ext/ADTypesConstructionBaseExt.jl:18 overwritten in module ADTypesConstructionBaseExt on the same line (check for duplicate calls to `include`). WARNING: Method definition constructorof(Type{var"#s4"} where var"#s4"<:(ADTypes.AutoForwardDiff{chunksize, T} where T)) where {chunksize} in module ADTypesConstructionBaseExt at /home/pkgeval/.julia/packages/ADTypes/Rjw6V/ext/ADTypesConstructionBaseExt.jl:14 overwritten in module ADTypesConstructionBaseExt on the same line (check for duplicate calls to `include`). ┌ Warning: Replacing module `ADTypesConstructionBaseExt` └ @ Base loading.jl:2768 Test Summary: | Pass Total Time sin | 4 4 3m12.0s flux: Error During Test at /home/pkgeval/.julia/packages/TowerOfEnzyme/wUeMv/test/runtests.jl:52 Test threw exception Expression: derivative_bundle(flux, (u, du, ddu, dddu, ddddu)) ≈ taylor_diff(flux, (u, du, ddu, dddu, ddddu)) EnzymeRuntimeActivityError: Detected potential need for runtime activity. Constant memory is stored (or returned) to a differentiable variable and correctness cannot be guaranteed with static activity analysis. This might be due to the use of a constant variable as temporary storage for active memory (https://enzyme.mit.edu/julia/stable/faq/#faq-runtime-activity). If Enzyme should be able to prove this use non-differentable, open an issue! To work around this issue, either: a) rewrite this variable to not be conditionally active (fastest performance, slower to setup), or b) set the Enzyme mode to turn on runtime activity (e.g. autodiff(set_runtime_activity(Reverse), ...) ). This will maintain correctness, but may slightly reduce performance. Failure within method: (::Enzyme.Compiler.ForwardModeThunk{Ptr{Nothing}, EnzymeCore.Const{typeof(Enzyme.Compiler.runtime_generic_fwd)}, EnzymeCore.Duplicated{@NamedTuple{var"1", var"2"}}, Tuple{EnzymeCore.Const{Type{Val{(false, false, false, false, false, false, false, false, false, false, false, false, false, false)}}}, EnzymeCore.Const{Val{false}}, EnzymeCore.Const{Val{false}}, EnzymeCore.Const{Val{1}}, EnzymeCore.Const{Val{@NamedTuple{var"1", var"2"}}}, EnzymeCore.Const{typeof(Enzyme.Compiler.thunk)}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Val{0}}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Type{EnzymeCore.Const{typeof(derivative_bundle)}}}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Type{EnzymeCore.Duplicated{SVector{4, Float64}}}}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Type{Tuple{EnzymeCore.Const{typeof(flux)}, EnzymeCore.Duplicated{Tuple{SVector{4, Float64}}}}}}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Val{Enzyme.API.DEM_ForwardMode}}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Val{1}}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Val{(false, false, false)}}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Val{false}}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Val{false}}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Type{EnzymeCore.InlineABI}}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Val{true}}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Val{false}}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Val{false}}, EnzymeCore.Const{Nothing}}, 1, true})(::EnzymeCore.Const{typeof(Enzyme.Compiler.runtime_generic_fwd)}, ::EnzymeCore.Const{Type{Val{(false, false, false, false, false, false, false, false, false, false, false, false, false, false)}}}, ::EnzymeCore.Const{Val{false}}, ::EnzymeCore.Const{Val{false}}, ::EnzymeCore.Const{Val{1}}, ::EnzymeCore.Const{Val{@NamedTuple{var"1", var"2"}}}, ::EnzymeCore.Const{typeof(Enzyme.Compiler.thunk)}, ::EnzymeCore.Const{Nothing}, ::EnzymeCore.Const{Val{0}}, ::EnzymeCore.Const{Nothing}, ::EnzymeCore.Const{Type{EnzymeCore.Const{typeof(derivative_bundle)}}}, ::EnzymeCore.Const{Nothing}, ::EnzymeCore.Const{Type{EnzymeCore.Duplicated{SVector{4, Float64}}}}, ::EnzymeCore.Const{Nothing}, ::EnzymeCore.Const{Type{Tuple{EnzymeCore.Const{typeof(flux)}, EnzymeCore.Duplicated{Tuple{SVector{4, Float64}}}}}}, ::EnzymeCore.Const{Nothing}, ::EnzymeCore.Const{Val{Enzyme.API.DEM_ForwardMode}}, ::EnzymeCore.Const{Nothing}, ::EnzymeCore.Const{Val{1}}, ::EnzymeCore.Const{Nothing}, ::EnzymeCore.Const{Val{(false, false, false)}}, ::EnzymeCore.Const{Nothing}, ::EnzymeCore.Const{Val{false}}, ::EnzymeCore.Const{Nothing}, ::EnzymeCore.Const{Val{false}}, ::EnzymeCore.Const{Nothing}, ::EnzymeCore.Const{Type{EnzymeCore.InlineABI}}, ::EnzymeCore.Const{Nothing}, ::EnzymeCore.Const{Val{true}}, ::EnzymeCore.Const{Nothing}, ::EnzymeCore.Const{Val{false}}, ::EnzymeCore.Const{Nothing}, ::EnzymeCore.Const{Val{false}}, ::EnzymeCore.Const{Nothing}) @ Enzyme.Compiler ~/.julia/packages/Enzyme/2lHFw/src/compiler.jl:6045 Hint: catch this exception as `err` and call `code_typed(err)` to inspect the surrounding code. Mismatched activity for: store atomic ptr addrspace(10) %18, ptr addrspace(11) %19 release, align 8, !dbg !16, !noalias !19 const val: %18 = addrspacecast ptr %17 to ptr addrspace(10), !dbg !16 Type tree: {[-1]:Pointer} LLVM view of erring value: @jl_small_typeof = external local_unnamed_addr constant i8 Stacktrace: [1] ForwardModeThunk @ ~/.julia/packages/Enzyme/2lHFw/src/compiler.jl:6045 [2] ForwardModeThunk @ ~/.julia/packages/Enzyme/2lHFw/src/compiler.jl:0 Stacktrace: [1] ForwardModeThunk @ ~/.julia/packages/Enzyme/2lHFw/src/compiler.jl:6045 [inlined] [2] ForwardModeThunk @ ~/.julia/packages/Enzyme/2lHFw/src/compiler.jl:0 [inlined] [3] fwddiffejulia_ForwardModeThunk_48892_inner_1wrap @ ~/.julia/packages/Enzyme/2lHFw/src/compiler.jl:0 [4] macro expansion @ ~/.julia/packages/Enzyme/2lHFw/src/compiler.jl:6666 [inlined] [5] enzyme_call(::Val{false}, ::Ptr{Nothing}, ::Type{Enzyme.Compiler.ForwardModeThunk{Ptr{Nothing}, EnzymeCore.Const{Enzyme.Compiler.ForwardModeThunk{Ptr{Nothing}, EnzymeCore.Const{typeof(Enzyme.Compiler.runtime_generic_fwd)}, EnzymeCore.Duplicated{@NamedTuple{var"1", var"2"}}, Tuple{EnzymeCore.Const{Type{Val{(false, false, false, false, false, false, false, false, false, false, false, false, false, false)}}}, EnzymeCore.Const{Val{false}}, EnzymeCore.Const{Val{false}}, EnzymeCore.Const{Val{1}}, EnzymeCore.Const{Val{@NamedTuple{var"1", var"2"}}}, EnzymeCore.Const{typeof(Enzyme.Compiler.thunk)}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Val{0}}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Type{EnzymeCore.Const{typeof(derivative_bundle)}}}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Type{EnzymeCore.Duplicated{SVector{4, Float64}}}}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Type{Tuple{EnzymeCore.Const{typeof(flux)}, EnzymeCore.Duplicated{Tuple{SVector{4, Float64}}}}}}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Val{Enzyme.API.DEM_ForwardMode}}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Val{1}}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Val{(false, false, false)}}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Val{false}}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Val{false}}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Type{EnzymeCore.InlineABI}}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Val{true}}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Val{false}}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Val{false}}, EnzymeCore.Const{Nothing}}, 1, true}}, EnzymeCore.Duplicated{@NamedTuple{var"1"::@NamedTuple{var"1", var"2"}, var"2"::@NamedTuple{var"1", var"2"}}}, Tuple{EnzymeCore.Const{EnzymeCore.Const{typeof(Enzyme.Compiler.runtime_generic_fwd)}}, EnzymeCore.Const{EnzymeCore.Const{Type{Val{(false, false, false, false, false, false, false, false, false, false, false, false, false, false)}}}}, EnzymeCore.Const{EnzymeCore.Const{Val{false}}}, EnzymeCore.Const{EnzymeCore.Const{Val{false}}}, EnzymeCore.Const{EnzymeCore.Const{Val{1}}}, EnzymeCore.Const{EnzymeCore.Const{Val{@NamedTuple{var"1", var"2"}}}}, EnzymeCore.Const{EnzymeCore.Const{typeof(Enzyme.Compiler.thunk)}}, EnzymeCore.Const{EnzymeCore.Const{Nothing}}, EnzymeCore.Const{EnzymeCore.Const{Val{0}}}, EnzymeCore.Const{EnzymeCore.Const{Nothing}}, EnzymeCore.Const{EnzymeCore.Const{Type{EnzymeCore.Const{typeof(derivative_bundle)}}}}, EnzymeCore.Const{EnzymeCore.Const{Nothing}}, EnzymeCore.Const{EnzymeCore.Const{Type{EnzymeCore.Duplicated{SVector{4, Float64}}}}}, EnzymeCore.Const{EnzymeCore.Const{Nothing}}, EnzymeCore.Const{EnzymeCore.Const{Type{Tuple{EnzymeCore.Const{typeof(flux)}, EnzymeCore.Duplicated{Tuple{SVector{4, Float64}}}}}}}, EnzymeCore.Const{EnzymeCore.Const{Nothing}}, EnzymeCore.Const{EnzymeCore.Const{Val{Enzyme.API.DEM_ForwardMode}}}, EnzymeCore.Const{EnzymeCore.Const{Nothing}}, EnzymeCore.Const{EnzymeCore.Const{Val{1}}}, EnzymeCore.Const{EnzymeCore.Const{Nothing}}, EnzymeCore.Const{EnzymeCore.Const{Val{(false, false, false)}}}, EnzymeCore.Const{EnzymeCore.Const{Nothing}}, EnzymeCore.Const{EnzymeCore.Const{Val{false}}}, EnzymeCore.Const{EnzymeCore.Const{Nothing}}, EnzymeCore.Const{EnzymeCore.Const{Val{false}}}, EnzymeCore.Const{EnzymeCore.Const{Nothing}}, EnzymeCore.Const{EnzymeCore.Const{Type{EnzymeCore.InlineABI}}}, EnzymeCore.Const{EnzymeCore.Const{Nothing}}, EnzymeCore.Const{EnzymeCore.Const{Val{true}}}, EnzymeCore.Const{EnzymeCore.Const{Nothing}}, EnzymeCore.Const{EnzymeCore.Const{Val{false}}}, EnzymeCore.Const{EnzymeCore.Const{Nothing}}, EnzymeCore.Const{EnzymeCore.Const{Val{false}}}, EnzymeCore.Const{EnzymeCore.Const{Nothing}}}, 1, true}}, ::Val{1}, ::Val{true}, ::Type{Tuple{EnzymeCore.Const{EnzymeCore.Const{typeof(Enzyme.Compiler.runtime_generic_fwd)}}, EnzymeCore.Const{EnzymeCore.Const{Type{Val{(false, false, false, false, false, false, false, false, false, false, false, false, false, false)}}}}, EnzymeCore.Const{EnzymeCore.Const{Val{false}}}, EnzymeCore.Const{EnzymeCore.Const{Val{false}}}, EnzymeCore.Const{EnzymeCore.Const{Val{1}}}, EnzymeCore.Const{EnzymeCore.Const{Val{@NamedTuple{var"1", var"2"}}}}, EnzymeCore.Const{EnzymeCore.Const{typeof(Enzyme.Compiler.thunk)}}, EnzymeCore.Const{EnzymeCore.Const{Nothing}}, EnzymeCore.Const{EnzymeCore.Const{Val{0}}}, EnzymeCore.Const{EnzymeCore.Const{Nothing}}, EnzymeCore.Const{EnzymeCore.Const{Type{EnzymeCore.Const{typeof(derivative_bundle)}}}}, EnzymeCore.Const{EnzymeCore.Const{Nothing}}, EnzymeCore.Const{EnzymeCore.Const{Type{EnzymeCore.Duplicated{SVector{4, Float64}}}}}, EnzymeCore.Const{EnzymeCore.Const{Nothing}}, EnzymeCore.Const{EnzymeCore.Const{Type{Tuple{EnzymeCore.Const{typeof(flux)}, EnzymeCore.Duplicated{Tuple{SVector{4, Float64}}}}}}}, EnzymeCore.Const{EnzymeCore.Const{Nothing}}, EnzymeCore.Const{EnzymeCore.Const{Val{Enzyme.API.DEM_ForwardMode}}}, EnzymeCore.Const{EnzymeCore.Const{Nothing}}, EnzymeCore.Const{EnzymeCore.Const{Val{1}}}, EnzymeCore.Const{EnzymeCore.Const{Nothing}}, EnzymeCore.Const{EnzymeCore.Const{Val{(false, false, false)}}}, EnzymeCore.Const{EnzymeCore.Const{Nothing}}, EnzymeCore.Const{EnzymeCore.Const{Val{false}}}, EnzymeCore.Const{EnzymeCore.Const{Nothing}}, EnzymeCore.Const{EnzymeCore.Const{Val{false}}}, EnzymeCore.Const{EnzymeCore.Const{Nothing}}, EnzymeCore.Const{EnzymeCore.Const{Type{EnzymeCore.InlineABI}}}, EnzymeCore.Const{EnzymeCore.Const{Nothing}}, EnzymeCore.Const{EnzymeCore.Const{Val{true}}}, EnzymeCore.Const{EnzymeCore.Const{Nothing}}, EnzymeCore.Const{EnzymeCore.Const{Val{false}}}, EnzymeCore.Const{EnzymeCore.Const{Nothing}}, EnzymeCore.Const{EnzymeCore.Const{Val{false}}}, EnzymeCore.Const{EnzymeCore.Const{Nothing}}}}, ::Type{EnzymeCore.Duplicated{@NamedTuple{var"1"::@NamedTuple{var"1", var"2"}, var"2"::@NamedTuple{var"1", var"2"}}}}, ::EnzymeCore.Const{Enzyme.Compiler.ForwardModeThunk{Ptr{Nothing}, EnzymeCore.Const{typeof(Enzyme.Compiler.runtime_generic_fwd)}, EnzymeCore.Duplicated{@NamedTuple{var"1", var"2"}}, Tuple{EnzymeCore.Const{Type{Val{(false, false, false, false, false, false, false, false, false, false, false, false, false, false)}}}, EnzymeCore.Const{Val{false}}, EnzymeCore.Const{Val{false}}, EnzymeCore.Const{Val{1}}, EnzymeCore.Const{Val{@NamedTuple{var"1", var"2"}}}, EnzymeCore.Const{typeof(Enzyme.Compiler.thunk)}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Val{0}}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Type{EnzymeCore.Const{typeof(derivative_bundle)}}}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Type{EnzymeCore.Duplicated{SVector{4, Float64}}}}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Type{Tuple{EnzymeCore.Const{typeof(flux)}, EnzymeCore.Duplicated{Tuple{SVector{4, Float64}}}}}}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Val{Enzyme.API.DEM_ForwardMode}}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Val{1}}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Val{(false, false, false)}}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Val{false}}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Val{false}}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Type{EnzymeCore.InlineABI}}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Val{true}}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Val{false}}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Val{false}}, EnzymeCore.Const{Nothing}}, 1, true}}, ::Type{Nothing}, ::EnzymeCore.Const{EnzymeCore.Const{typeof(Enzyme.Compiler.runtime_generic_fwd)}}, ::EnzymeCore.Const{EnzymeCore.Const{Type{Val{(false, false, false, false, false, false, false, false, false, false, false, false, false, false)}}}}, ::EnzymeCore.Const{EnzymeCore.Const{Val{false}}}, ::EnzymeCore.Const{EnzymeCore.Const{Val{false}}}, ::EnzymeCore.Const{EnzymeCore.Const{Val{1}}}, ::EnzymeCore.Const{EnzymeCore.Const{Val{@NamedTuple{var"1", var"2"}}}}, ::EnzymeCore.Const{EnzymeCore.Const{typeof(Enzyme.Compiler.thunk)}}, ::EnzymeCore.Const{EnzymeCore.Const{Nothing}}, ::EnzymeCore.Const{EnzymeCore.Const{Val{0}}}, ::EnzymeCore.Const{EnzymeCore.Const{Nothing}}, ::EnzymeCore.Const{EnzymeCore.Const{Type{EnzymeCore.Const{typeof(derivative_bundle)}}}}, ::EnzymeCore.Const{EnzymeCore.Const{Nothing}}, ::EnzymeCore.Const{EnzymeCore.Const{Type{EnzymeCore.Duplicated{SVector{4, Float64}}}}}, ::EnzymeCore.Const{EnzymeCore.Const{Nothing}}, ::EnzymeCore.Const{EnzymeCore.Const{Type{Tuple{EnzymeCore.Const{typeof(flux)}, EnzymeCore.Duplicated{Tuple{SVector{4, Float64}}}}}}}, ::EnzymeCore.Const{EnzymeCore.Const{Nothing}}, ::EnzymeCore.Const{EnzymeCore.Const{Val{Enzyme.API.DEM_ForwardMode}}}, ::EnzymeCore.Const{EnzymeCore.Const{Nothing}}, ::EnzymeCore.Const{EnzymeCore.Const{Val{1}}}, ::EnzymeCore.Const{EnzymeCore.Const{Nothing}}, ::EnzymeCore.Const{EnzymeCore.Const{Val{(false, false, false)}}}, ::EnzymeCore.Const{EnzymeCore.Const{Nothing}}, ::EnzymeCore.Const{EnzymeCore.Const{Val{false}}}, ::EnzymeCore.Const{EnzymeCore.Const{Nothing}}, ::EnzymeCore.Const{EnzymeCore.Const{Val{false}}}, ::EnzymeCore.Const{EnzymeCore.Const{Nothing}}, ::EnzymeCore.Const{EnzymeCore.Const{Type{EnzymeCore.InlineABI}}}, ::EnzymeCore.Const{EnzymeCore.Const{Nothing}}, ::EnzymeCore.Const{EnzymeCore.Const{Val{true}}}, ::EnzymeCore.Const{EnzymeCore.Const{Nothing}}, ::EnzymeCore.Const{EnzymeCore.Const{Val{false}}}, ::EnzymeCore.Const{EnzymeCore.Const{Nothing}}, ::EnzymeCore.Const{EnzymeCore.Const{Val{false}}}, ::EnzymeCore.Const{EnzymeCore.Const{Nothing}}) @ Enzyme.Compiler ~/.julia/packages/Enzyme/2lHFw/src/compiler.jl:6145 [6] (::Enzyme.Compiler.ForwardModeThunk{Ptr{Nothing}, EnzymeCore.Const{Enzyme.Compiler.ForwardModeThunk{Ptr{Nothing}, EnzymeCore.Const{typeof(Enzyme.Compiler.runtime_generic_fwd)}, EnzymeCore.Duplicated{@NamedTuple{var"1", var"2"}}, Tuple{EnzymeCore.Const{Type{Val{(false, false, false, false, false, false, false, false, false, false, false, false, false, false)}}}, EnzymeCore.Const{Val{false}}, EnzymeCore.Const{Val{false}}, EnzymeCore.Const{Val{1}}, EnzymeCore.Const{Val{@NamedTuple{var"1", var"2"}}}, EnzymeCore.Const{typeof(Enzyme.Compiler.thunk)}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Val{0}}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Type{EnzymeCore.Const{typeof(derivative_bundle)}}}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Type{EnzymeCore.Duplicated{SVector{4, Float64}}}}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Type{Tuple{EnzymeCore.Const{typeof(flux)}, EnzymeCore.Duplicated{Tuple{SVector{4, Float64}}}}}}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Val{Enzyme.API.DEM_ForwardMode}}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Val{1}}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Val{(false, false, false)}}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Val{false}}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Val{false}}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Type{EnzymeCore.InlineABI}}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Val{true}}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Val{false}}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Val{false}}, EnzymeCore.Const{Nothing}}, 1, true}}, EnzymeCore.Duplicated{@NamedTuple{var"1"::@NamedTuple{var"1", var"2"}, var"2"::@NamedTuple{var"1", var"2"}}}, Tuple{EnzymeCore.Const{EnzymeCore.Const{typeof(Enzyme.Compiler.runtime_generic_fwd)}}, EnzymeCore.Const{EnzymeCore.Const{Type{Val{(false, false, false, false, false, false, false, false, false, false, false, false, false, false)}}}}, EnzymeCore.Const{EnzymeCore.Const{Val{false}}}, EnzymeCore.Const{EnzymeCore.Const{Val{false}}}, EnzymeCore.Const{EnzymeCore.Const{Val{1}}}, EnzymeCore.Const{EnzymeCore.Const{Val{@NamedTuple{var"1", var"2"}}}}, EnzymeCore.Const{EnzymeCore.Const{typeof(Enzyme.Compiler.thunk)}}, EnzymeCore.Const{EnzymeCore.Const{Nothing}}, EnzymeCore.Const{EnzymeCore.Const{Val{0}}}, EnzymeCore.Const{EnzymeCore.Const{Nothing}}, EnzymeCore.Const{EnzymeCore.Const{Type{EnzymeCore.Const{typeof(derivative_bundle)}}}}, EnzymeCore.Const{EnzymeCore.Const{Nothing}}, EnzymeCore.Const{EnzymeCore.Const{Type{EnzymeCore.Duplicated{SVector{4, Float64}}}}}, EnzymeCore.Const{EnzymeCore.Const{Nothing}}, EnzymeCore.Const{EnzymeCore.Const{Type{Tuple{EnzymeCore.Const{typeof(flux)}, EnzymeCore.Duplicated{Tuple{SVector{4, Float64}}}}}}}, EnzymeCore.Const{EnzymeCore.Const{Nothing}}, EnzymeCore.Const{EnzymeCore.Const{Val{Enzyme.API.DEM_ForwardMode}}}, EnzymeCore.Const{EnzymeCore.Const{Nothing}}, EnzymeCore.Const{EnzymeCore.Const{Val{1}}}, EnzymeCore.Const{EnzymeCore.Const{Nothing}}, EnzymeCore.Const{EnzymeCore.Const{Val{(false, false, false)}}}, EnzymeCore.Const{EnzymeCore.Const{Nothing}}, EnzymeCore.Const{EnzymeCore.Const{Val{false}}}, EnzymeCore.Const{EnzymeCore.Const{Nothing}}, EnzymeCore.Const{EnzymeCore.Const{Val{false}}}, EnzymeCore.Const{EnzymeCore.Const{Nothing}}, EnzymeCore.Const{EnzymeCore.Const{Type{EnzymeCore.InlineABI}}}, EnzymeCore.Const{EnzymeCore.Const{Nothing}}, EnzymeCore.Const{EnzymeCore.Const{Val{true}}}, EnzymeCore.Const{EnzymeCore.Const{Nothing}}, EnzymeCore.Const{EnzymeCore.Const{Val{false}}}, EnzymeCore.Const{EnzymeCore.Const{Nothing}}, EnzymeCore.Const{EnzymeCore.Const{Val{false}}}, EnzymeCore.Const{EnzymeCore.Const{Nothing}}}, 1, true})(::EnzymeCore.Const{Enzyme.Compiler.ForwardModeThunk{Ptr{Nothing}, EnzymeCore.Const{typeof(Enzyme.Compiler.runtime_generic_fwd)}, EnzymeCore.Duplicated{@NamedTuple{var"1", var"2"}}, Tuple{EnzymeCore.Const{Type{Val{(false, false, false, false, false, false, false, false, false, false, false, false, false, false)}}}, EnzymeCore.Const{Val{false}}, EnzymeCore.Const{Val{false}}, EnzymeCore.Const{Val{1}}, EnzymeCore.Const{Val{@NamedTuple{var"1", var"2"}}}, EnzymeCore.Const{typeof(Enzyme.Compiler.thunk)}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Val{0}}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Type{EnzymeCore.Const{typeof(derivative_bundle)}}}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Type{EnzymeCore.Duplicated{SVector{4, Float64}}}}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Type{Tuple{EnzymeCore.Const{typeof(flux)}, EnzymeCore.Duplicated{Tuple{SVector{4, Float64}}}}}}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Val{Enzyme.API.DEM_ForwardMode}}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Val{1}}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Val{(false, false, false)}}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Val{false}}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Val{false}}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Type{EnzymeCore.InlineABI}}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Val{true}}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Val{false}}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Val{false}}, EnzymeCore.Const{Nothing}}, 1, true}}, ::EnzymeCore.Const{EnzymeCore.Const{typeof(Enzyme.Compiler.runtime_generic_fwd)}}, ::Vararg{Any}) @ Enzyme.Compiler ~/.julia/packages/Enzyme/2lHFw/src/compiler.jl:6045 [7] fwddiff_with_return(::Val{false}, ::Val{false}, ::Val{1}, ::Val{false}, ::Type{@NamedTuple{var"1", var"2"}}, ::Type{Enzyme.Compiler.ForwardModeThunk{Ptr{Nothing}, EnzymeCore.Const{typeof(Enzyme.Compiler.runtime_generic_fwd)}, EnzymeCore.Duplicated{@NamedTuple{var"1", var"2"}}, Tuple{EnzymeCore.Const{Type{Val{(false, false, false, false, false, false, false, false, false, false, false, false, false, false)}}}, EnzymeCore.Const{Val{false}}, EnzymeCore.Const{Val{false}}, EnzymeCore.Const{Val{1}}, EnzymeCore.Const{Val{@NamedTuple{var"1", var"2"}}}, EnzymeCore.Const{typeof(Enzyme.Compiler.thunk)}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Val{0}}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Type{EnzymeCore.Const{typeof(derivative_bundle)}}}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Type{EnzymeCore.Duplicated{SVector{4, Float64}}}}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Type{Tuple{EnzymeCore.Const{typeof(flux)}, EnzymeCore.Duplicated{Tuple{SVector{4, Float64}}}}}}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Val{Enzyme.API.DEM_ForwardMode}}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Val{1}}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Val{(false, false, false)}}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Val{false}}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Val{false}}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Type{EnzymeCore.InlineABI}}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Val{true}}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Val{false}}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Val{false}}, EnzymeCore.Const{Nothing}}, 1, true}}, ::Type{Tuple{EnzymeCore.Const{EnzymeCore.Const{typeof(Enzyme.Compiler.runtime_generic_fwd)}}, EnzymeCore.Const{EnzymeCore.Const{Type{Val{(false, false, false, false, false, false, false, false, false, false, false, false, false, false)}}}}, EnzymeCore.Const{EnzymeCore.Const{Val{false}}}, EnzymeCore.Const{EnzymeCore.Const{Val{false}}}, EnzymeCore.Const{EnzymeCore.Const{Val{1}}}, EnzymeCore.Const{EnzymeCore.Const{Val{@NamedTuple{var"1", var"2"}}}}, EnzymeCore.Const{EnzymeCore.Const{typeof(Enzyme.Compiler.thunk)}}, EnzymeCore.Const{EnzymeCore.Const{Nothing}}, EnzymeCore.Const{EnzymeCore.Const{Val{0}}}, EnzymeCore.Const{EnzymeCore.Const{Nothing}}, EnzymeCore.Const{EnzymeCore.Const{Type{EnzymeCore.Const{typeof(derivative_bundle)}}}}, EnzymeCore.Const{EnzymeCore.Const{Nothing}}, EnzymeCore.Const{EnzymeCore.Const{Type{EnzymeCore.Duplicated{SVector{4, Float64}}}}}, EnzymeCore.Const{EnzymeCore.Const{Nothing}}, EnzymeCore.Const{EnzymeCore.Const{Type{Tuple{EnzymeCore.Const{typeof(flux)}, EnzymeCore.Duplicated{Tuple{SVector{4, Float64}}}}}}}, EnzymeCore.Const{EnzymeCore.Const{Nothing}}, EnzymeCore.Const{EnzymeCore.Const{Val{Enzyme.API.DEM_ForwardMode}}}, EnzymeCore.Const{EnzymeCore.Const{Nothing}}, EnzymeCore.Const{EnzymeCore.Const{Val{1}}}, EnzymeCore.Const{EnzymeCore.Const{Nothing}}, EnzymeCore.Const{EnzymeCore.Const{Val{(false, false, false)}}}, EnzymeCore.Const{EnzymeCore.Const{Nothing}}, EnzymeCore.Const{EnzymeCore.Const{Val{false}}}, EnzymeCore.Const{EnzymeCore.Const{Nothing}}, EnzymeCore.Const{EnzymeCore.Const{Val{false}}}, EnzymeCore.Const{EnzymeCore.Const{Nothing}}, EnzymeCore.Const{EnzymeCore.Const{Type{EnzymeCore.InlineABI}}}, EnzymeCore.Const{EnzymeCore.Const{Nothing}}, EnzymeCore.Const{EnzymeCore.Const{Val{true}}}, EnzymeCore.Const{EnzymeCore.Const{Nothing}}, EnzymeCore.Const{EnzymeCore.Const{Val{false}}}, EnzymeCore.Const{EnzymeCore.Const{Nothing}}, EnzymeCore.Const{EnzymeCore.Const{Val{false}}}, EnzymeCore.Const{EnzymeCore.Const{Nothing}}}}, ::Enzyme.Compiler.ForwardModeThunk{Ptr{Nothing}, EnzymeCore.Const{typeof(Enzyme.Compiler.runtime_generic_fwd)}, EnzymeCore.Duplicated{@NamedTuple{var"1", var"2"}}, Tuple{EnzymeCore.Const{Type{Val{(false, false, false, false, false, false, false, false, false, false, false, false, false, false)}}}, EnzymeCore.Const{Val{false}}, EnzymeCore.Const{Val{false}}, EnzymeCore.Const{Val{1}}, EnzymeCore.Const{Val{@NamedTuple{var"1", var"2"}}}, EnzymeCore.Const{typeof(Enzyme.Compiler.thunk)}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Val{0}}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Type{EnzymeCore.Const{typeof(derivative_bundle)}}}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Type{EnzymeCore.Duplicated{SVector{4, Float64}}}}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Type{Tuple{EnzymeCore.Const{typeof(flux)}, EnzymeCore.Duplicated{Tuple{SVector{4, Float64}}}}}}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Val{Enzyme.API.DEM_ForwardMode}}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Val{1}}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Val{(false, false, false)}}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Val{false}}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Val{false}}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Type{EnzymeCore.InlineABI}}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Val{true}}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Val{false}}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Val{false}}, EnzymeCore.Const{Nothing}}, 1, true}, ::Nothing, ::EnzymeCore.Const{EnzymeCore.Const{typeof(Enzyme.Compiler.runtime_generic_fwd)}}, ::EnzymeCore.Const{EnzymeCore.Const{Type{Val{(false, false, false, false, false, false, false, false, false, false, false, false, false, false)}}}}, ::EnzymeCore.Const{EnzymeCore.Const{Val{false}}}, ::EnzymeCore.Const{EnzymeCore.Const{Val{false}}}, ::EnzymeCore.Const{EnzymeCore.Const{Val{1}}}, ::EnzymeCore.Const{EnzymeCore.Const{Val{@NamedTuple{var"1", var"2"}}}}, ::EnzymeCore.Const{EnzymeCore.Const{typeof(Enzyme.Compiler.thunk)}}, ::EnzymeCore.Const{EnzymeCore.Const{Nothing}}, ::EnzymeCore.Const{EnzymeCore.Const{Val{0}}}, ::EnzymeCore.Const{EnzymeCore.Const{Nothing}}, ::EnzymeCore.Const{EnzymeCore.Const{Type{EnzymeCore.Const{typeof(derivative_bundle)}}}}, ::EnzymeCore.Const{EnzymeCore.Const{Nothing}}, ::EnzymeCore.Const{EnzymeCore.Const{Type{EnzymeCore.Duplicated{SVector{4, Float64}}}}}, ::EnzymeCore.Const{EnzymeCore.Const{Nothing}}, ::EnzymeCore.Const{EnzymeCore.Const{Type{Tuple{EnzymeCore.Const{typeof(flux)}, EnzymeCore.Duplicated{Tuple{SVector{4, Float64}}}}}}}, ::EnzymeCore.Const{EnzymeCore.Const{Nothing}}, ::EnzymeCore.Const{EnzymeCore.Const{Val{Enzyme.API.DEM_ForwardMode}}}, ::EnzymeCore.Const{EnzymeCore.Const{Nothing}}, ::EnzymeCore.Const{EnzymeCore.Const{Val{1}}}, ::EnzymeCore.Const{EnzymeCore.Const{Nothing}}, ::EnzymeCore.Const{EnzymeCore.Const{Val{(false, false, false)}}}, ::EnzymeCore.Const{EnzymeCore.Const{Nothing}}, ::EnzymeCore.Const{EnzymeCore.Const{Val{false}}}, ::EnzymeCore.Const{EnzymeCore.Const{Nothing}}, ::EnzymeCore.Const{EnzymeCore.Const{Val{false}}}, ::EnzymeCore.Const{EnzymeCore.Const{Nothing}}, ::EnzymeCore.Const{EnzymeCore.Const{Type{EnzymeCore.InlineABI}}}, ::EnzymeCore.Const{EnzymeCore.Const{Nothing}}, ::EnzymeCore.Const{EnzymeCore.Const{Val{true}}}, ::EnzymeCore.Const{EnzymeCore.Const{Nothing}}, ::EnzymeCore.Const{EnzymeCore.Const{Val{false}}}, ::EnzymeCore.Const{EnzymeCore.Const{Nothing}}, ::EnzymeCore.Const{EnzymeCore.Const{Val{false}}}, ::EnzymeCore.Const{EnzymeCore.Const{Nothing}}) @ Enzyme.Compiler ~/.julia/packages/Enzyme/2lHFw/src/rules/jitrules.jl:1055 [8] macro expansion @ ~/.julia/packages/Enzyme/2lHFw/src/rules/jitrules.jl:1094 [inlined] [9] runtime_iterate_fwd(::Type{Val{(false, true, true)}}, ::Val{false}, ::Val{false}, ::Val{1}, ::Val{@NamedTuple{var"1", var"2"}}, ::Enzyme.Compiler.ForwardModeThunk{Ptr{Nothing}, EnzymeCore.Const{typeof(Enzyme.Compiler.runtime_generic_fwd)}, EnzymeCore.Duplicated{@NamedTuple{var"1", var"2"}}, Tuple{EnzymeCore.Const{Type{Val{(false, false, false, false, false, false, false, false, false, false, false, false, false, false)}}}, EnzymeCore.Const{Val{false}}, EnzymeCore.Const{Val{false}}, EnzymeCore.Const{Val{1}}, EnzymeCore.Const{Val{@NamedTuple{var"1", var"2"}}}, EnzymeCore.Const{typeof(Enzyme.Compiler.thunk)}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Val{0}}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Type{EnzymeCore.Const{typeof(derivative_bundle)}}}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Type{EnzymeCore.Duplicated{SVector{4, Float64}}}}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Type{Tuple{EnzymeCore.Const{typeof(flux)}, EnzymeCore.Duplicated{Tuple{SVector{4, Float64}}}}}}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Val{Enzyme.API.DEM_ForwardMode}}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Val{1}}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Val{(false, false, false)}}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Val{false}}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Val{false}}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Type{EnzymeCore.InlineABI}}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Val{true}}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Val{false}}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Val{false}}, EnzymeCore.Const{Nothing}}, 1, true}, ::Nothing, ::Core.SimpleVector, ::Core.SimpleVector, ::Core.SimpleVector, ::Core.SimpleVector) @ Enzyme.Compiler ~/.julia/packages/Enzyme/2lHFw/src/rules/jitrules.jl:1130 [10] macro expansion @ ~/.julia/packages/Enzyme/2lHFw/src/rules/jitrules.jl:324 [inlined] [11] runtime_generic_fwd @ ~/.julia/packages/Enzyme/2lHFw/src/rules/jitrules.jl:357 [inlined] [12] runtime_generic_fwd @ ~/.julia/packages/Enzyme/2lHFw/src/rules/jitrules.jl:0 [inlined] [13] fwddiffejulia_runtime_generic_fwd_47929_inner_1wrap @ ~/.julia/packages/Enzyme/2lHFw/src/rules/jitrules.jl:0 [14] macro expansion @ ~/.julia/packages/Enzyme/2lHFw/src/compiler.jl:6666 [inlined] [15] enzyme_call(::Val{false}, ::Ptr{Nothing}, ::Type{Enzyme.Compiler.ForwardModeThunk{Ptr{Nothing}, EnzymeCore.Const{typeof(Enzyme.Compiler.runtime_generic_fwd)}, EnzymeCore.Duplicated{@NamedTuple{var"1", var"2"}}, Tuple{EnzymeCore.Const{Type{Val{(false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false)}}}, EnzymeCore.Const{Val{false}}, EnzymeCore.Const{Val{false}}, EnzymeCore.Const{Val{1}}, EnzymeCore.Const{Val{@NamedTuple{var"1", var"2"}}}, EnzymeCore.Const{typeof(Enzyme.Compiler.runtime_generic_fwd)}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Type{Val{(false, false, false, false, false, false, false, false, false, false, false, false, false, false)}}}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Val{false}}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Val{false}}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Val{1}}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Val{@NamedTuple{var"1", var"2"}}}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{typeof(Enzyme.Compiler.thunk)}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Val{0}}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Type{EnzymeCore.Const{typeof(derivative_bundle)}}}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Type{EnzymeCore.Duplicated{SVector{4, Float64}}}}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Type{Tuple{EnzymeCore.Const{typeof(flux)}, EnzymeCore.Duplicated{Tuple{SVector{4, Float64}}}}}}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Val{Enzyme.API.DEM_ForwardMode}}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Val{1}}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Val{(false, false, false)}}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Val{false}}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Val{false}}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Type{EnzymeCore.InlineABI}}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Val{true}}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Val{false}}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Val{false}}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Nothing}}, 1, true}}, ::Val{1}, ::Val{true}, ::Type{Tuple{EnzymeCore.Const{Type{Val{(false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false)}}}, EnzymeCore.Const{Val{false}}, EnzymeCore.Const{Val{false}}, EnzymeCore.Const{Val{1}}, EnzymeCore.Const{Val{@NamedTuple{var"1", var"2"}}}, EnzymeCore.Const{typeof(Enzyme.Compiler.runtime_generic_fwd)}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Type{Val{(false, false, false, false, false, false, false, false, false, false, false, false, false, false)}}}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Val{false}}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Val{false}}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Val{1}}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Val{@NamedTuple{var"1", var"2"}}}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{typeof(Enzyme.Compiler.thunk)}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Val{0}}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Type{EnzymeCore.Const{typeof(derivative_bundle)}}}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Type{EnzymeCore.Duplicated{SVector{4, Float64}}}}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Type{Tuple{EnzymeCore.Const{typeof(flux)}, EnzymeCore.Duplicated{Tuple{SVector{4, Float64}}}}}}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Val{Enzyme.API.DEM_ForwardMode}}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Val{1}}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Val{(false, false, false)}}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Val{false}}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Val{false}}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Type{EnzymeCore.InlineABI}}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Val{true}}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Val{false}}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Val{false}}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Nothing}}}, ::Type{EnzymeCore.Duplicated{@NamedTuple{var"1", var"2"}}}, ::EnzymeCore.Const{typeof(Enzyme.Compiler.runtime_generic_fwd)}, ::Type{Nothing}, ::EnzymeCore.Const{Type{Val{(false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false)}}}, ::EnzymeCore.Const{Val{false}}, ::EnzymeCore.Const{Val{false}}, ::EnzymeCore.Const{Val{1}}, ::EnzymeCore.Const{Val{@NamedTuple{var"1", var"2"}}}, ::EnzymeCore.Const{typeof(Enzyme.Compiler.runtime_generic_fwd)}, ::EnzymeCore.Const{Nothing}, ::EnzymeCore.Const{Type{Val{(false, false, false, false, false, false, false, false, false, false, false, false, false, false)}}}, ::EnzymeCore.Const{Nothing}, ::EnzymeCore.Const{Val{false}}, ::EnzymeCore.Const{Nothing}, ::EnzymeCore.Const{Val{false}}, ::EnzymeCore.Const{Nothing}, ::EnzymeCore.Const{Val{1}}, ::EnzymeCore.Const{Nothing}, ::EnzymeCore.Const{Val{@NamedTuple{var"1", var"2"}}}, ::EnzymeCore.Const{Nothing}, ::EnzymeCore.Const{typeof(Enzyme.Compiler.thunk)}, ::EnzymeCore.Const{Nothing}, ::EnzymeCore.Const{Nothing}, ::EnzymeCore.Const{Nothing}, ::EnzymeCore.Const{Val{0}}, ::EnzymeCore.Const{Nothing}, ::EnzymeCore.Const{Nothing}, ::EnzymeCore.Const{Nothing}, ::EnzymeCore.Const{Type{EnzymeCore.Const{typeof(derivative_bundle)}}}, ::EnzymeCore.Const{Nothing}, ::EnzymeCore.Const{Nothing}, ::EnzymeCore.Const{Nothing}, ::EnzymeCore.Const{Type{EnzymeCore.Duplicated{SVector{4, Float64}}}}, ::EnzymeCore.Const{Nothing}, ::EnzymeCore.Const{Nothing}, ::EnzymeCore.Const{Nothing}, ::EnzymeCore.Const{Type{Tuple{EnzymeCore.Const{typeof(flux)}, EnzymeCore.Duplicated{Tuple{SVector{4, Float64}}}}}}, ::EnzymeCore.Const{Nothing}, ::EnzymeCore.Const{Nothing}, ::EnzymeCore.Const{Nothing}, ::EnzymeCore.Const{Val{Enzyme.API.DEM_ForwardMode}}, ::EnzymeCore.Const{Nothing}, ::EnzymeCore.Const{Nothing}, ::EnzymeCore.Const{Nothing}, ::EnzymeCore.Const{Val{1}}, ::EnzymeCore.Const{Nothing}, ::EnzymeCore.Const{Nothing}, ::EnzymeCore.Const{Nothing}, ::EnzymeCore.Const{Val{(false, false, false)}}, ::EnzymeCore.Const{Nothing}, ::EnzymeCore.Const{Nothing}, ::EnzymeCore.Const{Nothing}, ::EnzymeCore.Const{Val{false}}, ::EnzymeCore.Const{Nothing}, ::EnzymeCore.Const{Nothing}, ::EnzymeCore.Const{Nothing}, ::EnzymeCore.Const{Val{false}}, ::EnzymeCore.Const{Nothing}, ::EnzymeCore.Const{Nothing}, ::EnzymeCore.Const{Nothing}, ::EnzymeCore.Const{Type{EnzymeCore.InlineABI}}, ::EnzymeCore.Const{Nothing}, ::EnzymeCore.Const{Nothing}, ::EnzymeCore.Const{Nothing}, ::EnzymeCore.Const{Val{true}}, ::EnzymeCore.Const{Nothing}, ::EnzymeCore.Const{Nothing}, ::EnzymeCore.Const{Nothing}, ::EnzymeCore.Const{Val{false}}, ::EnzymeCore.Const{Nothing}, ::EnzymeCore.Const{Nothing}, ::EnzymeCore.Const{Nothing}, ::EnzymeCore.Const{Val{false}}, ::EnzymeCore.Const{Nothing}, ::EnzymeCore.Const{Nothing}, ::EnzymeCore.Const{Nothing}) @ Enzyme.Compiler ~/.julia/packages/Enzyme/2lHFw/src/compiler.jl:6145 [16] (::Enzyme.Compiler.ForwardModeThunk{Ptr{Nothing}, EnzymeCore.Const{typeof(Enzyme.Compiler.runtime_generic_fwd)}, EnzymeCore.Duplicated{@NamedTuple{var"1", var"2"}}, Tuple{EnzymeCore.Const{Type{Val{(false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false)}}}, EnzymeCore.Const{Val{false}}, EnzymeCore.Const{Val{false}}, EnzymeCore.Const{Val{1}}, EnzymeCore.Const{Val{@NamedTuple{var"1", var"2"}}}, EnzymeCore.Const{typeof(Enzyme.Compiler.runtime_generic_fwd)}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Type{Val{(false, false, false, false, false, false, false, false, false, false, false, false, false, false)}}}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Val{false}}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Val{false}}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Val{1}}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Val{@NamedTuple{var"1", var"2"}}}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{typeof(Enzyme.Compiler.thunk)}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Val{0}}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Type{EnzymeCore.Const{typeof(derivative_bundle)}}}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Type{EnzymeCore.Duplicated{SVector{4, Float64}}}}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Type{Tuple{EnzymeCore.Const{typeof(flux)}, EnzymeCore.Duplicated{Tuple{SVector{4, Float64}}}}}}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Val{Enzyme.API.DEM_ForwardMode}}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Val{1}}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Val{(false, false, false)}}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Val{false}}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Val{false}}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Type{EnzymeCore.InlineABI}}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Val{true}}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Val{false}}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Val{false}}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Nothing}}, 1, true})(::EnzymeCore.Const{typeof(Enzyme.Compiler.runtime_generic_fwd)}, ::EnzymeCore.Const{Type{Val{(false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false)}}}, ::Vararg{Any}) @ Enzyme.Compiler ~/.julia/packages/Enzyme/2lHFw/src/compiler.jl:6045 [17] macro expansion @ ~/.julia/packages/Enzyme/2lHFw/src/rules/jitrules.jl:324 [inlined] [18] runtime_generic_fwd(::Type{Val{(false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false)}}, ::Val{false}, ::Val{false}, ::Val{1}, ::Val{@NamedTuple{var"1", var"2"}}, ::typeof(Enzyme.Compiler.runtime_generic_fwd), ::Nothing, ::Type{Val{(false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false)}}, ::Nothing, ::Val{false}, ::Nothing, ::Val{false}, ::Nothing, ::Val{1}, ::Nothing, ::Val{@NamedTuple{var"1", var"2"}}, ::Nothing, ::typeof(Enzyme.Compiler.runtime_generic_fwd), ::Nothing, ::Nothing, ::Nothing, ::Type{Val{(false, false, false, false, false, false, false, false, false, false, false, false, false, false)}}, ::Nothing, ::Nothing, ::Nothing, ::Val{false}, ::Nothing, ::Nothing, ::Nothing, ::Val{false}, ::Nothing, ::Nothing, ::Nothing, ::Val{1}, ::Nothing, ::Nothing, ::Nothing, ::Val{@NamedTuple{var"1", var"2"}}, ::Nothing, ::Nothing, ::Nothing, ::typeof(Enzyme.Compiler.thunk), ::Nothing, ::Nothing, ::Nothing, ::Nothing, ::Nothing, ::Nothing, ::Nothing, ::Val{0}, ::Nothing, ::Nothing, ::Nothing, ::Nothing, ::Nothing, ::Nothing, ::Nothing, ::Type{EnzymeCore.Const{typeof(derivative_bundle)}}, ::Nothing, ::Nothing, ::Nothing, ::Nothing, ::Nothing, ::Nothing, ::Nothing, ::Type{EnzymeCore.Duplicated{SVector{4, Float64}}}, ::Nothing, ::Nothing, ::Nothing, ::Nothing, ::Nothing, ::Nothing, ::Nothing, ::Type{Tuple{EnzymeCore.Const{typeof(flux)}, EnzymeCore.Duplicated{Tuple{SVector{4, Float64}}}}}, ::Nothing, ::Nothing, ::Nothing, ::Nothing, ::Nothing, ::Nothing, ::Nothing, ::Val{Enzyme.API.DEM_ForwardMode}, ::Nothing, ::Nothing, ::Nothing, ::Nothing, ::Nothing, ::Nothing, ::Nothing, ::Val{1}, ::Nothing, ::Nothing, ::Nothing, ::Nothing, ::Nothing, ::Nothing, ::Nothing, ::Val{(false, false, false)}, ::Nothing, ::Nothing, ::Nothing, ::Nothing, ::Nothing, ::Nothing, ::Nothing, ::Val{false}, ::Nothing, ::Nothing, ::Nothing, ::Nothing, ::Nothing, ::Nothing, ::Nothing, ::Val{false}, ::Nothing, ::Nothing, ::Nothing, ::Nothing, ::Nothing, ::Nothing, ::Nothing, ::Type{EnzymeCore.InlineABI}, ::Nothing, ::Nothing, ::Nothing, ::Nothing, ::Nothing, ::Nothing, ::Nothing, ::Val{true}, ::Nothing, ::Nothing, ::Nothing, ::Nothing, ::Nothing, ::Nothing, ::Nothing, ::Val{false}, ::Nothing, ::Nothing, ::Nothing, ::Nothing, ::Nothing, ::Nothing, ::Nothing, ::Val{false}, ::Nothing, ::Nothing, ::Nothing, ::Nothing, ::Nothing, ::Nothing, ::Nothing) @ Enzyme.Compiler ~/.julia/packages/Enzyme/2lHFw/src/rules/jitrules.jl:357 [19] autodiff @ ~/.julia/packages/Enzyme/2lHFw/src/Enzyme.jl:658 [inlined] [20] autodiff @ ~/.julia/packages/Enzyme/2lHFw/src/Enzyme.jl:0 [inlined] [21] fwddiffejulia_autodiff_46941_inner_1wrap @ ~/.julia/packages/Enzyme/2lHFw/src/Enzyme.jl:0 [inlined] [22] macro expansion @ ~/.julia/packages/Enzyme/2lHFw/src/compiler.jl:6666 [inlined] [23] enzyme_call @ ~/.julia/packages/Enzyme/2lHFw/src/compiler.jl:6145 [inlined] [24] ForwardModeThunk @ ~/.julia/packages/Enzyme/2lHFw/src/compiler.jl:6045 [inlined] [25] macro expansion @ ~/.julia/packages/Enzyme/2lHFw/src/rules/jitrules.jl:324 [inlined] [26] runtime_generic_fwd @ ~/.julia/packages/Enzyme/2lHFw/src/rules/jitrules.jl:357 [inlined] [27] runtime_generic_fwd @ ~/.julia/packages/Enzyme/2lHFw/src/rules/jitrules.jl:0 [inlined] [28] fwddiffejulia_runtime_generic_fwd_47333_inner_1wrap @ ~/.julia/packages/Enzyme/2lHFw/src/rules/jitrules.jl:0 [inlined] [29] macro expansion @ ~/.julia/packages/Enzyme/2lHFw/src/compiler.jl:6666 [inlined] [30] enzyme_call @ ~/.julia/packages/Enzyme/2lHFw/src/compiler.jl:6145 [inlined] [31] ForwardModeThunk @ ~/.julia/packages/Enzyme/2lHFw/src/compiler.jl:6045 [inlined] [32] macro expansion @ ~/.julia/packages/Enzyme/2lHFw/src/rules/jitrules.jl:324 [inlined] [33] runtime_generic_fwd @ ~/.julia/packages/Enzyme/2lHFw/src/rules/jitrules.jl:357 [inlined] [34] runtime_generic_fwd @ ~/.julia/packages/Enzyme/2lHFw/src/rules/jitrules.jl:0 [inlined] [35] fwddiffejulia_runtime_generic_fwd_47844_inner_1wrap @ ~/.julia/packages/Enzyme/2lHFw/src/rules/jitrules.jl:0 [36] macro expansion @ ~/.julia/packages/Enzyme/2lHFw/src/compiler.jl:6666 [inlined] [37] enzyme_call(::Val{false}, ::Ptr{Nothing}, ::Type{Enzyme.Compiler.ForwardModeThunk{Ptr{Nothing}, EnzymeCore.Const{typeof(Enzyme.Compiler.runtime_generic_fwd)}, EnzymeCore.Duplicated{@NamedTuple{var"1", var"2"}}, Tuple{EnzymeCore.Const{Type{Val{(false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, true, true)}}}, EnzymeCore.Const{Val{false}}, EnzymeCore.Const{Val{false}}, EnzymeCore.Const{Val{1}}, EnzymeCore.Const{Val{@NamedTuple{var"1", var"2"}}}, EnzymeCore.Const{typeof(Enzyme.Compiler.runtime_generic_fwd)}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Type{Val{(false, false, false, false, false, true)}}}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Val{false}}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Val{false}}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Val{1}}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Val{@NamedTuple{var"1", var"2"}}}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{typeof(EnzymeCore.autodiff)}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{EnzymeCore.ForwardMode{false, EnzymeCore.InlineABI, true, false, false}}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{EnzymeCore.Const{typeof(derivative_bundle)}}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Type{EnzymeCore.Duplicated{SVector{4, Float64}}}}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{EnzymeCore.Const{typeof(flux)}}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Nothing}, Vararg{EnzymeCore.Duplicated{EnzymeCore.Duplicated{Tuple{SVector{4, Float64}}}}, 4}}, 1, true}}, ::Val{1}, ::Val{true}, ::Type{Tuple{EnzymeCore.Const{Type{Val{(false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, true, true)}}}, EnzymeCore.Const{Val{false}}, EnzymeCore.Const{Val{false}}, EnzymeCore.Const{Val{1}}, EnzymeCore.Const{Val{@NamedTuple{var"1", var"2"}}}, EnzymeCore.Const{typeof(Enzyme.Compiler.runtime_generic_fwd)}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Type{Val{(false, false, false, false, false, true)}}}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Val{false}}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Val{false}}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Val{1}}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Val{@NamedTuple{var"1", var"2"}}}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{typeof(EnzymeCore.autodiff)}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{EnzymeCore.ForwardMode{false, EnzymeCore.InlineABI, true, false, false}}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{EnzymeCore.Const{typeof(derivative_bundle)}}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Type{EnzymeCore.Duplicated{SVector{4, Float64}}}}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{EnzymeCore.Const{typeof(flux)}}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Nothing}, Vararg{EnzymeCore.Duplicated{EnzymeCore.Duplicated{Tuple{SVector{4, Float64}}}}, 4}}}, ::Type{EnzymeCore.Duplicated{@NamedTuple{var"1", var"2"}}}, ::EnzymeCore.Const{typeof(Enzyme.Compiler.runtime_generic_fwd)}, ::Type{Nothing}, ::EnzymeCore.Const{Type{Val{(false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, true, true)}}}, ::EnzymeCore.Const{Val{false}}, ::EnzymeCore.Const{Val{false}}, ::EnzymeCore.Const{Val{1}}, ::EnzymeCore.Const{Val{@NamedTuple{var"1", var"2"}}}, ::EnzymeCore.Const{typeof(Enzyme.Compiler.runtime_generic_fwd)}, ::EnzymeCore.Const{Nothing}, ::EnzymeCore.Const{Type{Val{(false, false, false, false, false, true)}}}, ::EnzymeCore.Const{Nothing}, ::EnzymeCore.Const{Val{false}}, ::EnzymeCore.Const{Nothing}, ::EnzymeCore.Const{Val{false}}, ::EnzymeCore.Const{Nothing}, ::EnzymeCore.Const{Val{1}}, ::EnzymeCore.Const{Nothing}, ::EnzymeCore.Const{Val{@NamedTuple{var"1", var"2"}}}, ::EnzymeCore.Const{Nothing}, ::EnzymeCore.Const{typeof(EnzymeCore.autodiff)}, ::EnzymeCore.Const{Nothing}, ::EnzymeCore.Const{Nothing}, ::EnzymeCore.Const{Nothing}, ::EnzymeCore.Const{EnzymeCore.ForwardMode{false, EnzymeCore.InlineABI, true, false, false}}, ::EnzymeCore.Const{Nothing}, ::EnzymeCore.Const{Nothing}, ::EnzymeCore.Const{Nothing}, ::EnzymeCore.Const{EnzymeCore.Const{typeof(derivative_bundle)}}, ::EnzymeCore.Const{Nothing}, ::EnzymeCore.Const{Nothing}, ::EnzymeCore.Const{Nothing}, ::EnzymeCore.Const{Type{EnzymeCore.Duplicated{SVector{4, Float64}}}}, ::EnzymeCore.Const{Nothing}, ::EnzymeCore.Const{Nothing}, ::EnzymeCore.Const{Nothing}, ::EnzymeCore.Const{EnzymeCore.Const{typeof(flux)}}, ::EnzymeCore.Const{Nothing}, ::EnzymeCore.Const{Nothing}, ::EnzymeCore.Const{Nothing}, ::EnzymeCore.Duplicated{EnzymeCore.Duplicated{Tuple{SVector{4, Float64}}}}, ::EnzymeCore.Duplicated{EnzymeCore.Duplicated{Tuple{SVector{4, Float64}}}}, ::EnzymeCore.Duplicated{EnzymeCore.Duplicated{Tuple{SVector{4, Float64}}}}, ::EnzymeCore.Duplicated{EnzymeCore.Duplicated{Tuple{SVector{4, Float64}}}}) @ Enzyme.Compiler ~/.julia/packages/Enzyme/2lHFw/src/compiler.jl:6145 [38] (::Enzyme.Compiler.ForwardModeThunk{Ptr{Nothing}, EnzymeCore.Const{typeof(Enzyme.Compiler.runtime_generic_fwd)}, EnzymeCore.Duplicated{@NamedTuple{var"1", var"2"}}, Tuple{EnzymeCore.Const{Type{Val{(false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, true, true)}}}, EnzymeCore.Const{Val{false}}, EnzymeCore.Const{Val{false}}, EnzymeCore.Const{Val{1}}, EnzymeCore.Const{Val{@NamedTuple{var"1", var"2"}}}, EnzymeCore.Const{typeof(Enzyme.Compiler.runtime_generic_fwd)}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Type{Val{(false, false, false, false, false, true)}}}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Val{false}}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Val{false}}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Val{1}}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Val{@NamedTuple{var"1", var"2"}}}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{typeof(EnzymeCore.autodiff)}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{EnzymeCore.ForwardMode{false, EnzymeCore.InlineABI, true, false, false}}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{EnzymeCore.Const{typeof(derivative_bundle)}}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Type{EnzymeCore.Duplicated{SVector{4, Float64}}}}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{EnzymeCore.Const{typeof(flux)}}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Nothing}, EnzymeCore.Const{Nothing}, Vararg{EnzymeCore.Duplicated{EnzymeCore.Duplicated{Tuple{SVector{4, Float64}}}}, 4}}, 1, true})(::EnzymeCore.Const{typeof(Enzyme.Compiler.runtime_generic_fwd)}, ::EnzymeCore.Const{Type{Val{(false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, true, true)}}}, ::Vararg{Any}) @ Enzyme.Compiler ~/.julia/packages/Enzyme/2lHFw/src/compiler.jl:6045 [39] macro expansion @ ~/.julia/packages/Enzyme/2lHFw/src/rules/jitrules.jl:324 [inlined] [40] runtime_generic_fwd(::Type{Val{(false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, true, true, true, true)}}, ::Val{false}, ::Val{false}, ::Val{1}, ::Val{@NamedTuple{var"1", var"2"}}, ::typeof(Enzyme.Compiler.runtime_generic_fwd), ::Nothing, ::Type{Val{(false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, true, true)}}, ::Nothing, ::Val{false}, ::Nothing, ::Val{false}, ::Nothing, ::Val{1}, ::Nothing, ::Val{@NamedTuple{var"1", var"2"}}, ::Nothing, ::typeof(Enzyme.Compiler.runtime_generic_fwd), ::Nothing, ::Nothing, ::Nothing, ::Type{Val{(false, false, false, false, false, true)}}, ::Nothing, ::Nothing, ::Nothing, ::Val{false}, ::Nothing, ::Nothing, ::Nothing, ::Val{false}, ::Nothing, ::Nothing, ::Nothing, ::Val{1}, ::Nothing, ::Nothing, ::Nothing, ::Val{@NamedTuple{var"1", var"2"}}, ::Nothing, ::Nothing, ::Nothing, ::typeof(EnzymeCore.autodiff), ::Nothing, ::Nothing, ::Nothing, ::Nothing, ::Nothing, ::Nothing, ::Nothing, ::EnzymeCore.ForwardMode{false, EnzymeCore.InlineABI, true, false, false}, ::Nothing, ::Nothing, ::Nothing, ::Nothing, ::Nothing, ::Nothing, ::Nothing, ::EnzymeCore.Const{typeof(derivative_bundle)}, ::Nothing, ::Nothing, ::Nothing, ::Nothing, ::Nothing, ::Nothing, ::Nothing, ::Type{EnzymeCore.Duplicated{SVector{4, Float64}}}, ::Nothing, ::Nothing, ::Nothing, ::Nothing, ::Nothing, ::Nothing, ::Nothing, ::EnzymeCore.Const{typeof(flux)}, ::Nothing, ::Nothing, ::Nothing, ::Nothing, ::Nothing, ::Nothing, ::Nothing, ::EnzymeCore.Duplicated{Tuple{SVector{4, Float64}}}, ::EnzymeCore.Duplicated{Tuple{SVector{4, Float64}}}, ::EnzymeCore.Duplicated{Tuple{SVector{4, Float64}}}, ::EnzymeCore.Duplicated{Tuple{SVector{4, Float64}}}, ::EnzymeCore.Duplicated{Tuple{SVector{4, Float64}}}, ::EnzymeCore.Duplicated{Tuple{SVector{4, Float64}}}, ::EnzymeCore.Duplicated{Tuple{SVector{4, Float64}}}, ::EnzymeCore.Duplicated{Tuple{SVector{4, Float64}}}) @ Enzyme.Compiler ~/.julia/packages/Enzyme/2lHFw/src/rules/jitrules.jl:357 [41] autodiff @ ~/.julia/packages/Enzyme/2lHFw/src/Enzyme.jl:562 [inlined] [42] autodiff @ ~/.julia/packages/Enzyme/2lHFw/src/Enzyme.jl:534 [inlined] [43] derivative_bundle @ ~/.julia/packages/TowerOfEnzyme/wUeMv/src/TowerOfEnzyme.jl:59 [inlined] [44] derivative_bundle @ ~/.julia/packages/TowerOfEnzyme/wUeMv/src/TowerOfEnzyme.jl:0 [inlined] [45] fwddiffejulia_derivative_bundle_46782_inner_1wrap @ ~/.julia/packages/TowerOfEnzyme/wUeMv/src/TowerOfEnzyme.jl:0 [inlined] [46] macro expansion @ ~/.julia/packages/Enzyme/2lHFw/src/compiler.jl:6677 [inlined] [47] enzyme_call @ ~/.julia/packages/Enzyme/2lHFw/src/compiler.jl:6145 [inlined] [48] ForwardModeThunk @ ~/.julia/packages/Enzyme/2lHFw/src/compiler.jl:6045 [inlined] [49] ForwardModeThunk @ ~/.julia/packages/Enzyme/2lHFw/src/compiler.jl:0 [inlined] [50] fwddiffejulia_ForwardModeThunk_47312_inner_1wrap @ ~/.julia/packages/Enzyme/2lHFw/src/compiler.jl:0 [inlined] [51] macro expansion @ ~/.julia/packages/Enzyme/2lHFw/src/compiler.jl:6666 [inlined] [52] enzyme_call @ ~/.julia/packages/Enzyme/2lHFw/src/compiler.jl:6145 [inlined] [53] ForwardModeThunk @ ~/.julia/packages/Enzyme/2lHFw/src/compiler.jl:6045 [inlined] [54] macro expansion @ ~/.julia/packages/Enzyme/2lHFw/src/rules/jitrules.jl:324 [inlined] [55] runtime_generic_fwd @ ~/.julia/packages/Enzyme/2lHFw/src/rules/jitrules.jl:357 [inlined] [56] runtime_generic_fwd @ ~/.julia/packages/Enzyme/2lHFw/src/rules/jitrules.jl:0 [inlined] [57] fwddiffejulia_runtime_generic_fwd_47822_inner_1wrap @ ~/.julia/packages/Enzyme/2lHFw/src/rules/jitrules.jl:0 [58] macro expansion @ ~/.julia/packages/Enzyme/2lHFw/src/compiler.jl:6666 [inlined] [59] enzyme_call @ ~/.julia/packages/Enzyme/2lHFw/src/compiler.jl:6145 [inlined] [60] ForwardModeThunk @ ~/.julia/packages/Enzyme/2lHFw/src/compiler.jl:6045 [inlined] [61] macro expansion @ ~/.julia/packages/Enzyme/2lHFw/src/rules/jitrules.jl:324 [inlined] [62] runtime_generic_fwd(::Type{Val{(false, false, false, false, false, false, true, true, false, false, false, false, true, true)}}, ::Val{false}, ::Val{false}, ::Val{1}, ::Val{@NamedTuple{var"1", var"2"}}, ::typeof(Enzyme.Compiler.runtime_generic_fwd), ::Nothing, ::Type{Val{(true, false, false, true)}}, ::Nothing, ::Val{false}, ::Nothing, ::Val{false}, ::Nothing, ::Val{1}, ::Nothing, ::Val{@NamedTuple{var"1", var"2"}}, ::Nothing, ::Enzyme.Compiler.ForwardModeThunk{Val{(Symbol("; ModuleID = 'start'\nsource_filename = \"start\"\ntarget datalayout = \"e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-i128:128-f80:128-n8:16:32:64-S128-ni:10:11:12:13\"\ntarget triple = \"x86_64-linux-gnu\"\n\n@ejl_jl_nothing = external addrspace(10) global {}, !enzyme_ta_norecur !0, !enzyme_inactive !0\n@ejl_jl_false = external addrspace(10) global {}, !enzyme_ta_norecur !0, !enzyme_inactive !0\n@ejl_jl_true = external addrspace(10) global {}, !enzyme_ta_norecur !0, !enzyme_inactive !0\n@ejl_enz_val_1 = external addrspace(10) global {}, !enzyme_ta_norecur !0, !enzyme_inactive !0\n@ejl_enz_runtime_generic_fwd = external addrspace(10) global {}, !enzyme_ta_norecur !0, !enzyme_inactive !0\n\n; Function Attrs: nofree nosync nounwind willreturn memory(none)\ndeclare ptr @julia.get_pgcstack() local_unnamed_addr #0\n\n; Function Attrs: nofree\ndeclare nonnull ptr addrspace(10) @ijl_invoke(ptr addrspace(10), ptr noalias nocapture noundef readonly, i32, ptr addrspace(10)) #1\n\n; Function Attrs: nofree\ndeclare nonnull ptr addrspace(10) @julia.call2(ptr, ptr addrspace(10), ptr addrspace(10), ...) local_unnamed_addr #1\n\n; Function Attrs: nofree\ndeclare nonnull ptr addrspace(10) @jl_f_apply_type(ptr addrspace(10), ptr noalias nocapture noundef readonly, i32) #2\n\n; Function Attrs: nofree\ndeclare nonnull ptr addrspace(10) @julia.call(ptr, ptr addrspace(10), ...) local_unnamed_addr #1\n\n; Function Attrs: mustprogress nofree nounwind willreturn allockind(\"alloc,uninitialized\") allocsize(1) memory(inaccessiblemem: readwrite)\ndeclare noalias nonnull ptr addrspace(10) @julia.gc_alloc_obj(ptr, i64, ptr addrspace(10)) local_unnamed_addr #3\n\n; Function Attrs: nofree\ndeclare nonnull ptr addrspace(10) @ijl_apply_generic(ptr addrspace(10), ptr noalias nocapture noundef readonly, i32) #1\n\n; Function Attrs: nocallback nofree nosync nounwind willreturn memory(argmem: readwrite)\ndeclare void @llvm.lifetime.start.p0(i64 immarg, ptr nocapture) #4\n\n; Function Attrs: nocallback nofree nosync nounwind willreturn memory(argmem: readwrite)\ndeclare void @llvm.lifetime.end.p0(i64 immarg, ptr nocapture) #4\n\n; Function Attrs: alwaysinline\ndefine [1 x ptr addrspace(10)] @fwddiffejulia_derivative_bundle_46782_inner_1wrap([2 x [1 x [4 x double]]] %0, [2 x [1 x [4 x double]]] %1) #5 !dbg !9 {\nentry:\n %newly_emitted_pgc_stack = call ptr @julia.get_pgcstack()\n %2 = alloca [1 x ptr addrspace(10)], align 8\n %.fca.0.0.0.extract.i = extractvalue [2 x [1 x [4 x double]]] %0, 0, 0, 0, !dbg !12, !enzyme_type !15, !enzymejl_source_type_Float64 !0, !enzymejl_byref_BITS_VALUE !0\n %\".fca.0.0.0.extract'ipev.i\" = extractvalue [2 x [1 x [4 x double]]] %1, 0, 0, 0, !dbg !12\n %.fca.0.0.1.extract.i = extractvalue [2 x [1 x [4 x double]]] %0, 0, 0, 1, !dbg !12, !enzyme_type !15, !enzymejl_source_type_Float64 !0, !enzymejl_byref_BITS_VALUE !0\n %\".fca.0.0.1.extract'ipev.i\" = extractvalue [2 x [1 x [4 x double]]] %1, 0, 0, 1, !dbg !12\n %.fca.0.0.2.extract.i = extractvalue [2 x [1 x [4 x double]]] %0, 0, 0, 2, !dbg !12, !enzyme_type !15, !enzymejl_source_type_Float64 !0, !enzymejl_byref_BITS_VALUE !0\n %\".fca.0.0.2.extract'ipev.i\" = extractvalue [2 x [1 x [4 x double]]] %1, 0, 0, 2, !dbg !12\n %.fca.0.0.3.extract.i = extractvalue [2 x [1 x [4 x double]]] %0, 0, 0, 3, !dbg !12, !enzyme_type !15, !enzymejl_source_type_Float64 !0, !enzymejl_byref_BITS_VALUE !0\n %\".fca.0.0.3.extract'ipev.i\" = extractvalue [2 x [1 x [4 x double]]] %1, 0, 0, 3, !dbg !12\n %.fca.1.0.0.extract.i = extractvalue [2 x [1 x [4 x double]]] %0, 1, 0, 0, !dbg !12, !enzyme_type !15, !enzymejl_source_type_Float64 !0, !enzymejl_byref_BITS_VALUE !0\n %\".fca.1.0.0.extract'ipev.i\" = extractvalue [2 x [1 x [4 x double]]] %1, 1, 0, 0, !dbg !12\n %.fca.1.0.1.extract.i = extractvalue [2 x [1 x [4 x double]]] %0, 1, 0, 1, !dbg !12, !enzyme_type !15, !enzymejl_source_type_Float64 !0, !enzymejl_byref_BITS_VALUE !0\n %\".fca.1.0.1.extract'ipev.i\" = extractvalue [2 x [1 x [4 x double]]] %1, 1, 0, 1, !dbg !12\n %.fca.1.0.2.extract.i = extractvalue [2 x [1 x [4 x double]]] %0, 1, 0, 2, !dbg !12, !enzyme_type !15, !enzymejl_source_type_Float64 !0, !enzymejl_byref_BITS_VALUE !0\n %\".fca.1.0.2.extract'ipev.i\" = extractvalue [2 x [1 x [4 x double]]] %1, 1, 0, 2, !dbg !12\n %.fca.1.0.3.extract.i = extractvalue [2 x [1 x [4 x double]]] %0, 1, 0, 3, !dbg !12, !enzyme_type !15, !enzymejl_source_type_Float64 !0, !enzymejl_byref_BITS_VALUE !0\n %\".fca.1.0.3.extract'ipev.i\" = extractvalue [2 x [1 x [4 x double]]] %1, 1, 0, 3\n %pgcstack.i.i = call ptr @julia.get_pgcstack() #7\n %3 = call nonnull \"enzyme_type\"=\"{[-1]:Pointer}\" ptr addrspace(10) (ptr, ptr addrspace(10), ptr addrspace(10), ...) @julia.call2(ptr nonnull @ijl_invoke, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695899363856 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695860763760 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695618768768 to ptr) to ptr addrspace(10))) #8, !dbg !17\n %.not.i = icmp eq ptr addrspace(10) %3, addrspacecast (ptr inttoptr (i64 130695720003920 to ptr) to ptr addrspace(10)), !dbg !17\n %\"ejl_inserted\$_Core_Tuple_46789\$false\$130695758914192.ejl_inserted\$_Main__flux_46797\$false\$130695095857232.i\" = select i1 %.not.i, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695095857232 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695758914192 to ptr) to ptr addrspace(10)), !dbg !17\n %jl_f_apply_type_ret.i.i = call nonnull \"enzyme_inactive\" \"enzyme_type\"=\"{[-1]:Pointer}\" ptr addrspace(10) (ptr, ptr addrspace(10), ...) @julia.call(ptr nonnull @jl_f_apply_type, ptr addrspace(10) null, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695930797600 to ptr) to ptr addrspace(10)), ptr addrspace(10) %\"ejl_inserted\$_Core_Tuple_46789\$false\$130695758914192.ejl_inserted\$_Main__flux_46797\$false\$130695095857232.i\", ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695758914192 to ptr) to ptr addrspace(10))) #9, !dbg !32\n %.not1.not.i = icmp eq ptr addrspace(10) %jl_f_apply_type_ret.i.i, addrspacecast (ptr inttoptr (i64 130695116316496 to ptr) to ptr addrspace(10)), !dbg !33\n %value_phi4.i.i = select i1 %.not1.not.i, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695757158928 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695105306192 to ptr) to ptr addrspace(10)), !dbg !34\n %current_task.i.i = getelementptr inbounds i8, ptr %pgcstack.i.i, i64 -152, !dbg !35\n %\"box::Duplicated.i.i\" = call noalias nonnull align 8 dereferenceable(64) \"enzyme_ReadOnlyOrThrow\" \"enzyme_type\"=\"{[-1]:Pointer, [-1,-1]:Float@double}\" ptr addrspace(10) @julia.gc_alloc_obj(ptr nonnull %current_task.i.i, i64 64, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695051704528 to ptr) to ptr addrspace(10))) #10, !dbg !35, !enzymejl_gc_alloc_rt !36\n %4 = call noalias nonnull align 8 dereferenceable(64) \"enzyme_ReadOnlyOrThrow\" \"enzyme_type\"=\"{[-1]:Pointer, [-1,-1]:Float@double}\" ptr addrspace(10) @julia.gc_alloc_obj(ptr nonnull %current_task.i.i, i64 64, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695051704528 to ptr) to ptr addrspace(10))) #10, !dbg !35\n %\"'ipc.i\" = addrspacecast ptr addrspace(10) %4 to ptr addrspace(11), !dbg !35\n %5 = addrspacecast ptr addrspace(10) %\"box::Duplicated.i.i\" to ptr addrspace(11), !dbg !35\n store double %\".fca.0.0.0.extract'ipev.i\", ptr addrspace(11) %\"'ipc.i\", align 8, !dbg !35, !tbaa !37, !alias.scope !40, !noalias !46\n store double %.fca.0.0.0.extract.i, ptr addrspace(11) %5, align 8, !dbg !35, !tbaa !37, !alias.scope !53, !noalias !54\n %\"new::Duplicated.i.sroa.4.0..sroa_idx'ipg.i\" = getelementptr inbounds i8, ptr addrspace(11) %\"'ipc.i\", i64 8, !dbg !35\n %\"new::Duplicated.i.sroa.4.0..sroa_idx.i\" = getelementptr inbounds nuw i8, ptr addrspace(11) %5, i64 8, !dbg !35\n store double %\".fca.0.0.1.extract'ipev.i\", ptr addrspace(11) %\"new::Duplicated.i.sroa.4.0..sroa_idx'ipg.i\", align 8, !dbg !35, !tbaa !37, !alias.scope !40, !noalias !46\n store double %.fca.0.0.1.extract.i, ptr addrspace(11) %\"new::Duplicated.i.sroa.4.0..sroa_idx.i\", align 8, !dbg !35, !tbaa !37, !alias.scope !53, !noalias !54\n %\"new::Duplicated.i.sroa.5.0..sroa_idx'ipg.i\" = getelementptr inbounds i8, ptr addrspace(11) %\"'ipc.i\", i64 16, !dbg !35\n %\"new::Duplicated.i.sroa.5.0..sroa_idx.i\" = getelementptr inbounds nuw i8, ptr addrspace(11) %5, i64 16, !dbg !35\n store double %\".fca.0.0.2.extract'ipev.i\", ptr addrspace(11) %\"new::Duplicated.i.sroa.5.0..sroa_idx'ipg.i\", align 8, !dbg !35, !tbaa !37, !alias.scope !40, !noalias !46\n store double %.fca.0.0.2.extract.i, ptr addrspace(11) %\"new::Duplicated.i.sroa.5.0..sroa_idx.i\", align 8, !dbg !35, !tbaa !37, !alias.scope !53, !noalias !54\n %\"new::Duplicated.i.sroa.6.0..sroa_idx'ipg.i\" = getelementptr inbounds i8, ptr addrspace(11) %\"'ipc.i\", i64 24, !dbg !35\n %\"new::Duplicated.i.sroa.6.0..sroa_idx.i\" = getelementptr inbounds nuw i8, ptr addrspace(11) %5, i64 24, !dbg !35\n store double %\".fca.0.0.3.extract'ipev.i\", ptr addrspace(11) %\"new::Duplicated.i.sroa.6.0..sroa_idx'ipg.i\", align 8, !dbg !35, !tbaa !37, !alias.scope !40, !noalias !46\n store double %.fca.0.0.3.extract.i, ptr addrspace(11) %\"new::Duplicated.i.sroa.6.0..sroa_idx.i\", align 8, !dbg !35, !tbaa !37, !alias.scope !53, !noalias !54\n %\"new::Duplicated.i.sroa.7.0..sroa_idx'ipg.i\" = getelementptr inbounds i8, ptr addrspace(11) %\"'ipc.i\", i64 32, !dbg !35\n %\"new::Duplicated.i.sroa.7.0..sroa_idx.i\" = getelementptr inbounds nuw i8, ptr addrspace(11) %5, i64 32, !dbg !35\n store double %\".fca.1.0.0.extract'ipev.i\", ptr addrspace(11) %\"new::Duplicated.i.sroa.7.0..sroa_idx'ipg.i\", align 8, !dbg !35, !tbaa !37, !alias.scope !40, !noalias !46\n store double %.fca.1.0.0.extract.i, ptr addrspace(11) %\"new::Duplicated.i.sroa.7.0..sroa_idx.i\", align 8, !dbg !35, !tbaa !37, !alias.scope !53, !noalias !54\n %\"new::Duplicated.i.sroa.8.0..sroa_idx'ipg.i\" = getelementptr inbounds i8, ptr addrspace(11) %\"'ipc.i\", i64 40, !dbg !35\n %\"new::Duplicated.i.sroa.8.0..sroa_idx.i\" = getelementptr inbounds nuw i8, ptr addrspace(11) %5, i64 40, !dbg !35\n store double %\".fca.1.0.1.extract'ipev.i\", ptr addrspace(11) %\"new::Duplicated.i.sroa.8.0..sroa_idx'ipg.i\", align 8, !dbg !35, !tbaa !37, !alias.scope !40, !noalias !46\n store double %.fca.1.0.1.extract.i, ptr addrspace(11) %\"new::Duplicated.i.sroa.8.0..sroa_idx.i\", align 8, !dbg !35, !tbaa !37, !alias.scope !53, !noalias !54\n %\"new::Duplicated.i.sroa.9.0..sroa_idx'ipg.i\" = getelementptr inbounds i8, ptr addrspace(11) %\"'ipc.i\", i64 48, !dbg !35\n %\"new::Duplicated.i.sroa.9.0..sroa_idx.i\" = getelementptr inbounds nuw i8, ptr addrspace(11) %5, i64 48, !dbg !35\n store double %\".fca.1.0.2.extract'ipev.i\", ptr addrspace(11) %\"new::Duplicated.i.sroa.9.0..sroa_idx'ipg.i\", align 8, !dbg !35, !tbaa !37, !alias.scope !40, !noalias !46\n store double %.fca.1.0.2.extract.i, ptr addrspace(11) %\"new::Duplicated.i.sroa.9.0..sroa_idx.i\", align 8, !dbg !35, !tbaa !37, !alias.scope !53, !noalias !54\n %\"new::Duplicated.i.sroa.10.0..sroa_idx'ipg.i\" = getelementptr inbounds i8, ptr addrspace(11) %\"'ipc.i\", i64 56, !dbg !35\n %\"new::Duplicated.i.sroa.10.0..sroa_idx.i\" = getelementptr inbounds nuw i8, ptr addrspace(11) %5, i64 56, !dbg !35\n store double %\".fca.1.0.3.extract'ipev.i\", ptr addrspace(11) %\"new::Duplicated.i.sroa.10.0..sroa_idx'ipg.i\", align 8, !dbg !35, !tbaa !37, !alias.scope !40, !noalias !46\n store double %.fca.1.0.3.extract.i, ptr addrspace(11) %\"new::Duplicated.i.sroa.10.0..sroa_idx.i\", align 8, !dbg !35, !tbaa !37, !alias.scope !53, !noalias !54\n %6 = call ptr addrspace(10) (ptr, ptr addrspace(10), ...) @julia.call(ptr @ijl_apply_generic, ptr addrspace(10) @ejl_enz_runtime_generic_fwd, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695144152912 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695908277584 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695908277584 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_enz_val_1, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695618737712 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 914557072 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695618699640 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695618785288 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) %value_phi4.i.i, ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695618768768 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) %\"box::Duplicated.i.i\", ptr addrspace(10) %4), !dbg !35\n %7 = addrspacecast ptr addrspace(10) %6 to ptr addrspace(11), !dbg !35\n %8 = getelementptr inbounds [2 x ptr addrspace(10)], ptr addrspace(11) %7, i64 0, i64 1, !dbg !35\n %9 = load ptr addrspace(10), ptr addrspace(11) %8, align 8, !dbg !35\n %10 = load ptr addrspace(10), ptr addrspace(11) %7, align 8, !dbg !35\n %11 = call ptr addrspace(10) (ptr, ptr addrspace(10), ...) @julia.call(ptr @ijl_apply_generic, ptr addrspace(10) @ejl_enz_runtime_generic_fwd, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695121167120 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695908277584 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695908277584 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_enz_val_1, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695618737712 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695886842128 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) %10, ptr addrspace(10) %9, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695864039248 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing), !dbg !55\n %12 = addrspacecast ptr addrspace(10) %11 to ptr addrspace(11), !dbg !55\n %13 = getelementptr inbounds [2 x ptr addrspace(10)], ptr addrspace(11) %12, i64 0, i64 1, !dbg !55\n %14 = load ptr addrspace(10), ptr addrspace(11) %13, align 8, !dbg !55\n %15 = getelementptr inbounds [1 x ptr addrspace(10)], ptr %2, i64 0, i32 0\n %dstlocsi = getelementptr inbounds ptr addrspace(10), ptr %15, i64 0\n store ptr addrspace(10) %14, ptr %dstlocsi, align 8\n %16 = load [1 x ptr addrspace(10)], ptr %2, align 8\n ret [1 x ptr addrspace(10)] %16\n}\n\ndefine private void @julia_derivative_bundle_46782_inner.1([2 x [1 x [4 x double]]] \"enzyme_type\"=\"{[-1]:Float@double}\" \"enzymejl_parmtype\"=\"130695198543056\" \"enzymejl_parmtype_ref\"=\"0\" %0) local_unnamed_addr #6 !dbg !56 {\nentry:\n %newly_emitted_pgc_stack = call ptr @julia.get_pgcstack(), !dbg !57\n %.fca.0.0.0.extract = extractvalue [2 x [1 x [4 x double]]] %0, 0, 0, 0, !dbg !57, !enzyme_type !15, !enzymejl_source_type_Float64 !0, !enzymejl_byref_BITS_VALUE !0\n %.fca.0.0.1.extract = extractvalue [2 x [1 x [4 x double]]] %0, 0, 0, 1, !dbg !57, !enzyme_type !15, !enzymejl_source_type_Float64 !0, !enzymejl_byref_BITS_VALUE !0\n %.fca.0.0.2.extract = extractvalue [2 x [1 x [4 x double]]] %0, 0, 0, 2, !dbg !57, !enzyme_type !15, !enzymejl_source_type_Float64 !0, !enzymejl_byref_BITS_VALUE !0\n %.fca.0.0.3.extract = extractvalue [2 x [1 x [4 x double]]] %0, 0, 0, 3, !dbg !57, !enzyme_type !15, !enzymejl_source_type_Float64 !0, !enzymejl_byref_BITS_VALUE !0\n %.fca.1.0.0.extract = extractvalue [2 x [1 x [4 x double]]] %0, 1, 0, 0, !dbg !57, !enzyme_type !15, !enzymejl_source_type_Float64 !0, !enzymejl_byref_BITS_VALUE !0\n %.fca.1.0.1.extract = extractvalue [2 x [1 x [4 x double]]] %0, 1, 0, 1, !dbg !57, !enzyme_type !15, !enzymejl_source_type_Float64 !0, !enzymejl_byref_BITS_VALUE !0\n %.fca.1.0.2.extract = extractvalue [2 x [1 x [4 x double]]] %0, 1, 0, 2, !dbg !57, !enzyme_type !15, !enzymejl_source_type_Float64 !0, !enzymejl_byref_BITS_VALUE !0\n %.fca.1.0.3.extract = extractvalue [2 x [1 x [4 x double]]] %0, 1, 0, 3, !dbg !57, !enzyme_type !15, !enzymejl_source_type_Float64 !0, !enzymejl_byref_BITS_VALUE !0\n %pgcstack.i = call ptr @julia.get_pgcstack()\n %1 = call nonnull \"enzyme_type\"=\"{[-1]:Pointer}\" ptr addrspace(10) (ptr, ptr addrspace(10), ptr addrspace(10), ...) @julia.call2(ptr nonnull @ijl_invoke, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695899363856 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695860763760 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695618768768 to ptr) to ptr addrspace(10))) #11, !dbg !58\n %.not = icmp eq ptr addrspace(10) %1, addrspacecast (ptr inttoptr (i64 130695720003920 to ptr) to ptr addrspace(10)), !dbg !58\n %\"ejl_inserted\$_Core_Tuple_46789\$false\$130695758914192.ejl_inserted\$_Main__flux_46797\$false\$130695095857232\" = select i1 %.not, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695095857232 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695758914192 to ptr) to ptr addrspace(10)), !dbg !58\n %jl_f_apply_type_ret.i = call nonnull \"enzyme_inactive\" \"enzyme_type\"=\"{[-1]:Pointer}\" ptr addrspace(10) (ptr, ptr addrspace(10), ...) @julia.call(ptr nonnull @jl_f_apply_type, ptr addrspace(10) null, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695930797600 to ptr) to ptr addrspace(10)), ptr addrspace(10) %\"ejl_inserted\$_Core_Tuple_46789\$false\$130695758914192.ejl_inserted\$_Main__flux_46797\$false\$130695095857232\", ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695758914192 to ptr) to ptr addrspace(10))) #12, !dbg !66\n %.not1.not = icmp eq ptr addrspace(10) %jl_f_apply_type_ret.i, addrspacecast (ptr inttoptr (i64 130695116316496 to ptr) to ptr addrspace(10)), !dbg !67\n %value_phi4.i = select i1 %.not1.not, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695757158928 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695105306192 to ptr) to ptr addrspace(10)), !dbg !68\n %current_task.i = getelementptr inbounds i8, ptr %pgcstack.i, i64 -152, !dbg !69\n %\"box::Duplicated.i\" = call noalias nonnull align 8 dereferenceable(64) \"enzyme_ReadOnlyOrThrow\" \"enzyme_type\"=\"{[-1]:Pointer, [-1,-1]:Float@double}\" ptr addrspace(10) @julia.gc_alloc_obj(ptr nonnull %current_task.i, i64 64, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695051704528 to ptr) to ptr addrspace(10))) #13, !dbg !69, !enzymejl_gc_alloc_rt !36\n %2 = addrspacecast ptr addrspace(10) %\"box::Duplicated.i\" to ptr addrspace(11), !dbg !69\n store double %.fca.0.0.0.extract, ptr addrspace(11) %2, align 8, !dbg !69, !tbaa !37, !alias.scope !70, !noalias !71\n %\"new::Duplicated.i.sroa.4.0..sroa_idx\" = getelementptr inbounds nuw i8, ptr addrspace(11) %2, i64 8, !dbg !69\n store double %.fca.0.0.1.extract, ptr addrspace(11) %\"new::Duplicated.i.sroa.4.0..sroa_idx\", align 8, !dbg !69, !tbaa !37, !alias.scope !70, !noalias !71\n %\"new::Duplicated.i.sroa.5.0..sroa_idx\" = getelementptr inbounds nuw i8, ptr addrspace(11) %2, i64 16, !dbg !69\n store double %.fca.0.0.2.extract, ptr addrspace(11) %\"new::Duplicated.i.sroa.5.0..sroa_idx\", align 8, !dbg !69, !tbaa !37, !alias.scope !70, !noalias !71\n %\"new::Duplicated.i.sroa.6.0..sroa_idx\" = getelementptr inbounds nuw i8, ptr addrspace(11) %2, i64 24, !dbg !69\n store double %.fca.0.0.3.extract, ptr addrspace(11) %\"new::Duplicated.i.sroa.6.0..sroa_idx\", align 8, !dbg !69, !tbaa !37, !alias.scope !70, !noalias !71\n %\"new::Duplicated.i.sroa.7.0..sroa_idx\" = getelementptr inbounds nuw i8, ptr addrspace(11) %2, i64 32, !dbg !69\n store double %.fca.1.0.0.extract, ptr addrspace(11) %\"new::Duplicated.i.sroa.7.0..sroa_idx\", align 8, !dbg !69, !tbaa !37, !alias.scope !70, !noalias !71\n %\"new::Duplicated.i.sroa.8.0..sroa_idx\" = getelementptr inbounds nuw i8, ptr addrspace(11) %2, i64 40, !dbg !69\n store double %.fca.1.0.1.extract, ptr addrspace(11) %\"new::Duplicated.i.sroa.8.0..sroa_idx\", align 8, !dbg !69, !tbaa !37, !alias.scope !70, !noalias !71\n %\"new::Duplicated.i.sroa.9.0..sroa_idx\" = getelementptr inbounds nuw i8, ptr addrspace(11) %2, i64 48, !dbg !69\n store double %.fca.1.0.2.extract, ptr addrspace(11) %\"new::Duplicated.i.sroa.9.0..sroa_idx\", align 8, !dbg !69, !tbaa !37, !alias.scope !70, !noalias !71\n %\"new::Duplicated.i.sroa.10.0..sroa_idx\" = getelementptr inbounds nuw i8, ptr addrspace(11) %2, i64 56, !dbg !69\n store double %.fca.1.0.3.extract, ptr addrspace(11) %\"new::Duplicated.i.sroa.10.0..sroa_idx\", align 8, !dbg !69, !tbaa !37, !alias.scope !70, !noalias !71\n %3 = call nonnull \"enzyme_type\"=\"{[-1]:Pointer}\" ptr addrspace(10) (ptr, ptr addrspace(10), ...) @julia.call(ptr nonnull @ijl_apply_generic, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 914557072 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695618699640 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695618785288 to ptr) to ptr addrspace(10)), ptr addrspace(10) %value_phi4.i, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695618768768 to ptr) to ptr addrspace(10)), ptr addrspace(10) nonnull %\"box::Duplicated.i\") #11, !dbg !69\n %4 = call nonnull \"enzyme_type\"=\"{[-1]:Pointer}\" ptr addrspace(10) (ptr, ptr addrspace(10), ...) @julia.call(ptr nonnull @ijl_apply_generic, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695886842128 to ptr) to ptr addrspace(10)), ptr addrspace(10) nonnull %3, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695864039248 to ptr) to ptr addrspace(10))) #11, !dbg !74\n ret void, !dbg !57\n}\n\nattributes #0 = { nofree nosync nounwind willreturn memory(none) \"enzyme_inactive\" \"enzyme_no_escaping_allocation\" \"enzyme_shouldrecompute\" \"enzymejl_world\"=\"40013\" }\nattributes #1 = { nofree \"enzymejl_world\"=\"40013\" }\nattributes #2 = { nofree \"enzyme_inactive\" \"enzyme_no_escaping_allocation\" \"enzymejl_world\"=\"40013\" }\nattributes #3 = { mustprogress nofree nounwind willreturn allockind(\"alloc,uninitialized\") allocsize(1) memory(inaccessiblemem: readwrite) \"enzyme_ReadOnlyOrThrow\" \"enzyme_no_escaping_allocation\" \"enzymejl_world\"=\"40013\" }\nattributes #4 = { nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }\nattributes #5 = { alwaysinline \"enzymejl_world\"=\"40013\" }\nattributes #6 = { \"enzyme_retremove\" \"enzyme_ta_norecur\" \"enzymejl_mi\"=\"130695129221840\" \"enzymejl_rt\"=\"130695930797376\" \"enzymejl_world\"=\"40013\" }\nattributes #7 = { mustprogress willreturn }\nattributes #8 = { mustprogress nofree willreturn }\nattributes #9 = { mustprogress nofree willreturn \"enzyme_inactive\" \"enzyme_no_escaping_allocation\" }\nattributes #10 = { mustprogress nounwind willreturn allockind(\"alloc,uninitialized\") allocsize(1) memory(inaccessiblemem: readwrite) \"enzyme_no_escaping_allocation\" }\nattributes #11 = { nofree }\nattributes #12 = { nofree \"enzyme_inactive\" \"enzyme_no_escaping_allocation\" }\nattributes #13 = { nounwind willreturn allockind(\"alloc,uninitialized\") allocsize(1) memory(inaccessiblemem: readwrite) \"enzyme_no_escaping_allocation\" }\n\n!llvm.module.flags = !{!1, !2, !3, !4}\n!llvm.dbg.cu = !{!5, !7, !8}\n\n!0 = !{}\n!1 = !{i32 2, !\"Dwarf Version\", i32 4}\n!2 = !{i32 2, !\"Debug Info Version\", i32 3}\n!3 = !{i32 1, !\"stack-protector-guard\", !\"\"}\n!4 = !{i32 1, !\"override-stack-alignment\", i32 0}\n!5 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !6, producer: \"julia\", isOptimized: true, runtimeVersion: 0, emissionKind: LineTablesOnly, nameTableKind: None)\n!6 = !DIFile(filename: \"julia\", directory: \".\")\n!7 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !6, producer: \"julia\", isOptimized: true, runtimeVersion: 0, emissionKind: LineTablesOnly, nameTableKind: None)\n!8 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !6, producer: \"julia\", isOptimized: true, runtimeVersion: 0, emissionKind: LineTablesOnly, nameTableKind: None)\n!9 = distinct !DISubprogram(name: \"fwddiffejulia_derivative_bundle_46782_inner_1wrap\", linkageName: \"fwddiffejulia_derivative_bundle_46782_inner_1wrap\", scope: null, file: !10, type: !11, spFlags: DISPFlagLocalToUnit | DISPFlagDefinition | DISPFlagOptimized, unit: !8)\n!10 = !DIFile(filename: \"/home/pkgeval/.julia/packages/TowerOfEnzyme/wUeMv/src/TowerOfEnzyme.jl\", directory: \".\")\n!11 = !DISubroutineType(types: !0)\n!12 = !DILocation(line: 0, scope: !13, inlinedAt: !14)\n!13 = distinct !DISubprogram(name: \"derivative_bundle\", linkageName: \"julia_derivative_bundle_46782\", scope: null, file: !10, line: 53, type: !11, scopeLine: 53, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !8)\n!14 = distinct !DILocation(line: 0, scope: !9)\n!15 = !{!\"Unknown\", i32 -1, !16}\n!16 = !{!\"Float@double\"}\n!17 = !DILocation(line: 181, scope: !18, inlinedAt: !20)\n!18 = distinct !DISubprogram(name: \"#vaEltypeof##0;\", linkageName: \"#vaEltypeof##0\", scope: !19, file: !19, type: !11, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !8)\n!19 = !DIFile(filename: \"/home/pkgeval/.julia/packages/Enzyme/2lHFw/src/Enzyme.jl\", directory: \".\")\n!20 = distinct !DILocation(line: 68, scope: !21, inlinedAt: !23)\n!21 = distinct !DISubprogram(name: \"macro expansion;\", linkageName: \"macro expansion\", scope: !22, file: !22, type: !11, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !8)\n!22 = !DIFile(filename: \"ntuple.jl\", directory: \".\")\n!23 = distinct !DILocation(line: 65, scope: !24, inlinedAt: !25)\n!24 = distinct !DISubprogram(name: \"ntuple;\", linkageName: \"ntuple\", scope: !22, file: !22, type: !11, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !8)\n!25 = distinct !DILocation(line: 178, scope: !26, inlinedAt: !27)\n!26 = distinct !DISubprogram(name: \"vaEltypeof;\", linkageName: \"vaEltypeof\", scope: !19, file: !19, type: !11, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !8)\n!27 = distinct !DILocation(line: 555, scope: !28, inlinedAt: !29)\n!28 = distinct !DISubprogram(name: \"autodiff;\", linkageName: \"autodiff\", scope: !19, file: !19, type: !11, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !8)\n!29 = distinct !DILocation(line: 534, scope: !28, inlinedAt: !30)\n!30 = distinct !DILocation(line: 59, scope: !13, inlinedAt: !31)\n!31 = distinct !DILocation(line: 0, scope: !13, inlinedAt: !14)\n!32 = !DILocation(line: 178, scope: !26, inlinedAt: !27)\n!33 = !DILocation(line: 556, scope: !28, inlinedAt: !29)\n!34 = !DILocation(line: 561, scope: !28, inlinedAt: !29)\n!35 = !DILocation(line: 562, scope: !28, inlinedAt: !29)\n!36 = !{!\"130695051704528\"}\n!37 = !{!38, !38, i64 0}\n!38 = !{!\"jtbaa\", !39, i64 0}\n!39 = !{!\"jtbaa\"}\n!40 = !{!41, !43, !45}\n!41 = distinct !{!41, !42, !\"shadow_0\"}\n!42 = distinct !{!42, !\" diff: %box::Duplicated.i\"}\n!43 = !{!\"jnoalias_stack\", !44}\n!44 = !{!\"jnoalias\"}\n!45 = !{!\"jnoalias_data\", !44}\n!46 = !{!47, !48, !50, !51, !52}\n!47 = distinct !{!47, !42, !\"primal\"}\n!48 = distinct !{!48, !49, !\"na_addr13\"}\n!49 = distinct !{!49, !\"addr13\"}\n!50 = !{!\"jnoalias_gcframe\", !44}\n!51 = !{!\"jnoalias_typemd\", !44}\n!52 = !{!\"jnoalias_const\", !44}\n!53 = !{!47, !43, !45}\n!54 = !{!41, !48, !50, !51, !52}\n!55 = !DILocation(line: 59, scope: !13, inlinedAt: !31)\n!56 = distinct !DISubprogram(name: \"derivative_bundle\", linkageName: \"julia_derivative_bundle_46782\", scope: null, file: !10, line: 53, type: !11, scopeLine: 53, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !8)\n!57 = !DILocation(line: 0, scope: !56)\n!58 = !DILocation(line: 181, scope: !18, inlinedAt: !59)\n!59 = distinct !DILocation(line: 68, scope: !21, inlinedAt: !60)\n!60 = distinct !DILocation(line: 65, scope: !24, inlinedAt: !61)\n!61 = distinct !DILocation(line: 178, scope: !26, inlinedAt: !62)\n!62 = distinct !DILocation(line: 555, scope: !28, inlinedAt: !63)\n!63 = distinct !DILocation(line: 534, scope: !28, inlinedAt: !64)\n!64 = distinct !DILocation(line: 59, scope: !56, inlinedAt: !65)\n!65 = distinct !DILocation(line: 0, scope: !56)\n!66 = !DILocation(line: 178, scope: !26, inlinedAt: !62)\n!67 = !DILocation(line: 556, scope: !28, inlinedAt: !63)\n!68 = !DILocation(line: 561, scope: !28, inlinedAt: !63)\n!69 = !DILocation(line: 562, scope: !28, inlinedAt: !63)\n!70 = !{!43, !45}\n!71 = !{!72, !50, !51, !52}\n!72 = distinct !{!72, !73, !\"na_addr13\"}\n!73 = distinct !{!73, !\"addr13\"}\n!74 = !DILocation(line: 59, scope: !56, inlinedAt: !65)\n"), :fwddiffejulia_derivative_bundle_46782_inner_1wrap)}, EnzymeCore.Const{typeof(derivative_bundle)}, EnzymeCore.Duplicated{Any}, Tuple{EnzymeCore.Const{typeof(flux)}, EnzymeCore.Duplicated{Tuple{SVector{4, Float64}, SVector{4, Float64}}}}, 1, false}, ::Enzyme.Compiler.ForwardModeThunk{Val{(Symbol("; ModuleID = 'start'\nsource_filename = \"start\"\ntarget datalayout = \"e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-i128:128-f80:128-n8:16:32:64-S128-ni:10:11:12:13\"\ntarget triple = \"x86_64-linux-gnu\"\n\n@ejl_jl_nothing = external addrspace(10) global {}, !enzyme_ta_norecur !0, !enzyme_inactive !0\n@ejl_jl_false = external addrspace(10) global {}, !enzyme_ta_norecur !0, !enzyme_inactive !0\n@ejl_jl_true = external addrspace(10) global {}, !enzyme_ta_norecur !0, !enzyme_inactive !0\n@ejl_enz_val_1 = external addrspace(10) global {}, !enzyme_ta_norecur !0, !enzyme_inactive !0\n@ejl_enz_runtime_generic_fwd = external addrspace(10) global {}, !enzyme_ta_norecur !0, !enzyme_inactive !0\n\n; Function Attrs: nofree nosync nounwind willreturn memory(none)\ndeclare ptr @julia.get_pgcstack() local_unnamed_addr #0\n\n; Function Attrs: nofree\ndeclare nonnull ptr addrspace(10) @ijl_invoke(ptr addrspace(10), ptr noalias nocapture noundef readonly, i32, ptr addrspace(10)) #1\n\n; Function Attrs: nofree\ndeclare nonnull ptr addrspace(10) @julia.call2(ptr, ptr addrspace(10), ptr addrspace(10), ...) local_unnamed_addr #1\n\n; Function Attrs: nofree\ndeclare nonnull ptr addrspace(10) @jl_f_apply_type(ptr addrspace(10), ptr noalias nocapture noundef readonly, i32) #2\n\n; Function Attrs: nofree\ndeclare nonnull ptr addrspace(10) @julia.call(ptr, ptr addrspace(10), ...) local_unnamed_addr #1\n\n; Function Attrs: mustprogress nofree nounwind willreturn allockind(\"alloc,uninitialized\") allocsize(1) memory(inaccessiblemem: readwrite)\ndeclare noalias nonnull ptr addrspace(10) @julia.gc_alloc_obj(ptr, i64, ptr addrspace(10)) local_unnamed_addr #3\n\n; Function Attrs: nofree\ndeclare nonnull ptr addrspace(10) @ijl_apply_generic(ptr addrspace(10), ptr noalias nocapture noundef readonly, i32) #1\n\n; Function Attrs: nocallback nofree nosync nounwind willreturn memory(argmem: readwrite)\ndeclare void @llvm.lifetime.start.p0(i64 immarg, ptr nocapture) #4\n\n; Function Attrs: nocallback nofree nosync nounwind willreturn memory(argmem: readwrite)\ndeclare void @llvm.lifetime.end.p0(i64 immarg, ptr nocapture) #4\n\n; Function Attrs: alwaysinline\ndefine [1 x ptr addrspace(10)] @fwddiffejulia_derivative_bundle_46782_inner_1wrap([2 x [1 x [4 x double]]] %0, [2 x [1 x [4 x double]]] %1) #5 !dbg !9 {\nentry:\n %newly_emitted_pgc_stack = call ptr @julia.get_pgcstack()\n %2 = alloca [1 x ptr addrspace(10)], align 8\n %.fca.0.0.0.extract.i = extractvalue [2 x [1 x [4 x double]]] %0, 0, 0, 0, !dbg !12, !enzyme_type !15, !enzymejl_source_type_Float64 !0, !enzymejl_byref_BITS_VALUE !0\n %\".fca.0.0.0.extract'ipev.i\" = extractvalue [2 x [1 x [4 x double]]] %1, 0, 0, 0, !dbg !12\n %.fca.0.0.1.extract.i = extractvalue [2 x [1 x [4 x double]]] %0, 0, 0, 1, !dbg !12, !enzyme_type !15, !enzymejl_source_type_Float64 !0, !enzymejl_byref_BITS_VALUE !0\n %\".fca.0.0.1.extract'ipev.i\" = extractvalue [2 x [1 x [4 x double]]] %1, 0, 0, 1, !dbg !12\n %.fca.0.0.2.extract.i = extractvalue [2 x [1 x [4 x double]]] %0, 0, 0, 2, !dbg !12, !enzyme_type !15, !enzymejl_source_type_Float64 !0, !enzymejl_byref_BITS_VALUE !0\n %\".fca.0.0.2.extract'ipev.i\" = extractvalue [2 x [1 x [4 x double]]] %1, 0, 0, 2, !dbg !12\n %.fca.0.0.3.extract.i = extractvalue [2 x [1 x [4 x double]]] %0, 0, 0, 3, !dbg !12, !enzyme_type !15, !enzymejl_source_type_Float64 !0, !enzymejl_byref_BITS_VALUE !0\n %\".fca.0.0.3.extract'ipev.i\" = extractvalue [2 x [1 x [4 x double]]] %1, 0, 0, 3, !dbg !12\n %.fca.1.0.0.extract.i = extractvalue [2 x [1 x [4 x double]]] %0, 1, 0, 0, !dbg !12, !enzyme_type !15, !enzymejl_source_type_Float64 !0, !enzymejl_byref_BITS_VALUE !0\n %\".fca.1.0.0.extract'ipev.i\" = extractvalue [2 x [1 x [4 x double]]] %1, 1, 0, 0, !dbg !12\n %.fca.1.0.1.extract.i = extractvalue [2 x [1 x [4 x double]]] %0, 1, 0, 1, !dbg !12, !enzyme_type !15, !enzymejl_source_type_Float64 !0, !enzymejl_byref_BITS_VALUE !0\n %\".fca.1.0.1.extract'ipev.i\" = extractvalue [2 x [1 x [4 x double]]] %1, 1, 0, 1, !dbg !12\n %.fca.1.0.2.extract.i = extractvalue [2 x [1 x [4 x double]]] %0, 1, 0, 2, !dbg !12, !enzyme_type !15, !enzymejl_source_type_Float64 !0, !enzymejl_byref_BITS_VALUE !0\n %\".fca.1.0.2.extract'ipev.i\" = extractvalue [2 x [1 x [4 x double]]] %1, 1, 0, 2, !dbg !12\n %.fca.1.0.3.extract.i = extractvalue [2 x [1 x [4 x double]]] %0, 1, 0, 3, !dbg !12, !enzyme_type !15, !enzymejl_source_type_Float64 !0, !enzymejl_byref_BITS_VALUE !0\n %\".fca.1.0.3.extract'ipev.i\" = extractvalue [2 x [1 x [4 x double]]] %1, 1, 0, 3\n %pgcstack.i.i = call ptr @julia.get_pgcstack() #7\n %3 = call nonnull \"enzyme_type\"=\"{[-1]:Pointer}\" ptr addrspace(10) (ptr, ptr addrspace(10), ptr addrspace(10), ...) @julia.call2(ptr nonnull @ijl_invoke, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695899363856 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695860763760 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695618768768 to ptr) to ptr addrspace(10))) #8, !dbg !17\n %.not.i = icmp eq ptr addrspace(10) %3, addrspacecast (ptr inttoptr (i64 130695720003920 to ptr) to ptr addrspace(10)), !dbg !17\n %\"ejl_inserted\$_Core_Tuple_46789\$false\$130695758914192.ejl_inserted\$_Main__flux_46797\$false\$130695095857232.i\" = select i1 %.not.i, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695095857232 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695758914192 to ptr) to ptr addrspace(10)), !dbg !17\n %jl_f_apply_type_ret.i.i = call nonnull \"enzyme_inactive\" \"enzyme_type\"=\"{[-1]:Pointer}\" ptr addrspace(10) (ptr, ptr addrspace(10), ...) @julia.call(ptr nonnull @jl_f_apply_type, ptr addrspace(10) null, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695930797600 to ptr) to ptr addrspace(10)), ptr addrspace(10) %\"ejl_inserted\$_Core_Tuple_46789\$false\$130695758914192.ejl_inserted\$_Main__flux_46797\$false\$130695095857232.i\", ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695758914192 to ptr) to ptr addrspace(10))) #9, !dbg !32\n %.not1.not.i = icmp eq ptr addrspace(10) %jl_f_apply_type_ret.i.i, addrspacecast (ptr inttoptr (i64 130695116316496 to ptr) to ptr addrspace(10)), !dbg !33\n %value_phi4.i.i = select i1 %.not1.not.i, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695757158928 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695105306192 to ptr) to ptr addrspace(10)), !dbg !34\n %current_task.i.i = getelementptr inbounds i8, ptr %pgcstack.i.i, i64 -152, !dbg !35\n %\"box::Duplicated.i.i\" = call noalias nonnull align 8 dereferenceable(64) \"enzyme_ReadOnlyOrThrow\" \"enzyme_type\"=\"{[-1]:Pointer, [-1,-1]:Float@double}\" ptr addrspace(10) @julia.gc_alloc_obj(ptr nonnull %current_task.i.i, i64 64, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695051704528 to ptr) to ptr addrspace(10))) #10, !dbg !35, !enzymejl_gc_alloc_rt !36\n %4 = call noalias nonnull align 8 dereferenceable(64) \"enzyme_ReadOnlyOrThrow\" \"enzyme_type\"=\"{[-1]:Pointer, [-1,-1]:Float@double}\" ptr addrspace(10) @julia.gc_alloc_obj(ptr nonnull %current_task.i.i, i64 64, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695051704528 to ptr) to ptr addrspace(10))) #10, !dbg !35\n %\"'ipc.i\" = addrspacecast ptr addrspace(10) %4 to ptr addrspace(11), !dbg !35\n %5 = addrspacecast ptr addrspace(10) %\"box::Duplicated.i.i\" to ptr addrspace(11), !dbg !35\n store double %\".fca.0.0.0.extract'ipev.i\", ptr addrspace(11) %\"'ipc.i\", align 8, !dbg !35, !tbaa !37, !alias.scope !40, !noalias !46\n store double %.fca.0.0.0.extract.i, ptr addrspace(11) %5, align 8, !dbg !35, !tbaa !37, !alias.scope !53, !noalias !54\n %\"new::Duplicated.i.sroa.4.0..sroa_idx'ipg.i\" = getelementptr inbounds i8, ptr addrspace(11) %\"'ipc.i\", i64 8, !dbg !35\n %\"new::Duplicated.i.sroa.4.0..sroa_idx.i\" = getelementptr inbounds nuw i8, ptr addrspace(11) %5, i64 8, !dbg !35\n store double %\".fca.0.0.1.extract'ipev.i\", ptr addrspace(11) %\"new::Duplicated.i.sroa.4.0..sroa_idx'ipg.i\", align 8, !dbg !35, !tbaa !37, !alias.scope !40, !noalias !46\n store double %.fca.0.0.1.extract.i, ptr addrspace(11) %\"new::Duplicated.i.sroa.4.0..sroa_idx.i\", align 8, !dbg !35, !tbaa !37, !alias.scope !53, !noalias !54\n %\"new::Duplicated.i.sroa.5.0..sroa_idx'ipg.i\" = getelementptr inbounds i8, ptr addrspace(11) %\"'ipc.i\", i64 16, !dbg !35\n %\"new::Duplicated.i.sroa.5.0..sroa_idx.i\" = getelementptr inbounds nuw i8, ptr addrspace(11) %5, i64 16, !dbg !35\n store double %\".fca.0.0.2.extract'ipev.i\", ptr addrspace(11) %\"new::Duplicated.i.sroa.5.0..sroa_idx'ipg.i\", align 8, !dbg !35, !tbaa !37, !alias.scope !40, !noalias !46\n store double %.fca.0.0.2.extract.i, ptr addrspace(11) %\"new::Duplicated.i.sroa.5.0..sroa_idx.i\", align 8, !dbg !35, !tbaa !37, !alias.scope !53, !noalias !54\n %\"new::Duplicated.i.sroa.6.0..sroa_idx'ipg.i\" = getelementptr inbounds i8, ptr addrspace(11) %\"'ipc.i\", i64 24, !dbg !35\n %\"new::Duplicated.i.sroa.6.0..sroa_idx.i\" = getelementptr inbounds nuw i8, ptr addrspace(11) %5, i64 24, !dbg !35\n store double %\".fca.0.0.3.extract'ipev.i\", ptr addrspace(11) %\"new::Duplicated.i.sroa.6.0..sroa_idx'ipg.i\", align 8, !dbg !35, !tbaa !37, !alias.scope !40, !noalias !46\n store double %.fca.0.0.3.extract.i, ptr addrspace(11) %\"new::Duplicated.i.sroa.6.0..sroa_idx.i\", align 8, !dbg !35, !tbaa !37, !alias.scope !53, !noalias !54\n %\"new::Duplicated.i.sroa.7.0..sroa_idx'ipg.i\" = getelementptr inbounds i8, ptr addrspace(11) %\"'ipc.i\", i64 32, !dbg !35\n %\"new::Duplicated.i.sroa.7.0..sroa_idx.i\" = getelementptr inbounds nuw i8, ptr addrspace(11) %5, i64 32, !dbg !35\n store double %\".fca.1.0.0.extract'ipev.i\", ptr addrspace(11) %\"new::Duplicated.i.sroa.7.0..sroa_idx'ipg.i\", align 8, !dbg !35, !tbaa !37, !alias.scope !40, !noalias !46\n store double %.fca.1.0.0.extract.i, ptr addrspace(11) %\"new::Duplicated.i.sroa.7.0..sroa_idx.i\", align 8, !dbg !35, !tbaa !37, !alias.scope !53, !noalias !54\n %\"new::Duplicated.i.sroa.8.0..sroa_idx'ipg.i\" = getelementptr inbounds i8, ptr addrspace(11) %\"'ipc.i\", i64 40, !dbg !35\n %\"new::Duplicated.i.sroa.8.0..sroa_idx.i\" = getelementptr inbounds nuw i8, ptr addrspace(11) %5, i64 40, !dbg !35\n store double %\".fca.1.0.1.extract'ipev.i\", ptr addrspace(11) %\"new::Duplicated.i.sroa.8.0..sroa_idx'ipg.i\", align 8, !dbg !35, !tbaa !37, !alias.scope !40, !noalias !46\n store double %.fca.1.0.1.extract.i, ptr addrspace(11) %\"new::Duplicated.i.sroa.8.0..sroa_idx.i\", align 8, !dbg !35, !tbaa !37, !alias.scope !53, !noalias !54\n %\"new::Duplicated.i.sroa.9.0..sroa_idx'ipg.i\" = getelementptr inbounds i8, ptr addrspace(11) %\"'ipc.i\", i64 48, !dbg !35\n %\"new::Duplicated.i.sroa.9.0..sroa_idx.i\" = getelementptr inbounds nuw i8, ptr addrspace(11) %5, i64 48, !dbg !35\n store double %\".fca.1.0.2.extract'ipev.i\", ptr addrspace(11) %\"new::Duplicated.i.sroa.9.0..sroa_idx'ipg.i\", align 8, !dbg !35, !tbaa !37, !alias.scope !40, !noalias !46\n store double %.fca.1.0.2.extract.i, ptr addrspace(11) %\"new::Duplicated.i.sroa.9.0..sroa_idx.i\", align 8, !dbg !35, !tbaa !37, !alias.scope !53, !noalias !54\n %\"new::Duplicated.i.sroa.10.0..sroa_idx'ipg.i\" = getelementptr inbounds i8, ptr addrspace(11) %\"'ipc.i\", i64 56, !dbg !35\n %\"new::Duplicated.i.sroa.10.0..sroa_idx.i\" = getelementptr inbounds nuw i8, ptr addrspace(11) %5, i64 56, !dbg !35\n store double %\".fca.1.0.3.extract'ipev.i\", ptr addrspace(11) %\"new::Duplicated.i.sroa.10.0..sroa_idx'ipg.i\", align 8, !dbg !35, !tbaa !37, !alias.scope !40, !noalias !46\n store double %.fca.1.0.3.extract.i, ptr addrspace(11) %\"new::Duplicated.i.sroa.10.0..sroa_idx.i\", align 8, !dbg !35, !tbaa !37, !alias.scope !53, !noalias !54\n %6 = call ptr addrspace(10) (ptr, ptr addrspace(10), ...) @julia.call(ptr @ijl_apply_generic, ptr addrspace(10) @ejl_enz_runtime_generic_fwd, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695144152912 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695908277584 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695908277584 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_enz_val_1, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695618737712 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 914557072 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695618699640 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695618785288 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) %value_phi4.i.i, ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695618768768 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) %\"box::Duplicated.i.i\", ptr addrspace(10) %4), !dbg !35\n %7 = addrspacecast ptr addrspace(10) %6 to ptr addrspace(11), !dbg !35\n %8 = getelementptr inbounds [2 x ptr addrspace(10)], ptr addrspace(11) %7, i64 0, i64 1, !dbg !35\n %9 = load ptr addrspace(10), ptr addrspace(11) %8, align 8, !dbg !35\n %10 = load ptr addrspace(10), ptr addrspace(11) %7, align 8, !dbg !35\n %11 = call ptr addrspace(10) (ptr, ptr addrspace(10), ...) @julia.call(ptr @ijl_apply_generic, ptr addrspace(10) @ejl_enz_runtime_generic_fwd, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695121167120 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695908277584 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695908277584 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_enz_val_1, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695618737712 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695886842128 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) %10, ptr addrspace(10) %9, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695864039248 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing), !dbg !55\n %12 = addrspacecast ptr addrspace(10) %11 to ptr addrspace(11), !dbg !55\n %13 = getelementptr inbounds [2 x ptr addrspace(10)], ptr addrspace(11) %12, i64 0, i64 1, !dbg !55\n %14 = load ptr addrspace(10), ptr addrspace(11) %13, align 8, !dbg !55\n %15 = getelementptr inbounds [1 x ptr addrspace(10)], ptr %2, i64 0, i32 0\n %dstlocsi = getelementptr inbounds ptr addrspace(10), ptr %15, i64 0\n store ptr addrspace(10) %14, ptr %dstlocsi, align 8\n %16 = load [1 x ptr addrspace(10)], ptr %2, align 8\n ret [1 x ptr addrspace(10)] %16\n}\n\ndefine private void @julia_derivative_bundle_46782_inner.1([2 x [1 x [4 x double]]] \"enzyme_type\"=\"{[-1]:Float@double}\" \"enzymejl_parmtype\"=\"130695198543056\" \"enzymejl_parmtype_ref\"=\"0\" %0) local_unnamed_addr #6 !dbg !56 {\nentry:\n %newly_emitted_pgc_stack = call ptr @julia.get_pgcstack(), !dbg !57\n %.fca.0.0.0.extract = extractvalue [2 x [1 x [4 x double]]] %0, 0, 0, 0, !dbg !57, !enzyme_type !15, !enzymejl_source_type_Float64 !0, !enzymejl_byref_BITS_VALUE !0\n %.fca.0.0.1.extract = extractvalue [2 x [1 x [4 x double]]] %0, 0, 0, 1, !dbg !57, !enzyme_type !15, !enzymejl_source_type_Float64 !0, !enzymejl_byref_BITS_VALUE !0\n %.fca.0.0.2.extract = extractvalue [2 x [1 x [4 x double]]] %0, 0, 0, 2, !dbg !57, !enzyme_type !15, !enzymejl_source_type_Float64 !0, !enzymejl_byref_BITS_VALUE !0\n %.fca.0.0.3.extract = extractvalue [2 x [1 x [4 x double]]] %0, 0, 0, 3, !dbg !57, !enzyme_type !15, !enzymejl_source_type_Float64 !0, !enzymejl_byref_BITS_VALUE !0\n %.fca.1.0.0.extract = extractvalue [2 x [1 x [4 x double]]] %0, 1, 0, 0, !dbg !57, !enzyme_type !15, !enzymejl_source_type_Float64 !0, !enzymejl_byref_BITS_VALUE !0\n %.fca.1.0.1.extract = extractvalue [2 x [1 x [4 x double]]] %0, 1, 0, 1, !dbg !57, !enzyme_type !15, !enzymejl_source_type_Float64 !0, !enzymejl_byref_BITS_VALUE !0\n %.fca.1.0.2.extract = extractvalue [2 x [1 x [4 x double]]] %0, 1, 0, 2, !dbg !57, !enzyme_type !15, !enzymejl_source_type_Float64 !0, !enzymejl_byref_BITS_VALUE !0\n %.fca.1.0.3.extract = extractvalue [2 x [1 x [4 x double]]] %0, 1, 0, 3, !dbg !57, !enzyme_type !15, !enzymejl_source_type_Float64 !0, !enzymejl_byref_BITS_VALUE !0\n %pgcstack.i = call ptr @julia.get_pgcstack()\n %1 = call nonnull \"enzyme_type\"=\"{[-1]:Pointer}\" ptr addrspace(10) (ptr, ptr addrspace(10), ptr addrspace(10), ...) @julia.call2(ptr nonnull @ijl_invoke, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695899363856 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695860763760 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695618768768 to ptr) to ptr addrspace(10))) #11, !dbg !58\n %.not = icmp eq ptr addrspace(10) %1, addrspacecast (ptr inttoptr (i64 130695720003920 to ptr) to ptr addrspace(10)), !dbg !58\n %\"ejl_inserted\$_Core_Tuple_46789\$false\$130695758914192.ejl_inserted\$_Main__flux_46797\$false\$130695095857232\" = select i1 %.not, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695095857232 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695758914192 to ptr) to ptr addrspace(10)), !dbg !58\n %jl_f_apply_type_ret.i = call nonnull \"enzyme_inactive\" \"enzyme_type\"=\"{[-1]:Pointer}\" ptr addrspace(10) (ptr, ptr addrspace(10), ...) @julia.call(ptr nonnull @jl_f_apply_type, ptr addrspace(10) null, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695930797600 to ptr) to ptr addrspace(10)), ptr addrspace(10) %\"ejl_inserted\$_Core_Tuple_46789\$false\$130695758914192.ejl_inserted\$_Main__flux_46797\$false\$130695095857232\", ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695758914192 to ptr) to ptr addrspace(10))) #12, !dbg !66\n %.not1.not = icmp eq ptr addrspace(10) %jl_f_apply_type_ret.i, addrspacecast (ptr inttoptr (i64 130695116316496 to ptr) to ptr addrspace(10)), !dbg !67\n %value_phi4.i = select i1 %.not1.not, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695757158928 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695105306192 to ptr) to ptr addrspace(10)), !dbg !68\n %current_task.i = getelementptr inbounds i8, ptr %pgcstack.i, i64 -152, !dbg !69\n %\"box::Duplicated.i\" = call noalias nonnull align 8 dereferenceable(64) \"enzyme_ReadOnlyOrThrow\" \"enzyme_type\"=\"{[-1]:Pointer, [-1,-1]:Float@double}\" ptr addrspace(10) @julia.gc_alloc_obj(ptr nonnull %current_task.i, i64 64, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695051704528 to ptr) to ptr addrspace(10))) #13, !dbg !69, !enzymejl_gc_alloc_rt !36\n %2 = addrspacecast ptr addrspace(10) %\"box::Duplicated.i\" to ptr addrspace(11), !dbg !69\n store double %.fca.0.0.0.extract, ptr addrspace(11) %2, align 8, !dbg !69, !tbaa !37, !alias.scope !70, !noalias !71\n %\"new::Duplicated.i.sroa.4.0..sroa_idx\" = getelementptr inbounds nuw i8, ptr addrspace(11) %2, i64 8, !dbg !69\n store double %.fca.0.0.1.extract, ptr addrspace(11) %\"new::Duplicated.i.sroa.4.0..sroa_idx\", align 8, !dbg !69, !tbaa !37, !alias.scope !70, !noalias !71\n %\"new::Duplicated.i.sroa.5.0..sroa_idx\" = getelementptr inbounds nuw i8, ptr addrspace(11) %2, i64 16, !dbg !69\n store double %.fca.0.0.2.extract, ptr addrspace(11) %\"new::Duplicated.i.sroa.5.0..sroa_idx\", align 8, !dbg !69, !tbaa !37, !alias.scope !70, !noalias !71\n %\"new::Duplicated.i.sroa.6.0..sroa_idx\" = getelementptr inbounds nuw i8, ptr addrspace(11) %2, i64 24, !dbg !69\n store double %.fca.0.0.3.extract, ptr addrspace(11) %\"new::Duplicated.i.sroa.6.0..sroa_idx\", align 8, !dbg !69, !tbaa !37, !alias.scope !70, !noalias !71\n %\"new::Duplicated.i.sroa.7.0..sroa_idx\" = getelementptr inbounds nuw i8, ptr addrspace(11) %2, i64 32, !dbg !69\n store double %.fca.1.0.0.extract, ptr addrspace(11) %\"new::Duplicated.i.sroa.7.0..sroa_idx\", align 8, !dbg !69, !tbaa !37, !alias.scope !70, !noalias !71\n %\"new::Duplicated.i.sroa.8.0..sroa_idx\" = getelementptr inbounds nuw i8, ptr addrspace(11) %2, i64 40, !dbg !69\n store double %.fca.1.0.1.extract, ptr addrspace(11) %\"new::Duplicated.i.sroa.8.0..sroa_idx\", align 8, !dbg !69, !tbaa !37, !alias.scope !70, !noalias !71\n %\"new::Duplicated.i.sroa.9.0..sroa_idx\" = getelementptr inbounds nuw i8, ptr addrspace(11) %2, i64 48, !dbg !69\n store double %.fca.1.0.2.extract, ptr addrspace(11) %\"new::Duplicated.i.sroa.9.0..sroa_idx\", align 8, !dbg !69, !tbaa !37, !alias.scope !70, !noalias !71\n %\"new::Duplicated.i.sroa.10.0..sroa_idx\" = getelementptr inbounds nuw i8, ptr addrspace(11) %2, i64 56, !dbg !69\n store double %.fca.1.0.3.extract, ptr addrspace(11) %\"new::Duplicated.i.sroa.10.0..sroa_idx\", align 8, !dbg !69, !tbaa !37, !alias.scope !70, !noalias !71\n %3 = call nonnull \"enzyme_type\"=\"{[-1]:Pointer}\" ptr addrspace(10) (ptr, ptr addrspace(10), ...) @julia.call(ptr nonnull @ijl_apply_generic, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 914557072 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695618699640 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695618785288 to ptr) to ptr addrspace(10)), ptr addrspace(10) %value_phi4.i, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695618768768 to ptr) to ptr addrspace(10)), ptr addrspace(10) nonnull %\"box::Duplicated.i\") #11, !dbg !69\n %4 = call nonnull \"enzyme_type\"=\"{[-1]:Pointer}\" ptr addrspace(10) (ptr, ptr addrspace(10), ...) @julia.call(ptr nonnull @ijl_apply_generic, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695886842128 to ptr) to ptr addrspace(10)), ptr addrspace(10) nonnull %3, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695864039248 to ptr) to ptr addrspace(10))) #11, !dbg !74\n ret void, !dbg !57\n}\n\nattributes #0 = { nofree nosync nounwind willreturn memory(none) \"enzyme_inactive\" \"enzyme_no_escaping_allocation\" \"enzyme_shouldrecompute\" \"enzymejl_world\"=\"40013\" }\nattributes #1 = { nofree \"enzymejl_world\"=\"40013\" }\nattributes #2 = { nofree \"enzyme_inactive\" \"enzyme_no_escaping_allocation\" \"enzymejl_world\"=\"40013\" }\nattributes #3 = { mustprogress nofree nounwind willreturn allockind(\"alloc,uninitialized\") allocsize(1) memory(inaccessiblemem: readwrite) \"enzyme_ReadOnlyOrThrow\" \"enzyme_no_escaping_allocation\" \"enzymejl_world\"=\"40013\" }\nattributes #4 = { nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }\nattributes #5 = { alwaysinline \"enzymejl_world\"=\"40013\" }\nattributes #6 = { \"enzyme_retremove\" \"enzyme_ta_norecur\" \"enzymejl_mi\"=\"130695129221840\" \"enzymejl_rt\"=\"130695930797376\" \"enzymejl_world\"=\"40013\" }\nattributes #7 = { mustprogress willreturn }\nattributes #8 = { mustprogress nofree willreturn }\nattributes #9 = { mustprogress nofree willreturn \"enzyme_inactive\" \"enzyme_no_escaping_allocation\" }\nattributes #10 = { mustprogress nounwind willreturn allockind(\"alloc,uninitialized\") allocsize(1) memory(inaccessiblemem: readwrite) \"enzyme_no_escaping_allocation\" }\nattributes #11 = { nofree }\nattributes #12 = { nofree \"enzyme_inactive\" \"enzyme_no_escaping_allocation\" }\nattributes #13 = { nounwind willreturn allockind(\"alloc,uninitialized\") allocsize(1) memory(inaccessiblemem: readwrite) \"enzyme_no_escaping_allocation\" }\n\n!llvm.module.flags = !{!1, !2, !3, !4}\n!llvm.dbg.cu = !{!5, !7, !8}\n\n!0 = !{}\n!1 = !{i32 2, !\"Dwarf Version\", i32 4}\n!2 = !{i32 2, !\"Debug Info Version\", i32 3}\n!3 = !{i32 1, !\"stack-protector-guard\", !\"\"}\n!4 = !{i32 1, !\"override-stack-alignment\", i32 0}\n!5 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !6, producer: \"julia\", isOptimized: true, runtimeVersion: 0, emissionKind: LineTablesOnly, nameTableKind: None)\n!6 = !DIFile(filename: \"julia\", directory: \".\")\n!7 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !6, producer: \"julia\", isOptimized: true, runtimeVersion: 0, emissionKind: LineTablesOnly, nameTableKind: None)\n!8 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !6, producer: \"julia\", isOptimized: true, runtimeVersion: 0, emissionKind: LineTablesOnly, nameTableKind: None)\n!9 = distinct !DISubprogram(name: \"fwddiffejulia_derivative_bundle_46782_inner_1wrap\", linkageName: \"fwddiffejulia_derivative_bundle_46782_inner_1wrap\", scope: null, file: !10, type: !11, spFlags: DISPFlagLocalToUnit | DISPFlagDefinition | DISPFlagOptimized, unit: !8)\n!10 = !DIFile(filename: \"/home/pkgeval/.julia/packages/TowerOfEnzyme/wUeMv/src/TowerOfEnzyme.jl\", directory: \".\")\n!11 = !DISubroutineType(types: !0)\n!12 = !DILocation(line: 0, scope: !13, inlinedAt: !14)\n!13 = distinct !DISubprogram(name: \"derivative_bundle\", linkageName: \"julia_derivative_bundle_46782\", scope: null, file: !10, line: 53, type: !11, scopeLine: 53, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !8)\n!14 = distinct !DILocation(line: 0, scope: !9)\n!15 = !{!\"Unknown\", i32 -1, !16}\n!16 = !{!\"Float@double\"}\n!17 = !DILocation(line: 181, scope: !18, inlinedAt: !20)\n!18 = distinct !DISubprogram(name: \"#vaEltypeof##0;\", linkageName: \"#vaEltypeof##0\", scope: !19, file: !19, type: !11, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !8)\n!19 = !DIFile(filename: \"/home/pkgeval/.julia/packages/Enzyme/2lHFw/src/Enzyme.jl\", directory: \".\")\n!20 = distinct !DILocation(line: 68, scope: !21, inlinedAt: !23)\n!21 = distinct !DISubprogram(name: \"macro expansion;\", linkageName: \"macro expansion\", scope: !22, file: !22, type: !11, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !8)\n!22 = !DIFile(filename: \"ntuple.jl\", directory: \".\")\n!23 = distinct !DILocation(line: 65, scope: !24, inlinedAt: !25)\n!24 = distinct !DISubprogram(name: \"ntuple;\", linkageName: \"ntuple\", scope: !22, file: !22, type: !11, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !8)\n!25 = distinct !DILocation(line: 178, scope: !26, inlinedAt: !27)\n!26 = distinct !DISubprogram(name: \"vaEltypeof;\", linkageName: \"vaEltypeof\", scope: !19, file: !19, type: !11, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !8)\n!27 = distinct !DILocation(line: 555, scope: !28, inlinedAt: !29)\n!28 = distinct !DISubprogram(name: \"autodiff;\", linkageName: \"autodiff\", scope: !19, file: !19, type: !11, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !8)\n!29 = distinct !DILocation(line: 534, scope: !28, inlinedAt: !30)\n!30 = distinct !DILocation(line: 59, scope: !13, inlinedAt: !31)\n!31 = distinct !DILocation(line: 0, scope: !13, inlinedAt: !14)\n!32 = !DILocation(line: 178, scope: !26, inlinedAt: !27)\n!33 = !DILocation(line: 556, scope: !28, inlinedAt: !29)\n!34 = !DILocation(line: 561, scope: !28, inlinedAt: !29)\n!35 = !DILocation(line: 562, scope: !28, inlinedAt: !29)\n!36 = !{!\"130695051704528\"}\n!37 = !{!38, !38, i64 0}\n!38 = !{!\"jtbaa\", !39, i64 0}\n!39 = !{!\"jtbaa\"}\n!40 = !{!41, !43, !45}\n!41 = distinct !{!41, !42, !\"shadow_0\"}\n!42 = distinct !{!42, !\" diff: %box::Duplicated.i\"}\n!43 = !{!\"jnoalias_stack\", !44}\n!44 = !{!\"jnoalias\"}\n!45 = !{!\"jnoalias_data\", !44}\n!46 = !{!47, !48, !50, !51, !52}\n!47 = distinct !{!47, !42, !\"primal\"}\n!48 = distinct !{!48, !49, !\"na_addr13\"}\n!49 = distinct !{!49, !\"addr13\"}\n!50 = !{!\"jnoalias_gcframe\", !44}\n!51 = !{!\"jnoalias_typemd\", !44}\n!52 = !{!\"jnoalias_const\", !44}\n!53 = !{!47, !43, !45}\n!54 = !{!41, !48, !50, !51, !52}\n!55 = !DILocation(line: 59, scope: !13, inlinedAt: !31)\n!56 = distinct !DISubprogram(name: \"derivative_bundle\", linkageName: \"julia_derivative_bundle_46782\", scope: null, file: !10, line: 53, type: !11, scopeLine: 53, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !8)\n!57 = !DILocation(line: 0, scope: !56)\n!58 = !DILocation(line: 181, scope: !18, inlinedAt: !59)\n!59 = distinct !DILocation(line: 68, scope: !21, inlinedAt: !60)\n!60 = distinct !DILocation(line: 65, scope: !24, inlinedAt: !61)\n!61 = distinct !DILocation(line: 178, scope: !26, inlinedAt: !62)\n!62 = distinct !DILocation(line: 555, scope: !28, inlinedAt: !63)\n!63 = distinct !DILocation(line: 534, scope: !28, inlinedAt: !64)\n!64 = distinct !DILocation(line: 59, scope: !56, inlinedAt: !65)\n!65 = distinct !DILocation(line: 0, scope: !56)\n!66 = !DILocation(line: 178, scope: !26, inlinedAt: !62)\n!67 = !DILocation(line: 556, scope: !28, inlinedAt: !63)\n!68 = !DILocation(line: 561, scope: !28, inlinedAt: !63)\n!69 = !DILocation(line: 562, scope: !28, inlinedAt: !63)\n!70 = !{!43, !45}\n!71 = !{!72, !50, !51, !52}\n!72 = distinct !{!72, !73, !\"na_addr13\"}\n!73 = distinct !{!73, !\"addr13\"}\n!74 = !DILocation(line: 59, scope: !56, inlinedAt: !65)\n"), :fwddiffejulia_derivative_bundle_46782_inner_1wrap)}, EnzymeCore.Const{typeof(derivative_bundle)}, EnzymeCore.Duplicated{Any}, Tuple{EnzymeCore.Const{typeof(flux)}, EnzymeCore.Duplicated{Tuple{SVector{4, Float64}, SVector{4, Float64}}}}, 1, false}, ::Enzyme.Compiler.ForwardModeThunk{Val{(Symbol("; ModuleID = 'start'\nsource_filename = \"start\"\ntarget datalayout = \"e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-i128:128-f80:128-n8:16:32:64-S128-ni:10:11:12:13\"\ntarget triple = \"x86_64-linux-gnu\"\n\n@ejl_jl_nothing = external addrspace(10) global {}, !enzyme_ta_norecur !0, !enzyme_inactive !0\n@ejl_jl_false = external addrspace(10) global {}, !enzyme_ta_norecur !0, !enzyme_inactive !0\n@ejl_jl_true = external addrspace(10) global {}, !enzyme_ta_norecur !0, !enzyme_inactive !0\n@ejl_enz_val_1 = external addrspace(10) global {}, !enzyme_ta_norecur !0, !enzyme_inactive !0\n@ejl_enz_runtime_generic_fwd = external addrspace(10) global {}, !enzyme_ta_norecur !0, !enzyme_inactive !0\n\n; Function Attrs: nofree nosync nounwind willreturn memory(none)\ndeclare ptr @julia.get_pgcstack() local_unnamed_addr #0\n\n; Function Attrs: nofree\ndeclare nonnull ptr addrspace(10) @ijl_invoke(ptr addrspace(10), ptr noalias nocapture noundef readonly, i32, ptr addrspace(10)) #1\n\n; Function Attrs: nofree\ndeclare nonnull ptr addrspace(10) @julia.call2(ptr, ptr addrspace(10), ptr addrspace(10), ...) local_unnamed_addr #1\n\n; Function Attrs: nofree\ndeclare nonnull ptr addrspace(10) @jl_f_apply_type(ptr addrspace(10), ptr noalias nocapture noundef readonly, i32) #2\n\n; Function Attrs: nofree\ndeclare nonnull ptr addrspace(10) @julia.call(ptr, ptr addrspace(10), ...) local_unnamed_addr #1\n\n; Function Attrs: mustprogress nofree nounwind willreturn allockind(\"alloc,uninitialized\") allocsize(1) memory(inaccessiblemem: readwrite)\ndeclare noalias nonnull ptr addrspace(10) @julia.gc_alloc_obj(ptr, i64, ptr addrspace(10)) local_unnamed_addr #3\n\n; Function Attrs: nofree\ndeclare nonnull ptr addrspace(10) @ijl_apply_generic(ptr addrspace(10), ptr noalias nocapture noundef readonly, i32) #1\n\n; Function Attrs: nocallback nofree nosync nounwind willreturn memory(argmem: readwrite)\ndeclare void @llvm.lifetime.start.p0(i64 immarg, ptr nocapture) #4\n\n; Function Attrs: nocallback nofree nosync nounwind willreturn memory(argmem: readwrite)\ndeclare void @llvm.lifetime.end.p0(i64 immarg, ptr nocapture) #4\n\n; Function Attrs: alwaysinline\ndefine [1 x ptr addrspace(10)] @fwddiffejulia_derivative_bundle_46782_inner_1wrap([2 x [1 x [4 x double]]] %0, [2 x [1 x [4 x double]]] %1) #5 !dbg !9 {\nentry:\n %newly_emitted_pgc_stack = call ptr @julia.get_pgcstack()\n %2 = alloca [1 x ptr addrspace(10)], align 8\n %.fca.0.0.0.extract.i = extractvalue [2 x [1 x [4 x double]]] %0, 0, 0, 0, !dbg !12, !enzyme_type !15, !enzymejl_source_type_Float64 !0, !enzymejl_byref_BITS_VALUE !0\n %\".fca.0.0.0.extract'ipev.i\" = extractvalue [2 x [1 x [4 x double]]] %1, 0, 0, 0, !dbg !12\n %.fca.0.0.1.extract.i = extractvalue [2 x [1 x [4 x double]]] %0, 0, 0, 1, !dbg !12, !enzyme_type !15, !enzymejl_source_type_Float64 !0, !enzymejl_byref_BITS_VALUE !0\n %\".fca.0.0.1.extract'ipev.i\" = extractvalue [2 x [1 x [4 x double]]] %1, 0, 0, 1, !dbg !12\n %.fca.0.0.2.extract.i = extractvalue [2 x [1 x [4 x double]]] %0, 0, 0, 2, !dbg !12, !enzyme_type !15, !enzymejl_source_type_Float64 !0, !enzymejl_byref_BITS_VALUE !0\n %\".fca.0.0.2.extract'ipev.i\" = extractvalue [2 x [1 x [4 x double]]] %1, 0, 0, 2, !dbg !12\n %.fca.0.0.3.extract.i = extractvalue [2 x [1 x [4 x double]]] %0, 0, 0, 3, !dbg !12, !enzyme_type !15, !enzymejl_source_type_Float64 !0, !enzymejl_byref_BITS_VALUE !0\n %\".fca.0.0.3.extract'ipev.i\" = extractvalue [2 x [1 x [4 x double]]] %1, 0, 0, 3, !dbg !12\n %.fca.1.0.0.extract.i = extractvalue [2 x [1 x [4 x double]]] %0, 1, 0, 0, !dbg !12, !enzyme_type !15, !enzymejl_source_type_Float64 !0, !enzymejl_byref_BITS_VALUE !0\n %\".fca.1.0.0.extract'ipev.i\" = extractvalue [2 x [1 x [4 x double]]] %1, 1, 0, 0, !dbg !12\n %.fca.1.0.1.extract.i = extractvalue [2 x [1 x [4 x double]]] %0, 1, 0, 1, !dbg !12, !enzyme_type !15, !enzymejl_source_type_Float64 !0, !enzymejl_byref_BITS_VALUE !0\n %\".fca.1.0.1.extract'ipev.i\" = extractvalue [2 x [1 x [4 x double]]] %1, 1, 0, 1, !dbg !12\n %.fca.1.0.2.extract.i = extractvalue [2 x [1 x [4 x double]]] %0, 1, 0, 2, !dbg !12, !enzyme_type !15, !enzymejl_source_type_Float64 !0, !enzymejl_byref_BITS_VALUE !0\n %\".fca.1.0.2.extract'ipev.i\" = extractvalue [2 x [1 x [4 x double]]] %1, 1, 0, 2, !dbg !12\n %.fca.1.0.3.extract.i = extractvalue [2 x [1 x [4 x double]]] %0, 1, 0, 3, !dbg !12, !enzyme_type !15, !enzymejl_source_type_Float64 !0, !enzymejl_byref_BITS_VALUE !0\n %\".fca.1.0.3.extract'ipev.i\" = extractvalue [2 x [1 x [4 x double]]] %1, 1, 0, 3\n %pgcstack.i.i = call ptr @julia.get_pgcstack() #7\n %3 = call nonnull \"enzyme_type\"=\"{[-1]:Pointer}\" ptr addrspace(10) (ptr, ptr addrspace(10), ptr addrspace(10), ...) @julia.call2(ptr nonnull @ijl_invoke, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695899363856 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695860763760 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695618768768 to ptr) to ptr addrspace(10))) #8, !dbg !17\n %.not.i = icmp eq ptr addrspace(10) %3, addrspacecast (ptr inttoptr (i64 130695720003920 to ptr) to ptr addrspace(10)), !dbg !17\n %\"ejl_inserted\$_Core_Tuple_46789\$false\$130695758914192.ejl_inserted\$_Main__flux_46797\$false\$130695095857232.i\" = select i1 %.not.i, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695095857232 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695758914192 to ptr) to ptr addrspace(10)), !dbg !17\n %jl_f_apply_type_ret.i.i = call nonnull \"enzyme_inactive\" \"enzyme_type\"=\"{[-1]:Pointer}\" ptr addrspace(10) (ptr, ptr addrspace(10), ...) @julia.call(ptr nonnull @jl_f_apply_type, ptr addrspace(10) null, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695930797600 to ptr) to ptr addrspace(10)), ptr addrspace(10) %\"ejl_inserted\$_Core_Tuple_46789\$false\$130695758914192.ejl_inserted\$_Main__flux_46797\$false\$130695095857232.i\", ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695758914192 to ptr) to ptr addrspace(10))) #9, !dbg !32\n %.not1.not.i = icmp eq ptr addrspace(10) %jl_f_apply_type_ret.i.i, addrspacecast (ptr inttoptr (i64 130695116316496 to ptr) to ptr addrspace(10)), !dbg !33\n %value_phi4.i.i = select i1 %.not1.not.i, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695757158928 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695105306192 to ptr) to ptr addrspace(10)), !dbg !34\n %current_task.i.i = getelementptr inbounds i8, ptr %pgcstack.i.i, i64 -152, !dbg !35\n %\"box::Duplicated.i.i\" = call noalias nonnull align 8 dereferenceable(64) \"enzyme_ReadOnlyOrThrow\" \"enzyme_type\"=\"{[-1]:Pointer, [-1,-1]:Float@double}\" ptr addrspace(10) @julia.gc_alloc_obj(ptr nonnull %current_task.i.i, i64 64, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695051704528 to ptr) to ptr addrspace(10))) #10, !dbg !35, !enzymejl_gc_alloc_rt !36\n %4 = call noalias nonnull align 8 dereferenceable(64) \"enzyme_ReadOnlyOrThrow\" \"enzyme_type\"=\"{[-1]:Pointer, [-1,-1]:Float@double}\" ptr addrspace(10) @julia.gc_alloc_obj(ptr nonnull %current_task.i.i, i64 64, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695051704528 to ptr) to ptr addrspace(10))) #10, !dbg !35\n %\"'ipc.i\" = addrspacecast ptr addrspace(10) %4 to ptr addrspace(11), !dbg !35\n %5 = addrspacecast ptr addrspace(10) %\"box::Duplicated.i.i\" to ptr addrspace(11), !dbg !35\n store double %\".fca.0.0.0.extract'ipev.i\", ptr addrspace(11) %\"'ipc.i\", align 8, !dbg !35, !tbaa !37, !alias.scope !40, !noalias !46\n store double %.fca.0.0.0.extract.i, ptr addrspace(11) %5, align 8, !dbg !35, !tbaa !37, !alias.scope !53, !noalias !54\n %\"new::Duplicated.i.sroa.4.0..sroa_idx'ipg.i\" = getelementptr inbounds i8, ptr addrspace(11) %\"'ipc.i\", i64 8, !dbg !35\n %\"new::Duplicated.i.sroa.4.0..sroa_idx.i\" = getelementptr inbounds nuw i8, ptr addrspace(11) %5, i64 8, !dbg !35\n store double %\".fca.0.0.1.extract'ipev.i\", ptr addrspace(11) %\"new::Duplicated.i.sroa.4.0..sroa_idx'ipg.i\", align 8, !dbg !35, !tbaa !37, !alias.scope !40, !noalias !46\n store double %.fca.0.0.1.extract.i, ptr addrspace(11) %\"new::Duplicated.i.sroa.4.0..sroa_idx.i\", align 8, !dbg !35, !tbaa !37, !alias.scope !53, !noalias !54\n %\"new::Duplicated.i.sroa.5.0..sroa_idx'ipg.i\" = getelementptr inbounds i8, ptr addrspace(11) %\"'ipc.i\", i64 16, !dbg !35\n %\"new::Duplicated.i.sroa.5.0..sroa_idx.i\" = getelementptr inbounds nuw i8, ptr addrspace(11) %5, i64 16, !dbg !35\n store double %\".fca.0.0.2.extract'ipev.i\", ptr addrspace(11) %\"new::Duplicated.i.sroa.5.0..sroa_idx'ipg.i\", align 8, !dbg !35, !tbaa !37, !alias.scope !40, !noalias !46\n store double %.fca.0.0.2.extract.i, ptr addrspace(11) %\"new::Duplicated.i.sroa.5.0..sroa_idx.i\", align 8, !dbg !35, !tbaa !37, !alias.scope !53, !noalias !54\n %\"new::Duplicated.i.sroa.6.0..sroa_idx'ipg.i\" = getelementptr inbounds i8, ptr addrspace(11) %\"'ipc.i\", i64 24, !dbg !35\n %\"new::Duplicated.i.sroa.6.0..sroa_idx.i\" = getelementptr inbounds nuw i8, ptr addrspace(11) %5, i64 24, !dbg !35\n store double %\".fca.0.0.3.extract'ipev.i\", ptr addrspace(11) %\"new::Duplicated.i.sroa.6.0..sroa_idx'ipg.i\", align 8, !dbg !35, !tbaa !37, !alias.scope !40, !noalias !46\n store double %.fca.0.0.3.extract.i, ptr addrspace(11) %\"new::Duplicated.i.sroa.6.0..sroa_idx.i\", align 8, !dbg !35, !tbaa !37, !alias.scope !53, !noalias !54\n %\"new::Duplicated.i.sroa.7.0..sroa_idx'ipg.i\" = getelementptr inbounds i8, ptr addrspace(11) %\"'ipc.i\", i64 32, !dbg !35\n %\"new::Duplicated.i.sroa.7.0..sroa_idx.i\" = getelementptr inbounds nuw i8, ptr addrspace(11) %5, i64 32, !dbg !35\n store double %\".fca.1.0.0.extract'ipev.i\", ptr addrspace(11) %\"new::Duplicated.i.sroa.7.0..sroa_idx'ipg.i\", align 8, !dbg !35, !tbaa !37, !alias.scope !40, !noalias !46\n store double %.fca.1.0.0.extract.i, ptr addrspace(11) %\"new::Duplicated.i.sroa.7.0..sroa_idx.i\", align 8, !dbg !35, !tbaa !37, !alias.scope !53, !noalias !54\n %\"new::Duplicated.i.sroa.8.0..sroa_idx'ipg.i\" = getelementptr inbounds i8, ptr addrspace(11) %\"'ipc.i\", i64 40, !dbg !35\n %\"new::Duplicated.i.sroa.8.0..sroa_idx.i\" = getelementptr inbounds nuw i8, ptr addrspace(11) %5, i64 40, !dbg !35\n store double %\".fca.1.0.1.extract'ipev.i\", ptr addrspace(11) %\"new::Duplicated.i.sroa.8.0..sroa_idx'ipg.i\", align 8, !dbg !35, !tbaa !37, !alias.scope !40, !noalias !46\n store double %.fca.1.0.1.extract.i, ptr addrspace(11) %\"new::Duplicated.i.sroa.8.0..sroa_idx.i\", align 8, !dbg !35, !tbaa !37, !alias.scope !53, !noalias !54\n %\"new::Duplicated.i.sroa.9.0..sroa_idx'ipg.i\" = getelementptr inbounds i8, ptr addrspace(11) %\"'ipc.i\", i64 48, !dbg !35\n %\"new::Duplicated.i.sroa.9.0..sroa_idx.i\" = getelementptr inbounds nuw i8, ptr addrspace(11) %5, i64 48, !dbg !35\n store double %\".fca.1.0.2.extract'ipev.i\", ptr addrspace(11) %\"new::Duplicated.i.sroa.9.0..sroa_idx'ipg.i\", align 8, !dbg !35, !tbaa !37, !alias.scope !40, !noalias !46\n store double %.fca.1.0.2.extract.i, ptr addrspace(11) %\"new::Duplicated.i.sroa.9.0..sroa_idx.i\", align 8, !dbg !35, !tbaa !37, !alias.scope !53, !noalias !54\n %\"new::Duplicated.i.sroa.10.0..sroa_idx'ipg.i\" = getelementptr inbounds i8, ptr addrspace(11) %\"'ipc.i\", i64 56, !dbg !35\n %\"new::Duplicated.i.sroa.10.0..sroa_idx.i\" = getelementptr inbounds nuw i8, ptr addrspace(11) %5, i64 56, !dbg !35\n store double %\".fca.1.0.3.extract'ipev.i\", ptr addrspace(11) %\"new::Duplicated.i.sroa.10.0..sroa_idx'ipg.i\", align 8, !dbg !35, !tbaa !37, !alias.scope !40, !noalias !46\n store double %.fca.1.0.3.extract.i, ptr addrspace(11) %\"new::Duplicated.i.sroa.10.0..sroa_idx.i\", align 8, !dbg !35, !tbaa !37, !alias.scope !53, !noalias !54\n %6 = call ptr addrspace(10) (ptr, ptr addrspace(10), ...) @julia.call(ptr @ijl_apply_generic, ptr addrspace(10) @ejl_enz_runtime_generic_fwd, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695144152912 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695908277584 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695908277584 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_enz_val_1, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695618737712 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 914557072 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695618699640 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695618785288 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) %value_phi4.i.i, ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695618768768 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) %\"box::Duplicated.i.i\", ptr addrspace(10) %4), !dbg !35\n %7 = addrspacecast ptr addrspace(10) %6 to ptr addrspace(11), !dbg !35\n %8 = getelementptr inbounds [2 x ptr addrspace(10)], ptr addrspace(11) %7, i64 0, i64 1, !dbg !35\n %9 = load ptr addrspace(10), ptr addrspace(11) %8, align 8, !dbg !35\n %10 = load ptr addrspace(10), ptr addrspace(11) %7, align 8, !dbg !35\n %11 = call ptr addrspace(10) (ptr, ptr addrspace(10), ...) @julia.call(ptr @ijl_apply_generic, ptr addrspace(10) @ejl_enz_runtime_generic_fwd, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695121167120 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695908277584 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695908277584 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_enz_val_1, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695618737712 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695886842128 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) %10, ptr addrspace(10) %9, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695864039248 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing), !dbg !55\n %12 = addrspacecast ptr addrspace(10) %11 to ptr addrspace(11), !dbg !55\n %13 = getelementptr inbounds [2 x ptr addrspace(10)], ptr addrspace(11) %12, i64 0, i64 1, !dbg !55\n %14 = load ptr addrspace(10), ptr addrspace(11) %13, align 8, !dbg !55\n %15 = getelementptr inbounds [1 x ptr addrspace(10)], ptr %2, i64 0, i32 0\n %dstlocsi = getelementptr inbounds ptr addrspace(10), ptr %15, i64 0\n store ptr addrspace(10) %14, ptr %dstlocsi, align 8\n %16 = load [1 x ptr addrspace(10)], ptr %2, align 8\n ret [1 x ptr addrspace(10)] %16\n}\n\ndefine private void @julia_derivative_bundle_46782_inner.1([2 x [1 x [4 x double]]] \"enzyme_type\"=\"{[-1]:Float@double}\" \"enzymejl_parmtype\"=\"130695198543056\" \"enzymejl_parmtype_ref\"=\"0\" %0) local_unnamed_addr #6 !dbg !56 {\nentry:\n %newly_emitted_pgc_stack = call ptr @julia.get_pgcstack(), !dbg !57\n %.fca.0.0.0.extract = extractvalue [2 x [1 x [4 x double]]] %0, 0, 0, 0, !dbg !57, !enzyme_type !15, !enzymejl_source_type_Float64 !0, !enzymejl_byref_BITS_VALUE !0\n %.fca.0.0.1.extract = extractvalue [2 x [1 x [4 x double]]] %0, 0, 0, 1, !dbg !57, !enzyme_type !15, !enzymejl_source_type_Float64 !0, !enzymejl_byref_BITS_VALUE !0\n %.fca.0.0.2.extract = extractvalue [2 x [1 x [4 x double]]] %0, 0, 0, 2, !dbg !57, !enzyme_type !15, !enzymejl_source_type_Float64 !0, !enzymejl_byref_BITS_VALUE !0\n %.fca.0.0.3.extract = extractvalue [2 x [1 x [4 x double]]] %0, 0, 0, 3, !dbg !57, !enzyme_type !15, !enzymejl_source_type_Float64 !0, !enzymejl_byref_BITS_VALUE !0\n %.fca.1.0.0.extract = extractvalue [2 x [1 x [4 x double]]] %0, 1, 0, 0, !dbg !57, !enzyme_type !15, !enzymejl_source_type_Float64 !0, !enzymejl_byref_BITS_VALUE !0\n %.fca.1.0.1.extract = extractvalue [2 x [1 x [4 x double]]] %0, 1, 0, 1, !dbg !57, !enzyme_type !15, !enzymejl_source_type_Float64 !0, !enzymejl_byref_BITS_VALUE !0\n %.fca.1.0.2.extract = extractvalue [2 x [1 x [4 x double]]] %0, 1, 0, 2, !dbg !57, !enzyme_type !15, !enzymejl_source_type_Float64 !0, !enzymejl_byref_BITS_VALUE !0\n %.fca.1.0.3.extract = extractvalue [2 x [1 x [4 x double]]] %0, 1, 0, 3, !dbg !57, !enzyme_type !15, !enzymejl_source_type_Float64 !0, !enzymejl_byref_BITS_VALUE !0\n %pgcstack.i = call ptr @julia.get_pgcstack()\n %1 = call nonnull \"enzyme_type\"=\"{[-1]:Pointer}\" ptr addrspace(10) (ptr, ptr addrspace(10), ptr addrspace(10), ...) @julia.call2(ptr nonnull @ijl_invoke, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695899363856 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695860763760 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695618768768 to ptr) to ptr addrspace(10))) #11, !dbg !58\n %.not = icmp eq ptr addrspace(10) %1, addrspacecast (ptr inttoptr (i64 130695720003920 to ptr) to ptr addrspace(10)), !dbg !58\n %\"ejl_inserted\$_Core_Tuple_46789\$false\$130695758914192.ejl_inserted\$_Main__flux_46797\$false\$130695095857232\" = select i1 %.not, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695095857232 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695758914192 to ptr) to ptr addrspace(10)), !dbg !58\n %jl_f_apply_type_ret.i = call nonnull \"enzyme_inactive\" \"enzyme_type\"=\"{[-1]:Pointer}\" ptr addrspace(10) (ptr, ptr addrspace(10), ...) @julia.call(ptr nonnull @jl_f_apply_type, ptr addrspace(10) null, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695930797600 to ptr) to ptr addrspace(10)), ptr addrspace(10) %\"ejl_inserted\$_Core_Tuple_46789\$false\$130695758914192.ejl_inserted\$_Main__flux_46797\$false\$130695095857232\", ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695758914192 to ptr) to ptr addrspace(10))) #12, !dbg !66\n %.not1.not = icmp eq ptr addrspace(10) %jl_f_apply_type_ret.i, addrspacecast (ptr inttoptr (i64 130695116316496 to ptr) to ptr addrspace(10)), !dbg !67\n %value_phi4.i = select i1 %.not1.not, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695757158928 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695105306192 to ptr) to ptr addrspace(10)), !dbg !68\n %current_task.i = getelementptr inbounds i8, ptr %pgcstack.i, i64 -152, !dbg !69\n %\"box::Duplicated.i\" = call noalias nonnull align 8 dereferenceable(64) \"enzyme_ReadOnlyOrThrow\" \"enzyme_type\"=\"{[-1]:Pointer, [-1,-1]:Float@double}\" ptr addrspace(10) @julia.gc_alloc_obj(ptr nonnull %current_task.i, i64 64, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695051704528 to ptr) to ptr addrspace(10))) #13, !dbg !69, !enzymejl_gc_alloc_rt !36\n %2 = addrspacecast ptr addrspace(10) %\"box::Duplicated.i\" to ptr addrspace(11), !dbg !69\n store double %.fca.0.0.0.extract, ptr addrspace(11) %2, align 8, !dbg !69, !tbaa !37, !alias.scope !70, !noalias !71\n %\"new::Duplicated.i.sroa.4.0..sroa_idx\" = getelementptr inbounds nuw i8, ptr addrspace(11) %2, i64 8, !dbg !69\n store double %.fca.0.0.1.extract, ptr addrspace(11) %\"new::Duplicated.i.sroa.4.0..sroa_idx\", align 8, !dbg !69, !tbaa !37, !alias.scope !70, !noalias !71\n %\"new::Duplicated.i.sroa.5.0..sroa_idx\" = getelementptr inbounds nuw i8, ptr addrspace(11) %2, i64 16, !dbg !69\n store double %.fca.0.0.2.extract, ptr addrspace(11) %\"new::Duplicated.i.sroa.5.0..sroa_idx\", align 8, !dbg !69, !tbaa !37, !alias.scope !70, !noalias !71\n %\"new::Duplicated.i.sroa.6.0..sroa_idx\" = getelementptr inbounds nuw i8, ptr addrspace(11) %2, i64 24, !dbg !69\n store double %.fca.0.0.3.extract, ptr addrspace(11) %\"new::Duplicated.i.sroa.6.0..sroa_idx\", align 8, !dbg !69, !tbaa !37, !alias.scope !70, !noalias !71\n %\"new::Duplicated.i.sroa.7.0..sroa_idx\" = getelementptr inbounds nuw i8, ptr addrspace(11) %2, i64 32, !dbg !69\n store double %.fca.1.0.0.extract, ptr addrspace(11) %\"new::Duplicated.i.sroa.7.0..sroa_idx\", align 8, !dbg !69, !tbaa !37, !alias.scope !70, !noalias !71\n %\"new::Duplicated.i.sroa.8.0..sroa_idx\" = getelementptr inbounds nuw i8, ptr addrspace(11) %2, i64 40, !dbg !69\n store double %.fca.1.0.1.extract, ptr addrspace(11) %\"new::Duplicated.i.sroa.8.0..sroa_idx\", align 8, !dbg !69, !tbaa !37, !alias.scope !70, !noalias !71\n %\"new::Duplicated.i.sroa.9.0..sroa_idx\" = getelementptr inbounds nuw i8, ptr addrspace(11) %2, i64 48, !dbg !69\n store double %.fca.1.0.2.extract, ptr addrspace(11) %\"new::Duplicated.i.sroa.9.0..sroa_idx\", align 8, !dbg !69, !tbaa !37, !alias.scope !70, !noalias !71\n %\"new::Duplicated.i.sroa.10.0..sroa_idx\" = getelementptr inbounds nuw i8, ptr addrspace(11) %2, i64 56, !dbg !69\n store double %.fca.1.0.3.extract, ptr addrspace(11) %\"new::Duplicated.i.sroa.10.0..sroa_idx\", align 8, !dbg !69, !tbaa !37, !alias.scope !70, !noalias !71\n %3 = call nonnull \"enzyme_type\"=\"{[-1]:Pointer}\" ptr addrspace(10) (ptr, ptr addrspace(10), ...) @julia.call(ptr nonnull @ijl_apply_generic, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 914557072 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695618699640 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695618785288 to ptr) to ptr addrspace(10)), ptr addrspace(10) %value_phi4.i, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695618768768 to ptr) to ptr addrspace(10)), ptr addrspace(10) nonnull %\"box::Duplicated.i\") #11, !dbg !69\n %4 = call nonnull \"enzyme_type\"=\"{[-1]:Pointer}\" ptr addrspace(10) (ptr, ptr addrspace(10), ...) @julia.call(ptr nonnull @ijl_apply_generic, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695886842128 to ptr) to ptr addrspace(10)), ptr addrspace(10) nonnull %3, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695864039248 to ptr) to ptr addrspace(10))) #11, !dbg !74\n ret void, !dbg !57\n}\n\nattributes #0 = { nofree nosync nounwind willreturn memory(none) \"enzyme_inactive\" \"enzyme_no_escaping_allocation\" \"enzyme_shouldrecompute\" \"enzymejl_world\"=\"40013\" }\nattributes #1 = { nofree \"enzymejl_world\"=\"40013\" }\nattributes #2 = { nofree \"enzyme_inactive\" \"enzyme_no_escaping_allocation\" \"enzymejl_world\"=\"40013\" }\nattributes #3 = { mustprogress nofree nounwind willreturn allockind(\"alloc,uninitialized\") allocsize(1) memory(inaccessiblemem: readwrite) \"enzyme_ReadOnlyOrThrow\" \"enzyme_no_escaping_allocation\" \"enzymejl_world\"=\"40013\" }\nattributes #4 = { nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }\nattributes #5 = { alwaysinline \"enzymejl_world\"=\"40013\" }\nattributes #6 = { \"enzyme_retremove\" \"enzyme_ta_norecur\" \"enzymejl_mi\"=\"130695129221840\" \"enzymejl_rt\"=\"130695930797376\" \"enzymejl_world\"=\"40013\" }\nattributes #7 = { mustprogress willreturn }\nattributes #8 = { mustprogress nofree willreturn }\nattributes #9 = { mustprogress nofree willreturn \"enzyme_inactive\" \"enzyme_no_escaping_allocation\" }\nattributes #10 = { mustprogress nounwind willreturn allockind(\"alloc,uninitialized\") allocsize(1) memory(inaccessiblemem: readwrite) \"enzyme_no_escaping_allocation\" }\nattributes #11 = { nofree }\nattributes #12 = { nofree \"enzyme_inactive\" \"enzyme_no_escaping_allocation\" }\nattributes #13 = { nounwind willreturn allockind(\"alloc,uninitialized\") allocsize(1) memory(inaccessiblemem: readwrite) \"enzyme_no_escaping_allocation\" }\n\n!llvm.module.flags = !{!1, !2, !3, !4}\n!llvm.dbg.cu = !{!5, !7, !8}\n\n!0 = !{}\n!1 = !{i32 2, !\"Dwarf Version\", i32 4}\n!2 = !{i32 2, !\"Debug Info Version\", i32 3}\n!3 = !{i32 1, !\"stack-protector-guard\", !\"\"}\n!4 = !{i32 1, !\"override-stack-alignment\", i32 0}\n!5 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !6, producer: \"julia\", isOptimized: true, runtimeVersion: 0, emissionKind: LineTablesOnly, nameTableKind: None)\n!6 = !DIFile(filename: \"julia\", directory: \".\")\n!7 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !6, producer: \"julia\", isOptimized: true, runtimeVersion: 0, emissionKind: LineTablesOnly, nameTableKind: None)\n!8 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !6, producer: \"julia\", isOptimized: true, runtimeVersion: 0, emissionKind: LineTablesOnly, nameTableKind: None)\n!9 = distinct !DISubprogram(name: \"fwddiffejulia_derivative_bundle_46782_inner_1wrap\", linkageName: \"fwddiffejulia_derivative_bundle_46782_inner_1wrap\", scope: null, file: !10, type: !11, spFlags: DISPFlagLocalToUnit | DISPFlagDefinition | DISPFlagOptimized, unit: !8)\n!10 = !DIFile(filename: \"/home/pkgeval/.julia/packages/TowerOfEnzyme/wUeMv/src/TowerOfEnzyme.jl\", directory: \".\")\n!11 = !DISubroutineType(types: !0)\n!12 = !DILocation(line: 0, scope: !13, inlinedAt: !14)\n!13 = distinct !DISubprogram(name: \"derivative_bundle\", linkageName: \"julia_derivative_bundle_46782\", scope: null, file: !10, line: 53, type: !11, scopeLine: 53, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !8)\n!14 = distinct !DILocation(line: 0, scope: !9)\n!15 = !{!\"Unknown\", i32 -1, !16}\n!16 = !{!\"Float@double\"}\n!17 = !DILocation(line: 181, scope: !18, inlinedAt: !20)\n!18 = distinct !DISubprogram(name: \"#vaEltypeof##0;\", linkageName: \"#vaEltypeof##0\", scope: !19, file: !19, type: !11, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !8)\n!19 = !DIFile(filename: \"/home/pkgeval/.julia/packages/Enzyme/2lHFw/src/Enzyme.jl\", directory: \".\")\n!20 = distinct !DILocation(line: 68, scope: !21, inlinedAt: !23)\n!21 = distinct !DISubprogram(name: \"macro expansion;\", linkageName: \"macro expansion\", scope: !22, file: !22, type: !11, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !8)\n!22 = !DIFile(filename: \"ntuple.jl\", directory: \".\")\n!23 = distinct !DILocation(line: 65, scope: !24, inlinedAt: !25)\n!24 = distinct !DISubprogram(name: \"ntuple;\", linkageName: \"ntuple\", scope: !22, file: !22, type: !11, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !8)\n!25 = distinct !DILocation(line: 178, scope: !26, inlinedAt: !27)\n!26 = distinct !DISubprogram(name: \"vaEltypeof;\", linkageName: \"vaEltypeof\", scope: !19, file: !19, type: !11, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !8)\n!27 = distinct !DILocation(line: 555, scope: !28, inlinedAt: !29)\n!28 = distinct !DISubprogram(name: \"autodiff;\", linkageName: \"autodiff\", scope: !19, file: !19, type: !11, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !8)\n!29 = distinct !DILocation(line: 534, scope: !28, inlinedAt: !30)\n!30 = distinct !DILocation(line: 59, scope: !13, inlinedAt: !31)\n!31 = distinct !DILocation(line: 0, scope: !13, inlinedAt: !14)\n!32 = !DILocation(line: 178, scope: !26, inlinedAt: !27)\n!33 = !DILocation(line: 556, scope: !28, inlinedAt: !29)\n!34 = !DILocation(line: 561, scope: !28, inlinedAt: !29)\n!35 = !DILocation(line: 562, scope: !28, inlinedAt: !29)\n!36 = !{!\"130695051704528\"}\n!37 = !{!38, !38, i64 0}\n!38 = !{!\"jtbaa\", !39, i64 0}\n!39 = !{!\"jtbaa\"}\n!40 = !{!41, !43, !45}\n!41 = distinct !{!41, !42, !\"shadow_0\"}\n!42 = distinct !{!42, !\" diff: %box::Duplicated.i\"}\n!43 = !{!\"jnoalias_stack\", !44}\n!44 = !{!\"jnoalias\"}\n!45 = !{!\"jnoalias_data\", !44}\n!46 = !{!47, !48, !50, !51, !52}\n!47 = distinct !{!47, !42, !\"primal\"}\n!48 = distinct !{!48, !49, !\"na_addr13\"}\n!49 = distinct !{!49, !\"addr13\"}\n!50 = !{!\"jnoalias_gcframe\", !44}\n!51 = !{!\"jnoalias_typemd\", !44}\n!52 = !{!\"jnoalias_const\", !44}\n!53 = !{!47, !43, !45}\n!54 = !{!41, !48, !50, !51, !52}\n!55 = !DILocation(line: 59, scope: !13, inlinedAt: !31)\n!56 = distinct !DISubprogram(name: \"derivative_bundle\", linkageName: \"julia_derivative_bundle_46782\", scope: null, file: !10, line: 53, type: !11, scopeLine: 53, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !8)\n!57 = !DILocation(line: 0, scope: !56)\n!58 = !DILocation(line: 181, scope: !18, inlinedAt: !59)\n!59 = distinct !DILocation(line: 68, scope: !21, inlinedAt: !60)\n!60 = distinct !DILocation(line: 65, scope: !24, inlinedAt: !61)\n!61 = distinct !DILocation(line: 178, scope: !26, inlinedAt: !62)\n!62 = distinct !DILocation(line: 555, scope: !28, inlinedAt: !63)\n!63 = distinct !DILocation(line: 534, scope: !28, inlinedAt: !64)\n!64 = distinct !DILocation(line: 59, scope: !56, inlinedAt: !65)\n!65 = distinct !DILocation(line: 0, scope: !56)\n!66 = !DILocation(line: 178, scope: !26, inlinedAt: !62)\n!67 = !DILocation(line: 556, scope: !28, inlinedAt: !63)\n!68 = !DILocation(line: 561, scope: !28, inlinedAt: !63)\n!69 = !DILocation(line: 562, scope: !28, inlinedAt: !63)\n!70 = !{!43, !45}\n!71 = !{!72, !50, !51, !52}\n!72 = distinct !{!72, !73, !\"na_addr13\"}\n!73 = distinct !{!73, !\"addr13\"}\n!74 = !DILocation(line: 59, scope: !56, inlinedAt: !65)\n"), :fwddiffejulia_derivative_bundle_46782_inner_1wrap)}, EnzymeCore.Const{typeof(derivative_bundle)}, EnzymeCore.Duplicated{Any}, Tuple{EnzymeCore.Const{typeof(flux)}, EnzymeCore.Duplicated{Tuple{SVector{4, Float64}, SVector{4, Float64}}}}, 1, false}, ::Enzyme.Compiler.ForwardModeThunk{Val{(Symbol("; ModuleID = 'start'\nsource_filename = \"start\"\ntarget datalayout = \"e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-i128:128-f80:128-n8:16:32:64-S128-ni:10:11:12:13\"\ntarget triple = \"x86_64-linux-gnu\"\n\n@ejl_jl_nothing = external addrspace(10) global {}, !enzyme_ta_norecur !0, !enzyme_inactive !0\n@ejl_jl_false = external addrspace(10) global {}, !enzyme_ta_norecur !0, !enzyme_inactive !0\n@ejl_jl_true = external addrspace(10) global {}, !enzyme_ta_norecur !0, !enzyme_inactive !0\n@ejl_enz_val_1 = external addrspace(10) global {}, !enzyme_ta_norecur !0, !enzyme_inactive !0\n@ejl_enz_runtime_generic_fwd = external addrspace(10) global {}, !enzyme_ta_norecur !0, !enzyme_inactive !0\n\n; Function Attrs: nofree nosync nounwind willreturn memory(none)\ndeclare ptr @julia.get_pgcstack() local_unnamed_addr #0\n\n; Function Attrs: nofree\ndeclare nonnull ptr addrspace(10) @ijl_invoke(ptr addrspace(10), ptr noalias nocapture noundef readonly, i32, ptr addrspace(10)) #1\n\n; Function Attrs: nofree\ndeclare nonnull ptr addrspace(10) @julia.call2(ptr, ptr addrspace(10), ptr addrspace(10), ...) local_unnamed_addr #1\n\n; Function Attrs: nofree\ndeclare nonnull ptr addrspace(10) @jl_f_apply_type(ptr addrspace(10), ptr noalias nocapture noundef readonly, i32) #2\n\n; Function Attrs: nofree\ndeclare nonnull ptr addrspace(10) @julia.call(ptr, ptr addrspace(10), ...) local_unnamed_addr #1\n\n; Function Attrs: mustprogress nofree nounwind willreturn allockind(\"alloc,uninitialized\") allocsize(1) memory(inaccessiblemem: readwrite)\ndeclare noalias nonnull ptr addrspace(10) @julia.gc_alloc_obj(ptr, i64, ptr addrspace(10)) local_unnamed_addr #3\n\n; Function Attrs: nofree\ndeclare nonnull ptr addrspace(10) @ijl_apply_generic(ptr addrspace(10), ptr noalias nocapture noundef readonly, i32) #1\n\n; Function Attrs: nocallback nofree nosync nounwind willreturn memory(argmem: readwrite)\ndeclare void @llvm.lifetime.start.p0(i64 immarg, ptr nocapture) #4\n\n; Function Attrs: nocallback nofree nosync nounwind willreturn memory(argmem: readwrite)\ndeclare void @llvm.lifetime.end.p0(i64 immarg, ptr nocapture) #4\n\n; Function Attrs: alwaysinline\ndefine [1 x ptr addrspace(10)] @fwddiffejulia_derivative_bundle_46782_inner_1wrap([2 x [1 x [4 x double]]] %0, [2 x [1 x [4 x double]]] %1) #5 !dbg !9 {\nentry:\n %newly_emitted_pgc_stack = call ptr @julia.get_pgcstack()\n %2 = alloca [1 x ptr addrspace(10)], align 8\n %.fca.0.0.0.extract.i = extractvalue [2 x [1 x [4 x double]]] %0, 0, 0, 0, !dbg !12, !enzyme_type !15, !enzymejl_source_type_Float64 !0, !enzymejl_byref_BITS_VALUE !0\n %\".fca.0.0.0.extract'ipev.i\" = extractvalue [2 x [1 x [4 x double]]] %1, 0, 0, 0, !dbg !12\n %.fca.0.0.1.extract.i = extractvalue [2 x [1 x [4 x double]]] %0, 0, 0, 1, !dbg !12, !enzyme_type !15, !enzymejl_source_type_Float64 !0, !enzymejl_byref_BITS_VALUE !0\n %\".fca.0.0.1.extract'ipev.i\" = extractvalue [2 x [1 x [4 x double]]] %1, 0, 0, 1, !dbg !12\n %.fca.0.0.2.extract.i = extractvalue [2 x [1 x [4 x double]]] %0, 0, 0, 2, !dbg !12, !enzyme_type !15, !enzymejl_source_type_Float64 !0, !enzymejl_byref_BITS_VALUE !0\n %\".fca.0.0.2.extract'ipev.i\" = extractvalue [2 x [1 x [4 x double]]] %1, 0, 0, 2, !dbg !12\n %.fca.0.0.3.extract.i = extractvalue [2 x [1 x [4 x double]]] %0, 0, 0, 3, !dbg !12, !enzyme_type !15, !enzymejl_source_type_Float64 !0, !enzymejl_byref_BITS_VALUE !0\n %\".fca.0.0.3.extract'ipev.i\" = extractvalue [2 x [1 x [4 x double]]] %1, 0, 0, 3, !dbg !12\n %.fca.1.0.0.extract.i = extractvalue [2 x [1 x [4 x double]]] %0, 1, 0, 0, !dbg !12, !enzyme_type !15, !enzymejl_source_type_Float64 !0, !enzymejl_byref_BITS_VALUE !0\n %\".fca.1.0.0.extract'ipev.i\" = extractvalue [2 x [1 x [4 x double]]] %1, 1, 0, 0, !dbg !12\n %.fca.1.0.1.extract.i = extractvalue [2 x [1 x [4 x double]]] %0, 1, 0, 1, !dbg !12, !enzyme_type !15, !enzymejl_source_type_Float64 !0, !enzymejl_byref_BITS_VALUE !0\n %\".fca.1.0.1.extract'ipev.i\" = extractvalue [2 x [1 x [4 x double]]] %1, 1, 0, 1, !dbg !12\n %.fca.1.0.2.extract.i = extractvalue [2 x [1 x [4 x double]]] %0, 1, 0, 2, !dbg !12, !enzyme_type !15, !enzymejl_source_type_Float64 !0, !enzymejl_byref_BITS_VALUE !0\n %\".fca.1.0.2.extract'ipev.i\" = extractvalue [2 x [1 x [4 x double]]] %1, 1, 0, 2, !dbg !12\n %.fca.1.0.3.extract.i = extractvalue [2 x [1 x [4 x double]]] %0, 1, 0, 3, !dbg !12, !enzyme_type !15, !enzymejl_source_type_Float64 !0, !enzymejl_byref_BITS_VALUE !0\n %\".fca.1.0.3.extract'ipev.i\" = extractvalue [2 x [1 x [4 x double]]] %1, 1, 0, 3\n %pgcstack.i.i = call ptr @julia.get_pgcstack() #7\n %3 = call nonnull \"enzyme_type\"=\"{[-1]:Pointer}\" ptr addrspace(10) (ptr, ptr addrspace(10), ptr addrspace(10), ...) @julia.call2(ptr nonnull @ijl_invoke, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695899363856 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695860763760 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695618768768 to ptr) to ptr addrspace(10))) #8, !dbg !17\n %.not.i = icmp eq ptr addrspace(10) %3, addrspacecast (ptr inttoptr (i64 130695720003920 to ptr) to ptr addrspace(10)), !dbg !17\n %\"ejl_inserted\$_Core_Tuple_46789\$false\$130695758914192.ejl_inserted\$_Main__flux_46797\$false\$130695095857232.i\" = select i1 %.not.i, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695095857232 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695758914192 to ptr) to ptr addrspace(10)), !dbg !17\n %jl_f_apply_type_ret.i.i = call nonnull \"enzyme_inactive\" \"enzyme_type\"=\"{[-1]:Pointer}\" ptr addrspace(10) (ptr, ptr addrspace(10), ...) @julia.call(ptr nonnull @jl_f_apply_type, ptr addrspace(10) null, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695930797600 to ptr) to ptr addrspace(10)), ptr addrspace(10) %\"ejl_inserted\$_Core_Tuple_46789\$false\$130695758914192.ejl_inserted\$_Main__flux_46797\$false\$130695095857232.i\", ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695758914192 to ptr) to ptr addrspace(10))) #9, !dbg !32\n %.not1.not.i = icmp eq ptr addrspace(10) %jl_f_apply_type_ret.i.i, addrspacecast (ptr inttoptr (i64 130695116316496 to ptr) to ptr addrspace(10)), !dbg !33\n %value_phi4.i.i = select i1 %.not1.not.i, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695757158928 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695105306192 to ptr) to ptr addrspace(10)), !dbg !34\n %current_task.i.i = getelementptr inbounds i8, ptr %pgcstack.i.i, i64 -152, !dbg !35\n %\"box::Duplicated.i.i\" = call noalias nonnull align 8 dereferenceable(64) \"enzyme_ReadOnlyOrThrow\" \"enzyme_type\"=\"{[-1]:Pointer, [-1,-1]:Float@double}\" ptr addrspace(10) @julia.gc_alloc_obj(ptr nonnull %current_task.i.i, i64 64, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695051704528 to ptr) to ptr addrspace(10))) #10, !dbg !35, !enzymejl_gc_alloc_rt !36\n %4 = call noalias nonnull align 8 dereferenceable(64) \"enzyme_ReadOnlyOrThrow\" \"enzyme_type\"=\"{[-1]:Pointer, [-1,-1]:Float@double}\" ptr addrspace(10) @julia.gc_alloc_obj(ptr nonnull %current_task.i.i, i64 64, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695051704528 to ptr) to ptr addrspace(10))) #10, !dbg !35\n %\"'ipc.i\" = addrspacecast ptr addrspace(10) %4 to ptr addrspace(11), !dbg !35\n %5 = addrspacecast ptr addrspace(10) %\"box::Duplicated.i.i\" to ptr addrspace(11), !dbg !35\n store double %\".fca.0.0.0.extract'ipev.i\", ptr addrspace(11) %\"'ipc.i\", align 8, !dbg !35, !tbaa !37, !alias.scope !40, !noalias !46\n store double %.fca.0.0.0.extract.i, ptr addrspace(11) %5, align 8, !dbg !35, !tbaa !37, !alias.scope !53, !noalias !54\n %\"new::Duplicated.i.sroa.4.0..sroa_idx'ipg.i\" = getelementptr inbounds i8, ptr addrspace(11) %\"'ipc.i\", i64 8, !dbg !35\n %\"new::Duplicated.i.sroa.4.0..sroa_idx.i\" = getelementptr inbounds nuw i8, ptr addrspace(11) %5, i64 8, !dbg !35\n store double %\".fca.0.0.1.extract'ipev.i\", ptr addrspace(11) %\"new::Duplicated.i.sroa.4.0..sroa_idx'ipg.i\", align 8, !dbg !35, !tbaa !37, !alias.scope !40, !noalias !46\n store double %.fca.0.0.1.extract.i, ptr addrspace(11) %\"new::Duplicated.i.sroa.4.0..sroa_idx.i\", align 8, !dbg !35, !tbaa !37, !alias.scope !53, !noalias !54\n %\"new::Duplicated.i.sroa.5.0..sroa_idx'ipg.i\" = getelementptr inbounds i8, ptr addrspace(11) %\"'ipc.i\", i64 16, !dbg !35\n %\"new::Duplicated.i.sroa.5.0..sroa_idx.i\" = getelementptr inbounds nuw i8, ptr addrspace(11) %5, i64 16, !dbg !35\n store double %\".fca.0.0.2.extract'ipev.i\", ptr addrspace(11) %\"new::Duplicated.i.sroa.5.0..sroa_idx'ipg.i\", align 8, !dbg !35, !tbaa !37, !alias.scope !40, !noalias !46\n store double %.fca.0.0.2.extract.i, ptr addrspace(11) %\"new::Duplicated.i.sroa.5.0..sroa_idx.i\", align 8, !dbg !35, !tbaa !37, !alias.scope !53, !noalias !54\n %\"new::Duplicated.i.sroa.6.0..sroa_idx'ipg.i\" = getelementptr inbounds i8, ptr addrspace(11) %\"'ipc.i\", i64 24, !dbg !35\n %\"new::Duplicated.i.sroa.6.0..sroa_idx.i\" = getelementptr inbounds nuw i8, ptr addrspace(11) %5, i64 24, !dbg !35\n store double %\".fca.0.0.3.extract'ipev.i\", ptr addrspace(11) %\"new::Duplicated.i.sroa.6.0..sroa_idx'ipg.i\", align 8, !dbg !35, !tbaa !37, !alias.scope !40, !noalias !46\n store double %.fca.0.0.3.extract.i, ptr addrspace(11) %\"new::Duplicated.i.sroa.6.0..sroa_idx.i\", align 8, !dbg !35, !tbaa !37, !alias.scope !53, !noalias !54\n %\"new::Duplicated.i.sroa.7.0..sroa_idx'ipg.i\" = getelementptr inbounds i8, ptr addrspace(11) %\"'ipc.i\", i64 32, !dbg !35\n %\"new::Duplicated.i.sroa.7.0..sroa_idx.i\" = getelementptr inbounds nuw i8, ptr addrspace(11) %5, i64 32, !dbg !35\n store double %\".fca.1.0.0.extract'ipev.i\", ptr addrspace(11) %\"new::Duplicated.i.sroa.7.0..sroa_idx'ipg.i\", align 8, !dbg !35, !tbaa !37, !alias.scope !40, !noalias !46\n store double %.fca.1.0.0.extract.i, ptr addrspace(11) %\"new::Duplicated.i.sroa.7.0..sroa_idx.i\", align 8, !dbg !35, !tbaa !37, !alias.scope !53, !noalias !54\n %\"new::Duplicated.i.sroa.8.0..sroa_idx'ipg.i\" = getelementptr inbounds i8, ptr addrspace(11) %\"'ipc.i\", i64 40, !dbg !35\n %\"new::Duplicated.i.sroa.8.0..sroa_idx.i\" = getelementptr inbounds nuw i8, ptr addrspace(11) %5, i64 40, !dbg !35\n store double %\".fca.1.0.1.extract'ipev.i\", ptr addrspace(11) %\"new::Duplicated.i.sroa.8.0..sroa_idx'ipg.i\", align 8, !dbg !35, !tbaa !37, !alias.scope !40, !noalias !46\n store double %.fca.1.0.1.extract.i, ptr addrspace(11) %\"new::Duplicated.i.sroa.8.0..sroa_idx.i\", align 8, !dbg !35, !tbaa !37, !alias.scope !53, !noalias !54\n %\"new::Duplicated.i.sroa.9.0..sroa_idx'ipg.i\" = getelementptr inbounds i8, ptr addrspace(11) %\"'ipc.i\", i64 48, !dbg !35\n %\"new::Duplicated.i.sroa.9.0..sroa_idx.i\" = getelementptr inbounds nuw i8, ptr addrspace(11) %5, i64 48, !dbg !35\n store double %\".fca.1.0.2.extract'ipev.i\", ptr addrspace(11) %\"new::Duplicated.i.sroa.9.0..sroa_idx'ipg.i\", align 8, !dbg !35, !tbaa !37, !alias.scope !40, !noalias !46\n store double %.fca.1.0.2.extract.i, ptr addrspace(11) %\"new::Duplicated.i.sroa.9.0..sroa_idx.i\", align 8, !dbg !35, !tbaa !37, !alias.scope !53, !noalias !54\n %\"new::Duplicated.i.sroa.10.0..sroa_idx'ipg.i\" = getelementptr inbounds i8, ptr addrspace(11) %\"'ipc.i\", i64 56, !dbg !35\n %\"new::Duplicated.i.sroa.10.0..sroa_idx.i\" = getelementptr inbounds nuw i8, ptr addrspace(11) %5, i64 56, !dbg !35\n store double %\".fca.1.0.3.extract'ipev.i\", ptr addrspace(11) %\"new::Duplicated.i.sroa.10.0..sroa_idx'ipg.i\", align 8, !dbg !35, !tbaa !37, !alias.scope !40, !noalias !46\n store double %.fca.1.0.3.extract.i, ptr addrspace(11) %\"new::Duplicated.i.sroa.10.0..sroa_idx.i\", align 8, !dbg !35, !tbaa !37, !alias.scope !53, !noalias !54\n %6 = call ptr addrspace(10) (ptr, ptr addrspace(10), ...) @julia.call(ptr @ijl_apply_generic, ptr addrspace(10) @ejl_enz_runtime_generic_fwd, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695144152912 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695908277584 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695908277584 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_enz_val_1, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695618737712 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 914557072 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695618699640 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695618785288 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) %value_phi4.i.i, ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695618768768 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) %\"box::Duplicated.i.i\", ptr addrspace(10) %4), !dbg !35\n %7 = addrspacecast ptr addrspace(10) %6 to ptr addrspace(11), !dbg !35\n %8 = getelementptr inbounds [2 x ptr addrspace(10)], ptr addrspace(11) %7, i64 0, i64 1, !dbg !35\n %9 = load ptr addrspace(10), ptr addrspace(11) %8, align 8, !dbg !35\n %10 = load ptr addrspace(10), ptr addrspace(11) %7, align 8, !dbg !35\n %11 = call ptr addrspace(10) (ptr, ptr addrspace(10), ...) @julia.call(ptr @ijl_apply_generic, ptr addrspace(10) @ejl_enz_runtime_generic_fwd, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695121167120 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695908277584 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695908277584 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_enz_val_1, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695618737712 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695886842128 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) %10, ptr addrspace(10) %9, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695864039248 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing), !dbg !55\n %12 = addrspacecast ptr addrspace(10) %11 to ptr addrspace(11), !dbg !55\n %13 = getelementptr inbounds [2 x ptr addrspace(10)], ptr addrspace(11) %12, i64 0, i64 1, !dbg !55\n %14 = load ptr addrspace(10), ptr addrspace(11) %13, align 8, !dbg !55\n %15 = getelementptr inbounds [1 x ptr addrspace(10)], ptr %2, i64 0, i32 0\n %dstlocsi = getelementptr inbounds ptr addrspace(10), ptr %15, i64 0\n store ptr addrspace(10) %14, ptr %dstlocsi, align 8\n %16 = load [1 x ptr addrspace(10)], ptr %2, align 8\n ret [1 x ptr addrspace(10)] %16\n}\n\ndefine private void @julia_derivative_bundle_46782_inner.1([2 x [1 x [4 x double]]] \"enzyme_type\"=\"{[-1]:Float@double}\" \"enzymejl_parmtype\"=\"130695198543056\" \"enzymejl_parmtype_ref\"=\"0\" %0) local_unnamed_addr #6 !dbg !56 {\nentry:\n %newly_emitted_pgc_stack = call ptr @julia.get_pgcstack(), !dbg !57\n %.fca.0.0.0.extract = extractvalue [2 x [1 x [4 x double]]] %0, 0, 0, 0, !dbg !57, !enzyme_type !15, !enzymejl_source_type_Float64 !0, !enzymejl_byref_BITS_VALUE !0\n %.fca.0.0.1.extract = extractvalue [2 x [1 x [4 x double]]] %0, 0, 0, 1, !dbg !57, !enzyme_type !15, !enzymejl_source_type_Float64 !0, !enzymejl_byref_BITS_VALUE !0\n %.fca.0.0.2.extract = extractvalue [2 x [1 x [4 x double]]] %0, 0, 0, 2, !dbg !57, !enzyme_type !15, !enzymejl_source_type_Float64 !0, !enzymejl_byref_BITS_VALUE !0\n %.fca.0.0.3.extract = extractvalue [2 x [1 x [4 x double]]] %0, 0, 0, 3, !dbg !57, !enzyme_type !15, !enzymejl_source_type_Float64 !0, !enzymejl_byref_BITS_VALUE !0\n %.fca.1.0.0.extract = extractvalue [2 x [1 x [4 x double]]] %0, 1, 0, 0, !dbg !57, !enzyme_type !15, !enzymejl_source_type_Float64 !0, !enzymejl_byref_BITS_VALUE !0\n %.fca.1.0.1.extract = extractvalue [2 x [1 x [4 x double]]] %0, 1, 0, 1, !dbg !57, !enzyme_type !15, !enzymejl_source_type_Float64 !0, !enzymejl_byref_BITS_VALUE !0\n %.fca.1.0.2.extract = extractvalue [2 x [1 x [4 x double]]] %0, 1, 0, 2, !dbg !57, !enzyme_type !15, !enzymejl_source_type_Float64 !0, !enzymejl_byref_BITS_VALUE !0\n %.fca.1.0.3.extract = extractvalue [2 x [1 x [4 x double]]] %0, 1, 0, 3, !dbg !57, !enzyme_type !15, !enzymejl_source_type_Float64 !0, !enzymejl_byref_BITS_VALUE !0\n %pgcstack.i = call ptr @julia.get_pgcstack()\n %1 = call nonnull \"enzyme_type\"=\"{[-1]:Pointer}\" ptr addrspace(10) (ptr, ptr addrspace(10), ptr addrspace(10), ...) @julia.call2(ptr nonnull @ijl_invoke, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695899363856 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695860763760 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695618768768 to ptr) to ptr addrspace(10))) #11, !dbg !58\n %.not = icmp eq ptr addrspace(10) %1, addrspacecast (ptr inttoptr (i64 130695720003920 to ptr) to ptr addrspace(10)), !dbg !58\n %\"ejl_inserted\$_Core_Tuple_46789\$false\$130695758914192.ejl_inserted\$_Main__flux_46797\$false\$130695095857232\" = select i1 %.not, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695095857232 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695758914192 to ptr) to ptr addrspace(10)), !dbg !58\n %jl_f_apply_type_ret.i = call nonnull \"enzyme_inactive\" \"enzyme_type\"=\"{[-1]:Pointer}\" ptr addrspace(10) (ptr, ptr addrspace(10), ...) @julia.call(ptr nonnull @jl_f_apply_type, ptr addrspace(10) null, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695930797600 to ptr) to ptr addrspace(10)), ptr addrspace(10) %\"ejl_inserted\$_Core_Tuple_46789\$false\$130695758914192.ejl_inserted\$_Main__flux_46797\$false\$130695095857232\", ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695758914192 to ptr) to ptr addrspace(10))) #12, !dbg !66\n %.not1.not = icmp eq ptr addrspace(10) %jl_f_apply_type_ret.i, addrspacecast (ptr inttoptr (i64 130695116316496 to ptr) to ptr addrspace(10)), !dbg !67\n %value_phi4.i = select i1 %.not1.not, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695757158928 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695105306192 to ptr) to ptr addrspace(10)), !dbg !68\n %current_task.i = getelementptr inbounds i8, ptr %pgcstack.i, i64 -152, !dbg !69\n %\"box::Duplicated.i\" = call noalias nonnull align 8 dereferenceable(64) \"enzyme_ReadOnlyOrThrow\" \"enzyme_type\"=\"{[-1]:Pointer, [-1,-1]:Float@double}\" ptr addrspace(10) @julia.gc_alloc_obj(ptr nonnull %current_task.i, i64 64, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695051704528 to ptr) to ptr addrspace(10))) #13, !dbg !69, !enzymejl_gc_alloc_rt !36\n %2 = addrspacecast ptr addrspace(10) %\"box::Duplicated.i\" to ptr addrspace(11), !dbg !69\n store double %.fca.0.0.0.extract, ptr addrspace(11) %2, align 8, !dbg !69, !tbaa !37, !alias.scope !70, !noalias !71\n %\"new::Duplicated.i.sroa.4.0..sroa_idx\" = getelementptr inbounds nuw i8, ptr addrspace(11) %2, i64 8, !dbg !69\n store double %.fca.0.0.1.extract, ptr addrspace(11) %\"new::Duplicated.i.sroa.4.0..sroa_idx\", align 8, !dbg !69, !tbaa !37, !alias.scope !70, !noalias !71\n %\"new::Duplicated.i.sroa.5.0..sroa_idx\" = getelementptr inbounds nuw i8, ptr addrspace(11) %2, i64 16, !dbg !69\n store double %.fca.0.0.2.extract, ptr addrspace(11) %\"new::Duplicated.i.sroa.5.0..sroa_idx\", align 8, !dbg !69, !tbaa !37, !alias.scope !70, !noalias !71\n %\"new::Duplicated.i.sroa.6.0..sroa_idx\" = getelementptr inbounds nuw i8, ptr addrspace(11) %2, i64 24, !dbg !69\n store double %.fca.0.0.3.extract, ptr addrspace(11) %\"new::Duplicated.i.sroa.6.0..sroa_idx\", align 8, !dbg !69, !tbaa !37, !alias.scope !70, !noalias !71\n %\"new::Duplicated.i.sroa.7.0..sroa_idx\" = getelementptr inbounds nuw i8, ptr addrspace(11) %2, i64 32, !dbg !69\n store double %.fca.1.0.0.extract, ptr addrspace(11) %\"new::Duplicated.i.sroa.7.0..sroa_idx\", align 8, !dbg !69, !tbaa !37, !alias.scope !70, !noalias !71\n %\"new::Duplicated.i.sroa.8.0..sroa_idx\" = getelementptr inbounds nuw i8, ptr addrspace(11) %2, i64 40, !dbg !69\n store double %.fca.1.0.1.extract, ptr addrspace(11) %\"new::Duplicated.i.sroa.8.0..sroa_idx\", align 8, !dbg !69, !tbaa !37, !alias.scope !70, !noalias !71\n %\"new::Duplicated.i.sroa.9.0..sroa_idx\" = getelementptr inbounds nuw i8, ptr addrspace(11) %2, i64 48, !dbg !69\n store double %.fca.1.0.2.extract, ptr addrspace(11) %\"new::Duplicated.i.sroa.9.0..sroa_idx\", align 8, !dbg !69, !tbaa !37, !alias.scope !70, !noalias !71\n %\"new::Duplicated.i.sroa.10.0..sroa_idx\" = getelementptr inbounds nuw i8, ptr addrspace(11) %2, i64 56, !dbg !69\n store double %.fca.1.0.3.extract, ptr addrspace(11) %\"new::Duplicated.i.sroa.10.0..sroa_idx\", align 8, !dbg !69, !tbaa !37, !alias.scope !70, !noalias !71\n %3 = call nonnull \"enzyme_type\"=\"{[-1]:Pointer}\" ptr addrspace(10) (ptr, ptr addrspace(10), ...) @julia.call(ptr nonnull @ijl_apply_generic, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 914557072 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695618699640 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695618785288 to ptr) to ptr addrspace(10)), ptr addrspace(10) %value_phi4.i, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695618768768 to ptr) to ptr addrspace(10)), ptr addrspace(10) nonnull %\"box::Duplicated.i\") #11, !dbg !69\n %4 = call nonnull \"enzyme_type\"=\"{[-1]:Pointer}\" ptr addrspace(10) (ptr, ptr addrspace(10), ...) @julia.call(ptr nonnull @ijl_apply_generic, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695886842128 to ptr) to ptr addrspace(10)), ptr addrspace(10) nonnull %3, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695864039248 to ptr) to ptr addrspace(10))) #11, !dbg !74\n ret void, !dbg !57\n}\n\nattributes #0 = { nofree nosync nounwind willreturn memory(none) \"enzyme_inactive\" \"enzyme_no_escaping_allocation\" \"enzyme_shouldrecompute\" \"enzymejl_world\"=\"40013\" }\nattributes #1 = { nofree \"enzymejl_world\"=\"40013\" }\nattributes #2 = { nofree \"enzyme_inactive\" \"enzyme_no_escaping_allocation\" \"enzymejl_world\"=\"40013\" }\nattributes #3 = { mustprogress nofree nounwind willreturn allockind(\"alloc,uninitialized\") allocsize(1) memory(inaccessiblemem: readwrite) \"enzyme_ReadOnlyOrThrow\" \"enzyme_no_escaping_allocation\" \"enzymejl_world\"=\"40013\" }\nattributes #4 = { nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }\nattributes #5 = { alwaysinline \"enzymejl_world\"=\"40013\" }\nattributes #6 = { \"enzyme_retremove\" \"enzyme_ta_norecur\" \"enzymejl_mi\"=\"130695129221840\" \"enzymejl_rt\"=\"130695930797376\" \"enzymejl_world\"=\"40013\" }\nattributes #7 = { mustprogress willreturn }\nattributes #8 = { mustprogress nofree willreturn }\nattributes #9 = { mustprogress nofree willreturn \"enzyme_inactive\" \"enzyme_no_escaping_allocation\" }\nattributes #10 = { mustprogress nounwind willreturn allockind(\"alloc,uninitialized\") allocsize(1) memory(inaccessiblemem: readwrite) \"enzyme_no_escaping_allocation\" }\nattributes #11 = { nofree }\nattributes #12 = { nofree \"enzyme_inactive\" \"enzyme_no_escaping_allocation\" }\nattributes #13 = { nounwind willreturn allockind(\"alloc,uninitialized\") allocsize(1) memory(inaccessiblemem: readwrite) \"enzyme_no_escaping_allocation\" }\n\n!llvm.module.flags = !{!1, !2, !3, !4}\n!llvm.dbg.cu = !{!5, !7, !8}\n\n!0 = !{}\n!1 = !{i32 2, !\"Dwarf Version\", i32 4}\n!2 = !{i32 2, !\"Debug Info Version\", i32 3}\n!3 = !{i32 1, !\"stack-protector-guard\", !\"\"}\n!4 = !{i32 1, !\"override-stack-alignment\", i32 0}\n!5 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !6, producer: \"julia\", isOptimized: true, runtimeVersion: 0, emissionKind: LineTablesOnly, nameTableKind: None)\n!6 = !DIFile(filename: \"julia\", directory: \".\")\n!7 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !6, producer: \"julia\", isOptimized: true, runtimeVersion: 0, emissionKind: LineTablesOnly, nameTableKind: None)\n!8 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !6, producer: \"julia\", isOptimized: true, runtimeVersion: 0, emissionKind: LineTablesOnly, nameTableKind: None)\n!9 = distinct !DISubprogram(name: \"fwddiffejulia_derivative_bundle_46782_inner_1wrap\", linkageName: \"fwddiffejulia_derivative_bundle_46782_inner_1wrap\", scope: null, file: !10, type: !11, spFlags: DISPFlagLocalToUnit | DISPFlagDefinition | DISPFlagOptimized, unit: !8)\n!10 = !DIFile(filename: \"/home/pkgeval/.julia/packages/TowerOfEnzyme/wUeMv/src/TowerOfEnzyme.jl\", directory: \".\")\n!11 = !DISubroutineType(types: !0)\n!12 = !DILocation(line: 0, scope: !13, inlinedAt: !14)\n!13 = distinct !DISubprogram(name: \"derivative_bundle\", linkageName: \"julia_derivative_bundle_46782\", scope: null, file: !10, line: 53, type: !11, scopeLine: 53, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !8)\n!14 = distinct !DILocation(line: 0, scope: !9)\n!15 = !{!\"Unknown\", i32 -1, !16}\n!16 = !{!\"Float@double\"}\n!17 = !DILocation(line: 181, scope: !18, inlinedAt: !20)\n!18 = distinct !DISubprogram(name: \"#vaEltypeof##0;\", linkageName: \"#vaEltypeof##0\", scope: !19, file: !19, type: !11, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !8)\n!19 = !DIFile(filename: \"/home/pkgeval/.julia/packages/Enzyme/2lHFw/src/Enzyme.jl\", directory: \".\")\n!20 = distinct !DILocation(line: 68, scope: !21, inlinedAt: !23)\n!21 = distinct !DISubprogram(name: \"macro expansion;\", linkageName: \"macro expansion\", scope: !22, file: !22, type: !11, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !8)\n!22 = !DIFile(filename: \"ntuple.jl\", directory: \".\")\n!23 = distinct !DILocation(line: 65, scope: !24, inlinedAt: !25)\n!24 = distinct !DISubprogram(name: \"ntuple;\", linkageName: \"ntuple\", scope: !22, file: !22, type: !11, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !8)\n!25 = distinct !DILocation(line: 178, scope: !26, inlinedAt: !27)\n!26 = distinct !DISubprogram(name: \"vaEltypeof;\", linkageName: \"vaEltypeof\", scope: !19, file: !19, type: !11, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !8)\n!27 = distinct !DILocation(line: 555, scope: !28, inlinedAt: !29)\n!28 = distinct !DISubprogram(name: \"autodiff;\", linkageName: \"autodiff\", scope: !19, file: !19, type: !11, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !8)\n!29 = distinct !DILocation(line: 534, scope: !28, inlinedAt: !30)\n!30 = distinct !DILocation(line: 59, scope: !13, inlinedAt: !31)\n!31 = distinct !DILocation(line: 0, scope: !13, inlinedAt: !14)\n!32 = !DILocation(line: 178, scope: !26, inlinedAt: !27)\n!33 = !DILocation(line: 556, scope: !28, inlinedAt: !29)\n!34 = !DILocation(line: 561, scope: !28, inlinedAt: !29)\n!35 = !DILocation(line: 562, scope: !28, inlinedAt: !29)\n!36 = !{!\"130695051704528\"}\n!37 = !{!38, !38, i64 0}\n!38 = !{!\"jtbaa\", !39, i64 0}\n!39 = !{!\"jtbaa\"}\n!40 = !{!41, !43, !45}\n!41 = distinct !{!41, !42, !\"shadow_0\"}\n!42 = distinct !{!42, !\" diff: %box::Duplicated.i\"}\n!43 = !{!\"jnoalias_stack\", !44}\n!44 = !{!\"jnoalias\"}\n!45 = !{!\"jnoalias_data\", !44}\n!46 = !{!47, !48, !50, !51, !52}\n!47 = distinct !{!47, !42, !\"primal\"}\n!48 = distinct !{!48, !49, !\"na_addr13\"}\n!49 = distinct !{!49, !\"addr13\"}\n!50 = !{!\"jnoalias_gcframe\", !44}\n!51 = !{!\"jnoalias_typemd\", !44}\n!52 = !{!\"jnoalias_const\", !44}\n!53 = !{!47, !43, !45}\n!54 = !{!41, !48, !50, !51, !52}\n!55 = !DILocation(line: 59, scope: !13, inlinedAt: !31)\n!56 = distinct !DISubprogram(name: \"derivative_bundle\", linkageName: \"julia_derivative_bundle_46782\", scope: null, file: !10, line: 53, type: !11, scopeLine: 53, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !8)\n!57 = !DILocation(line: 0, scope: !56)\n!58 = !DILocation(line: 181, scope: !18, inlinedAt: !59)\n!59 = distinct !DILocation(line: 68, scope: !21, inlinedAt: !60)\n!60 = distinct !DILocation(line: 65, scope: !24, inlinedAt: !61)\n!61 = distinct !DILocation(line: 178, scope: !26, inlinedAt: !62)\n!62 = distinct !DILocation(line: 555, scope: !28, inlinedAt: !63)\n!63 = distinct !DILocation(line: 534, scope: !28, inlinedAt: !64)\n!64 = distinct !DILocation(line: 59, scope: !56, inlinedAt: !65)\n!65 = distinct !DILocation(line: 0, scope: !56)\n!66 = !DILocation(line: 178, scope: !26, inlinedAt: !62)\n!67 = !DILocation(line: 556, scope: !28, inlinedAt: !63)\n!68 = !DILocation(line: 561, scope: !28, inlinedAt: !63)\n!69 = !DILocation(line: 562, scope: !28, inlinedAt: !63)\n!70 = !{!43, !45}\n!71 = !{!72, !50, !51, !52}\n!72 = distinct !{!72, !73, !\"na_addr13\"}\n!73 = distinct !{!73, !\"addr13\"}\n!74 = !DILocation(line: 59, scope: !56, inlinedAt: !65)\n"), :fwddiffejulia_derivative_bundle_46782_inner_1wrap)}, EnzymeCore.Const{typeof(derivative_bundle)}, EnzymeCore.Duplicated{Any}, Tuple{EnzymeCore.Const{typeof(flux)}, EnzymeCore.Duplicated{Tuple{SVector{4, Float64}, SVector{4, Float64}}}}, 1, false}, ::EnzymeCore.Const{typeof(derivative_bundle)}, ::Nothing, ::Nothing, ::Nothing, ::EnzymeCore.Const{typeof(flux)}, ::Nothing, ::Nothing, ::Nothing, ::EnzymeCore.Duplicated{Tuple{SVector{4, Float64}, SVector{4, Float64}}}, ::EnzymeCore.Duplicated{Tuple{SVector{4, Float64}, SVector{4, Float64}}}, ::EnzymeCore.Duplicated{Tuple{SVector{4, Float64}, SVector{4, Float64}}}, ::EnzymeCore.Duplicated{Tuple{SVector{4, Float64}, SVector{4, Float64}}}) @ Enzyme.Compiler ~/.julia/packages/Enzyme/2lHFw/src/rules/jitrules.jl:357 [63] autodiff @ ~/.julia/packages/Enzyme/2lHFw/src/Enzyme.jl:673 [inlined] [64] autodiff @ ~/.julia/packages/Enzyme/2lHFw/src/Enzyme.jl:562 [inlined] [65] autodiff @ ~/.julia/packages/Enzyme/2lHFw/src/Enzyme.jl:534 [inlined] [66] derivative_bundle @ ~/.julia/packages/TowerOfEnzyme/wUeMv/src/TowerOfEnzyme.jl:59 [inlined] [67] derivative_bundle @ ~/.julia/packages/TowerOfEnzyme/wUeMv/src/TowerOfEnzyme.jl:0 [inlined] [68] fwddiffejulia_derivative_bundle_47216_inner_1wrap @ ~/.julia/packages/TowerOfEnzyme/wUeMv/src/TowerOfEnzyme.jl:0 [inlined] [69] macro expansion @ ~/.julia/packages/Enzyme/2lHFw/src/compiler.jl:6677 [inlined] [70] enzyme_call @ ~/.julia/packages/Enzyme/2lHFw/src/compiler.jl:6145 [inlined] [71] ForwardModeThunk @ ~/.julia/packages/Enzyme/2lHFw/src/compiler.jl:6045 [inlined] [72] ForwardModeThunk @ ~/.julia/packages/Enzyme/2lHFw/src/compiler.jl:0 [inlined] [73] fwddiffejulia_ForwardModeThunk_47680_inner_1wrap @ ~/.julia/packages/Enzyme/2lHFw/src/compiler.jl:0 [74] macro expansion @ ~/.julia/packages/Enzyme/2lHFw/src/compiler.jl:6666 [inlined] [75] enzyme_call @ ~/.julia/packages/Enzyme/2lHFw/src/compiler.jl:6145 [inlined] [76] ForwardModeThunk @ ~/.julia/packages/Enzyme/2lHFw/src/compiler.jl:6045 [inlined] [77] macro expansion @ ~/.julia/packages/Enzyme/2lHFw/src/rules/jitrules.jl:324 [inlined] [78] runtime_generic_fwd(::Type{Val{(true, false, false, true)}}, ::Val{false}, ::Val{false}, ::Val{1}, ::Val{@NamedTuple{var"1", var"2"}}, ::Enzyme.Compiler.ForwardModeThunk{Val{(Symbol("; ModuleID = 'start'\nsource_filename = \"start\"\ntarget datalayout = \"e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-i128:128-f80:128-n8:16:32:64-S128-ni:10:11:12:13\"\ntarget triple = \"x86_64-linux-gnu\"\n\n@ejl_jl_nothing = external addrspace(10) global {}, !enzyme_ta_norecur !0, !enzyme_inactive !0\n@ejl_jl_false = external addrspace(10) global {}, !enzyme_ta_norecur !0, !enzyme_inactive !0\n@ejl_jl_true = external addrspace(10) global {}, !enzyme_ta_norecur !0, !enzyme_inactive !0\n@ejl_enz_val_1 = external addrspace(10) global {}, !enzyme_ta_norecur !0, !enzyme_inactive !0\n@ejl_enz_runtime_generic_fwd = external addrspace(10) global {}, !enzyme_ta_norecur !0, !enzyme_inactive !0\n\n; Function Attrs: nofree nosync nounwind willreturn memory(none)\ndeclare ptr @julia.get_pgcstack() local_unnamed_addr #0\n\n; Function Attrs: nofree\ndeclare nonnull ptr addrspace(10) @ijl_invoke(ptr addrspace(10), ptr noalias nocapture noundef readonly, i32, ptr addrspace(10)) #1\n\n; Function Attrs: nofree\ndeclare nonnull ptr addrspace(10) @julia.call2(ptr, ptr addrspace(10), ptr addrspace(10), ...) local_unnamed_addr #1\n\n; Function Attrs: nofree\ndeclare nonnull ptr addrspace(10) @jl_f_apply_type(ptr addrspace(10), ptr noalias nocapture noundef readonly, i32) #2\n\n; Function Attrs: nofree\ndeclare nonnull ptr addrspace(10) @julia.call(ptr, ptr addrspace(10), ...) local_unnamed_addr #1\n\n; Function Attrs: mustprogress nofree nounwind willreturn allockind(\"alloc,uninitialized\") allocsize(1) memory(inaccessiblemem: readwrite)\ndeclare noalias nonnull ptr addrspace(10) @julia.gc_alloc_obj(ptr, i64, ptr addrspace(10)) local_unnamed_addr #3\n\n; Function Attrs: nofree\ndeclare nonnull ptr addrspace(10) @ijl_apply_generic(ptr addrspace(10), ptr noalias nocapture noundef readonly, i32) #1\n\n; Function Attrs: nocallback nofree nosync nounwind willreturn memory(argmem: readwrite)\ndeclare void @llvm.lifetime.start.p0(i64 immarg, ptr nocapture) #4\n\n; Function Attrs: nocallback nofree nosync nounwind willreturn memory(argmem: readwrite)\ndeclare void @llvm.lifetime.end.p0(i64 immarg, ptr nocapture) #4\n\n; Function Attrs: alwaysinline\ndefine [1 x ptr addrspace(10)] @fwddiffejulia_derivative_bundle_47216_inner_1wrap([3 x [1 x [4 x double]]] %0, [3 x [1 x [4 x double]]] %1) #5 !dbg !8 {\nentry:\n %newly_emitted_pgc_stack = call ptr @julia.get_pgcstack()\n %2 = alloca [1 x ptr addrspace(10)], align 8\n %.fca.0.0.0.extract.i = extractvalue [3 x [1 x [4 x double]]] %0, 0, 0, 0, !dbg !11, !enzyme_type !14, !enzymejl_source_type_Float64 !0, !enzymejl_byref_BITS_VALUE !0\n %\".fca.0.0.0.extract'ipev.i\" = extractvalue [3 x [1 x [4 x double]]] %1, 0, 0, 0, !dbg !11\n %.fca.0.0.1.extract.i = extractvalue [3 x [1 x [4 x double]]] %0, 0, 0, 1, !dbg !11, !enzyme_type !14, !enzymejl_source_type_Float64 !0, !enzymejl_byref_BITS_VALUE !0\n %\".fca.0.0.1.extract'ipev.i\" = extractvalue [3 x [1 x [4 x double]]] %1, 0, 0, 1, !dbg !11\n %.fca.0.0.2.extract.i = extractvalue [3 x [1 x [4 x double]]] %0, 0, 0, 2, !dbg !11, !enzyme_type !14, !enzymejl_source_type_Float64 !0, !enzymejl_byref_BITS_VALUE !0\n %\".fca.0.0.2.extract'ipev.i\" = extractvalue [3 x [1 x [4 x double]]] %1, 0, 0, 2, !dbg !11\n %.fca.0.0.3.extract.i = extractvalue [3 x [1 x [4 x double]]] %0, 0, 0, 3, !dbg !11, !enzyme_type !14, !enzymejl_source_type_Float64 !0, !enzymejl_byref_BITS_VALUE !0\n %\".fca.0.0.3.extract'ipev.i\" = extractvalue [3 x [1 x [4 x double]]] %1, 0, 0, 3, !dbg !11\n %.fca.1.0.0.extract.i = extractvalue [3 x [1 x [4 x double]]] %0, 1, 0, 0, !dbg !11, !enzyme_type !14, !enzymejl_source_type_Float64 !0, !enzymejl_byref_BITS_VALUE !0\n %\".fca.1.0.0.extract'ipev.i\" = extractvalue [3 x [1 x [4 x double]]] %1, 1, 0, 0, !dbg !11\n %.fca.1.0.1.extract.i = extractvalue [3 x [1 x [4 x double]]] %0, 1, 0, 1, !dbg !11, !enzyme_type !14, !enzymejl_source_type_Float64 !0, !enzymejl_byref_BITS_VALUE !0\n %\".fca.1.0.1.extract'ipev.i\" = extractvalue [3 x [1 x [4 x double]]] %1, 1, 0, 1, !dbg !11\n %.fca.1.0.2.extract.i = extractvalue [3 x [1 x [4 x double]]] %0, 1, 0, 2, !dbg !11, !enzyme_type !14, !enzymejl_source_type_Float64 !0, !enzymejl_byref_BITS_VALUE !0\n %\".fca.1.0.2.extract'ipev.i\" = extractvalue [3 x [1 x [4 x double]]] %1, 1, 0, 2, !dbg !11\n %.fca.1.0.3.extract.i = extractvalue [3 x [1 x [4 x double]]] %0, 1, 0, 3, !dbg !11, !enzyme_type !14, !enzymejl_source_type_Float64 !0, !enzymejl_byref_BITS_VALUE !0\n %\".fca.1.0.3.extract'ipev.i\" = extractvalue [3 x [1 x [4 x double]]] %1, 1, 0, 3, !dbg !11\n %.fca.2.0.0.extract.i = extractvalue [3 x [1 x [4 x double]]] %0, 2, 0, 0, !dbg !11, !enzyme_type !14, !enzymejl_source_type_Float64 !0, !enzymejl_byref_BITS_VALUE !0\n %\".fca.2.0.0.extract'ipev.i\" = extractvalue [3 x [1 x [4 x double]]] %1, 2, 0, 0, !dbg !11\n %.fca.2.0.1.extract.i = extractvalue [3 x [1 x [4 x double]]] %0, 2, 0, 1, !dbg !11, !enzyme_type !14, !enzymejl_source_type_Float64 !0, !enzymejl_byref_BITS_VALUE !0\n %\".fca.2.0.1.extract'ipev.i\" = extractvalue [3 x [1 x [4 x double]]] %1, 2, 0, 1, !dbg !11\n %.fca.2.0.2.extract.i = extractvalue [3 x [1 x [4 x double]]] %0, 2, 0, 2, !dbg !11, !enzyme_type !14, !enzymejl_source_type_Float64 !0, !enzymejl_byref_BITS_VALUE !0\n %\".fca.2.0.2.extract'ipev.i\" = extractvalue [3 x [1 x [4 x double]]] %1, 2, 0, 2, !dbg !11\n %.fca.2.0.3.extract.i = extractvalue [3 x [1 x [4 x double]]] %0, 2, 0, 3, !dbg !11, !enzyme_type !14, !enzymejl_source_type_Float64 !0, !enzymejl_byref_BITS_VALUE !0\n %\".fca.2.0.3.extract'ipev.i\" = extractvalue [3 x [1 x [4 x double]]] %1, 2, 0, 3\n %pgcstack.i.i = call ptr @julia.get_pgcstack() #7\n %3 = call nonnull \"enzyme_type\"=\"{[-1]:Pointer}\" ptr addrspace(10) (ptr, ptr addrspace(10), ptr addrspace(10), ...) @julia.call2(ptr nonnull @ijl_invoke, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695899363856 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695860763760 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695618768768 to ptr) to ptr addrspace(10))) #8, !dbg !16\n %.not.i = icmp eq ptr addrspace(10) %3, addrspacecast (ptr inttoptr (i64 130695720003920 to ptr) to ptr addrspace(10)), !dbg !16\n %\"ejl_inserted\$_Core_Tuple_47223\$false\$130695198543056.ejl_inserted\$_Main__flux_47238\$false\$130695095857232.i\" = select i1 %.not.i, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695095857232 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695198543056 to ptr) to ptr addrspace(10)), !dbg !16\n %jl_f_apply_type_ret.i.i = call nonnull \"enzyme_inactive\" \"enzyme_type\"=\"{[-1]:Pointer}\" ptr addrspace(10) (ptr, ptr addrspace(10), ...) @julia.call(ptr nonnull @jl_f_apply_type, ptr addrspace(10) null, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695930797600 to ptr) to ptr addrspace(10)), ptr addrspace(10) %\"ejl_inserted\$_Core_Tuple_47223\$false\$130695198543056.ejl_inserted\$_Main__flux_47238\$false\$130695095857232.i\", ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695198543056 to ptr) to ptr addrspace(10))) #9, !dbg !31\n %4 = call nonnull \"enzyme_type\"=\"{[-1]:Pointer}\" ptr addrspace(10) (ptr, ptr addrspace(10), ptr addrspace(10), ...) @julia.call2(ptr nonnull @ijl_invoke, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695899363856 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695860763760 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695618768768 to ptr) to ptr addrspace(10))) #8, !dbg !32\n %current_task.i.i = getelementptr inbounds i8, ptr %pgcstack.i.i, i64 -152, !dbg !32\n %\"box::Duplicated.i.i\" = call noalias nonnull align 8 dereferenceable(128) \"enzyme_ReadOnlyOrThrow\" \"enzyme_type\"=\"{[-1]:Pointer, [-1,-1]:Float@double}\" ptr addrspace(10) @julia.gc_alloc_obj(ptr nonnull %current_task.i.i, i64 128, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695165959632 to ptr) to ptr addrspace(10))) #10, !dbg !32, !enzymejl_gc_alloc_rt !40\n %5 = call noalias nonnull align 8 dereferenceable(128) \"enzyme_ReadOnlyOrThrow\" \"enzyme_type\"=\"{[-1]:Pointer, [-1,-1]:Float@double}\" ptr addrspace(10) @julia.gc_alloc_obj(ptr nonnull %current_task.i.i, i64 128, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695165959632 to ptr) to ptr addrspace(10))) #10, !dbg !32\n %\"'ipc.i\" = addrspacecast ptr addrspace(10) %5 to ptr addrspace(11), !dbg !32\n %6 = addrspacecast ptr addrspace(10) %\"box::Duplicated.i.i\" to ptr addrspace(11), !dbg !32\n store double %\".fca.0.0.0.extract'ipev.i\", ptr addrspace(11) %\"'ipc.i\", align 8, !dbg !32, !tbaa !41, !alias.scope !44, !noalias !50\n store double %.fca.0.0.0.extract.i, ptr addrspace(11) %6, align 8, !dbg !32, !tbaa !41, !alias.scope !57, !noalias !58\n %\"new::Duplicated.i.sroa.5.0..sroa_idx'ipg.i\" = getelementptr inbounds i8, ptr addrspace(11) %\"'ipc.i\", i64 8, !dbg !32\n %\"new::Duplicated.i.sroa.5.0..sroa_idx.i\" = getelementptr inbounds nuw i8, ptr addrspace(11) %6, i64 8, !dbg !32\n store double %\".fca.0.0.1.extract'ipev.i\", ptr addrspace(11) %\"new::Duplicated.i.sroa.5.0..sroa_idx'ipg.i\", align 8, !dbg !32, !tbaa !41, !alias.scope !44, !noalias !50\n store double %.fca.0.0.1.extract.i, ptr addrspace(11) %\"new::Duplicated.i.sroa.5.0..sroa_idx.i\", align 8, !dbg !32, !tbaa !41, !alias.scope !57, !noalias !58\n %\"new::Duplicated.i.sroa.6.0..sroa_idx'ipg.i\" = getelementptr inbounds i8, ptr addrspace(11) %\"'ipc.i\", i64 16, !dbg !32\n %\"new::Duplicated.i.sroa.6.0..sroa_idx.i\" = getelementptr inbounds nuw i8, ptr addrspace(11) %6, i64 16, !dbg !32\n store double %\".fca.0.0.2.extract'ipev.i\", ptr addrspace(11) %\"new::Duplicated.i.sroa.6.0..sroa_idx'ipg.i\", align 8, !dbg !32, !tbaa !41, !alias.scope !44, !noalias !50\n store double %.fca.0.0.2.extract.i, ptr addrspace(11) %\"new::Duplicated.i.sroa.6.0..sroa_idx.i\", align 8, !dbg !32, !tbaa !41, !alias.scope !57, !noalias !58\n %\"new::Duplicated.i.sroa.7.0..sroa_idx'ipg.i\" = getelementptr inbounds i8, ptr addrspace(11) %\"'ipc.i\", i64 24, !dbg !32\n %\"new::Duplicated.i.sroa.7.0..sroa_idx.i\" = getelementptr inbounds nuw i8, ptr addrspace(11) %6, i64 24, !dbg !32\n store double %\".fca.0.0.3.extract'ipev.i\", ptr addrspace(11) %\"new::Duplicated.i.sroa.7.0..sroa_idx'ipg.i\", align 8, !dbg !32, !tbaa !41, !alias.scope !44, !noalias !50\n store double %.fca.0.0.3.extract.i, ptr addrspace(11) %\"new::Duplicated.i.sroa.7.0..sroa_idx.i\", align 8, !dbg !32, !tbaa !41, !alias.scope !57, !noalias !58\n %\"new::Duplicated.i.sroa.8.0..sroa_idx'ipg.i\" = getelementptr inbounds i8, ptr addrspace(11) %\"'ipc.i\", i64 32, !dbg !32\n %\"new::Duplicated.i.sroa.8.0..sroa_idx.i\" = getelementptr inbounds nuw i8, ptr addrspace(11) %6, i64 32, !dbg !32\n store double %\".fca.1.0.0.extract'ipev.i\", ptr addrspace(11) %\"new::Duplicated.i.sroa.8.0..sroa_idx'ipg.i\", align 8, !dbg !32, !tbaa !41, !alias.scope !44, !noalias !50\n store double %.fca.1.0.0.extract.i, ptr addrspace(11) %\"new::Duplicated.i.sroa.8.0..sroa_idx.i\", align 8, !dbg !32, !tbaa !41, !alias.scope !57, !noalias !58\n %\"new::Duplicated.i.sroa.9.0..sroa_idx'ipg.i\" = getelementptr inbounds i8, ptr addrspace(11) %\"'ipc.i\", i64 40, !dbg !32\n %\"new::Duplicated.i.sroa.9.0..sroa_idx.i\" = getelementptr inbounds nuw i8, ptr addrspace(11) %6, i64 40, !dbg !32\n store double %\".fca.1.0.1.extract'ipev.i\", ptr addrspace(11) %\"new::Duplicated.i.sroa.9.0..sroa_idx'ipg.i\", align 8, !dbg !32, !tbaa !41, !alias.scope !44, !noalias !50\n store double %.fca.1.0.1.extract.i, ptr addrspace(11) %\"new::Duplicated.i.sroa.9.0..sroa_idx.i\", align 8, !dbg !32, !tbaa !41, !alias.scope !57, !noalias !58\n %\"new::Duplicated.i.sroa.10.0..sroa_idx'ipg.i\" = getelementptr inbounds i8, ptr addrspace(11) %\"'ipc.i\", i64 48, !dbg !32\n %\"new::Duplicated.i.sroa.10.0..sroa_idx.i\" = getelementptr inbounds nuw i8, ptr addrspace(11) %6, i64 48, !dbg !32\n store double %\".fca.1.0.2.extract'ipev.i\", ptr addrspace(11) %\"new::Duplicated.i.sroa.10.0..sroa_idx'ipg.i\", align 8, !dbg !32, !tbaa !41, !alias.scope !44, !noalias !50\n store double %.fca.1.0.2.extract.i, ptr addrspace(11) %\"new::Duplicated.i.sroa.10.0..sroa_idx.i\", align 8, !dbg !32, !tbaa !41, !alias.scope !57, !noalias !58\n %\"new::Duplicated.i.sroa.11.0..sroa_idx'ipg.i\" = getelementptr inbounds i8, ptr addrspace(11) %\"'ipc.i\", i64 56, !dbg !32\n %\"new::Duplicated.i.sroa.11.0..sroa_idx.i\" = getelementptr inbounds nuw i8, ptr addrspace(11) %6, i64 56, !dbg !32\n store double %\".fca.1.0.3.extract'ipev.i\", ptr addrspace(11) %\"new::Duplicated.i.sroa.11.0..sroa_idx'ipg.i\", align 8, !dbg !32, !tbaa !41, !alias.scope !44, !noalias !50\n store double %.fca.1.0.3.extract.i, ptr addrspace(11) %\"new::Duplicated.i.sroa.11.0..sroa_idx.i\", align 8, !dbg !32, !tbaa !41, !alias.scope !57, !noalias !58\n %\"new::Duplicated.i.sroa.12.0..sroa_idx'ipg.i\" = getelementptr inbounds i8, ptr addrspace(11) %\"'ipc.i\", i64 64, !dbg !32\n %\"new::Duplicated.i.sroa.12.0..sroa_idx.i\" = getelementptr inbounds nuw i8, ptr addrspace(11) %6, i64 64, !dbg !32\n store double %\".fca.1.0.0.extract'ipev.i\", ptr addrspace(11) %\"new::Duplicated.i.sroa.12.0..sroa_idx'ipg.i\", align 8, !dbg !32, !tbaa !41, !alias.scope !44, !noalias !50\n store double %.fca.1.0.0.extract.i, ptr addrspace(11) %\"new::Duplicated.i.sroa.12.0..sroa_idx.i\", align 8, !dbg !32, !tbaa !41, !alias.scope !57, !noalias !58\n %\"new::Duplicated.i.sroa.13.0..sroa_idx'ipg.i\" = getelementptr inbounds i8, ptr addrspace(11) %\"'ipc.i\", i64 72, !dbg !32\n %\"new::Duplicated.i.sroa.13.0..sroa_idx.i\" = getelementptr inbounds nuw i8, ptr addrspace(11) %6, i64 72, !dbg !32\n store double %\".fca.1.0.1.extract'ipev.i\", ptr addrspace(11) %\"new::Duplicated.i.sroa.13.0..sroa_idx'ipg.i\", align 8, !dbg !32, !tbaa !41, !alias.scope !44, !noalias !50\n store double %.fca.1.0.1.extract.i, ptr addrspace(11) %\"new::Duplicated.i.sroa.13.0..sroa_idx.i\", align 8, !dbg !32, !tbaa !41, !alias.scope !57, !noalias !58\n %\"new::Duplicated.i.sroa.14.0..sroa_idx'ipg.i\" = getelementptr inbounds i8, ptr addrspace(11) %\"'ipc.i\", i64 80, !dbg !32\n %\"new::Duplicated.i.sroa.14.0..sroa_idx.i\" = getelementptr inbounds nuw i8, ptr addrspace(11) %6, i64 80, !dbg !32\n store double %\".fca.1.0.2.extract'ipev.i\", ptr addrspace(11) %\"new::Duplicated.i.sroa.14.0..sroa_idx'ipg.i\", align 8, !dbg !32, !tbaa !41, !alias.scope !44, !noalias !50\n store double %.fca.1.0.2.extract.i, ptr addrspace(11) %\"new::Duplicated.i.sroa.14.0..sroa_idx.i\", align 8, !dbg !32, !tbaa !41, !alias.scope !57, !noalias !58\n %\"new::Duplicated.i.sroa.15.0..sroa_idx'ipg.i\" = getelementptr inbounds i8, ptr addrspace(11) %\"'ipc.i\", i64 88, !dbg !32\n %\"new::Duplicated.i.sroa.15.0..sroa_idx.i\" = getelementptr inbounds nuw i8, ptr addrspace(11) %6, i64 88, !dbg !32\n store double %\".fca.1.0.3.extract'ipev.i\", ptr addrspace(11) %\"new::Duplicated.i.sroa.15.0..sroa_idx'ipg.i\", align 8, !dbg !32, !tbaa !41, !alias.scope !44, !noalias !50\n store double %.fca.1.0.3.extract.i, ptr addrspace(11) %\"new::Duplicated.i.sroa.15.0..sroa_idx.i\", align 8, !dbg !32, !tbaa !41, !alias.scope !57, !noalias !58\n %\"new::Duplicated.i.sroa.16.0..sroa_idx'ipg.i\" = getelementptr inbounds i8, ptr addrspace(11) %\"'ipc.i\", i64 96, !dbg !32\n %\"new::Duplicated.i.sroa.16.0..sroa_idx.i\" = getelementptr inbounds nuw i8, ptr addrspace(11) %6, i64 96, !dbg !32\n store double %\".fca.2.0.0.extract'ipev.i\", ptr addrspace(11) %\"new::Duplicated.i.sroa.16.0..sroa_idx'ipg.i\", align 8, !dbg !32, !tbaa !41, !alias.scope !44, !noalias !50\n store double %.fca.2.0.0.extract.i, ptr addrspace(11) %\"new::Duplicated.i.sroa.16.0..sroa_idx.i\", align 8, !dbg !32, !tbaa !41, !alias.scope !57, !noalias !58\n %\"new::Duplicated.i.sroa.17.0..sroa_idx'ipg.i\" = getelementptr inbounds i8, ptr addrspace(11) %\"'ipc.i\", i64 104, !dbg !32\n %\"new::Duplicated.i.sroa.17.0..sroa_idx.i\" = getelementptr inbounds nuw i8, ptr addrspace(11) %6, i64 104, !dbg !32\n store double %\".fca.2.0.1.extract'ipev.i\", ptr addrspace(11) %\"new::Duplicated.i.sroa.17.0..sroa_idx'ipg.i\", align 8, !dbg !32, !tbaa !41, !alias.scope !44, !noalias !50\n store double %.fca.2.0.1.extract.i, ptr addrspace(11) %\"new::Duplicated.i.sroa.17.0..sroa_idx.i\", align 8, !dbg !32, !tbaa !41, !alias.scope !57, !noalias !58\n %\"new::Duplicated.i.sroa.18.0..sroa_idx'ipg.i\" = getelementptr inbounds i8, ptr addrspace(11) %\"'ipc.i\", i64 112, !dbg !32\n %\"new::Duplicated.i.sroa.18.0..sroa_idx.i\" = getelementptr inbounds nuw i8, ptr addrspace(11) %6, i64 112, !dbg !32\n store double %\".fca.2.0.2.extract'ipev.i\", ptr addrspace(11) %\"new::Duplicated.i.sroa.18.0..sroa_idx'ipg.i\", align 8, !dbg !32, !tbaa !41, !alias.scope !44, !noalias !50\n store double %.fca.2.0.2.extract.i, ptr addrspace(11) %\"new::Duplicated.i.sroa.18.0..sroa_idx.i\", align 8, !dbg !32, !tbaa !41, !alias.scope !57, !noalias !58\n %\"new::Duplicated.i.sroa.19.0..sroa_idx'ipg.i\" = getelementptr inbounds i8, ptr addrspace(11) %\"'ipc.i\", i64 120, !dbg !32\n %\"new::Duplicated.i.sroa.19.0..sroa_idx.i\" = getelementptr inbounds nuw i8, ptr addrspace(11) %6, i64 120, !dbg !32\n store double %\".fca.2.0.3.extract'ipev.i\", ptr addrspace(11) %\"new::Duplicated.i.sroa.19.0..sroa_idx'ipg.i\", align 8, !dbg !32, !tbaa !41, !alias.scope !44, !noalias !50\n store double %.fca.2.0.3.extract.i, ptr addrspace(11) %\"new::Duplicated.i.sroa.19.0..sroa_idx.i\", align 8, !dbg !32, !tbaa !41, !alias.scope !57, !noalias !58\n %7 = call ptr addrspace(10) (ptr, ptr addrspace(10), ...) @julia.call(ptr @ijl_apply_generic, ptr addrspace(10) @ejl_enz_runtime_generic_fwd, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695126066832 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695908277584 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695908277584 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_enz_val_1, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695618737712 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695860763760 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) %\"box::Duplicated.i.i\", ptr addrspace(10) %5), !dbg !32\n %8 = addrspacecast ptr addrspace(10) %7 to ptr addrspace(11), !dbg !32\n %9 = load ptr addrspace(10), ptr addrspace(11) %8, align 8, !dbg !32\n %jl_f_apply_type_ret9.i.i = call nonnull \"enzyme_inactive\" \"enzyme_type\"=\"{[-1]:Pointer}\" ptr addrspace(10) (ptr, ptr addrspace(10), ...) @julia.call(ptr nonnull @jl_f_apply_type, ptr addrspace(10) null, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695930797600 to ptr) to ptr addrspace(10)), ptr addrspace(10) nonnull %4, ptr addrspace(10) nonnull %9) #9, !dbg !59\n %10 = call nonnull \"enzyme_type\"=\"{[-1]:Pointer}\" ptr addrspace(10) (ptr, ptr addrspace(10), ptr addrspace(10), ...) @julia.call2(ptr nonnull @ijl_invoke, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695899363856 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695860763760 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695618768768 to ptr) to ptr addrspace(10))) #8, !dbg !60\n %.not39.i = icmp eq ptr addrspace(10) %10, addrspacecast (ptr inttoptr (i64 130695720003920 to ptr) to ptr addrspace(10)), !dbg !60\n %value_phi14.i.i = select i1 %.not39.i, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695095857232 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695198543056 to ptr) to ptr addrspace(10)), !dbg !60\n %jl_f_apply_type_ret17.i.i = call nonnull \"enzyme_inactive\" \"enzyme_type\"=\"{[-1]:Pointer}\" ptr addrspace(10) (ptr, ptr addrspace(10), ...) @julia.call(ptr nonnull @jl_f_apply_type, ptr addrspace(10) null, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695930797600 to ptr) to ptr addrspace(10)), ptr addrspace(10) %value_phi14.i.i, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695198543056 to ptr) to ptr addrspace(10))) #9, !dbg !65\n %11 = call ptr addrspace(10) (ptr, ptr addrspace(10), ...) @julia.call(ptr @ijl_apply_generic, ptr addrspace(10) @ejl_enz_runtime_generic_fwd, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695159782544 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695908277584 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695908277584 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_enz_val_1, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695618737712 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695560688096 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695876761728 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695740856528 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695179751504 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) %jl_f_apply_type_ret9.i.i, ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695618718864 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695857041792 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695618743472 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695908277584 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695908277584 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 914660384 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695908276976 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695908277584 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695908277584 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing), !dbg !66\n %12 = addrspacecast ptr addrspace(10) %11 to ptr addrspace(11), !dbg !66\n %13 = getelementptr inbounds [2 x ptr addrspace(10)], ptr addrspace(11) %12, i64 0, i64 1, !dbg !66\n %14 = load ptr addrspace(10), ptr addrspace(11) %13, align 8, !dbg !66\n %15 = load ptr addrspace(10), ptr addrspace(11) %12, align 8, !dbg !66\n %\"box::Duplicated25.i.i\" = call noalias nonnull align 8 dereferenceable(128) \"enzyme_ReadOnlyOrThrow\" \"enzyme_type\"=\"{[-1]:Pointer, [-1,-1]:Float@double}\" ptr addrspace(10) @julia.gc_alloc_obj(ptr nonnull %current_task.i.i, i64 128, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695165959632 to ptr) to ptr addrspace(10))) #10, !dbg !67, !enzymejl_gc_alloc_rt !40\n %16 = call noalias nonnull align 8 dereferenceable(128) \"enzyme_ReadOnlyOrThrow\" \"enzyme_type\"=\"{[-1]:Pointer, [-1,-1]:Float@double}\" ptr addrspace(10) @julia.gc_alloc_obj(ptr nonnull %current_task.i.i, i64 128, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695165959632 to ptr) to ptr addrspace(10))) #10, !dbg !67\n %\"'ipc9.i\" = addrspacecast ptr addrspace(10) %16 to ptr addrspace(11), !dbg !67\n %17 = addrspacecast ptr addrspace(10) %\"box::Duplicated25.i.i\" to ptr addrspace(11), !dbg !67\n store double %\".fca.0.0.0.extract'ipev.i\", ptr addrspace(11) %\"'ipc9.i\", align 8, !dbg !67, !tbaa !41, !alias.scope !68, !noalias !71\n store double %.fca.0.0.0.extract.i, ptr addrspace(11) %17, align 8, !dbg !67, !tbaa !41, !alias.scope !73, !noalias !74\n %\"new::Duplicated.i.sroa.5.0..sroa_idx9'ipg.i\" = getelementptr inbounds i8, ptr addrspace(11) %\"'ipc9.i\", i64 8, !dbg !67\n %\"new::Duplicated.i.sroa.5.0..sroa_idx9.i\" = getelementptr inbounds nuw i8, ptr addrspace(11) %17, i64 8, !dbg !67\n store double %\".fca.0.0.1.extract'ipev.i\", ptr addrspace(11) %\"new::Duplicated.i.sroa.5.0..sroa_idx9'ipg.i\", align 8, !dbg !67, !tbaa !41, !alias.scope !68, !noalias !71\n store double %.fca.0.0.1.extract.i, ptr addrspace(11) %\"new::Duplicated.i.sroa.5.0..sroa_idx9.i\", align 8, !dbg !67, !tbaa !41, !alias.scope !73, !noalias !74\n %\"new::Duplicated.i.sroa.6.0..sroa_idx11'ipg.i\" = getelementptr inbounds i8, ptr addrspace(11) %\"'ipc9.i\", i64 16, !dbg !67\n %\"new::Duplicated.i.sroa.6.0..sroa_idx11.i\" = getelementptr inbounds nuw i8, ptr addrspace(11) %17, i64 16, !dbg !67\n store double %\".fca.0.0.2.extract'ipev.i\", ptr addrspace(11) %\"new::Duplicated.i.sroa.6.0..sroa_idx11'ipg.i\", align 8, !dbg !67, !tbaa !41, !alias.scope !68, !noalias !71\n store double %.fca.0.0.2.extract.i, ptr addrspace(11) %\"new::Duplicated.i.sroa.6.0..sroa_idx11.i\", align 8, !dbg !67, !tbaa !41, !alias.scope !73, !noalias !74\n %\"new::Duplicated.i.sroa.7.0..sroa_idx13'ipg.i\" = getelementptr inbounds i8, ptr addrspace(11) %\"'ipc9.i\", i64 24, !dbg !67\n %\"new::Duplicated.i.sroa.7.0..sroa_idx13.i\" = getelementptr inbounds nuw i8, ptr addrspace(11) %17, i64 24, !dbg !67\n store double %\".fca.0.0.3.extract'ipev.i\", ptr addrspace(11) %\"new::Duplicated.i.sroa.7.0..sroa_idx13'ipg.i\", align 8, !dbg !67, !tbaa !41, !alias.scope !68, !noalias !71\n store double %.fca.0.0.3.extract.i, ptr addrspace(11) %\"new::Duplicated.i.sroa.7.0..sroa_idx13.i\", align 8, !dbg !67, !tbaa !41, !alias.scope !73, !noalias !74\n %\"new::Duplicated.i.sroa.8.0..sroa_idx15'ipg.i\" = getelementptr inbounds i8, ptr addrspace(11) %\"'ipc9.i\", i64 32, !dbg !67\n %\"new::Duplicated.i.sroa.8.0..sroa_idx15.i\" = getelementptr inbounds nuw i8, ptr addrspace(11) %17, i64 32, !dbg !67\n store double %\".fca.1.0.0.extract'ipev.i\", ptr addrspace(11) %\"new::Duplicated.i.sroa.8.0..sroa_idx15'ipg.i\", align 8, !dbg !67, !tbaa !41, !alias.scope !68, !noalias !71\n store double %.fca.1.0.0.extract.i, ptr addrspace(11) %\"new::Duplicated.i.sroa.8.0..sroa_idx15.i\", align 8, !dbg !67, !tbaa !41, !alias.scope !73, !noalias !74\n %\"new::Duplicated.i.sroa.9.0..sroa_idx17'ipg.i\" = getelementptr inbounds i8, ptr addrspace(11) %\"'ipc9.i\", i64 40, !dbg !67\n %\"new::Duplicated.i.sroa.9.0..sroa_idx17.i\" = getelementptr inbounds nuw i8, ptr addrspace(11) %17, i64 40, !dbg !67\n store double %\".fca.1.0.1.extract'ipev.i\", ptr addrspace(11) %\"new::Duplicated.i.sroa.9.0..sroa_idx17'ipg.i\", align 8, !dbg !67, !tbaa !41, !alias.scope !68, !noalias !71\n store double %.fca.1.0.1.extract.i, ptr addrspace(11) %\"new::Duplicated.i.sroa.9.0..sroa_idx17.i\", align 8, !dbg !67, !tbaa !41, !alias.scope !73, !noalias !74\n %\"new::Duplicated.i.sroa.10.0..sroa_idx19'ipg.i\" = getelementptr inbounds i8, ptr addrspace(11) %\"'ipc9.i\", i64 48, !dbg !67\n %\"new::Duplicated.i.sroa.10.0..sroa_idx19.i\" = getelementptr inbounds nuw i8, ptr addrspace(11) %17, i64 48, !dbg !67\n store double %\".fca.1.0.2.extract'ipev.i\", ptr addrspace(11) %\"new::Duplicated.i.sroa.10.0..sroa_idx19'ipg.i\", align 8, !dbg !67, !tbaa !41, !alias.scope !68, !noalias !71\n store double %.fca.1.0.2.extract.i, ptr addrspace(11) %\"new::Duplicated.i.sroa.10.0..sroa_idx19.i\", align 8, !dbg !67, !tbaa !41, !alias.scope !73, !noalias !74\n %\"new::Duplicated.i.sroa.11.0..sroa_idx21'ipg.i\" = getelementptr inbounds i8, ptr addrspace(11) %\"'ipc9.i\", i64 56, !dbg !67\n %\"new::Duplicated.i.sroa.11.0..sroa_idx21.i\" = getelementptr inbounds nuw i8, ptr addrspace(11) %17, i64 56, !dbg !67\n store double %\".fca.1.0.3.extract'ipev.i\", ptr addrspace(11) %\"new::Duplicated.i.sroa.11.0..sroa_idx21'ipg.i\", align 8, !dbg !67, !tbaa !41, !alias.scope !68, !noalias !71\n store double %.fca.1.0.3.extract.i, ptr addrspace(11) %\"new::Duplicated.i.sroa.11.0..sroa_idx21.i\", align 8, !dbg !67, !tbaa !41, !alias.scope !73, !noalias !74\n %\"new::Duplicated.i.sroa.12.0..sroa_idx23'ipg.i\" = getelementptr inbounds i8, ptr addrspace(11) %\"'ipc9.i\", i64 64, !dbg !67\n %\"new::Duplicated.i.sroa.12.0..sroa_idx23.i\" = getelementptr inbounds nuw i8, ptr addrspace(11) %17, i64 64, !dbg !67\n store double %\".fca.1.0.0.extract'ipev.i\", ptr addrspace(11) %\"new::Duplicated.i.sroa.12.0..sroa_idx23'ipg.i\", align 8, !dbg !67, !tbaa !41, !alias.scope !68, !noalias !71\n store double %.fca.1.0.0.extract.i, ptr addrspace(11) %\"new::Duplicated.i.sroa.12.0..sroa_idx23.i\", align 8, !dbg !67, !tbaa !41, !alias.scope !73, !noalias !74\n %\"new::Duplicated.i.sroa.13.0..sroa_idx25'ipg.i\" = getelementptr inbounds i8, ptr addrspace(11) %\"'ipc9.i\", i64 72, !dbg !67\n %\"new::Duplicated.i.sroa.13.0..sroa_idx25.i\" = getelementptr inbounds nuw i8, ptr addrspace(11) %17, i64 72, !dbg !67\n store double %\".fca.1.0.1.extract'ipev.i\", ptr addrspace(11) %\"new::Duplicated.i.sroa.13.0..sroa_idx25'ipg.i\", align 8, !dbg !67, !tbaa !41, !alias.scope !68, !noalias !71\n store double %.fca.1.0.1.extract.i, ptr addrspace(11) %\"new::Duplicated.i.sroa.13.0..sroa_idx25.i\", align 8, !dbg !67, !tbaa !41, !alias.scope !73, !noalias !74\n %\"new::Duplicated.i.sroa.14.0..sroa_idx27'ipg.i\" = getelementptr inbounds i8, ptr addrspace(11) %\"'ipc9.i\", i64 80, !dbg !67\n %\"new::Duplicated.i.sroa.14.0..sroa_idx27.i\" = getelementptr inbounds nuw i8, ptr addrspace(11) %17, i64 80, !dbg !67\n store double %\".fca.1.0.2.extract'ipev.i\", ptr addrspace(11) %\"new::Duplicated.i.sroa.14.0..sroa_idx27'ipg.i\", align 8, !dbg !67, !tbaa !41, !alias.scope !68, !noalias !71\n store double %.fca.1.0.2.extract.i, ptr addrspace(11) %\"new::Duplicated.i.sroa.14.0..sroa_idx27.i\", align 8, !dbg !67, !tbaa !41, !alias.scope !73, !noalias !74\n %\"new::Duplicated.i.sroa.15.0..sroa_idx29'ipg.i\" = getelementptr inbounds i8, ptr addrspace(11) %\"'ipc9.i\", i64 88, !dbg !67\n %\"new::Duplicated.i.sroa.15.0..sroa_idx29.i\" = getelementptr inbounds nuw i8, ptr addrspace(11) %17, i64 88, !dbg !67\n store double %\".fca.1.0.3.extract'ipev.i\", ptr addrspace(11) %\"new::Duplicated.i.sroa.15.0..sroa_idx29'ipg.i\", align 8, !dbg !67, !tbaa !41, !alias.scope !68, !noalias !71\n store double %.fca.1.0.3.extract.i, ptr addrspace(11) %\"new::Duplicated.i.sroa.15.0..sroa_idx29.i\", align 8, !dbg !67, !tbaa !41, !alias.scope !73, !noalias !74\n %\"new::Duplicated.i.sroa.16.0..sroa_idx31'ipg.i\" = getelementptr inbounds i8, ptr addrspace(11) %\"'ipc9.i\", i64 96, !dbg !67\n %\"new::Duplicated.i.sroa.16.0..sroa_idx31.i\" = getelementptr inbounds nuw i8, ptr addrspace(11) %17, i64 96, !dbg !67\n store double %\".fca.2.0.0.extract'ipev.i\", ptr addrspace(11) %\"new::Duplicated.i.sroa.16.0..sroa_idx31'ipg.i\", align 8, !dbg !67, !tbaa !41, !alias.scope !68, !noalias !71\n store double %.fca.2.0.0.extract.i, ptr addrspace(11) %\"new::Duplicated.i.sroa.16.0..sroa_idx31.i\", align 8, !dbg !67, !tbaa !41, !alias.scope !73, !noalias !74\n %\"new::Duplicated.i.sroa.17.0..sroa_idx33'ipg.i\" = getelementptr inbounds i8, ptr addrspace(11) %\"'ipc9.i\", i64 104, !dbg !67\n %\"new::Duplicated.i.sroa.17.0..sroa_idx33.i\" = getelementptr inbounds nuw i8, ptr addrspace(11) %17, i64 104, !dbg !67\n store double %\".fca.2.0.1.extract'ipev.i\", ptr addrspace(11) %\"new::Duplicated.i.sroa.17.0..sroa_idx33'ipg.i\", align 8, !dbg !67, !tbaa !41, !alias.scope !68, !noalias !71\n store double %.fca.2.0.1.extract.i, ptr addrspace(11) %\"new::Duplicated.i.sroa.17.0..sroa_idx33.i\", align 8, !dbg !67, !tbaa !41, !alias.scope !73, !noalias !74\n %\"new::Duplicated.i.sroa.18.0..sroa_idx35'ipg.i\" = getelementptr inbounds i8, ptr addrspace(11) %\"'ipc9.i\", i64 112, !dbg !67\n %\"new::Duplicated.i.sroa.18.0..sroa_idx35.i\" = getelementptr inbounds nuw i8, ptr addrspace(11) %17, i64 112, !dbg !67\n store double %\".fca.2.0.2.extract'ipev.i\", ptr addrspace(11) %\"new::Duplicated.i.sroa.18.0..sroa_idx35'ipg.i\", align 8, !dbg !67, !tbaa !41, !alias.scope !68, !noalias !71\n store double %.fca.2.0.2.extract.i, ptr addrspace(11) %\"new::Duplicated.i.sroa.18.0..sroa_idx35.i\", align 8, !dbg !67, !tbaa !41, !alias.scope !73, !noalias !74\n %\"new::Duplicated.i.sroa.19.0..sroa_idx37'ipg.i\" = getelementptr inbounds i8, ptr addrspace(11) %\"'ipc9.i\", i64 120, !dbg !67\n %\"new::Duplicated.i.sroa.19.0..sroa_idx37.i\" = getelementptr inbounds nuw i8, ptr addrspace(11) %17, i64 120, !dbg !67\n store double %\".fca.2.0.3.extract'ipev.i\", ptr addrspace(11) %\"new::Duplicated.i.sroa.19.0..sroa_idx37'ipg.i\", align 8, !dbg !67, !tbaa !41, !alias.scope !68, !noalias !71\n store double %.fca.2.0.3.extract.i, ptr addrspace(11) %\"new::Duplicated.i.sroa.19.0..sroa_idx37.i\", align 8, !dbg !67, !tbaa !41, !alias.scope !73, !noalias !74\n %18 = call ptr addrspace(10) (ptr, ptr addrspace(10), ...) @julia.call(ptr @ijl_apply_generic, ptr addrspace(10) @ejl_enz_runtime_generic_fwd, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695085149712 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695908277584 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695908277584 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_enz_val_1, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695618737712 to ptr) to ptr addrspace(10)), ptr addrspace(10) %15, ptr addrspace(10) %14, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695618785288 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695618768768 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) %\"box::Duplicated25.i.i\", ptr addrspace(10) %16), !dbg !67\n %19 = addrspacecast ptr addrspace(10) %18 to ptr addrspace(11), !dbg !67\n %20 = getelementptr inbounds [2 x ptr addrspace(10)], ptr addrspace(11) %19, i64 0, i64 1, !dbg !67\n %21 = load ptr addrspace(10), ptr addrspace(11) %20, align 8, !dbg !67\n %22 = load ptr addrspace(10), ptr addrspace(11) %19, align 8, !dbg !67\n %23 = call ptr addrspace(10) (ptr, ptr addrspace(10), ...) @julia.call(ptr @ijl_apply_generic, ptr addrspace(10) @ejl_enz_runtime_generic_fwd, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695121167120 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695908277584 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695908277584 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_enz_val_1, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695618737712 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695886842128 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) %22, ptr addrspace(10) %21, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695864039248 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing), !dbg !75\n %24 = addrspacecast ptr addrspace(10) %23 to ptr addrspace(11), !dbg !75\n %25 = getelementptr inbounds [2 x ptr addrspace(10)], ptr addrspace(11) %24, i64 0, i64 1, !dbg !75\n %26 = load ptr addrspace(10), ptr addrspace(11) %25, align 8, !dbg !75\n %27 = getelementptr inbounds [1 x ptr addrspace(10)], ptr %2, i64 0, i32 0\n %dstlocsi = getelementptr inbounds ptr addrspace(10), ptr %27, i64 0\n store ptr addrspace(10) %26, ptr %dstlocsi, align 8\n %28 = load [1 x ptr addrspace(10)], ptr %2, align 8\n ret [1 x ptr addrspace(10)] %28\n}\n\ndefine private void @julia_derivative_bundle_47216_inner.1([3 x [1 x [4 x double]]] \"enzyme_type\"=\"{[-1]:Float@double}\" \"enzymejl_parmtype\"=\"130694969317456\" \"enzymejl_parmtype_ref\"=\"0\" %0) local_unnamed_addr #6 !dbg !76 {\nentry:\n %newly_emitted_pgc_stack = call ptr @julia.get_pgcstack(), !dbg !77\n %.fca.0.0.0.extract = extractvalue [3 x [1 x [4 x double]]] %0, 0, 0, 0, !dbg !77, !enzyme_type !14, !enzymejl_source_type_Float64 !0, !enzymejl_byref_BITS_VALUE !0\n %.fca.0.0.1.extract = extractvalue [3 x [1 x [4 x double]]] %0, 0, 0, 1, !dbg !77, !enzyme_type !14, !enzymejl_source_type_Float64 !0, !enzymejl_byref_BITS_VALUE !0\n %.fca.0.0.2.extract = extractvalue [3 x [1 x [4 x double]]] %0, 0, 0, 2, !dbg !77, !enzyme_type !14, !enzymejl_source_type_Float64 !0, !enzymejl_byref_BITS_VALUE !0\n %.fca.0.0.3.extract = extractvalue [3 x [1 x [4 x double]]] %0, 0, 0, 3, !dbg !77, !enzyme_type !14, !enzymejl_source_type_Float64 !0, !enzymejl_byref_BITS_VALUE !0\n %.fca.1.0.0.extract = extractvalue [3 x [1 x [4 x double]]] %0, 1, 0, 0, !dbg !77, !enzyme_type !14, !enzymejl_source_type_Float64 !0, !enzymejl_byref_BITS_VALUE !0\n %.fca.1.0.1.extract = extractvalue [3 x [1 x [4 x double]]] %0, 1, 0, 1, !dbg !77, !enzyme_type !14, !enzymejl_source_type_Float64 !0, !enzymejl_byref_BITS_VALUE !0\n %.fca.1.0.2.extract = extractvalue [3 x [1 x [4 x double]]] %0, 1, 0, 2, !dbg !77, !enzyme_type !14, !enzymejl_source_type_Float64 !0, !enzymejl_byref_BITS_VALUE !0\n %.fca.1.0.3.extract = extractvalue [3 x [1 x [4 x double]]] %0, 1, 0, 3, !dbg !77, !enzyme_type !14, !enzymejl_source_type_Float64 !0, !enzymejl_byref_BITS_VALUE !0\n %.fca.2.0.0.extract = extractvalue [3 x [1 x [4 x double]]] %0, 2, 0, 0, !dbg !77, !enzyme_type !14, !enzymejl_source_type_Float64 !0, !enzymejl_byref_BITS_VALUE !0\n %.fca.2.0.1.extract = extractvalue [3 x [1 x [4 x double]]] %0, 2, 0, 1, !dbg !77, !enzyme_type !14, !enzymejl_source_type_Float64 !0, !enzymejl_byref_BITS_VALUE !0\n %.fca.2.0.2.extract = extractvalue [3 x [1 x [4 x double]]] %0, 2, 0, 2, !dbg !77, !enzyme_type !14, !enzymejl_source_type_Float64 !0, !enzymejl_byref_BITS_VALUE !0\n %.fca.2.0.3.extract = extractvalue [3 x [1 x [4 x double]]] %0, 2, 0, 3, !dbg !77, !enzyme_type !14, !enzymejl_source_type_Float64 !0, !enzymejl_byref_BITS_VALUE !0\n %pgcstack.i = call ptr @julia.get_pgcstack()\n %1 = call nonnull \"enzyme_type\"=\"{[-1]:Pointer}\" ptr addrspace(10) (ptr, ptr addrspace(10), ptr addrspace(10), ...) @julia.call2(ptr nonnull @ijl_invoke, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695899363856 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695860763760 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695618768768 to ptr) to ptr addrspace(10))) #11, !dbg !78\n %.not = icmp eq ptr addrspace(10) %1, addrspacecast (ptr inttoptr (i64 130695720003920 to ptr) to ptr addrspace(10)), !dbg !78\n %\"ejl_inserted\$_Core_Tuple_47223\$false\$130695198543056.ejl_inserted\$_Main__flux_47238\$false\$130695095857232\" = select i1 %.not, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695095857232 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695198543056 to ptr) to ptr addrspace(10)), !dbg !78\n %jl_f_apply_type_ret.i = call nonnull \"enzyme_inactive\" \"enzyme_type\"=\"{[-1]:Pointer}\" ptr addrspace(10) (ptr, ptr addrspace(10), ...) @julia.call(ptr nonnull @jl_f_apply_type, ptr addrspace(10) null, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695930797600 to ptr) to ptr addrspace(10)), ptr addrspace(10) %\"ejl_inserted\$_Core_Tuple_47223\$false\$130695198543056.ejl_inserted\$_Main__flux_47238\$false\$130695095857232\", ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695198543056 to ptr) to ptr addrspace(10))) #12, !dbg !86\n %2 = call nonnull \"enzyme_type\"=\"{[-1]:Pointer}\" ptr addrspace(10) (ptr, ptr addrspace(10), ptr addrspace(10), ...) @julia.call2(ptr nonnull @ijl_invoke, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695899363856 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695860763760 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695618768768 to ptr) to ptr addrspace(10))) #11, !dbg !87\n %current_task.i = getelementptr inbounds i8, ptr %pgcstack.i, i64 -152, !dbg !87\n %\"box::Duplicated.i\" = call noalias nonnull align 8 dereferenceable(128) \"enzyme_ReadOnlyOrThrow\" \"enzyme_type\"=\"{[-1]:Pointer, [-1,-1]:Float@double}\" ptr addrspace(10) @julia.gc_alloc_obj(ptr nonnull %current_task.i, i64 128, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695165959632 to ptr) to ptr addrspace(10))) #13, !dbg !87, !enzymejl_gc_alloc_rt !40\n %3 = addrspacecast ptr addrspace(10) %\"box::Duplicated.i\" to ptr addrspace(11), !dbg !87\n store double %.fca.0.0.0.extract, ptr addrspace(11) %3, align 8, !dbg !87, !tbaa !41, !alias.scope !93, !noalias !94\n %\"new::Duplicated.i.sroa.5.0..sroa_idx\" = getelementptr inbounds nuw i8, ptr addrspace(11) %3, i64 8, !dbg !87\n store double %.fca.0.0.1.extract, ptr addrspace(11) %\"new::Duplicated.i.sroa.5.0..sroa_idx\", align 8, !dbg !87, !tbaa !41, !alias.scope !93, !noalias !94\n %\"new::Duplicated.i.sroa.6.0..sroa_idx\" = getelementptr inbounds nuw i8, ptr addrspace(11) %3, i64 16, !dbg !87\n store double %.fca.0.0.2.extract, ptr addrspace(11) %\"new::Duplicated.i.sroa.6.0..sroa_idx\", align 8, !dbg !87, !tbaa !41, !alias.scope !93, !noalias !94\n %\"new::Duplicated.i.sroa.7.0..sroa_idx\" = getelementptr inbounds nuw i8, ptr addrspace(11) %3, i64 24, !dbg !87\n store double %.fca.0.0.3.extract, ptr addrspace(11) %\"new::Duplicated.i.sroa.7.0..sroa_idx\", align 8, !dbg !87, !tbaa !41, !alias.scope !93, !noalias !94\n %\"new::Duplicated.i.sroa.8.0..sroa_idx\" = getelementptr inbounds nuw i8, ptr addrspace(11) %3, i64 32, !dbg !87\n store double %.fca.1.0.0.extract, ptr addrspace(11) %\"new::Duplicated.i.sroa.8.0..sroa_idx\", align 8, !dbg !87, !tbaa !41, !alias.scope !93, !noalias !94\n %\"new::Duplicated.i.sroa.9.0..sroa_idx\" = getelementptr inbounds nuw i8, ptr addrspace(11) %3, i64 40, !dbg !87\n store double %.fca.1.0.1.extract, ptr addrspace(11) %\"new::Duplicated.i.sroa.9.0..sroa_idx\", align 8, !dbg !87, !tbaa !41, !alias.scope !93, !noalias !94\n %\"new::Duplicated.i.sroa.10.0..sroa_idx\" = getelementptr inbounds nuw i8, ptr addrspace(11) %3, i64 48, !dbg !87\n store double %.fca.1.0.2.extract, ptr addrspace(11) %\"new::Duplicated.i.sroa.10.0..sroa_idx\", align 8, !dbg !87, !tbaa !41, !alias.scope !93, !noalias !94\n %\"new::Duplicated.i.sroa.11.0..sroa_idx\" = getelementptr inbounds nuw i8, ptr addrspace(11) %3, i64 56, !dbg !87\n store double %.fca.1.0.3.extract, ptr addrspace(11) %\"new::Duplicated.i.sroa.11.0..sroa_idx\", align 8, !dbg !87, !tbaa !41, !alias.scope !93, !noalias !94\n %\"new::Duplicated.i.sroa.12.0..sroa_idx\" = getelementptr inbounds nuw i8, ptr addrspace(11) %3, i64 64, !dbg !87\n store double %.fca.1.0.0.extract, ptr addrspace(11) %\"new::Duplicated.i.sroa.12.0..sroa_idx\", align 8, !dbg !87, !tbaa !41, !alias.scope !93, !noalias !94\n %\"new::Duplicated.i.sroa.13.0..sroa_idx\" = getelementptr inbounds nuw i8, ptr addrspace(11) %3, i64 72, !dbg !87\n store double %.fca.1.0.1.extract, ptr addrspace(11) %\"new::Duplicated.i.sroa.13.0..sroa_idx\", align 8, !dbg !87, !tbaa !41, !alias.scope !93, !noalias !94\n %\"new::Duplicated.i.sroa.14.0..sroa_idx\" = getelementptr inbounds nuw i8, ptr addrspace(11) %3, i64 80, !dbg !87\n store double %.fca.1.0.2.extract, ptr addrspace(11) %\"new::Duplicated.i.sroa.14.0..sroa_idx\", align 8, !dbg !87, !tbaa !41, !alias.scope !93, !noalias !94\n %\"new::Duplicated.i.sroa.15.0..sroa_idx\" = getelementptr inbounds nuw i8, ptr addrspace(11) %3, i64 88, !dbg !87\n store double %.fca.1.0.3.extract, ptr addrspace(11) %\"new::Duplicated.i.sroa.15.0..sroa_idx\", align 8, !dbg !87, !tbaa !41, !alias.scope !93, !noalias !94\n %\"new::Duplicated.i.sroa.16.0..sroa_idx\" = getelementptr inbounds nuw i8, ptr addrspace(11) %3, i64 96, !dbg !87\n store double %.fca.2.0.0.extract, ptr addrspace(11) %\"new::Duplicated.i.sroa.16.0..sroa_idx\", align 8, !dbg !87, !tbaa !41, !alias.scope !93, !noalias !94\n %\"new::Duplicated.i.sroa.17.0..sroa_idx\" = getelementptr inbounds nuw i8, ptr addrspace(11) %3, i64 104, !dbg !87\n store double %.fca.2.0.1.extract, ptr addrspace(11) %\"new::Duplicated.i.sroa.17.0..sroa_idx\", align 8, !dbg !87, !tbaa !41, !alias.scope !93, !noalias !94\n %\"new::Duplicated.i.sroa.18.0..sroa_idx\" = getelementptr inbounds nuw i8, ptr addrspace(11) %3, i64 112, !dbg !87\n store double %.fca.2.0.2.extract, ptr addrspace(11) %\"new::Duplicated.i.sroa.18.0..sroa_idx\", align 8, !dbg !87, !tbaa !41, !alias.scope !93, !noalias !94\n %\"new::Duplicated.i.sroa.19.0..sroa_idx\" = getelementptr inbounds nuw i8, ptr addrspace(11) %3, i64 120, !dbg !87\n store double %.fca.2.0.3.extract, ptr addrspace(11) %\"new::Duplicated.i.sroa.19.0..sroa_idx\", align 8, !dbg !87, !tbaa !41, !alias.scope !93, !noalias !94\n %4 = call nonnull \"enzyme_type\"=\"{[-1]:Pointer}\" ptr addrspace(10) (ptr, ptr addrspace(10), ptr addrspace(10), ...) @julia.call2(ptr nonnull @ijl_invoke, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695899363856 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695860763760 to ptr) to ptr addrspace(10)), ptr addrspace(10) nonnull %\"box::Duplicated.i\") #11, !dbg !87\n %jl_f_apply_type_ret9.i = call nonnull \"enzyme_inactive\" \"enzyme_type\"=\"{[-1]:Pointer}\" ptr addrspace(10) (ptr, ptr addrspace(10), ...) @julia.call(ptr nonnull @jl_f_apply_type, ptr addrspace(10) null, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695930797600 to ptr) to ptr addrspace(10)), ptr addrspace(10) nonnull %2, ptr addrspace(10) nonnull %4) #12, !dbg !97\n %5 = call nonnull \"enzyme_type\"=\"{[-1]:Pointer}\" ptr addrspace(10) (ptr, ptr addrspace(10), ptr addrspace(10), ...) @julia.call2(ptr nonnull @ijl_invoke, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695899363856 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695860763760 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695618768768 to ptr) to ptr addrspace(10))) #11, !dbg !98\n %.not39 = icmp eq ptr addrspace(10) %5, addrspacecast (ptr inttoptr (i64 130695720003920 to ptr) to ptr addrspace(10)), !dbg !98\n %value_phi14.i = select i1 %.not39, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695095857232 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695198543056 to ptr) to ptr addrspace(10)), !dbg !98\n %jl_f_apply_type_ret17.i = call nonnull \"enzyme_inactive\" \"enzyme_type\"=\"{[-1]:Pointer}\" ptr addrspace(10) (ptr, ptr addrspace(10), ...) @julia.call(ptr nonnull @jl_f_apply_type, ptr addrspace(10) null, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695930797600 to ptr) to ptr addrspace(10)), ptr addrspace(10) %value_phi14.i, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695198543056 to ptr) to ptr addrspace(10))) #12, !dbg !103\n %6 = call nonnull \"enzyme_type\"=\"{[-1]:Pointer}\" ptr addrspace(10) (ptr, ptr addrspace(10), ...) @julia.call(ptr nonnull @ijl_apply_generic, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695560688096 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695876761728 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695740856528 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695179751504 to ptr) to ptr addrspace(10)), ptr addrspace(10) nonnull %jl_f_apply_type_ret9.i, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695618718864 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695857041792 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695618743472 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695908277584 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695908277584 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 914660384 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695908276976 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695908277584 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695908277584 to ptr) to ptr addrspace(10))) #11, !dbg !104\n %\"box::Duplicated25.i\" = call noalias nonnull align 8 dereferenceable(128) \"enzyme_ReadOnlyOrThrow\" \"enzyme_type\"=\"{[-1]:Pointer, [-1,-1]:Float@double}\" ptr addrspace(10) @julia.gc_alloc_obj(ptr nonnull %current_task.i, i64 128, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695165959632 to ptr) to ptr addrspace(10))) #13, !dbg !105, !enzymejl_gc_alloc_rt !40\n %7 = addrspacecast ptr addrspace(10) %\"box::Duplicated25.i\" to ptr addrspace(11), !dbg !105\n store double %.fca.0.0.0.extract, ptr addrspace(11) %7, align 8, !dbg !105, !tbaa !41, !alias.scope !93, !noalias !94\n %\"new::Duplicated.i.sroa.5.0..sroa_idx9\" = getelementptr inbounds nuw i8, ptr addrspace(11) %7, i64 8, !dbg !105\n store double %.fca.0.0.1.extract, ptr addrspace(11) %\"new::Duplicated.i.sroa.5.0..sroa_idx9\", align 8, !dbg !105, !tbaa !41, !alias.scope !93, !noalias !94\n %\"new::Duplicated.i.sroa.6.0..sroa_idx11\" = getelementptr inbounds nuw i8, ptr addrspace(11) %7, i64 16, !dbg !105\n store double %.fca.0.0.2.extract, ptr addrspace(11) %\"new::Duplicated.i.sroa.6.0..sroa_idx11\", align 8, !dbg !105, !tbaa !41, !alias.scope !93, !noalias !94\n %\"new::Duplicated.i.sroa.7.0..sroa_idx13\" = getelementptr inbounds nuw i8, ptr addrspace(11) %7, i64 24, !dbg !105\n store double %.fca.0.0.3.extract, ptr addrspace(11) %\"new::Duplicated.i.sroa.7.0..sroa_idx13\", align 8, !dbg !105, !tbaa !41, !alias.scope !93, !noalias !94\n %\"new::Duplicated.i.sroa.8.0..sroa_idx15\" = getelementptr inbounds nuw i8, ptr addrspace(11) %7, i64 32, !dbg !105\n store double %.fca.1.0.0.extract, ptr addrspace(11) %\"new::Duplicated.i.sroa.8.0..sroa_idx15\", align 8, !dbg !105, !tbaa !41, !alias.scope !93, !noalias !94\n %\"new::Duplicated.i.sroa.9.0..sroa_idx17\" = getelementptr inbounds nuw i8, ptr addrspace(11) %7, i64 40, !dbg !105\n store double %.fca.1.0.1.extract, ptr addrspace(11) %\"new::Duplicated.i.sroa.9.0..sroa_idx17\", align 8, !dbg !105, !tbaa !41, !alias.scope !93, !noalias !94\n %\"new::Duplicated.i.sroa.10.0..sroa_idx19\" = getelementptr inbounds nuw i8, ptr addrspace(11) %7, i64 48, !dbg !105\n store double %.fca.1.0.2.extract, ptr addrspace(11) %\"new::Duplicated.i.sroa.10.0..sroa_idx19\", align 8, !dbg !105, !tbaa !41, !alias.scope !93, !noalias !94\n %\"new::Duplicated.i.sroa.11.0..sroa_idx21\" = getelementptr inbounds nuw i8, ptr addrspace(11) %7, i64 56, !dbg !105\n store double %.fca.1.0.3.extract, ptr addrspace(11) %\"new::Duplicated.i.sroa.11.0..sroa_idx21\", align 8, !dbg !105, !tbaa !41, !alias.scope !93, !noalias !94\n %\"new::Duplicated.i.sroa.12.0..sroa_idx23\" = getelementptr inbounds nuw i8, ptr addrspace(11) %7, i64 64, !dbg !105\n store double %.fca.1.0.0.extract, ptr addrspace(11) %\"new::Duplicated.i.sroa.12.0..sroa_idx23\", align 8, !dbg !105, !tbaa !41, !alias.scope !93, !noalias !94\n %\"new::Duplicated.i.sroa.13.0..sroa_idx25\" = getelementptr inbounds nuw i8, ptr addrspace(11) %7, i64 72, !dbg !105\n store double %.fca.1.0.1.extract, ptr addrspace(11) %\"new::Duplicated.i.sroa.13.0..sroa_idx25\", align 8, !dbg !105, !tbaa !41, !alias.scope !93, !noalias !94\n %\"new::Duplicated.i.sroa.14.0..sroa_idx27\" = getelementptr inbounds nuw i8, ptr addrspace(11) %7, i64 80, !dbg !105\n store double %.fca.1.0.2.extract, ptr addrspace(11) %\"new::Duplicated.i.sroa.14.0..sroa_idx27\", align 8, !dbg !105, !tbaa !41, !alias.scope !93, !noalias !94\n %\"new::Duplicated.i.sroa.15.0..sroa_idx29\" = getelementptr inbounds nuw i8, ptr addrspace(11) %7, i64 88, !dbg !105\n store double %.fca.1.0.3.extract, ptr addrspace(11) %\"new::Duplicated.i.sroa.15.0..sroa_idx29\", align 8, !dbg !105, !tbaa !41, !alias.scope !93, !noalias !94\n %\"new::Duplicated.i.sroa.16.0..sroa_idx31\" = getelementptr inbounds nuw i8, ptr addrspace(11) %7, i64 96, !dbg !105\n store double %.fca.2.0.0.extract, ptr addrspace(11) %\"new::Duplicated.i.sroa.16.0..sroa_idx31\", align 8, !dbg !105, !tbaa !41, !alias.scope !93, !noalias !94\n %\"new::Duplicated.i.sroa.17.0..sroa_idx33\" = getelementptr inbounds nuw i8, ptr addrspace(11) %7, i64 104, !dbg !105\n store double %.fca.2.0.1.extract, ptr addrspace(11) %\"new::Duplicated.i.sroa.17.0..sroa_idx33\", align 8, !dbg !105, !tbaa !41, !alias.scope !93, !noalias !94\n %\"new::Duplicated.i.sroa.18.0..sroa_idx35\" = getelementptr inbounds nuw i8, ptr addrspace(11) %7, i64 112, !dbg !105\n store double %.fca.2.0.2.extract, ptr addrspace(11) %\"new::Duplicated.i.sroa.18.0..sroa_idx35\", align 8, !dbg !105, !tbaa !41, !alias.scope !93, !noalias !94\n %\"new::Duplicated.i.sroa.19.0..sroa_idx37\" = getelementptr inbounds nuw i8, ptr addrspace(11) %7, i64 120, !dbg !105\n store double %.fca.2.0.3.extract, ptr addrspace(11) %\"new::Duplicated.i.sroa.19.0..sroa_idx37\", align 8, !dbg !105, !tbaa !41, !alias.scope !93, !noalias !94\n %8 = call nonnull \"enzyme_type\"=\"{[-1]:Pointer}\" ptr addrspace(10) (ptr, ptr addrspace(10), ...) @julia.call(ptr nonnull @ijl_apply_generic, ptr addrspace(10) nonnull %6, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695618785288 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695618768768 to ptr) to ptr addrspace(10)), ptr addrspace(10) nonnull %\"box::Duplicated25.i\") #11, !dbg !105\n %9 = call nonnull \"enzyme_type\"=\"{[-1]:Pointer}\" ptr addrspace(10) (ptr, ptr addrspace(10), ...) @julia.call(ptr nonnull @ijl_apply_generic, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695886842128 to ptr) to ptr addrspace(10)), ptr addrspace(10) nonnull %8, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695864039248 to ptr) to ptr addrspace(10))) #11, !dbg !106\n ret void, !dbg !77\n}\n\nattributes #0 = { nofree nosync nounwind willreturn memory(none) \"enzyme_inactive\" \"enzyme_no_escaping_allocation\" \"enzyme_shouldrecompute\" \"enzymejl_world\"=\"40013\" }\nattributes #1 = { nofree \"enzymejl_world\"=\"40013\" }\nattributes #2 = { nofree \"enzyme_inactive\" \"enzyme_no_escaping_allocation\" \"enzymejl_world\"=\"40013\" }\nattributes #3 = { mustprogress nofree nounwind willreturn allockind(\"alloc,uninitialized\") allocsize(1) memory(inaccessiblemem: readwrite) \"enzyme_ReadOnlyOrThrow\" \"enzyme_no_escaping_allocation\" \"enzymejl_world\"=\"40013\" }\nattributes #4 = { nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }\nattributes #5 = { alwaysinline \"enzymejl_world\"=\"40013\" }\nattributes #6 = { \"enzyme_retremove\" \"enzyme_ta_norecur\" \"enzymejl_mi\"=\"130695171816464\" \"enzymejl_rt\"=\"130695930797376\" \"enzymejl_world\"=\"40013\" }\nattributes #7 = { mustprogress willreturn }\nattributes #8 = { mustprogress nofree willreturn }\nattributes #9 = { mustprogress nofree willreturn \"enzyme_inactive\" \"enzyme_no_escaping_allocation\" }\nattributes #10 = { mustprogress nounwind willreturn allockind(\"alloc,uninitialized\") allocsize(1) memory(inaccessiblemem: readwrite) \"enzyme_no_escaping_allocation\" }\nattributes #11 = { nofree }\nattributes #12 = { nofree \"enzyme_inactive\" \"enzyme_no_escaping_allocation\" }\nattributes #13 = { nounwind willreturn allockind(\"alloc,uninitialized\") allocsize(1) memory(inaccessiblemem: readwrite) \"enzyme_no_escaping_allocation\" }\n\n!llvm.module.flags = !{!1, !2, !3, !4}\n!llvm.dbg.cu = !{!5, !7}\n\n!0 = !{}\n!1 = !{i32 2, !\"Dwarf Version\", i32 4}\n!2 = !{i32 2, !\"Debug Info Version\", i32 3}\n!3 = !{i32 1, !\"stack-protector-guard\", !\"\"}\n!4 = !{i32 1, !\"override-stack-alignment\", i32 0}\n!5 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !6, producer: \"julia\", isOptimized: true, runtimeVersion: 0, emissionKind: LineTablesOnly, nameTableKind: None)\n!6 = !DIFile(filename: \"julia\", directory: \".\")\n!7 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !6, producer: \"julia\", isOptimized: true, runtimeVersion: 0, emissionKind: LineTablesOnly, nameTableKind: None)\n!8 = distinct !DISubprogram(name: \"fwddiffejulia_derivative_bundle_47216_inner_1wrap\", linkageName: \"fwddiffejulia_derivative_bundle_47216_inner_1wrap\", scope: null, file: !9, type: !10, spFlags: DISPFlagLocalToUnit | DISPFlagDefinition | DISPFlagOptimized, unit: !7)\n!9 = !DIFile(filename: \"/home/pkgeval/.julia/packages/TowerOfEnzyme/wUeMv/src/TowerOfEnzyme.jl\", directory: \".\")\n!10 = !DISubroutineType(types: !0)\n!11 = !DILocation(line: 0, scope: !12, inlinedAt: !13)\n!12 = distinct !DISubprogram(name: \"derivative_bundle\", linkageName: \"julia_derivative_bundle_47216\", scope: null, file: !9, line: 53, type: !10, scopeLine: 53, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !7)\n!13 = distinct !DILocation(line: 0, scope: !8)\n!14 = !{!\"Unknown\", i32 -1, !15}\n!15 = !{!\"Float@double\"}\n!16 = !DILocation(line: 181, scope: !17, inlinedAt: !19)\n!17 = distinct !DISubprogram(name: \"#vaEltypeof##0;\", linkageName: \"#vaEltypeof##0\", scope: !18, file: !18, type: !10, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !7)\n!18 = !DIFile(filename: \"/home/pkgeval/.julia/packages/Enzyme/2lHFw/src/Enzyme.jl\", directory: \".\")\n!19 = distinct !DILocation(line: 68, scope: !20, inlinedAt: !22)\n!20 = distinct !DISubprogram(name: \"macro expansion;\", linkageName: \"macro expansion\", scope: !21, file: !21, type: !10, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !7)\n!21 = !DIFile(filename: \"ntuple.jl\", directory: \".\")\n!22 = distinct !DILocation(line: 65, scope: !23, inlinedAt: !24)\n!23 = distinct !DISubprogram(name: \"ntuple;\", linkageName: \"ntuple\", scope: !21, file: !21, type: !10, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !7)\n!24 = distinct !DILocation(line: 178, scope: !25, inlinedAt: !26)\n!25 = distinct !DISubprogram(name: \"vaEltypeof;\", linkageName: \"vaEltypeof\", scope: !18, file: !18, type: !10, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !7)\n!26 = distinct !DILocation(line: 555, scope: !27, inlinedAt: !28)\n!27 = distinct !DISubprogram(name: \"autodiff;\", linkageName: \"autodiff\", scope: !18, file: !18, type: !10, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !7)\n!28 = distinct !DILocation(line: 534, scope: !27, inlinedAt: !29)\n!29 = distinct !DILocation(line: 59, scope: !12, inlinedAt: !30)\n!30 = distinct !DILocation(line: 0, scope: !12, inlinedAt: !13)\n!31 = !DILocation(line: 178, scope: !25, inlinedAt: !26)\n!32 = !DILocation(line: 172, scope: !33, inlinedAt: !34)\n!33 = distinct !DISubprogram(name: \"#vaTypeof##0;\", linkageName: \"#vaTypeof##0\", scope: !18, file: !18, type: !10, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !7)\n!34 = distinct !DILocation(line: 68, scope: !20, inlinedAt: !35)\n!35 = distinct !DILocation(line: 65, scope: !23, inlinedAt: !36)\n!36 = distinct !DILocation(line: 169, scope: !37, inlinedAt: !38)\n!37 = distinct !DISubprogram(name: \"vaTypeof;\", linkageName: \"vaTypeof\", scope: !18, file: !18, type: !10, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !7)\n!38 = distinct !DILocation(line: 617, scope: !27, inlinedAt: !39)\n!39 = distinct !DILocation(line: 562, scope: !27, inlinedAt: !28)\n!40 = !{!\"130695165959632\"}\n!41 = !{!42, !42, i64 0}\n!42 = !{!\"jtbaa\", !43, i64 0}\n!43 = !{!\"jtbaa\"}\n!44 = !{!45, !47, !49}\n!45 = distinct !{!45, !46, !\"shadow_0\"}\n!46 = distinct !{!46, !\" diff: %box::Duplicated.i\"}\n!47 = !{!\"jnoalias_stack\", !48}\n!48 = !{!\"jnoalias\"}\n!49 = !{!\"jnoalias_data\", !48}\n!50 = !{!51, !52, !54, !55, !56}\n!51 = distinct !{!51, !46, !\"primal\"}\n!52 = distinct !{!52, !53, !\"na_addr13\"}\n!53 = distinct !{!53, !\"addr13\"}\n!54 = !{!\"jnoalias_gcframe\", !48}\n!55 = !{!\"jnoalias_typemd\", !48}\n!56 = !{!\"jnoalias_const\", !48}\n!57 = !{!51, !47, !49}\n!58 = !{!45, !52, !54, !55, !56}\n!59 = !DILocation(line: 169, scope: !37, inlinedAt: !38)\n!60 = !DILocation(line: 181, scope: !17, inlinedAt: !61)\n!61 = distinct !DILocation(line: 68, scope: !20, inlinedAt: !62)\n!62 = distinct !DILocation(line: 65, scope: !23, inlinedAt: !63)\n!63 = distinct !DILocation(line: 178, scope: !25, inlinedAt: !64)\n!64 = distinct !DILocation(line: 650, scope: !27, inlinedAt: !39)\n!65 = !DILocation(line: 178, scope: !25, inlinedAt: !64)\n!66 = !DILocation(line: 658, scope: !27, inlinedAt: !39)\n!67 = !DILocation(line: 673, scope: !27, inlinedAt: !39)\n!68 = !{!69, !47, !49}\n!69 = distinct !{!69, !70, !\"shadow_0\"}\n!70 = distinct !{!70, !\" diff: %box::Duplicated25.i\"}\n!71 = !{!72, !52, !54, !55, !56}\n!72 = distinct !{!72, !70, !\"primal\"}\n!73 = !{!72, !47, !49}\n!74 = !{!69, !52, !54, !55, !56}\n!75 = !DILocation(line: 59, scope: !12, inlinedAt: !30)\n!76 = distinct !DISubprogram(name: \"derivative_bundle\", linkageName: \"julia_derivative_bundle_47216\", scope: null, file: !9, line: 53, type: !10, scopeLine: 53, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !7)\n!77 = !DILocation(line: 0, scope: !76)\n!78 = !DILocation(line: 181, scope: !17, inlinedAt: !79)\n!79 = distinct !DILocation(line: 68, scope: !20, inlinedAt: !80)\n!80 = distinct !DILocation(line: 65, scope: !23, inlinedAt: !81)\n!81 = distinct !DILocation(line: 178, scope: !25, inlinedAt: !82)\n!82 = distinct !DILocation(line: 555, scope: !27, inlinedAt: !83)\n!83 = distinct !DILocation(line: 534, scope: !27, inlinedAt: !84)\n!84 = distinct !DILocation(line: 59, scope: !76, inlinedAt: !85)\n!85 = distinct !DILocation(line: 0, scope: !76)\n!86 = !DILocation(line: 178, scope: !25, inlinedAt: !82)\n!87 = !DILocation(line: 172, scope: !33, inlinedAt: !88)\n!88 = distinct !DILocation(line: 68, scope: !20, inlinedAt: !89)\n!89 = distinct !DILocation(line: 65, scope: !23, inlinedAt: !90)\n!90 = distinct !DILocation(line: 169, scope: !37, inlinedAt: !91)\n!91 = distinct !DILocation(line: 617, scope: !27, inlinedAt: !92)\n!92 = distinct !DILocation(line: 562, scope: !27, inlinedAt: !83)\n!93 = !{!47, !49}\n!94 = !{!95, !54, !55, !56}\n!95 = distinct !{!95, !96, !\"na_addr13\"}\n!96 = distinct !{!96, !\"addr13\"}\n!97 = !DILocation(line: 169, scope: !37, inlinedAt: !91)\n!98 = !DILocation(line: 181, scope: !17, inlinedAt: !99)\n!99 = distinct !DILocation(line: 68, scope: !20, inlinedAt: !100)\n!100 = distinct !DILocation(line: 65, scope: !23, inlinedAt: !101)\n!101 = distinct !DILocation(line: 178, scope: !25, inlinedAt: !102)\n!102 = distinct !DILocation(line: 650, scope: !27, inlinedAt: !92)\n!103 = !DILocation(line: 178, scope: !25, inlinedAt: !102)\n!104 = !DILocation(line: 658, scope: !27, inlinedAt: !92)\n!105 = !DILocation(line: 673, scope: !27, inlinedAt: !92)\n!106 = !DILocation(line: 59, scope: !76, inlinedAt: !85)\n"), :fwddiffejulia_derivative_bundle_47216_inner_1wrap)}, EnzymeCore.Const{typeof(derivative_bundle)}, EnzymeCore.Duplicated{Any}, Tuple{EnzymeCore.Const{typeof(flux)}, EnzymeCore.Duplicated{Tuple{SVector{4, Float64}, SVector{4, Float64}, SVector{4, Float64}}}}, 1, false}, ::Enzyme.Compiler.ForwardModeThunk{Val{(Symbol("; ModuleID = 'start'\nsource_filename = \"start\"\ntarget datalayout = \"e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-i128:128-f80:128-n8:16:32:64-S128-ni:10:11:12:13\"\ntarget triple = \"x86_64-linux-gnu\"\n\n@ejl_jl_nothing = external addrspace(10) global {}, !enzyme_ta_norecur !0, !enzyme_inactive !0\n@ejl_jl_false = external addrspace(10) global {}, !enzyme_ta_norecur !0, !enzyme_inactive !0\n@ejl_jl_true = external addrspace(10) global {}, !enzyme_ta_norecur !0, !enzyme_inactive !0\n@ejl_enz_val_1 = external addrspace(10) global {}, !enzyme_ta_norecur !0, !enzyme_inactive !0\n@ejl_enz_runtime_generic_fwd = external addrspace(10) global {}, !enzyme_ta_norecur !0, !enzyme_inactive !0\n\n; Function Attrs: nofree nosync nounwind willreturn memory(none)\ndeclare ptr @julia.get_pgcstack() local_unnamed_addr #0\n\n; Function Attrs: nofree\ndeclare nonnull ptr addrspace(10) @ijl_invoke(ptr addrspace(10), ptr noalias nocapture noundef readonly, i32, ptr addrspace(10)) #1\n\n; Function Attrs: nofree\ndeclare nonnull ptr addrspace(10) @julia.call2(ptr, ptr addrspace(10), ptr addrspace(10), ...) local_unnamed_addr #1\n\n; Function Attrs: nofree\ndeclare nonnull ptr addrspace(10) @jl_f_apply_type(ptr addrspace(10), ptr noalias nocapture noundef readonly, i32) #2\n\n; Function Attrs: nofree\ndeclare nonnull ptr addrspace(10) @julia.call(ptr, ptr addrspace(10), ...) local_unnamed_addr #1\n\n; Function Attrs: mustprogress nofree nounwind willreturn allockind(\"alloc,uninitialized\") allocsize(1) memory(inaccessiblemem: readwrite)\ndeclare noalias nonnull ptr addrspace(10) @julia.gc_alloc_obj(ptr, i64, ptr addrspace(10)) local_unnamed_addr #3\n\n; Function Attrs: nofree\ndeclare nonnull ptr addrspace(10) @ijl_apply_generic(ptr addrspace(10), ptr noalias nocapture noundef readonly, i32) #1\n\n; Function Attrs: nocallback nofree nosync nounwind willreturn memory(argmem: readwrite)\ndeclare void @llvm.lifetime.start.p0(i64 immarg, ptr nocapture) #4\n\n; Function Attrs: nocallback nofree nosync nounwind willreturn memory(argmem: readwrite)\ndeclare void @llvm.lifetime.end.p0(i64 immarg, ptr nocapture) #4\n\n; Function Attrs: alwaysinline\ndefine [1 x ptr addrspace(10)] @fwddiffejulia_derivative_bundle_47216_inner_1wrap([3 x [1 x [4 x double]]] %0, [3 x [1 x [4 x double]]] %1) #5 !dbg !8 {\nentry:\n %newly_emitted_pgc_stack = call ptr @julia.get_pgcstack()\n %2 = alloca [1 x ptr addrspace(10)], align 8\n %.fca.0.0.0.extract.i = extractvalue [3 x [1 x [4 x double]]] %0, 0, 0, 0, !dbg !11, !enzyme_type !14, !enzymejl_source_type_Float64 !0, !enzymejl_byref_BITS_VALUE !0\n %\".fca.0.0.0.extract'ipev.i\" = extractvalue [3 x [1 x [4 x double]]] %1, 0, 0, 0, !dbg !11\n %.fca.0.0.1.extract.i = extractvalue [3 x [1 x [4 x double]]] %0, 0, 0, 1, !dbg !11, !enzyme_type !14, !enzymejl_source_type_Float64 !0, !enzymejl_byref_BITS_VALUE !0\n %\".fca.0.0.1.extract'ipev.i\" = extractvalue [3 x [1 x [4 x double]]] %1, 0, 0, 1, !dbg !11\n %.fca.0.0.2.extract.i = extractvalue [3 x [1 x [4 x double]]] %0, 0, 0, 2, !dbg !11, !enzyme_type !14, !enzymejl_source_type_Float64 !0, !enzymejl_byref_BITS_VALUE !0\n %\".fca.0.0.2.extract'ipev.i\" = extractvalue [3 x [1 x [4 x double]]] %1, 0, 0, 2, !dbg !11\n %.fca.0.0.3.extract.i = extractvalue [3 x [1 x [4 x double]]] %0, 0, 0, 3, !dbg !11, !enzyme_type !14, !enzymejl_source_type_Float64 !0, !enzymejl_byref_BITS_VALUE !0\n %\".fca.0.0.3.extract'ipev.i\" = extractvalue [3 x [1 x [4 x double]]] %1, 0, 0, 3, !dbg !11\n %.fca.1.0.0.extract.i = extractvalue [3 x [1 x [4 x double]]] %0, 1, 0, 0, !dbg !11, !enzyme_type !14, !enzymejl_source_type_Float64 !0, !enzymejl_byref_BITS_VALUE !0\n %\".fca.1.0.0.extract'ipev.i\" = extractvalue [3 x [1 x [4 x double]]] %1, 1, 0, 0, !dbg !11\n %.fca.1.0.1.extract.i = extractvalue [3 x [1 x [4 x double]]] %0, 1, 0, 1, !dbg !11, !enzyme_type !14, !enzymejl_source_type_Float64 !0, !enzymejl_byref_BITS_VALUE !0\n %\".fca.1.0.1.extract'ipev.i\" = extractvalue [3 x [1 x [4 x double]]] %1, 1, 0, 1, !dbg !11\n %.fca.1.0.2.extract.i = extractvalue [3 x [1 x [4 x double]]] %0, 1, 0, 2, !dbg !11, !enzyme_type !14, !enzymejl_source_type_Float64 !0, !enzymejl_byref_BITS_VALUE !0\n %\".fca.1.0.2.extract'ipev.i\" = extractvalue [3 x [1 x [4 x double]]] %1, 1, 0, 2, !dbg !11\n %.fca.1.0.3.extract.i = extractvalue [3 x [1 x [4 x double]]] %0, 1, 0, 3, !dbg !11, !enzyme_type !14, !enzymejl_source_type_Float64 !0, !enzymejl_byref_BITS_VALUE !0\n %\".fca.1.0.3.extract'ipev.i\" = extractvalue [3 x [1 x [4 x double]]] %1, 1, 0, 3, !dbg !11\n %.fca.2.0.0.extract.i = extractvalue [3 x [1 x [4 x double]]] %0, 2, 0, 0, !dbg !11, !enzyme_type !14, !enzymejl_source_type_Float64 !0, !enzymejl_byref_BITS_VALUE !0\n %\".fca.2.0.0.extract'ipev.i\" = extractvalue [3 x [1 x [4 x double]]] %1, 2, 0, 0, !dbg !11\n %.fca.2.0.1.extract.i = extractvalue [3 x [1 x [4 x double]]] %0, 2, 0, 1, !dbg !11, !enzyme_type !14, !enzymejl_source_type_Float64 !0, !enzymejl_byref_BITS_VALUE !0\n %\".fca.2.0.1.extract'ipev.i\" = extractvalue [3 x [1 x [4 x double]]] %1, 2, 0, 1, !dbg !11\n %.fca.2.0.2.extract.i = extractvalue [3 x [1 x [4 x double]]] %0, 2, 0, 2, !dbg !11, !enzyme_type !14, !enzymejl_source_type_Float64 !0, !enzymejl_byref_BITS_VALUE !0\n %\".fca.2.0.2.extract'ipev.i\" = extractvalue [3 x [1 x [4 x double]]] %1, 2, 0, 2, !dbg !11\n %.fca.2.0.3.extract.i = extractvalue [3 x [1 x [4 x double]]] %0, 2, 0, 3, !dbg !11, !enzyme_type !14, !enzymejl_source_type_Float64 !0, !enzymejl_byref_BITS_VALUE !0\n %\".fca.2.0.3.extract'ipev.i\" = extractvalue [3 x [1 x [4 x double]]] %1, 2, 0, 3\n %pgcstack.i.i = call ptr @julia.get_pgcstack() #7\n %3 = call nonnull \"enzyme_type\"=\"{[-1]:Pointer}\" ptr addrspace(10) (ptr, ptr addrspace(10), ptr addrspace(10), ...) @julia.call2(ptr nonnull @ijl_invoke, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695899363856 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695860763760 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695618768768 to ptr) to ptr addrspace(10))) #8, !dbg !16\n %.not.i = icmp eq ptr addrspace(10) %3, addrspacecast (ptr inttoptr (i64 130695720003920 to ptr) to ptr addrspace(10)), !dbg !16\n %\"ejl_inserted\$_Core_Tuple_47223\$false\$130695198543056.ejl_inserted\$_Main__flux_47238\$false\$130695095857232.i\" = select i1 %.not.i, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695095857232 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695198543056 to ptr) to ptr addrspace(10)), !dbg !16\n %jl_f_apply_type_ret.i.i = call nonnull \"enzyme_inactive\" \"enzyme_type\"=\"{[-1]:Pointer}\" ptr addrspace(10) (ptr, ptr addrspace(10), ...) @julia.call(ptr nonnull @jl_f_apply_type, ptr addrspace(10) null, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695930797600 to ptr) to ptr addrspace(10)), ptr addrspace(10) %\"ejl_inserted\$_Core_Tuple_47223\$false\$130695198543056.ejl_inserted\$_Main__flux_47238\$false\$130695095857232.i\", ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695198543056 to ptr) to ptr addrspace(10))) #9, !dbg !31\n %4 = call nonnull \"enzyme_type\"=\"{[-1]:Pointer}\" ptr addrspace(10) (ptr, ptr addrspace(10), ptr addrspace(10), ...) @julia.call2(ptr nonnull @ijl_invoke, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695899363856 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695860763760 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695618768768 to ptr) to ptr addrspace(10))) #8, !dbg !32\n %current_task.i.i = getelementptr inbounds i8, ptr %pgcstack.i.i, i64 -152, !dbg !32\n %\"box::Duplicated.i.i\" = call noalias nonnull align 8 dereferenceable(128) \"enzyme_ReadOnlyOrThrow\" \"enzyme_type\"=\"{[-1]:Pointer, [-1,-1]:Float@double}\" ptr addrspace(10) @julia.gc_alloc_obj(ptr nonnull %current_task.i.i, i64 128, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695165959632 to ptr) to ptr addrspace(10))) #10, !dbg !32, !enzymejl_gc_alloc_rt !40\n %5 = call noalias nonnull align 8 dereferenceable(128) \"enzyme_ReadOnlyOrThrow\" \"enzyme_type\"=\"{[-1]:Pointer, [-1,-1]:Float@double}\" ptr addrspace(10) @julia.gc_alloc_obj(ptr nonnull %current_task.i.i, i64 128, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695165959632 to ptr) to ptr addrspace(10))) #10, !dbg !32\n %\"'ipc.i\" = addrspacecast ptr addrspace(10) %5 to ptr addrspace(11), !dbg !32\n %6 = addrspacecast ptr addrspace(10) %\"box::Duplicated.i.i\" to ptr addrspace(11), !dbg !32\n store double %\".fca.0.0.0.extract'ipev.i\", ptr addrspace(11) %\"'ipc.i\", align 8, !dbg !32, !tbaa !41, !alias.scope !44, !noalias !50\n store double %.fca.0.0.0.extract.i, ptr addrspace(11) %6, align 8, !dbg !32, !tbaa !41, !alias.scope !57, !noalias !58\n %\"new::Duplicated.i.sroa.5.0..sroa_idx'ipg.i\" = getelementptr inbounds i8, ptr addrspace(11) %\"'ipc.i\", i64 8, !dbg !32\n %\"new::Duplicated.i.sroa.5.0..sroa_idx.i\" = getelementptr inbounds nuw i8, ptr addrspace(11) %6, i64 8, !dbg !32\n store double %\".fca.0.0.1.extract'ipev.i\", ptr addrspace(11) %\"new::Duplicated.i.sroa.5.0..sroa_idx'ipg.i\", align 8, !dbg !32, !tbaa !41, !alias.scope !44, !noalias !50\n store double %.fca.0.0.1.extract.i, ptr addrspace(11) %\"new::Duplicated.i.sroa.5.0..sroa_idx.i\", align 8, !dbg !32, !tbaa !41, !alias.scope !57, !noalias !58\n %\"new::Duplicated.i.sroa.6.0..sroa_idx'ipg.i\" = getelementptr inbounds i8, ptr addrspace(11) %\"'ipc.i\", i64 16, !dbg !32\n %\"new::Duplicated.i.sroa.6.0..sroa_idx.i\" = getelementptr inbounds nuw i8, ptr addrspace(11) %6, i64 16, !dbg !32\n store double %\".fca.0.0.2.extract'ipev.i\", ptr addrspace(11) %\"new::Duplicated.i.sroa.6.0..sroa_idx'ipg.i\", align 8, !dbg !32, !tbaa !41, !alias.scope !44, !noalias !50\n store double %.fca.0.0.2.extract.i, ptr addrspace(11) %\"new::Duplicated.i.sroa.6.0..sroa_idx.i\", align 8, !dbg !32, !tbaa !41, !alias.scope !57, !noalias !58\n %\"new::Duplicated.i.sroa.7.0..sroa_idx'ipg.i\" = getelementptr inbounds i8, ptr addrspace(11) %\"'ipc.i\", i64 24, !dbg !32\n %\"new::Duplicated.i.sroa.7.0..sroa_idx.i\" = getelementptr inbounds nuw i8, ptr addrspace(11) %6, i64 24, !dbg !32\n store double %\".fca.0.0.3.extract'ipev.i\", ptr addrspace(11) %\"new::Duplicated.i.sroa.7.0..sroa_idx'ipg.i\", align 8, !dbg !32, !tbaa !41, !alias.scope !44, !noalias !50\n store double %.fca.0.0.3.extract.i, ptr addrspace(11) %\"new::Duplicated.i.sroa.7.0..sroa_idx.i\", align 8, !dbg !32, !tbaa !41, !alias.scope !57, !noalias !58\n %\"new::Duplicated.i.sroa.8.0..sroa_idx'ipg.i\" = getelementptr inbounds i8, ptr addrspace(11) %\"'ipc.i\", i64 32, !dbg !32\n %\"new::Duplicated.i.sroa.8.0..sroa_idx.i\" = getelementptr inbounds nuw i8, ptr addrspace(11) %6, i64 32, !dbg !32\n store double %\".fca.1.0.0.extract'ipev.i\", ptr addrspace(11) %\"new::Duplicated.i.sroa.8.0..sroa_idx'ipg.i\", align 8, !dbg !32, !tbaa !41, !alias.scope !44, !noalias !50\n store double %.fca.1.0.0.extract.i, ptr addrspace(11) %\"new::Duplicated.i.sroa.8.0..sroa_idx.i\", align 8, !dbg !32, !tbaa !41, !alias.scope !57, !noalias !58\n %\"new::Duplicated.i.sroa.9.0..sroa_idx'ipg.i\" = getelementptr inbounds i8, ptr addrspace(11) %\"'ipc.i\", i64 40, !dbg !32\n %\"new::Duplicated.i.sroa.9.0..sroa_idx.i\" = getelementptr inbounds nuw i8, ptr addrspace(11) %6, i64 40, !dbg !32\n store double %\".fca.1.0.1.extract'ipev.i\", ptr addrspace(11) %\"new::Duplicated.i.sroa.9.0..sroa_idx'ipg.i\", align 8, !dbg !32, !tbaa !41, !alias.scope !44, !noalias !50\n store double %.fca.1.0.1.extract.i, ptr addrspace(11) %\"new::Duplicated.i.sroa.9.0..sroa_idx.i\", align 8, !dbg !32, !tbaa !41, !alias.scope !57, !noalias !58\n %\"new::Duplicated.i.sroa.10.0..sroa_idx'ipg.i\" = getelementptr inbounds i8, ptr addrspace(11) %\"'ipc.i\", i64 48, !dbg !32\n %\"new::Duplicated.i.sroa.10.0..sroa_idx.i\" = getelementptr inbounds nuw i8, ptr addrspace(11) %6, i64 48, !dbg !32\n store double %\".fca.1.0.2.extract'ipev.i\", ptr addrspace(11) %\"new::Duplicated.i.sroa.10.0..sroa_idx'ipg.i\", align 8, !dbg !32, !tbaa !41, !alias.scope !44, !noalias !50\n store double %.fca.1.0.2.extract.i, ptr addrspace(11) %\"new::Duplicated.i.sroa.10.0..sroa_idx.i\", align 8, !dbg !32, !tbaa !41, !alias.scope !57, !noalias !58\n %\"new::Duplicated.i.sroa.11.0..sroa_idx'ipg.i\" = getelementptr inbounds i8, ptr addrspace(11) %\"'ipc.i\", i64 56, !dbg !32\n %\"new::Duplicated.i.sroa.11.0..sroa_idx.i\" = getelementptr inbounds nuw i8, ptr addrspace(11) %6, i64 56, !dbg !32\n store double %\".fca.1.0.3.extract'ipev.i\", ptr addrspace(11) %\"new::Duplicated.i.sroa.11.0..sroa_idx'ipg.i\", align 8, !dbg !32, !tbaa !41, !alias.scope !44, !noalias !50\n store double %.fca.1.0.3.extract.i, ptr addrspace(11) %\"new::Duplicated.i.sroa.11.0..sroa_idx.i\", align 8, !dbg !32, !tbaa !41, !alias.scope !57, !noalias !58\n %\"new::Duplicated.i.sroa.12.0..sroa_idx'ipg.i\" = getelementptr inbounds i8, ptr addrspace(11) %\"'ipc.i\", i64 64, !dbg !32\n %\"new::Duplicated.i.sroa.12.0..sroa_idx.i\" = getelementptr inbounds nuw i8, ptr addrspace(11) %6, i64 64, !dbg !32\n store double %\".fca.1.0.0.extract'ipev.i\", ptr addrspace(11) %\"new::Duplicated.i.sroa.12.0..sroa_idx'ipg.i\", align 8, !dbg !32, !tbaa !41, !alias.scope !44, !noalias !50\n store double %.fca.1.0.0.extract.i, ptr addrspace(11) %\"new::Duplicated.i.sroa.12.0..sroa_idx.i\", align 8, !dbg !32, !tbaa !41, !alias.scope !57, !noalias !58\n %\"new::Duplicated.i.sroa.13.0..sroa_idx'ipg.i\" = getelementptr inbounds i8, ptr addrspace(11) %\"'ipc.i\", i64 72, !dbg !32\n %\"new::Duplicated.i.sroa.13.0..sroa_idx.i\" = getelementptr inbounds nuw i8, ptr addrspace(11) %6, i64 72, !dbg !32\n store double %\".fca.1.0.1.extract'ipev.i\", ptr addrspace(11) %\"new::Duplicated.i.sroa.13.0..sroa_idx'ipg.i\", align 8, !dbg !32, !tbaa !41, !alias.scope !44, !noalias !50\n store double %.fca.1.0.1.extract.i, ptr addrspace(11) %\"new::Duplicated.i.sroa.13.0..sroa_idx.i\", align 8, !dbg !32, !tbaa !41, !alias.scope !57, !noalias !58\n %\"new::Duplicated.i.sroa.14.0..sroa_idx'ipg.i\" = getelementptr inbounds i8, ptr addrspace(11) %\"'ipc.i\", i64 80, !dbg !32\n %\"new::Duplicated.i.sroa.14.0..sroa_idx.i\" = getelementptr inbounds nuw i8, ptr addrspace(11) %6, i64 80, !dbg !32\n store double %\".fca.1.0.2.extract'ipev.i\", ptr addrspace(11) %\"new::Duplicated.i.sroa.14.0..sroa_idx'ipg.i\", align 8, !dbg !32, !tbaa !41, !alias.scope !44, !noalias !50\n store double %.fca.1.0.2.extract.i, ptr addrspace(11) %\"new::Duplicated.i.sroa.14.0..sroa_idx.i\", align 8, !dbg !32, !tbaa !41, !alias.scope !57, !noalias !58\n %\"new::Duplicated.i.sroa.15.0..sroa_idx'ipg.i\" = getelementptr inbounds i8, ptr addrspace(11) %\"'ipc.i\", i64 88, !dbg !32\n %\"new::Duplicated.i.sroa.15.0..sroa_idx.i\" = getelementptr inbounds nuw i8, ptr addrspace(11) %6, i64 88, !dbg !32\n store double %\".fca.1.0.3.extract'ipev.i\", ptr addrspace(11) %\"new::Duplicated.i.sroa.15.0..sroa_idx'ipg.i\", align 8, !dbg !32, !tbaa !41, !alias.scope !44, !noalias !50\n store double %.fca.1.0.3.extract.i, ptr addrspace(11) %\"new::Duplicated.i.sroa.15.0..sroa_idx.i\", align 8, !dbg !32, !tbaa !41, !alias.scope !57, !noalias !58\n %\"new::Duplicated.i.sroa.16.0..sroa_idx'ipg.i\" = getelementptr inbounds i8, ptr addrspace(11) %\"'ipc.i\", i64 96, !dbg !32\n %\"new::Duplicated.i.sroa.16.0..sroa_idx.i\" = getelementptr inbounds nuw i8, ptr addrspace(11) %6, i64 96, !dbg !32\n store double %\".fca.2.0.0.extract'ipev.i\", ptr addrspace(11) %\"new::Duplicated.i.sroa.16.0..sroa_idx'ipg.i\", align 8, !dbg !32, !tbaa !41, !alias.scope !44, !noalias !50\n store double %.fca.2.0.0.extract.i, ptr addrspace(11) %\"new::Duplicated.i.sroa.16.0..sroa_idx.i\", align 8, !dbg !32, !tbaa !41, !alias.scope !57, !noalias !58\n %\"new::Duplicated.i.sroa.17.0..sroa_idx'ipg.i\" = getelementptr inbounds i8, ptr addrspace(11) %\"'ipc.i\", i64 104, !dbg !32\n %\"new::Duplicated.i.sroa.17.0..sroa_idx.i\" = getelementptr inbounds nuw i8, ptr addrspace(11) %6, i64 104, !dbg !32\n store double %\".fca.2.0.1.extract'ipev.i\", ptr addrspace(11) %\"new::Duplicated.i.sroa.17.0..sroa_idx'ipg.i\", align 8, !dbg !32, !tbaa !41, !alias.scope !44, !noalias !50\n store double %.fca.2.0.1.extract.i, ptr addrspace(11) %\"new::Duplicated.i.sroa.17.0..sroa_idx.i\", align 8, !dbg !32, !tbaa !41, !alias.scope !57, !noalias !58\n %\"new::Duplicated.i.sroa.18.0..sroa_idx'ipg.i\" = getelementptr inbounds i8, ptr addrspace(11) %\"'ipc.i\", i64 112, !dbg !32\n %\"new::Duplicated.i.sroa.18.0..sroa_idx.i\" = getelementptr inbounds nuw i8, ptr addrspace(11) %6, i64 112, !dbg !32\n store double %\".fca.2.0.2.extract'ipev.i\", ptr addrspace(11) %\"new::Duplicated.i.sroa.18.0..sroa_idx'ipg.i\", align 8, !dbg !32, !tbaa !41, !alias.scope !44, !noalias !50\n store double %.fca.2.0.2.extract.i, ptr addrspace(11) %\"new::Duplicated.i.sroa.18.0..sroa_idx.i\", align 8, !dbg !32, !tbaa !41, !alias.scope !57, !noalias !58\n %\"new::Duplicated.i.sroa.19.0..sroa_idx'ipg.i\" = getelementptr inbounds i8, ptr addrspace(11) %\"'ipc.i\", i64 120, !dbg !32\n %\"new::Duplicated.i.sroa.19.0..sroa_idx.i\" = getelementptr inbounds nuw i8, ptr addrspace(11) %6, i64 120, !dbg !32\n store double %\".fca.2.0.3.extract'ipev.i\", ptr addrspace(11) %\"new::Duplicated.i.sroa.19.0..sroa_idx'ipg.i\", align 8, !dbg !32, !tbaa !41, !alias.scope !44, !noalias !50\n store double %.fca.2.0.3.extract.i, ptr addrspace(11) %\"new::Duplicated.i.sroa.19.0..sroa_idx.i\", align 8, !dbg !32, !tbaa !41, !alias.scope !57, !noalias !58\n %7 = call ptr addrspace(10) (ptr, ptr addrspace(10), ...) @julia.call(ptr @ijl_apply_generic, ptr addrspace(10) @ejl_enz_runtime_generic_fwd, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695126066832 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695908277584 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695908277584 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_enz_val_1, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695618737712 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695860763760 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) %\"box::Duplicated.i.i\", ptr addrspace(10) %5), !dbg !32\n %8 = addrspacecast ptr addrspace(10) %7 to ptr addrspace(11), !dbg !32\n %9 = load ptr addrspace(10), ptr addrspace(11) %8, align 8, !dbg !32\n %jl_f_apply_type_ret9.i.i = call nonnull \"enzyme_inactive\" \"enzyme_type\"=\"{[-1]:Pointer}\" ptr addrspace(10) (ptr, ptr addrspace(10), ...) @julia.call(ptr nonnull @jl_f_apply_type, ptr addrspace(10) null, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695930797600 to ptr) to ptr addrspace(10)), ptr addrspace(10) nonnull %4, ptr addrspace(10) nonnull %9) #9, !dbg !59\n %10 = call nonnull \"enzyme_type\"=\"{[-1]:Pointer}\" ptr addrspace(10) (ptr, ptr addrspace(10), ptr addrspace(10), ...) @julia.call2(ptr nonnull @ijl_invoke, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695899363856 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695860763760 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695618768768 to ptr) to ptr addrspace(10))) #8, !dbg !60\n %.not39.i = icmp eq ptr addrspace(10) %10, addrspacecast (ptr inttoptr (i64 130695720003920 to ptr) to ptr addrspace(10)), !dbg !60\n %value_phi14.i.i = select i1 %.not39.i, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695095857232 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695198543056 to ptr) to ptr addrspace(10)), !dbg !60\n %jl_f_apply_type_ret17.i.i = call nonnull \"enzyme_inactive\" \"enzyme_type\"=\"{[-1]:Pointer}\" ptr addrspace(10) (ptr, ptr addrspace(10), ...) @julia.call(ptr nonnull @jl_f_apply_type, ptr addrspace(10) null, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695930797600 to ptr) to ptr addrspace(10)), ptr addrspace(10) %value_phi14.i.i, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695198543056 to ptr) to ptr addrspace(10))) #9, !dbg !65\n %11 = call ptr addrspace(10) (ptr, ptr addrspace(10), ...) @julia.call(ptr @ijl_apply_generic, ptr addrspace(10) @ejl_enz_runtime_generic_fwd, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695159782544 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695908277584 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695908277584 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_enz_val_1, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695618737712 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695560688096 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695876761728 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695740856528 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695179751504 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) %jl_f_apply_type_ret9.i.i, ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695618718864 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695857041792 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695618743472 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695908277584 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695908277584 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 914660384 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695908276976 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695908277584 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695908277584 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing), !dbg !66\n %12 = addrspacecast ptr addrspace(10) %11 to ptr addrspace(11), !dbg !66\n %13 = getelementptr inbounds [2 x ptr addrspace(10)], ptr addrspace(11) %12, i64 0, i64 1, !dbg !66\n %14 = load ptr addrspace(10), ptr addrspace(11) %13, align 8, !dbg !66\n %15 = load ptr addrspace(10), ptr addrspace(11) %12, align 8, !dbg !66\n %\"box::Duplicated25.i.i\" = call noalias nonnull align 8 dereferenceable(128) \"enzyme_ReadOnlyOrThrow\" \"enzyme_type\"=\"{[-1]:Pointer, [-1,-1]:Float@double}\" ptr addrspace(10) @julia.gc_alloc_obj(ptr nonnull %current_task.i.i, i64 128, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695165959632 to ptr) to ptr addrspace(10))) #10, !dbg !67, !enzymejl_gc_alloc_rt !40\n %16 = call noalias nonnull align 8 dereferenceable(128) \"enzyme_ReadOnlyOrThrow\" \"enzyme_type\"=\"{[-1]:Pointer, [-1,-1]:Float@double}\" ptr addrspace(10) @julia.gc_alloc_obj(ptr nonnull %current_task.i.i, i64 128, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695165959632 to ptr) to ptr addrspace(10))) #10, !dbg !67\n %\"'ipc9.i\" = addrspacecast ptr addrspace(10) %16 to ptr addrspace(11), !dbg !67\n %17 = addrspacecast ptr addrspace(10) %\"box::Duplicated25.i.i\" to ptr addrspace(11), !dbg !67\n store double %\".fca.0.0.0.extract'ipev.i\", ptr addrspace(11) %\"'ipc9.i\", align 8, !dbg !67, !tbaa !41, !alias.scope !68, !noalias !71\n store double %.fca.0.0.0.extract.i, ptr addrspace(11) %17, align 8, !dbg !67, !tbaa !41, !alias.scope !73, !noalias !74\n %\"new::Duplicated.i.sroa.5.0..sroa_idx9'ipg.i\" = getelementptr inbounds i8, ptr addrspace(11) %\"'ipc9.i\", i64 8, !dbg !67\n %\"new::Duplicated.i.sroa.5.0..sroa_idx9.i\" = getelementptr inbounds nuw i8, ptr addrspace(11) %17, i64 8, !dbg !67\n store double %\".fca.0.0.1.extract'ipev.i\", ptr addrspace(11) %\"new::Duplicated.i.sroa.5.0..sroa_idx9'ipg.i\", align 8, !dbg !67, !tbaa !41, !alias.scope !68, !noalias !71\n store double %.fca.0.0.1.extract.i, ptr addrspace(11) %\"new::Duplicated.i.sroa.5.0..sroa_idx9.i\", align 8, !dbg !67, !tbaa !41, !alias.scope !73, !noalias !74\n %\"new::Duplicated.i.sroa.6.0..sroa_idx11'ipg.i\" = getelementptr inbounds i8, ptr addrspace(11) %\"'ipc9.i\", i64 16, !dbg !67\n %\"new::Duplicated.i.sroa.6.0..sroa_idx11.i\" = getelementptr inbounds nuw i8, ptr addrspace(11) %17, i64 16, !dbg !67\n store double %\".fca.0.0.2.extract'ipev.i\", ptr addrspace(11) %\"new::Duplicated.i.sroa.6.0..sroa_idx11'ipg.i\", align 8, !dbg !67, !tbaa !41, !alias.scope !68, !noalias !71\n store double %.fca.0.0.2.extract.i, ptr addrspace(11) %\"new::Duplicated.i.sroa.6.0..sroa_idx11.i\", align 8, !dbg !67, !tbaa !41, !alias.scope !73, !noalias !74\n %\"new::Duplicated.i.sroa.7.0..sroa_idx13'ipg.i\" = getelementptr inbounds i8, ptr addrspace(11) %\"'ipc9.i\", i64 24, !dbg !67\n %\"new::Duplicated.i.sroa.7.0..sroa_idx13.i\" = getelementptr inbounds nuw i8, ptr addrspace(11) %17, i64 24, !dbg !67\n store double %\".fca.0.0.3.extract'ipev.i\", ptr addrspace(11) %\"new::Duplicated.i.sroa.7.0..sroa_idx13'ipg.i\", align 8, !dbg !67, !tbaa !41, !alias.scope !68, !noalias !71\n store double %.fca.0.0.3.extract.i, ptr addrspace(11) %\"new::Duplicated.i.sroa.7.0..sroa_idx13.i\", align 8, !dbg !67, !tbaa !41, !alias.scope !73, !noalias !74\n %\"new::Duplicated.i.sroa.8.0..sroa_idx15'ipg.i\" = getelementptr inbounds i8, ptr addrspace(11) %\"'ipc9.i\", i64 32, !dbg !67\n %\"new::Duplicated.i.sroa.8.0..sroa_idx15.i\" = getelementptr inbounds nuw i8, ptr addrspace(11) %17, i64 32, !dbg !67\n store double %\".fca.1.0.0.extract'ipev.i\", ptr addrspace(11) %\"new::Duplicated.i.sroa.8.0..sroa_idx15'ipg.i\", align 8, !dbg !67, !tbaa !41, !alias.scope !68, !noalias !71\n store double %.fca.1.0.0.extract.i, ptr addrspace(11) %\"new::Duplicated.i.sroa.8.0..sroa_idx15.i\", align 8, !dbg !67, !tbaa !41, !alias.scope !73, !noalias !74\n %\"new::Duplicated.i.sroa.9.0..sroa_idx17'ipg.i\" = getelementptr inbounds i8, ptr addrspace(11) %\"'ipc9.i\", i64 40, !dbg !67\n %\"new::Duplicated.i.sroa.9.0..sroa_idx17.i\" = getelementptr inbounds nuw i8, ptr addrspace(11) %17, i64 40, !dbg !67\n store double %\".fca.1.0.1.extract'ipev.i\", ptr addrspace(11) %\"new::Duplicated.i.sroa.9.0..sroa_idx17'ipg.i\", align 8, !dbg !67, !tbaa !41, !alias.scope !68, !noalias !71\n store double %.fca.1.0.1.extract.i, ptr addrspace(11) %\"new::Duplicated.i.sroa.9.0..sroa_idx17.i\", align 8, !dbg !67, !tbaa !41, !alias.scope !73, !noalias !74\n %\"new::Duplicated.i.sroa.10.0..sroa_idx19'ipg.i\" = getelementptr inbounds i8, ptr addrspace(11) %\"'ipc9.i\", i64 48, !dbg !67\n %\"new::Duplicated.i.sroa.10.0..sroa_idx19.i\" = getelementptr inbounds nuw i8, ptr addrspace(11) %17, i64 48, !dbg !67\n store double %\".fca.1.0.2.extract'ipev.i\", ptr addrspace(11) %\"new::Duplicated.i.sroa.10.0..sroa_idx19'ipg.i\", align 8, !dbg !67, !tbaa !41, !alias.scope !68, !noalias !71\n store double %.fca.1.0.2.extract.i, ptr addrspace(11) %\"new::Duplicated.i.sroa.10.0..sroa_idx19.i\", align 8, !dbg !67, !tbaa !41, !alias.scope !73, !noalias !74\n %\"new::Duplicated.i.sroa.11.0..sroa_idx21'ipg.i\" = getelementptr inbounds i8, ptr addrspace(11) %\"'ipc9.i\", i64 56, !dbg !67\n %\"new::Duplicated.i.sroa.11.0..sroa_idx21.i\" = getelementptr inbounds nuw i8, ptr addrspace(11) %17, i64 56, !dbg !67\n store double %\".fca.1.0.3.extract'ipev.i\", ptr addrspace(11) %\"new::Duplicated.i.sroa.11.0..sroa_idx21'ipg.i\", align 8, !dbg !67, !tbaa !41, !alias.scope !68, !noalias !71\n store double %.fca.1.0.3.extract.i, ptr addrspace(11) %\"new::Duplicated.i.sroa.11.0..sroa_idx21.i\", align 8, !dbg !67, !tbaa !41, !alias.scope !73, !noalias !74\n %\"new::Duplicated.i.sroa.12.0..sroa_idx23'ipg.i\" = getelementptr inbounds i8, ptr addrspace(11) %\"'ipc9.i\", i64 64, !dbg !67\n %\"new::Duplicated.i.sroa.12.0..sroa_idx23.i\" = getelementptr inbounds nuw i8, ptr addrspace(11) %17, i64 64, !dbg !67\n store double %\".fca.1.0.0.extract'ipev.i\", ptr addrspace(11) %\"new::Duplicated.i.sroa.12.0..sroa_idx23'ipg.i\", align 8, !dbg !67, !tbaa !41, !alias.scope !68, !noalias !71\n store double %.fca.1.0.0.extract.i, ptr addrspace(11) %\"new::Duplicated.i.sroa.12.0..sroa_idx23.i\", align 8, !dbg !67, !tbaa !41, !alias.scope !73, !noalias !74\n %\"new::Duplicated.i.sroa.13.0..sroa_idx25'ipg.i\" = getelementptr inbounds i8, ptr addrspace(11) %\"'ipc9.i\", i64 72, !dbg !67\n %\"new::Duplicated.i.sroa.13.0..sroa_idx25.i\" = getelementptr inbounds nuw i8, ptr addrspace(11) %17, i64 72, !dbg !67\n store double %\".fca.1.0.1.extract'ipev.i\", ptr addrspace(11) %\"new::Duplicated.i.sroa.13.0..sroa_idx25'ipg.i\", align 8, !dbg !67, !tbaa !41, !alias.scope !68, !noalias !71\n store double %.fca.1.0.1.extract.i, ptr addrspace(11) %\"new::Duplicated.i.sroa.13.0..sroa_idx25.i\", align 8, !dbg !67, !tbaa !41, !alias.scope !73, !noalias !74\n %\"new::Duplicated.i.sroa.14.0..sroa_idx27'ipg.i\" = getelementptr inbounds i8, ptr addrspace(11) %\"'ipc9.i\", i64 80, !dbg !67\n %\"new::Duplicated.i.sroa.14.0..sroa_idx27.i\" = getelementptr inbounds nuw i8, ptr addrspace(11) %17, i64 80, !dbg !67\n store double %\".fca.1.0.2.extract'ipev.i\", ptr addrspace(11) %\"new::Duplicated.i.sroa.14.0..sroa_idx27'ipg.i\", align 8, !dbg !67, !tbaa !41, !alias.scope !68, !noalias !71\n store double %.fca.1.0.2.extract.i, ptr addrspace(11) %\"new::Duplicated.i.sroa.14.0..sroa_idx27.i\", align 8, !dbg !67, !tbaa !41, !alias.scope !73, !noalias !74\n %\"new::Duplicated.i.sroa.15.0..sroa_idx29'ipg.i\" = getelementptr inbounds i8, ptr addrspace(11) %\"'ipc9.i\", i64 88, !dbg !67\n %\"new::Duplicated.i.sroa.15.0..sroa_idx29.i\" = getelementptr inbounds nuw i8, ptr addrspace(11) %17, i64 88, !dbg !67\n store double %\".fca.1.0.3.extract'ipev.i\", ptr addrspace(11) %\"new::Duplicated.i.sroa.15.0..sroa_idx29'ipg.i\", align 8, !dbg !67, !tbaa !41, !alias.scope !68, !noalias !71\n store double %.fca.1.0.3.extract.i, ptr addrspace(11) %\"new::Duplicated.i.sroa.15.0..sroa_idx29.i\", align 8, !dbg !67, !tbaa !41, !alias.scope !73, !noalias !74\n %\"new::Duplicated.i.sroa.16.0..sroa_idx31'ipg.i\" = getelementptr inbounds i8, ptr addrspace(11) %\"'ipc9.i\", i64 96, !dbg !67\n %\"new::Duplicated.i.sroa.16.0..sroa_idx31.i\" = getelementptr inbounds nuw i8, ptr addrspace(11) %17, i64 96, !dbg !67\n store double %\".fca.2.0.0.extract'ipev.i\", ptr addrspace(11) %\"new::Duplicated.i.sroa.16.0..sroa_idx31'ipg.i\", align 8, !dbg !67, !tbaa !41, !alias.scope !68, !noalias !71\n store double %.fca.2.0.0.extract.i, ptr addrspace(11) %\"new::Duplicated.i.sroa.16.0..sroa_idx31.i\", align 8, !dbg !67, !tbaa !41, !alias.scope !73, !noalias !74\n %\"new::Duplicated.i.sroa.17.0..sroa_idx33'ipg.i\" = getelementptr inbounds i8, ptr addrspace(11) %\"'ipc9.i\", i64 104, !dbg !67\n %\"new::Duplicated.i.sroa.17.0..sroa_idx33.i\" = getelementptr inbounds nuw i8, ptr addrspace(11) %17, i64 104, !dbg !67\n store double %\".fca.2.0.1.extract'ipev.i\", ptr addrspace(11) %\"new::Duplicated.i.sroa.17.0..sroa_idx33'ipg.i\", align 8, !dbg !67, !tbaa !41, !alias.scope !68, !noalias !71\n store double %.fca.2.0.1.extract.i, ptr addrspace(11) %\"new::Duplicated.i.sroa.17.0..sroa_idx33.i\", align 8, !dbg !67, !tbaa !41, !alias.scope !73, !noalias !74\n %\"new::Duplicated.i.sroa.18.0..sroa_idx35'ipg.i\" = getelementptr inbounds i8, ptr addrspace(11) %\"'ipc9.i\", i64 112, !dbg !67\n %\"new::Duplicated.i.sroa.18.0..sroa_idx35.i\" = getelementptr inbounds nuw i8, ptr addrspace(11) %17, i64 112, !dbg !67\n store double %\".fca.2.0.2.extract'ipev.i\", ptr addrspace(11) %\"new::Duplicated.i.sroa.18.0..sroa_idx35'ipg.i\", align 8, !dbg !67, !tbaa !41, !alias.scope !68, !noalias !71\n store double %.fca.2.0.2.extract.i, ptr addrspace(11) %\"new::Duplicated.i.sroa.18.0..sroa_idx35.i\", align 8, !dbg !67, !tbaa !41, !alias.scope !73, !noalias !74\n %\"new::Duplicated.i.sroa.19.0..sroa_idx37'ipg.i\" = getelementptr inbounds i8, ptr addrspace(11) %\"'ipc9.i\", i64 120, !dbg !67\n %\"new::Duplicated.i.sroa.19.0..sroa_idx37.i\" = getelementptr inbounds nuw i8, ptr addrspace(11) %17, i64 120, !dbg !67\n store double %\".fca.2.0.3.extract'ipev.i\", ptr addrspace(11) %\"new::Duplicated.i.sroa.19.0..sroa_idx37'ipg.i\", align 8, !dbg !67, !tbaa !41, !alias.scope !68, !noalias !71\n store double %.fca.2.0.3.extract.i, ptr addrspace(11) %\"new::Duplicated.i.sroa.19.0..sroa_idx37.i\", align 8, !dbg !67, !tbaa !41, !alias.scope !73, !noalias !74\n %18 = call ptr addrspace(10) (ptr, ptr addrspace(10), ...) @julia.call(ptr @ijl_apply_generic, ptr addrspace(10) @ejl_enz_runtime_generic_fwd, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695085149712 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695908277584 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695908277584 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_enz_val_1, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695618737712 to ptr) to ptr addrspace(10)), ptr addrspace(10) %15, ptr addrspace(10) %14, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695618785288 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695618768768 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) %\"box::Duplicated25.i.i\", ptr addrspace(10) %16), !dbg !67\n %19 = addrspacecast ptr addrspace(10) %18 to ptr addrspace(11), !dbg !67\n %20 = getelementptr inbounds [2 x ptr addrspace(10)], ptr addrspace(11) %19, i64 0, i64 1, !dbg !67\n %21 = load ptr addrspace(10), ptr addrspace(11) %20, align 8, !dbg !67\n %22 = load ptr addrspace(10), ptr addrspace(11) %19, align 8, !dbg !67\n %23 = call ptr addrspace(10) (ptr, ptr addrspace(10), ...) @julia.call(ptr @ijl_apply_generic, ptr addrspace(10) @ejl_enz_runtime_generic_fwd, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695121167120 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695908277584 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695908277584 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_enz_val_1, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695618737712 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695886842128 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) %22, ptr addrspace(10) %21, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695864039248 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing), !dbg !75\n %24 = addrspacecast ptr addrspace(10) %23 to ptr addrspace(11), !dbg !75\n %25 = getelementptr inbounds [2 x ptr addrspace(10)], ptr addrspace(11) %24, i64 0, i64 1, !dbg !75\n %26 = load ptr addrspace(10), ptr addrspace(11) %25, align 8, !dbg !75\n %27 = getelementptr inbounds [1 x ptr addrspace(10)], ptr %2, i64 0, i32 0\n %dstlocsi = getelementptr inbounds ptr addrspace(10), ptr %27, i64 0\n store ptr addrspace(10) %26, ptr %dstlocsi, align 8\n %28 = load [1 x ptr addrspace(10)], ptr %2, align 8\n ret [1 x ptr addrspace(10)] %28\n}\n\ndefine private void @julia_derivative_bundle_47216_inner.1([3 x [1 x [4 x double]]] \"enzyme_type\"=\"{[-1]:Float@double}\" \"enzymejl_parmtype\"=\"130694969317456\" \"enzymejl_parmtype_ref\"=\"0\" %0) local_unnamed_addr #6 !dbg !76 {\nentry:\n %newly_emitted_pgc_stack = call ptr @julia.get_pgcstack(), !dbg !77\n %.fca.0.0.0.extract = extractvalue [3 x [1 x [4 x double]]] %0, 0, 0, 0, !dbg !77, !enzyme_type !14, !enzymejl_source_type_Float64 !0, !enzymejl_byref_BITS_VALUE !0\n %.fca.0.0.1.extract = extractvalue [3 x [1 x [4 x double]]] %0, 0, 0, 1, !dbg !77, !enzyme_type !14, !enzymejl_source_type_Float64 !0, !enzymejl_byref_BITS_VALUE !0\n %.fca.0.0.2.extract = extractvalue [3 x [1 x [4 x double]]] %0, 0, 0, 2, !dbg !77, !enzyme_type !14, !enzymejl_source_type_Float64 !0, !enzymejl_byref_BITS_VALUE !0\n %.fca.0.0.3.extract = extractvalue [3 x [1 x [4 x double]]] %0, 0, 0, 3, !dbg !77, !enzyme_type !14, !enzymejl_source_type_Float64 !0, !enzymejl_byref_BITS_VALUE !0\n %.fca.1.0.0.extract = extractvalue [3 x [1 x [4 x double]]] %0, 1, 0, 0, !dbg !77, !enzyme_type !14, !enzymejl_source_type_Float64 !0, !enzymejl_byref_BITS_VALUE !0\n %.fca.1.0.1.extract = extractvalue [3 x [1 x [4 x double]]] %0, 1, 0, 1, !dbg !77, !enzyme_type !14, !enzymejl_source_type_Float64 !0, !enzymejl_byref_BITS_VALUE !0\n %.fca.1.0.2.extract = extractvalue [3 x [1 x [4 x double]]] %0, 1, 0, 2, !dbg !77, !enzyme_type !14, !enzymejl_source_type_Float64 !0, !enzymejl_byref_BITS_VALUE !0\n %.fca.1.0.3.extract = extractvalue [3 x [1 x [4 x double]]] %0, 1, 0, 3, !dbg !77, !enzyme_type !14, !enzymejl_source_type_Float64 !0, !enzymejl_byref_BITS_VALUE !0\n %.fca.2.0.0.extract = extractvalue [3 x [1 x [4 x double]]] %0, 2, 0, 0, !dbg !77, !enzyme_type !14, !enzymejl_source_type_Float64 !0, !enzymejl_byref_BITS_VALUE !0\n %.fca.2.0.1.extract = extractvalue [3 x [1 x [4 x double]]] %0, 2, 0, 1, !dbg !77, !enzyme_type !14, !enzymejl_source_type_Float64 !0, !enzymejl_byref_BITS_VALUE !0\n %.fca.2.0.2.extract = extractvalue [3 x [1 x [4 x double]]] %0, 2, 0, 2, !dbg !77, !enzyme_type !14, !enzymejl_source_type_Float64 !0, !enzymejl_byref_BITS_VALUE !0\n %.fca.2.0.3.extract = extractvalue [3 x [1 x [4 x double]]] %0, 2, 0, 3, !dbg !77, !enzyme_type !14, !enzymejl_source_type_Float64 !0, !enzymejl_byref_BITS_VALUE !0\n %pgcstack.i = call ptr @julia.get_pgcstack()\n %1 = call nonnull \"enzyme_type\"=\"{[-1]:Pointer}\" ptr addrspace(10) (ptr, ptr addrspace(10), ptr addrspace(10), ...) @julia.call2(ptr nonnull @ijl_invoke, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695899363856 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695860763760 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695618768768 to ptr) to ptr addrspace(10))) #11, !dbg !78\n %.not = icmp eq ptr addrspace(10) %1, addrspacecast (ptr inttoptr (i64 130695720003920 to ptr) to ptr addrspace(10)), !dbg !78\n %\"ejl_inserted\$_Core_Tuple_47223\$false\$130695198543056.ejl_inserted\$_Main__flux_47238\$false\$130695095857232\" = select i1 %.not, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695095857232 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695198543056 to ptr) to ptr addrspace(10)), !dbg !78\n %jl_f_apply_type_ret.i = call nonnull \"enzyme_inactive\" \"enzyme_type\"=\"{[-1]:Pointer}\" ptr addrspace(10) (ptr, ptr addrspace(10), ...) @julia.call(ptr nonnull @jl_f_apply_type, ptr addrspace(10) null, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695930797600 to ptr) to ptr addrspace(10)), ptr addrspace(10) %\"ejl_inserted\$_Core_Tuple_47223\$false\$130695198543056.ejl_inserted\$_Main__flux_47238\$false\$130695095857232\", ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695198543056 to ptr) to ptr addrspace(10))) #12, !dbg !86\n %2 = call nonnull \"enzyme_type\"=\"{[-1]:Pointer}\" ptr addrspace(10) (ptr, ptr addrspace(10), ptr addrspace(10), ...) @julia.call2(ptr nonnull @ijl_invoke, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695899363856 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695860763760 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695618768768 to ptr) to ptr addrspace(10))) #11, !dbg !87\n %current_task.i = getelementptr inbounds i8, ptr %pgcstack.i, i64 -152, !dbg !87\n %\"box::Duplicated.i\" = call noalias nonnull align 8 dereferenceable(128) \"enzyme_ReadOnlyOrThrow\" \"enzyme_type\"=\"{[-1]:Pointer, [-1,-1]:Float@double}\" ptr addrspace(10) @julia.gc_alloc_obj(ptr nonnull %current_task.i, i64 128, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695165959632 to ptr) to ptr addrspace(10))) #13, !dbg !87, !enzymejl_gc_alloc_rt !40\n %3 = addrspacecast ptr addrspace(10) %\"box::Duplicated.i\" to ptr addrspace(11), !dbg !87\n store double %.fca.0.0.0.extract, ptr addrspace(11) %3, align 8, !dbg !87, !tbaa !41, !alias.scope !93, !noalias !94\n %\"new::Duplicated.i.sroa.5.0..sroa_idx\" = getelementptr inbounds nuw i8, ptr addrspace(11) %3, i64 8, !dbg !87\n store double %.fca.0.0.1.extract, ptr addrspace(11) %\"new::Duplicated.i.sroa.5.0..sroa_idx\", align 8, !dbg !87, !tbaa !41, !alias.scope !93, !noalias !94\n %\"new::Duplicated.i.sroa.6.0..sroa_idx\" = getelementptr inbounds nuw i8, ptr addrspace(11) %3, i64 16, !dbg !87\n store double %.fca.0.0.2.extract, ptr addrspace(11) %\"new::Duplicated.i.sroa.6.0..sroa_idx\", align 8, !dbg !87, !tbaa !41, !alias.scope !93, !noalias !94\n %\"new::Duplicated.i.sroa.7.0..sroa_idx\" = getelementptr inbounds nuw i8, ptr addrspace(11) %3, i64 24, !dbg !87\n store double %.fca.0.0.3.extract, ptr addrspace(11) %\"new::Duplicated.i.sroa.7.0..sroa_idx\", align 8, !dbg !87, !tbaa !41, !alias.scope !93, !noalias !94\n %\"new::Duplicated.i.sroa.8.0..sroa_idx\" = getelementptr inbounds nuw i8, ptr addrspace(11) %3, i64 32, !dbg !87\n store double %.fca.1.0.0.extract, ptr addrspace(11) %\"new::Duplicated.i.sroa.8.0..sroa_idx\", align 8, !dbg !87, !tbaa !41, !alias.scope !93, !noalias !94\n %\"new::Duplicated.i.sroa.9.0..sroa_idx\" = getelementptr inbounds nuw i8, ptr addrspace(11) %3, i64 40, !dbg !87\n store double %.fca.1.0.1.extract, ptr addrspace(11) %\"new::Duplicated.i.sroa.9.0..sroa_idx\", align 8, !dbg !87, !tbaa !41, !alias.scope !93, !noalias !94\n %\"new::Duplicated.i.sroa.10.0..sroa_idx\" = getelementptr inbounds nuw i8, ptr addrspace(11) %3, i64 48, !dbg !87\n store double %.fca.1.0.2.extract, ptr addrspace(11) %\"new::Duplicated.i.sroa.10.0..sroa_idx\", align 8, !dbg !87, !tbaa !41, !alias.scope !93, !noalias !94\n %\"new::Duplicated.i.sroa.11.0..sroa_idx\" = getelementptr inbounds nuw i8, ptr addrspace(11) %3, i64 56, !dbg !87\n store double %.fca.1.0.3.extract, ptr addrspace(11) %\"new::Duplicated.i.sroa.11.0..sroa_idx\", align 8, !dbg !87, !tbaa !41, !alias.scope !93, !noalias !94\n %\"new::Duplicated.i.sroa.12.0..sroa_idx\" = getelementptr inbounds nuw i8, ptr addrspace(11) %3, i64 64, !dbg !87\n store double %.fca.1.0.0.extract, ptr addrspace(11) %\"new::Duplicated.i.sroa.12.0..sroa_idx\", align 8, !dbg !87, !tbaa !41, !alias.scope !93, !noalias !94\n %\"new::Duplicated.i.sroa.13.0..sroa_idx\" = getelementptr inbounds nuw i8, ptr addrspace(11) %3, i64 72, !dbg !87\n store double %.fca.1.0.1.extract, ptr addrspace(11) %\"new::Duplicated.i.sroa.13.0..sroa_idx\", align 8, !dbg !87, !tbaa !41, !alias.scope !93, !noalias !94\n %\"new::Duplicated.i.sroa.14.0..sroa_idx\" = getelementptr inbounds nuw i8, ptr addrspace(11) %3, i64 80, !dbg !87\n store double %.fca.1.0.2.extract, ptr addrspace(11) %\"new::Duplicated.i.sroa.14.0..sroa_idx\", align 8, !dbg !87, !tbaa !41, !alias.scope !93, !noalias !94\n %\"new::Duplicated.i.sroa.15.0..sroa_idx\" = getelementptr inbounds nuw i8, ptr addrspace(11) %3, i64 88, !dbg !87\n store double %.fca.1.0.3.extract, ptr addrspace(11) %\"new::Duplicated.i.sroa.15.0..sroa_idx\", align 8, !dbg !87, !tbaa !41, !alias.scope !93, !noalias !94\n %\"new::Duplicated.i.sroa.16.0..sroa_idx\" = getelementptr inbounds nuw i8, ptr addrspace(11) %3, i64 96, !dbg !87\n store double %.fca.2.0.0.extract, ptr addrspace(11) %\"new::Duplicated.i.sroa.16.0..sroa_idx\", align 8, !dbg !87, !tbaa !41, !alias.scope !93, !noalias !94\n %\"new::Duplicated.i.sroa.17.0..sroa_idx\" = getelementptr inbounds nuw i8, ptr addrspace(11) %3, i64 104, !dbg !87\n store double %.fca.2.0.1.extract, ptr addrspace(11) %\"new::Duplicated.i.sroa.17.0..sroa_idx\", align 8, !dbg !87, !tbaa !41, !alias.scope !93, !noalias !94\n %\"new::Duplicated.i.sroa.18.0..sroa_idx\" = getelementptr inbounds nuw i8, ptr addrspace(11) %3, i64 112, !dbg !87\n store double %.fca.2.0.2.extract, ptr addrspace(11) %\"new::Duplicated.i.sroa.18.0..sroa_idx\", align 8, !dbg !87, !tbaa !41, !alias.scope !93, !noalias !94\n %\"new::Duplicated.i.sroa.19.0..sroa_idx\" = getelementptr inbounds nuw i8, ptr addrspace(11) %3, i64 120, !dbg !87\n store double %.fca.2.0.3.extract, ptr addrspace(11) %\"new::Duplicated.i.sroa.19.0..sroa_idx\", align 8, !dbg !87, !tbaa !41, !alias.scope !93, !noalias !94\n %4 = call nonnull \"enzyme_type\"=\"{[-1]:Pointer}\" ptr addrspace(10) (ptr, ptr addrspace(10), ptr addrspace(10), ...) @julia.call2(ptr nonnull @ijl_invoke, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695899363856 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695860763760 to ptr) to ptr addrspace(10)), ptr addrspace(10) nonnull %\"box::Duplicated.i\") #11, !dbg !87\n %jl_f_apply_type_ret9.i = call nonnull \"enzyme_inactive\" \"enzyme_type\"=\"{[-1]:Pointer}\" ptr addrspace(10) (ptr, ptr addrspace(10), ...) @julia.call(ptr nonnull @jl_f_apply_type, ptr addrspace(10) null, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695930797600 to ptr) to ptr addrspace(10)), ptr addrspace(10) nonnull %2, ptr addrspace(10) nonnull %4) #12, !dbg !97\n %5 = call nonnull \"enzyme_type\"=\"{[-1]:Pointer}\" ptr addrspace(10) (ptr, ptr addrspace(10), ptr addrspace(10), ...) @julia.call2(ptr nonnull @ijl_invoke, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695899363856 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695860763760 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695618768768 to ptr) to ptr addrspace(10))) #11, !dbg !98\n %.not39 = icmp eq ptr addrspace(10) %5, addrspacecast (ptr inttoptr (i64 130695720003920 to ptr) to ptr addrspace(10)), !dbg !98\n %value_phi14.i = select i1 %.not39, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695095857232 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695198543056 to ptr) to ptr addrspace(10)), !dbg !98\n %jl_f_apply_type_ret17.i = call nonnull \"enzyme_inactive\" \"enzyme_type\"=\"{[-1]:Pointer}\" ptr addrspace(10) (ptr, ptr addrspace(10), ...) @julia.call(ptr nonnull @jl_f_apply_type, ptr addrspace(10) null, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695930797600 to ptr) to ptr addrspace(10)), ptr addrspace(10) %value_phi14.i, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695198543056 to ptr) to ptr addrspace(10))) #12, !dbg !103\n %6 = call nonnull \"enzyme_type\"=\"{[-1]:Pointer}\" ptr addrspace(10) (ptr, ptr addrspace(10), ...) @julia.call(ptr nonnull @ijl_apply_generic, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695560688096 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695876761728 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695740856528 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695179751504 to ptr) to ptr addrspace(10)), ptr addrspace(10) nonnull %jl_f_apply_type_ret9.i, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695618718864 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695857041792 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695618743472 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695908277584 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695908277584 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 914660384 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695908276976 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695908277584 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695908277584 to ptr) to ptr addrspace(10))) #11, !dbg !104\n %\"box::Duplicated25.i\" = call noalias nonnull align 8 dereferenceable(128) \"enzyme_ReadOnlyOrThrow\" \"enzyme_type\"=\"{[-1]:Pointer, [-1,-1]:Float@double}\" ptr addrspace(10) @julia.gc_alloc_obj(ptr nonnull %current_task.i, i64 128, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695165959632 to ptr) to ptr addrspace(10))) #13, !dbg !105, !enzymejl_gc_alloc_rt !40\n %7 = addrspacecast ptr addrspace(10) %\"box::Duplicated25.i\" to ptr addrspace(11), !dbg !105\n store double %.fca.0.0.0.extract, ptr addrspace(11) %7, align 8, !dbg !105, !tbaa !41, !alias.scope !93, !noalias !94\n %\"new::Duplicated.i.sroa.5.0..sroa_idx9\" = getelementptr inbounds nuw i8, ptr addrspace(11) %7, i64 8, !dbg !105\n store double %.fca.0.0.1.extract, ptr addrspace(11) %\"new::Duplicated.i.sroa.5.0..sroa_idx9\", align 8, !dbg !105, !tbaa !41, !alias.scope !93, !noalias !94\n %\"new::Duplicated.i.sroa.6.0..sroa_idx11\" = getelementptr inbounds nuw i8, ptr addrspace(11) %7, i64 16, !dbg !105\n store double %.fca.0.0.2.extract, ptr addrspace(11) %\"new::Duplicated.i.sroa.6.0..sroa_idx11\", align 8, !dbg !105, !tbaa !41, !alias.scope !93, !noalias !94\n %\"new::Duplicated.i.sroa.7.0..sroa_idx13\" = getelementptr inbounds nuw i8, ptr addrspace(11) %7, i64 24, !dbg !105\n store double %.fca.0.0.3.extract, ptr addrspace(11) %\"new::Duplicated.i.sroa.7.0..sroa_idx13\", align 8, !dbg !105, !tbaa !41, !alias.scope !93, !noalias !94\n %\"new::Duplicated.i.sroa.8.0..sroa_idx15\" = getelementptr inbounds nuw i8, ptr addrspace(11) %7, i64 32, !dbg !105\n store double %.fca.1.0.0.extract, ptr addrspace(11) %\"new::Duplicated.i.sroa.8.0..sroa_idx15\", align 8, !dbg !105, !tbaa !41, !alias.scope !93, !noalias !94\n %\"new::Duplicated.i.sroa.9.0..sroa_idx17\" = getelementptr inbounds nuw i8, ptr addrspace(11) %7, i64 40, !dbg !105\n store double %.fca.1.0.1.extract, ptr addrspace(11) %\"new::Duplicated.i.sroa.9.0..sroa_idx17\", align 8, !dbg !105, !tbaa !41, !alias.scope !93, !noalias !94\n %\"new::Duplicated.i.sroa.10.0..sroa_idx19\" = getelementptr inbounds nuw i8, ptr addrspace(11) %7, i64 48, !dbg !105\n store double %.fca.1.0.2.extract, ptr addrspace(11) %\"new::Duplicated.i.sroa.10.0..sroa_idx19\", align 8, !dbg !105, !tbaa !41, !alias.scope !93, !noalias !94\n %\"new::Duplicated.i.sroa.11.0..sroa_idx21\" = getelementptr inbounds nuw i8, ptr addrspace(11) %7, i64 56, !dbg !105\n store double %.fca.1.0.3.extract, ptr addrspace(11) %\"new::Duplicated.i.sroa.11.0..sroa_idx21\", align 8, !dbg !105, !tbaa !41, !alias.scope !93, !noalias !94\n %\"new::Duplicated.i.sroa.12.0..sroa_idx23\" = getelementptr inbounds nuw i8, ptr addrspace(11) %7, i64 64, !dbg !105\n store double %.fca.1.0.0.extract, ptr addrspace(11) %\"new::Duplicated.i.sroa.12.0..sroa_idx23\", align 8, !dbg !105, !tbaa !41, !alias.scope !93, !noalias !94\n %\"new::Duplicated.i.sroa.13.0..sroa_idx25\" = getelementptr inbounds nuw i8, ptr addrspace(11) %7, i64 72, !dbg !105\n store double %.fca.1.0.1.extract, ptr addrspace(11) %\"new::Duplicated.i.sroa.13.0..sroa_idx25\", align 8, !dbg !105, !tbaa !41, !alias.scope !93, !noalias !94\n %\"new::Duplicated.i.sroa.14.0..sroa_idx27\" = getelementptr inbounds nuw i8, ptr addrspace(11) %7, i64 80, !dbg !105\n store double %.fca.1.0.2.extract, ptr addrspace(11) %\"new::Duplicated.i.sroa.14.0..sroa_idx27\", align 8, !dbg !105, !tbaa !41, !alias.scope !93, !noalias !94\n %\"new::Duplicated.i.sroa.15.0..sroa_idx29\" = getelementptr inbounds nuw i8, ptr addrspace(11) %7, i64 88, !dbg !105\n store double %.fca.1.0.3.extract, ptr addrspace(11) %\"new::Duplicated.i.sroa.15.0..sroa_idx29\", align 8, !dbg !105, !tbaa !41, !alias.scope !93, !noalias !94\n %\"new::Duplicated.i.sroa.16.0..sroa_idx31\" = getelementptr inbounds nuw i8, ptr addrspace(11) %7, i64 96, !dbg !105\n store double %.fca.2.0.0.extract, ptr addrspace(11) %\"new::Duplicated.i.sroa.16.0..sroa_idx31\", align 8, !dbg !105, !tbaa !41, !alias.scope !93, !noalias !94\n %\"new::Duplicated.i.sroa.17.0..sroa_idx33\" = getelementptr inbounds nuw i8, ptr addrspace(11) %7, i64 104, !dbg !105\n store double %.fca.2.0.1.extract, ptr addrspace(11) %\"new::Duplicated.i.sroa.17.0..sroa_idx33\", align 8, !dbg !105, !tbaa !41, !alias.scope !93, !noalias !94\n %\"new::Duplicated.i.sroa.18.0..sroa_idx35\" = getelementptr inbounds nuw i8, ptr addrspace(11) %7, i64 112, !dbg !105\n store double %.fca.2.0.2.extract, ptr addrspace(11) %\"new::Duplicated.i.sroa.18.0..sroa_idx35\", align 8, !dbg !105, !tbaa !41, !alias.scope !93, !noalias !94\n %\"new::Duplicated.i.sroa.19.0..sroa_idx37\" = getelementptr inbounds nuw i8, ptr addrspace(11) %7, i64 120, !dbg !105\n store double %.fca.2.0.3.extract, ptr addrspace(11) %\"new::Duplicated.i.sroa.19.0..sroa_idx37\", align 8, !dbg !105, !tbaa !41, !alias.scope !93, !noalias !94\n %8 = call nonnull \"enzyme_type\"=\"{[-1]:Pointer}\" ptr addrspace(10) (ptr, ptr addrspace(10), ...) @julia.call(ptr nonnull @ijl_apply_generic, ptr addrspace(10) nonnull %6, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695618785288 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695618768768 to ptr) to ptr addrspace(10)), ptr addrspace(10) nonnull %\"box::Duplicated25.i\") #11, !dbg !105\n %9 = call nonnull \"enzyme_type\"=\"{[-1]:Pointer}\" ptr addrspace(10) (ptr, ptr addrspace(10), ...) @julia.call(ptr nonnull @ijl_apply_generic, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695886842128 to ptr) to ptr addrspace(10)), ptr addrspace(10) nonnull %8, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695864039248 to ptr) to ptr addrspace(10))) #11, !dbg !106\n ret void, !dbg !77\n}\n\nattributes #0 = { nofree nosync nounwind willreturn memory(none) \"enzyme_inactive\" \"enzyme_no_escaping_allocation\" \"enzyme_shouldrecompute\" \"enzymejl_world\"=\"40013\" }\nattributes #1 = { nofree \"enzymejl_world\"=\"40013\" }\nattributes #2 = { nofree \"enzyme_inactive\" \"enzyme_no_escaping_allocation\" \"enzymejl_world\"=\"40013\" }\nattributes #3 = { mustprogress nofree nounwind willreturn allockind(\"alloc,uninitialized\") allocsize(1) memory(inaccessiblemem: readwrite) \"enzyme_ReadOnlyOrThrow\" \"enzyme_no_escaping_allocation\" \"enzymejl_world\"=\"40013\" }\nattributes #4 = { nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }\nattributes #5 = { alwaysinline \"enzymejl_world\"=\"40013\" }\nattributes #6 = { \"enzyme_retremove\" \"enzyme_ta_norecur\" \"enzymejl_mi\"=\"130695171816464\" \"enzymejl_rt\"=\"130695930797376\" \"enzymejl_world\"=\"40013\" }\nattributes #7 = { mustprogress willreturn }\nattributes #8 = { mustprogress nofree willreturn }\nattributes #9 = { mustprogress nofree willreturn \"enzyme_inactive\" \"enzyme_no_escaping_allocation\" }\nattributes #10 = { mustprogress nounwind willreturn allockind(\"alloc,uninitialized\") allocsize(1) memory(inaccessiblemem: readwrite) \"enzyme_no_escaping_allocation\" }\nattributes #11 = { nofree }\nattributes #12 = { nofree \"enzyme_inactive\" \"enzyme_no_escaping_allocation\" }\nattributes #13 = { nounwind willreturn allockind(\"alloc,uninitialized\") allocsize(1) memory(inaccessiblemem: readwrite) \"enzyme_no_escaping_allocation\" }\n\n!llvm.module.flags = !{!1, !2, !3, !4}\n!llvm.dbg.cu = !{!5, !7}\n\n!0 = !{}\n!1 = !{i32 2, !\"Dwarf Version\", i32 4}\n!2 = !{i32 2, !\"Debug Info Version\", i32 3}\n!3 = !{i32 1, !\"stack-protector-guard\", !\"\"}\n!4 = !{i32 1, !\"override-stack-alignment\", i32 0}\n!5 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !6, producer: \"julia\", isOptimized: true, runtimeVersion: 0, emissionKind: LineTablesOnly, nameTableKind: None)\n!6 = !DIFile(filename: \"julia\", directory: \".\")\n!7 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !6, producer: \"julia\", isOptimized: true, runtimeVersion: 0, emissionKind: LineTablesOnly, nameTableKind: None)\n!8 = distinct !DISubprogram(name: \"fwddiffejulia_derivative_bundle_47216_inner_1wrap\", linkageName: \"fwddiffejulia_derivative_bundle_47216_inner_1wrap\", scope: null, file: !9, type: !10, spFlags: DISPFlagLocalToUnit | DISPFlagDefinition | DISPFlagOptimized, unit: !7)\n!9 = !DIFile(filename: \"/home/pkgeval/.julia/packages/TowerOfEnzyme/wUeMv/src/TowerOfEnzyme.jl\", directory: \".\")\n!10 = !DISubroutineType(types: !0)\n!11 = !DILocation(line: 0, scope: !12, inlinedAt: !13)\n!12 = distinct !DISubprogram(name: \"derivative_bundle\", linkageName: \"julia_derivative_bundle_47216\", scope: null, file: !9, line: 53, type: !10, scopeLine: 53, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !7)\n!13 = distinct !DILocation(line: 0, scope: !8)\n!14 = !{!\"Unknown\", i32 -1, !15}\n!15 = !{!\"Float@double\"}\n!16 = !DILocation(line: 181, scope: !17, inlinedAt: !19)\n!17 = distinct !DISubprogram(name: \"#vaEltypeof##0;\", linkageName: \"#vaEltypeof##0\", scope: !18, file: !18, type: !10, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !7)\n!18 = !DIFile(filename: \"/home/pkgeval/.julia/packages/Enzyme/2lHFw/src/Enzyme.jl\", directory: \".\")\n!19 = distinct !DILocation(line: 68, scope: !20, inlinedAt: !22)\n!20 = distinct !DISubprogram(name: \"macro expansion;\", linkageName: \"macro expansion\", scope: !21, file: !21, type: !10, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !7)\n!21 = !DIFile(filename: \"ntuple.jl\", directory: \".\")\n!22 = distinct !DILocation(line: 65, scope: !23, inlinedAt: !24)\n!23 = distinct !DISubprogram(name: \"ntuple;\", linkageName: \"ntuple\", scope: !21, file: !21, type: !10, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !7)\n!24 = distinct !DILocation(line: 178, scope: !25, inlinedAt: !26)\n!25 = distinct !DISubprogram(name: \"vaEltypeof;\", linkageName: \"vaEltypeof\", scope: !18, file: !18, type: !10, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !7)\n!26 = distinct !DILocation(line: 555, scope: !27, inlinedAt: !28)\n!27 = distinct !DISubprogram(name: \"autodiff;\", linkageName: \"autodiff\", scope: !18, file: !18, type: !10, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !7)\n!28 = distinct !DILocation(line: 534, scope: !27, inlinedAt: !29)\n!29 = distinct !DILocation(line: 59, scope: !12, inlinedAt: !30)\n!30 = distinct !DILocation(line: 0, scope: !12, inlinedAt: !13)\n!31 = !DILocation(line: 178, scope: !25, inlinedAt: !26)\n!32 = !DILocation(line: 172, scope: !33, inlinedAt: !34)\n!33 = distinct !DISubprogram(name: \"#vaTypeof##0;\", linkageName: \"#vaTypeof##0\", scope: !18, file: !18, type: !10, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !7)\n!34 = distinct !DILocation(line: 68, scope: !20, inlinedAt: !35)\n!35 = distinct !DILocation(line: 65, scope: !23, inlinedAt: !36)\n!36 = distinct !DILocation(line: 169, scope: !37, inlinedAt: !38)\n!37 = distinct !DISubprogram(name: \"vaTypeof;\", linkageName: \"vaTypeof\", scope: !18, file: !18, type: !10, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !7)\n!38 = distinct !DILocation(line: 617, scope: !27, inlinedAt: !39)\n!39 = distinct !DILocation(line: 562, scope: !27, inlinedAt: !28)\n!40 = !{!\"130695165959632\"}\n!41 = !{!42, !42, i64 0}\n!42 = !{!\"jtbaa\", !43, i64 0}\n!43 = !{!\"jtbaa\"}\n!44 = !{!45, !47, !49}\n!45 = distinct !{!45, !46, !\"shadow_0\"}\n!46 = distinct !{!46, !\" diff: %box::Duplicated.i\"}\n!47 = !{!\"jnoalias_stack\", !48}\n!48 = !{!\"jnoalias\"}\n!49 = !{!\"jnoalias_data\", !48}\n!50 = !{!51, !52, !54, !55, !56}\n!51 = distinct !{!51, !46, !\"primal\"}\n!52 = distinct !{!52, !53, !\"na_addr13\"}\n!53 = distinct !{!53, !\"addr13\"}\n!54 = !{!\"jnoalias_gcframe\", !48}\n!55 = !{!\"jnoalias_typemd\", !48}\n!56 = !{!\"jnoalias_const\", !48}\n!57 = !{!51, !47, !49}\n!58 = !{!45, !52, !54, !55, !56}\n!59 = !DILocation(line: 169, scope: !37, inlinedAt: !38)\n!60 = !DILocation(line: 181, scope: !17, inlinedAt: !61)\n!61 = distinct !DILocation(line: 68, scope: !20, inlinedAt: !62)\n!62 = distinct !DILocation(line: 65, scope: !23, inlinedAt: !63)\n!63 = distinct !DILocation(line: 178, scope: !25, inlinedAt: !64)\n!64 = distinct !DILocation(line: 650, scope: !27, inlinedAt: !39)\n!65 = !DILocation(line: 178, scope: !25, inlinedAt: !64)\n!66 = !DILocation(line: 658, scope: !27, inlinedAt: !39)\n!67 = !DILocation(line: 673, scope: !27, inlinedAt: !39)\n!68 = !{!69, !47, !49}\n!69 = distinct !{!69, !70, !\"shadow_0\"}\n!70 = distinct !{!70, !\" diff: %box::Duplicated25.i\"}\n!71 = !{!72, !52, !54, !55, !56}\n!72 = distinct !{!72, !70, !\"primal\"}\n!73 = !{!72, !47, !49}\n!74 = !{!69, !52, !54, !55, !56}\n!75 = !DILocation(line: 59, scope: !12, inlinedAt: !30)\n!76 = distinct !DISubprogram(name: \"derivative_bundle\", linkageName: \"julia_derivative_bundle_47216\", scope: null, file: !9, line: 53, type: !10, scopeLine: 53, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !7)\n!77 = !DILocation(line: 0, scope: !76)\n!78 = !DILocation(line: 181, scope: !17, inlinedAt: !79)\n!79 = distinct !DILocation(line: 68, scope: !20, inlinedAt: !80)\n!80 = distinct !DILocation(line: 65, scope: !23, inlinedAt: !81)\n!81 = distinct !DILocation(line: 178, scope: !25, inlinedAt: !82)\n!82 = distinct !DILocation(line: 555, scope: !27, inlinedAt: !83)\n!83 = distinct !DILocation(line: 534, scope: !27, inlinedAt: !84)\n!84 = distinct !DILocation(line: 59, scope: !76, inlinedAt: !85)\n!85 = distinct !DILocation(line: 0, scope: !76)\n!86 = !DILocation(line: 178, scope: !25, inlinedAt: !82)\n!87 = !DILocation(line: 172, scope: !33, inlinedAt: !88)\n!88 = distinct !DILocation(line: 68, scope: !20, inlinedAt: !89)\n!89 = distinct !DILocation(line: 65, scope: !23, inlinedAt: !90)\n!90 = distinct !DILocation(line: 169, scope: !37, inlinedAt: !91)\n!91 = distinct !DILocation(line: 617, scope: !27, inlinedAt: !92)\n!92 = distinct !DILocation(line: 562, scope: !27, inlinedAt: !83)\n!93 = !{!47, !49}\n!94 = !{!95, !54, !55, !56}\n!95 = distinct !{!95, !96, !\"na_addr13\"}\n!96 = distinct !{!96, !\"addr13\"}\n!97 = !DILocation(line: 169, scope: !37, inlinedAt: !91)\n!98 = !DILocation(line: 181, scope: !17, inlinedAt: !99)\n!99 = distinct !DILocation(line: 68, scope: !20, inlinedAt: !100)\n!100 = distinct !DILocation(line: 65, scope: !23, inlinedAt: !101)\n!101 = distinct !DILocation(line: 178, scope: !25, inlinedAt: !102)\n!102 = distinct !DILocation(line: 650, scope: !27, inlinedAt: !92)\n!103 = !DILocation(line: 178, scope: !25, inlinedAt: !102)\n!104 = !DILocation(line: 658, scope: !27, inlinedAt: !92)\n!105 = !DILocation(line: 673, scope: !27, inlinedAt: !92)\n!106 = !DILocation(line: 59, scope: !76, inlinedAt: !85)\n"), :fwddiffejulia_derivative_bundle_47216_inner_1wrap)}, EnzymeCore.Const{typeof(derivative_bundle)}, EnzymeCore.Duplicated{Any}, Tuple{EnzymeCore.Const{typeof(flux)}, EnzymeCore.Duplicated{Tuple{SVector{4, Float64}, SVector{4, Float64}, SVector{4, Float64}}}}, 1, false}, ::EnzymeCore.Const{typeof(derivative_bundle)}, ::Nothing, ::EnzymeCore.Const{typeof(flux)}, ::Nothing, ::EnzymeCore.Duplicated{Tuple{SVector{4, Float64}, SVector{4, Float64}, SVector{4, Float64}}}, ::EnzymeCore.Duplicated{Tuple{SVector{4, Float64}, SVector{4, Float64}, SVector{4, Float64}}}) @ Enzyme.Compiler ~/.julia/packages/Enzyme/2lHFw/src/rules/jitrules.jl:357 [79] autodiff @ ~/.julia/packages/Enzyme/2lHFw/src/Enzyme.jl:673 [inlined] [80] autodiff @ ~/.julia/packages/Enzyme/2lHFw/src/Enzyme.jl:562 [inlined] [81] autodiff @ ~/.julia/packages/Enzyme/2lHFw/src/Enzyme.jl:534 [inlined] [82] derivative_bundle @ ~/.julia/packages/TowerOfEnzyme/wUeMv/src/TowerOfEnzyme.jl:59 [inlined] [83] derivative_bundle @ ~/.julia/packages/TowerOfEnzyme/wUeMv/src/TowerOfEnzyme.jl:0 [inlined] [84] fwddiffejulia_derivative_bundle_47584_inner_1wrap @ ~/.julia/packages/TowerOfEnzyme/wUeMv/src/TowerOfEnzyme.jl:0 [inlined] [85] macro expansion @ ~/.julia/packages/Enzyme/2lHFw/src/compiler.jl:6677 [inlined] [86] enzyme_call(::Val{false}, ::Val{(Symbol("; ModuleID = 'start'\nsource_filename = \"start\"\ntarget datalayout = \"e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-i128:128-f80:128-n8:16:32:64-S128-ni:10:11:12:13\"\ntarget triple = \"x86_64-linux-gnu\"\n\n@ejl_jl_nothing = external addrspace(10) global {}, !enzyme_ta_norecur !0, !enzyme_inactive !0\n@ejl_jl_false = external addrspace(10) global {}, !enzyme_ta_norecur !0, !enzyme_inactive !0\n@ejl_jl_true = external addrspace(10) global {}, !enzyme_ta_norecur !0, !enzyme_inactive !0\n@ejl_enz_val_1 = external addrspace(10) global {}, !enzyme_ta_norecur !0, !enzyme_inactive !0\n@ejl_enz_runtime_generic_fwd = external addrspace(10) global {}, !enzyme_ta_norecur !0, !enzyme_inactive !0\n\n; Function Attrs: nofree nosync nounwind willreturn memory(none)\ndeclare ptr @julia.get_pgcstack() local_unnamed_addr #0\n\n; Function Attrs: nofree\ndeclare nonnull ptr addrspace(10) @ijl_invoke(ptr addrspace(10), ptr noalias nocapture noundef readonly, i32, ptr addrspace(10)) #1\n\n; Function Attrs: nofree\ndeclare nonnull ptr addrspace(10) @julia.call2(ptr, ptr addrspace(10), ptr addrspace(10), ...) local_unnamed_addr #1\n\n; Function Attrs: nofree\ndeclare nonnull ptr addrspace(10) @jl_f_apply_type(ptr addrspace(10), ptr noalias nocapture noundef readonly, i32) #2\n\n; Function Attrs: nofree\ndeclare nonnull ptr addrspace(10) @julia.call(ptr, ptr addrspace(10), ...) local_unnamed_addr #1\n\n; Function Attrs: mustprogress nofree nounwind willreturn allockind(\"alloc,uninitialized\") allocsize(1) memory(inaccessiblemem: readwrite)\ndeclare noalias nonnull ptr addrspace(10) @julia.gc_alloc_obj(ptr, i64, ptr addrspace(10)) local_unnamed_addr #3\n\n; Function Attrs: nofree\ndeclare nonnull ptr addrspace(10) @ijl_apply_generic(ptr addrspace(10), ptr noalias nocapture noundef readonly, i32) #1\n\n; Function Attrs: nocallback nofree nosync nounwind willreturn memory(argmem: readwrite)\ndeclare void @llvm.lifetime.start.p0(i64 immarg, ptr nocapture) #4\n\n; Function Attrs: nocallback nofree nosync nounwind willreturn memory(argmem: readwrite)\ndeclare void @llvm.lifetime.end.p0(i64 immarg, ptr nocapture) #4\n\n; Function Attrs: alwaysinline\ndefine [1 x ptr addrspace(10)] @fwddiffejulia_derivative_bundle_47584_inner_1wrap([4 x [1 x [4 x double]]] %0, [4 x [1 x [4 x double]]] %1) #5 !dbg !8 {\nentry:\n %newly_emitted_pgc_stack = call ptr @julia.get_pgcstack()\n %2 = alloca [1 x ptr addrspace(10)], align 8\n %.fca.0.0.0.extract.i = extractvalue [4 x [1 x [4 x double]]] %0, 0, 0, 0, !dbg !11, !enzyme_type !14, !enzymejl_source_type_Float64 !0, !enzymejl_byref_BITS_VALUE !0\n %\".fca.0.0.0.extract'ipev.i\" = extractvalue [4 x [1 x [4 x double]]] %1, 0, 0, 0, !dbg !11\n %.fca.0.0.1.extract.i = extractvalue [4 x [1 x [4 x double]]] %0, 0, 0, 1, !dbg !11, !enzyme_type !14, !enzymejl_source_type_Float64 !0, !enzymejl_byref_BITS_VALUE !0\n %\".fca.0.0.1.extract'ipev.i\" = extractvalue [4 x [1 x [4 x double]]] %1, 0, 0, 1, !dbg !11\n %.fca.0.0.2.extract.i = extractvalue [4 x [1 x [4 x double]]] %0, 0, 0, 2, !dbg !11, !enzyme_type !14, !enzymejl_source_type_Float64 !0, !enzymejl_byref_BITS_VALUE !0\n %\".fca.0.0.2.extract'ipev.i\" = extractvalue [4 x [1 x [4 x double]]] %1, 0, 0, 2, !dbg !11\n %.fca.0.0.3.extract.i = extractvalue [4 x [1 x [4 x double]]] %0, 0, 0, 3, !dbg !11, !enzyme_type !14, !enzymejl_source_type_Float64 !0, !enzymejl_byref_BITS_VALUE !0\n %\".fca.0.0.3.extract'ipev.i\" = extractvalue [4 x [1 x [4 x double]]] %1, 0, 0, 3, !dbg !11\n %.fca.1.0.0.extract.i = extractvalue [4 x [1 x [4 x double]]] %0, 1, 0, 0, !dbg !11, !enzyme_type !14, !enzymejl_source_type_Float64 !0, !enzymejl_byref_BITS_VALUE !0\n %\".fca.1.0.0.extract'ipev.i\" = extractvalue [4 x [1 x [4 x double]]] %1, 1, 0, 0, !dbg !11\n %.fca.1.0.1.extract.i = extractvalue [4 x [1 x [4 x double]]] %0, 1, 0, 1, !dbg !11, !enzyme_type !14, !enzymejl_source_type_Float64 !0, !enzymejl_byref_BITS_VALUE !0\n %\".fca.1.0.1.extract'ipev.i\" = extractvalue [4 x [1 x [4 x double]]] %1, 1, 0, 1, !dbg !11\n %.fca.1.0.2.extract.i = extractvalue [4 x [1 x [4 x double]]] %0, 1, 0, 2, !dbg !11, !enzyme_type !14, !enzymejl_source_type_Float64 !0, !enzymejl_byref_BITS_VALUE !0\n %\".fca.1.0.2.extract'ipev.i\" = extractvalue [4 x [1 x [4 x double]]] %1, 1, 0, 2, !dbg !11\n %.fca.1.0.3.extract.i = extractvalue [4 x [1 x [4 x double]]] %0, 1, 0, 3, !dbg !11, !enzyme_type !14, !enzymejl_source_type_Float64 !0, !enzymejl_byref_BITS_VALUE !0\n %\".fca.1.0.3.extract'ipev.i\" = extractvalue [4 x [1 x [4 x double]]] %1, 1, 0, 3, !dbg !11\n %.fca.2.0.0.extract.i = extractvalue [4 x [1 x [4 x double]]] %0, 2, 0, 0, !dbg !11, !enzyme_type !14, !enzymejl_source_type_Float64 !0, !enzymejl_byref_BITS_VALUE !0\n %\".fca.2.0.0.extract'ipev.i\" = extractvalue [4 x [1 x [4 x double]]] %1, 2, 0, 0, !dbg !11\n %.fca.2.0.1.extract.i = extractvalue [4 x [1 x [4 x double]]] %0, 2, 0, 1, !dbg !11, !enzyme_type !14, !enzymejl_source_type_Float64 !0, !enzymejl_byref_BITS_VALUE !0\n %\".fca.2.0.1.extract'ipev.i\" = extractvalue [4 x [1 x [4 x double]]] %1, 2, 0, 1, !dbg !11\n %.fca.2.0.2.extract.i = extractvalue [4 x [1 x [4 x double]]] %0, 2, 0, 2, !dbg !11, !enzyme_type !14, !enzymejl_source_type_Float64 !0, !enzymejl_byref_BITS_VALUE !0\n %\".fca.2.0.2.extract'ipev.i\" = extractvalue [4 x [1 x [4 x double]]] %1, 2, 0, 2, !dbg !11\n %.fca.2.0.3.extract.i = extractvalue [4 x [1 x [4 x double]]] %0, 2, 0, 3, !dbg !11, !enzyme_type !14, !enzymejl_source_type_Float64 !0, !enzymejl_byref_BITS_VALUE !0\n %\".fca.2.0.3.extract'ipev.i\" = extractvalue [4 x [1 x [4 x double]]] %1, 2, 0, 3, !dbg !11\n %.fca.3.0.0.extract.i = extractvalue [4 x [1 x [4 x double]]] %0, 3, 0, 0, !dbg !11, !enzyme_type !14, !enzymejl_source_type_Float64 !0, !enzymejl_byref_BITS_VALUE !0\n %\".fca.3.0.0.extract'ipev.i\" = extractvalue [4 x [1 x [4 x double]]] %1, 3, 0, 0, !dbg !11\n %.fca.3.0.1.extract.i = extractvalue [4 x [1 x [4 x double]]] %0, 3, 0, 1, !dbg !11, !enzyme_type !14, !enzymejl_source_type_Float64 !0, !enzymejl_byref_BITS_VALUE !0\n %\".fca.3.0.1.extract'ipev.i\" = extractvalue [4 x [1 x [4 x double]]] %1, 3, 0, 1, !dbg !11\n %.fca.3.0.2.extract.i = extractvalue [4 x [1 x [4 x double]]] %0, 3, 0, 2, !dbg !11, !enzyme_type !14, !enzymejl_source_type_Float64 !0, !enzymejl_byref_BITS_VALUE !0\n %\".fca.3.0.2.extract'ipev.i\" = extractvalue [4 x [1 x [4 x double]]] %1, 3, 0, 2, !dbg !11\n %.fca.3.0.3.extract.i = extractvalue [4 x [1 x [4 x double]]] %0, 3, 0, 3, !dbg !11, !enzyme_type !14, !enzymejl_source_type_Float64 !0, !enzymejl_byref_BITS_VALUE !0\n %\".fca.3.0.3.extract'ipev.i\" = extractvalue [4 x [1 x [4 x double]]] %1, 3, 0, 3\n %pgcstack.i.i = call ptr @julia.get_pgcstack() #7\n %3 = call nonnull \"enzyme_type\"=\"{[-1]:Pointer}\" ptr addrspace(10) (ptr, ptr addrspace(10), ptr addrspace(10), ...) @julia.call2(ptr nonnull @ijl_invoke, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695899363856 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695860763760 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695618768768 to ptr) to ptr addrspace(10))) #8, !dbg !16\n %.not.i = icmp eq ptr addrspace(10) %3, addrspacecast (ptr inttoptr (i64 130695720003920 to ptr) to ptr addrspace(10)), !dbg !16\n %\"ejl_inserted\$_Core_Tuple_47591\$false\$130694969317456.ejl_inserted\$_Main__flux_47606\$false\$130695095857232.i\" = select i1 %.not.i, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695095857232 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130694969317456 to ptr) to ptr addrspace(10)), !dbg !16\n %jl_f_apply_type_ret.i.i = call nonnull \"enzyme_inactive\" \"enzyme_type\"=\"{[-1]:Pointer}\" ptr addrspace(10) (ptr, ptr addrspace(10), ...) @julia.call(ptr nonnull @jl_f_apply_type, ptr addrspace(10) null, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695930797600 to ptr) to ptr addrspace(10)), ptr addrspace(10) %\"ejl_inserted\$_Core_Tuple_47591\$false\$130694969317456.ejl_inserted\$_Main__flux_47606\$false\$130695095857232.i\", ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130694969317456 to ptr) to ptr addrspace(10))) #9, !dbg !31\n %4 = call nonnull \"enzyme_type\"=\"{[-1]:Pointer}\" ptr addrspace(10) (ptr, ptr addrspace(10), ptr addrspace(10), ...) @julia.call2(ptr nonnull @ijl_invoke, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695899363856 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695860763760 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695618768768 to ptr) to ptr addrspace(10))) #8, !dbg !32\n %current_task.i.i = getelementptr inbounds i8, ptr %pgcstack.i.i, i64 -152, !dbg !32\n %\"box::Duplicated.i.i\" = call noalias nonnull align 8 dereferenceable(192) \"enzyme_ReadOnlyOrThrow\" \"enzyme_type\"=\"{[-1]:Pointer, [-1,-1]:Float@double}\" ptr addrspace(10) @julia.gc_alloc_obj(ptr nonnull %current_task.i.i, i64 192, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130694968345232 to ptr) to ptr addrspace(10))) #10, !dbg !32, !enzymejl_gc_alloc_rt !40\n %5 = call noalias nonnull align 8 dereferenceable(192) \"enzyme_ReadOnlyOrThrow\" \"enzyme_type\"=\"{[-1]:Pointer, [-1,-1]:Float@double}\" ptr addrspace(10) @julia.gc_alloc_obj(ptr nonnull %current_task.i.i, i64 192, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130694968345232 to ptr) to ptr addrspace(10))) #10, !dbg !32\n %\"'ipc.i\" = addrspacecast ptr addrspace(10) %5 to ptr addrspace(11), !dbg !32\n %6 = addrspacecast ptr addrspace(10) %\"box::Duplicated.i.i\" to ptr addrspace(11), !dbg !32\n store double %\".fca.0.0.0.extract'ipev.i\", ptr addrspace(11) %\"'ipc.i\", align 8, !dbg !32, !tbaa !41, !alias.scope !44, !noalias !50\n store double %.fca.0.0.0.extract.i, ptr addrspace(11) %6, align 8, !dbg !32, !tbaa !41, !alias.scope !57, !noalias !58\n %\"new::Duplicated.i.sroa.5.0..sroa_idx'ipg.i\" = getelementptr inbounds i8, ptr addrspace(11) %\"'ipc.i\", i64 8, !dbg !32\n %\"new::Duplicated.i.sroa.5.0..sroa_idx.i\" = getelementptr inbounds nuw i8, ptr addrspace(11) %6, i64 8, !dbg !32\n store double %\".fca.0.0.1.extract'ipev.i\", ptr addrspace(11) %\"new::Duplicated.i.sroa.5.0..sroa_idx'ipg.i\", align 8, !dbg !32, !tbaa !41, !alias.scope !44, !noalias !50\n store double %.fca.0.0.1.extract.i, ptr addrspace(11) %\"new::Duplicated.i.sroa.5.0..sroa_idx.i\", align 8, !dbg !32, !tbaa !41, !alias.scope !57, !noalias !58\n %\"new::Duplicated.i.sroa.6.0..sroa_idx'ipg.i\" = getelementptr inbounds i8, ptr addrspace(11) %\"'ipc.i\", i64 16, !dbg !32\n %\"new::Duplicated.i.sroa.6.0..sroa_idx.i\" = getelementptr inbounds nuw i8, ptr addrspace(11) %6, i64 16, !dbg !32\n store double %\".fca.0.0.2.extract'ipev.i\", ptr addrspace(11) %\"new::Duplicated.i.sroa.6.0..sroa_idx'ipg.i\", align 8, !dbg !32, !tbaa !41, !alias.scope !44, !noalias !50\n store double %.fca.0.0.2.extract.i, ptr addrspace(11) %\"new::Duplicated.i.sroa.6.0..sroa_idx.i\", align 8, !dbg !32, !tbaa !41, !alias.scope !57, !noalias !58\n %\"new::Duplicated.i.sroa.7.0..sroa_idx'ipg.i\" = getelementptr inbounds i8, ptr addrspace(11) %\"'ipc.i\", i64 24, !dbg !32\n %\"new::Duplicated.i.sroa.7.0..sroa_idx.i\" = getelementptr inbounds nuw i8, ptr addrspace(11) %6, i64 24, !dbg !32\n store double %\".fca.0.0.3.extract'ipev.i\", ptr addrspace(11) %\"new::Duplicated.i.sroa.7.0..sroa_idx'ipg.i\", align 8, !dbg !32, !tbaa !41, !alias.scope !44, !noalias !50\n store double %.fca.0.0.3.extract.i, ptr addrspace(11) %\"new::Duplicated.i.sroa.7.0..sroa_idx.i\", align 8, !dbg !32, !tbaa !41, !alias.scope !57, !noalias !58\n %\"new::Duplicated.i.sroa.8.0..sroa_idx'ipg.i\" = getelementptr inbounds i8, ptr addrspace(11) %\"'ipc.i\", i64 32, !dbg !32\n %\"new::Duplicated.i.sroa.8.0..sroa_idx.i\" = getelementptr inbounds nuw i8, ptr addrspace(11) %6, i64 32, !dbg !32\n store double %\".fca.1.0.0.extract'ipev.i\", ptr addrspace(11) %\"new::Duplicated.i.sroa.8.0..sroa_idx'ipg.i\", align 8, !dbg !32, !tbaa !41, !alias.scope !44, !noalias !50\n store double %.fca.1.0.0.extract.i, ptr addrspace(11) %\"new::Duplicated.i.sroa.8.0..sroa_idx.i\", align 8, !dbg !32, !tbaa !41, !alias.scope !57, !noalias !58\n %\"new::Duplicated.i.sroa.9.0..sroa_idx'ipg.i\" = getelementptr inbounds i8, ptr addrspace(11) %\"'ipc.i\", i64 40, !dbg !32\n %\"new::Duplicated.i.sroa.9.0..sroa_idx.i\" = getelementptr inbounds nuw i8, ptr addrspace(11) %6, i64 40, !dbg !32\n store double %\".fca.1.0.1.extract'ipev.i\", ptr addrspace(11) %\"new::Duplicated.i.sroa.9.0..sroa_idx'ipg.i\", align 8, !dbg !32, !tbaa !41, !alias.scope !44, !noalias !50\n store double %.fca.1.0.1.extract.i, ptr addrspace(11) %\"new::Duplicated.i.sroa.9.0..sroa_idx.i\", align 8, !dbg !32, !tbaa !41, !alias.scope !57, !noalias !58\n %\"new::Duplicated.i.sroa.10.0..sroa_idx'ipg.i\" = getelementptr inbounds i8, ptr addrspace(11) %\"'ipc.i\", i64 48, !dbg !32\n %\"new::Duplicated.i.sroa.10.0..sroa_idx.i\" = getelementptr inbounds nuw i8, ptr addrspace(11) %6, i64 48, !dbg !32\n store double %\".fca.1.0.2.extract'ipev.i\", ptr addrspace(11) %\"new::Duplicated.i.sroa.10.0..sroa_idx'ipg.i\", align 8, !dbg !32, !tbaa !41, !alias.scope !44, !noalias !50\n store double %.fca.1.0.2.extract.i, ptr addrspace(11) %\"new::Duplicated.i.sroa.10.0..sroa_idx.i\", align 8, !dbg !32, !tbaa !41, !alias.scope !57, !noalias !58\n %\"new::Duplicated.i.sroa.11.0..sroa_idx'ipg.i\" = getelementptr inbounds i8, ptr addrspace(11) %\"'ipc.i\", i64 56, !dbg !32\n %\"new::Duplicated.i.sroa.11.0..sroa_idx.i\" = getelementptr inbounds nuw i8, ptr addrspace(11) %6, i64 56, !dbg !32\n store double %\".fca.1.0.3.extract'ipev.i\", ptr addrspace(11) %\"new::Duplicated.i.sroa.11.0..sroa_idx'ipg.i\", align 8, !dbg !32, !tbaa !41, !alias.scope !44, !noalias !50\n store double %.fca.1.0.3.extract.i, ptr addrspace(11) %\"new::Duplicated.i.sroa.11.0..sroa_idx.i\", align 8, !dbg !32, !tbaa !41, !alias.scope !57, !noalias !58\n %\"new::Duplicated.i.sroa.12.0..sroa_idx'ipg.i\" = getelementptr inbounds i8, ptr addrspace(11) %\"'ipc.i\", i64 64, !dbg !32\n %\"new::Duplicated.i.sroa.12.0..sroa_idx.i\" = getelementptr inbounds nuw i8, ptr addrspace(11) %6, i64 64, !dbg !32\n store double %\".fca.2.0.0.extract'ipev.i\", ptr addrspace(11) %\"new::Duplicated.i.sroa.12.0..sroa_idx'ipg.i\", align 8, !dbg !32, !tbaa !41, !alias.scope !44, !noalias !50\n store double %.fca.2.0.0.extract.i, ptr addrspace(11) %\"new::Duplicated.i.sroa.12.0..sroa_idx.i\", align 8, !dbg !32, !tbaa !41, !alias.scope !57, !noalias !58\n %\"new::Duplicated.i.sroa.13.0..sroa_idx'ipg.i\" = getelementptr inbounds i8, ptr addrspace(11) %\"'ipc.i\", i64 72, !dbg !32\n %\"new::Duplicated.i.sroa.13.0..sroa_idx.i\" = getelementptr inbounds nuw i8, ptr addrspace(11) %6, i64 72, !dbg !32\n store double %\".fca.2.0.1.extract'ipev.i\", ptr addrspace(11) %\"new::Duplicated.i.sroa.13.0..sroa_idx'ipg.i\", align 8, !dbg !32, !tbaa !41, !alias.scope !44, !noalias !50\n store double %.fca.2.0.1.extract.i, ptr addrspace(11) %\"new::Duplicated.i.sroa.13.0..sroa_idx.i\", align 8, !dbg !32, !tbaa !41, !alias.scope !57, !noalias !58\n %\"new::Duplicated.i.sroa.14.0..sroa_idx'ipg.i\" = getelementptr inbounds i8, ptr addrspace(11) %\"'ipc.i\", i64 80, !dbg !32\n %\"new::Duplicated.i.sroa.14.0..sroa_idx.i\" = getelementptr inbounds nuw i8, ptr addrspace(11) %6, i64 80, !dbg !32\n store double %\".fca.2.0.2.extract'ipev.i\", ptr addrspace(11) %\"new::Duplicated.i.sroa.14.0..sroa_idx'ipg.i\", align 8, !dbg !32, !tbaa !41, !alias.scope !44, !noalias !50\n store double %.fca.2.0.2.extract.i, ptr addrspace(11) %\"new::Duplicated.i.sroa.14.0..sroa_idx.i\", align 8, !dbg !32, !tbaa !41, !alias.scope !57, !noalias !58\n %\"new::Duplicated.i.sroa.15.0..sroa_idx'ipg.i\" = getelementptr inbounds i8, ptr addrspace(11) %\"'ipc.i\", i64 88, !dbg !32\n %\"new::Duplicated.i.sroa.15.0..sroa_idx.i\" = getelementptr inbounds nuw i8, ptr addrspace(11) %6, i64 88, !dbg !32\n store double %\".fca.2.0.3.extract'ipev.i\", ptr addrspace(11) %\"new::Duplicated.i.sroa.15.0..sroa_idx'ipg.i\", align 8, !dbg !32, !tbaa !41, !alias.scope !44, !noalias !50\n store double %.fca.2.0.3.extract.i, ptr addrspace(11) %\"new::Duplicated.i.sroa.15.0..sroa_idx.i\", align 8, !dbg !32, !tbaa !41, !alias.scope !57, !noalias !58\n %\"new::Duplicated.i.sroa.16.0..sroa_idx'ipg.i\" = getelementptr inbounds i8, ptr addrspace(11) %\"'ipc.i\", i64 96, !dbg !32\n %\"new::Duplicated.i.sroa.16.0..sroa_idx.i\" = getelementptr inbounds nuw i8, ptr addrspace(11) %6, i64 96, !dbg !32\n store double %\".fca.1.0.0.extract'ipev.i\", ptr addrspace(11) %\"new::Duplicated.i.sroa.16.0..sroa_idx'ipg.i\", align 8, !dbg !32, !tbaa !41, !alias.scope !44, !noalias !50\n store double %.fca.1.0.0.extract.i, ptr addrspace(11) %\"new::Duplicated.i.sroa.16.0..sroa_idx.i\", align 8, !dbg !32, !tbaa !41, !alias.scope !57, !noalias !58\n %\"new::Duplicated.i.sroa.17.0..sroa_idx'ipg.i\" = getelementptr inbounds i8, ptr addrspace(11) %\"'ipc.i\", i64 104, !dbg !32\n %\"new::Duplicated.i.sroa.17.0..sroa_idx.i\" = getelementptr inbounds nuw i8, ptr addrspace(11) %6, i64 104, !dbg !32\n store double %\".fca.1.0.1.extract'ipev.i\", ptr addrspace(11) %\"new::Duplicated.i.sroa.17.0..sroa_idx'ipg.i\", align 8, !dbg !32, !tbaa !41, !alias.scope !44, !noalias !50\n store double %.fca.1.0.1.extract.i, ptr addrspace(11) %\"new::Duplicated.i.sroa.17.0..sroa_idx.i\", align 8, !dbg !32, !tbaa !41, !alias.scope !57, !noalias !58\n %\"new::Duplicated.i.sroa.18.0..sroa_idx'ipg.i\" = getelementptr inbounds i8, ptr addrspace(11) %\"'ipc.i\", i64 112, !dbg !32\n %\"new::Duplicated.i.sroa.18.0..sroa_idx.i\" = getelementptr inbounds nuw i8, ptr addrspace(11) %6, i64 112, !dbg !32\n store double %\".fca.1.0.2.extract'ipev.i\", ptr addrspace(11) %\"new::Duplicated.i.sroa.18.0..sroa_idx'ipg.i\", align 8, !dbg !32, !tbaa !41, !alias.scope !44, !noalias !50\n store double %.fca.1.0.2.extract.i, ptr addrspace(11) %\"new::Duplicated.i.sroa.18.0..sroa_idx.i\", align 8, !dbg !32, !tbaa !41, !alias.scope !57, !noalias !58\n %\"new::Duplicated.i.sroa.19.0..sroa_idx'ipg.i\" = getelementptr inbounds i8, ptr addrspace(11) %\"'ipc.i\", i64 120, !dbg !32\n %\"new::Duplicated.i.sroa.19.0..sroa_idx.i\" = getelementptr inbounds nuw i8, ptr addrspace(11) %6, i64 120, !dbg !32\n store double %\".fca.1.0.3.extract'ipev.i\", ptr addrspace(11) %\"new::Duplicated.i.sroa.19.0..sroa_idx'ipg.i\", align 8, !dbg !32, !tbaa !41, !alias.scope !44, !noalias !50\n store double %.fca.1.0.3.extract.i, ptr addrspace(11) %\"new::Duplicated.i.sroa.19.0..sroa_idx.i\", align 8, !dbg !32, !tbaa !41, !alias.scope !57, !noalias !58\n %\"new::Duplicated.i.sroa.20.0..sroa_idx'ipg.i\" = getelementptr inbounds i8, ptr addrspace(11) %\"'ipc.i\", i64 128, !dbg !32\n %\"new::Duplicated.i.sroa.20.0..sroa_idx.i\" = getelementptr inbounds nuw i8, ptr addrspace(11) %6, i64 128, !dbg !32\n store double %\".fca.2.0.0.extract'ipev.i\", ptr addrspace(11) %\"new::Duplicated.i.sroa.20.0..sroa_idx'ipg.i\", align 8, !dbg !32, !tbaa !41, !alias.scope !44, !noalias !50\n store double %.fca.2.0.0.extract.i, ptr addrspace(11) %\"new::Duplicated.i.sroa.20.0..sroa_idx.i\", align 8, !dbg !32, !tbaa !41, !alias.scope !57, !noalias !58\n %\"new::Duplicated.i.sroa.21.0..sroa_idx'ipg.i\" = getelementptr inbounds i8, ptr addrspace(11) %\"'ipc.i\", i64 136, !dbg !32\n %\"new::Duplicated.i.sroa.21.0..sroa_idx.i\" = getelementptr inbounds nuw i8, ptr addrspace(11) %6, i64 136, !dbg !32\n store double %\".fca.2.0.1.extract'ipev.i\", ptr addrspace(11) %\"new::Duplicated.i.sroa.21.0..sroa_idx'ipg.i\", align 8, !dbg !32, !tbaa !41, !alias.scope !44, !noalias !50\n store double %.fca.2.0.1.extract.i, ptr addrspace(11) %\"new::Duplicated.i.sroa.21.0..sroa_idx.i\", align 8, !dbg !32, !tbaa !41, !alias.scope !57, !noalias !58\n %\"new::Duplicated.i.sroa.22.0..sroa_idx'ipg.i\" = getelementptr inbounds i8, ptr addrspace(11) %\"'ipc.i\", i64 144, !dbg !32\n %\"new::Duplicated.i.sroa.22.0..sroa_idx.i\" = getelementptr inbounds nuw i8, ptr addrspace(11) %6, i64 144, !dbg !32\n store double %\".fca.2.0.2.extract'ipev.i\", ptr addrspace(11) %\"new::Duplicated.i.sroa.22.0..sroa_idx'ipg.i\", align 8, !dbg !32, !tbaa !41, !alias.scope !44, !noalias !50\n store double %.fca.2.0.2.extract.i, ptr addrspace(11) %\"new::Duplicated.i.sroa.22.0..sroa_idx.i\", align 8, !dbg !32, !tbaa !41, !alias.scope !57, !noalias !58\n %\"new::Duplicated.i.sroa.23.0..sroa_idx'ipg.i\" = getelementptr inbounds i8, ptr addrspace(11) %\"'ipc.i\", i64 152, !dbg !32\n %\"new::Duplicated.i.sroa.23.0..sroa_idx.i\" = getelementptr inbounds nuw i8, ptr addrspace(11) %6, i64 152, !dbg !32\n store double %\".fca.2.0.3.extract'ipev.i\", ptr addrspace(11) %\"new::Duplicated.i.sroa.23.0..sroa_idx'ipg.i\", align 8, !dbg !32, !tbaa !41, !alias.scope !44, !noalias !50\n store double %.fca.2.0.3.extract.i, ptr addrspace(11) %\"new::Duplicated.i.sroa.23.0..sroa_idx.i\", align 8, !dbg !32, !tbaa !41, !alias.scope !57, !noalias !58\n %\"new::Duplicated.i.sroa.24.0..sroa_idx'ipg.i\" = getelementptr inbounds i8, ptr addrspace(11) %\"'ipc.i\", i64 160, !dbg !32\n %\"new::Duplicated.i.sroa.24.0..sroa_idx.i\" = getelementptr inbounds nuw i8, ptr addrspace(11) %6, i64 160, !dbg !32\n store double %\".fca.3.0.0.extract'ipev.i\", ptr addrspace(11) %\"new::Duplicated.i.sroa.24.0..sroa_idx'ipg.i\", align 8, !dbg !32, !tbaa !41, !alias.scope !44, !noalias !50\n store double %.fca.3.0.0.extract.i, ptr addrspace(11) %\"new::Duplicated.i.sroa.24.0..sroa_idx.i\", align 8, !dbg !32, !tbaa !41, !alias.scope !57, !noalias !58\n %\"new::Duplicated.i.sroa.25.0..sroa_idx'ipg.i\" = getelementptr inbounds i8, ptr addrspace(11) %\"'ipc.i\", i64 168, !dbg !32\n %\"new::Duplicated.i.sroa.25.0..sroa_idx.i\" = getelementptr inbounds nuw i8, ptr addrspace(11) %6, i64 168, !dbg !32\n store double %\".fca.3.0.1.extract'ipev.i\", ptr addrspace(11) %\"new::Duplicated.i.sroa.25.0..sroa_idx'ipg.i\", align 8, !dbg !32, !tbaa !41, !alias.scope !44, !noalias !50\n store double %.fca.3.0.1.extract.i, ptr addrspace(11) %\"new::Duplicated.i.sroa.25.0..sroa_idx.i\", align 8, !dbg !32, !tbaa !41, !alias.scope !57, !noalias !58\n %\"new::Duplicated.i.sroa.26.0..sroa_idx'ipg.i\" = getelementptr inbounds i8, ptr addrspace(11) %\"'ipc.i\", i64 176, !dbg !32\n %\"new::Duplicated.i.sroa.26.0..sroa_idx.i\" = getelementptr inbounds nuw i8, ptr addrspace(11) %6, i64 176, !dbg !32\n store double %\".fca.3.0.2.extract'ipev.i\", ptr addrspace(11) %\"new::Duplicated.i.sroa.26.0..sroa_idx'ipg.i\", align 8, !dbg !32, !tbaa !41, !alias.scope !44, !noalias !50\n store double %.fca.3.0.2.extract.i, ptr addrspace(11) %\"new::Duplicated.i.sroa.26.0..sroa_idx.i\", align 8, !dbg !32, !tbaa !41, !alias.scope !57, !noalias !58\n %\"new::Duplicated.i.sroa.27.0..sroa_idx'ipg.i\" = getelementptr inbounds i8, ptr addrspace(11) %\"'ipc.i\", i64 184, !dbg !32\n %\"new::Duplicated.i.sroa.27.0..sroa_idx.i\" = getelementptr inbounds nuw i8, ptr addrspace(11) %6, i64 184, !dbg !32\n store double %\".fca.3.0.3.extract'ipev.i\", ptr addrspace(11) %\"new::Duplicated.i.sroa.27.0..sroa_idx'ipg.i\", align 8, !dbg !32, !tbaa !41, !alias.scope !44, !noalias !50\n store double %.fca.3.0.3.extract.i, ptr addrspace(11) %\"new::Duplicated.i.sroa.27.0..sroa_idx.i\", align 8, !dbg !32, !tbaa !41, !alias.scope !57, !noalias !58\n %7 = call ptr addrspace(10) (ptr, ptr addrspace(10), ...) @julia.call(ptr @ijl_apply_generic, ptr addrspace(10) @ejl_enz_runtime_generic_fwd, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695126066832 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695908277584 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695908277584 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_enz_val_1, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695618737712 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695860763760 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) %\"box::Duplicated.i.i\", ptr addrspace(10) %5), !dbg !32\n %8 = addrspacecast ptr addrspace(10) %7 to ptr addrspace(11), !dbg !32\n %9 = load ptr addrspace(10), ptr addrspace(11) %8, align 8, !dbg !32\n %jl_f_apply_type_ret10.i.i = call nonnull \"enzyme_inactive\" \"enzyme_type\"=\"{[-1]:Pointer}\" ptr addrspace(10) (ptr, ptr addrspace(10), ...) @julia.call(ptr nonnull @jl_f_apply_type, ptr addrspace(10) null, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695930797600 to ptr) to ptr addrspace(10)), ptr addrspace(10) nonnull %4, ptr addrspace(10) nonnull %9) #9, !dbg !59\n %10 = call nonnull \"enzyme_type\"=\"{[-1]:Pointer}\" ptr addrspace(10) (ptr, ptr addrspace(10), ptr addrspace(10), ...) @julia.call2(ptr nonnull @ijl_invoke, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695899363856 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695860763760 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695618768768 to ptr) to ptr addrspace(10))) #8, !dbg !60\n %.not62.i = icmp eq ptr addrspace(10) %10, addrspacecast (ptr inttoptr (i64 130695720003920 to ptr) to ptr addrspace(10)), !dbg !60\n %value_phi15.i.i = select i1 %.not62.i, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695095857232 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130694969317456 to ptr) to ptr addrspace(10)), !dbg !60\n %jl_f_apply_type_ret18.i.i = call nonnull \"enzyme_inactive\" \"enzyme_type\"=\"{[-1]:Pointer}\" ptr addrspace(10) (ptr, ptr addrspace(10), ...) @julia.call(ptr nonnull @jl_f_apply_type, ptr addrspace(10) null, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695930797600 to ptr) to ptr addrspace(10)), ptr addrspace(10) %value_phi15.i.i, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130694969317456 to ptr) to ptr addrspace(10))) #9, !dbg !65\n %11 = call ptr addrspace(10) (ptr, ptr addrspace(10), ...) @julia.call(ptr @ijl_apply_generic, ptr addrspace(10) @ejl_enz_runtime_generic_fwd, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695159782544 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695908277584 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695908277584 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_enz_val_1, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695618737712 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695560688096 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695876761728 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695740856528 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695179751504 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) %jl_f_apply_type_ret10.i.i, ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695618718864 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695857041792 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695618743472 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695908277584 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695908277584 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 914660384 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695908276976 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695908277584 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695908277584 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing), !dbg !66\n %12 = addrspacecast ptr addrspace(10) %11 to ptr addrspace(11), !dbg !66\n %13 = getelementptr inbounds [2 x ptr addrspace(10)], ptr addrspace(11) %12, i64 0, i64 1, !dbg !66\n %14 = load ptr addrspace(10), ptr addrspace(11) %13, align 8, !dbg !66\n %15 = load ptr addrspace(10), ptr addrspace(11) %12, align 8, !dbg !66\n %\"box::Duplicated26.i.i\" = call noalias nonnull align 8 dereferenceable(192) \"enzyme_ReadOnlyOrThrow\" \"enzyme_type\"=\"{[-1]:Pointer, [-1,-1]:Float@double}\" ptr addrspace(10) @julia.gc_alloc_obj(ptr nonnull %current_task.i.i, i64 192, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130694968345232 to ptr) to ptr addrspace(10))) #10, !dbg !67, !enzymejl_gc_alloc_rt !40\n %16 = call noalias nonnull align 8 dereferenceable(192) \"enzyme_ReadOnlyOrThrow\" \"enzyme_type\"=\"{[-1]:Pointer, [-1,-1]:Float@double}\" ptr addrspace(10) @julia.gc_alloc_obj(ptr nonnull %current_task.i.i, i64 192, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130694968345232 to ptr) to ptr addrspace(10))) #10, !dbg !67\n %\"'ipc9.i\" = addrspacecast ptr addrspace(10) %16 to ptr addrspace(11), !dbg !67\n %17 = addrspacecast ptr addrspace(10) %\"box::Duplicated26.i.i\" to ptr addrspace(11), !dbg !67\n store double %\".fca.0.0.0.extract'ipev.i\", ptr addrspace(11) %\"'ipc9.i\", align 8, !dbg !67, !tbaa !41, !alias.scope !68, !noalias !71\n store double %.fca.0.0.0.extract.i, ptr addrspace(11) %17, align 8, !dbg !67, !tbaa !41, !alias.scope !73, !noalias !74\n %\"new::Duplicated.i.sroa.5.0..sroa_idx16'ipg.i\" = getelementptr inbounds i8, ptr addrspace(11) %\"'ipc9.i\", i64 8, !dbg !67\n %\"new::Duplicated.i.sroa.5.0..sroa_idx16.i\" = getelementptr inbounds nuw i8, ptr addrspace(11) %17, i64 8, !dbg !67\n store double %\".fca.0.0.1.extract'ipev.i\", ptr addrspace(11) %\"new::Duplicated.i.sroa.5.0..sroa_idx16'ipg.i\", align 8, !dbg !67, !tbaa !41, !alias.scope !68, !noalias !71\n store double %.fca.0.0.1.extract.i, ptr addrspace(11) %\"new::Duplicated.i.sroa.5.0..sroa_idx16.i\", align 8, !dbg !67, !tbaa !41, !alias.scope !73, !noalias !74\n %\"new::Duplicated.i.sroa.6.0..sroa_idx18'ipg.i\" = getelementptr inbounds i8, ptr addrspace(11) %\"'ipc9.i\", i64 16, !dbg !67\n %\"new::Duplicated.i.sroa.6.0..sroa_idx18.i\" = getelementptr inbounds nuw i8, ptr addrspace(11) %17, i64 16, !dbg !67\n store double %\".fca.0.0.2.extract'ipev.i\", ptr addrspace(11) %\"new::Duplicated.i.sroa.6.0..sroa_idx18'ipg.i\", align 8, !dbg !67, !tbaa !41, !alias.scope !68, !noalias !71\n store double %.fca.0.0.2.extract.i, ptr addrspace(11) %\"new::Duplicated.i.sroa.6.0..sroa_idx18.i\", align 8, !dbg !67, !tbaa !41, !alias.scope !73, !noalias !74\n %\"new::Duplicated.i.sroa.7.0..sroa_idx20'ipg.i\" = getelementptr inbounds i8, ptr addrspace(11) %\"'ipc9.i\", i64 24, !dbg !67\n %\"new::Duplicated.i.sroa.7.0..sroa_idx20.i\" = getelementptr inbounds nuw i8, ptr addrspace(11) %17, i64 24, !dbg !67\n store double %\".fca.0.0.3.extract'ipev.i\", ptr addrspace(11) %\"new::Duplicated.i.sroa.7.0..sroa_idx20'ipg.i\", align 8, !dbg !67, !tbaa !41, !alias.scope !68, !noalias !71\n store double %.fca.0.0.3.extract.i, ptr addrspace(11) %\"new::Duplicated.i.sroa.7.0..sroa_idx20.i\", align 8, !dbg !67, !tbaa !41, !alias.scope !73, !noalias !74\n %\"new::Duplicated.i.sroa.8.0..sroa_idx22'ipg.i\" = getelementptr inbounds i8, ptr addrspace(11) %\"'ipc9.i\", i64 32, !dbg !67\n %\"new::Duplicated.i.sroa.8.0..sroa_idx22.i\" = getelementptr inbounds nuw i8, ptr addrspace(11) %17, i64 32, !dbg !67\n store double %\".fca.1.0.0.extract'ipev.i\", ptr addrspace(11) %\"new::Duplicated.i.sroa.8.0..sroa_idx22'ipg.i\", align 8, !dbg !67, !tbaa !41, !alias.scope !68, !noalias !71\n store double %.fca.1.0.0.extract.i, ptr addrspace(11) %\"new::Duplicated.i.sroa.8.0..sroa_idx22.i\", align 8, !dbg !67, !tbaa !41, !alias.scope !73, !noalias !74\n %\"new::Duplicated.i.sroa.9.0..sroa_idx24'ipg.i\" = getelementptr inbounds i8, ptr addrspace(11) %\"'ipc9.i\", i64 40, !dbg !67\n %\"new::Duplicated.i.sroa.9.0..sroa_idx24.i\" = getelementptr inbounds nuw i8, ptr addrspace(11) %17, i64 40, !dbg !67\n store double %\".fca.1.0.1.extract'ipev.i\", ptr addrspace(11) %\"new::Duplicated.i.sroa.9.0..sroa_idx24'ipg.i\", align 8, !dbg !67, !tbaa !41, !alias.scope !68, !noalias !71\n store double %.fca.1.0.1.extract.i, ptr addrspace(11) %\"new::Duplicated.i.sroa.9.0..sroa_idx24.i\", align 8, !dbg !67, !tbaa !41, !alias.scope !73, !noalias !74\n %\"new::Duplicated.i.sroa.10.0..sroa_idx26'ipg.i\" = getelementptr inbounds i8, ptr addrspace(11) %\"'ipc9.i\", i64 48, !dbg !67\n %\"new::Duplicated.i.sroa.10.0..sroa_idx26.i\" = getelementptr inbounds nuw i8, ptr addrspace(11) %17, i64 48, !dbg !67\n store double %\".fca.1.0.2.extract'ipev.i\", ptr addrspace(11) %\"new::Duplicated.i.sroa.10.0..sroa_idx26'ipg.i\", align 8, !dbg !67, !tbaa !41, !alias.scope !68, !noalias !71\n store double %.fca.1.0.2.extract.i, ptr addrspace(11) %\"new::Duplicated.i.sroa.10.0..sroa_idx26.i\", align 8, !dbg !67, !tbaa !41, !alias.scope !73, !noalias !74\n %\"new::Duplicated.i.sroa.11.0..sroa_idx28'ipg.i\" = getelementptr inbounds i8, ptr addrspace(11) %\"'ipc9.i\", i64 56, !dbg !67\n %\"new::Duplicated.i.sroa.11.0..sroa_idx28.i\" = getelementptr inbounds nuw i8, ptr addrspace(11) %17, i64 56, !dbg !67\n store double %\".fca.1.0.3.extract'ipev.i\", ptr addrspace(11) %\"new::Duplicated.i.sroa.11.0..sroa_idx28'ipg.i\", align 8, !dbg !67, !tbaa !41, !alias.scope !68, !noalias !71\n store double %.fca.1.0.3.extract.i, ptr addrspace(11) %\"new::Duplicated.i.sroa.11.0..sroa_idx28.i\", align 8, !dbg !67, !tbaa !41, !alias.scope !73, !noalias !74\n %\"new::Duplicated.i.sroa.12.0..sroa_idx30'ipg.i\" = getelementptr inbounds i8, ptr addrspace(11) %\"'ipc9.i\", i64 64, !dbg !67\n %\"new::Duplicated.i.sroa.12.0..sroa_idx30.i\" = getelementptr inbounds nuw i8, ptr addrspace(11) %17, i64 64, !dbg !67\n store double %\".fca.2.0.0.extract'ipev.i\", ptr addrspace(11) %\"new::Duplicated.i.sroa.12.0..sroa_idx30'ipg.i\", align 8, !dbg !67, !tbaa !41, !alias.scope !68, !noalias !71\n store double %.fca.2.0.0.extract.i, ptr addrspace(11) %\"new::Duplicated.i.sroa.12.0..sroa_idx30.i\", align 8, !dbg !67, !tbaa !41, !alias.scope !73, !noalias !74\n %\"new::Duplicated.i.sroa.13.0..sroa_idx32'ipg.i\" = getelementptr inbounds i8, ptr addrspace(11) %\"'ipc9.i\", i64 72, !dbg !67\n %\"new::Duplicated.i.sroa.13.0..sroa_idx32.i\" = getelementptr inbounds nuw i8, ptr addrspace(11) %17, i64 72, !dbg !67\n store double %\".fca.2.0.1.extract'ipev.i\", ptr addrspace(11) %\"new::Duplicated.i.sroa.13.0..sroa_idx32'ipg.i\", align 8, !dbg !67, !tbaa !41, !alias.scope !68, !noalias !71\n store double %.fca.2.0.1.extract.i, ptr addrspace(11) %\"new::Duplicated.i.sroa.13.0..sroa_idx32.i\", align 8, !dbg !67, !tbaa !41, !alias.scope !73, !noalias !74\n %\"new::Duplicated.i.sroa.14.0..sroa_idx34'ipg.i\" = getelementptr inbounds i8, ptr addrspace(11) %\"'ipc9.i\", i64 80, !dbg !67\n %\"new::Duplicated.i.sroa.14.0..sroa_idx34.i\" = getelementptr inbounds nuw i8, ptr addrspace(11) %17, i64 80, !dbg !67\n store double %\".fca.2.0.2.extract'ipev.i\", ptr addrspace(11) %\"new::Duplicated.i.sroa.14.0..sroa_idx34'ipg.i\", align 8, !dbg !67, !tbaa !41, !alias.scope !68, !noalias !71\n store double %.fca.2.0.2.extract.i, ptr addrspace(11) %\"new::Duplicated.i.sroa.14.0..sroa_idx34.i\", align 8, !dbg !67, !tbaa !41, !alias.scope !73, !noalias !74\n %\"new::Duplicated.i.sroa.15.0..sroa_idx36'ipg.i\" = getelementptr inbounds i8, ptr addrspace(11) %\"'ipc9.i\", i64 88, !dbg !67\n %\"new::Duplicated.i.sroa.15.0..sroa_idx36.i\" = getelementptr inbounds nuw i8, ptr addrspace(11) %17, i64 88, !dbg !67\n store double %\".fca.2.0.3.extract'ipev.i\", ptr addrspace(11) %\"new::Duplicated.i.sroa.15.0..sroa_idx36'ipg.i\", align 8, !dbg !67, !tbaa !41, !alias.scope !68, !noalias !71\n store double %.fca.2.0.3.extract.i, ptr addrspace(11) %\"new::Duplicated.i.sroa.15.0..sroa_idx36.i\", align 8, !dbg !67, !tbaa !41, !alias.scope !73, !noalias !74\n %\"new::Duplicated.i.sroa.16.0..sroa_idx38'ipg.i\" = getelementptr inbounds i8, ptr addrspace(11) %\"'ipc9.i\", i64 96, !dbg !67\n %\"new::Duplicated.i.sroa.16.0..sroa_idx38.i\" = getelementptr inbounds nuw i8, ptr addrspace(11) %17, i64 96, !dbg !67\n store double %\".fca.1.0.0.extract'ipev.i\", ptr addrspace(11) %\"new::Duplicated.i.sroa.16.0..sroa_idx38'ipg.i\", align 8, !dbg !67, !tbaa !41, !alias.scope !68, !noalias !71\n store double %.fca.1.0.0.extract.i, ptr addrspace(11) %\"new::Duplicated.i.sroa.16.0..sroa_idx38.i\", align 8, !dbg !67, !tbaa !41, !alias.scope !73, !noalias !74\n %\"new::Duplicated.i.sroa.17.0..sroa_idx40'ipg.i\" = getelementptr inbounds i8, ptr addrspace(11) %\"'ipc9.i\", i64 104, !dbg !67\n %\"new::Duplicated.i.sroa.17.0..sroa_idx40.i\" = getelementptr inbounds nuw i8, ptr addrspace(11) %17, i64 104, !dbg !67\n store double %\".fca.1.0.1.extract'ipev.i\", ptr addrspace(11) %\"new::Duplicated.i.sroa.17.0..sroa_idx40'ipg.i\", align 8, !dbg !67, !tbaa !41, !alias.scope !68, !noalias !71\n store double %.fca.1.0.1.extract.i, ptr addrspace(11) %\"new::Duplicated.i.sroa.17.0..sroa_idx40.i\", align 8, !dbg !67, !tbaa !41, !alias.scope !73, !noalias !74\n %\"new::Duplicated.i.sroa.18.0..sroa_idx42'ipg.i\" = getelementptr inbounds i8, ptr addrspace(11) %\"'ipc9.i\", i64 112, !dbg !67\n %\"new::Duplicated.i.sroa.18.0..sroa_idx42.i\" = getelementptr inbounds nuw i8, ptr addrspace(11) %17, i64 112, !dbg !67\n store double %\".fca.1.0.2.extract'ipev.i\", ptr addrspace(11) %\"new::Duplicated.i.sroa.18.0..sroa_idx42'ipg.i\", align 8, !dbg !67, !tbaa !41, !alias.scope !68, !noalias !71\n store double %.fca.1.0.2.extract.i, ptr addrspace(11) %\"new::Duplicated.i.sroa.18.0..sroa_idx42.i\", align 8, !dbg !67, !tbaa !41, !alias.scope !73, !noalias !74\n %\"new::Duplicated.i.sroa.19.0..sroa_idx44'ipg.i\" = getelementptr inbounds i8, ptr addrspace(11) %\"'ipc9.i\", i64 120, !dbg !67\n %\"new::Duplicated.i.sroa.19.0..sroa_idx44.i\" = getelementptr inbounds nuw i8, ptr addrspace(11) %17, i64 120, !dbg !67\n store double %\".fca.1.0.3.extract'ipev.i\", ptr addrspace(11) %\"new::Duplicated.i.sroa.19.0..sroa_idx44'ipg.i\", align 8, !dbg !67, !tbaa !41, !alias.scope !68, !noalias !71\n store double %.fca.1.0.3.extract.i, ptr addrspace(11) %\"new::Duplicated.i.sroa.19.0..sroa_idx44.i\", align 8, !dbg !67, !tbaa !41, !alias.scope !73, !noalias !74\n %\"new::Duplicated.i.sroa.20.0..sroa_idx46'ipg.i\" = getelementptr inbounds i8, ptr addrspace(11) %\"'ipc9.i\", i64 128, !dbg !67\n %\"new::Duplicated.i.sroa.20.0..sroa_idx46.i\" = getelementptr inbounds nuw i8, ptr addrspace(11) %17, i64 128, !dbg !67\n store double %\".fca.2.0.0.extract'ipev.i\", ptr addrspace(11) %\"new::Duplicated.i.sroa.20.0..sroa_idx46'ipg.i\", align 8, !dbg !67, !tbaa !41, !alias.scope !68, !noalias !71\n store double %.fca.2.0.0.extract.i, ptr addrspace(11) %\"new::Duplicated.i.sroa.20.0..sroa_idx46.i\", align 8, !dbg !67, !tbaa !41, !alias.scope !73, !noalias !74\n %\"new::Duplicated.i.sroa.21.0..sroa_idx48'ipg.i\" = getelementptr inbounds i8, ptr addrspace(11) %\"'ipc9.i\", i64 136, !dbg !67\n %\"new::Duplicated.i.sroa.21.0..sroa_idx48.i\" = getelementptr inbounds nuw i8, ptr addrspace(11) %17, i64 136, !dbg !67\n store double %\".fca.2.0.1.extract'ipev.i\", ptr addrspace(11) %\"new::Duplicated.i.sroa.21.0..sroa_idx48'ipg.i\", align 8, !dbg !67, !tbaa !41, !alias.scope !68, !noalias !71\n store double %.fca.2.0.1.extract.i, ptr addrspace(11) %\"new::Duplicated.i.sroa.21.0..sroa_idx48.i\", align 8, !dbg !67, !tbaa !41, !alias.scope !73, !noalias !74\n %\"new::Duplicated.i.sroa.22.0..sroa_idx50'ipg.i\" = getelementptr inbounds i8, ptr addrspace(11) %\"'ipc9.i\", i64 144, !dbg !67\n %\"new::Duplicated.i.sroa.22.0..sroa_idx50.i\" = getelementptr inbounds nuw i8, ptr addrspace(11) %17, i64 144, !dbg !67\n store double %\".fca.2.0.2.extract'ipev.i\", ptr addrspace(11) %\"new::Duplicated.i.sroa.22.0..sroa_idx50'ipg.i\", align 8, !dbg !67, !tbaa !41, !alias.scope !68, !noalias !71\n store double %.fca.2.0.2.extract.i, ptr addrspace(11) %\"new::Duplicated.i.sroa.22.0..sroa_idx50.i\", align 8, !dbg !67, !tbaa !41, !alias.scope !73, !noalias !74\n %\"new::Duplicated.i.sroa.23.0..sroa_idx52'ipg.i\" = getelementptr inbounds i8, ptr addrspace(11) %\"'ipc9.i\", i64 152, !dbg !67\n %\"new::Duplicated.i.sroa.23.0..sroa_idx52.i\" = getelementptr inbounds nuw i8, ptr addrspace(11) %17, i64 152, !dbg !67\n store double %\".fca.2.0.3.extract'ipev.i\", ptr addrspace(11) %\"new::Duplicated.i.sroa.23.0..sroa_idx52'ipg.i\", align 8, !dbg !67, !tbaa !41, !alias.scope !68, !noalias !71\n store double %.fca.2.0.3.extract.i, ptr addrspace(11) %\"new::Duplicated.i.sroa.23.0..sroa_idx52.i\", align 8, !dbg !67, !tbaa !41, !alias.scope !73, !noalias !74\n %\"new::Duplicated.i.sroa.24.0..sroa_idx54'ipg.i\" = getelementptr inbounds i8, ptr addrspace(11) %\"'ipc9.i\", i64 160, !dbg !67\n %\"new::Duplicated.i.sroa.24.0..sroa_idx54.i\" = getelementptr inbounds nuw i8, ptr addrspace(11) %17, i64 160, !dbg !67\n store double %\".fca.3.0.0.extract'ipev.i\", ptr addrspace(11) %\"new::Duplicated.i.sroa.24.0..sroa_idx54'ipg.i\", align 8, !dbg !67, !tbaa !41, !alias.scope !68, !noalias !71\n store double %.fca.3.0.0.extract.i, ptr addrspace(11) %\"new::Duplicated.i.sroa.24.0..sroa_idx54.i\", align 8, !dbg !67, !tbaa !41, !alias.scope !73, !noalias !74\n %\"new::Duplicated.i.sroa.25.0..sroa_idx56'ipg.i\" = getelementptr inbounds i8, ptr addrspace(11) %\"'ipc9.i\", i64 168, !dbg !67\n %\"new::Duplicated.i.sroa.25.0..sroa_idx56.i\" = getelementptr inbounds nuw i8, ptr addrspace(11) %17, i64 168, !dbg !67\n store double %\".fca.3.0.1.extract'ipev.i\", ptr addrspace(11) %\"new::Duplicated.i.sroa.25.0..sroa_idx56'ipg.i\", align 8, !dbg !67, !tbaa !41, !alias.scope !68, !noalias !71\n store double %.fca.3.0.1.extract.i, ptr addrspace(11) %\"new::Duplicated.i.sroa.25.0..sroa_idx56.i\", align 8, !dbg !67, !tbaa !41, !alias.scope !73, !noalias !74\n %\"new::Duplicated.i.sroa.26.0..sroa_idx58'ipg.i\" = getelementptr inbounds i8, ptr addrspace(11) %\"'ipc9.i\", i64 176, !dbg !67\n %\"new::Duplicated.i.sroa.26.0..sroa_idx58.i\" = getelementptr inbounds nuw i8, ptr addrspace(11) %17, i64 176, !dbg !67\n store double %\".fca.3.0.2.extract'ipev.i\", ptr addrspace(11) %\"new::Duplicated.i.sroa.26.0..sroa_idx58'ipg.i\", align 8, !dbg !67, !tbaa !41, !alias.scope !68, !noalias !71\n store double %.fca.3.0.2.extract.i, ptr addrspace(11) %\"new::Duplicated.i.sroa.26.0..sroa_idx58.i\", align 8, !dbg !67, !tbaa !41, !alias.scope !73, !noalias !74\n %\"new::Duplicated.i.sroa.27.0..sroa_idx60'ipg.i\" = getelementptr inbounds i8, ptr addrspace(11) %\"'ipc9.i\", i64 184, !dbg !67\n %\"new::Duplicated.i.sroa.27.0..sroa_idx60.i\" = getelementptr inbounds nuw i8, ptr addrspace(11) %17, i64 184, !dbg !67\n store double %\".fca.3.0.3.extract'ipev.i\", ptr addrspace(11) %\"new::Duplicated.i.sroa.27.0..sroa_idx60'ipg.i\", align 8, !dbg !67, !tbaa !41, !alias.scope !68, !noalias !71\n store double %.fca.3.0.3.extract.i, ptr addrspace(11) %\"new::Duplicated.i.sroa.27.0..sroa_idx60.i\", align 8, !dbg !67, !tbaa !41, !alias.scope !73, !noalias !74\n %18 = call ptr addrspace(10) (ptr, ptr addrspace(10), ...) @julia.call(ptr @ijl_apply_generic, ptr addrspace(10) @ejl_enz_runtime_generic_fwd, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695085149712 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695908277584 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695908277584 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_enz_val_1, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695618737712 to ptr) to ptr addrspace(10)), ptr addrspace(10) %15, ptr addrspace(10) %14, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695618785288 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695618768768 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) %\"box::Duplicated26.i.i\", ptr addrspace(10) %16), !dbg !67\n %19 = addrspacecast ptr addrspace(10) %18 to ptr addrspace(11), !dbg !67\n %20 = getelementptr inbounds [2 x ptr addrspace(10)], ptr addrspace(11) %19, i64 0, i64 1, !dbg !67\n %21 = load ptr addrspace(10), ptr addrspace(11) %20, align 8, !dbg !67\n %22 = load ptr addrspace(10), ptr addrspace(11) %19, align 8, !dbg !67\n %23 = call ptr addrspace(10) (ptr, ptr addrspace(10), ...) @julia.call(ptr @ijl_apply_generic, ptr addrspace(10) @ejl_enz_runtime_generic_fwd, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695121167120 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695908277584 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695908277584 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_enz_val_1, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695618737712 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695886842128 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) %22, ptr addrspace(10) %21, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695864039248 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing), !dbg !75\n %24 = addrspacecast ptr addrspace(10) %23 to ptr addrspace(11), !dbg !75\n %25 = getelementptr inbounds [2 x ptr addrspace(10)], ptr addrspace(11) %24, i64 0, i64 1, !dbg !75\n %26 = load ptr addrspace(10), ptr addrspace(11) %25, align 8, !dbg !75\n %27 = getelementptr inbounds [1 x ptr addrspace(10)], ptr %2, i64 0, i32 0\n %dstlocsi = getelementptr inbounds ptr addrspace(10), ptr %27, i64 0\n store ptr addrspace(10) %26, ptr %dstlocsi, align 8\n %28 = load [1 x ptr addrspace(10)], ptr %2, align 8\n ret [1 x ptr addrspace(10)] %28\n}\n\ndefine private void @julia_derivative_bundle_47584_inner.1([4 x [1 x [4 x double]]] \"enzyme_type\"=\"{[-1]:Float@double}\" \"enzymejl_parmtype\"=\"130695130472592\" \"enzymejl_parmtype_ref\"=\"0\" %0) local_unnamed_addr #6 !dbg !76 {\nentry:\n %newly_emitted_pgc_stack = call ptr @julia.get_pgcstack(), !dbg !77\n %.fca.0.0.0.extract = extractvalue [4 x [1 x [4 x double]]] %0, 0, 0, 0, !dbg !77, !enzyme_type !14, !enzymejl_source_type_Float64 !0, !enzymejl_byref_BITS_VALUE !0\n %.fca.0.0.1.extract = extractvalue [4 x [1 x [4 x double]]] %0, 0, 0, 1, !dbg !77, !enzyme_type !14, !enzymejl_source_type_Float64 !0, !enzymejl_byref_BITS_VALUE !0\n %.fca.0.0.2.extract = extractvalue [4 x [1 x [4 x double]]] %0, 0, 0, 2, !dbg !77, !enzyme_type !14, !enzymejl_source_type_Float64 !0, !enzymejl_byref_BITS_VALUE !0\n %.fca.0.0.3.extract = extractvalue [4 x [1 x [4 x double]]] %0, 0, 0, 3, !dbg !77, !enzyme_type !14, !enzymejl_source_type_Float64 !0, !enzymejl_byref_BITS_VALUE !0\n %.fca.1.0.0.extract = extractvalue [4 x [1 x [4 x double]]] %0, 1, 0, 0, !dbg !77, !enzyme_type !14, !enzymejl_source_type_Float64 !0, !enzymejl_byref_BITS_VALUE !0\n %.fca.1.0.1.extract = extractvalue [4 x [1 x [4 x double]]] %0, 1, 0, 1, !dbg !77, !enzyme_type !14, !enzymejl_source_type_Float64 !0, !enzymejl_byref_BITS_VALUE !0\n %.fca.1.0.2.extract = extractvalue [4 x [1 x [4 x double]]] %0, 1, 0, 2, !dbg !77, !enzyme_type !14, !enzymejl_source_type_Float64 !0, !enzymejl_byref_BITS_VALUE !0\n %.fca.1.0.3.extract = extractvalue [4 x [1 x [4 x double]]] %0, 1, 0, 3, !dbg !77, !enzyme_type !14, !enzymejl_source_type_Float64 !0, !enzymejl_byref_BITS_VALUE !0\n %.fca.2.0.0.extract = extractvalue [4 x [1 x [4 x double]]] %0, 2, 0, 0, !dbg !77, !enzyme_type !14, !enzymejl_source_type_Float64 !0, !enzymejl_byref_BITS_VALUE !0\n %.fca.2.0.1.extract = extractvalue [4 x [1 x [4 x double]]] %0, 2, 0, 1, !dbg !77, !enzyme_type !14, !enzymejl_source_type_Float64 !0, !enzymejl_byref_BITS_VALUE !0\n %.fca.2.0.2.extract = extractvalue [4 x [1 x [4 x double]]] %0, 2, 0, 2, !dbg !77, !enzyme_type !14, !enzymejl_source_type_Float64 !0, !enzymejl_byref_BITS_VALUE !0\n %.fca.2.0.3.extract = extractvalue [4 x [1 x [4 x double]]] %0, 2, 0, 3, !dbg !77, !enzyme_type !14, !enzymejl_source_type_Float64 !0, !enzymejl_byref_BITS_VALUE !0\n %.fca.3.0.0.extract = extractvalue [4 x [1 x [4 x double]]] %0, 3, 0, 0, !dbg !77, !enzyme_type !14, !enzymejl_source_type_Float64 !0, !enzymejl_byref_BITS_VALUE !0\n %.fca.3.0.1.extract = extractvalue [4 x [1 x [4 x double]]] %0, 3, 0, 1, !dbg !77, !enzyme_type !14, !enzymejl_source_type_Float64 !0, !enzymejl_byref_BITS_VALUE !0\n %.fca.3.0.2.extract = extractvalue [4 x [1 x [4 x double]]] %0, 3, 0, 2, !dbg !77, !enzyme_type !14, !enzymejl_source_type_Float64 !0, !enzymejl_byref_BITS_VALUE !0\n %.fca.3.0.3.extract = extractvalue [4 x [1 x [4 x double]]] %0, 3, 0, 3, !dbg !77, !enzyme_type !14, !enzymejl_source_type_Float64 !0, !enzymejl_byref_BITS_VALUE !0\n %pgcstack.i = call ptr @julia.get_pgcstack()\n %1 = call nonnull \"enzyme_type\"=\"{[-1]:Pointer}\" ptr addrspace(10) (ptr, ptr addrspace(10), ptr addrspace(10), ...) @julia.call2(ptr nonnull @ijl_invoke, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695899363856 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695860763760 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695618768768 to ptr) to ptr addrspace(10))) #11, !dbg !78\n %.not = icmp eq ptr addrspace(10) %1, addrspacecast (ptr inttoptr (i64 130695720003920 to ptr) to ptr addrspace(10)), !dbg !78\n %\"ejl_inserted\$_Core_Tuple_47591\$false\$130694969317456.ejl_inserted\$_Main__flux_47606\$false\$130695095857232\" = select i1 %.not, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695095857232 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130694969317456 to ptr) to ptr addrspace(10)), !dbg !78\n %jl_f_apply_type_ret.i = call nonnull \"enzyme_inactive\" \"enzyme_type\"=\"{[-1]:Pointer}\" ptr addrspace(10) (ptr, ptr addrspace(10), ...) @julia.call(ptr nonnull @jl_f_apply_type, ptr addrspace(10) null, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695930797600 to ptr) to ptr addrspace(10)), ptr addrspace(10) %\"ejl_inserted\$_Core_Tuple_47591\$false\$130694969317456.ejl_inserted\$_Main__flux_47606\$false\$130695095857232\", ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130694969317456 to ptr) to ptr addrspace(10))) #12, !dbg !86\n %2 = call nonnull \"enzyme_type\"=\"{[-1]:Pointer}\" ptr addrspace(10) (ptr, ptr addrspace(10), ptr addrspace(10), ...) @julia.call2(ptr nonnull @ijl_invoke, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695899363856 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695860763760 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695618768768 to ptr) to ptr addrspace(10))) #11, !dbg !87\n %current_task.i = getelementptr inbounds i8, ptr %pgcstack.i, i64 -152, !dbg !87\n %\"box::Duplicated.i\" = call noalias nonnull align 8 dereferenceable(192) \"enzyme_ReadOnlyOrThrow\" \"enzyme_type\"=\"{[-1]:Pointer, [-1,-1]:Float@double}\" ptr addrspace(10) @julia.gc_alloc_obj(ptr nonnull %current_task.i, i64 192, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130694968345232 to ptr) to ptr addrspace(10))) #13, !dbg !87, !enzymejl_gc_alloc_rt !40\n %3 = addrspacecast ptr addrspace(10) %\"box::Duplicated.i\" to ptr addrspace(11), !dbg !87\n store double %.fca.0.0.0.extract, ptr addrspace(11) %3, align 8, !dbg !87, !tbaa !41, !alias.scope !93, !noalias !94\n %\"new::Duplicated.i.sroa.5.0..sroa_idx\" = getelementptr inbounds nuw i8, ptr addrspace(11) %3, i64 8, !dbg !87\n store double %.fca.0.0.1.extract, ptr addrspace(11) %\"new::Duplicated.i.sroa.5.0..sroa_idx\", align 8, !dbg !87, !tbaa !41, !alias.scope !93, !noalias !94\n %\"new::Duplicated.i.sroa.6.0..sroa_idx\" = getelementptr inbounds nuw i8, ptr addrspace(11) %3, i64 16, !dbg !87\n store double %.fca.0.0.2.extract, ptr addrspace(11) %\"new::Duplicated.i.sroa.6.0..sroa_idx\", align 8, !dbg !87, !tbaa !41, !alias.scope !93, !noalias !94\n %\"new::Duplicated.i.sroa.7.0..sroa_idx\" = getelementptr inbounds nuw i8, ptr addrspace(11) %3, i64 24, !dbg !87\n store double %.fca.0.0.3.extract, ptr addrspace(11) %\"new::Duplicated.i.sroa.7.0..sroa_idx\", align 8, !dbg !87, !tbaa !41, !alias.scope !93, !noalias !94\n %\"new::Duplicated.i.sroa.8.0..sroa_idx\" = getelementptr inbounds nuw i8, ptr addrspace(11) %3, i64 32, !dbg !87\n store double %.fca.1.0.0.extract, ptr addrspace(11) %\"new::Duplicated.i.sroa.8.0..sroa_idx\", align 8, !dbg !87, !tbaa !41, !alias.scope !93, !noalias !94\n %\"new::Duplicated.i.sroa.9.0..sroa_idx\" = getelementptr inbounds nuw i8, ptr addrspace(11) %3, i64 40, !dbg !87\n store double %.fca.1.0.1.extract, ptr addrspace(11) %\"new::Duplicated.i.sroa.9.0..sroa_idx\", align 8, !dbg !87, !tbaa !41, !alias.scope !93, !noalias !94\n %\"new::Duplicated.i.sroa.10.0..sroa_idx\" = getelementptr inbounds nuw i8, ptr addrspace(11) %3, i64 48, !dbg !87\n store double %.fca.1.0.2.extract, ptr addrspace(11) %\"new::Duplicated.i.sroa.10.0..sroa_idx\", align 8, !dbg !87, !tbaa !41, !alias.scope !93, !noalias !94\n %\"new::Duplicated.i.sroa.11.0..sroa_idx\" = getelementptr inbounds nuw i8, ptr addrspace(11) %3, i64 56, !dbg !87\n store double %.fca.1.0.3.extract, ptr addrspace(11) %\"new::Duplicated.i.sroa.11.0..sroa_idx\", align 8, !dbg !87, !tbaa !41, !alias.scope !93, !noalias !94\n %\"new::Duplicated.i.sroa.12.0..sroa_idx\" = getelementptr inbounds nuw i8, ptr addrspace(11) %3, i64 64, !dbg !87\n store double %.fca.2.0.0.extract, ptr addrspace(11) %\"new::Duplicated.i.sroa.12.0..sroa_idx\", align 8, !dbg !87, !tbaa !41, !alias.scope !93, !noalias !94\n %\"new::Duplicated.i.sroa.13.0..sroa_idx\" = getelementptr inbounds nuw i8, ptr addrspace(11) %3, i64 72, !dbg !87\n store double %.fca.2.0.1.extract, ptr addrspace(11) %\"new::Duplicated.i.sroa.13.0..sroa_idx\", align 8, !dbg !87, !tbaa !41, !alias.scope !93, !noalias !94\n %\"new::Duplicated.i.sroa.14.0..sroa_idx\" = getelementptr inbounds nuw i8, ptr addrspace(11) %3, i64 80, !dbg !87\n store double %.fca.2.0.2.extract, ptr addrspace(11) %\"new::Duplicated.i.sroa.14.0..sroa_idx\", align 8, !dbg !87, !tbaa !41, !alias.scope !93, !noalias !94\n %\"new::Duplicated.i.sroa.15.0..sroa_idx\" = getelementptr inbounds nuw i8, ptr addrspace(11) %3, i64 88, !dbg !87\n store double %.fca.2.0.3.extract, ptr addrspace(11) %\"new::Duplicated.i.sroa.15.0..sroa_idx\", align 8, !dbg !87, !tbaa !41, !alias.scope !93, !noalias !94\n %\"new::Duplicated.i.sroa.16.0..sroa_idx\" = getelementptr inbounds nuw i8, ptr addrspace(11) %3, i64 96, !dbg !87\n store double %.fca.1.0.0.extract, ptr addrspace(11) %\"new::Duplicated.i.sroa.16.0..sroa_idx\", align 8, !dbg !87, !tbaa !41, !alias.scope !93, !noalias !94\n %\"new::Duplicated.i.sroa.17.0..sroa_idx\" = getelementptr inbounds nuw i8, ptr addrspace(11) %3, i64 104, !dbg !87\n store double %.fca.1.0.1.extract, ptr addrspace(11) %\"new::Duplicated.i.sroa.17.0..sroa_idx\", align 8, !dbg !87, !tbaa !41, !alias.scope !93, !noalias !94\n %\"new::Duplicated.i.sroa.18.0..sroa_idx\" = getelementptr inbounds nuw i8, ptr addrspace(11) %3, i64 112, !dbg !87\n store double %.fca.1.0.2.extract, ptr addrspace(11) %\"new::Duplicated.i.sroa.18.0..sroa_idx\", align 8, !dbg !87, !tbaa !41, !alias.scope !93, !noalias !94\n %\"new::Duplicated.i.sroa.19.0..sroa_idx\" = getelementptr inbounds nuw i8, ptr addrspace(11) %3, i64 120, !dbg !87\n store double %.fca.1.0.3.extract, ptr addrspace(11) %\"new::Duplicated.i.sroa.19.0..sroa_idx\", align 8, !dbg !87, !tbaa !41, !alias.scope !93, !noalias !94\n %\"new::Duplicated.i.sroa.20.0..sroa_idx\" = getelementptr inbounds nuw i8, ptr addrspace(11) %3, i64 128, !dbg !87\n store double %.fca.2.0.0.extract, ptr addrspace(11) %\"new::Duplicated.i.sroa.20.0..sroa_idx\", align 8, !dbg !87, !tbaa !41, !alias.scope !93, !noalias !94\n %\"new::Duplicated.i.sroa.21.0..sroa_idx\" = getelementptr inbounds nuw i8, ptr addrspace(11) %3, i64 136, !dbg !87\n store double %.fca.2.0.1.extract, ptr addrspace(11) %\"new::Duplicated.i.sroa.21.0..sroa_idx\", align 8, !dbg !87, !tbaa !41, !alias.scope !93, !noalias !94\n %\"new::Duplicated.i.sroa.22.0..sroa_idx\" = getelementptr inbounds nuw i8, ptr addrspace(11) %3, i64 144, !dbg !87\n store double %.fca.2.0.2.extract, ptr addrspace(11) %\"new::Duplicated.i.sroa.22.0..sroa_idx\", align 8, !dbg !87, !tbaa !41, !alias.scope !93, !noalias !94\n %\"new::Duplicated.i.sroa.23.0..sroa_idx\" = getelementptr inbounds nuw i8, ptr addrspace(11) %3, i64 152, !dbg !87\n store double %.fca.2.0.3.extract, ptr addrspace(11) %\"new::Duplicated.i.sroa.23.0..sroa_idx\", align 8, !dbg !87, !tbaa !41, !alias.scope !93, !noalias !94\n %\"new::Duplicated.i.sroa.24.0..sroa_idx\" = getelementptr inbounds nuw i8, ptr addrspace(11) %3, i64 160, !dbg !87\n store double %.fca.3.0.0.extract, ptr addrspace(11) %\"new::Duplicated.i.sroa.24.0..sroa_idx\", align 8, !dbg !87, !tbaa !41, !alias.scope !93, !noalias !94\n %\"new::Duplicated.i.sroa.25.0..sroa_idx\" = getelementptr inbounds nuw i8, ptr addrspace(11) %3, i64 168, !dbg !87\n store double %.fca.3.0.1.extract, ptr addrspace(11) %\"new::Duplicated.i.sroa.25.0..sroa_idx\", align 8, !dbg !87, !tbaa !41, !alias.scope !93, !noalias !94\n %\"new::Duplicated.i.sroa.26.0..sroa_idx\" = getelementptr inbounds nuw i8, ptr addrspace(11) %3, i64 176, !dbg !87\n store double %.fca.3.0.2.extract, ptr addrspace(11) %\"new::Duplicated.i.sroa.26.0..sroa_idx\", align 8, !dbg !87, !tbaa !41, !alias.scope !93, !noalias !94\n %\"new::Duplicated.i.sroa.27.0..sroa_idx\" = getelementptr inbounds nuw i8, ptr addrspace(11) %3, i64 184, !dbg !87\n store double %.fca.3.0.3.extract, ptr addrspace(11) %\"new::Duplicated.i.sroa.27.0..sroa_idx\", align 8, !dbg !87, !tbaa !41, !alias.scope !93, !noalias !94\n %4 = call nonnull \"enzyme_type\"=\"{[-1]:Pointer}\" ptr addrspace(10) (ptr, ptr addrspace(10), ptr addrspace(10), ...) @julia.call2(ptr nonnull @ijl_invoke, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695899363856 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695860763760 to ptr) to ptr addrspace(10)), ptr addrspace(10) nonnull %\"box::Duplicated.i\") #11, !dbg !87\n %jl_f_apply_type_ret10.i = call nonnull \"enzyme_inactive\" \"enzyme_type\"=\"{[-1]:Pointer}\" ptr addrspace(10) (ptr, ptr addrspace(10), ...) @julia.call(ptr nonnull @jl_f_apply_type, ptr addrspace(10) null, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695930797600 to ptr) to ptr addrspace(10)), ptr addrspace(10) nonnull %2, ptr addrspace(10) nonnull %4) #12, !dbg !97\n %5 = call nonnull \"enzyme_type\"=\"{[-1]:Pointer}\" ptr addrspace(10) (ptr, ptr addrspace(10), ptr addrspace(10), ...) @julia.call2(ptr nonnull @ijl_invoke, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695899363856 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695860763760 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695618768768 to ptr) to ptr addrspace(10))) #11, !dbg !98\n %.not62 = icmp eq ptr addrspace(10) %5, addrspacecast (ptr inttoptr (i64 130695720003920 to ptr) to ptr addrspace(10)), !dbg !98\n %value_phi15.i = select i1 %.not62, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695095857232 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130694969317456 to ptr) to ptr addrspace(10)), !dbg !98\n %jl_f_apply_type_ret18.i = call nonnull \"enzyme_inactive\" \"enzyme_type\"=\"{[-1]:Pointer}\" ptr addrspace(10) (ptr, ptr addrspace(10), ...) @julia.call(ptr nonnull @jl_f_apply_type, ptr addrspace(10) null, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695930797600 to ptr) to ptr addrspace(10)), ptr addrspace(10) %value_phi15.i, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130694969317456 to ptr) to ptr addrspace(10))) #12, !dbg !103\n %6 = call nonnull \"enzyme_type\"=\"{[-1]:Pointer}\" ptr addrspace(10) (ptr, ptr addrspace(10), ...) @julia.call(ptr nonnull @ijl_apply_generic, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695560688096 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695876761728 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695740856528 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695179751504 to ptr) to ptr addrspace(10)), ptr addrspace(10) nonnull %jl_f_apply_type_ret10.i, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695618718864 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695857041792 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695618743472 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695908277584 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695908277584 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 914660384 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695908276976 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695908277584 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695908277584 to ptr) to ptr addrspace(10))) #11, !dbg !104\n %\"box::Duplicated26.i\" = call noalias nonnull align 8 dereferenceable(192) \"enzyme_ReadOnlyOrThrow\" \"enzyme_type\"=\"{[-1]:Pointer, [-1,-1]:Float@double}\" ptr addrspace(10) @julia.gc_alloc_obj(ptr nonnull %current_task.i, i64 192, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130694968345232 to ptr) to ptr addrspace(10))) #13, !dbg !105, !enzymejl_gc_alloc_rt !40\n %7 = addrspacecast ptr addrspace(10) %\"box::Duplicated26.i\" to ptr addrspace(11), !dbg !105\n store double %.fca.0.0.0.extract, ptr addrspace(11) %7, align 8, !dbg !105, !tbaa !41, !alias.scope !93, !noalias !94\n %\"new::Duplicated.i.sroa.5.0..sroa_idx16\" = getelementptr inbounds nuw i8, ptr addrspace(11) %7, i64 8, !dbg !105\n store double %.fca.0.0.1.extract, ptr addrspace(11) %\"new::Duplicated.i.sroa.5.0..sroa_idx16\", align 8, !dbg !105, !tbaa !41, !alias.scope !93, !noalias !94\n %\"new::Duplicated.i.sroa.6.0..sroa_idx18\" = getelementptr inbounds nuw i8, ptr addrspace(11) %7, i64 16, !dbg !105\n store double %.fca.0.0.2.extract, ptr addrspace(11) %\"new::Duplicated.i.sroa.6.0..sroa_idx18\", align 8, !dbg !105, !tbaa !41, !alias.scope !93, !noalias !94\n %\"new::Duplicated.i.sroa.7.0..sroa_idx20\" = getelementptr inbounds nuw i8, ptr addrspace(11) %7, i64 24, !dbg !105\n store double %.fca.0.0.3.extract, ptr addrspace(11) %\"new::Duplicated.i.sroa.7.0..sroa_idx20\", align 8, !dbg !105, !tbaa !41, !alias.scope !93, !noalias !94\n %\"new::Duplicated.i.sroa.8.0..sroa_idx22\" = getelementptr inbounds nuw i8, ptr addrspace(11) %7, i64 32, !dbg !105\n store double %.fca.1.0.0.extract, ptr addrspace(11) %\"new::Duplicated.i.sroa.8.0..sroa_idx22\", align 8, !dbg !105, !tbaa !41, !alias.scope !93, !noalias !94\n %\"new::Duplicated.i.sroa.9.0..sroa_idx24\" = getelementptr inbounds nuw i8, ptr addrspace(11) %7, i64 40, !dbg !105\n store double %.fca.1.0.1.extract, ptr addrspace(11) %\"new::Duplicated.i.sroa.9.0..sroa_idx24\", align 8, !dbg !105, !tbaa !41, !alias.scope !93, !noalias !94\n %\"new::Duplicated.i.sroa.10.0..sroa_idx26\" = getelementptr inbounds nuw i8, ptr addrspace(11) %7, i64 48, !dbg !105\n store double %.fca.1.0.2.extract, ptr addrspace(11) %\"new::Duplicated.i.sroa.10.0..sroa_idx26\", align 8, !dbg !105, !tbaa !41, !alias.scope !93, !noalias !94\n %\"new::Duplicated.i.sroa.11.0..sroa_idx28\" = getelementptr inbounds nuw i8, ptr addrspace(11) %7, i64 56, !dbg !105\n store double %.fca.1.0.3.extract, ptr addrspace(11) %\"new::Duplicated.i.sroa.11.0..sroa_idx28\", align 8, !dbg !105, !tbaa !41, !alias.scope !93, !noalias !94\n %\"new::Duplicated.i.sroa.12.0..sroa_idx30\" = getelementptr inbounds nuw i8, ptr addrspace(11) %7, i64 64, !dbg !105\n store double %.fca.2.0.0.extract, ptr addrspace(11) %\"new::Duplicated.i.sroa.12.0..sroa_idx30\", align 8, !dbg !105, !tbaa !41, !alias.scope !93, !noalias !94\n %\"new::Duplicated.i.sroa.13.0..sroa_idx32\" = getelementptr inbounds nuw i8, ptr addrspace(11) %7, i64 72, !dbg !105\n store double %.fca.2.0.1.extract, ptr addrspace(11) %\"new::Duplicated.i.sroa.13.0..sroa_idx32\", align 8, !dbg !105, !tbaa !41, !alias.scope !93, !noalias !94\n %\"new::Duplicated.i.sroa.14.0..sroa_idx34\" = getelementptr inbounds nuw i8, ptr addrspace(11) %7, i64 80, !dbg !105\n store double %.fca.2.0.2.extract, ptr addrspace(11) %\"new::Duplicated.i.sroa.14.0..sroa_idx34\", align 8, !dbg !105, !tbaa !41, !alias.scope !93, !noalias !94\n %\"new::Duplicated.i.sroa.15.0..sroa_idx36\" = getelementptr inbounds nuw i8, ptr addrspace(11) %7, i64 88, !dbg !105\n store double %.fca.2.0.3.extract, ptr addrspace(11) %\"new::Duplicated.i.sroa.15.0..sroa_idx36\", align 8, !dbg !105, !tbaa !41, !alias.scope !93, !noalias !94\n %\"new::Duplicated.i.sroa.16.0..sroa_idx38\" = getelementptr inbounds nuw i8, ptr addrspace(11) %7, i64 96, !dbg !105\n store double %.fca.1.0.0.extract, ptr addrspace(11) %\"new::Duplicated.i.sroa.16.0..sroa_idx38\", align 8, !dbg !105, !tbaa !41, !alias.scope !93, !noalias !94\n %\"new::Duplicated.i.sroa.17.0..sroa_idx40\" = getelementptr inbounds nuw i8, ptr addrspace(11) %7, i64 104, !dbg !105\n store double %.fca.1.0.1.extract, ptr addrspace(11) %\"new::Duplicated.i.sroa.17.0..sroa_idx40\", align 8, !dbg !105, !tbaa !41, !alias.scope !93, !noalias !94\n %\"new::Duplicated.i.sroa.18.0..sroa_idx42\" = getelementptr inbounds nuw i8, ptr addrspace(11) %7, i64 112, !dbg !105\n store double %.fca.1.0.2.extract, ptr addrspace(11) %\"new::Duplicated.i.sroa.18.0..sroa_idx42\", align 8, !dbg !105, !tbaa !41, !alias.scope !93, !noalias !94\n %\"new::Duplicated.i.sroa.19.0..sroa_idx44\" = getelementptr inbounds nuw i8, ptr addrspace(11) %7, i64 120, !dbg !105\n store double %.fca.1.0.3.extract, ptr addrspace(11) %\"new::Duplicated.i.sroa.19.0..sroa_idx44\", align 8, !dbg !105, !tbaa !41, !alias.scope !93, !noalias !94\n %\"new::Duplicated.i.sroa.20.0..sroa_idx46\" = getelementptr inbounds nuw i8, ptr addrspace(11) %7, i64 128, !dbg !105\n store double %.fca.2.0.0.extract, ptr addrspace(11) %\"new::Duplicated.i.sroa.20.0..sroa_idx46\", align 8, !dbg !105, !tbaa !41, !alias.scope !93, !noalias !94\n %\"new::Duplicated.i.sroa.21.0..sroa_idx48\" = getelementptr inbounds nuw i8, ptr addrspace(11) %7, i64 136, !dbg !105\n store double %.fca.2.0.1.extract, ptr addrspace(11) %\"new::Duplicated.i.sroa.21.0..sroa_idx48\", align 8, !dbg !105, !tbaa !41, !alias.scope !93, !noalias !94\n %\"new::Duplicated.i.sroa.22.0..sroa_idx50\" = getelementptr inbounds nuw i8, ptr addrspace(11) %7, i64 144, !dbg !105\n store double %.fca.2.0.2.extract, ptr addrspace(11) %\"new::Duplicated.i.sroa.22.0..sroa_idx50\", align 8, !dbg !105, !tbaa !41, !alias.scope !93, !noalias !94\n %\"new::Duplicated.i.sroa.23.0..sroa_idx52\" = getelementptr inbounds nuw i8, ptr addrspace(11) %7, i64 152, !dbg !105\n store double %.fca.2.0.3.extract, ptr addrspace(11) %\"new::Duplicated.i.sroa.23.0..sroa_idx52\", align 8, !dbg !105, !tbaa !41, !alias.scope !93, !noalias !94\n %\"new::Duplicated.i.sroa.24.0..sroa_idx54\" = getelementptr inbounds nuw i8, ptr addrspace(11) %7, i64 160, !dbg !105\n store double %.fca.3.0.0.extract, ptr addrspace(11) %\"new::Duplicated.i.sroa.24.0..sroa_idx54\", align 8, !dbg !105, !tbaa !41, !alias.scope !93, !noalias !94\n %\"new::Duplicated.i.sroa.25.0..sroa_idx56\" = getelementptr inbounds nuw i8, ptr addrspace(11) %7, i64 168, !dbg !105\n store double %.fca.3.0.1.extract, ptr addrspace(11) %\"new::Duplicated.i.sroa.25.0..sroa_idx56\", align 8, !dbg !105, !tbaa !41, !alias.scope !93, !noalias !94\n %\"new::Duplicated.i.sroa.26.0..sroa_idx58\" = getelementptr inbounds nuw i8, ptr addrspace(11) %7, i64 176, !dbg !105\n store double %.fca.3.0.2.extract, ptr addrspace(11) %\"new::Duplicated.i.sroa.26.0..sroa_idx58\", align 8, !dbg !105, !tbaa !41, !alias.scope !93, !noalias !94\n %\"new::Duplicated.i.sroa.27.0..sroa_idx60\" = getelementptr inbounds nuw i8, ptr addrspace(11) %7, i64 184, !dbg !105\n store double %.fca.3.0.3.extract, ptr addrspace(11) %\"new::Duplicated.i.sroa.27.0..sroa_idx60\", align 8, !dbg !105, !tbaa !41, !alias.scope !93, !noalias !94\n %8 = call nonnull \"enzyme_type\"=\"{[-1]:Pointer}\" ptr addrspace(10) (ptr, ptr addrspace(10), ...) @julia.call(ptr nonnull @ijl_apply_generic, ptr addrspace(10) nonnull %6, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695618785288 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695618768768 to ptr) to ptr addrspace(10)), ptr addrspace(10) nonnull %\"box::Duplicated26.i\") #11, !dbg !105\n %9 = call nonnull \"enzyme_type\"=\"{[-1]:Pointer}\" ptr addrspace(10) (ptr, ptr addrspace(10), ...) @julia.call(ptr nonnull @ijl_apply_generic, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695886842128 to ptr) to ptr addrspace(10)), ptr addrspace(10) nonnull %8, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695864039248 to ptr) to ptr addrspace(10))) #11, !dbg !106\n ret void, !dbg !77\n}\n\nattributes #0 = { nofree nosync nounwind willreturn memory(none) \"enzyme_inactive\" \"enzyme_no_escaping_allocation\" \"enzyme_shouldrecompute\" \"enzymejl_world\"=\"40013\" }\nattributes #1 = { nofree \"enzymejl_world\"=\"40013\" }\nattributes #2 = { nofree \"enzyme_inactive\" \"enzyme_no_escaping_allocation\" \"enzymejl_world\"=\"40013\" }\nattributes #3 = { mustprogress nofree nounwind willreturn allockind(\"alloc,uninitialized\") allocsize(1) memory(inaccessiblemem: readwrite) \"enzyme_ReadOnlyOrThrow\" \"enzyme_no_escaping_allocation\" \"enzymejl_world\"=\"40013\" }\nattributes #4 = { nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }\nattributes #5 = { alwaysinline \"enzymejl_world\"=\"40013\" }\nattributes #6 = { \"enzyme_retremove\" \"enzyme_ta_norecur\" \"enzymejl_mi\"=\"130695121835920\" \"enzymejl_rt\"=\"130695930797376\" \"enzymejl_world\"=\"40013\" }\nattributes #7 = { mustprogress willreturn }\nattributes #8 = { mustprogress nofree willreturn }\nattributes #9 = { mustprogress nofree willreturn \"enzyme_inactive\" \"enzyme_no_escaping_allocation\" }\nattributes #10 = { mustprogress nounwind willreturn allockind(\"alloc,uninitialized\") allocsize(1) memory(inaccessiblemem: readwrite) \"enzyme_no_escaping_allocation\" }\nattributes #11 = { nofree }\nattributes #12 = { nofree \"enzyme_inactive\" \"enzyme_no_escaping_allocation\" }\nattributes #13 = { nounwind willreturn allockind(\"alloc,uninitialized\") allocsize(1) memory(inaccessiblemem: readwrite) \"enzyme_no_escaping_allocation\" }\n\n!llvm.module.flags = !{!1, !2, !3, !4}\n!llvm.dbg.cu = !{!5, !7}\n\n!0 = !{}\n!1 = !{i32 2, !\"Dwarf Version\", i32 4}\n!2 = !{i32 2, !\"Debug Info Version\", i32 3}\n!3 = !{i32 1, !\"stack-protector-guard\", !\"\"}\n!4 = !{i32 1, !\"override-stack-alignment\", i32 0}\n!5 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !6, producer: \"julia\", isOptimized: true, runtimeVersion: 0, emissionKind: LineTablesOnly, nameTableKind: None)\n!6 = !DIFile(filename: \"julia\", directory: \".\")\n!7 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !6, producer: \"julia\", isOptimized: true, runtimeVersion: 0, emissionKind: LineTablesOnly, nameTableKind: None)\n!8 = distinct !DISubprogram(name: \"fwddiffejulia_derivative_bundle_47584_inner_1wrap\", linkageName: \"fwddiffejulia_derivative_bundle_47584_inner_1wrap\", scope: null, file: !9, type: !10, spFlags: DISPFlagLocalToUnit | DISPFlagDefinition | DISPFlagOptimized, unit: !7)\n!9 = !DIFile(filename: \"/home/pkgeval/.julia/packages/TowerOfEnzyme/wUeMv/src/TowerOfEnzyme.jl\", directory: \".\")\n!10 = !DISubroutineType(types: !0)\n!11 = !DILocation(line: 0, scope: !12, inlinedAt: !13)\n!12 = distinct !DISubprogram(name: \"derivative_bundle\", linkageName: \"julia_derivative_bundle_47584\", scope: null, file: !9, line: 53, type: !10, scopeLine: 53, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !7)\n!13 = distinct !DILocation(line: 0, scope: !8)\n!14 = !{!\"Unknown\", i32 -1, !15}\n!15 = !{!\"Float@double\"}\n!16 = !DILocation(line: 181, scope: !17, inlinedAt: !19)\n!17 = distinct !DISubprogram(name: \"#vaEltypeof##0;\", linkageName: \"#vaEltypeof##0\", scope: !18, file: !18, type: !10, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !7)\n!18 = !DIFile(filename: \"/home/pkgeval/.julia/packages/Enzyme/2lHFw/src/Enzyme.jl\", directory: \".\")\n!19 = distinct !DILocation(line: 68, scope: !20, inlinedAt: !22)\n!20 = distinct !DISubprogram(name: \"macro expansion;\", linkageName: \"macro expansion\", scope: !21, file: !21, type: !10, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !7)\n!21 = !DIFile(filename: \"ntuple.jl\", directory: \".\")\n!22 = distinct !DILocation(line: 65, scope: !23, inlinedAt: !24)\n!23 = distinct !DISubprogram(name: \"ntuple;\", linkageName: \"ntuple\", scope: !21, file: !21, type: !10, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !7)\n!24 = distinct !DILocation(line: 178, scope: !25, inlinedAt: !26)\n!25 = distinct !DISubprogram(name: \"vaEltypeof;\", linkageName: \"vaEltypeof\", scope: !18, file: !18, type: !10, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !7)\n!26 = distinct !DILocation(line: 555, scope: !27, inlinedAt: !28)\n!27 = distinct !DISubprogram(name: \"autodiff;\", linkageName: \"autodiff\", scope: !18, file: !18, type: !10, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !7)\n!28 = distinct !DILocation(line: 534, scope: !27, inlinedAt: !29)\n!29 = distinct !DILocation(line: 59, scope: !12, inlinedAt: !30)\n!30 = distinct !DILocation(line: 0, scope: !12, inlinedAt: !13)\n!31 = !DILocation(line: 178, scope: !25, inlinedAt: !26)\n!32 = !DILocation(line: 172, scope: !33, inlinedAt: !34)\n!33 = distinct !DISubprogram(name: \"#vaTypeof##0;\", linkageName: \"#vaTypeof##0\", scope: !18, file: !18, type: !10, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !7)\n!34 = distinct !DILocation(line: 68, scope: !20, inlinedAt: !35)\n!35 = distinct !DILocation(line: 65, scope: !23, inlinedAt: !36)\n!36 = distinct !DILocation(line: 169, scope: !37, inlinedAt: !38)\n!37 = distinct !DISubprogram(name: \"vaTypeof;\", linkageName: \"vaTypeof\", scope: !18, file: !18, type: !10, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !7)\n!38 = distinct !DILocation(line: 617, scope: !27, inlinedAt: !39)\n!39 = distinct !DILocation(line: 562, scope: !27, inlinedAt: !28)\n!40 = !{!\"130694968345232\"}\n!41 = !{!42, !42, i64 0}\n!42 = !{!\"jtbaa\", !43, i64 0}\n!43 = !{!\"jtbaa\"}\n!44 = !{!45, !47, !49}\n!45 = distinct !{!45, !46, !\"shadow_0\"}\n!46 = distinct !{!46, !\" diff: %box::Duplicated.i\"}\n!47 = !{!\"jnoalias_stack\", !48}\n!48 = !{!\"jnoalias\"}\n!49 = !{!\"jnoalias_data\", !48}\n!50 = !{!51, !52, !54, !55, !56}\n!51 = distinct !{!51, !46, !\"primal\"}\n!52 = distinct !{!52, !53, !\"na_addr13\"}\n!53 = distinct !{!53, !\"addr13\"}\n!54 = !{!\"jnoalias_gcframe\", !48}\n!55 = !{!\"jnoalias_typemd\", !48}\n!56 = !{!\"jnoalias_const\", !48}\n!57 = !{!51, !47, !49}\n!58 = !{!45, !52, !54, !55, !56}\n!59 = !DILocation(line: 169, scope: !37, inlinedAt: !38)\n!60 = !DILocation(line: 181, scope: !17, inlinedAt: !61)\n!61 = distinct !DILocation(line: 68, scope: !20, inlinedAt: !62)\n!62 = distinct !DILocation(line: 65, scope: !23, inlinedAt: !63)\n!63 = distinct !DILocation(line: 178, scope: !25, inlinedAt: !64)\n!64 = distinct !DILocation(line: 650, scope: !27, inlinedAt: !39)\n!65 = !DILocation(line: 178, scope: !25, inlinedAt: !64)\n!66 = !DILocation(line: 658, scope: !27, inlinedAt: !39)\n!67 = !DILocation(line: 673, scope: !27, inlinedAt: !39)\n!68 = !{!69, !47, !49}\n!69 = distinct !{!69, !70, !\"shadow_0\"}\n!70 = distinct !{!70, !\" diff: %box::Duplicated26.i\"}\n!71 = !{!72, !52, !54, !55, !56}\n!72 = distinct !{!72, !70, !\"primal\"}\n!73 = !{!72, !47, !49}\n!74 = !{!69, !52, !54, !55, !56}\n!75 = !DILocation(line: 59, scope: !12, inlinedAt: !30)\n!76 = distinct !DISubprogram(name: \"derivative_bundle\", linkageName: \"julia_derivative_bundle_47584\", scope: null, file: !9, line: 53, type: !10, scopeLine: 53, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !7)\n!77 = !DILocation(line: 0, scope: !76)\n!78 = !DILocation(line: 181, scope: !17, inlinedAt: !79)\n!79 = distinct !DILocation(line: 68, scope: !20, inlinedAt: !80)\n!80 = distinct !DILocation(line: 65, scope: !23, inlinedAt: !81)\n!81 = distinct !DILocation(line: 178, scope: !25, inlinedAt: !82)\n!82 = distinct !DILocation(line: 555, scope: !27, inlinedAt: !83)\n!83 = distinct !DILocation(line: 534, scope: !27, inlinedAt: !84)\n!84 = distinct !DILocation(line: 59, scope: !76, inlinedAt: !85)\n!85 = distinct !DILocation(line: 0, scope: !76)\n!86 = !DILocation(line: 178, scope: !25, inlinedAt: !82)\n!87 = !DILocation(line: 172, scope: !33, inlinedAt: !88)\n!88 = distinct !DILocation(line: 68, scope: !20, inlinedAt: !89)\n!89 = distinct !DILocation(line: 65, scope: !23, inlinedAt: !90)\n!90 = distinct !DILocation(line: 169, scope: !37, inlinedAt: !91)\n!91 = distinct !DILocation(line: 617, scope: !27, inlinedAt: !92)\n!92 = distinct !DILocation(line: 562, scope: !27, inlinedAt: !83)\n!93 = !{!47, !49}\n!94 = !{!95, !54, !55, !56}\n!95 = distinct !{!95, !96, !\"na_addr13\"}\n!96 = distinct !{!96, !\"addr13\"}\n!97 = !DILocation(line: 169, scope: !37, inlinedAt: !91)\n!98 = !DILocation(line: 181, scope: !17, inlinedAt: !99)\n!99 = distinct !DILocation(line: 68, scope: !20, inlinedAt: !100)\n!100 = distinct !DILocation(line: 65, scope: !23, inlinedAt: !101)\n!101 = distinct !DILocation(line: 178, scope: !25, inlinedAt: !102)\n!102 = distinct !DILocation(line: 650, scope: !27, inlinedAt: !92)\n!103 = !DILocation(line: 178, scope: !25, inlinedAt: !102)\n!104 = !DILocation(line: 658, scope: !27, inlinedAt: !92)\n!105 = !DILocation(line: 673, scope: !27, inlinedAt: !92)\n!106 = !DILocation(line: 59, scope: !76, inlinedAt: !85)\n"), :fwddiffejulia_derivative_bundle_47584_inner_1wrap)}, ::Type{Enzyme.Compiler.ForwardModeThunk{Val{(Symbol("; ModuleID = 'start'\nsource_filename = \"start\"\ntarget datalayout = \"e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-i128:128-f80:128-n8:16:32:64-S128-ni:10:11:12:13\"\ntarget triple = \"x86_64-linux-gnu\"\n\n@ejl_jl_nothing = external addrspace(10) global {}, !enzyme_ta_norecur !0, !enzyme_inactive !0\n@ejl_jl_false = external addrspace(10) global {}, !enzyme_ta_norecur !0, !enzyme_inactive !0\n@ejl_jl_true = external addrspace(10) global {}, !enzyme_ta_norecur !0, !enzyme_inactive !0\n@ejl_enz_val_1 = external addrspace(10) global {}, !enzyme_ta_norecur !0, !enzyme_inactive !0\n@ejl_enz_runtime_generic_fwd = external addrspace(10) global {}, !enzyme_ta_norecur !0, !enzyme_inactive !0\n\n; Function Attrs: nofree nosync nounwind willreturn memory(none)\ndeclare ptr @julia.get_pgcstack() local_unnamed_addr #0\n\n; Function Attrs: nofree\ndeclare nonnull ptr addrspace(10) @ijl_invoke(ptr addrspace(10), ptr noalias nocapture noundef readonly, i32, ptr addrspace(10)) #1\n\n; Function Attrs: nofree\ndeclare nonnull ptr addrspace(10) @julia.call2(ptr, ptr addrspace(10), ptr addrspace(10), ...) local_unnamed_addr #1\n\n; Function Attrs: nofree\ndeclare nonnull ptr addrspace(10) @jl_f_apply_type(ptr addrspace(10), ptr noalias nocapture noundef readonly, i32) #2\n\n; Function Attrs: nofree\ndeclare nonnull ptr addrspace(10) @julia.call(ptr, ptr addrspace(10), ...) local_unnamed_addr #1\n\n; Function Attrs: mustprogress nofree nounwind willreturn allockind(\"alloc,uninitialized\") allocsize(1) memory(inaccessiblemem: readwrite)\ndeclare noalias nonnull ptr addrspace(10) @julia.gc_alloc_obj(ptr, i64, ptr addrspace(10)) local_unnamed_addr #3\n\n; Function Attrs: nofree\ndeclare nonnull ptr addrspace(10) @ijl_apply_generic(ptr addrspace(10), ptr noalias nocapture noundef readonly, i32) #1\n\n; Function Attrs: nocallback nofree nosync nounwind willreturn memory(argmem: readwrite)\ndeclare void @llvm.lifetime.start.p0(i64 immarg, ptr nocapture) #4\n\n; Function Attrs: nocallback nofree nosync nounwind willreturn memory(argmem: readwrite)\ndeclare void @llvm.lifetime.end.p0(i64 immarg, ptr nocapture) #4\n\n; Function Attrs: alwaysinline\ndefine [1 x ptr addrspace(10)] @fwddiffejulia_derivative_bundle_47584_inner_1wrap([4 x [1 x [4 x double]]] %0, [4 x [1 x [4 x double]]] %1) #5 !dbg !8 {\nentry:\n %newly_emitted_pgc_stack = call ptr @julia.get_pgcstack()\n %2 = alloca [1 x ptr addrspace(10)], align 8\n %.fca.0.0.0.extract.i = extractvalue [4 x [1 x [4 x double]]] %0, 0, 0, 0, !dbg !11, !enzyme_type !14, !enzymejl_source_type_Float64 !0, !enzymejl_byref_BITS_VALUE !0\n %\".fca.0.0.0.extract'ipev.i\" = extractvalue [4 x [1 x [4 x double]]] %1, 0, 0, 0, !dbg !11\n %.fca.0.0.1.extract.i = extractvalue [4 x [1 x [4 x double]]] %0, 0, 0, 1, !dbg !11, !enzyme_type !14, !enzymejl_source_type_Float64 !0, !enzymejl_byref_BITS_VALUE !0\n %\".fca.0.0.1.extract'ipev.i\" = extractvalue [4 x [1 x [4 x double]]] %1, 0, 0, 1, !dbg !11\n %.fca.0.0.2.extract.i = extractvalue [4 x [1 x [4 x double]]] %0, 0, 0, 2, !dbg !11, !enzyme_type !14, !enzymejl_source_type_Float64 !0, !enzymejl_byref_BITS_VALUE !0\n %\".fca.0.0.2.extract'ipev.i\" = extractvalue [4 x [1 x [4 x double]]] %1, 0, 0, 2, !dbg !11\n %.fca.0.0.3.extract.i = extractvalue [4 x [1 x [4 x double]]] %0, 0, 0, 3, !dbg !11, !enzyme_type !14, !enzymejl_source_type_Float64 !0, !enzymejl_byref_BITS_VALUE !0\n %\".fca.0.0.3.extract'ipev.i\" = extractvalue [4 x [1 x [4 x double]]] %1, 0, 0, 3, !dbg !11\n %.fca.1.0.0.extract.i = extractvalue [4 x [1 x [4 x double]]] %0, 1, 0, 0, !dbg !11, !enzyme_type !14, !enzymejl_source_type_Float64 !0, !enzymejl_byref_BITS_VALUE !0\n %\".fca.1.0.0.extract'ipev.i\" = extractvalue [4 x [1 x [4 x double]]] %1, 1, 0, 0, !dbg !11\n %.fca.1.0.1.extract.i = extractvalue [4 x [1 x [4 x double]]] %0, 1, 0, 1, !dbg !11, !enzyme_type !14, !enzymejl_source_type_Float64 !0, !enzymejl_byref_BITS_VALUE !0\n %\".fca.1.0.1.extract'ipev.i\" = extractvalue [4 x [1 x [4 x double]]] %1, 1, 0, 1, !dbg !11\n %.fca.1.0.2.extract.i = extractvalue [4 x [1 x [4 x double]]] %0, 1, 0, 2, !dbg !11, !enzyme_type !14, !enzymejl_source_type_Float64 !0, !enzymejl_byref_BITS_VALUE !0\n %\".fca.1.0.2.extract'ipev.i\" = extractvalue [4 x [1 x [4 x double]]] %1, 1, 0, 2, !dbg !11\n %.fca.1.0.3.extract.i = extractvalue [4 x [1 x [4 x double]]] %0, 1, 0, 3, !dbg !11, !enzyme_type !14, !enzymejl_source_type_Float64 !0, !enzymejl_byref_BITS_VALUE !0\n %\".fca.1.0.3.extract'ipev.i\" = extractvalue [4 x [1 x [4 x double]]] %1, 1, 0, 3, !dbg !11\n %.fca.2.0.0.extract.i = extractvalue [4 x [1 x [4 x double]]] %0, 2, 0, 0, !dbg !11, !enzyme_type !14, !enzymejl_source_type_Float64 !0, !enzymejl_byref_BITS_VALUE !0\n %\".fca.2.0.0.extract'ipev.i\" = extractvalue [4 x [1 x [4 x double]]] %1, 2, 0, 0, !dbg !11\n %.fca.2.0.1.extract.i = extractvalue [4 x [1 x [4 x double]]] %0, 2, 0, 1, !dbg !11, !enzyme_type !14, !enzymejl_source_type_Float64 !0, !enzymejl_byref_BITS_VALUE !0\n %\".fca.2.0.1.extract'ipev.i\" = extractvalue [4 x [1 x [4 x double]]] %1, 2, 0, 1, !dbg !11\n %.fca.2.0.2.extract.i = extractvalue [4 x [1 x [4 x double]]] %0, 2, 0, 2, !dbg !11, !enzyme_type !14, !enzymejl_source_type_Float64 !0, !enzymejl_byref_BITS_VALUE !0\n %\".fca.2.0.2.extract'ipev.i\" = extractvalue [4 x [1 x [4 x double]]] %1, 2, 0, 2, !dbg !11\n %.fca.2.0.3.extract.i = extractvalue [4 x [1 x [4 x double]]] %0, 2, 0, 3, !dbg !11, !enzyme_type !14, !enzymejl_source_type_Float64 !0, !enzymejl_byref_BITS_VALUE !0\n %\".fca.2.0.3.extract'ipev.i\" = extractvalue [4 x [1 x [4 x double]]] %1, 2, 0, 3, !dbg !11\n %.fca.3.0.0.extract.i = extractvalue [4 x [1 x [4 x double]]] %0, 3, 0, 0, !dbg !11, !enzyme_type !14, !enzymejl_source_type_Float64 !0, !enzymejl_byref_BITS_VALUE !0\n %\".fca.3.0.0.extract'ipev.i\" = extractvalue [4 x [1 x [4 x double]]] %1, 3, 0, 0, !dbg !11\n %.fca.3.0.1.extract.i = extractvalue [4 x [1 x [4 x double]]] %0, 3, 0, 1, !dbg !11, !enzyme_type !14, !enzymejl_source_type_Float64 !0, !enzymejl_byref_BITS_VALUE !0\n %\".fca.3.0.1.extract'ipev.i\" = extractvalue [4 x [1 x [4 x double]]] %1, 3, 0, 1, !dbg !11\n %.fca.3.0.2.extract.i = extractvalue [4 x [1 x [4 x double]]] %0, 3, 0, 2, !dbg !11, !enzyme_type !14, !enzymejl_source_type_Float64 !0, !enzymejl_byref_BITS_VALUE !0\n %\".fca.3.0.2.extract'ipev.i\" = extractvalue [4 x [1 x [4 x double]]] %1, 3, 0, 2, !dbg !11\n %.fca.3.0.3.extract.i = extractvalue [4 x [1 x [4 x double]]] %0, 3, 0, 3, !dbg !11, !enzyme_type !14, !enzymejl_source_type_Float64 !0, !enzymejl_byref_BITS_VALUE !0\n %\".fca.3.0.3.extract'ipev.i\" = extractvalue [4 x [1 x [4 x double]]] %1, 3, 0, 3\n %pgcstack.i.i = call ptr @julia.get_pgcstack() #7\n %3 = call nonnull \"enzyme_type\"=\"{[-1]:Pointer}\" ptr addrspace(10) (ptr, ptr addrspace(10), ptr addrspace(10), ...) @julia.call2(ptr nonnull @ijl_invoke, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695899363856 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695860763760 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695618768768 to ptr) to ptr addrspace(10))) #8, !dbg !16\n %.not.i = icmp eq ptr addrspace(10) %3, addrspacecast (ptr inttoptr (i64 130695720003920 to ptr) to ptr addrspace(10)), !dbg !16\n %\"ejl_inserted\$_Core_Tuple_47591\$false\$130694969317456.ejl_inserted\$_Main__flux_47606\$false\$130695095857232.i\" = select i1 %.not.i, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695095857232 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130694969317456 to ptr) to ptr addrspace(10)), !dbg !16\n %jl_f_apply_type_ret.i.i = call nonnull \"enzyme_inactive\" \"enzyme_type\"=\"{[-1]:Pointer}\" ptr addrspace(10) (ptr, ptr addrspace(10), ...) @julia.call(ptr nonnull @jl_f_apply_type, ptr addrspace(10) null, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695930797600 to ptr) to ptr addrspace(10)), ptr addrspace(10) %\"ejl_inserted\$_Core_Tuple_47591\$false\$130694969317456.ejl_inserted\$_Main__flux_47606\$false\$130695095857232.i\", ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130694969317456 to ptr) to ptr addrspace(10))) #9, !dbg !31\n %4 = call nonnull \"enzyme_type\"=\"{[-1]:Pointer}\" ptr addrspace(10) (ptr, ptr addrspace(10), ptr addrspace(10), ...) @julia.call2(ptr nonnull @ijl_invoke, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695899363856 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695860763760 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695618768768 to ptr) to ptr addrspace(10))) #8, !dbg !32\n %current_task.i.i = getelementptr inbounds i8, ptr %pgcstack.i.i, i64 -152, !dbg !32\n %\"box::Duplicated.i.i\" = call noalias nonnull align 8 dereferenceable(192) \"enzyme_ReadOnlyOrThrow\" \"enzyme_type\"=\"{[-1]:Pointer, [-1,-1]:Float@double}\" ptr addrspace(10) @julia.gc_alloc_obj(ptr nonnull %current_task.i.i, i64 192, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130694968345232 to ptr) to ptr addrspace(10))) #10, !dbg !32, !enzymejl_gc_alloc_rt !40\n %5 = call noalias nonnull align 8 dereferenceable(192) \"enzyme_ReadOnlyOrThrow\" \"enzyme_type\"=\"{[-1]:Pointer, [-1,-1]:Float@double}\" ptr addrspace(10) @julia.gc_alloc_obj(ptr nonnull %current_task.i.i, i64 192, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130694968345232 to ptr) to ptr addrspace(10))) #10, !dbg !32\n %\"'ipc.i\" = addrspacecast ptr addrspace(10) %5 to ptr addrspace(11), !dbg !32\n %6 = addrspacecast ptr addrspace(10) %\"box::Duplicated.i.i\" to ptr addrspace(11), !dbg !32\n store double %\".fca.0.0.0.extract'ipev.i\", ptr addrspace(11) %\"'ipc.i\", align 8, !dbg !32, !tbaa !41, !alias.scope !44, !noalias !50\n store double %.fca.0.0.0.extract.i, ptr addrspace(11) %6, align 8, !dbg !32, !tbaa !41, !alias.scope !57, !noalias !58\n %\"new::Duplicated.i.sroa.5.0..sroa_idx'ipg.i\" = getelementptr inbounds i8, ptr addrspace(11) %\"'ipc.i\", i64 8, !dbg !32\n %\"new::Duplicated.i.sroa.5.0..sroa_idx.i\" = getelementptr inbounds nuw i8, ptr addrspace(11) %6, i64 8, !dbg !32\n store double %\".fca.0.0.1.extract'ipev.i\", ptr addrspace(11) %\"new::Duplicated.i.sroa.5.0..sroa_idx'ipg.i\", align 8, !dbg !32, !tbaa !41, !alias.scope !44, !noalias !50\n store double %.fca.0.0.1.extract.i, ptr addrspace(11) %\"new::Duplicated.i.sroa.5.0..sroa_idx.i\", align 8, !dbg !32, !tbaa !41, !alias.scope !57, !noalias !58\n %\"new::Duplicated.i.sroa.6.0..sroa_idx'ipg.i\" = getelementptr inbounds i8, ptr addrspace(11) %\"'ipc.i\", i64 16, !dbg !32\n %\"new::Duplicated.i.sroa.6.0..sroa_idx.i\" = getelementptr inbounds nuw i8, ptr addrspace(11) %6, i64 16, !dbg !32\n store double %\".fca.0.0.2.extract'ipev.i\", ptr addrspace(11) %\"new::Duplicated.i.sroa.6.0..sroa_idx'ipg.i\", align 8, !dbg !32, !tbaa !41, !alias.scope !44, !noalias !50\n store double %.fca.0.0.2.extract.i, ptr addrspace(11) %\"new::Duplicated.i.sroa.6.0..sroa_idx.i\", align 8, !dbg !32, !tbaa !41, !alias.scope !57, !noalias !58\n %\"new::Duplicated.i.sroa.7.0..sroa_idx'ipg.i\" = getelementptr inbounds i8, ptr addrspace(11) %\"'ipc.i\", i64 24, !dbg !32\n %\"new::Duplicated.i.sroa.7.0..sroa_idx.i\" = getelementptr inbounds nuw i8, ptr addrspace(11) %6, i64 24, !dbg !32\n store double %\".fca.0.0.3.extract'ipev.i\", ptr addrspace(11) %\"new::Duplicated.i.sroa.7.0..sroa_idx'ipg.i\", align 8, !dbg !32, !tbaa !41, !alias.scope !44, !noalias !50\n store double %.fca.0.0.3.extract.i, ptr addrspace(11) %\"new::Duplicated.i.sroa.7.0..sroa_idx.i\", align 8, !dbg !32, !tbaa !41, !alias.scope !57, !noalias !58\n %\"new::Duplicated.i.sroa.8.0..sroa_idx'ipg.i\" = getelementptr inbounds i8, ptr addrspace(11) %\"'ipc.i\", i64 32, !dbg !32\n %\"new::Duplicated.i.sroa.8.0..sroa_idx.i\" = getelementptr inbounds nuw i8, ptr addrspace(11) %6, i64 32, !dbg !32\n store double %\".fca.1.0.0.extract'ipev.i\", ptr addrspace(11) %\"new::Duplicated.i.sroa.8.0..sroa_idx'ipg.i\", align 8, !dbg !32, !tbaa !41, !alias.scope !44, !noalias !50\n store double %.fca.1.0.0.extract.i, ptr addrspace(11) %\"new::Duplicated.i.sroa.8.0..sroa_idx.i\", align 8, !dbg !32, !tbaa !41, !alias.scope !57, !noalias !58\n %\"new::Duplicated.i.sroa.9.0..sroa_idx'ipg.i\" = getelementptr inbounds i8, ptr addrspace(11) %\"'ipc.i\", i64 40, !dbg !32\n %\"new::Duplicated.i.sroa.9.0..sroa_idx.i\" = getelementptr inbounds nuw i8, ptr addrspace(11) %6, i64 40, !dbg !32\n store double %\".fca.1.0.1.extract'ipev.i\", ptr addrspace(11) %\"new::Duplicated.i.sroa.9.0..sroa_idx'ipg.i\", align 8, !dbg !32, !tbaa !41, !alias.scope !44, !noalias !50\n store double %.fca.1.0.1.extract.i, ptr addrspace(11) %\"new::Duplicated.i.sroa.9.0..sroa_idx.i\", align 8, !dbg !32, !tbaa !41, !alias.scope !57, !noalias !58\n %\"new::Duplicated.i.sroa.10.0..sroa_idx'ipg.i\" = getelementptr inbounds i8, ptr addrspace(11) %\"'ipc.i\", i64 48, !dbg !32\n %\"new::Duplicated.i.sroa.10.0..sroa_idx.i\" = getelementptr inbounds nuw i8, ptr addrspace(11) %6, i64 48, !dbg !32\n store double %\".fca.1.0.2.extract'ipev.i\", ptr addrspace(11) %\"new::Duplicated.i.sroa.10.0..sroa_idx'ipg.i\", align 8, !dbg !32, !tbaa !41, !alias.scope !44, !noalias !50\n store double %.fca.1.0.2.extract.i, ptr addrspace(11) %\"new::Duplicated.i.sroa.10.0..sroa_idx.i\", align 8, !dbg !32, !tbaa !41, !alias.scope !57, !noalias !58\n %\"new::Duplicated.i.sroa.11.0..sroa_idx'ipg.i\" = getelementptr inbounds i8, ptr addrspace(11) %\"'ipc.i\", i64 56, !dbg !32\n %\"new::Duplicated.i.sroa.11.0..sroa_idx.i\" = getelementptr inbounds nuw i8, ptr addrspace(11) %6, i64 56, !dbg !32\n store double %\".fca.1.0.3.extract'ipev.i\", ptr addrspace(11) %\"new::Duplicated.i.sroa.11.0..sroa_idx'ipg.i\", align 8, !dbg !32, !tbaa !41, !alias.scope !44, !noalias !50\n store double %.fca.1.0.3.extract.i, ptr addrspace(11) %\"new::Duplicated.i.sroa.11.0..sroa_idx.i\", align 8, !dbg !32, !tbaa !41, !alias.scope !57, !noalias !58\n %\"new::Duplicated.i.sroa.12.0..sroa_idx'ipg.i\" = getelementptr inbounds i8, ptr addrspace(11) %\"'ipc.i\", i64 64, !dbg !32\n %\"new::Duplicated.i.sroa.12.0..sroa_idx.i\" = getelementptr inbounds nuw i8, ptr addrspace(11) %6, i64 64, !dbg !32\n store double %\".fca.2.0.0.extract'ipev.i\", ptr addrspace(11) %\"new::Duplicated.i.sroa.12.0..sroa_idx'ipg.i\", align 8, !dbg !32, !tbaa !41, !alias.scope !44, !noalias !50\n store double %.fca.2.0.0.extract.i, ptr addrspace(11) %\"new::Duplicated.i.sroa.12.0..sroa_idx.i\", align 8, !dbg !32, !tbaa !41, !alias.scope !57, !noalias !58\n %\"new::Duplicated.i.sroa.13.0..sroa_idx'ipg.i\" = getelementptr inbounds i8, ptr addrspace(11) %\"'ipc.i\", i64 72, !dbg !32\n %\"new::Duplicated.i.sroa.13.0..sroa_idx.i\" = getelementptr inbounds nuw i8, ptr addrspace(11) %6, i64 72, !dbg !32\n store double %\".fca.2.0.1.extract'ipev.i\", ptr addrspace(11) %\"new::Duplicated.i.sroa.13.0..sroa_idx'ipg.i\", align 8, !dbg !32, !tbaa !41, !alias.scope !44, !noalias !50\n store double %.fca.2.0.1.extract.i, ptr addrspace(11) %\"new::Duplicated.i.sroa.13.0..sroa_idx.i\", align 8, !dbg !32, !tbaa !41, !alias.scope !57, !noalias !58\n %\"new::Duplicated.i.sroa.14.0..sroa_idx'ipg.i\" = getelementptr inbounds i8, ptr addrspace(11) %\"'ipc.i\", i64 80, !dbg !32\n %\"new::Duplicated.i.sroa.14.0..sroa_idx.i\" = getelementptr inbounds nuw i8, ptr addrspace(11) %6, i64 80, !dbg !32\n store double %\".fca.2.0.2.extract'ipev.i\", ptr addrspace(11) %\"new::Duplicated.i.sroa.14.0..sroa_idx'ipg.i\", align 8, !dbg !32, !tbaa !41, !alias.scope !44, !noalias !50\n store double %.fca.2.0.2.extract.i, ptr addrspace(11) %\"new::Duplicated.i.sroa.14.0..sroa_idx.i\", align 8, !dbg !32, !tbaa !41, !alias.scope !57, !noalias !58\n %\"new::Duplicated.i.sroa.15.0..sroa_idx'ipg.i\" = getelementptr inbounds i8, ptr addrspace(11) %\"'ipc.i\", i64 88, !dbg !32\n %\"new::Duplicated.i.sroa.15.0..sroa_idx.i\" = getelementptr inbounds nuw i8, ptr addrspace(11) %6, i64 88, !dbg !32\n store double %\".fca.2.0.3.extract'ipev.i\", ptr addrspace(11) %\"new::Duplicated.i.sroa.15.0..sroa_idx'ipg.i\", align 8, !dbg !32, !tbaa !41, !alias.scope !44, !noalias !50\n store double %.fca.2.0.3.extract.i, ptr addrspace(11) %\"new::Duplicated.i.sroa.15.0..sroa_idx.i\", align 8, !dbg !32, !tbaa !41, !alias.scope !57, !noalias !58\n %\"new::Duplicated.i.sroa.16.0..sroa_idx'ipg.i\" = getelementptr inbounds i8, ptr addrspace(11) %\"'ipc.i\", i64 96, !dbg !32\n %\"new::Duplicated.i.sroa.16.0..sroa_idx.i\" = getelementptr inbounds nuw i8, ptr addrspace(11) %6, i64 96, !dbg !32\n store double %\".fca.1.0.0.extract'ipev.i\", ptr addrspace(11) %\"new::Duplicated.i.sroa.16.0..sroa_idx'ipg.i\", align 8, !dbg !32, !tbaa !41, !alias.scope !44, !noalias !50\n store double %.fca.1.0.0.extract.i, ptr addrspace(11) %\"new::Duplicated.i.sroa.16.0..sroa_idx.i\", align 8, !dbg !32, !tbaa !41, !alias.scope !57, !noalias !58\n %\"new::Duplicated.i.sroa.17.0..sroa_idx'ipg.i\" = getelementptr inbounds i8, ptr addrspace(11) %\"'ipc.i\", i64 104, !dbg !32\n %\"new::Duplicated.i.sroa.17.0..sroa_idx.i\" = getelementptr inbounds nuw i8, ptr addrspace(11) %6, i64 104, !dbg !32\n store double %\".fca.1.0.1.extract'ipev.i\", ptr addrspace(11) %\"new::Duplicated.i.sroa.17.0..sroa_idx'ipg.i\", align 8, !dbg !32, !tbaa !41, !alias.scope !44, !noalias !50\n store double %.fca.1.0.1.extract.i, ptr addrspace(11) %\"new::Duplicated.i.sroa.17.0..sroa_idx.i\", align 8, !dbg !32, !tbaa !41, !alias.scope !57, !noalias !58\n %\"new::Duplicated.i.sroa.18.0..sroa_idx'ipg.i\" = getelementptr inbounds i8, ptr addrspace(11) %\"'ipc.i\", i64 112, !dbg !32\n %\"new::Duplicated.i.sroa.18.0..sroa_idx.i\" = getelementptr inbounds nuw i8, ptr addrspace(11) %6, i64 112, !dbg !32\n store double %\".fca.1.0.2.extract'ipev.i\", ptr addrspace(11) %\"new::Duplicated.i.sroa.18.0..sroa_idx'ipg.i\", align 8, !dbg !32, !tbaa !41, !alias.scope !44, !noalias !50\n store double %.fca.1.0.2.extract.i, ptr addrspace(11) %\"new::Duplicated.i.sroa.18.0..sroa_idx.i\", align 8, !dbg !32, !tbaa !41, !alias.scope !57, !noalias !58\n %\"new::Duplicated.i.sroa.19.0..sroa_idx'ipg.i\" = getelementptr inbounds i8, ptr addrspace(11) %\"'ipc.i\", i64 120, !dbg !32\n %\"new::Duplicated.i.sroa.19.0..sroa_idx.i\" = getelementptr inbounds nuw i8, ptr addrspace(11) %6, i64 120, !dbg !32\n store double %\".fca.1.0.3.extract'ipev.i\", ptr addrspace(11) %\"new::Duplicated.i.sroa.19.0..sroa_idx'ipg.i\", align 8, !dbg !32, !tbaa !41, !alias.scope !44, !noalias !50\n store double %.fca.1.0.3.extract.i, ptr addrspace(11) %\"new::Duplicated.i.sroa.19.0..sroa_idx.i\", align 8, !dbg !32, !tbaa !41, !alias.scope !57, !noalias !58\n %\"new::Duplicated.i.sroa.20.0..sroa_idx'ipg.i\" = getelementptr inbounds i8, ptr addrspace(11) %\"'ipc.i\", i64 128, !dbg !32\n %\"new::Duplicated.i.sroa.20.0..sroa_idx.i\" = getelementptr inbounds nuw i8, ptr addrspace(11) %6, i64 128, !dbg !32\n store double %\".fca.2.0.0.extract'ipev.i\", ptr addrspace(11) %\"new::Duplicated.i.sroa.20.0..sroa_idx'ipg.i\", align 8, !dbg !32, !tbaa !41, !alias.scope !44, !noalias !50\n store double %.fca.2.0.0.extract.i, ptr addrspace(11) %\"new::Duplicated.i.sroa.20.0..sroa_idx.i\", align 8, !dbg !32, !tbaa !41, !alias.scope !57, !noalias !58\n %\"new::Duplicated.i.sroa.21.0..sroa_idx'ipg.i\" = getelementptr inbounds i8, ptr addrspace(11) %\"'ipc.i\", i64 136, !dbg !32\n %\"new::Duplicated.i.sroa.21.0..sroa_idx.i\" = getelementptr inbounds nuw i8, ptr addrspace(11) %6, i64 136, !dbg !32\n store double %\".fca.2.0.1.extract'ipev.i\", ptr addrspace(11) %\"new::Duplicated.i.sroa.21.0..sroa_idx'ipg.i\", align 8, !dbg !32, !tbaa !41, !alias.scope !44, !noalias !50\n store double %.fca.2.0.1.extract.i, ptr addrspace(11) %\"new::Duplicated.i.sroa.21.0..sroa_idx.i\", align 8, !dbg !32, !tbaa !41, !alias.scope !57, !noalias !58\n %\"new::Duplicated.i.sroa.22.0..sroa_idx'ipg.i\" = getelementptr inbounds i8, ptr addrspace(11) %\"'ipc.i\", i64 144, !dbg !32\n %\"new::Duplicated.i.sroa.22.0..sroa_idx.i\" = getelementptr inbounds nuw i8, ptr addrspace(11) %6, i64 144, !dbg !32\n store double %\".fca.2.0.2.extract'ipev.i\", ptr addrspace(11) %\"new::Duplicated.i.sroa.22.0..sroa_idx'ipg.i\", align 8, !dbg !32, !tbaa !41, !alias.scope !44, !noalias !50\n store double %.fca.2.0.2.extract.i, ptr addrspace(11) %\"new::Duplicated.i.sroa.22.0..sroa_idx.i\", align 8, !dbg !32, !tbaa !41, !alias.scope !57, !noalias !58\n %\"new::Duplicated.i.sroa.23.0..sroa_idx'ipg.i\" = getelementptr inbounds i8, ptr addrspace(11) %\"'ipc.i\", i64 152, !dbg !32\n %\"new::Duplicated.i.sroa.23.0..sroa_idx.i\" = getelementptr inbounds nuw i8, ptr addrspace(11) %6, i64 152, !dbg !32\n store double %\".fca.2.0.3.extract'ipev.i\", ptr addrspace(11) %\"new::Duplicated.i.sroa.23.0..sroa_idx'ipg.i\", align 8, !dbg !32, !tbaa !41, !alias.scope !44, !noalias !50\n store double %.fca.2.0.3.extract.i, ptr addrspace(11) %\"new::Duplicated.i.sroa.23.0..sroa_idx.i\", align 8, !dbg !32, !tbaa !41, !alias.scope !57, !noalias !58\n %\"new::Duplicated.i.sroa.24.0..sroa_idx'ipg.i\" = getelementptr inbounds i8, ptr addrspace(11) %\"'ipc.i\", i64 160, !dbg !32\n %\"new::Duplicated.i.sroa.24.0..sroa_idx.i\" = getelementptr inbounds nuw i8, ptr addrspace(11) %6, i64 160, !dbg !32\n store double %\".fca.3.0.0.extract'ipev.i\", ptr addrspace(11) %\"new::Duplicated.i.sroa.24.0..sroa_idx'ipg.i\", align 8, !dbg !32, !tbaa !41, !alias.scope !44, !noalias !50\n store double %.fca.3.0.0.extract.i, ptr addrspace(11) %\"new::Duplicated.i.sroa.24.0..sroa_idx.i\", align 8, !dbg !32, !tbaa !41, !alias.scope !57, !noalias !58\n %\"new::Duplicated.i.sroa.25.0..sroa_idx'ipg.i\" = getelementptr inbounds i8, ptr addrspace(11) %\"'ipc.i\", i64 168, !dbg !32\n %\"new::Duplicated.i.sroa.25.0..sroa_idx.i\" = getelementptr inbounds nuw i8, ptr addrspace(11) %6, i64 168, !dbg !32\n store double %\".fca.3.0.1.extract'ipev.i\", ptr addrspace(11) %\"new::Duplicated.i.sroa.25.0..sroa_idx'ipg.i\", align 8, !dbg !32, !tbaa !41, !alias.scope !44, !noalias !50\n store double %.fca.3.0.1.extract.i, ptr addrspace(11) %\"new::Duplicated.i.sroa.25.0..sroa_idx.i\", align 8, !dbg !32, !tbaa !41, !alias.scope !57, !noalias !58\n %\"new::Duplicated.i.sroa.26.0..sroa_idx'ipg.i\" = getelementptr inbounds i8, ptr addrspace(11) %\"'ipc.i\", i64 176, !dbg !32\n %\"new::Duplicated.i.sroa.26.0..sroa_idx.i\" = getelementptr inbounds nuw i8, ptr addrspace(11) %6, i64 176, !dbg !32\n store double %\".fca.3.0.2.extract'ipev.i\", ptr addrspace(11) %\"new::Duplicated.i.sroa.26.0..sroa_idx'ipg.i\", align 8, !dbg !32, !tbaa !41, !alias.scope !44, !noalias !50\n store double %.fca.3.0.2.extract.i, ptr addrspace(11) %\"new::Duplicated.i.sroa.26.0..sroa_idx.i\", align 8, !dbg !32, !tbaa !41, !alias.scope !57, !noalias !58\n %\"new::Duplicated.i.sroa.27.0..sroa_idx'ipg.i\" = getelementptr inbounds i8, ptr addrspace(11) %\"'ipc.i\", i64 184, !dbg !32\n %\"new::Duplicated.i.sroa.27.0..sroa_idx.i\" = getelementptr inbounds nuw i8, ptr addrspace(11) %6, i64 184, !dbg !32\n store double %\".fca.3.0.3.extract'ipev.i\", ptr addrspace(11) %\"new::Duplicated.i.sroa.27.0..sroa_idx'ipg.i\", align 8, !dbg !32, !tbaa !41, !alias.scope !44, !noalias !50\n store double %.fca.3.0.3.extract.i, ptr addrspace(11) %\"new::Duplicated.i.sroa.27.0..sroa_idx.i\", align 8, !dbg !32, !tbaa !41, !alias.scope !57, !noalias !58\n %7 = call ptr addrspace(10) (ptr, ptr addrspace(10), ...) @julia.call(ptr @ijl_apply_generic, ptr addrspace(10) @ejl_enz_runtime_generic_fwd, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695126066832 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695908277584 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695908277584 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_enz_val_1, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695618737712 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695860763760 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) %\"box::Duplicated.i.i\", ptr addrspace(10) %5), !dbg !32\n %8 = addrspacecast ptr addrspace(10) %7 to ptr addrspace(11), !dbg !32\n %9 = load ptr addrspace(10), ptr addrspace(11) %8, align 8, !dbg !32\n %jl_f_apply_type_ret10.i.i = call nonnull \"enzyme_inactive\" \"enzyme_type\"=\"{[-1]:Pointer}\" ptr addrspace(10) (ptr, ptr addrspace(10), ...) @julia.call(ptr nonnull @jl_f_apply_type, ptr addrspace(10) null, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695930797600 to ptr) to ptr addrspace(10)), ptr addrspace(10) nonnull %4, ptr addrspace(10) nonnull %9) #9, !dbg !59\n %10 = call nonnull \"enzyme_type\"=\"{[-1]:Pointer}\" ptr addrspace(10) (ptr, ptr addrspace(10), ptr addrspace(10), ...) @julia.call2(ptr nonnull @ijl_invoke, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695899363856 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695860763760 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695618768768 to ptr) to ptr addrspace(10))) #8, !dbg !60\n %.not62.i = icmp eq ptr addrspace(10) %10, addrspacecast (ptr inttoptr (i64 130695720003920 to ptr) to ptr addrspace(10)), !dbg !60\n %value_phi15.i.i = select i1 %.not62.i, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695095857232 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130694969317456 to ptr) to ptr addrspace(10)), !dbg !60\n %jl_f_apply_type_ret18.i.i = call nonnull \"enzyme_inactive\" \"enzyme_type\"=\"{[-1]:Pointer}\" ptr addrspace(10) (ptr, ptr addrspace(10), ...) @julia.call(ptr nonnull @jl_f_apply_type, ptr addrspace(10) null, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695930797600 to ptr) to ptr addrspace(10)), ptr addrspace(10) %value_phi15.i.i, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130694969317456 to ptr) to ptr addrspace(10))) #9, !dbg !65\n %11 = call ptr addrspace(10) (ptr, ptr addrspace(10), ...) @julia.call(ptr @ijl_apply_generic, ptr addrspace(10) @ejl_enz_runtime_generic_fwd, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695159782544 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695908277584 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695908277584 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_enz_val_1, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695618737712 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695560688096 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695876761728 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695740856528 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695179751504 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) %jl_f_apply_type_ret10.i.i, ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695618718864 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695857041792 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695618743472 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695908277584 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695908277584 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 914660384 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695908276976 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695908277584 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695908277584 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing), !dbg !66\n %12 = addrspacecast ptr addrspace(10) %11 to ptr addrspace(11), !dbg !66\n %13 = getelementptr inbounds [2 x ptr addrspace(10)], ptr addrspace(11) %12, i64 0, i64 1, !dbg !66\n %14 = load ptr addrspace(10), ptr addrspace(11) %13, align 8, !dbg !66\n %15 = load ptr addrspace(10), ptr addrspace(11) %12, align 8, !dbg !66\n %\"box::Duplicated26.i.i\" = call noalias nonnull align 8 dereferenceable(192) \"enzyme_ReadOnlyOrThrow\" \"enzyme_type\"=\"{[-1]:Pointer, [-1,-1]:Float@double}\" ptr addrspace(10) @julia.gc_alloc_obj(ptr nonnull %current_task.i.i, i64 192, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130694968345232 to ptr) to ptr addrspace(10))) #10, !dbg !67, !enzymejl_gc_alloc_rt !40\n %16 = call noalias nonnull align 8 dereferenceable(192) \"enzyme_ReadOnlyOrThrow\" \"enzyme_type\"=\"{[-1]:Pointer, [-1,-1]:Float@double}\" ptr addrspace(10) @julia.gc_alloc_obj(ptr nonnull %current_task.i.i, i64 192, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130694968345232 to ptr) to ptr addrspace(10))) #10, !dbg !67\n %\"'ipc9.i\" = addrspacecast ptr addrspace(10) %16 to ptr addrspace(11), !dbg !67\n %17 = addrspacecast ptr addrspace(10) %\"box::Duplicated26.i.i\" to ptr addrspace(11), !dbg !67\n store double %\".fca.0.0.0.extract'ipev.i\", ptr addrspace(11) %\"'ipc9.i\", align 8, !dbg !67, !tbaa !41, !alias.scope !68, !noalias !71\n store double %.fca.0.0.0.extract.i, ptr addrspace(11) %17, align 8, !dbg !67, !tbaa !41, !alias.scope !73, !noalias !74\n %\"new::Duplicated.i.sroa.5.0..sroa_idx16'ipg.i\" = getelementptr inbounds i8, ptr addrspace(11) %\"'ipc9.i\", i64 8, !dbg !67\n %\"new::Duplicated.i.sroa.5.0..sroa_idx16.i\" = getelementptr inbounds nuw i8, ptr addrspace(11) %17, i64 8, !dbg !67\n store double %\".fca.0.0.1.extract'ipev.i\", ptr addrspace(11) %\"new::Duplicated.i.sroa.5.0..sroa_idx16'ipg.i\", align 8, !dbg !67, !tbaa !41, !alias.scope !68, !noalias !71\n store double %.fca.0.0.1.extract.i, ptr addrspace(11) %\"new::Duplicated.i.sroa.5.0..sroa_idx16.i\", align 8, !dbg !67, !tbaa !41, !alias.scope !73, !noalias !74\n %\"new::Duplicated.i.sroa.6.0..sroa_idx18'ipg.i\" = getelementptr inbounds i8, ptr addrspace(11) %\"'ipc9.i\", i64 16, !dbg !67\n %\"new::Duplicated.i.sroa.6.0..sroa_idx18.i\" = getelementptr inbounds nuw i8, ptr addrspace(11) %17, i64 16, !dbg !67\n store double %\".fca.0.0.2.extract'ipev.i\", ptr addrspace(11) %\"new::Duplicated.i.sroa.6.0..sroa_idx18'ipg.i\", align 8, !dbg !67, !tbaa !41, !alias.scope !68, !noalias !71\n store double %.fca.0.0.2.extract.i, ptr addrspace(11) %\"new::Duplicated.i.sroa.6.0..sroa_idx18.i\", align 8, !dbg !67, !tbaa !41, !alias.scope !73, !noalias !74\n %\"new::Duplicated.i.sroa.7.0..sroa_idx20'ipg.i\" = getelementptr inbounds i8, ptr addrspace(11) %\"'ipc9.i\", i64 24, !dbg !67\n %\"new::Duplicated.i.sroa.7.0..sroa_idx20.i\" = getelementptr inbounds nuw i8, ptr addrspace(11) %17, i64 24, !dbg !67\n store double %\".fca.0.0.3.extract'ipev.i\", ptr addrspace(11) %\"new::Duplicated.i.sroa.7.0..sroa_idx20'ipg.i\", align 8, !dbg !67, !tbaa !41, !alias.scope !68, !noalias !71\n store double %.fca.0.0.3.extract.i, ptr addrspace(11) %\"new::Duplicated.i.sroa.7.0..sroa_idx20.i\", align 8, !dbg !67, !tbaa !41, !alias.scope !73, !noalias !74\n %\"new::Duplicated.i.sroa.8.0..sroa_idx22'ipg.i\" = getelementptr inbounds i8, ptr addrspace(11) %\"'ipc9.i\", i64 32, !dbg !67\n %\"new::Duplicated.i.sroa.8.0..sroa_idx22.i\" = getelementptr inbounds nuw i8, ptr addrspace(11) %17, i64 32, !dbg !67\n store double %\".fca.1.0.0.extract'ipev.i\", ptr addrspace(11) %\"new::Duplicated.i.sroa.8.0..sroa_idx22'ipg.i\", align 8, !dbg !67, !tbaa !41, !alias.scope !68, !noalias !71\n store double %.fca.1.0.0.extract.i, ptr addrspace(11) %\"new::Duplicated.i.sroa.8.0..sroa_idx22.i\", align 8, !dbg !67, !tbaa !41, !alias.scope !73, !noalias !74\n %\"new::Duplicated.i.sroa.9.0..sroa_idx24'ipg.i\" = getelementptr inbounds i8, ptr addrspace(11) %\"'ipc9.i\", i64 40, !dbg !67\n %\"new::Duplicated.i.sroa.9.0..sroa_idx24.i\" = getelementptr inbounds nuw i8, ptr addrspace(11) %17, i64 40, !dbg !67\n store double %\".fca.1.0.1.extract'ipev.i\", ptr addrspace(11) %\"new::Duplicated.i.sroa.9.0..sroa_idx24'ipg.i\", align 8, !dbg !67, !tbaa !41, !alias.scope !68, !noalias !71\n store double %.fca.1.0.1.extract.i, ptr addrspace(11) %\"new::Duplicated.i.sroa.9.0..sroa_idx24.i\", align 8, !dbg !67, !tbaa !41, !alias.scope !73, !noalias !74\n %\"new::Duplicated.i.sroa.10.0..sroa_idx26'ipg.i\" = getelementptr inbounds i8, ptr addrspace(11) %\"'ipc9.i\", i64 48, !dbg !67\n %\"new::Duplicated.i.sroa.10.0..sroa_idx26.i\" = getelementptr inbounds nuw i8, ptr addrspace(11) %17, i64 48, !dbg !67\n store double %\".fca.1.0.2.extract'ipev.i\", ptr addrspace(11) %\"new::Duplicated.i.sroa.10.0..sroa_idx26'ipg.i\", align 8, !dbg !67, !tbaa !41, !alias.scope !68, !noalias !71\n store double %.fca.1.0.2.extract.i, ptr addrspace(11) %\"new::Duplicated.i.sroa.10.0..sroa_idx26.i\", align 8, !dbg !67, !tbaa !41, !alias.scope !73, !noalias !74\n %\"new::Duplicated.i.sroa.11.0..sroa_idx28'ipg.i\" = getelementptr inbounds i8, ptr addrspace(11) %\"'ipc9.i\", i64 56, !dbg !67\n %\"new::Duplicated.i.sroa.11.0..sroa_idx28.i\" = getelementptr inbounds nuw i8, ptr addrspace(11) %17, i64 56, !dbg !67\n store double %\".fca.1.0.3.extract'ipev.i\", ptr addrspace(11) %\"new::Duplicated.i.sroa.11.0..sroa_idx28'ipg.i\", align 8, !dbg !67, !tbaa !41, !alias.scope !68, !noalias !71\n store double %.fca.1.0.3.extract.i, ptr addrspace(11) %\"new::Duplicated.i.sroa.11.0..sroa_idx28.i\", align 8, !dbg !67, !tbaa !41, !alias.scope !73, !noalias !74\n %\"new::Duplicated.i.sroa.12.0..sroa_idx30'ipg.i\" = getelementptr inbounds i8, ptr addrspace(11) %\"'ipc9.i\", i64 64, !dbg !67\n %\"new::Duplicated.i.sroa.12.0..sroa_idx30.i\" = getelementptr inbounds nuw i8, ptr addrspace(11) %17, i64 64, !dbg !67\n store double %\".fca.2.0.0.extract'ipev.i\", ptr addrspace(11) %\"new::Duplicated.i.sroa.12.0..sroa_idx30'ipg.i\", align 8, !dbg !67, !tbaa !41, !alias.scope !68, !noalias !71\n store double %.fca.2.0.0.extract.i, ptr addrspace(11) %\"new::Duplicated.i.sroa.12.0..sroa_idx30.i\", align 8, !dbg !67, !tbaa !41, !alias.scope !73, !noalias !74\n %\"new::Duplicated.i.sroa.13.0..sroa_idx32'ipg.i\" = getelementptr inbounds i8, ptr addrspace(11) %\"'ipc9.i\", i64 72, !dbg !67\n %\"new::Duplicated.i.sroa.13.0..sroa_idx32.i\" = getelementptr inbounds nuw i8, ptr addrspace(11) %17, i64 72, !dbg !67\n store double %\".fca.2.0.1.extract'ipev.i\", ptr addrspace(11) %\"new::Duplicated.i.sroa.13.0..sroa_idx32'ipg.i\", align 8, !dbg !67, !tbaa !41, !alias.scope !68, !noalias !71\n store double %.fca.2.0.1.extract.i, ptr addrspace(11) %\"new::Duplicated.i.sroa.13.0..sroa_idx32.i\", align 8, !dbg !67, !tbaa !41, !alias.scope !73, !noalias !74\n %\"new::Duplicated.i.sroa.14.0..sroa_idx34'ipg.i\" = getelementptr inbounds i8, ptr addrspace(11) %\"'ipc9.i\", i64 80, !dbg !67\n %\"new::Duplicated.i.sroa.14.0..sroa_idx34.i\" = getelementptr inbounds nuw i8, ptr addrspace(11) %17, i64 80, !dbg !67\n store double %\".fca.2.0.2.extract'ipev.i\", ptr addrspace(11) %\"new::Duplicated.i.sroa.14.0..sroa_idx34'ipg.i\", align 8, !dbg !67, !tbaa !41, !alias.scope !68, !noalias !71\n store double %.fca.2.0.2.extract.i, ptr addrspace(11) %\"new::Duplicated.i.sroa.14.0..sroa_idx34.i\", align 8, !dbg !67, !tbaa !41, !alias.scope !73, !noalias !74\n %\"new::Duplicated.i.sroa.15.0..sroa_idx36'ipg.i\" = getelementptr inbounds i8, ptr addrspace(11) %\"'ipc9.i\", i64 88, !dbg !67\n %\"new::Duplicated.i.sroa.15.0..sroa_idx36.i\" = getelementptr inbounds nuw i8, ptr addrspace(11) %17, i64 88, !dbg !67\n store double %\".fca.2.0.3.extract'ipev.i\", ptr addrspace(11) %\"new::Duplicated.i.sroa.15.0..sroa_idx36'ipg.i\", align 8, !dbg !67, !tbaa !41, !alias.scope !68, !noalias !71\n store double %.fca.2.0.3.extract.i, ptr addrspace(11) %\"new::Duplicated.i.sroa.15.0..sroa_idx36.i\", align 8, !dbg !67, !tbaa !41, !alias.scope !73, !noalias !74\n %\"new::Duplicated.i.sroa.16.0..sroa_idx38'ipg.i\" = getelementptr inbounds i8, ptr addrspace(11) %\"'ipc9.i\", i64 96, !dbg !67\n %\"new::Duplicated.i.sroa.16.0..sroa_idx38.i\" = getelementptr inbounds nuw i8, ptr addrspace(11) %17, i64 96, !dbg !67\n store double %\".fca.1.0.0.extract'ipev.i\", ptr addrspace(11) %\"new::Duplicated.i.sroa.16.0..sroa_idx38'ipg.i\", align 8, !dbg !67, !tbaa !41, !alias.scope !68, !noalias !71\n store double %.fca.1.0.0.extract.i, ptr addrspace(11) %\"new::Duplicated.i.sroa.16.0..sroa_idx38.i\", align 8, !dbg !67, !tbaa !41, !alias.scope !73, !noalias !74\n %\"new::Duplicated.i.sroa.17.0..sroa_idx40'ipg.i\" = getelementptr inbounds i8, ptr addrspace(11) %\"'ipc9.i\", i64 104, !dbg !67\n %\"new::Duplicated.i.sroa.17.0..sroa_idx40.i\" = getelementptr inbounds nuw i8, ptr addrspace(11) %17, i64 104, !dbg !67\n store double %\".fca.1.0.1.extract'ipev.i\", ptr addrspace(11) %\"new::Duplicated.i.sroa.17.0..sroa_idx40'ipg.i\", align 8, !dbg !67, !tbaa !41, !alias.scope !68, !noalias !71\n store double %.fca.1.0.1.extract.i, ptr addrspace(11) %\"new::Duplicated.i.sroa.17.0..sroa_idx40.i\", align 8, !dbg !67, !tbaa !41, !alias.scope !73, !noalias !74\n %\"new::Duplicated.i.sroa.18.0..sroa_idx42'ipg.i\" = getelementptr inbounds i8, ptr addrspace(11) %\"'ipc9.i\", i64 112, !dbg !67\n %\"new::Duplicated.i.sroa.18.0..sroa_idx42.i\" = getelementptr inbounds nuw i8, ptr addrspace(11) %17, i64 112, !dbg !67\n store double %\".fca.1.0.2.extract'ipev.i\", ptr addrspace(11) %\"new::Duplicated.i.sroa.18.0..sroa_idx42'ipg.i\", align 8, !dbg !67, !tbaa !41, !alias.scope !68, !noalias !71\n store double %.fca.1.0.2.extract.i, ptr addrspace(11) %\"new::Duplicated.i.sroa.18.0..sroa_idx42.i\", align 8, !dbg !67, !tbaa !41, !alias.scope !73, !noalias !74\n %\"new::Duplicated.i.sroa.19.0..sroa_idx44'ipg.i\" = getelementptr inbounds i8, ptr addrspace(11) %\"'ipc9.i\", i64 120, !dbg !67\n %\"new::Duplicated.i.sroa.19.0..sroa_idx44.i\" = getelementptr inbounds nuw i8, ptr addrspace(11) %17, i64 120, !dbg !67\n store double %\".fca.1.0.3.extract'ipev.i\", ptr addrspace(11) %\"new::Duplicated.i.sroa.19.0..sroa_idx44'ipg.i\", align 8, !dbg !67, !tbaa !41, !alias.scope !68, !noalias !71\n store double %.fca.1.0.3.extract.i, ptr addrspace(11) %\"new::Duplicated.i.sroa.19.0..sroa_idx44.i\", align 8, !dbg !67, !tbaa !41, !alias.scope !73, !noalias !74\n %\"new::Duplicated.i.sroa.20.0..sroa_idx46'ipg.i\" = getelementptr inbounds i8, ptr addrspace(11) %\"'ipc9.i\", i64 128, !dbg !67\n %\"new::Duplicated.i.sroa.20.0..sroa_idx46.i\" = getelementptr inbounds nuw i8, ptr addrspace(11) %17, i64 128, !dbg !67\n store double %\".fca.2.0.0.extract'ipev.i\", ptr addrspace(11) %\"new::Duplicated.i.sroa.20.0..sroa_idx46'ipg.i\", align 8, !dbg !67, !tbaa !41, !alias.scope !68, !noalias !71\n store double %.fca.2.0.0.extract.i, ptr addrspace(11) %\"new::Duplicated.i.sroa.20.0..sroa_idx46.i\", align 8, !dbg !67, !tbaa !41, !alias.scope !73, !noalias !74\n %\"new::Duplicated.i.sroa.21.0..sroa_idx48'ipg.i\" = getelementptr inbounds i8, ptr addrspace(11) %\"'ipc9.i\", i64 136, !dbg !67\n %\"new::Duplicated.i.sroa.21.0..sroa_idx48.i\" = getelementptr inbounds nuw i8, ptr addrspace(11) %17, i64 136, !dbg !67\n store double %\".fca.2.0.1.extract'ipev.i\", ptr addrspace(11) %\"new::Duplicated.i.sroa.21.0..sroa_idx48'ipg.i\", align 8, !dbg !67, !tbaa !41, !alias.scope !68, !noalias !71\n store double %.fca.2.0.1.extract.i, ptr addrspace(11) %\"new::Duplicated.i.sroa.21.0..sroa_idx48.i\", align 8, !dbg !67, !tbaa !41, !alias.scope !73, !noalias !74\n %\"new::Duplicated.i.sroa.22.0..sroa_idx50'ipg.i\" = getelementptr inbounds i8, ptr addrspace(11) %\"'ipc9.i\", i64 144, !dbg !67\n %\"new::Duplicated.i.sroa.22.0..sroa_idx50.i\" = getelementptr inbounds nuw i8, ptr addrspace(11) %17, i64 144, !dbg !67\n store double %\".fca.2.0.2.extract'ipev.i\", ptr addrspace(11) %\"new::Duplicated.i.sroa.22.0..sroa_idx50'ipg.i\", align 8, !dbg !67, !tbaa !41, !alias.scope !68, !noalias !71\n store double %.fca.2.0.2.extract.i, ptr addrspace(11) %\"new::Duplicated.i.sroa.22.0..sroa_idx50.i\", align 8, !dbg !67, !tbaa !41, !alias.scope !73, !noalias !74\n %\"new::Duplicated.i.sroa.23.0..sroa_idx52'ipg.i\" = getelementptr inbounds i8, ptr addrspace(11) %\"'ipc9.i\", i64 152, !dbg !67\n %\"new::Duplicated.i.sroa.23.0..sroa_idx52.i\" = getelementptr inbounds nuw i8, ptr addrspace(11) %17, i64 152, !dbg !67\n store double %\".fca.2.0.3.extract'ipev.i\", ptr addrspace(11) %\"new::Duplicated.i.sroa.23.0..sroa_idx52'ipg.i\", align 8, !dbg !67, !tbaa !41, !alias.scope !68, !noalias !71\n store double %.fca.2.0.3.extract.i, ptr addrspace(11) %\"new::Duplicated.i.sroa.23.0..sroa_idx52.i\", align 8, !dbg !67, !tbaa !41, !alias.scope !73, !noalias !74\n %\"new::Duplicated.i.sroa.24.0..sroa_idx54'ipg.i\" = getelementptr inbounds i8, ptr addrspace(11) %\"'ipc9.i\", i64 160, !dbg !67\n %\"new::Duplicated.i.sroa.24.0..sroa_idx54.i\" = getelementptr inbounds nuw i8, ptr addrspace(11) %17, i64 160, !dbg !67\n store double %\".fca.3.0.0.extract'ipev.i\", ptr addrspace(11) %\"new::Duplicated.i.sroa.24.0..sroa_idx54'ipg.i\", align 8, !dbg !67, !tbaa !41, !alias.scope !68, !noalias !71\n store double %.fca.3.0.0.extract.i, ptr addrspace(11) %\"new::Duplicated.i.sroa.24.0..sroa_idx54.i\", align 8, !dbg !67, !tbaa !41, !alias.scope !73, !noalias !74\n %\"new::Duplicated.i.sroa.25.0..sroa_idx56'ipg.i\" = getelementptr inbounds i8, ptr addrspace(11) %\"'ipc9.i\", i64 168, !dbg !67\n %\"new::Duplicated.i.sroa.25.0..sroa_idx56.i\" = getelementptr inbounds nuw i8, ptr addrspace(11) %17, i64 168, !dbg !67\n store double %\".fca.3.0.1.extract'ipev.i\", ptr addrspace(11) %\"new::Duplicated.i.sroa.25.0..sroa_idx56'ipg.i\", align 8, !dbg !67, !tbaa !41, !alias.scope !68, !noalias !71\n store double %.fca.3.0.1.extract.i, ptr addrspace(11) %\"new::Duplicated.i.sroa.25.0..sroa_idx56.i\", align 8, !dbg !67, !tbaa !41, !alias.scope !73, !noalias !74\n %\"new::Duplicated.i.sroa.26.0..sroa_idx58'ipg.i\" = getelementptr inbounds i8, ptr addrspace(11) %\"'ipc9.i\", i64 176, !dbg !67\n %\"new::Duplicated.i.sroa.26.0..sroa_idx58.i\" = getelementptr inbounds nuw i8, ptr addrspace(11) %17, i64 176, !dbg !67\n store double %\".fca.3.0.2.extract'ipev.i\", ptr addrspace(11) %\"new::Duplicated.i.sroa.26.0..sroa_idx58'ipg.i\", align 8, !dbg !67, !tbaa !41, !alias.scope !68, !noalias !71\n store double %.fca.3.0.2.extract.i, ptr addrspace(11) %\"new::Duplicated.i.sroa.26.0..sroa_idx58.i\", align 8, !dbg !67, !tbaa !41, !alias.scope !73, !noalias !74\n %\"new::Duplicated.i.sroa.27.0..sroa_idx60'ipg.i\" = getelementptr inbounds i8, ptr addrspace(11) %\"'ipc9.i\", i64 184, !dbg !67\n %\"new::Duplicated.i.sroa.27.0..sroa_idx60.i\" = getelementptr inbounds nuw i8, ptr addrspace(11) %17, i64 184, !dbg !67\n store double %\".fca.3.0.3.extract'ipev.i\", ptr addrspace(11) %\"new::Duplicated.i.sroa.27.0..sroa_idx60'ipg.i\", align 8, !dbg !67, !tbaa !41, !alias.scope !68, !noalias !71\n store double %.fca.3.0.3.extract.i, ptr addrspace(11) %\"new::Duplicated.i.sroa.27.0..sroa_idx60.i\", align 8, !dbg !67, !tbaa !41, !alias.scope !73, !noalias !74\n %18 = call ptr addrspace(10) (ptr, ptr addrspace(10), ...) @julia.call(ptr @ijl_apply_generic, ptr addrspace(10) @ejl_enz_runtime_generic_fwd, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695085149712 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695908277584 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695908277584 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_enz_val_1, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695618737712 to ptr) to ptr addrspace(10)), ptr addrspace(10) %15, ptr addrspace(10) %14, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695618785288 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695618768768 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) %\"box::Duplicated26.i.i\", ptr addrspace(10) %16), !dbg !67\n %19 = addrspacecast ptr addrspace(10) %18 to ptr addrspace(11), !dbg !67\n %20 = getelementptr inbounds [2 x ptr addrspace(10)], ptr addrspace(11) %19, i64 0, i64 1, !dbg !67\n %21 = load ptr addrspace(10), ptr addrspace(11) %20, align 8, !dbg !67\n %22 = load ptr addrspace(10), ptr addrspace(11) %19, align 8, !dbg !67\n %23 = call ptr addrspace(10) (ptr, ptr addrspace(10), ...) @julia.call(ptr @ijl_apply_generic, ptr addrspace(10) @ejl_enz_runtime_generic_fwd, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695121167120 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695908277584 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695908277584 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_enz_val_1, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695618737712 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695886842128 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) %22, ptr addrspace(10) %21, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695864039248 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing), !dbg !75\n %24 = addrspacecast ptr addrspace(10) %23 to ptr addrspace(11), !dbg !75\n %25 = getelementptr inbounds [2 x ptr addrspace(10)], ptr addrspace(11) %24, i64 0, i64 1, !dbg !75\n %26 = load ptr addrspace(10), ptr addrspace(11) %25, align 8, !dbg !75\n %27 = getelementptr inbounds [1 x ptr addrspace(10)], ptr %2, i64 0, i32 0\n %dstlocsi = getelementptr inbounds ptr addrspace(10), ptr %27, i64 0\n store ptr addrspace(10) %26, ptr %dstlocsi, align 8\n %28 = load [1 x ptr addrspace(10)], ptr %2, align 8\n ret [1 x ptr addrspace(10)] %28\n}\n\ndefine private void @julia_derivative_bundle_47584_inner.1([4 x [1 x [4 x double]]] \"enzyme_type\"=\"{[-1]:Float@double}\" \"enzymejl_parmtype\"=\"130695130472592\" \"enzymejl_parmtype_ref\"=\"0\" %0) local_unnamed_addr #6 !dbg !76 {\nentry:\n %newly_emitted_pgc_stack = call ptr @julia.get_pgcstack(), !dbg !77\n %.fca.0.0.0.extract = extractvalue [4 x [1 x [4 x double]]] %0, 0, 0, 0, !dbg !77, !enzyme_type !14, !enzymejl_source_type_Float64 !0, !enzymejl_byref_BITS_VALUE !0\n %.fca.0.0.1.extract = extractvalue [4 x [1 x [4 x double]]] %0, 0, 0, 1, !dbg !77, !enzyme_type !14, !enzymejl_source_type_Float64 !0, !enzymejl_byref_BITS_VALUE !0\n %.fca.0.0.2.extract = extractvalue [4 x [1 x [4 x double]]] %0, 0, 0, 2, !dbg !77, !enzyme_type !14, !enzymejl_source_type_Float64 !0, !enzymejl_byref_BITS_VALUE !0\n %.fca.0.0.3.extract = extractvalue [4 x [1 x [4 x double]]] %0, 0, 0, 3, !dbg !77, !enzyme_type !14, !enzymejl_source_type_Float64 !0, !enzymejl_byref_BITS_VALUE !0\n %.fca.1.0.0.extract = extractvalue [4 x [1 x [4 x double]]] %0, 1, 0, 0, !dbg !77, !enzyme_type !14, !enzymejl_source_type_Float64 !0, !enzymejl_byref_BITS_VALUE !0\n %.fca.1.0.1.extract = extractvalue [4 x [1 x [4 x double]]] %0, 1, 0, 1, !dbg !77, !enzyme_type !14, !enzymejl_source_type_Float64 !0, !enzymejl_byref_BITS_VALUE !0\n %.fca.1.0.2.extract = extractvalue [4 x [1 x [4 x double]]] %0, 1, 0, 2, !dbg !77, !enzyme_type !14, !enzymejl_source_type_Float64 !0, !enzymejl_byref_BITS_VALUE !0\n %.fca.1.0.3.extract = extractvalue [4 x [1 x [4 x double]]] %0, 1, 0, 3, !dbg !77, !enzyme_type !14, !enzymejl_source_type_Float64 !0, !enzymejl_byref_BITS_VALUE !0\n %.fca.2.0.0.extract = extractvalue [4 x [1 x [4 x double]]] %0, 2, 0, 0, !dbg !77, !enzyme_type !14, !enzymejl_source_type_Float64 !0, !enzymejl_byref_BITS_VALUE !0\n %.fca.2.0.1.extract = extractvalue [4 x [1 x [4 x double]]] %0, 2, 0, 1, !dbg !77, !enzyme_type !14, !enzymejl_source_type_Float64 !0, !enzymejl_byref_BITS_VALUE !0\n %.fca.2.0.2.extract = extractvalue [4 x [1 x [4 x double]]] %0, 2, 0, 2, !dbg !77, !enzyme_type !14, !enzymejl_source_type_Float64 !0, !enzymejl_byref_BITS_VALUE !0\n %.fca.2.0.3.extract = extractvalue [4 x [1 x [4 x double]]] %0, 2, 0, 3, !dbg !77, !enzyme_type !14, !enzymejl_source_type_Float64 !0, !enzymejl_byref_BITS_VALUE !0\n %.fca.3.0.0.extract = extractvalue [4 x [1 x [4 x double]]] %0, 3, 0, 0, !dbg !77, !enzyme_type !14, !enzymejl_source_type_Float64 !0, !enzymejl_byref_BITS_VALUE !0\n %.fca.3.0.1.extract = extractvalue [4 x [1 x [4 x double]]] %0, 3, 0, 1, !dbg !77, !enzyme_type !14, !enzymejl_source_type_Float64 !0, !enzymejl_byref_BITS_VALUE !0\n %.fca.3.0.2.extract = extractvalue [4 x [1 x [4 x double]]] %0, 3, 0, 2, !dbg !77, !enzyme_type !14, !enzymejl_source_type_Float64 !0, !enzymejl_byref_BITS_VALUE !0\n %.fca.3.0.3.extract = extractvalue [4 x [1 x [4 x double]]] %0, 3, 0, 3, !dbg !77, !enzyme_type !14, !enzymejl_source_type_Float64 !0, !enzymejl_byref_BITS_VALUE !0\n %pgcstack.i = call ptr @julia.get_pgcstack()\n %1 = call nonnull \"enzyme_type\"=\"{[-1]:Pointer}\" ptr addrspace(10) (ptr, ptr addrspace(10), ptr addrspace(10), ...) @julia.call2(ptr nonnull @ijl_invoke, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695899363856 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695860763760 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695618768768 to ptr) to ptr addrspace(10))) #11, !dbg !78\n %.not = icmp eq ptr addrspace(10) %1, addrspacecast (ptr inttoptr (i64 130695720003920 to ptr) to ptr addrspace(10)), !dbg !78\n %\"ejl_inserted\$_Core_Tuple_47591\$false\$130694969317456.ejl_inserted\$_Main__flux_47606\$false\$130695095857232\" = select i1 %.not, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695095857232 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130694969317456 to ptr) to ptr addrspace(10)), !dbg !78\n %jl_f_apply_type_ret.i = call nonnull \"enzyme_inactive\" \"enzyme_type\"=\"{[-1]:Pointer}\" ptr addrspace(10) (ptr, ptr addrspace(10), ...) @julia.call(ptr nonnull @jl_f_apply_type, ptr addrspace(10) null, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695930797600 to ptr) to ptr addrspace(10)), ptr addrspace(10) %\"ejl_inserted\$_Core_Tuple_47591\$false\$130694969317456.ejl_inserted\$_Main__flux_47606\$false\$130695095857232\", ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130694969317456 to ptr) to ptr addrspace(10))) #12, !dbg !86\n %2 = call nonnull \"enzyme_type\"=\"{[-1]:Pointer}\" ptr addrspace(10) (ptr, ptr addrspace(10), ptr addrspace(10), ...) @julia.call2(ptr nonnull @ijl_invoke, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695899363856 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695860763760 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695618768768 to ptr) to ptr addrspace(10))) #11, !dbg !87\n %current_task.i = getelementptr inbounds i8, ptr %pgcstack.i, i64 -152, !dbg !87\n %\"box::Duplicated.i\" = call noalias nonnull align 8 dereferenceable(192) \"enzyme_ReadOnlyOrThrow\" \"enzyme_type\"=\"{[-1]:Pointer, [-1,-1]:Float@double}\" ptr addrspace(10) @julia.gc_alloc_obj(ptr nonnull %current_task.i, i64 192, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130694968345232 to ptr) to ptr addrspace(10))) #13, !dbg !87, !enzymejl_gc_alloc_rt !40\n %3 = addrspacecast ptr addrspace(10) %\"box::Duplicated.i\" to ptr addrspace(11), !dbg !87\n store double %.fca.0.0.0.extract, ptr addrspace(11) %3, align 8, !dbg !87, !tbaa !41, !alias.scope !93, !noalias !94\n %\"new::Duplicated.i.sroa.5.0..sroa_idx\" = getelementptr inbounds nuw i8, ptr addrspace(11) %3, i64 8, !dbg !87\n store double %.fca.0.0.1.extract, ptr addrspace(11) %\"new::Duplicated.i.sroa.5.0..sroa_idx\", align 8, !dbg !87, !tbaa !41, !alias.scope !93, !noalias !94\n %\"new::Duplicated.i.sroa.6.0..sroa_idx\" = getelementptr inbounds nuw i8, ptr addrspace(11) %3, i64 16, !dbg !87\n store double %.fca.0.0.2.extract, ptr addrspace(11) %\"new::Duplicated.i.sroa.6.0..sroa_idx\", align 8, !dbg !87, !tbaa !41, !alias.scope !93, !noalias !94\n %\"new::Duplicated.i.sroa.7.0..sroa_idx\" = getelementptr inbounds nuw i8, ptr addrspace(11) %3, i64 24, !dbg !87\n store double %.fca.0.0.3.extract, ptr addrspace(11) %\"new::Duplicated.i.sroa.7.0..sroa_idx\", align 8, !dbg !87, !tbaa !41, !alias.scope !93, !noalias !94\n %\"new::Duplicated.i.sroa.8.0..sroa_idx\" = getelementptr inbounds nuw i8, ptr addrspace(11) %3, i64 32, !dbg !87\n store double %.fca.1.0.0.extract, ptr addrspace(11) %\"new::Duplicated.i.sroa.8.0..sroa_idx\", align 8, !dbg !87, !tbaa !41, !alias.scope !93, !noalias !94\n %\"new::Duplicated.i.sroa.9.0..sroa_idx\" = getelementptr inbounds nuw i8, ptr addrspace(11) %3, i64 40, !dbg !87\n store double %.fca.1.0.1.extract, ptr addrspace(11) %\"new::Duplicated.i.sroa.9.0..sroa_idx\", align 8, !dbg !87, !tbaa !41, !alias.scope !93, !noalias !94\n %\"new::Duplicated.i.sroa.10.0..sroa_idx\" = getelementptr inbounds nuw i8, ptr addrspace(11) %3, i64 48, !dbg !87\n store double %.fca.1.0.2.extract, ptr addrspace(11) %\"new::Duplicated.i.sroa.10.0..sroa_idx\", align 8, !dbg !87, !tbaa !41, !alias.scope !93, !noalias !94\n %\"new::Duplicated.i.sroa.11.0..sroa_idx\" = getelementptr inbounds nuw i8, ptr addrspace(11) %3, i64 56, !dbg !87\n store double %.fca.1.0.3.extract, ptr addrspace(11) %\"new::Duplicated.i.sroa.11.0..sroa_idx\", align 8, !dbg !87, !tbaa !41, !alias.scope !93, !noalias !94\n %\"new::Duplicated.i.sroa.12.0..sroa_idx\" = getelementptr inbounds nuw i8, ptr addrspace(11) %3, i64 64, !dbg !87\n store double %.fca.2.0.0.extract, ptr addrspace(11) %\"new::Duplicated.i.sroa.12.0..sroa_idx\", align 8, !dbg !87, !tbaa !41, !alias.scope !93, !noalias !94\n %\"new::Duplicated.i.sroa.13.0..sroa_idx\" = getelementptr inbounds nuw i8, ptr addrspace(11) %3, i64 72, !dbg !87\n store double %.fca.2.0.1.extract, ptr addrspace(11) %\"new::Duplicated.i.sroa.13.0..sroa_idx\", align 8, !dbg !87, !tbaa !41, !alias.scope !93, !noalias !94\n %\"new::Duplicated.i.sroa.14.0..sroa_idx\" = getelementptr inbounds nuw i8, ptr addrspace(11) %3, i64 80, !dbg !87\n store double %.fca.2.0.2.extract, ptr addrspace(11) %\"new::Duplicated.i.sroa.14.0..sroa_idx\", align 8, !dbg !87, !tbaa !41, !alias.scope !93, !noalias !94\n %\"new::Duplicated.i.sroa.15.0..sroa_idx\" = getelementptr inbounds nuw i8, ptr addrspace(11) %3, i64 88, !dbg !87\n store double %.fca.2.0.3.extract, ptr addrspace(11) %\"new::Duplicated.i.sroa.15.0..sroa_idx\", align 8, !dbg !87, !tbaa !41, !alias.scope !93, !noalias !94\n %\"new::Duplicated.i.sroa.16.0..sroa_idx\" = getelementptr inbounds nuw i8, ptr addrspace(11) %3, i64 96, !dbg !87\n store double %.fca.1.0.0.extract, ptr addrspace(11) %\"new::Duplicated.i.sroa.16.0..sroa_idx\", align 8, !dbg !87, !tbaa !41, !alias.scope !93, !noalias !94\n %\"new::Duplicated.i.sroa.17.0..sroa_idx\" = getelementptr inbounds nuw i8, ptr addrspace(11) %3, i64 104, !dbg !87\n store double %.fca.1.0.1.extract, ptr addrspace(11) %\"new::Duplicated.i.sroa.17.0..sroa_idx\", align 8, !dbg !87, !tbaa !41, !alias.scope !93, !noalias !94\n %\"new::Duplicated.i.sroa.18.0..sroa_idx\" = getelementptr inbounds nuw i8, ptr addrspace(11) %3, i64 112, !dbg !87\n store double %.fca.1.0.2.extract, ptr addrspace(11) %\"new::Duplicated.i.sroa.18.0..sroa_idx\", align 8, !dbg !87, !tbaa !41, !alias.scope !93, !noalias !94\n %\"new::Duplicated.i.sroa.19.0..sroa_idx\" = getelementptr inbounds nuw i8, ptr addrspace(11) %3, i64 120, !dbg !87\n store double %.fca.1.0.3.extract, ptr addrspace(11) %\"new::Duplicated.i.sroa.19.0..sroa_idx\", align 8, !dbg !87, !tbaa !41, !alias.scope !93, !noalias !94\n %\"new::Duplicated.i.sroa.20.0..sroa_idx\" = getelementptr inbounds nuw i8, ptr addrspace(11) %3, i64 128, !dbg !87\n store double %.fca.2.0.0.extract, ptr addrspace(11) %\"new::Duplicated.i.sroa.20.0..sroa_idx\", align 8, !dbg !87, !tbaa !41, !alias.scope !93, !noalias !94\n %\"new::Duplicated.i.sroa.21.0..sroa_idx\" = getelementptr inbounds nuw i8, ptr addrspace(11) %3, i64 136, !dbg !87\n store double %.fca.2.0.1.extract, ptr addrspace(11) %\"new::Duplicated.i.sroa.21.0..sroa_idx\", align 8, !dbg !87, !tbaa !41, !alias.scope !93, !noalias !94\n %\"new::Duplicated.i.sroa.22.0..sroa_idx\" = getelementptr inbounds nuw i8, ptr addrspace(11) %3, i64 144, !dbg !87\n store double %.fca.2.0.2.extract, ptr addrspace(11) %\"new::Duplicated.i.sroa.22.0..sroa_idx\", align 8, !dbg !87, !tbaa !41, !alias.scope !93, !noalias !94\n %\"new::Duplicated.i.sroa.23.0..sroa_idx\" = getelementptr inbounds nuw i8, ptr addrspace(11) %3, i64 152, !dbg !87\n store double %.fca.2.0.3.extract, ptr addrspace(11) %\"new::Duplicated.i.sroa.23.0..sroa_idx\", align 8, !dbg !87, !tbaa !41, !alias.scope !93, !noalias !94\n %\"new::Duplicated.i.sroa.24.0..sroa_idx\" = getelementptr inbounds nuw i8, ptr addrspace(11) %3, i64 160, !dbg !87\n store double %.fca.3.0.0.extract, ptr addrspace(11) %\"new::Duplicated.i.sroa.24.0..sroa_idx\", align 8, !dbg !87, !tbaa !41, !alias.scope !93, !noalias !94\n %\"new::Duplicated.i.sroa.25.0..sroa_idx\" = getelementptr inbounds nuw i8, ptr addrspace(11) %3, i64 168, !dbg !87\n store double %.fca.3.0.1.extract, ptr addrspace(11) %\"new::Duplicated.i.sroa.25.0..sroa_idx\", align 8, !dbg !87, !tbaa !41, !alias.scope !93, !noalias !94\n %\"new::Duplicated.i.sroa.26.0..sroa_idx\" = getelementptr inbounds nuw i8, ptr addrspace(11) %3, i64 176, !dbg !87\n store double %.fca.3.0.2.extract, ptr addrspace(11) %\"new::Duplicated.i.sroa.26.0..sroa_idx\", align 8, !dbg !87, !tbaa !41, !alias.scope !93, !noalias !94\n %\"new::Duplicated.i.sroa.27.0..sroa_idx\" = getelementptr inbounds nuw i8, ptr addrspace(11) %3, i64 184, !dbg !87\n store double %.fca.3.0.3.extract, ptr addrspace(11) %\"new::Duplicated.i.sroa.27.0..sroa_idx\", align 8, !dbg !87, !tbaa !41, !alias.scope !93, !noalias !94\n %4 = call nonnull \"enzyme_type\"=\"{[-1]:Pointer}\" ptr addrspace(10) (ptr, ptr addrspace(10), ptr addrspace(10), ...) @julia.call2(ptr nonnull @ijl_invoke, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695899363856 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695860763760 to ptr) to ptr addrspace(10)), ptr addrspace(10) nonnull %\"box::Duplicated.i\") #11, !dbg !87\n %jl_f_apply_type_ret10.i = call nonnull \"enzyme_inactive\" \"enzyme_type\"=\"{[-1]:Pointer}\" ptr addrspace(10) (ptr, ptr addrspace(10), ...) @julia.call(ptr nonnull @jl_f_apply_type, ptr addrspace(10) null, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695930797600 to ptr) to ptr addrspace(10)), ptr addrspace(10) nonnull %2, ptr addrspace(10) nonnull %4) #12, !dbg !97\n %5 = call nonnull \"enzyme_type\"=\"{[-1]:Pointer}\" ptr addrspace(10) (ptr, ptr addrspace(10), ptr addrspace(10), ...) @julia.call2(ptr nonnull @ijl_invoke, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695899363856 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695860763760 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695618768768 to ptr) to ptr addrspace(10))) #11, !dbg !98\n %.not62 = icmp eq ptr addrspace(10) %5, addrspacecast (ptr inttoptr (i64 130695720003920 to ptr) to ptr addrspace(10)), !dbg !98\n %value_phi15.i = select i1 %.not62, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695095857232 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130694969317456 to ptr) to ptr addrspace(10)), !dbg !98\n %jl_f_apply_type_ret18.i = call nonnull \"enzyme_inactive\" \"enzyme_type\"=\"{[-1]:Pointer}\" ptr addrspace(10) (ptr, ptr addrspace(10), ...) @julia.call(ptr nonnull @jl_f_apply_type, ptr addrspace(10) null, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695930797600 to ptr) to ptr addrspace(10)), ptr addrspace(10) %value_phi15.i, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130694969317456 to ptr) to ptr addrspace(10))) #12, !dbg !103\n %6 = call nonnull \"enzyme_type\"=\"{[-1]:Pointer}\" ptr addrspace(10) (ptr, ptr addrspace(10), ...) @julia.call(ptr nonnull @ijl_apply_generic, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695560688096 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695876761728 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695740856528 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695179751504 to ptr) to ptr addrspace(10)), ptr addrspace(10) nonnull %jl_f_apply_type_ret10.i, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695618718864 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695857041792 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695618743472 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695908277584 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695908277584 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 914660384 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695908276976 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695908277584 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695908277584 to ptr) to ptr addrspace(10))) #11, !dbg !104\n %\"box::Duplicated26.i\" = call noalias nonnull align 8 dereferenceable(192) \"enzyme_ReadOnlyOrThrow\" \"enzyme_type\"=\"{[-1]:Pointer, [-1,-1]:Float@double}\" ptr addrspace(10) @julia.gc_alloc_obj(ptr nonnull %current_task.i, i64 192, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130694968345232 to ptr) to ptr addrspace(10))) #13, !dbg !105, !enzymejl_gc_alloc_rt !40\n %7 = addrspacecast ptr addrspace(10) %\"box::Duplicated26.i\" to ptr addrspace(11), !dbg !105\n store double %.fca.0.0.0.extract, ptr addrspace(11) %7, align 8, !dbg !105, !tbaa !41, !alias.scope !93, !noalias !94\n %\"new::Duplicated.i.sroa.5.0..sroa_idx16\" = getelementptr inbounds nuw i8, ptr addrspace(11) %7, i64 8, !dbg !105\n store double %.fca.0.0.1.extract, ptr addrspace(11) %\"new::Duplicated.i.sroa.5.0..sroa_idx16\", align 8, !dbg !105, !tbaa !41, !alias.scope !93, !noalias !94\n %\"new::Duplicated.i.sroa.6.0..sroa_idx18\" = getelementptr inbounds nuw i8, ptr addrspace(11) %7, i64 16, !dbg !105\n store double %.fca.0.0.2.extract, ptr addrspace(11) %\"new::Duplicated.i.sroa.6.0..sroa_idx18\", align 8, !dbg !105, !tbaa !41, !alias.scope !93, !noalias !94\n %\"new::Duplicated.i.sroa.7.0..sroa_idx20\" = getelementptr inbounds nuw i8, ptr addrspace(11) %7, i64 24, !dbg !105\n store double %.fca.0.0.3.extract, ptr addrspace(11) %\"new::Duplicated.i.sroa.7.0..sroa_idx20\", align 8, !dbg !105, !tbaa !41, !alias.scope !93, !noalias !94\n %\"new::Duplicated.i.sroa.8.0..sroa_idx22\" = getelementptr inbounds nuw i8, ptr addrspace(11) %7, i64 32, !dbg !105\n store double %.fca.1.0.0.extract, ptr addrspace(11) %\"new::Duplicated.i.sroa.8.0..sroa_idx22\", align 8, !dbg !105, !tbaa !41, !alias.scope !93, !noalias !94\n %\"new::Duplicated.i.sroa.9.0..sroa_idx24\" = getelementptr inbounds nuw i8, ptr addrspace(11) %7, i64 40, !dbg !105\n store double %.fca.1.0.1.extract, ptr addrspace(11) %\"new::Duplicated.i.sroa.9.0..sroa_idx24\", align 8, !dbg !105, !tbaa !41, !alias.scope !93, !noalias !94\n %\"new::Duplicated.i.sroa.10.0..sroa_idx26\" = getelementptr inbounds nuw i8, ptr addrspace(11) %7, i64 48, !dbg !105\n store double %.fca.1.0.2.extract, ptr addrspace(11) %\"new::Duplicated.i.sroa.10.0..sroa_idx26\", align 8, !dbg !105, !tbaa !41, !alias.scope !93, !noalias !94\n %\"new::Duplicated.i.sroa.11.0..sroa_idx28\" = getelementptr inbounds nuw i8, ptr addrspace(11) %7, i64 56, !dbg !105\n store double %.fca.1.0.3.extract, ptr addrspace(11) %\"new::Duplicated.i.sroa.11.0..sroa_idx28\", align 8, !dbg !105, !tbaa !41, !alias.scope !93, !noalias !94\n %\"new::Duplicated.i.sroa.12.0..sroa_idx30\" = getelementptr inbounds nuw i8, ptr addrspace(11) %7, i64 64, !dbg !105\n store double %.fca.2.0.0.extract, ptr addrspace(11) %\"new::Duplicated.i.sroa.12.0..sroa_idx30\", align 8, !dbg !105, !tbaa !41, !alias.scope !93, !noalias !94\n %\"new::Duplicated.i.sroa.13.0..sroa_idx32\" = getelementptr inbounds nuw i8, ptr addrspace(11) %7, i64 72, !dbg !105\n store double %.fca.2.0.1.extract, ptr addrspace(11) %\"new::Duplicated.i.sroa.13.0..sroa_idx32\", align 8, !dbg !105, !tbaa !41, !alias.scope !93, !noalias !94\n %\"new::Duplicated.i.sroa.14.0..sroa_idx34\" = getelementptr inbounds nuw i8, ptr addrspace(11) %7, i64 80, !dbg !105\n store double %.fca.2.0.2.extract, ptr addrspace(11) %\"new::Duplicated.i.sroa.14.0..sroa_idx34\", align 8, !dbg !105, !tbaa !41, !alias.scope !93, !noalias !94\n %\"new::Duplicated.i.sroa.15.0..sroa_idx36\" = getelementptr inbounds nuw i8, ptr addrspace(11) %7, i64 88, !dbg !105\n store double %.fca.2.0.3.extract, ptr addrspace(11) %\"new::Duplicated.i.sroa.15.0..sroa_idx36\", align 8, !dbg !105, !tbaa !41, !alias.scope !93, !noalias !94\n %\"new::Duplicated.i.sroa.16.0..sroa_idx38\" = getelementptr inbounds nuw i8, ptr addrspace(11) %7, i64 96, !dbg !105\n store double %.fca.1.0.0.extract, ptr addrspace(11) %\"new::Duplicated.i.sroa.16.0..sroa_idx38\", align 8, !dbg !105, !tbaa !41, !alias.scope !93, !noalias !94\n %\"new::Duplicated.i.sroa.17.0..sroa_idx40\" = getelementptr inbounds nuw i8, ptr addrspace(11) %7, i64 104, !dbg !105\n store double %.fca.1.0.1.extract, ptr addrspace(11) %\"new::Duplicated.i.sroa.17.0..sroa_idx40\", align 8, !dbg !105, !tbaa !41, !alias.scope !93, !noalias !94\n %\"new::Duplicated.i.sroa.18.0..sroa_idx42\" = getelementptr inbounds nuw i8, ptr addrspace(11) %7, i64 112, !dbg !105\n store double %.fca.1.0.2.extract, ptr addrspace(11) %\"new::Duplicated.i.sroa.18.0..sroa_idx42\", align 8, !dbg !105, !tbaa !41, !alias.scope !93, !noalias !94\n %\"new::Duplicated.i.sroa.19.0..sroa_idx44\" = getelementptr inbounds nuw i8, ptr addrspace(11) %7, i64 120, !dbg !105\n store double %.fca.1.0.3.extract, ptr addrspace(11) %\"new::Duplicated.i.sroa.19.0..sroa_idx44\", align 8, !dbg !105, !tbaa !41, !alias.scope !93, !noalias !94\n %\"new::Duplicated.i.sroa.20.0..sroa_idx46\" = getelementptr inbounds nuw i8, ptr addrspace(11) %7, i64 128, !dbg !105\n store double %.fca.2.0.0.extract, ptr addrspace(11) %\"new::Duplicated.i.sroa.20.0..sroa_idx46\", align 8, !dbg !105, !tbaa !41, !alias.scope !93, !noalias !94\n %\"new::Duplicated.i.sroa.21.0..sroa_idx48\" = getelementptr inbounds nuw i8, ptr addrspace(11) %7, i64 136, !dbg !105\n store double %.fca.2.0.1.extract, ptr addrspace(11) %\"new::Duplicated.i.sroa.21.0..sroa_idx48\", align 8, !dbg !105, !tbaa !41, !alias.scope !93, !noalias !94\n %\"new::Duplicated.i.sroa.22.0..sroa_idx50\" = getelementptr inbounds nuw i8, ptr addrspace(11) %7, i64 144, !dbg !105\n store double %.fca.2.0.2.extract, ptr addrspace(11) %\"new::Duplicated.i.sroa.22.0..sroa_idx50\", align 8, !dbg !105, !tbaa !41, !alias.scope !93, !noalias !94\n %\"new::Duplicated.i.sroa.23.0..sroa_idx52\" = getelementptr inbounds nuw i8, ptr addrspace(11) %7, i64 152, !dbg !105\n store double %.fca.2.0.3.extract, ptr addrspace(11) %\"new::Duplicated.i.sroa.23.0..sroa_idx52\", align 8, !dbg !105, !tbaa !41, !alias.scope !93, !noalias !94\n %\"new::Duplicated.i.sroa.24.0..sroa_idx54\" = getelementptr inbounds nuw i8, ptr addrspace(11) %7, i64 160, !dbg !105\n store double %.fca.3.0.0.extract, ptr addrspace(11) %\"new::Duplicated.i.sroa.24.0..sroa_idx54\", align 8, !dbg !105, !tbaa !41, !alias.scope !93, !noalias !94\n %\"new::Duplicated.i.sroa.25.0..sroa_idx56\" = getelementptr inbounds nuw i8, ptr addrspace(11) %7, i64 168, !dbg !105\n store double %.fca.3.0.1.extract, ptr addrspace(11) %\"new::Duplicated.i.sroa.25.0..sroa_idx56\", align 8, !dbg !105, !tbaa !41, !alias.scope !93, !noalias !94\n %\"new::Duplicated.i.sroa.26.0..sroa_idx58\" = getelementptr inbounds nuw i8, ptr addrspace(11) %7, i64 176, !dbg !105\n store double %.fca.3.0.2.extract, ptr addrspace(11) %\"new::Duplicated.i.sroa.26.0..sroa_idx58\", align 8, !dbg !105, !tbaa !41, !alias.scope !93, !noalias !94\n %\"new::Duplicated.i.sroa.27.0..sroa_idx60\" = getelementptr inbounds nuw i8, ptr addrspace(11) %7, i64 184, !dbg !105\n store double %.fca.3.0.3.extract, ptr addrspace(11) %\"new::Duplicated.i.sroa.27.0..sroa_idx60\", align 8, !dbg !105, !tbaa !41, !alias.scope !93, !noalias !94\n %8 = call nonnull \"enzyme_type\"=\"{[-1]:Pointer}\" ptr addrspace(10) (ptr, ptr addrspace(10), ...) @julia.call(ptr nonnull @ijl_apply_generic, ptr addrspace(10) nonnull %6, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695618785288 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695618768768 to ptr) to ptr addrspace(10)), ptr addrspace(10) nonnull %\"box::Duplicated26.i\") #11, !dbg !105\n %9 = call nonnull \"enzyme_type\"=\"{[-1]:Pointer}\" ptr addrspace(10) (ptr, ptr addrspace(10), ...) @julia.call(ptr nonnull @ijl_apply_generic, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695886842128 to ptr) to ptr addrspace(10)), ptr addrspace(10) nonnull %8, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695864039248 to ptr) to ptr addrspace(10))) #11, !dbg !106\n ret void, !dbg !77\n}\n\nattributes #0 = { nofree nosync nounwind willreturn memory(none) \"enzyme_inactive\" \"enzyme_no_escaping_allocation\" \"enzyme_shouldrecompute\" \"enzymejl_world\"=\"40013\" }\nattributes #1 = { nofree \"enzymejl_world\"=\"40013\" }\nattributes #2 = { nofree \"enzyme_inactive\" \"enzyme_no_escaping_allocation\" \"enzymejl_world\"=\"40013\" }\nattributes #3 = { mustprogress nofree nounwind willreturn allockind(\"alloc,uninitialized\") allocsize(1) memory(inaccessiblemem: readwrite) \"enzyme_ReadOnlyOrThrow\" \"enzyme_no_escaping_allocation\" \"enzymejl_world\"=\"40013\" }\nattributes #4 = { nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }\nattributes #5 = { alwaysinline \"enzymejl_world\"=\"40013\" }\nattributes #6 = { \"enzyme_retremove\" \"enzyme_ta_norecur\" \"enzymejl_mi\"=\"130695121835920\" \"enzymejl_rt\"=\"130695930797376\" \"enzymejl_world\"=\"40013\" }\nattributes #7 = { mustprogress willreturn }\nattributes #8 = { mustprogress nofree willreturn }\nattributes #9 = { mustprogress nofree willreturn \"enzyme_inactive\" \"enzyme_no_escaping_allocation\" }\nattributes #10 = { mustprogress nounwind willreturn allockind(\"alloc,uninitialized\") allocsize(1) memory(inaccessiblemem: readwrite) \"enzyme_no_escaping_allocation\" }\nattributes #11 = { nofree }\nattributes #12 = { nofree \"enzyme_inactive\" \"enzyme_no_escaping_allocation\" }\nattributes #13 = { nounwind willreturn allockind(\"alloc,uninitialized\") allocsize(1) memory(inaccessiblemem: readwrite) \"enzyme_no_escaping_allocation\" }\n\n!llvm.module.flags = !{!1, !2, !3, !4}\n!llvm.dbg.cu = !{!5, !7}\n\n!0 = !{}\n!1 = !{i32 2, !\"Dwarf Version\", i32 4}\n!2 = !{i32 2, !\"Debug Info Version\", i32 3}\n!3 = !{i32 1, !\"stack-protector-guard\", !\"\"}\n!4 = !{i32 1, !\"override-stack-alignment\", i32 0}\n!5 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !6, producer: \"julia\", isOptimized: true, runtimeVersion: 0, emissionKind: LineTablesOnly, nameTableKind: None)\n!6 = !DIFile(filename: \"julia\", directory: \".\")\n!7 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !6, producer: \"julia\", isOptimized: true, runtimeVersion: 0, emissionKind: LineTablesOnly, nameTableKind: None)\n!8 = distinct !DISubprogram(name: \"fwddiffejulia_derivative_bundle_47584_inner_1wrap\", linkageName: \"fwddiffejulia_derivative_bundle_47584_inner_1wrap\", scope: null, file: !9, type: !10, spFlags: DISPFlagLocalToUnit | DISPFlagDefinition | DISPFlagOptimized, unit: !7)\n!9 = !DIFile(filename: \"/home/pkgeval/.julia/packages/TowerOfEnzyme/wUeMv/src/TowerOfEnzyme.jl\", directory: \".\")\n!10 = !DISubroutineType(types: !0)\n!11 = !DILocation(line: 0, scope: !12, inlinedAt: !13)\n!12 = distinct !DISubprogram(name: \"derivative_bundle\", linkageName: \"julia_derivative_bundle_47584\", scope: null, file: !9, line: 53, type: !10, scopeLine: 53, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !7)\n!13 = distinct !DILocation(line: 0, scope: !8)\n!14 = !{!\"Unknown\", i32 -1, !15}\n!15 = !{!\"Float@double\"}\n!16 = !DILocation(line: 181, scope: !17, inlinedAt: !19)\n!17 = distinct !DISubprogram(name: \"#vaEltypeof##0;\", linkageName: \"#vaEltypeof##0\", scope: !18, file: !18, type: !10, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !7)\n!18 = !DIFile(filename: \"/home/pkgeval/.julia/packages/Enzyme/2lHFw/src/Enzyme.jl\", directory: \".\")\n!19 = distinct !DILocation(line: 68, scope: !20, inlinedAt: !22)\n!20 = distinct !DISubprogram(name: \"macro expansion;\", linkageName: \"macro expansion\", scope: !21, file: !21, type: !10, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !7)\n!21 = !DIFile(filename: \"ntuple.jl\", directory: \".\")\n!22 = distinct !DILocation(line: 65, scope: !23, inlinedAt: !24)\n!23 = distinct !DISubprogram(name: \"ntuple;\", linkageName: \"ntuple\", scope: !21, file: !21, type: !10, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !7)\n!24 = distinct !DILocation(line: 178, scope: !25, inlinedAt: !26)\n!25 = distinct !DISubprogram(name: \"vaEltypeof;\", linkageName: \"vaEltypeof\", scope: !18, file: !18, type: !10, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !7)\n!26 = distinct !DILocation(line: 555, scope: !27, inlinedAt: !28)\n!27 = distinct !DISubprogram(name: \"autodiff;\", linkageName: \"autodiff\", scope: !18, file: !18, type: !10, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !7)\n!28 = distinct !DILocation(line: 534, scope: !27, inlinedAt: !29)\n!29 = distinct !DILocation(line: 59, scope: !12, inlinedAt: !30)\n!30 = distinct !DILocation(line: 0, scope: !12, inlinedAt: !13)\n!31 = !DILocation(line: 178, scope: !25, inlinedAt: !26)\n!32 = !DILocation(line: 172, scope: !33, inlinedAt: !34)\n!33 = distinct !DISubprogram(name: \"#vaTypeof##0;\", linkageName: \"#vaTypeof##0\", scope: !18, file: !18, type: !10, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !7)\n!34 = distinct !DILocation(line: 68, scope: !20, inlinedAt: !35)\n!35 = distinct !DILocation(line: 65, scope: !23, inlinedAt: !36)\n!36 = distinct !DILocation(line: 169, scope: !37, inlinedAt: !38)\n!37 = distinct !DISubprogram(name: \"vaTypeof;\", linkageName: \"vaTypeof\", scope: !18, file: !18, type: !10, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !7)\n!38 = distinct !DILocation(line: 617, scope: !27, inlinedAt: !39)\n!39 = distinct !DILocation(line: 562, scope: !27, inlinedAt: !28)\n!40 = !{!\"130694968345232\"}\n!41 = !{!42, !42, i64 0}\n!42 = !{!\"jtbaa\", !43, i64 0}\n!43 = !{!\"jtbaa\"}\n!44 = !{!45, !47, !49}\n!45 = distinct !{!45, !46, !\"shadow_0\"}\n!46 = distinct !{!46, !\" diff: %box::Duplicated.i\"}\n!47 = !{!\"jnoalias_stack\", !48}\n!48 = !{!\"jnoalias\"}\n!49 = !{!\"jnoalias_data\", !48}\n!50 = !{!51, !52, !54, !55, !56}\n!51 = distinct !{!51, !46, !\"primal\"}\n!52 = distinct !{!52, !53, !\"na_addr13\"}\n!53 = distinct !{!53, !\"addr13\"}\n!54 = !{!\"jnoalias_gcframe\", !48}\n!55 = !{!\"jnoalias_typemd\", !48}\n!56 = !{!\"jnoalias_const\", !48}\n!57 = !{!51, !47, !49}\n!58 = !{!45, !52, !54, !55, !56}\n!59 = !DILocation(line: 169, scope: !37, inlinedAt: !38)\n!60 = !DILocation(line: 181, scope: !17, inlinedAt: !61)\n!61 = distinct !DILocation(line: 68, scope: !20, inlinedAt: !62)\n!62 = distinct !DILocation(line: 65, scope: !23, inlinedAt: !63)\n!63 = distinct !DILocation(line: 178, scope: !25, inlinedAt: !64)\n!64 = distinct !DILocation(line: 650, scope: !27, inlinedAt: !39)\n!65 = !DILocation(line: 178, scope: !25, inlinedAt: !64)\n!66 = !DILocation(line: 658, scope: !27, inlinedAt: !39)\n!67 = !DILocation(line: 673, scope: !27, inlinedAt: !39)\n!68 = !{!69, !47, !49}\n!69 = distinct !{!69, !70, !\"shadow_0\"}\n!70 = distinct !{!70, !\" diff: %box::Duplicated26.i\"}\n!71 = !{!72, !52, !54, !55, !56}\n!72 = distinct !{!72, !70, !\"primal\"}\n!73 = !{!72, !47, !49}\n!74 = !{!69, !52, !54, !55, !56}\n!75 = !DILocation(line: 59, scope: !12, inlinedAt: !30)\n!76 = distinct !DISubprogram(name: \"derivative_bundle\", linkageName: \"julia_derivative_bundle_47584\", scope: null, file: !9, line: 53, type: !10, scopeLine: 53, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !7)\n!77 = !DILocation(line: 0, scope: !76)\n!78 = !DILocation(line: 181, scope: !17, inlinedAt: !79)\n!79 = distinct !DILocation(line: 68, scope: !20, inlinedAt: !80)\n!80 = distinct !DILocation(line: 65, scope: !23, inlinedAt: !81)\n!81 = distinct !DILocation(line: 178, scope: !25, inlinedAt: !82)\n!82 = distinct !DILocation(line: 555, scope: !27, inlinedAt: !83)\n!83 = distinct !DILocation(line: 534, scope: !27, inlinedAt: !84)\n!84 = distinct !DILocation(line: 59, scope: !76, inlinedAt: !85)\n!85 = distinct !DILocation(line: 0, scope: !76)\n!86 = !DILocation(line: 178, scope: !25, inlinedAt: !82)\n!87 = !DILocation(line: 172, scope: !33, inlinedAt: !88)\n!88 = distinct !DILocation(line: 68, scope: !20, inlinedAt: !89)\n!89 = distinct !DILocation(line: 65, scope: !23, inlinedAt: !90)\n!90 = distinct !DILocation(line: 169, scope: !37, inlinedAt: !91)\n!91 = distinct !DILocation(line: 617, scope: !27, inlinedAt: !92)\n!92 = distinct !DILocation(line: 562, scope: !27, inlinedAt: !83)\n!93 = !{!47, !49}\n!94 = !{!95, !54, !55, !56}\n!95 = distinct !{!95, !96, !\"na_addr13\"}\n!96 = distinct !{!96, !\"addr13\"}\n!97 = !DILocation(line: 169, scope: !37, inlinedAt: !91)\n!98 = !DILocation(line: 181, scope: !17, inlinedAt: !99)\n!99 = distinct !DILocation(line: 68, scope: !20, inlinedAt: !100)\n!100 = distinct !DILocation(line: 65, scope: !23, inlinedAt: !101)\n!101 = distinct !DILocation(line: 178, scope: !25, inlinedAt: !102)\n!102 = distinct !DILocation(line: 650, scope: !27, inlinedAt: !92)\n!103 = !DILocation(line: 178, scope: !25, inlinedAt: !102)\n!104 = !DILocation(line: 658, scope: !27, inlinedAt: !92)\n!105 = !DILocation(line: 673, scope: !27, inlinedAt: !92)\n!106 = !DILocation(line: 59, scope: !76, inlinedAt: !85)\n"), :fwddiffejulia_derivative_bundle_47584_inner_1wrap)}, EnzymeCore.Const{typeof(derivative_bundle)}, EnzymeCore.Duplicated{Any}, Tuple{EnzymeCore.Const{typeof(flux)}, EnzymeCore.Duplicated{NTuple{4, SVector{4, Float64}}}}, 1, false}}, ::Val{1}, ::Val{false}, ::Type{Tuple{EnzymeCore.Const{typeof(flux)}, EnzymeCore.Duplicated{NTuple{4, SVector{4, Float64}}}}}, ::Type{EnzymeCore.Duplicated{Any}}, ::EnzymeCore.Const{typeof(derivative_bundle)}, ::Type{Nothing}, ::EnzymeCore.Const{typeof(flux)}, ::EnzymeCore.Duplicated{NTuple{4, SVector{4, Float64}}}) @ Enzyme.Compiler ~/.julia/packages/Enzyme/2lHFw/src/compiler.jl:6145 [87] (::Enzyme.Compiler.ForwardModeThunk{Val{(Symbol("; ModuleID = 'start'\nsource_filename = \"start\"\ntarget datalayout = \"e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-i128:128-f80:128-n8:16:32:64-S128-ni:10:11:12:13\"\ntarget triple = \"x86_64-linux-gnu\"\n\n@ejl_jl_nothing = external addrspace(10) global {}, !enzyme_ta_norecur !0, !enzyme_inactive !0\n@ejl_jl_false = external addrspace(10) global {}, !enzyme_ta_norecur !0, !enzyme_inactive !0\n@ejl_jl_true = external addrspace(10) global {}, !enzyme_ta_norecur !0, !enzyme_inactive !0\n@ejl_enz_val_1 = external addrspace(10) global {}, !enzyme_ta_norecur !0, !enzyme_inactive !0\n@ejl_enz_runtime_generic_fwd = external addrspace(10) global {}, !enzyme_ta_norecur !0, !enzyme_inactive !0\n\n; Function Attrs: nofree nosync nounwind willreturn memory(none)\ndeclare ptr @julia.get_pgcstack() local_unnamed_addr #0\n\n; Function Attrs: nofree\ndeclare nonnull ptr addrspace(10) @ijl_invoke(ptr addrspace(10), ptr noalias nocapture noundef readonly, i32, ptr addrspace(10)) #1\n\n; Function Attrs: nofree\ndeclare nonnull ptr addrspace(10) @julia.call2(ptr, ptr addrspace(10), ptr addrspace(10), ...) local_unnamed_addr #1\n\n; Function Attrs: nofree\ndeclare nonnull ptr addrspace(10) @jl_f_apply_type(ptr addrspace(10), ptr noalias nocapture noundef readonly, i32) #2\n\n; Function Attrs: nofree\ndeclare nonnull ptr addrspace(10) @julia.call(ptr, ptr addrspace(10), ...) local_unnamed_addr #1\n\n; Function Attrs: mustprogress nofree nounwind willreturn allockind(\"alloc,uninitialized\") allocsize(1) memory(inaccessiblemem: readwrite)\ndeclare noalias nonnull ptr addrspace(10) @julia.gc_alloc_obj(ptr, i64, ptr addrspace(10)) local_unnamed_addr #3\n\n; Function Attrs: nofree\ndeclare nonnull ptr addrspace(10) @ijl_apply_generic(ptr addrspace(10), ptr noalias nocapture noundef readonly, i32) #1\n\n; Function Attrs: nocallback nofree nosync nounwind willreturn memory(argmem: readwrite)\ndeclare void @llvm.lifetime.start.p0(i64 immarg, ptr nocapture) #4\n\n; Function Attrs: nocallback nofree nosync nounwind willreturn memory(argmem: readwrite)\ndeclare void @llvm.lifetime.end.p0(i64 immarg, ptr nocapture) #4\n\n; Function Attrs: alwaysinline\ndefine [1 x ptr addrspace(10)] @fwddiffejulia_derivative_bundle_47584_inner_1wrap([4 x [1 x [4 x double]]] %0, [4 x [1 x [4 x double]]] %1) #5 !dbg !8 {\nentry:\n %newly_emitted_pgc_stack = call ptr @julia.get_pgcstack()\n %2 = alloca [1 x ptr addrspace(10)], align 8\n %.fca.0.0.0.extract.i = extractvalue [4 x [1 x [4 x double]]] %0, 0, 0, 0, !dbg !11, !enzyme_type !14, !enzymejl_source_type_Float64 !0, !enzymejl_byref_BITS_VALUE !0\n %\".fca.0.0.0.extract'ipev.i\" = extractvalue [4 x [1 x [4 x double]]] %1, 0, 0, 0, !dbg !11\n %.fca.0.0.1.extract.i = extractvalue [4 x [1 x [4 x double]]] %0, 0, 0, 1, !dbg !11, !enzyme_type !14, !enzymejl_source_type_Float64 !0, !enzymejl_byref_BITS_VALUE !0\n %\".fca.0.0.1.extract'ipev.i\" = extractvalue [4 x [1 x [4 x double]]] %1, 0, 0, 1, !dbg !11\n %.fca.0.0.2.extract.i = extractvalue [4 x [1 x [4 x double]]] %0, 0, 0, 2, !dbg !11, !enzyme_type !14, !enzymejl_source_type_Float64 !0, !enzymejl_byref_BITS_VALUE !0\n %\".fca.0.0.2.extract'ipev.i\" = extractvalue [4 x [1 x [4 x double]]] %1, 0, 0, 2, !dbg !11\n %.fca.0.0.3.extract.i = extractvalue [4 x [1 x [4 x double]]] %0, 0, 0, 3, !dbg !11, !enzyme_type !14, !enzymejl_source_type_Float64 !0, !enzymejl_byref_BITS_VALUE !0\n %\".fca.0.0.3.extract'ipev.i\" = extractvalue [4 x [1 x [4 x double]]] %1, 0, 0, 3, !dbg !11\n %.fca.1.0.0.extract.i = extractvalue [4 x [1 x [4 x double]]] %0, 1, 0, 0, !dbg !11, !enzyme_type !14, !enzymejl_source_type_Float64 !0, !enzymejl_byref_BITS_VALUE !0\n %\".fca.1.0.0.extract'ipev.i\" = extractvalue [4 x [1 x [4 x double]]] %1, 1, 0, 0, !dbg !11\n %.fca.1.0.1.extract.i = extractvalue [4 x [1 x [4 x double]]] %0, 1, 0, 1, !dbg !11, !enzyme_type !14, !enzymejl_source_type_Float64 !0, !enzymejl_byref_BITS_VALUE !0\n %\".fca.1.0.1.extract'ipev.i\" = extractvalue [4 x [1 x [4 x double]]] %1, 1, 0, 1, !dbg !11\n %.fca.1.0.2.extract.i = extractvalue [4 x [1 x [4 x double]]] %0, 1, 0, 2, !dbg !11, !enzyme_type !14, !enzymejl_source_type_Float64 !0, !enzymejl_byref_BITS_VALUE !0\n %\".fca.1.0.2.extract'ipev.i\" = extractvalue [4 x [1 x [4 x double]]] %1, 1, 0, 2, !dbg !11\n %.fca.1.0.3.extract.i = extractvalue [4 x [1 x [4 x double]]] %0, 1, 0, 3, !dbg !11, !enzyme_type !14, !enzymejl_source_type_Float64 !0, !enzymejl_byref_BITS_VALUE !0\n %\".fca.1.0.3.extract'ipev.i\" = extractvalue [4 x [1 x [4 x double]]] %1, 1, 0, 3, !dbg !11\n %.fca.2.0.0.extract.i = extractvalue [4 x [1 x [4 x double]]] %0, 2, 0, 0, !dbg !11, !enzyme_type !14, !enzymejl_source_type_Float64 !0, !enzymejl_byref_BITS_VALUE !0\n %\".fca.2.0.0.extract'ipev.i\" = extractvalue [4 x [1 x [4 x double]]] %1, 2, 0, 0, !dbg !11\n %.fca.2.0.1.extract.i = extractvalue [4 x [1 x [4 x double]]] %0, 2, 0, 1, !dbg !11, !enzyme_type !14, !enzymejl_source_type_Float64 !0, !enzymejl_byref_BITS_VALUE !0\n %\".fca.2.0.1.extract'ipev.i\" = extractvalue [4 x [1 x [4 x double]]] %1, 2, 0, 1, !dbg !11\n %.fca.2.0.2.extract.i = extractvalue [4 x [1 x [4 x double]]] %0, 2, 0, 2, !dbg !11, !enzyme_type !14, !enzymejl_source_type_Float64 !0, !enzymejl_byref_BITS_VALUE !0\n %\".fca.2.0.2.extract'ipev.i\" = extractvalue [4 x [1 x [4 x double]]] %1, 2, 0, 2, !dbg !11\n %.fca.2.0.3.extract.i = extractvalue [4 x [1 x [4 x double]]] %0, 2, 0, 3, !dbg !11, !enzyme_type !14, !enzymejl_source_type_Float64 !0, !enzymejl_byref_BITS_VALUE !0\n %\".fca.2.0.3.extract'ipev.i\" = extractvalue [4 x [1 x [4 x double]]] %1, 2, 0, 3, !dbg !11\n %.fca.3.0.0.extract.i = extractvalue [4 x [1 x [4 x double]]] %0, 3, 0, 0, !dbg !11, !enzyme_type !14, !enzymejl_source_type_Float64 !0, !enzymejl_byref_BITS_VALUE !0\n %\".fca.3.0.0.extract'ipev.i\" = extractvalue [4 x [1 x [4 x double]]] %1, 3, 0, 0, !dbg !11\n %.fca.3.0.1.extract.i = extractvalue [4 x [1 x [4 x double]]] %0, 3, 0, 1, !dbg !11, !enzyme_type !14, !enzymejl_source_type_Float64 !0, !enzymejl_byref_BITS_VALUE !0\n %\".fca.3.0.1.extract'ipev.i\" = extractvalue [4 x [1 x [4 x double]]] %1, 3, 0, 1, !dbg !11\n %.fca.3.0.2.extract.i = extractvalue [4 x [1 x [4 x double]]] %0, 3, 0, 2, !dbg !11, !enzyme_type !14, !enzymejl_source_type_Float64 !0, !enzymejl_byref_BITS_VALUE !0\n %\".fca.3.0.2.extract'ipev.i\" = extractvalue [4 x [1 x [4 x double]]] %1, 3, 0, 2, !dbg !11\n %.fca.3.0.3.extract.i = extractvalue [4 x [1 x [4 x double]]] %0, 3, 0, 3, !dbg !11, !enzyme_type !14, !enzymejl_source_type_Float64 !0, !enzymejl_byref_BITS_VALUE !0\n %\".fca.3.0.3.extract'ipev.i\" = extractvalue [4 x [1 x [4 x double]]] %1, 3, 0, 3\n %pgcstack.i.i = call ptr @julia.get_pgcstack() #7\n %3 = call nonnull \"enzyme_type\"=\"{[-1]:Pointer}\" ptr addrspace(10) (ptr, ptr addrspace(10), ptr addrspace(10), ...) @julia.call2(ptr nonnull @ijl_invoke, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695899363856 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695860763760 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695618768768 to ptr) to ptr addrspace(10))) #8, !dbg !16\n %.not.i = icmp eq ptr addrspace(10) %3, addrspacecast (ptr inttoptr (i64 130695720003920 to ptr) to ptr addrspace(10)), !dbg !16\n %\"ejl_inserted\$_Core_Tuple_47591\$false\$130694969317456.ejl_inserted\$_Main__flux_47606\$false\$130695095857232.i\" = select i1 %.not.i, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695095857232 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130694969317456 to ptr) to ptr addrspace(10)), !dbg !16\n %jl_f_apply_type_ret.i.i = call nonnull \"enzyme_inactive\" \"enzyme_type\"=\"{[-1]:Pointer}\" ptr addrspace(10) (ptr, ptr addrspace(10), ...) @julia.call(ptr nonnull @jl_f_apply_type, ptr addrspace(10) null, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695930797600 to ptr) to ptr addrspace(10)), ptr addrspace(10) %\"ejl_inserted\$_Core_Tuple_47591\$false\$130694969317456.ejl_inserted\$_Main__flux_47606\$false\$130695095857232.i\", ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130694969317456 to ptr) to ptr addrspace(10))) #9, !dbg !31\n %4 = call nonnull \"enzyme_type\"=\"{[-1]:Pointer}\" ptr addrspace(10) (ptr, ptr addrspace(10), ptr addrspace(10), ...) @julia.call2(ptr nonnull @ijl_invoke, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695899363856 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695860763760 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695618768768 to ptr) to ptr addrspace(10))) #8, !dbg !32\n %current_task.i.i = getelementptr inbounds i8, ptr %pgcstack.i.i, i64 -152, !dbg !32\n %\"box::Duplicated.i.i\" = call noalias nonnull align 8 dereferenceable(192) \"enzyme_ReadOnlyOrThrow\" \"enzyme_type\"=\"{[-1]:Pointer, [-1,-1]:Float@double}\" ptr addrspace(10) @julia.gc_alloc_obj(ptr nonnull %current_task.i.i, i64 192, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130694968345232 to ptr) to ptr addrspace(10))) #10, !dbg !32, !enzymejl_gc_alloc_rt !40\n %5 = call noalias nonnull align 8 dereferenceable(192) \"enzyme_ReadOnlyOrThrow\" \"enzyme_type\"=\"{[-1]:Pointer, [-1,-1]:Float@double}\" ptr addrspace(10) @julia.gc_alloc_obj(ptr nonnull %current_task.i.i, i64 192, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130694968345232 to ptr) to ptr addrspace(10))) #10, !dbg !32\n %\"'ipc.i\" = addrspacecast ptr addrspace(10) %5 to ptr addrspace(11), !dbg !32\n %6 = addrspacecast ptr addrspace(10) %\"box::Duplicated.i.i\" to ptr addrspace(11), !dbg !32\n store double %\".fca.0.0.0.extract'ipev.i\", ptr addrspace(11) %\"'ipc.i\", align 8, !dbg !32, !tbaa !41, !alias.scope !44, !noalias !50\n store double %.fca.0.0.0.extract.i, ptr addrspace(11) %6, align 8, !dbg !32, !tbaa !41, !alias.scope !57, !noalias !58\n %\"new::Duplicated.i.sroa.5.0..sroa_idx'ipg.i\" = getelementptr inbounds i8, ptr addrspace(11) %\"'ipc.i\", i64 8, !dbg !32\n %\"new::Duplicated.i.sroa.5.0..sroa_idx.i\" = getelementptr inbounds nuw i8, ptr addrspace(11) %6, i64 8, !dbg !32\n store double %\".fca.0.0.1.extract'ipev.i\", ptr addrspace(11) %\"new::Duplicated.i.sroa.5.0..sroa_idx'ipg.i\", align 8, !dbg !32, !tbaa !41, !alias.scope !44, !noalias !50\n store double %.fca.0.0.1.extract.i, ptr addrspace(11) %\"new::Duplicated.i.sroa.5.0..sroa_idx.i\", align 8, !dbg !32, !tbaa !41, !alias.scope !57, !noalias !58\n %\"new::Duplicated.i.sroa.6.0..sroa_idx'ipg.i\" = getelementptr inbounds i8, ptr addrspace(11) %\"'ipc.i\", i64 16, !dbg !32\n %\"new::Duplicated.i.sroa.6.0..sroa_idx.i\" = getelementptr inbounds nuw i8, ptr addrspace(11) %6, i64 16, !dbg !32\n store double %\".fca.0.0.2.extract'ipev.i\", ptr addrspace(11) %\"new::Duplicated.i.sroa.6.0..sroa_idx'ipg.i\", align 8, !dbg !32, !tbaa !41, !alias.scope !44, !noalias !50\n store double %.fca.0.0.2.extract.i, ptr addrspace(11) %\"new::Duplicated.i.sroa.6.0..sroa_idx.i\", align 8, !dbg !32, !tbaa !41, !alias.scope !57, !noalias !58\n %\"new::Duplicated.i.sroa.7.0..sroa_idx'ipg.i\" = getelementptr inbounds i8, ptr addrspace(11) %\"'ipc.i\", i64 24, !dbg !32\n %\"new::Duplicated.i.sroa.7.0..sroa_idx.i\" = getelementptr inbounds nuw i8, ptr addrspace(11) %6, i64 24, !dbg !32\n store double %\".fca.0.0.3.extract'ipev.i\", ptr addrspace(11) %\"new::Duplicated.i.sroa.7.0..sroa_idx'ipg.i\", align 8, !dbg !32, !tbaa !41, !alias.scope !44, !noalias !50\n store double %.fca.0.0.3.extract.i, ptr addrspace(11) %\"new::Duplicated.i.sroa.7.0..sroa_idx.i\", align 8, !dbg !32, !tbaa !41, !alias.scope !57, !noalias !58\n %\"new::Duplicated.i.sroa.8.0..sroa_idx'ipg.i\" = getelementptr inbounds i8, ptr addrspace(11) %\"'ipc.i\", i64 32, !dbg !32\n %\"new::Duplicated.i.sroa.8.0..sroa_idx.i\" = getelementptr inbounds nuw i8, ptr addrspace(11) %6, i64 32, !dbg !32\n store double %\".fca.1.0.0.extract'ipev.i\", ptr addrspace(11) %\"new::Duplicated.i.sroa.8.0..sroa_idx'ipg.i\", align 8, !dbg !32, !tbaa !41, !alias.scope !44, !noalias !50\n store double %.fca.1.0.0.extract.i, ptr addrspace(11) %\"new::Duplicated.i.sroa.8.0..sroa_idx.i\", align 8, !dbg !32, !tbaa !41, !alias.scope !57, !noalias !58\n %\"new::Duplicated.i.sroa.9.0..sroa_idx'ipg.i\" = getelementptr inbounds i8, ptr addrspace(11) %\"'ipc.i\", i64 40, !dbg !32\n %\"new::Duplicated.i.sroa.9.0..sroa_idx.i\" = getelementptr inbounds nuw i8, ptr addrspace(11) %6, i64 40, !dbg !32\n store double %\".fca.1.0.1.extract'ipev.i\", ptr addrspace(11) %\"new::Duplicated.i.sroa.9.0..sroa_idx'ipg.i\", align 8, !dbg !32, !tbaa !41, !alias.scope !44, !noalias !50\n store double %.fca.1.0.1.extract.i, ptr addrspace(11) %\"new::Duplicated.i.sroa.9.0..sroa_idx.i\", align 8, !dbg !32, !tbaa !41, !alias.scope !57, !noalias !58\n %\"new::Duplicated.i.sroa.10.0..sroa_idx'ipg.i\" = getelementptr inbounds i8, ptr addrspace(11) %\"'ipc.i\", i64 48, !dbg !32\n %\"new::Duplicated.i.sroa.10.0..sroa_idx.i\" = getelementptr inbounds nuw i8, ptr addrspace(11) %6, i64 48, !dbg !32\n store double %\".fca.1.0.2.extract'ipev.i\", ptr addrspace(11) %\"new::Duplicated.i.sroa.10.0..sroa_idx'ipg.i\", align 8, !dbg !32, !tbaa !41, !alias.scope !44, !noalias !50\n store double %.fca.1.0.2.extract.i, ptr addrspace(11) %\"new::Duplicated.i.sroa.10.0..sroa_idx.i\", align 8, !dbg !32, !tbaa !41, !alias.scope !57, !noalias !58\n %\"new::Duplicated.i.sroa.11.0..sroa_idx'ipg.i\" = getelementptr inbounds i8, ptr addrspace(11) %\"'ipc.i\", i64 56, !dbg !32\n %\"new::Duplicated.i.sroa.11.0..sroa_idx.i\" = getelementptr inbounds nuw i8, ptr addrspace(11) %6, i64 56, !dbg !32\n store double %\".fca.1.0.3.extract'ipev.i\", ptr addrspace(11) %\"new::Duplicated.i.sroa.11.0..sroa_idx'ipg.i\", align 8, !dbg !32, !tbaa !41, !alias.scope !44, !noalias !50\n store double %.fca.1.0.3.extract.i, ptr addrspace(11) %\"new::Duplicated.i.sroa.11.0..sroa_idx.i\", align 8, !dbg !32, !tbaa !41, !alias.scope !57, !noalias !58\n %\"new::Duplicated.i.sroa.12.0..sroa_idx'ipg.i\" = getelementptr inbounds i8, ptr addrspace(11) %\"'ipc.i\", i64 64, !dbg !32\n %\"new::Duplicated.i.sroa.12.0..sroa_idx.i\" = getelementptr inbounds nuw i8, ptr addrspace(11) %6, i64 64, !dbg !32\n store double %\".fca.2.0.0.extract'ipev.i\", ptr addrspace(11) %\"new::Duplicated.i.sroa.12.0..sroa_idx'ipg.i\", align 8, !dbg !32, !tbaa !41, !alias.scope !44, !noalias !50\n store double %.fca.2.0.0.extract.i, ptr addrspace(11) %\"new::Duplicated.i.sroa.12.0..sroa_idx.i\", align 8, !dbg !32, !tbaa !41, !alias.scope !57, !noalias !58\n %\"new::Duplicated.i.sroa.13.0..sroa_idx'ipg.i\" = getelementptr inbounds i8, ptr addrspace(11) %\"'ipc.i\", i64 72, !dbg !32\n %\"new::Duplicated.i.sroa.13.0..sroa_idx.i\" = getelementptr inbounds nuw i8, ptr addrspace(11) %6, i64 72, !dbg !32\n store double %\".fca.2.0.1.extract'ipev.i\", ptr addrspace(11) %\"new::Duplicated.i.sroa.13.0..sroa_idx'ipg.i\", align 8, !dbg !32, !tbaa !41, !alias.scope !44, !noalias !50\n store double %.fca.2.0.1.extract.i, ptr addrspace(11) %\"new::Duplicated.i.sroa.13.0..sroa_idx.i\", align 8, !dbg !32, !tbaa !41, !alias.scope !57, !noalias !58\n %\"new::Duplicated.i.sroa.14.0..sroa_idx'ipg.i\" = getelementptr inbounds i8, ptr addrspace(11) %\"'ipc.i\", i64 80, !dbg !32\n %\"new::Duplicated.i.sroa.14.0..sroa_idx.i\" = getelementptr inbounds nuw i8, ptr addrspace(11) %6, i64 80, !dbg !32\n store double %\".fca.2.0.2.extract'ipev.i\", ptr addrspace(11) %\"new::Duplicated.i.sroa.14.0..sroa_idx'ipg.i\", align 8, !dbg !32, !tbaa !41, !alias.scope !44, !noalias !50\n store double %.fca.2.0.2.extract.i, ptr addrspace(11) %\"new::Duplicated.i.sroa.14.0..sroa_idx.i\", align 8, !dbg !32, !tbaa !41, !alias.scope !57, !noalias !58\n %\"new::Duplicated.i.sroa.15.0..sroa_idx'ipg.i\" = getelementptr inbounds i8, ptr addrspace(11) %\"'ipc.i\", i64 88, !dbg !32\n %\"new::Duplicated.i.sroa.15.0..sroa_idx.i\" = getelementptr inbounds nuw i8, ptr addrspace(11) %6, i64 88, !dbg !32\n store double %\".fca.2.0.3.extract'ipev.i\", ptr addrspace(11) %\"new::Duplicated.i.sroa.15.0..sroa_idx'ipg.i\", align 8, !dbg !32, !tbaa !41, !alias.scope !44, !noalias !50\n store double %.fca.2.0.3.extract.i, ptr addrspace(11) %\"new::Duplicated.i.sroa.15.0..sroa_idx.i\", align 8, !dbg !32, !tbaa !41, !alias.scope !57, !noalias !58\n %\"new::Duplicated.i.sroa.16.0..sroa_idx'ipg.i\" = getelementptr inbounds i8, ptr addrspace(11) %\"'ipc.i\", i64 96, !dbg !32\n %\"new::Duplicated.i.sroa.16.0..sroa_idx.i\" = getelementptr inbounds nuw i8, ptr addrspace(11) %6, i64 96, !dbg !32\n store double %\".fca.1.0.0.extract'ipev.i\", ptr addrspace(11) %\"new::Duplicated.i.sroa.16.0..sroa_idx'ipg.i\", align 8, !dbg !32, !tbaa !41, !alias.scope !44, !noalias !50\n store double %.fca.1.0.0.extract.i, ptr addrspace(11) %\"new::Duplicated.i.sroa.16.0..sroa_idx.i\", align 8, !dbg !32, !tbaa !41, !alias.scope !57, !noalias !58\n %\"new::Duplicated.i.sroa.17.0..sroa_idx'ipg.i\" = getelementptr inbounds i8, ptr addrspace(11) %\"'ipc.i\", i64 104, !dbg !32\n %\"new::Duplicated.i.sroa.17.0..sroa_idx.i\" = getelementptr inbounds nuw i8, ptr addrspace(11) %6, i64 104, !dbg !32\n store double %\".fca.1.0.1.extract'ipev.i\", ptr addrspace(11) %\"new::Duplicated.i.sroa.17.0..sroa_idx'ipg.i\", align 8, !dbg !32, !tbaa !41, !alias.scope !44, !noalias !50\n store double %.fca.1.0.1.extract.i, ptr addrspace(11) %\"new::Duplicated.i.sroa.17.0..sroa_idx.i\", align 8, !dbg !32, !tbaa !41, !alias.scope !57, !noalias !58\n %\"new::Duplicated.i.sroa.18.0..sroa_idx'ipg.i\" = getelementptr inbounds i8, ptr addrspace(11) %\"'ipc.i\", i64 112, !dbg !32\n %\"new::Duplicated.i.sroa.18.0..sroa_idx.i\" = getelementptr inbounds nuw i8, ptr addrspace(11) %6, i64 112, !dbg !32\n store double %\".fca.1.0.2.extract'ipev.i\", ptr addrspace(11) %\"new::Duplicated.i.sroa.18.0..sroa_idx'ipg.i\", align 8, !dbg !32, !tbaa !41, !alias.scope !44, !noalias !50\n store double %.fca.1.0.2.extract.i, ptr addrspace(11) %\"new::Duplicated.i.sroa.18.0..sroa_idx.i\", align 8, !dbg !32, !tbaa !41, !alias.scope !57, !noalias !58\n %\"new::Duplicated.i.sroa.19.0..sroa_idx'ipg.i\" = getelementptr inbounds i8, ptr addrspace(11) %\"'ipc.i\", i64 120, !dbg !32\n %\"new::Duplicated.i.sroa.19.0..sroa_idx.i\" = getelementptr inbounds nuw i8, ptr addrspace(11) %6, i64 120, !dbg !32\n store double %\".fca.1.0.3.extract'ipev.i\", ptr addrspace(11) %\"new::Duplicated.i.sroa.19.0..sroa_idx'ipg.i\", align 8, !dbg !32, !tbaa !41, !alias.scope !44, !noalias !50\n store double %.fca.1.0.3.extract.i, ptr addrspace(11) %\"new::Duplicated.i.sroa.19.0..sroa_idx.i\", align 8, !dbg !32, !tbaa !41, !alias.scope !57, !noalias !58\n %\"new::Duplicated.i.sroa.20.0..sroa_idx'ipg.i\" = getelementptr inbounds i8, ptr addrspace(11) %\"'ipc.i\", i64 128, !dbg !32\n %\"new::Duplicated.i.sroa.20.0..sroa_idx.i\" = getelementptr inbounds nuw i8, ptr addrspace(11) %6, i64 128, !dbg !32\n store double %\".fca.2.0.0.extract'ipev.i\", ptr addrspace(11) %\"new::Duplicated.i.sroa.20.0..sroa_idx'ipg.i\", align 8, !dbg !32, !tbaa !41, !alias.scope !44, !noalias !50\n store double %.fca.2.0.0.extract.i, ptr addrspace(11) %\"new::Duplicated.i.sroa.20.0..sroa_idx.i\", align 8, !dbg !32, !tbaa !41, !alias.scope !57, !noalias !58\n %\"new::Duplicated.i.sroa.21.0..sroa_idx'ipg.i\" = getelementptr inbounds i8, ptr addrspace(11) %\"'ipc.i\", i64 136, !dbg !32\n %\"new::Duplicated.i.sroa.21.0..sroa_idx.i\" = getelementptr inbounds nuw i8, ptr addrspace(11) %6, i64 136, !dbg !32\n store double %\".fca.2.0.1.extract'ipev.i\", ptr addrspace(11) %\"new::Duplicated.i.sroa.21.0..sroa_idx'ipg.i\", align 8, !dbg !32, !tbaa !41, !alias.scope !44, !noalias !50\n store double %.fca.2.0.1.extract.i, ptr addrspace(11) %\"new::Duplicated.i.sroa.21.0..sroa_idx.i\", align 8, !dbg !32, !tbaa !41, !alias.scope !57, !noalias !58\n %\"new::Duplicated.i.sroa.22.0..sroa_idx'ipg.i\" = getelementptr inbounds i8, ptr addrspace(11) %\"'ipc.i\", i64 144, !dbg !32\n %\"new::Duplicated.i.sroa.22.0..sroa_idx.i\" = getelementptr inbounds nuw i8, ptr addrspace(11) %6, i64 144, !dbg !32\n store double %\".fca.2.0.2.extract'ipev.i\", ptr addrspace(11) %\"new::Duplicated.i.sroa.22.0..sroa_idx'ipg.i\", align 8, !dbg !32, !tbaa !41, !alias.scope !44, !noalias !50\n store double %.fca.2.0.2.extract.i, ptr addrspace(11) %\"new::Duplicated.i.sroa.22.0..sroa_idx.i\", align 8, !dbg !32, !tbaa !41, !alias.scope !57, !noalias !58\n %\"new::Duplicated.i.sroa.23.0..sroa_idx'ipg.i\" = getelementptr inbounds i8, ptr addrspace(11) %\"'ipc.i\", i64 152, !dbg !32\n %\"new::Duplicated.i.sroa.23.0..sroa_idx.i\" = getelementptr inbounds nuw i8, ptr addrspace(11) %6, i64 152, !dbg !32\n store double %\".fca.2.0.3.extract'ipev.i\", ptr addrspace(11) %\"new::Duplicated.i.sroa.23.0..sroa_idx'ipg.i\", align 8, !dbg !32, !tbaa !41, !alias.scope !44, !noalias !50\n store double %.fca.2.0.3.extract.i, ptr addrspace(11) %\"new::Duplicated.i.sroa.23.0..sroa_idx.i\", align 8, !dbg !32, !tbaa !41, !alias.scope !57, !noalias !58\n %\"new::Duplicated.i.sroa.24.0..sroa_idx'ipg.i\" = getelementptr inbounds i8, ptr addrspace(11) %\"'ipc.i\", i64 160, !dbg !32\n %\"new::Duplicated.i.sroa.24.0..sroa_idx.i\" = getelementptr inbounds nuw i8, ptr addrspace(11) %6, i64 160, !dbg !32\n store double %\".fca.3.0.0.extract'ipev.i\", ptr addrspace(11) %\"new::Duplicated.i.sroa.24.0..sroa_idx'ipg.i\", align 8, !dbg !32, !tbaa !41, !alias.scope !44, !noalias !50\n store double %.fca.3.0.0.extract.i, ptr addrspace(11) %\"new::Duplicated.i.sroa.24.0..sroa_idx.i\", align 8, !dbg !32, !tbaa !41, !alias.scope !57, !noalias !58\n %\"new::Duplicated.i.sroa.25.0..sroa_idx'ipg.i\" = getelementptr inbounds i8, ptr addrspace(11) %\"'ipc.i\", i64 168, !dbg !32\n %\"new::Duplicated.i.sroa.25.0..sroa_idx.i\" = getelementptr inbounds nuw i8, ptr addrspace(11) %6, i64 168, !dbg !32\n store double %\".fca.3.0.1.extract'ipev.i\", ptr addrspace(11) %\"new::Duplicated.i.sroa.25.0..sroa_idx'ipg.i\", align 8, !dbg !32, !tbaa !41, !alias.scope !44, !noalias !50\n store double %.fca.3.0.1.extract.i, ptr addrspace(11) %\"new::Duplicated.i.sroa.25.0..sroa_idx.i\", align 8, !dbg !32, !tbaa !41, !alias.scope !57, !noalias !58\n %\"new::Duplicated.i.sroa.26.0..sroa_idx'ipg.i\" = getelementptr inbounds i8, ptr addrspace(11) %\"'ipc.i\", i64 176, !dbg !32\n %\"new::Duplicated.i.sroa.26.0..sroa_idx.i\" = getelementptr inbounds nuw i8, ptr addrspace(11) %6, i64 176, !dbg !32\n store double %\".fca.3.0.2.extract'ipev.i\", ptr addrspace(11) %\"new::Duplicated.i.sroa.26.0..sroa_idx'ipg.i\", align 8, !dbg !32, !tbaa !41, !alias.scope !44, !noalias !50\n store double %.fca.3.0.2.extract.i, ptr addrspace(11) %\"new::Duplicated.i.sroa.26.0..sroa_idx.i\", align 8, !dbg !32, !tbaa !41, !alias.scope !57, !noalias !58\n %\"new::Duplicated.i.sroa.27.0..sroa_idx'ipg.i\" = getelementptr inbounds i8, ptr addrspace(11) %\"'ipc.i\", i64 184, !dbg !32\n %\"new::Duplicated.i.sroa.27.0..sroa_idx.i\" = getelementptr inbounds nuw i8, ptr addrspace(11) %6, i64 184, !dbg !32\n store double %\".fca.3.0.3.extract'ipev.i\", ptr addrspace(11) %\"new::Duplicated.i.sroa.27.0..sroa_idx'ipg.i\", align 8, !dbg !32, !tbaa !41, !alias.scope !44, !noalias !50\n store double %.fca.3.0.3.extract.i, ptr addrspace(11) %\"new::Duplicated.i.sroa.27.0..sroa_idx.i\", align 8, !dbg !32, !tbaa !41, !alias.scope !57, !noalias !58\n %7 = call ptr addrspace(10) (ptr, ptr addrspace(10), ...) @julia.call(ptr @ijl_apply_generic, ptr addrspace(10) @ejl_enz_runtime_generic_fwd, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695126066832 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695908277584 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695908277584 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_enz_val_1, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695618737712 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695860763760 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) %\"box::Duplicated.i.i\", ptr addrspace(10) %5), !dbg !32\n %8 = addrspacecast ptr addrspace(10) %7 to ptr addrspace(11), !dbg !32\n %9 = load ptr addrspace(10), ptr addrspace(11) %8, align 8, !dbg !32\n %jl_f_apply_type_ret10.i.i = call nonnull \"enzyme_inactive\" \"enzyme_type\"=\"{[-1]:Pointer}\" ptr addrspace(10) (ptr, ptr addrspace(10), ...) @julia.call(ptr nonnull @jl_f_apply_type, ptr addrspace(10) null, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695930797600 to ptr) to ptr addrspace(10)), ptr addrspace(10) nonnull %4, ptr addrspace(10) nonnull %9) #9, !dbg !59\n %10 = call nonnull \"enzyme_type\"=\"{[-1]:Pointer}\" ptr addrspace(10) (ptr, ptr addrspace(10), ptr addrspace(10), ...) @julia.call2(ptr nonnull @ijl_invoke, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695899363856 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695860763760 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695618768768 to ptr) to ptr addrspace(10))) #8, !dbg !60\n %.not62.i = icmp eq ptr addrspace(10) %10, addrspacecast (ptr inttoptr (i64 130695720003920 to ptr) to ptr addrspace(10)), !dbg !60\n %value_phi15.i.i = select i1 %.not62.i, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695095857232 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130694969317456 to ptr) to ptr addrspace(10)), !dbg !60\n %jl_f_apply_type_ret18.i.i = call nonnull \"enzyme_inactive\" \"enzyme_type\"=\"{[-1]:Pointer}\" ptr addrspace(10) (ptr, ptr addrspace(10), ...) @julia.call(ptr nonnull @jl_f_apply_type, ptr addrspace(10) null, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695930797600 to ptr) to ptr addrspace(10)), ptr addrspace(10) %value_phi15.i.i, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130694969317456 to ptr) to ptr addrspace(10))) #9, !dbg !65\n %11 = call ptr addrspace(10) (ptr, ptr addrspace(10), ...) @julia.call(ptr @ijl_apply_generic, ptr addrspace(10) @ejl_enz_runtime_generic_fwd, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695159782544 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695908277584 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695908277584 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_enz_val_1, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695618737712 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695560688096 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695876761728 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695740856528 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695179751504 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) %jl_f_apply_type_ret10.i.i, ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695618718864 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695857041792 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695618743472 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695908277584 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695908277584 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 914660384 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695908276976 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695908277584 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695908277584 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing), !dbg !66\n %12 = addrspacecast ptr addrspace(10) %11 to ptr addrspace(11), !dbg !66\n %13 = getelementptr inbounds [2 x ptr addrspace(10)], ptr addrspace(11) %12, i64 0, i64 1, !dbg !66\n %14 = load ptr addrspace(10), ptr addrspace(11) %13, align 8, !dbg !66\n %15 = load ptr addrspace(10), ptr addrspace(11) %12, align 8, !dbg !66\n %\"box::Duplicated26.i.i\" = call noalias nonnull align 8 dereferenceable(192) \"enzyme_ReadOnlyOrThrow\" \"enzyme_type\"=\"{[-1]:Pointer, [-1,-1]:Float@double}\" ptr addrspace(10) @julia.gc_alloc_obj(ptr nonnull %current_task.i.i, i64 192, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130694968345232 to ptr) to ptr addrspace(10))) #10, !dbg !67, !enzymejl_gc_alloc_rt !40\n %16 = call noalias nonnull align 8 dereferenceable(192) \"enzyme_ReadOnlyOrThrow\" \"enzyme_type\"=\"{[-1]:Pointer, [-1,-1]:Float@double}\" ptr addrspace(10) @julia.gc_alloc_obj(ptr nonnull %current_task.i.i, i64 192, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130694968345232 to ptr) to ptr addrspace(10))) #10, !dbg !67\n %\"'ipc9.i\" = addrspacecast ptr addrspace(10) %16 to ptr addrspace(11), !dbg !67\n %17 = addrspacecast ptr addrspace(10) %\"box::Duplicated26.i.i\" to ptr addrspace(11), !dbg !67\n store double %\".fca.0.0.0.extract'ipev.i\", ptr addrspace(11) %\"'ipc9.i\", align 8, !dbg !67, !tbaa !41, !alias.scope !68, !noalias !71\n store double %.fca.0.0.0.extract.i, ptr addrspace(11) %17, align 8, !dbg !67, !tbaa !41, !alias.scope !73, !noalias !74\n %\"new::Duplicated.i.sroa.5.0..sroa_idx16'ipg.i\" = getelementptr inbounds i8, ptr addrspace(11) %\"'ipc9.i\", i64 8, !dbg !67\n %\"new::Duplicated.i.sroa.5.0..sroa_idx16.i\" = getelementptr inbounds nuw i8, ptr addrspace(11) %17, i64 8, !dbg !67\n store double %\".fca.0.0.1.extract'ipev.i\", ptr addrspace(11) %\"new::Duplicated.i.sroa.5.0..sroa_idx16'ipg.i\", align 8, !dbg !67, !tbaa !41, !alias.scope !68, !noalias !71\n store double %.fca.0.0.1.extract.i, ptr addrspace(11) %\"new::Duplicated.i.sroa.5.0..sroa_idx16.i\", align 8, !dbg !67, !tbaa !41, !alias.scope !73, !noalias !74\n %\"new::Duplicated.i.sroa.6.0..sroa_idx18'ipg.i\" = getelementptr inbounds i8, ptr addrspace(11) %\"'ipc9.i\", i64 16, !dbg !67\n %\"new::Duplicated.i.sroa.6.0..sroa_idx18.i\" = getelementptr inbounds nuw i8, ptr addrspace(11) %17, i64 16, !dbg !67\n store double %\".fca.0.0.2.extract'ipev.i\", ptr addrspace(11) %\"new::Duplicated.i.sroa.6.0..sroa_idx18'ipg.i\", align 8, !dbg !67, !tbaa !41, !alias.scope !68, !noalias !71\n store double %.fca.0.0.2.extract.i, ptr addrspace(11) %\"new::Duplicated.i.sroa.6.0..sroa_idx18.i\", align 8, !dbg !67, !tbaa !41, !alias.scope !73, !noalias !74\n %\"new::Duplicated.i.sroa.7.0..sroa_idx20'ipg.i\" = getelementptr inbounds i8, ptr addrspace(11) %\"'ipc9.i\", i64 24, !dbg !67\n %\"new::Duplicated.i.sroa.7.0..sroa_idx20.i\" = getelementptr inbounds nuw i8, ptr addrspace(11) %17, i64 24, !dbg !67\n store double %\".fca.0.0.3.extract'ipev.i\", ptr addrspace(11) %\"new::Duplicated.i.sroa.7.0..sroa_idx20'ipg.i\", align 8, !dbg !67, !tbaa !41, !alias.scope !68, !noalias !71\n store double %.fca.0.0.3.extract.i, ptr addrspace(11) %\"new::Duplicated.i.sroa.7.0..sroa_idx20.i\", align 8, !dbg !67, !tbaa !41, !alias.scope !73, !noalias !74\n %\"new::Duplicated.i.sroa.8.0..sroa_idx22'ipg.i\" = getelementptr inbounds i8, ptr addrspace(11) %\"'ipc9.i\", i64 32, !dbg !67\n %\"new::Duplicated.i.sroa.8.0..sroa_idx22.i\" = getelementptr inbounds nuw i8, ptr addrspace(11) %17, i64 32, !dbg !67\n store double %\".fca.1.0.0.extract'ipev.i\", ptr addrspace(11) %\"new::Duplicated.i.sroa.8.0..sroa_idx22'ipg.i\", align 8, !dbg !67, !tbaa !41, !alias.scope !68, !noalias !71\n store double %.fca.1.0.0.extract.i, ptr addrspace(11) %\"new::Duplicated.i.sroa.8.0..sroa_idx22.i\", align 8, !dbg !67, !tbaa !41, !alias.scope !73, !noalias !74\n %\"new::Duplicated.i.sroa.9.0..sroa_idx24'ipg.i\" = getelementptr inbounds i8, ptr addrspace(11) %\"'ipc9.i\", i64 40, !dbg !67\n %\"new::Duplicated.i.sroa.9.0..sroa_idx24.i\" = getelementptr inbounds nuw i8, ptr addrspace(11) %17, i64 40, !dbg !67\n store double %\".fca.1.0.1.extract'ipev.i\", ptr addrspace(11) %\"new::Duplicated.i.sroa.9.0..sroa_idx24'ipg.i\", align 8, !dbg !67, !tbaa !41, !alias.scope !68, !noalias !71\n store double %.fca.1.0.1.extract.i, ptr addrspace(11) %\"new::Duplicated.i.sroa.9.0..sroa_idx24.i\", align 8, !dbg !67, !tbaa !41, !alias.scope !73, !noalias !74\n %\"new::Duplicated.i.sroa.10.0..sroa_idx26'ipg.i\" = getelementptr inbounds i8, ptr addrspace(11) %\"'ipc9.i\", i64 48, !dbg !67\n %\"new::Duplicated.i.sroa.10.0..sroa_idx26.i\" = getelementptr inbounds nuw i8, ptr addrspace(11) %17, i64 48, !dbg !67\n store double %\".fca.1.0.2.extract'ipev.i\", ptr addrspace(11) %\"new::Duplicated.i.sroa.10.0..sroa_idx26'ipg.i\", align 8, !dbg !67, !tbaa !41, !alias.scope !68, !noalias !71\n store double %.fca.1.0.2.extract.i, ptr addrspace(11) %\"new::Duplicated.i.sroa.10.0..sroa_idx26.i\", align 8, !dbg !67, !tbaa !41, !alias.scope !73, !noalias !74\n %\"new::Duplicated.i.sroa.11.0..sroa_idx28'ipg.i\" = getelementptr inbounds i8, ptr addrspace(11) %\"'ipc9.i\", i64 56, !dbg !67\n %\"new::Duplicated.i.sroa.11.0..sroa_idx28.i\" = getelementptr inbounds nuw i8, ptr addrspace(11) %17, i64 56, !dbg !67\n store double %\".fca.1.0.3.extract'ipev.i\", ptr addrspace(11) %\"new::Duplicated.i.sroa.11.0..sroa_idx28'ipg.i\", align 8, !dbg !67, !tbaa !41, !alias.scope !68, !noalias !71\n store double %.fca.1.0.3.extract.i, ptr addrspace(11) %\"new::Duplicated.i.sroa.11.0..sroa_idx28.i\", align 8, !dbg !67, !tbaa !41, !alias.scope !73, !noalias !74\n %\"new::Duplicated.i.sroa.12.0..sroa_idx30'ipg.i\" = getelementptr inbounds i8, ptr addrspace(11) %\"'ipc9.i\", i64 64, !dbg !67\n %\"new::Duplicated.i.sroa.12.0..sroa_idx30.i\" = getelementptr inbounds nuw i8, ptr addrspace(11) %17, i64 64, !dbg !67\n store double %\".fca.2.0.0.extract'ipev.i\", ptr addrspace(11) %\"new::Duplicated.i.sroa.12.0..sroa_idx30'ipg.i\", align 8, !dbg !67, !tbaa !41, !alias.scope !68, !noalias !71\n store double %.fca.2.0.0.extract.i, ptr addrspace(11) %\"new::Duplicated.i.sroa.12.0..sroa_idx30.i\", align 8, !dbg !67, !tbaa !41, !alias.scope !73, !noalias !74\n %\"new::Duplicated.i.sroa.13.0..sroa_idx32'ipg.i\" = getelementptr inbounds i8, ptr addrspace(11) %\"'ipc9.i\", i64 72, !dbg !67\n %\"new::Duplicated.i.sroa.13.0..sroa_idx32.i\" = getelementptr inbounds nuw i8, ptr addrspace(11) %17, i64 72, !dbg !67\n store double %\".fca.2.0.1.extract'ipev.i\", ptr addrspace(11) %\"new::Duplicated.i.sroa.13.0..sroa_idx32'ipg.i\", align 8, !dbg !67, !tbaa !41, !alias.scope !68, !noalias !71\n store double %.fca.2.0.1.extract.i, ptr addrspace(11) %\"new::Duplicated.i.sroa.13.0..sroa_idx32.i\", align 8, !dbg !67, !tbaa !41, !alias.scope !73, !noalias !74\n %\"new::Duplicated.i.sroa.14.0..sroa_idx34'ipg.i\" = getelementptr inbounds i8, ptr addrspace(11) %\"'ipc9.i\", i64 80, !dbg !67\n %\"new::Duplicated.i.sroa.14.0..sroa_idx34.i\" = getelementptr inbounds nuw i8, ptr addrspace(11) %17, i64 80, !dbg !67\n store double %\".fca.2.0.2.extract'ipev.i\", ptr addrspace(11) %\"new::Duplicated.i.sroa.14.0..sroa_idx34'ipg.i\", align 8, !dbg !67, !tbaa !41, !alias.scope !68, !noalias !71\n store double %.fca.2.0.2.extract.i, ptr addrspace(11) %\"new::Duplicated.i.sroa.14.0..sroa_idx34.i\", align 8, !dbg !67, !tbaa !41, !alias.scope !73, !noalias !74\n %\"new::Duplicated.i.sroa.15.0..sroa_idx36'ipg.i\" = getelementptr inbounds i8, ptr addrspace(11) %\"'ipc9.i\", i64 88, !dbg !67\n %\"new::Duplicated.i.sroa.15.0..sroa_idx36.i\" = getelementptr inbounds nuw i8, ptr addrspace(11) %17, i64 88, !dbg !67\n store double %\".fca.2.0.3.extract'ipev.i\", ptr addrspace(11) %\"new::Duplicated.i.sroa.15.0..sroa_idx36'ipg.i\", align 8, !dbg !67, !tbaa !41, !alias.scope !68, !noalias !71\n store double %.fca.2.0.3.extract.i, ptr addrspace(11) %\"new::Duplicated.i.sroa.15.0..sroa_idx36.i\", align 8, !dbg !67, !tbaa !41, !alias.scope !73, !noalias !74\n %\"new::Duplicated.i.sroa.16.0..sroa_idx38'ipg.i\" = getelementptr inbounds i8, ptr addrspace(11) %\"'ipc9.i\", i64 96, !dbg !67\n %\"new::Duplicated.i.sroa.16.0..sroa_idx38.i\" = getelementptr inbounds nuw i8, ptr addrspace(11) %17, i64 96, !dbg !67\n store double %\".fca.1.0.0.extract'ipev.i\", ptr addrspace(11) %\"new::Duplicated.i.sroa.16.0..sroa_idx38'ipg.i\", align 8, !dbg !67, !tbaa !41, !alias.scope !68, !noalias !71\n store double %.fca.1.0.0.extract.i, ptr addrspace(11) %\"new::Duplicated.i.sroa.16.0..sroa_idx38.i\", align 8, !dbg !67, !tbaa !41, !alias.scope !73, !noalias !74\n %\"new::Duplicated.i.sroa.17.0..sroa_idx40'ipg.i\" = getelementptr inbounds i8, ptr addrspace(11) %\"'ipc9.i\", i64 104, !dbg !67\n %\"new::Duplicated.i.sroa.17.0..sroa_idx40.i\" = getelementptr inbounds nuw i8, ptr addrspace(11) %17, i64 104, !dbg !67\n store double %\".fca.1.0.1.extract'ipev.i\", ptr addrspace(11) %\"new::Duplicated.i.sroa.17.0..sroa_idx40'ipg.i\", align 8, !dbg !67, !tbaa !41, !alias.scope !68, !noalias !71\n store double %.fca.1.0.1.extract.i, ptr addrspace(11) %\"new::Duplicated.i.sroa.17.0..sroa_idx40.i\", align 8, !dbg !67, !tbaa !41, !alias.scope !73, !noalias !74\n %\"new::Duplicated.i.sroa.18.0..sroa_idx42'ipg.i\" = getelementptr inbounds i8, ptr addrspace(11) %\"'ipc9.i\", i64 112, !dbg !67\n %\"new::Duplicated.i.sroa.18.0..sroa_idx42.i\" = getelementptr inbounds nuw i8, ptr addrspace(11) %17, i64 112, !dbg !67\n store double %\".fca.1.0.2.extract'ipev.i\", ptr addrspace(11) %\"new::Duplicated.i.sroa.18.0..sroa_idx42'ipg.i\", align 8, !dbg !67, !tbaa !41, !alias.scope !68, !noalias !71\n store double %.fca.1.0.2.extract.i, ptr addrspace(11) %\"new::Duplicated.i.sroa.18.0..sroa_idx42.i\", align 8, !dbg !67, !tbaa !41, !alias.scope !73, !noalias !74\n %\"new::Duplicated.i.sroa.19.0..sroa_idx44'ipg.i\" = getelementptr inbounds i8, ptr addrspace(11) %\"'ipc9.i\", i64 120, !dbg !67\n %\"new::Duplicated.i.sroa.19.0..sroa_idx44.i\" = getelementptr inbounds nuw i8, ptr addrspace(11) %17, i64 120, !dbg !67\n store double %\".fca.1.0.3.extract'ipev.i\", ptr addrspace(11) %\"new::Duplicated.i.sroa.19.0..sroa_idx44'ipg.i\", align 8, !dbg !67, !tbaa !41, !alias.scope !68, !noalias !71\n store double %.fca.1.0.3.extract.i, ptr addrspace(11) %\"new::Duplicated.i.sroa.19.0..sroa_idx44.i\", align 8, !dbg !67, !tbaa !41, !alias.scope !73, !noalias !74\n %\"new::Duplicated.i.sroa.20.0..sroa_idx46'ipg.i\" = getelementptr inbounds i8, ptr addrspace(11) %\"'ipc9.i\", i64 128, !dbg !67\n %\"new::Duplicated.i.sroa.20.0..sroa_idx46.i\" = getelementptr inbounds nuw i8, ptr addrspace(11) %17, i64 128, !dbg !67\n store double %\".fca.2.0.0.extract'ipev.i\", ptr addrspace(11) %\"new::Duplicated.i.sroa.20.0..sroa_idx46'ipg.i\", align 8, !dbg !67, !tbaa !41, !alias.scope !68, !noalias !71\n store double %.fca.2.0.0.extract.i, ptr addrspace(11) %\"new::Duplicated.i.sroa.20.0..sroa_idx46.i\", align 8, !dbg !67, !tbaa !41, !alias.scope !73, !noalias !74\n %\"new::Duplicated.i.sroa.21.0..sroa_idx48'ipg.i\" = getelementptr inbounds i8, ptr addrspace(11) %\"'ipc9.i\", i64 136, !dbg !67\n %\"new::Duplicated.i.sroa.21.0..sroa_idx48.i\" = getelementptr inbounds nuw i8, ptr addrspace(11) %17, i64 136, !dbg !67\n store double %\".fca.2.0.1.extract'ipev.i\", ptr addrspace(11) %\"new::Duplicated.i.sroa.21.0..sroa_idx48'ipg.i\", align 8, !dbg !67, !tbaa !41, !alias.scope !68, !noalias !71\n store double %.fca.2.0.1.extract.i, ptr addrspace(11) %\"new::Duplicated.i.sroa.21.0..sroa_idx48.i\", align 8, !dbg !67, !tbaa !41, !alias.scope !73, !noalias !74\n %\"new::Duplicated.i.sroa.22.0..sroa_idx50'ipg.i\" = getelementptr inbounds i8, ptr addrspace(11) %\"'ipc9.i\", i64 144, !dbg !67\n %\"new::Duplicated.i.sroa.22.0..sroa_idx50.i\" = getelementptr inbounds nuw i8, ptr addrspace(11) %17, i64 144, !dbg !67\n store double %\".fca.2.0.2.extract'ipev.i\", ptr addrspace(11) %\"new::Duplicated.i.sroa.22.0..sroa_idx50'ipg.i\", align 8, !dbg !67, !tbaa !41, !alias.scope !68, !noalias !71\n store double %.fca.2.0.2.extract.i, ptr addrspace(11) %\"new::Duplicated.i.sroa.22.0..sroa_idx50.i\", align 8, !dbg !67, !tbaa !41, !alias.scope !73, !noalias !74\n %\"new::Duplicated.i.sroa.23.0..sroa_idx52'ipg.i\" = getelementptr inbounds i8, ptr addrspace(11) %\"'ipc9.i\", i64 152, !dbg !67\n %\"new::Duplicated.i.sroa.23.0..sroa_idx52.i\" = getelementptr inbounds nuw i8, ptr addrspace(11) %17, i64 152, !dbg !67\n store double %\".fca.2.0.3.extract'ipev.i\", ptr addrspace(11) %\"new::Duplicated.i.sroa.23.0..sroa_idx52'ipg.i\", align 8, !dbg !67, !tbaa !41, !alias.scope !68, !noalias !71\n store double %.fca.2.0.3.extract.i, ptr addrspace(11) %\"new::Duplicated.i.sroa.23.0..sroa_idx52.i\", align 8, !dbg !67, !tbaa !41, !alias.scope !73, !noalias !74\n %\"new::Duplicated.i.sroa.24.0..sroa_idx54'ipg.i\" = getelementptr inbounds i8, ptr addrspace(11) %\"'ipc9.i\", i64 160, !dbg !67\n %\"new::Duplicated.i.sroa.24.0..sroa_idx54.i\" = getelementptr inbounds nuw i8, ptr addrspace(11) %17, i64 160, !dbg !67\n store double %\".fca.3.0.0.extract'ipev.i\", ptr addrspace(11) %\"new::Duplicated.i.sroa.24.0..sroa_idx54'ipg.i\", align 8, !dbg !67, !tbaa !41, !alias.scope !68, !noalias !71\n store double %.fca.3.0.0.extract.i, ptr addrspace(11) %\"new::Duplicated.i.sroa.24.0..sroa_idx54.i\", align 8, !dbg !67, !tbaa !41, !alias.scope !73, !noalias !74\n %\"new::Duplicated.i.sroa.25.0..sroa_idx56'ipg.i\" = getelementptr inbounds i8, ptr addrspace(11) %\"'ipc9.i\", i64 168, !dbg !67\n %\"new::Duplicated.i.sroa.25.0..sroa_idx56.i\" = getelementptr inbounds nuw i8, ptr addrspace(11) %17, i64 168, !dbg !67\n store double %\".fca.3.0.1.extract'ipev.i\", ptr addrspace(11) %\"new::Duplicated.i.sroa.25.0..sroa_idx56'ipg.i\", align 8, !dbg !67, !tbaa !41, !alias.scope !68, !noalias !71\n store double %.fca.3.0.1.extract.i, ptr addrspace(11) %\"new::Duplicated.i.sroa.25.0..sroa_idx56.i\", align 8, !dbg !67, !tbaa !41, !alias.scope !73, !noalias !74\n %\"new::Duplicated.i.sroa.26.0..sroa_idx58'ipg.i\" = getelementptr inbounds i8, ptr addrspace(11) %\"'ipc9.i\", i64 176, !dbg !67\n %\"new::Duplicated.i.sroa.26.0..sroa_idx58.i\" = getelementptr inbounds nuw i8, ptr addrspace(11) %17, i64 176, !dbg !67\n store double %\".fca.3.0.2.extract'ipev.i\", ptr addrspace(11) %\"new::Duplicated.i.sroa.26.0..sroa_idx58'ipg.i\", align 8, !dbg !67, !tbaa !41, !alias.scope !68, !noalias !71\n store double %.fca.3.0.2.extract.i, ptr addrspace(11) %\"new::Duplicated.i.sroa.26.0..sroa_idx58.i\", align 8, !dbg !67, !tbaa !41, !alias.scope !73, !noalias !74\n %\"new::Duplicated.i.sroa.27.0..sroa_idx60'ipg.i\" = getelementptr inbounds i8, ptr addrspace(11) %\"'ipc9.i\", i64 184, !dbg !67\n %\"new::Duplicated.i.sroa.27.0..sroa_idx60.i\" = getelementptr inbounds nuw i8, ptr addrspace(11) %17, i64 184, !dbg !67\n store double %\".fca.3.0.3.extract'ipev.i\", ptr addrspace(11) %\"new::Duplicated.i.sroa.27.0..sroa_idx60'ipg.i\", align 8, !dbg !67, !tbaa !41, !alias.scope !68, !noalias !71\n store double %.fca.3.0.3.extract.i, ptr addrspace(11) %\"new::Duplicated.i.sroa.27.0..sroa_idx60.i\", align 8, !dbg !67, !tbaa !41, !alias.scope !73, !noalias !74\n %18 = call ptr addrspace(10) (ptr, ptr addrspace(10), ...) @julia.call(ptr @ijl_apply_generic, ptr addrspace(10) @ejl_enz_runtime_generic_fwd, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695085149712 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695908277584 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695908277584 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_enz_val_1, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695618737712 to ptr) to ptr addrspace(10)), ptr addrspace(10) %15, ptr addrspace(10) %14, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695618785288 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695618768768 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) %\"box::Duplicated26.i.i\", ptr addrspace(10) %16), !dbg !67\n %19 = addrspacecast ptr addrspace(10) %18 to ptr addrspace(11), !dbg !67\n %20 = getelementptr inbounds [2 x ptr addrspace(10)], ptr addrspace(11) %19, i64 0, i64 1, !dbg !67\n %21 = load ptr addrspace(10), ptr addrspace(11) %20, align 8, !dbg !67\n %22 = load ptr addrspace(10), ptr addrspace(11) %19, align 8, !dbg !67\n %23 = call ptr addrspace(10) (ptr, ptr addrspace(10), ...) @julia.call(ptr @ijl_apply_generic, ptr addrspace(10) @ejl_enz_runtime_generic_fwd, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695121167120 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695908277584 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695908277584 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_enz_val_1, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695618737712 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695886842128 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) %22, ptr addrspace(10) %21, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695864039248 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing), !dbg !75\n %24 = addrspacecast ptr addrspace(10) %23 to ptr addrspace(11), !dbg !75\n %25 = getelementptr inbounds [2 x ptr addrspace(10)], ptr addrspace(11) %24, i64 0, i64 1, !dbg !75\n %26 = load ptr addrspace(10), ptr addrspace(11) %25, align 8, !dbg !75\n %27 = getelementptr inbounds [1 x ptr addrspace(10)], ptr %2, i64 0, i32 0\n %dstlocsi = getelementptr inbounds ptr addrspace(10), ptr %27, i64 0\n store ptr addrspace(10) %26, ptr %dstlocsi, align 8\n %28 = load [1 x ptr addrspace(10)], ptr %2, align 8\n ret [1 x ptr addrspace(10)] %28\n}\n\ndefine private void @julia_derivative_bundle_47584_inner.1([4 x [1 x [4 x double]]] \"enzyme_type\"=\"{[-1]:Float@double}\" \"enzymejl_parmtype\"=\"130695130472592\" \"enzymejl_parmtype_ref\"=\"0\" %0) local_unnamed_addr #6 !dbg !76 {\nentry:\n %newly_emitted_pgc_stack = call ptr @julia.get_pgcstack(), !dbg !77\n %.fca.0.0.0.extract = extractvalue [4 x [1 x [4 x double]]] %0, 0, 0, 0, !dbg !77, !enzyme_type !14, !enzymejl_source_type_Float64 !0, !enzymejl_byref_BITS_VALUE !0\n %.fca.0.0.1.extract = extractvalue [4 x [1 x [4 x double]]] %0, 0, 0, 1, !dbg !77, !enzyme_type !14, !enzymejl_source_type_Float64 !0, !enzymejl_byref_BITS_VALUE !0\n %.fca.0.0.2.extract = extractvalue [4 x [1 x [4 x double]]] %0, 0, 0, 2, !dbg !77, !enzyme_type !14, !enzymejl_source_type_Float64 !0, !enzymejl_byref_BITS_VALUE !0\n %.fca.0.0.3.extract = extractvalue [4 x [1 x [4 x double]]] %0, 0, 0, 3, !dbg !77, !enzyme_type !14, !enzymejl_source_type_Float64 !0, !enzymejl_byref_BITS_VALUE !0\n %.fca.1.0.0.extract = extractvalue [4 x [1 x [4 x double]]] %0, 1, 0, 0, !dbg !77, !enzyme_type !14, !enzymejl_source_type_Float64 !0, !enzymejl_byref_BITS_VALUE !0\n %.fca.1.0.1.extract = extractvalue [4 x [1 x [4 x double]]] %0, 1, 0, 1, !dbg !77, !enzyme_type !14, !enzymejl_source_type_Float64 !0, !enzymejl_byref_BITS_VALUE !0\n %.fca.1.0.2.extract = extractvalue [4 x [1 x [4 x double]]] %0, 1, 0, 2, !dbg !77, !enzyme_type !14, !enzymejl_source_type_Float64 !0, !enzymejl_byref_BITS_VALUE !0\n %.fca.1.0.3.extract = extractvalue [4 x [1 x [4 x double]]] %0, 1, 0, 3, !dbg !77, !enzyme_type !14, !enzymejl_source_type_Float64 !0, !enzymejl_byref_BITS_VALUE !0\n %.fca.2.0.0.extract = extractvalue [4 x [1 x [4 x double]]] %0, 2, 0, 0, !dbg !77, !enzyme_type !14, !enzymejl_source_type_Float64 !0, !enzymejl_byref_BITS_VALUE !0\n %.fca.2.0.1.extract = extractvalue [4 x [1 x [4 x double]]] %0, 2, 0, 1, !dbg !77, !enzyme_type !14, !enzymejl_source_type_Float64 !0, !enzymejl_byref_BITS_VALUE !0\n %.fca.2.0.2.extract = extractvalue [4 x [1 x [4 x double]]] %0, 2, 0, 2, !dbg !77, !enzyme_type !14, !enzymejl_source_type_Float64 !0, !enzymejl_byref_BITS_VALUE !0\n %.fca.2.0.3.extract = extractvalue [4 x [1 x [4 x double]]] %0, 2, 0, 3, !dbg !77, !enzyme_type !14, !enzymejl_source_type_Float64 !0, !enzymejl_byref_BITS_VALUE !0\n %.fca.3.0.0.extract = extractvalue [4 x [1 x [4 x double]]] %0, 3, 0, 0, !dbg !77, !enzyme_type !14, !enzymejl_source_type_Float64 !0, !enzymejl_byref_BITS_VALUE !0\n %.fca.3.0.1.extract = extractvalue [4 x [1 x [4 x double]]] %0, 3, 0, 1, !dbg !77, !enzyme_type !14, !enzymejl_source_type_Float64 !0, !enzymejl_byref_BITS_VALUE !0\n %.fca.3.0.2.extract = extractvalue [4 x [1 x [4 x double]]] %0, 3, 0, 2, !dbg !77, !enzyme_type !14, !enzymejl_source_type_Float64 !0, !enzymejl_byref_BITS_VALUE !0\n %.fca.3.0.3.extract = extractvalue [4 x [1 x [4 x double]]] %0, 3, 0, 3, !dbg !77, !enzyme_type !14, !enzymejl_source_type_Float64 !0, !enzymejl_byref_BITS_VALUE !0\n %pgcstack.i = call ptr @julia.get_pgcstack()\n %1 = call nonnull \"enzyme_type\"=\"{[-1]:Pointer}\" ptr addrspace(10) (ptr, ptr addrspace(10), ptr addrspace(10), ...) @julia.call2(ptr nonnull @ijl_invoke, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695899363856 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695860763760 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695618768768 to ptr) to ptr addrspace(10))) #11, !dbg !78\n %.not = icmp eq ptr addrspace(10) %1, addrspacecast (ptr inttoptr (i64 130695720003920 to ptr) to ptr addrspace(10)), !dbg !78\n %\"ejl_inserted\$_Core_Tuple_47591\$false\$130694969317456.ejl_inserted\$_Main__flux_47606\$false\$130695095857232\" = select i1 %.not, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695095857232 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130694969317456 to ptr) to ptr addrspace(10)), !dbg !78\n %jl_f_apply_type_ret.i = call nonnull \"enzyme_inactive\" \"enzyme_type\"=\"{[-1]:Pointer}\" ptr addrspace(10) (ptr, ptr addrspace(10), ...) @julia.call(ptr nonnull @jl_f_apply_type, ptr addrspace(10) null, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695930797600 to ptr) to ptr addrspace(10)), ptr addrspace(10) %\"ejl_inserted\$_Core_Tuple_47591\$false\$130694969317456.ejl_inserted\$_Main__flux_47606\$false\$130695095857232\", ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130694969317456 to ptr) to ptr addrspace(10))) #12, !dbg !86\n %2 = call nonnull \"enzyme_type\"=\"{[-1]:Pointer}\" ptr addrspace(10) (ptr, ptr addrspace(10), ptr addrspace(10), ...) @julia.call2(ptr nonnull @ijl_invoke, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695899363856 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695860763760 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695618768768 to ptr) to ptr addrspace(10))) #11, !dbg !87\n %current_task.i = getelementptr inbounds i8, ptr %pgcstack.i, i64 -152, !dbg !87\n %\"box::Duplicated.i\" = call noalias nonnull align 8 dereferenceable(192) \"enzyme_ReadOnlyOrThrow\" \"enzyme_type\"=\"{[-1]:Pointer, [-1,-1]:Float@double}\" ptr addrspace(10) @julia.gc_alloc_obj(ptr nonnull %current_task.i, i64 192, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130694968345232 to ptr) to ptr addrspace(10))) #13, !dbg !87, !enzymejl_gc_alloc_rt !40\n %3 = addrspacecast ptr addrspace(10) %\"box::Duplicated.i\" to ptr addrspace(11), !dbg !87\n store double %.fca.0.0.0.extract, ptr addrspace(11) %3, align 8, !dbg !87, !tbaa !41, !alias.scope !93, !noalias !94\n %\"new::Duplicated.i.sroa.5.0..sroa_idx\" = getelementptr inbounds nuw i8, ptr addrspace(11) %3, i64 8, !dbg !87\n store double %.fca.0.0.1.extract, ptr addrspace(11) %\"new::Duplicated.i.sroa.5.0..sroa_idx\", align 8, !dbg !87, !tbaa !41, !alias.scope !93, !noalias !94\n %\"new::Duplicated.i.sroa.6.0..sroa_idx\" = getelementptr inbounds nuw i8, ptr addrspace(11) %3, i64 16, !dbg !87\n store double %.fca.0.0.2.extract, ptr addrspace(11) %\"new::Duplicated.i.sroa.6.0..sroa_idx\", align 8, !dbg !87, !tbaa !41, !alias.scope !93, !noalias !94\n %\"new::Duplicated.i.sroa.7.0..sroa_idx\" = getelementptr inbounds nuw i8, ptr addrspace(11) %3, i64 24, !dbg !87\n store double %.fca.0.0.3.extract, ptr addrspace(11) %\"new::Duplicated.i.sroa.7.0..sroa_idx\", align 8, !dbg !87, !tbaa !41, !alias.scope !93, !noalias !94\n %\"new::Duplicated.i.sroa.8.0..sroa_idx\" = getelementptr inbounds nuw i8, ptr addrspace(11) %3, i64 32, !dbg !87\n store double %.fca.1.0.0.extract, ptr addrspace(11) %\"new::Duplicated.i.sroa.8.0..sroa_idx\", align 8, !dbg !87, !tbaa !41, !alias.scope !93, !noalias !94\n %\"new::Duplicated.i.sroa.9.0..sroa_idx\" = getelementptr inbounds nuw i8, ptr addrspace(11) %3, i64 40, !dbg !87\n store double %.fca.1.0.1.extract, ptr addrspace(11) %\"new::Duplicated.i.sroa.9.0..sroa_idx\", align 8, !dbg !87, !tbaa !41, !alias.scope !93, !noalias !94\n %\"new::Duplicated.i.sroa.10.0..sroa_idx\" = getelementptr inbounds nuw i8, ptr addrspace(11) %3, i64 48, !dbg !87\n store double %.fca.1.0.2.extract, ptr addrspace(11) %\"new::Duplicated.i.sroa.10.0..sroa_idx\", align 8, !dbg !87, !tbaa !41, !alias.scope !93, !noalias !94\n %\"new::Duplicated.i.sroa.11.0..sroa_idx\" = getelementptr inbounds nuw i8, ptr addrspace(11) %3, i64 56, !dbg !87\n store double %.fca.1.0.3.extract, ptr addrspace(11) %\"new::Duplicated.i.sroa.11.0..sroa_idx\", align 8, !dbg !87, !tbaa !41, !alias.scope !93, !noalias !94\n %\"new::Duplicated.i.sroa.12.0..sroa_idx\" = getelementptr inbounds nuw i8, ptr addrspace(11) %3, i64 64, !dbg !87\n store double %.fca.2.0.0.extract, ptr addrspace(11) %\"new::Duplicated.i.sroa.12.0..sroa_idx\", align 8, !dbg !87, !tbaa !41, !alias.scope !93, !noalias !94\n %\"new::Duplicated.i.sroa.13.0..sroa_idx\" = getelementptr inbounds nuw i8, ptr addrspace(11) %3, i64 72, !dbg !87\n store double %.fca.2.0.1.extract, ptr addrspace(11) %\"new::Duplicated.i.sroa.13.0..sroa_idx\", align 8, !dbg !87, !tbaa !41, !alias.scope !93, !noalias !94\n %\"new::Duplicated.i.sroa.14.0..sroa_idx\" = getelementptr inbounds nuw i8, ptr addrspace(11) %3, i64 80, !dbg !87\n store double %.fca.2.0.2.extract, ptr addrspace(11) %\"new::Duplicated.i.sroa.14.0..sroa_idx\", align 8, !dbg !87, !tbaa !41, !alias.scope !93, !noalias !94\n %\"new::Duplicated.i.sroa.15.0..sroa_idx\" = getelementptr inbounds nuw i8, ptr addrspace(11) %3, i64 88, !dbg !87\n store double %.fca.2.0.3.extract, ptr addrspace(11) %\"new::Duplicated.i.sroa.15.0..sroa_idx\", align 8, !dbg !87, !tbaa !41, !alias.scope !93, !noalias !94\n %\"new::Duplicated.i.sroa.16.0..sroa_idx\" = getelementptr inbounds nuw i8, ptr addrspace(11) %3, i64 96, !dbg !87\n store double %.fca.1.0.0.extract, ptr addrspace(11) %\"new::Duplicated.i.sroa.16.0..sroa_idx\", align 8, !dbg !87, !tbaa !41, !alias.scope !93, !noalias !94\n %\"new::Duplicated.i.sroa.17.0..sroa_idx\" = getelementptr inbounds nuw i8, ptr addrspace(11) %3, i64 104, !dbg !87\n store double %.fca.1.0.1.extract, ptr addrspace(11) %\"new::Duplicated.i.sroa.17.0..sroa_idx\", align 8, !dbg !87, !tbaa !41, !alias.scope !93, !noalias !94\n %\"new::Duplicated.i.sroa.18.0..sroa_idx\" = getelementptr inbounds nuw i8, ptr addrspace(11) %3, i64 112, !dbg !87\n store double %.fca.1.0.2.extract, ptr addrspace(11) %\"new::Duplicated.i.sroa.18.0..sroa_idx\", align 8, !dbg !87, !tbaa !41, !alias.scope !93, !noalias !94\n %\"new::Duplicated.i.sroa.19.0..sroa_idx\" = getelementptr inbounds nuw i8, ptr addrspace(11) %3, i64 120, !dbg !87\n store double %.fca.1.0.3.extract, ptr addrspace(11) %\"new::Duplicated.i.sroa.19.0..sroa_idx\", align 8, !dbg !87, !tbaa !41, !alias.scope !93, !noalias !94\n %\"new::Duplicated.i.sroa.20.0..sroa_idx\" = getelementptr inbounds nuw i8, ptr addrspace(11) %3, i64 128, !dbg !87\n store double %.fca.2.0.0.extract, ptr addrspace(11) %\"new::Duplicated.i.sroa.20.0..sroa_idx\", align 8, !dbg !87, !tbaa !41, !alias.scope !93, !noalias !94\n %\"new::Duplicated.i.sroa.21.0..sroa_idx\" = getelementptr inbounds nuw i8, ptr addrspace(11) %3, i64 136, !dbg !87\n store double %.fca.2.0.1.extract, ptr addrspace(11) %\"new::Duplicated.i.sroa.21.0..sroa_idx\", align 8, !dbg !87, !tbaa !41, !alias.scope !93, !noalias !94\n %\"new::Duplicated.i.sroa.22.0..sroa_idx\" = getelementptr inbounds nuw i8, ptr addrspace(11) %3, i64 144, !dbg !87\n store double %.fca.2.0.2.extract, ptr addrspace(11) %\"new::Duplicated.i.sroa.22.0..sroa_idx\", align 8, !dbg !87, !tbaa !41, !alias.scope !93, !noalias !94\n %\"new::Duplicated.i.sroa.23.0..sroa_idx\" = getelementptr inbounds nuw i8, ptr addrspace(11) %3, i64 152, !dbg !87\n store double %.fca.2.0.3.extract, ptr addrspace(11) %\"new::Duplicated.i.sroa.23.0..sroa_idx\", align 8, !dbg !87, !tbaa !41, !alias.scope !93, !noalias !94\n %\"new::Duplicated.i.sroa.24.0..sroa_idx\" = getelementptr inbounds nuw i8, ptr addrspace(11) %3, i64 160, !dbg !87\n store double %.fca.3.0.0.extract, ptr addrspace(11) %\"new::Duplicated.i.sroa.24.0..sroa_idx\", align 8, !dbg !87, !tbaa !41, !alias.scope !93, !noalias !94\n %\"new::Duplicated.i.sroa.25.0..sroa_idx\" = getelementptr inbounds nuw i8, ptr addrspace(11) %3, i64 168, !dbg !87\n store double %.fca.3.0.1.extract, ptr addrspace(11) %\"new::Duplicated.i.sroa.25.0..sroa_idx\", align 8, !dbg !87, !tbaa !41, !alias.scope !93, !noalias !94\n %\"new::Duplicated.i.sroa.26.0..sroa_idx\" = getelementptr inbounds nuw i8, ptr addrspace(11) %3, i64 176, !dbg !87\n store double %.fca.3.0.2.extract, ptr addrspace(11) %\"new::Duplicated.i.sroa.26.0..sroa_idx\", align 8, !dbg !87, !tbaa !41, !alias.scope !93, !noalias !94\n %\"new::Duplicated.i.sroa.27.0..sroa_idx\" = getelementptr inbounds nuw i8, ptr addrspace(11) %3, i64 184, !dbg !87\n store double %.fca.3.0.3.extract, ptr addrspace(11) %\"new::Duplicated.i.sroa.27.0..sroa_idx\", align 8, !dbg !87, !tbaa !41, !alias.scope !93, !noalias !94\n %4 = call nonnull \"enzyme_type\"=\"{[-1]:Pointer}\" ptr addrspace(10) (ptr, ptr addrspace(10), ptr addrspace(10), ...) @julia.call2(ptr nonnull @ijl_invoke, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695899363856 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695860763760 to ptr) to ptr addrspace(10)), ptr addrspace(10) nonnull %\"box::Duplicated.i\") #11, !dbg !87\n %jl_f_apply_type_ret10.i = call nonnull \"enzyme_inactive\" \"enzyme_type\"=\"{[-1]:Pointer}\" ptr addrspace(10) (ptr, ptr addrspace(10), ...) @julia.call(ptr nonnull @jl_f_apply_type, ptr addrspace(10) null, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695930797600 to ptr) to ptr addrspace(10)), ptr addrspace(10) nonnull %2, ptr addrspace(10) nonnull %4) #12, !dbg !97\n %5 = call nonnull \"enzyme_type\"=\"{[-1]:Pointer}\" ptr addrspace(10) (ptr, ptr addrspace(10), ptr addrspace(10), ...) @julia.call2(ptr nonnull @ijl_invoke, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695899363856 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695860763760 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695618768768 to ptr) to ptr addrspace(10))) #11, !dbg !98\n %.not62 = icmp eq ptr addrspace(10) %5, addrspacecast (ptr inttoptr (i64 130695720003920 to ptr) to ptr addrspace(10)), !dbg !98\n %value_phi15.i = select i1 %.not62, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695095857232 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130694969317456 to ptr) to ptr addrspace(10)), !dbg !98\n %jl_f_apply_type_ret18.i = call nonnull \"enzyme_inactive\" \"enzyme_type\"=\"{[-1]:Pointer}\" ptr addrspace(10) (ptr, ptr addrspace(10), ...) @julia.call(ptr nonnull @jl_f_apply_type, ptr addrspace(10) null, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695930797600 to ptr) to ptr addrspace(10)), ptr addrspace(10) %value_phi15.i, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130694969317456 to ptr) to ptr addrspace(10))) #12, !dbg !103\n %6 = call nonnull \"enzyme_type\"=\"{[-1]:Pointer}\" ptr addrspace(10) (ptr, ptr addrspace(10), ...) @julia.call(ptr nonnull @ijl_apply_generic, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695560688096 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695876761728 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695740856528 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695179751504 to ptr) to ptr addrspace(10)), ptr addrspace(10) nonnull %jl_f_apply_type_ret10.i, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695618718864 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695857041792 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695618743472 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695908277584 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695908277584 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 914660384 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695908276976 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695908277584 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695908277584 to ptr) to ptr addrspace(10))) #11, !dbg !104\n %\"box::Duplicated26.i\" = call noalias nonnull align 8 dereferenceable(192) \"enzyme_ReadOnlyOrThrow\" \"enzyme_type\"=\"{[-1]:Pointer, [-1,-1]:Float@double}\" ptr addrspace(10) @julia.gc_alloc_obj(ptr nonnull %current_task.i, i64 192, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130694968345232 to ptr) to ptr addrspace(10))) #13, !dbg !105, !enzymejl_gc_alloc_rt !40\n %7 = addrspacecast ptr addrspace(10) %\"box::Duplicated26.i\" to ptr addrspace(11), !dbg !105\n store double %.fca.0.0.0.extract, ptr addrspace(11) %7, align 8, !dbg !105, !tbaa !41, !alias.scope !93, !noalias !94\n %\"new::Duplicated.i.sroa.5.0..sroa_idx16\" = getelementptr inbounds nuw i8, ptr addrspace(11) %7, i64 8, !dbg !105\n store double %.fca.0.0.1.extract, ptr addrspace(11) %\"new::Duplicated.i.sroa.5.0..sroa_idx16\", align 8, !dbg !105, !tbaa !41, !alias.scope !93, !noalias !94\n %\"new::Duplicated.i.sroa.6.0..sroa_idx18\" = getelementptr inbounds nuw i8, ptr addrspace(11) %7, i64 16, !dbg !105\n store double %.fca.0.0.2.extract, ptr addrspace(11) %\"new::Duplicated.i.sroa.6.0..sroa_idx18\", align 8, !dbg !105, !tbaa !41, !alias.scope !93, !noalias !94\n %\"new::Duplicated.i.sroa.7.0..sroa_idx20\" = getelementptr inbounds nuw i8, ptr addrspace(11) %7, i64 24, !dbg !105\n store double %.fca.0.0.3.extract, ptr addrspace(11) %\"new::Duplicated.i.sroa.7.0..sroa_idx20\", align 8, !dbg !105, !tbaa !41, !alias.scope !93, !noalias !94\n %\"new::Duplicated.i.sroa.8.0..sroa_idx22\" = getelementptr inbounds nuw i8, ptr addrspace(11) %7, i64 32, !dbg !105\n store double %.fca.1.0.0.extract, ptr addrspace(11) %\"new::Duplicated.i.sroa.8.0..sroa_idx22\", align 8, !dbg !105, !tbaa !41, !alias.scope !93, !noalias !94\n %\"new::Duplicated.i.sroa.9.0..sroa_idx24\" = getelementptr inbounds nuw i8, ptr addrspace(11) %7, i64 40, !dbg !105\n store double %.fca.1.0.1.extract, ptr addrspace(11) %\"new::Duplicated.i.sroa.9.0..sroa_idx24\", align 8, !dbg !105, !tbaa !41, !alias.scope !93, !noalias !94\n %\"new::Duplicated.i.sroa.10.0..sroa_idx26\" = getelementptr inbounds nuw i8, ptr addrspace(11) %7, i64 48, !dbg !105\n store double %.fca.1.0.2.extract, ptr addrspace(11) %\"new::Duplicated.i.sroa.10.0..sroa_idx26\", align 8, !dbg !105, !tbaa !41, !alias.scope !93, !noalias !94\n %\"new::Duplicated.i.sroa.11.0..sroa_idx28\" = getelementptr inbounds nuw i8, ptr addrspace(11) %7, i64 56, !dbg !105\n store double %.fca.1.0.3.extract, ptr addrspace(11) %\"new::Duplicated.i.sroa.11.0..sroa_idx28\", align 8, !dbg !105, !tbaa !41, !alias.scope !93, !noalias !94\n %\"new::Duplicated.i.sroa.12.0..sroa_idx30\" = getelementptr inbounds nuw i8, ptr addrspace(11) %7, i64 64, !dbg !105\n store double %.fca.2.0.0.extract, ptr addrspace(11) %\"new::Duplicated.i.sroa.12.0..sroa_idx30\", align 8, !dbg !105, !tbaa !41, !alias.scope !93, !noalias !94\n %\"new::Duplicated.i.sroa.13.0..sroa_idx32\" = getelementptr inbounds nuw i8, ptr addrspace(11) %7, i64 72, !dbg !105\n store double %.fca.2.0.1.extract, ptr addrspace(11) %\"new::Duplicated.i.sroa.13.0..sroa_idx32\", align 8, !dbg !105, !tbaa !41, !alias.scope !93, !noalias !94\n %\"new::Duplicated.i.sroa.14.0..sroa_idx34\" = getelementptr inbounds nuw i8, ptr addrspace(11) %7, i64 80, !dbg !105\n store double %.fca.2.0.2.extract, ptr addrspace(11) %\"new::Duplicated.i.sroa.14.0..sroa_idx34\", align 8, !dbg !105, !tbaa !41, !alias.scope !93, !noalias !94\n %\"new::Duplicated.i.sroa.15.0..sroa_idx36\" = getelementptr inbounds nuw i8, ptr addrspace(11) %7, i64 88, !dbg !105\n store double %.fca.2.0.3.extract, ptr addrspace(11) %\"new::Duplicated.i.sroa.15.0..sroa_idx36\", align 8, !dbg !105, !tbaa !41, !alias.scope !93, !noalias !94\n %\"new::Duplicated.i.sroa.16.0..sroa_idx38\" = getelementptr inbounds nuw i8, ptr addrspace(11) %7, i64 96, !dbg !105\n store double %.fca.1.0.0.extract, ptr addrspace(11) %\"new::Duplicated.i.sroa.16.0..sroa_idx38\", align 8, !dbg !105, !tbaa !41, !alias.scope !93, !noalias !94\n %\"new::Duplicated.i.sroa.17.0..sroa_idx40\" = getelementptr inbounds nuw i8, ptr addrspace(11) %7, i64 104, !dbg !105\n store double %.fca.1.0.1.extract, ptr addrspace(11) %\"new::Duplicated.i.sroa.17.0..sroa_idx40\", align 8, !dbg !105, !tbaa !41, !alias.scope !93, !noalias !94\n %\"new::Duplicated.i.sroa.18.0..sroa_idx42\" = getelementptr inbounds nuw i8, ptr addrspace(11) %7, i64 112, !dbg !105\n store double %.fca.1.0.2.extract, ptr addrspace(11) %\"new::Duplicated.i.sroa.18.0..sroa_idx42\", align 8, !dbg !105, !tbaa !41, !alias.scope !93, !noalias !94\n %\"new::Duplicated.i.sroa.19.0..sroa_idx44\" = getelementptr inbounds nuw i8, ptr addrspace(11) %7, i64 120, !dbg !105\n store double %.fca.1.0.3.extract, ptr addrspace(11) %\"new::Duplicated.i.sroa.19.0..sroa_idx44\", align 8, !dbg !105, !tbaa !41, !alias.scope !93, !noalias !94\n %\"new::Duplicated.i.sroa.20.0..sroa_idx46\" = getelementptr inbounds nuw i8, ptr addrspace(11) %7, i64 128, !dbg !105\n store double %.fca.2.0.0.extract, ptr addrspace(11) %\"new::Duplicated.i.sroa.20.0..sroa_idx46\", align 8, !dbg !105, !tbaa !41, !alias.scope !93, !noalias !94\n %\"new::Duplicated.i.sroa.21.0..sroa_idx48\" = getelementptr inbounds nuw i8, ptr addrspace(11) %7, i64 136, !dbg !105\n store double %.fca.2.0.1.extract, ptr addrspace(11) %\"new::Duplicated.i.sroa.21.0..sroa_idx48\", align 8, !dbg !105, !tbaa !41, !alias.scope !93, !noalias !94\n %\"new::Duplicated.i.sroa.22.0..sroa_idx50\" = getelementptr inbounds nuw i8, ptr addrspace(11) %7, i64 144, !dbg !105\n store double %.fca.2.0.2.extract, ptr addrspace(11) %\"new::Duplicated.i.sroa.22.0..sroa_idx50\", align 8, !dbg !105, !tbaa !41, !alias.scope !93, !noalias !94\n %\"new::Duplicated.i.sroa.23.0..sroa_idx52\" = getelementptr inbounds nuw i8, ptr addrspace(11) %7, i64 152, !dbg !105\n store double %.fca.2.0.3.extract, ptr addrspace(11) %\"new::Duplicated.i.sroa.23.0..sroa_idx52\", align 8, !dbg !105, !tbaa !41, !alias.scope !93, !noalias !94\n %\"new::Duplicated.i.sroa.24.0..sroa_idx54\" = getelementptr inbounds nuw i8, ptr addrspace(11) %7, i64 160, !dbg !105\n store double %.fca.3.0.0.extract, ptr addrspace(11) %\"new::Duplicated.i.sroa.24.0..sroa_idx54\", align 8, !dbg !105, !tbaa !41, !alias.scope !93, !noalias !94\n %\"new::Duplicated.i.sroa.25.0..sroa_idx56\" = getelementptr inbounds nuw i8, ptr addrspace(11) %7, i64 168, !dbg !105\n store double %.fca.3.0.1.extract, ptr addrspace(11) %\"new::Duplicated.i.sroa.25.0..sroa_idx56\", align 8, !dbg !105, !tbaa !41, !alias.scope !93, !noalias !94\n %\"new::Duplicated.i.sroa.26.0..sroa_idx58\" = getelementptr inbounds nuw i8, ptr addrspace(11) %7, i64 176, !dbg !105\n store double %.fca.3.0.2.extract, ptr addrspace(11) %\"new::Duplicated.i.sroa.26.0..sroa_idx58\", align 8, !dbg !105, !tbaa !41, !alias.scope !93, !noalias !94\n %\"new::Duplicated.i.sroa.27.0..sroa_idx60\" = getelementptr inbounds nuw i8, ptr addrspace(11) %7, i64 184, !dbg !105\n store double %.fca.3.0.3.extract, ptr addrspace(11) %\"new::Duplicated.i.sroa.27.0..sroa_idx60\", align 8, !dbg !105, !tbaa !41, !alias.scope !93, !noalias !94\n %8 = call nonnull \"enzyme_type\"=\"{[-1]:Pointer}\" ptr addrspace(10) (ptr, ptr addrspace(10), ...) @julia.call(ptr nonnull @ijl_apply_generic, ptr addrspace(10) nonnull %6, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695618785288 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695618768768 to ptr) to ptr addrspace(10)), ptr addrspace(10) nonnull %\"box::Duplicated26.i\") #11, !dbg !105\n %9 = call nonnull \"enzyme_type\"=\"{[-1]:Pointer}\" ptr addrspace(10) (ptr, ptr addrspace(10), ...) @julia.call(ptr nonnull @ijl_apply_generic, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695886842128 to ptr) to ptr addrspace(10)), ptr addrspace(10) nonnull %8, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 130695864039248 to ptr) to ptr addrspace(10))) #11, !dbg !106\n ret void, !dbg !77\n}\n\nattributes #0 = { nofree nosync nounwind willreturn memory(none) \"enzyme_inactive\" \"enzyme_no_escaping_allocation\" \"enzyme_shouldrecompute\" \"enzymejl_world\"=\"40013\" }\nattributes #1 = { nofree \"enzymejl_world\"=\"40013\" }\nattributes #2 = { nofree \"enzyme_inactive\" \"enzyme_no_escaping_allocation\" \"enzymejl_world\"=\"40013\" }\nattributes #3 = { mustprogress nofree nounwind willreturn allockind(\"alloc,uninitialized\") allocsize(1) memory(inaccessiblemem: readwrite) \"enzyme_ReadOnlyOrThrow\" \"enzyme_no_escaping_allocation\" \"enzymejl_world\"=\"40013\" }\nattributes #4 = { nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }\nattributes #5 = { alwaysinline \"enzymejl_world\"=\"40013\" }\nattributes #6 = { \"enzyme_retremove\" \"enzyme_ta_norecur\" \"enzymejl_mi\"=\"130695121835920\" \"enzymejl_rt\"=\"130695930797376\" \"enzymejl_world\"=\"40013\" }\nattributes #7 = { mustprogress willreturn }\nattributes #8 = { mustprogress nofree willreturn }\nattributes #9 = { mustprogress nofree willreturn \"enzyme_inactive\" \"enzyme_no_escaping_allocation\" }\nattributes #10 = { mustprogress nounwind willreturn allockind(\"alloc,uninitialized\") allocsize(1) memory(inaccessiblemem: readwrite) \"enzyme_no_escaping_allocation\" }\nattributes #11 = { nofree }\nattributes #12 = { nofree \"enzyme_inactive\" \"enzyme_no_escaping_allocation\" }\nattributes #13 = { nounwind willreturn allockind(\"alloc,uninitialized\") allocsize(1) memory(inaccessiblemem: readwrite) \"enzyme_no_escaping_allocation\" }\n\n!llvm.module.flags = !{!1, !2, !3, !4}\n!llvm.dbg.cu = !{!5, !7}\n\n!0 = !{}\n!1 = !{i32 2, !\"Dwarf Version\", i32 4}\n!2 = !{i32 2, !\"Debug Info Version\", i32 3}\n!3 = !{i32 1, !\"stack-protector-guard\", !\"\"}\n!4 = !{i32 1, !\"override-stack-alignment\", i32 0}\n!5 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !6, producer: \"julia\", isOptimized: true, runtimeVersion: 0, emissionKind: LineTablesOnly, nameTableKind: None)\n!6 = !DIFile(filename: \"julia\", directory: \".\")\n!7 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !6, producer: \"julia\", isOptimized: true, runtimeVersion: 0, emissionKind: LineTablesOnly, nameTableKind: None)\n!8 = distinct !DISubprogram(name: \"fwddiffejulia_derivative_bundle_47584_inner_1wrap\", linkageName: \"fwddiffejulia_derivative_bundle_47584_inner_1wrap\", scope: null, file: !9, type: !10, spFlags: DISPFlagLocalToUnit | DISPFlagDefinition | DISPFlagOptimized, unit: !7)\n!9 = !DIFile(filename: \"/home/pkgeval/.julia/packages/TowerOfEnzyme/wUeMv/src/TowerOfEnzyme.jl\", directory: \".\")\n!10 = !DISubroutineType(types: !0)\n!11 = !DILocation(line: 0, scope: !12, inlinedAt: !13)\n!12 = distinct !DISubprogram(name: \"derivative_bundle\", linkageName: \"julia_derivative_bundle_47584\", scope: null, file: !9, line: 53, type: !10, scopeLine: 53, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !7)\n!13 = distinct !DILocation(line: 0, scope: !8)\n!14 = !{!\"Unknown\", i32 -1, !15}\n!15 = !{!\"Float@double\"}\n!16 = !DILocation(line: 181, scope: !17, inlinedAt: !19)\n!17 = distinct !DISubprogram(name: \"#vaEltypeof##0;\", linkageName: \"#vaEltypeof##0\", scope: !18, file: !18, type: !10, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !7)\n!18 = !DIFile(filename: \"/home/pkgeval/.julia/packages/Enzyme/2lHFw/src/Enzyme.jl\", directory: \".\")\n!19 = distinct !DILocation(line: 68, scope: !20, inlinedAt: !22)\n!20 = distinct !DISubprogram(name: \"macro expansion;\", linkageName: \"macro expansion\", scope: !21, file: !21, type: !10, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !7)\n!21 = !DIFile(filename: \"ntuple.jl\", directory: \".\")\n!22 = distinct !DILocation(line: 65, scope: !23, inlinedAt: !24)\n!23 = distinct !DISubprogram(name: \"ntuple;\", linkageName: \"ntuple\", scope: !21, file: !21, type: !10, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !7)\n!24 = distinct !DILocation(line: 178, scope: !25, inlinedAt: !26)\n!25 = distinct !DISubprogram(name: \"vaEltypeof;\", linkageName: \"vaEltypeof\", scope: !18, file: !18, type: !10, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !7)\n!26 = distinct !DILocation(line: 555, scope: !27, inlinedAt: !28)\n!27 = distinct !DISubprogram(name: \"autodiff;\", linkageName: \"autodiff\", scope: !18, file: !18, type: !10, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !7)\n!28 = distinct !DILocation(line: 534, scope: !27, inlinedAt: !29)\n!29 = distinct !DILocation(line: 59, scope: !12, inlinedAt: !30)\n!30 = distinct !DILocation(line: 0, scope: !12, inlinedAt: !13)\n!31 = !DILocation(line: 178, scope: !25, inlinedAt: !26)\n!32 = !DILocation(line: 172, scope: !33, inlinedAt: !34)\n!33 = distinct !DISubprogram(name: \"#vaTypeof##0;\", linkageName: \"#vaTypeof##0\", scope: !18, file: !18, type: !10, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !7)\n!34 = distinct !DILocation(line: 68, scope: !20, inlinedAt: !35)\n!35 = distinct !DILocation(line: 65, scope: !23, inlinedAt: !36)\n!36 = distinct !DILocation(line: 169, scope: !37, inlinedAt: !38)\n!37 = distinct !DISubprogram(name: \"vaTypeof;\", linkageName: \"vaTypeof\", scope: !18, file: !18, type: !10, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !7)\n!38 = distinct !DILocation(line: 617, scope: !27, inlinedAt: !39)\n!39 = distinct !DILocation(line: 562, scope: !27, inlinedAt: !28)\n!40 = !{!\"130694968345232\"}\n!41 = !{!42, !42, i64 0}\n!42 = !{!\"jtbaa\", !43, i64 0}\n!43 = !{!\"jtbaa\"}\n!44 = !{!45, !47, !49}\n!45 = distinct !{!45, !46, !\"shadow_0\"}\n!46 = distinct !{!46, !\" diff: %box::Duplicated.i\"}\n!47 = !{!\"jnoalias_stack\", !48}\n!48 = !{!\"jnoalias\"}\n!49 = !{!\"jnoalias_data\", !48}\n!50 = !{!51, !52, !54, !55, !56}\n!51 = distinct !{!51, !46, !\"primal\"}\n!52 = distinct !{!52, !53, !\"na_addr13\"}\n!53 = distinct !{!53, !\"addr13\"}\n!54 = !{!\"jnoalias_gcframe\", !48}\n!55 = !{!\"jnoalias_typemd\", !48}\n!56 = !{!\"jnoalias_const\", !48}\n!57 = !{!51, !47, !49}\n!58 = !{!45, !52, !54, !55, !56}\n!59 = !DILocation(line: 169, scope: !37, inlinedAt: !38)\n!60 = !DILocation(line: 181, scope: !17, inlinedAt: !61)\n!61 = distinct !DILocation(line: 68, scope: !20, inlinedAt: !62)\n!62 = distinct !DILocation(line: 65, scope: !23, inlinedAt: !63)\n!63 = distinct !DILocation(line: 178, scope: !25, inlinedAt: !64)\n!64 = distinct !DILocation(line: 650, scope: !27, inlinedAt: !39)\n!65 = !DILocation(line: 178, scope: !25, inlinedAt: !64)\n!66 = !DILocation(line: 658, scope: !27, inlinedAt: !39)\n!67 = !DILocation(line: 673, scope: !27, inlinedAt: !39)\n!68 = !{!69, !47, !49}\n!69 = distinct !{!69, !70, !\"shadow_0\"}\n!70 = distinct !{!70, !\" diff: %box::Duplicated26.i\"}\n!71 = !{!72, !52, !54, !55, !56}\n!72 = distinct !{!72, !70, !\"primal\"}\n!73 = !{!72, !47, !49}\n!74 = !{!69, !52, !54, !55, !56}\n!75 = !DILocation(line: 59, scope: !12, inlinedAt: !30)\n!76 = distinct !DISubprogram(name: \"derivative_bundle\", linkageName: \"julia_derivative_bundle_47584\", scope: null, file: !9, line: 53, type: !10, scopeLine: 53, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !7)\n!77 = !DILocation(line: 0, scope: !76)\n!78 = !DILocation(line: 181, scope: !17, inlinedAt: !79)\n!79 = distinct !DILocation(line: 68, scope: !20, inlinedAt: !80)\n!80 = distinct !DILocation(line: 65, scope: !23, inlinedAt: !81)\n!81 = distinct !DILocation(line: 178, scope: !25, inlinedAt: !82)\n!82 = distinct !DILocation(line: 555, scope: !27, inlinedAt: !83)\n!83 = distinct !DILocation(line: 534, scope: !27, inlinedAt: !84)\n!84 = distinct !DILocation(line: 59, scope: !76, inlinedAt: !85)\n!85 = distinct !DILocation(line: 0, scope: !76)\n!86 = !DILocation(line: 178, scope: !25, inlinedAt: !82)\n!87 = !DILocation(line: 172, scope: !33, inlinedAt: !88)\n!88 = distinct !DILocation(line: 68, scope: !20, inlinedAt: !89)\n!89 = distinct !DILocation(line: 65, scope: !23, inlinedAt: !90)\n!90 = distinct !DILocation(line: 169, scope: !37, inlinedAt: !91)\n!91 = distinct !DILocation(line: 617, scope: !27, inlinedAt: !92)\n!92 = distinct !DILocation(line: 562, scope: !27, inlinedAt: !83)\n!93 = !{!47, !49}\n!94 = !{!95, !54, !55, !56}\n!95 = distinct !{!95, !96, !\"na_addr13\"}\n!96 = distinct !{!96, !\"addr13\"}\n!97 = !DILocation(line: 169, scope: !37, inlinedAt: !91)\n!98 = !DILocation(line: 181, scope: !17, inlinedAt: !99)\n!99 = distinct !DILocation(line: 68, scope: !20, inlinedAt: !100)\n!100 = distinct !DILocation(line: 65, scope: !23, inlinedAt: !101)\n!101 = distinct !DILocation(line: 178, scope: !25, inlinedAt: !102)\n!102 = distinct !DILocation(line: 650, scope: !27, inlinedAt: !92)\n!103 = !DILocation(line: 178, scope: !25, inlinedAt: !102)\n!104 = !DILocation(line: 658, scope: !27, inlinedAt: !92)\n!105 = !DILocation(line: 673, scope: !27, inlinedAt: !92)\n!106 = !DILocation(line: 59, scope: !76, inlinedAt: !85)\n"), :fwddiffejulia_derivative_bundle_47584_inner_1wrap)}, EnzymeCore.Const{typeof(derivative_bundle)}, EnzymeCore.Duplicated{Any}, Tuple{EnzymeCore.Const{typeof(flux)}, EnzymeCore.Duplicated{NTuple{4, SVector{4, Float64}}}}, 1, false})(::EnzymeCore.Const{typeof(derivative_bundle)}, ::EnzymeCore.Const{typeof(flux)}, ::Vararg{Any}) @ Enzyme.Compiler ~/.julia/packages/Enzyme/2lHFw/src/compiler.jl:6045 [88] autodiff @ ~/.julia/packages/Enzyme/2lHFw/src/Enzyme.jl:673 [inlined] [89] autodiff @ ~/.julia/packages/Enzyme/2lHFw/src/Enzyme.jl:562 [inlined] [90] autodiff @ ~/.julia/packages/Enzyme/2lHFw/src/Enzyme.jl:534 [inlined] [91] derivative_bundle(f::typeof(flux), bundle::NTuple{5, SVector{4, Float64}}) @ TowerOfEnzyme ~/.julia/packages/TowerOfEnzyme/wUeMv/src/TowerOfEnzyme.jl:59 [92] top-level scope @ ~/.julia/packages/TowerOfEnzyme/wUeMv/test/runtests.jl:40 [93] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:2244 [inlined] [94] macro expansion @ ~/.julia/packages/TowerOfEnzyme/wUeMv/test/runtests.jl:52 [inlined] [95] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:779 [inlined] Test Summary: | Pass Error Total Time flux | 7 1 8 22.6s RNG of the outermost testset: Random.Xoshiro(0xb3e701bef317028c, 0x837778aa170fc134, 0xccd8acf0e7065079, 0x88fef9ca9ee56ff4, 0xfd81a0fc13abe831) ERROR: LoadError: Some tests did not pass: 7 passed, 0 failed, 1 errored, 0 broken. in expression starting at /home/pkgeval/.julia/packages/TowerOfEnzyme/wUeMv/test/runtests.jl:39 Testing failed after 844.92s ERROR: LoadError: Package TowerOfEnzyme 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:3122 [3] test @ /opt/julia/share/julia/stdlib/v1.14/Pkg/src/Operations.jl:2987 [inlined] [4] 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:572 [5] kwcall(::@NamedTuple{julia_args::Cmd, io::IOContext{IO}}, ::typeof(Pkg.API.test), ctx::Pkg.Types.Context, pkgs::Vector{PackageSpec}) @ Pkg.API /opt/julia/share/julia/stdlib/v1.14/Pkg/src/API.jl:548 [6] 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 [7] kwcall(::@NamedTuple{julia_args::Cmd}, ::typeof(Pkg.API.test), pkgs::Vector{PackageSpec}) @ Pkg.API /opt/julia/share/julia/stdlib/v1.14/Pkg/src/API.jl:161 [8] test(pkgs::Vector{String}; kwargs::@Kwargs{julia_args::Cmd}) @ Pkg.API /opt/julia/share/julia/stdlib/v1.14/Pkg/src/API.jl:160 [9] test @ /opt/julia/share/julia/stdlib/v1.14/Pkg/src/API.jl:160 [inlined] [10] kwcall(::@NamedTuple{julia_args::Cmd}, ::typeof(Pkg.API.test), pkg::String) @ Pkg.API /opt/julia/share/julia/stdlib/v1.14/Pkg/src/API.jl:159 [11] top-level scope @ /PkgEval.jl/scripts/evaluate.jl:237 [12] include(mod::Module, _path::String) @ Base ./Base.jl:309 [13] exec_options(opts::Base.JLOptions) @ Base ./client.jl:344 [14] _start() @ Base ./client.jl:585 in expression starting at /PkgEval.jl/scripts/evaluate.jl:228 PkgEval failed after 1408.28s: package tests unexpectedly errored