Package evaluation to test TowerOfEnzyme on Julia 1.14.0-DEV.1589 (2d9a3f8a61*) started at 2026-01-21T07:18:05.337 ################################################################################ # Set-up # Installing PkgEval dependencies (TestEnv)... Activating project at `~/.julia/environments/v1.14` Set-up completed after 10.15s ################################################################################ # 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.29+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.18s ################################################################################ # Precompilation # Precompiling PkgEval dependencies... Precompiling package dependencies... Precompiling packages... 1372.5 ms ✓ Accessors → StructArraysExt 11055.5 ms ✓ SymbolicUtils → SymbolicUtilsChainRulesCoreExt ┌ 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 28074.0 ms ✓ TowerOfEnzyme 63474.4 ms ✓ TaylorDiff 38728.3 ms ✓ TaylorDiff → TaylorDiffSFExt 5 dependencies successfully precompiled in 145 seconds. 160 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 166.06s ################################################################################ # Testing # Testing TowerOfEnzyme Status `/tmp/jl_jjSgke/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_jjSgke/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.5 [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.11.0 [0c5d862f] Symbolics v7.7.1 [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.29+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... Test Summary: | Pass Total Time sin | 4 4 3m56.3s 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_49039_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_48052_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_47047_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_47448_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_47966_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_46883_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_47427_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_47944_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_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_46883_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 127532792206704 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532753205312 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127531935001752 to ptr) to ptr addrspace(10))) #8, !dbg !17\n %.not.i = icmp eq ptr addrspace(10) %3, addrspacecast (ptr inttoptr (i64 127532076421584 to ptr) to ptr addrspace(10)), !dbg !17\n %\"ejl_inserted\$_Core_Tuple_46890\$false\$127532189952784.ejl_inserted\$_Main__flux_46898\$false\$127532621198800.i\" = select i1 %.not.i, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532621198800 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532189952784 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 127532821425280 to ptr) to ptr addrspace(10)), ptr addrspace(10) %\"ejl_inserted\$_Core_Tuple_46890\$false\$127532189952784.ejl_inserted\$_Main__flux_46898\$false\$127532621198800.i\", ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532189952784 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 127532653060304 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 127532074921744 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532067872016 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 127532646622672 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 127532646622672 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 127531761856720 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532799746416 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532799746416 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532748250240 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127531934970328 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532607851744 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127531934931272 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127531935018232 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 127531935001752 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 127532149465552 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532799746416 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532799746416 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532748250240 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127531934970328 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532786830144 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 127532752284336 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_46883_inner.1([2 x [1 x [4 x double]]] \"enzyme_type\"=\"{[-1]:Float@double}\" \"enzymejl_parmtype\"=\"127532174806288\" \"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 127532792206704 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532753205312 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127531935001752 to ptr) to ptr addrspace(10))) #11, !dbg !58\n %.not = icmp eq ptr addrspace(10) %1, addrspacecast (ptr inttoptr (i64 127532076421584 to ptr) to ptr addrspace(10)), !dbg !58\n %\"ejl_inserted\$_Core_Tuple_46890\$false\$127532189952784.ejl_inserted\$_Main__flux_46898\$false\$127532621198800\" = select i1 %.not, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532621198800 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532189952784 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 127532821425280 to ptr) to ptr addrspace(10)), ptr addrspace(10) %\"ejl_inserted\$_Core_Tuple_46890\$false\$127532189952784.ejl_inserted\$_Main__flux_46898\$false\$127532621198800\", ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532189952784 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 127532653060304 to ptr) to ptr addrspace(10)), !dbg !67\n %value_phi4.i = select i1 %.not1.not, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532074921744 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532067872016 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 127532646622672 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 127532607851744 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127531934931272 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127531935018232 to ptr) to ptr addrspace(10)), ptr addrspace(10) %value_phi4.i, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127531935001752 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 127532786830144 to ptr) to ptr addrspace(10)), ptr addrspace(10) nonnull %3, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532752284336 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\"=\"39996\" }\nattributes #1 = { nofree \"enzymejl_world\"=\"39996\" }\nattributes #2 = { nofree \"enzyme_inactive\" \"enzyme_no_escaping_allocation\" \"enzymejl_world\"=\"39996\" }\nattributes #3 = { mustprogress nofree nounwind willreturn allockind(\"alloc,uninitialized\") allocsize(1) memory(inaccessiblemem: readwrite) \"enzyme_ReadOnlyOrThrow\" \"enzyme_no_escaping_allocation\" \"enzymejl_world\"=\"39996\" }\nattributes #4 = { nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }\nattributes #5 = { alwaysinline \"enzymejl_world\"=\"39996\" }\nattributes #6 = { \"enzyme_retremove\" \"enzyme_ta_norecur\" \"enzymejl_mi\"=\"127532204011664\" \"enzymejl_rt\"=\"127532821425056\" \"enzymejl_world\"=\"39996\" }\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_46883_inner_1wrap\", linkageName: \"fwddiffejulia_derivative_bundle_46883_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_46883\", 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 = !{!\"127532646622672\"}\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_46883\", 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_46883_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_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_46883_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 127532792206704 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532753205312 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127531935001752 to ptr) to ptr addrspace(10))) #8, !dbg !17\n %.not.i = icmp eq ptr addrspace(10) %3, addrspacecast (ptr inttoptr (i64 127532076421584 to ptr) to ptr addrspace(10)), !dbg !17\n %\"ejl_inserted\$_Core_Tuple_46890\$false\$127532189952784.ejl_inserted\$_Main__flux_46898\$false\$127532621198800.i\" = select i1 %.not.i, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532621198800 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532189952784 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 127532821425280 to ptr) to ptr addrspace(10)), ptr addrspace(10) %\"ejl_inserted\$_Core_Tuple_46890\$false\$127532189952784.ejl_inserted\$_Main__flux_46898\$false\$127532621198800.i\", ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532189952784 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 127532653060304 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 127532074921744 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532067872016 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 127532646622672 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 127532646622672 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 127531761856720 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532799746416 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532799746416 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532748250240 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127531934970328 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532607851744 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127531934931272 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127531935018232 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 127531935001752 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 127532149465552 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532799746416 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532799746416 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532748250240 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127531934970328 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532786830144 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 127532752284336 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_46883_inner.1([2 x [1 x [4 x double]]] \"enzyme_type\"=\"{[-1]:Float@double}\" \"enzymejl_parmtype\"=\"127532174806288\" \"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 127532792206704 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532753205312 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127531935001752 to ptr) to ptr addrspace(10))) #11, !dbg !58\n %.not = icmp eq ptr addrspace(10) %1, addrspacecast (ptr inttoptr (i64 127532076421584 to ptr) to ptr addrspace(10)), !dbg !58\n %\"ejl_inserted\$_Core_Tuple_46890\$false\$127532189952784.ejl_inserted\$_Main__flux_46898\$false\$127532621198800\" = select i1 %.not, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532621198800 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532189952784 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 127532821425280 to ptr) to ptr addrspace(10)), ptr addrspace(10) %\"ejl_inserted\$_Core_Tuple_46890\$false\$127532189952784.ejl_inserted\$_Main__flux_46898\$false\$127532621198800\", ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532189952784 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 127532653060304 to ptr) to ptr addrspace(10)), !dbg !67\n %value_phi4.i = select i1 %.not1.not, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532074921744 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532067872016 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 127532646622672 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 127532607851744 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127531934931272 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127531935018232 to ptr) to ptr addrspace(10)), ptr addrspace(10) %value_phi4.i, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127531935001752 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 127532786830144 to ptr) to ptr addrspace(10)), ptr addrspace(10) nonnull %3, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532752284336 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\"=\"39996\" }\nattributes #1 = { nofree \"enzymejl_world\"=\"39996\" }\nattributes #2 = { nofree \"enzyme_inactive\" \"enzyme_no_escaping_allocation\" \"enzymejl_world\"=\"39996\" }\nattributes #3 = { mustprogress nofree nounwind willreturn allockind(\"alloc,uninitialized\") allocsize(1) memory(inaccessiblemem: readwrite) \"enzyme_ReadOnlyOrThrow\" \"enzyme_no_escaping_allocation\" \"enzymejl_world\"=\"39996\" }\nattributes #4 = { nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }\nattributes #5 = { alwaysinline \"enzymejl_world\"=\"39996\" }\nattributes #6 = { \"enzyme_retremove\" \"enzyme_ta_norecur\" \"enzymejl_mi\"=\"127532204011664\" \"enzymejl_rt\"=\"127532821425056\" \"enzymejl_world\"=\"39996\" }\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_46883_inner_1wrap\", linkageName: \"fwddiffejulia_derivative_bundle_46883_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_46883\", 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 = !{!\"127532646622672\"}\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_46883\", 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_46883_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_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_46883_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 127532792206704 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532753205312 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127531935001752 to ptr) to ptr addrspace(10))) #8, !dbg !17\n %.not.i = icmp eq ptr addrspace(10) %3, addrspacecast (ptr inttoptr (i64 127532076421584 to ptr) to ptr addrspace(10)), !dbg !17\n %\"ejl_inserted\$_Core_Tuple_46890\$false\$127532189952784.ejl_inserted\$_Main__flux_46898\$false\$127532621198800.i\" = select i1 %.not.i, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532621198800 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532189952784 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 127532821425280 to ptr) to ptr addrspace(10)), ptr addrspace(10) %\"ejl_inserted\$_Core_Tuple_46890\$false\$127532189952784.ejl_inserted\$_Main__flux_46898\$false\$127532621198800.i\", ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532189952784 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 127532653060304 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 127532074921744 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532067872016 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 127532646622672 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 127532646622672 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 127531761856720 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532799746416 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532799746416 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532748250240 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127531934970328 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532607851744 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127531934931272 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127531935018232 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 127531935001752 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 127532149465552 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532799746416 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532799746416 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532748250240 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127531934970328 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532786830144 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 127532752284336 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_46883_inner.1([2 x [1 x [4 x double]]] \"enzyme_type\"=\"{[-1]:Float@double}\" \"enzymejl_parmtype\"=\"127532174806288\" \"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 127532792206704 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532753205312 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127531935001752 to ptr) to ptr addrspace(10))) #11, !dbg !58\n %.not = icmp eq ptr addrspace(10) %1, addrspacecast (ptr inttoptr (i64 127532076421584 to ptr) to ptr addrspace(10)), !dbg !58\n %\"ejl_inserted\$_Core_Tuple_46890\$false\$127532189952784.ejl_inserted\$_Main__flux_46898\$false\$127532621198800\" = select i1 %.not, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532621198800 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532189952784 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 127532821425280 to ptr) to ptr addrspace(10)), ptr addrspace(10) %\"ejl_inserted\$_Core_Tuple_46890\$false\$127532189952784.ejl_inserted\$_Main__flux_46898\$false\$127532621198800\", ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532189952784 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 127532653060304 to ptr) to ptr addrspace(10)), !dbg !67\n %value_phi4.i = select i1 %.not1.not, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532074921744 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532067872016 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 127532646622672 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 127532607851744 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127531934931272 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127531935018232 to ptr) to ptr addrspace(10)), ptr addrspace(10) %value_phi4.i, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127531935001752 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 127532786830144 to ptr) to ptr addrspace(10)), ptr addrspace(10) nonnull %3, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532752284336 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\"=\"39996\" }\nattributes #1 = { nofree \"enzymejl_world\"=\"39996\" }\nattributes #2 = { nofree \"enzyme_inactive\" \"enzyme_no_escaping_allocation\" \"enzymejl_world\"=\"39996\" }\nattributes #3 = { mustprogress nofree nounwind willreturn allockind(\"alloc,uninitialized\") allocsize(1) memory(inaccessiblemem: readwrite) \"enzyme_ReadOnlyOrThrow\" \"enzyme_no_escaping_allocation\" \"enzymejl_world\"=\"39996\" }\nattributes #4 = { nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }\nattributes #5 = { alwaysinline \"enzymejl_world\"=\"39996\" }\nattributes #6 = { \"enzyme_retremove\" \"enzyme_ta_norecur\" \"enzymejl_mi\"=\"127532204011664\" \"enzymejl_rt\"=\"127532821425056\" \"enzymejl_world\"=\"39996\" }\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_46883_inner_1wrap\", linkageName: \"fwddiffejulia_derivative_bundle_46883_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_46883\", 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 = !{!\"127532646622672\"}\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_46883\", 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_46883_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_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_46883_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 127532792206704 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532753205312 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127531935001752 to ptr) to ptr addrspace(10))) #8, !dbg !17\n %.not.i = icmp eq ptr addrspace(10) %3, addrspacecast (ptr inttoptr (i64 127532076421584 to ptr) to ptr addrspace(10)), !dbg !17\n %\"ejl_inserted\$_Core_Tuple_46890\$false\$127532189952784.ejl_inserted\$_Main__flux_46898\$false\$127532621198800.i\" = select i1 %.not.i, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532621198800 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532189952784 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 127532821425280 to ptr) to ptr addrspace(10)), ptr addrspace(10) %\"ejl_inserted\$_Core_Tuple_46890\$false\$127532189952784.ejl_inserted\$_Main__flux_46898\$false\$127532621198800.i\", ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532189952784 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 127532653060304 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 127532074921744 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532067872016 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 127532646622672 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 127532646622672 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 127531761856720 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532799746416 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532799746416 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532748250240 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127531934970328 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532607851744 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127531934931272 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127531935018232 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 127531935001752 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 127532149465552 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532799746416 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532799746416 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532748250240 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127531934970328 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532786830144 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 127532752284336 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_46883_inner.1([2 x [1 x [4 x double]]] \"enzyme_type\"=\"{[-1]:Float@double}\" \"enzymejl_parmtype\"=\"127532174806288\" \"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 127532792206704 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532753205312 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127531935001752 to ptr) to ptr addrspace(10))) #11, !dbg !58\n %.not = icmp eq ptr addrspace(10) %1, addrspacecast (ptr inttoptr (i64 127532076421584 to ptr) to ptr addrspace(10)), !dbg !58\n %\"ejl_inserted\$_Core_Tuple_46890\$false\$127532189952784.ejl_inserted\$_Main__flux_46898\$false\$127532621198800\" = select i1 %.not, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532621198800 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532189952784 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 127532821425280 to ptr) to ptr addrspace(10)), ptr addrspace(10) %\"ejl_inserted\$_Core_Tuple_46890\$false\$127532189952784.ejl_inserted\$_Main__flux_46898\$false\$127532621198800\", ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532189952784 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 127532653060304 to ptr) to ptr addrspace(10)), !dbg !67\n %value_phi4.i = select i1 %.not1.not, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532074921744 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532067872016 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 127532646622672 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 127532607851744 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127531934931272 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127531935018232 to ptr) to ptr addrspace(10)), ptr addrspace(10) %value_phi4.i, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127531935001752 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 127532786830144 to ptr) to ptr addrspace(10)), ptr addrspace(10) nonnull %3, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532752284336 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\"=\"39996\" }\nattributes #1 = { nofree \"enzymejl_world\"=\"39996\" }\nattributes #2 = { nofree \"enzyme_inactive\" \"enzyme_no_escaping_allocation\" \"enzymejl_world\"=\"39996\" }\nattributes #3 = { mustprogress nofree nounwind willreturn allockind(\"alloc,uninitialized\") allocsize(1) memory(inaccessiblemem: readwrite) \"enzyme_ReadOnlyOrThrow\" \"enzyme_no_escaping_allocation\" \"enzymejl_world\"=\"39996\" }\nattributes #4 = { nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }\nattributes #5 = { alwaysinline \"enzymejl_world\"=\"39996\" }\nattributes #6 = { \"enzyme_retremove\" \"enzyme_ta_norecur\" \"enzymejl_mi\"=\"127532204011664\" \"enzymejl_rt\"=\"127532821425056\" \"enzymejl_world\"=\"39996\" }\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_46883_inner_1wrap\", linkageName: \"fwddiffejulia_derivative_bundle_46883_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_46883\", 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 = !{!\"127532646622672\"}\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_46883\", 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_46883_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_47327_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_47802_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_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_47327_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 127532792206704 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532753205312 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127531935001752 to ptr) to ptr addrspace(10))) #8, !dbg !16\n %.not.i = icmp eq ptr addrspace(10) %3, addrspacecast (ptr inttoptr (i64 127532076421584 to ptr) to ptr addrspace(10)), !dbg !16\n %\"ejl_inserted\$_Core_Tuple_47334\$false\$127532174806288.ejl_inserted\$_Main__flux_47349\$false\$127532621198800.i\" = select i1 %.not.i, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532621198800 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532174806288 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 127532821425280 to ptr) to ptr addrspace(10)), ptr addrspace(10) %\"ejl_inserted\$_Core_Tuple_47334\$false\$127532174806288.ejl_inserted\$_Main__flux_47349\$false\$127532621198800.i\", ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532174806288 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 127532792206704 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532753205312 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127531935001752 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 127532142178768 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 127532142178768 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 127532011148368 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532799746416 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532799746416 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532748250240 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127531934970328 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532753205312 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 127532821425280 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 127532792206704 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532753205312 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127531935001752 to ptr) to ptr addrspace(10))) #8, !dbg !60\n %.not39.i = icmp eq ptr addrspace(10) %10, addrspacecast (ptr inttoptr (i64 127532076421584 to ptr) to ptr addrspace(10)), !dbg !60\n %value_phi14.i.i = select i1 %.not39.i, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532621198800 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532174806288 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 127532821425280 to ptr) to ptr addrspace(10)), ptr addrspace(10) %value_phi14.i.i, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532174806288 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 127532152967952 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532799746416 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532799746416 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532748250240 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127531934970328 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532399392224 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532764391072 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532198464912 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532077630352 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 127531934950560 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532748250240 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127531934976144 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532799746416 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532799746416 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532607951504 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532799745808 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532799746416 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532799746416 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 127532142178768 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 127532142178768 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 127531816536208 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532799746416 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532799746416 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532748250240 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127531934970328 to ptr) to ptr addrspace(10)), ptr addrspace(10) %15, ptr addrspace(10) %14, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127531935018232 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127531935001752 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 127532149465552 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532799746416 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532799746416 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532748250240 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127531934970328 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532786830144 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 127532752284336 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_47327_inner.1([3 x [1 x [4 x double]]] \"enzyme_type\"=\"{[-1]:Float@double}\" \"enzymejl_parmtype\"=\"127532130728272\" \"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 127532792206704 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532753205312 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127531935001752 to ptr) to ptr addrspace(10))) #11, !dbg !78\n %.not = icmp eq ptr addrspace(10) %1, addrspacecast (ptr inttoptr (i64 127532076421584 to ptr) to ptr addrspace(10)), !dbg !78\n %\"ejl_inserted\$_Core_Tuple_47334\$false\$127532174806288.ejl_inserted\$_Main__flux_47349\$false\$127532621198800\" = select i1 %.not, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532621198800 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532174806288 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 127532821425280 to ptr) to ptr addrspace(10)), ptr addrspace(10) %\"ejl_inserted\$_Core_Tuple_47334\$false\$127532174806288.ejl_inserted\$_Main__flux_47349\$false\$127532621198800\", ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532174806288 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 127532792206704 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532753205312 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127531935001752 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 127532142178768 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 127532792206704 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532753205312 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 127532821425280 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 127532792206704 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532753205312 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127531935001752 to ptr) to ptr addrspace(10))) #11, !dbg !98\n %.not39 = icmp eq ptr addrspace(10) %5, addrspacecast (ptr inttoptr (i64 127532076421584 to ptr) to ptr addrspace(10)), !dbg !98\n %value_phi14.i = select i1 %.not39, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532621198800 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532174806288 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 127532821425280 to ptr) to ptr addrspace(10)), ptr addrspace(10) %value_phi14.i, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532174806288 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 127532399392224 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532764391072 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532198464912 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532077630352 to ptr) to ptr addrspace(10)), ptr addrspace(10) nonnull %jl_f_apply_type_ret9.i, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127531934950560 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532748250240 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127531934976144 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532799746416 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532799746416 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532607951504 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532799745808 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532799746416 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532799746416 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 127532142178768 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 127531935018232 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127531935001752 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 127532786830144 to ptr) to ptr addrspace(10)), ptr addrspace(10) nonnull %8, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532752284336 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\"=\"39996\" }\nattributes #1 = { nofree \"enzymejl_world\"=\"39996\" }\nattributes #2 = { nofree \"enzyme_inactive\" \"enzyme_no_escaping_allocation\" \"enzymejl_world\"=\"39996\" }\nattributes #3 = { mustprogress nofree nounwind willreturn allockind(\"alloc,uninitialized\") allocsize(1) memory(inaccessiblemem: readwrite) \"enzyme_ReadOnlyOrThrow\" \"enzyme_no_escaping_allocation\" \"enzymejl_world\"=\"39996\" }\nattributes #4 = { nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }\nattributes #5 = { alwaysinline \"enzymejl_world\"=\"39996\" }\nattributes #6 = { \"enzyme_retremove\" \"enzyme_ta_norecur\" \"enzymejl_mi\"=\"127532657559824\" \"enzymejl_rt\"=\"127532821425056\" \"enzymejl_world\"=\"39996\" }\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_47327_inner_1wrap\", linkageName: \"fwddiffejulia_derivative_bundle_47327_inner_1wrap\", scope: null, file: !9, type: !10, spFlags: DISPFlagLocalToUnit | DISPFlagDefinition | DISPFlagOptimized, unit: !5)\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_47327\", scope: null, file: !9, line: 53, type: !10, scopeLine: 53, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !5)\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: !5)\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: !5)\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: !5)\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: !5)\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: !5)\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: !5)\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: !5)\n!38 = distinct !DILocation(line: 617, scope: !27, inlinedAt: !39)\n!39 = distinct !DILocation(line: 562, scope: !27, inlinedAt: !28)\n!40 = !{!\"127532142178768\"}\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_47327\", scope: null, file: !9, line: 53, type: !10, scopeLine: 53, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !5)\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_47327_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_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_47327_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 127532792206704 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532753205312 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127531935001752 to ptr) to ptr addrspace(10))) #8, !dbg !16\n %.not.i = icmp eq ptr addrspace(10) %3, addrspacecast (ptr inttoptr (i64 127532076421584 to ptr) to ptr addrspace(10)), !dbg !16\n %\"ejl_inserted\$_Core_Tuple_47334\$false\$127532174806288.ejl_inserted\$_Main__flux_47349\$false\$127532621198800.i\" = select i1 %.not.i, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532621198800 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532174806288 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 127532821425280 to ptr) to ptr addrspace(10)), ptr addrspace(10) %\"ejl_inserted\$_Core_Tuple_47334\$false\$127532174806288.ejl_inserted\$_Main__flux_47349\$false\$127532621198800.i\", ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532174806288 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 127532792206704 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532753205312 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127531935001752 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 127532142178768 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 127532142178768 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 127532011148368 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532799746416 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532799746416 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532748250240 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127531934970328 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532753205312 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 127532821425280 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 127532792206704 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532753205312 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127531935001752 to ptr) to ptr addrspace(10))) #8, !dbg !60\n %.not39.i = icmp eq ptr addrspace(10) %10, addrspacecast (ptr inttoptr (i64 127532076421584 to ptr) to ptr addrspace(10)), !dbg !60\n %value_phi14.i.i = select i1 %.not39.i, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532621198800 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532174806288 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 127532821425280 to ptr) to ptr addrspace(10)), ptr addrspace(10) %value_phi14.i.i, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532174806288 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 127532152967952 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532799746416 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532799746416 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532748250240 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127531934970328 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532399392224 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532764391072 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532198464912 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532077630352 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 127531934950560 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532748250240 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127531934976144 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532799746416 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532799746416 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532607951504 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532799745808 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532799746416 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532799746416 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 127532142178768 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 127532142178768 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 127531816536208 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532799746416 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532799746416 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532748250240 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127531934970328 to ptr) to ptr addrspace(10)), ptr addrspace(10) %15, ptr addrspace(10) %14, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127531935018232 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127531935001752 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 127532149465552 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532799746416 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532799746416 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532748250240 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127531934970328 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532786830144 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 127532752284336 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_47327_inner.1([3 x [1 x [4 x double]]] \"enzyme_type\"=\"{[-1]:Float@double}\" \"enzymejl_parmtype\"=\"127532130728272\" \"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 127532792206704 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532753205312 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127531935001752 to ptr) to ptr addrspace(10))) #11, !dbg !78\n %.not = icmp eq ptr addrspace(10) %1, addrspacecast (ptr inttoptr (i64 127532076421584 to ptr) to ptr addrspace(10)), !dbg !78\n %\"ejl_inserted\$_Core_Tuple_47334\$false\$127532174806288.ejl_inserted\$_Main__flux_47349\$false\$127532621198800\" = select i1 %.not, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532621198800 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532174806288 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 127532821425280 to ptr) to ptr addrspace(10)), ptr addrspace(10) %\"ejl_inserted\$_Core_Tuple_47334\$false\$127532174806288.ejl_inserted\$_Main__flux_47349\$false\$127532621198800\", ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532174806288 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 127532792206704 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532753205312 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127531935001752 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 127532142178768 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 127532792206704 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532753205312 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 127532821425280 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 127532792206704 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532753205312 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127531935001752 to ptr) to ptr addrspace(10))) #11, !dbg !98\n %.not39 = icmp eq ptr addrspace(10) %5, addrspacecast (ptr inttoptr (i64 127532076421584 to ptr) to ptr addrspace(10)), !dbg !98\n %value_phi14.i = select i1 %.not39, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532621198800 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532174806288 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 127532821425280 to ptr) to ptr addrspace(10)), ptr addrspace(10) %value_phi14.i, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532174806288 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 127532399392224 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532764391072 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532198464912 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532077630352 to ptr) to ptr addrspace(10)), ptr addrspace(10) nonnull %jl_f_apply_type_ret9.i, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127531934950560 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532748250240 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127531934976144 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532799746416 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532799746416 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532607951504 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532799745808 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532799746416 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532799746416 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 127532142178768 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 127531935018232 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127531935001752 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 127532786830144 to ptr) to ptr addrspace(10)), ptr addrspace(10) nonnull %8, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532752284336 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\"=\"39996\" }\nattributes #1 = { nofree \"enzymejl_world\"=\"39996\" }\nattributes #2 = { nofree \"enzyme_inactive\" \"enzyme_no_escaping_allocation\" \"enzymejl_world\"=\"39996\" }\nattributes #3 = { mustprogress nofree nounwind willreturn allockind(\"alloc,uninitialized\") allocsize(1) memory(inaccessiblemem: readwrite) \"enzyme_ReadOnlyOrThrow\" \"enzyme_no_escaping_allocation\" \"enzymejl_world\"=\"39996\" }\nattributes #4 = { nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }\nattributes #5 = { alwaysinline \"enzymejl_world\"=\"39996\" }\nattributes #6 = { \"enzyme_retremove\" \"enzyme_ta_norecur\" \"enzymejl_mi\"=\"127532657559824\" \"enzymejl_rt\"=\"127532821425056\" \"enzymejl_world\"=\"39996\" }\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_47327_inner_1wrap\", linkageName: \"fwddiffejulia_derivative_bundle_47327_inner_1wrap\", scope: null, file: !9, type: !10, spFlags: DISPFlagLocalToUnit | DISPFlagDefinition | DISPFlagOptimized, unit: !5)\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_47327\", scope: null, file: !9, line: 53, type: !10, scopeLine: 53, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !5)\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: !5)\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: !5)\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: !5)\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: !5)\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: !5)\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: !5)\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: !5)\n!38 = distinct !DILocation(line: 617, scope: !27, inlinedAt: !39)\n!39 = distinct !DILocation(line: 562, scope: !27, inlinedAt: !28)\n!40 = !{!\"127532142178768\"}\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_47327\", scope: null, file: !9, line: 53, type: !10, scopeLine: 53, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !5)\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_47327_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_47702_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_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_47702_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 127532792206704 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532753205312 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127531935001752 to ptr) to ptr addrspace(10))) #8, !dbg !16\n %.not.i = icmp eq ptr addrspace(10) %3, addrspacecast (ptr inttoptr (i64 127532076421584 to ptr) to ptr addrspace(10)), !dbg !16\n %\"ejl_inserted\$_Core_Tuple_47709\$false\$127532130728272.ejl_inserted\$_Main__flux_47724\$false\$127532621198800.i\" = select i1 %.not.i, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532621198800 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532130728272 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 127532821425280 to ptr) to ptr addrspace(10)), ptr addrspace(10) %\"ejl_inserted\$_Core_Tuple_47709\$false\$127532130728272.ejl_inserted\$_Main__flux_47724\$false\$127532621198800.i\", ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532130728272 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 127532792206704 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532753205312 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127531935001752 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 127531755944208 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 127531755944208 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 127532011148368 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532799746416 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532799746416 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532748250240 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127531934970328 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532753205312 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 127532821425280 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 127532792206704 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532753205312 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127531935001752 to ptr) to ptr addrspace(10))) #8, !dbg !60\n %.not62.i = icmp eq ptr addrspace(10) %10, addrspacecast (ptr inttoptr (i64 127532076421584 to ptr) to ptr addrspace(10)), !dbg !60\n %value_phi15.i.i = select i1 %.not62.i, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532621198800 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532130728272 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 127532821425280 to ptr) to ptr addrspace(10)), ptr addrspace(10) %value_phi15.i.i, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532130728272 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 127532152967952 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532799746416 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532799746416 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532748250240 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127531934970328 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532399392224 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532764391072 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532198464912 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532077630352 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 127531934950560 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532748250240 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127531934976144 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532799746416 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532799746416 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532607951504 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532799745808 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532799746416 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532799746416 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 127531755944208 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 127531755944208 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 127531816536208 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532799746416 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532799746416 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532748250240 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127531934970328 to ptr) to ptr addrspace(10)), ptr addrspace(10) %15, ptr addrspace(10) %14, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127531935018232 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127531935001752 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 127532149465552 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532799746416 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532799746416 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532748250240 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127531934970328 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532786830144 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 127532752284336 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_47702_inner.1([4 x [1 x [4 x double]]] \"enzyme_type\"=\"{[-1]:Float@double}\" \"enzymejl_parmtype\"=\"127532202441488\" \"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 127532792206704 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532753205312 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127531935001752 to ptr) to ptr addrspace(10))) #11, !dbg !78\n %.not = icmp eq ptr addrspace(10) %1, addrspacecast (ptr inttoptr (i64 127532076421584 to ptr) to ptr addrspace(10)), !dbg !78\n %\"ejl_inserted\$_Core_Tuple_47709\$false\$127532130728272.ejl_inserted\$_Main__flux_47724\$false\$127532621198800\" = select i1 %.not, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532621198800 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532130728272 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 127532821425280 to ptr) to ptr addrspace(10)), ptr addrspace(10) %\"ejl_inserted\$_Core_Tuple_47709\$false\$127532130728272.ejl_inserted\$_Main__flux_47724\$false\$127532621198800\", ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532130728272 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 127532792206704 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532753205312 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127531935001752 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 127531755944208 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 127532792206704 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532753205312 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 127532821425280 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 127532792206704 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532753205312 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127531935001752 to ptr) to ptr addrspace(10))) #11, !dbg !98\n %.not62 = icmp eq ptr addrspace(10) %5, addrspacecast (ptr inttoptr (i64 127532076421584 to ptr) to ptr addrspace(10)), !dbg !98\n %value_phi15.i = select i1 %.not62, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532621198800 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532130728272 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 127532821425280 to ptr) to ptr addrspace(10)), ptr addrspace(10) %value_phi15.i, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532130728272 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 127532399392224 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532764391072 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532198464912 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532077630352 to ptr) to ptr addrspace(10)), ptr addrspace(10) nonnull %jl_f_apply_type_ret10.i, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127531934950560 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532748250240 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127531934976144 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532799746416 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532799746416 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532607951504 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532799745808 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532799746416 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532799746416 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 127531755944208 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 127531935018232 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127531935001752 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 127532786830144 to ptr) to ptr addrspace(10)), ptr addrspace(10) nonnull %8, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532752284336 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\"=\"39996\" }\nattributes #1 = { nofree \"enzymejl_world\"=\"39996\" }\nattributes #2 = { nofree \"enzyme_inactive\" \"enzyme_no_escaping_allocation\" \"enzymejl_world\"=\"39996\" }\nattributes #3 = { mustprogress nofree nounwind willreturn allockind(\"alloc,uninitialized\") allocsize(1) memory(inaccessiblemem: readwrite) \"enzyme_ReadOnlyOrThrow\" \"enzyme_no_escaping_allocation\" \"enzymejl_world\"=\"39996\" }\nattributes #4 = { nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }\nattributes #5 = { alwaysinline \"enzymejl_world\"=\"39996\" }\nattributes #6 = { \"enzyme_retremove\" \"enzyme_ta_norecur\" \"enzymejl_mi\"=\"127531781520272\" \"enzymejl_rt\"=\"127532821425056\" \"enzymejl_world\"=\"39996\" }\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_47702_inner_1wrap\", linkageName: \"fwddiffejulia_derivative_bundle_47702_inner_1wrap\", scope: null, file: !9, type: !10, spFlags: DISPFlagLocalToUnit | DISPFlagDefinition | DISPFlagOptimized, unit: !5)\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_47702\", scope: null, file: !9, line: 53, type: !10, scopeLine: 53, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !5)\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: !5)\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: !5)\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: !5)\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: !5)\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: !5)\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: !5)\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: !5)\n!38 = distinct !DILocation(line: 617, scope: !27, inlinedAt: !39)\n!39 = distinct !DILocation(line: 562, scope: !27, inlinedAt: !28)\n!40 = !{!\"127531755944208\"}\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_47702\", scope: null, file: !9, line: 53, type: !10, scopeLine: 53, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !5)\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_47702_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_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_47702_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 127532792206704 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532753205312 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127531935001752 to ptr) to ptr addrspace(10))) #8, !dbg !16\n %.not.i = icmp eq ptr addrspace(10) %3, addrspacecast (ptr inttoptr (i64 127532076421584 to ptr) to ptr addrspace(10)), !dbg !16\n %\"ejl_inserted\$_Core_Tuple_47709\$false\$127532130728272.ejl_inserted\$_Main__flux_47724\$false\$127532621198800.i\" = select i1 %.not.i, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532621198800 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532130728272 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 127532821425280 to ptr) to ptr addrspace(10)), ptr addrspace(10) %\"ejl_inserted\$_Core_Tuple_47709\$false\$127532130728272.ejl_inserted\$_Main__flux_47724\$false\$127532621198800.i\", ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532130728272 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 127532792206704 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532753205312 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127531935001752 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 127531755944208 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 127531755944208 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 127532011148368 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532799746416 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532799746416 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532748250240 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127531934970328 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532753205312 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 127532821425280 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 127532792206704 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532753205312 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127531935001752 to ptr) to ptr addrspace(10))) #8, !dbg !60\n %.not62.i = icmp eq ptr addrspace(10) %10, addrspacecast (ptr inttoptr (i64 127532076421584 to ptr) to ptr addrspace(10)), !dbg !60\n %value_phi15.i.i = select i1 %.not62.i, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532621198800 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532130728272 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 127532821425280 to ptr) to ptr addrspace(10)), ptr addrspace(10) %value_phi15.i.i, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532130728272 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 127532152967952 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532799746416 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532799746416 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532748250240 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127531934970328 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532399392224 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532764391072 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532198464912 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532077630352 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 127531934950560 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532748250240 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127531934976144 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532799746416 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532799746416 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532607951504 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532799745808 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532799746416 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532799746416 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 127531755944208 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 127531755944208 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 127531816536208 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532799746416 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532799746416 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532748250240 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127531934970328 to ptr) to ptr addrspace(10)), ptr addrspace(10) %15, ptr addrspace(10) %14, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127531935018232 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127531935001752 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 127532149465552 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532799746416 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532799746416 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532748250240 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127531934970328 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532786830144 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 127532752284336 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_47702_inner.1([4 x [1 x [4 x double]]] \"enzyme_type\"=\"{[-1]:Float@double}\" \"enzymejl_parmtype\"=\"127532202441488\" \"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 127532792206704 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532753205312 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127531935001752 to ptr) to ptr addrspace(10))) #11, !dbg !78\n %.not = icmp eq ptr addrspace(10) %1, addrspacecast (ptr inttoptr (i64 127532076421584 to ptr) to ptr addrspace(10)), !dbg !78\n %\"ejl_inserted\$_Core_Tuple_47709\$false\$127532130728272.ejl_inserted\$_Main__flux_47724\$false\$127532621198800\" = select i1 %.not, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532621198800 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532130728272 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 127532821425280 to ptr) to ptr addrspace(10)), ptr addrspace(10) %\"ejl_inserted\$_Core_Tuple_47709\$false\$127532130728272.ejl_inserted\$_Main__flux_47724\$false\$127532621198800\", ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532130728272 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 127532792206704 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532753205312 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127531935001752 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 127531755944208 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 127532792206704 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532753205312 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 127532821425280 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 127532792206704 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532753205312 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127531935001752 to ptr) to ptr addrspace(10))) #11, !dbg !98\n %.not62 = icmp eq ptr addrspace(10) %5, addrspacecast (ptr inttoptr (i64 127532076421584 to ptr) to ptr addrspace(10)), !dbg !98\n %value_phi15.i = select i1 %.not62, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532621198800 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532130728272 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 127532821425280 to ptr) to ptr addrspace(10)), ptr addrspace(10) %value_phi15.i, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532130728272 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 127532399392224 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532764391072 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532198464912 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532077630352 to ptr) to ptr addrspace(10)), ptr addrspace(10) nonnull %jl_f_apply_type_ret10.i, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127531934950560 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532748250240 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127531934976144 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532799746416 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532799746416 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532607951504 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532799745808 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532799746416 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532799746416 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 127531755944208 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 127531935018232 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127531935001752 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 127532786830144 to ptr) to ptr addrspace(10)), ptr addrspace(10) nonnull %8, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532752284336 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\"=\"39996\" }\nattributes #1 = { nofree \"enzymejl_world\"=\"39996\" }\nattributes #2 = { nofree \"enzyme_inactive\" \"enzyme_no_escaping_allocation\" \"enzymejl_world\"=\"39996\" }\nattributes #3 = { mustprogress nofree nounwind willreturn allockind(\"alloc,uninitialized\") allocsize(1) memory(inaccessiblemem: readwrite) \"enzyme_ReadOnlyOrThrow\" \"enzyme_no_escaping_allocation\" \"enzymejl_world\"=\"39996\" }\nattributes #4 = { nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }\nattributes #5 = { alwaysinline \"enzymejl_world\"=\"39996\" }\nattributes #6 = { \"enzyme_retremove\" \"enzyme_ta_norecur\" \"enzymejl_mi\"=\"127531781520272\" \"enzymejl_rt\"=\"127532821425056\" \"enzymejl_world\"=\"39996\" }\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_47702_inner_1wrap\", linkageName: \"fwddiffejulia_derivative_bundle_47702_inner_1wrap\", scope: null, file: !9, type: !10, spFlags: DISPFlagLocalToUnit | DISPFlagDefinition | DISPFlagOptimized, unit: !5)\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_47702\", scope: null, file: !9, line: 53, type: !10, scopeLine: 53, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !5)\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: !5)\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: !5)\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: !5)\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: !5)\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: !5)\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: !5)\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: !5)\n!38 = distinct !DILocation(line: 617, scope: !27, inlinedAt: !39)\n!39 = distinct !DILocation(line: 562, scope: !27, inlinedAt: !28)\n!40 = !{!\"127531755944208\"}\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_47702\", scope: null, file: !9, line: 53, type: !10, scopeLine: 53, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !5)\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_47702_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_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_47702_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 127532792206704 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532753205312 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127531935001752 to ptr) to ptr addrspace(10))) #8, !dbg !16\n %.not.i = icmp eq ptr addrspace(10) %3, addrspacecast (ptr inttoptr (i64 127532076421584 to ptr) to ptr addrspace(10)), !dbg !16\n %\"ejl_inserted\$_Core_Tuple_47709\$false\$127532130728272.ejl_inserted\$_Main__flux_47724\$false\$127532621198800.i\" = select i1 %.not.i, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532621198800 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532130728272 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 127532821425280 to ptr) to ptr addrspace(10)), ptr addrspace(10) %\"ejl_inserted\$_Core_Tuple_47709\$false\$127532130728272.ejl_inserted\$_Main__flux_47724\$false\$127532621198800.i\", ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532130728272 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 127532792206704 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532753205312 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127531935001752 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 127531755944208 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 127531755944208 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 127532011148368 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532799746416 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532799746416 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532748250240 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127531934970328 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532753205312 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 127532821425280 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 127532792206704 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532753205312 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127531935001752 to ptr) to ptr addrspace(10))) #8, !dbg !60\n %.not62.i = icmp eq ptr addrspace(10) %10, addrspacecast (ptr inttoptr (i64 127532076421584 to ptr) to ptr addrspace(10)), !dbg !60\n %value_phi15.i.i = select i1 %.not62.i, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532621198800 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532130728272 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 127532821425280 to ptr) to ptr addrspace(10)), ptr addrspace(10) %value_phi15.i.i, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532130728272 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 127532152967952 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532799746416 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532799746416 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532748250240 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127531934970328 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532399392224 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532764391072 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532198464912 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532077630352 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 127531934950560 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532748250240 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127531934976144 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532799746416 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532799746416 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532607951504 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532799745808 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532799746416 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532799746416 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 127531755944208 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 127531755944208 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 127531816536208 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532799746416 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532799746416 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532748250240 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127531934970328 to ptr) to ptr addrspace(10)), ptr addrspace(10) %15, ptr addrspace(10) %14, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127531935018232 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127531935001752 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 127532149465552 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532799746416 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532799746416 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532748250240 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127531934970328 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532786830144 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 127532752284336 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_47702_inner.1([4 x [1 x [4 x double]]] \"enzyme_type\"=\"{[-1]:Float@double}\" \"enzymejl_parmtype\"=\"127532202441488\" \"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 127532792206704 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532753205312 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127531935001752 to ptr) to ptr addrspace(10))) #11, !dbg !78\n %.not = icmp eq ptr addrspace(10) %1, addrspacecast (ptr inttoptr (i64 127532076421584 to ptr) to ptr addrspace(10)), !dbg !78\n %\"ejl_inserted\$_Core_Tuple_47709\$false\$127532130728272.ejl_inserted\$_Main__flux_47724\$false\$127532621198800\" = select i1 %.not, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532621198800 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532130728272 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 127532821425280 to ptr) to ptr addrspace(10)), ptr addrspace(10) %\"ejl_inserted\$_Core_Tuple_47709\$false\$127532130728272.ejl_inserted\$_Main__flux_47724\$false\$127532621198800\", ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532130728272 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 127532792206704 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532753205312 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127531935001752 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 127531755944208 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 127532792206704 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532753205312 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 127532821425280 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 127532792206704 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532753205312 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127531935001752 to ptr) to ptr addrspace(10))) #11, !dbg !98\n %.not62 = icmp eq ptr addrspace(10) %5, addrspacecast (ptr inttoptr (i64 127532076421584 to ptr) to ptr addrspace(10)), !dbg !98\n %value_phi15.i = select i1 %.not62, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532621198800 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532130728272 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 127532821425280 to ptr) to ptr addrspace(10)), ptr addrspace(10) %value_phi15.i, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532130728272 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 127532399392224 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532764391072 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532198464912 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532077630352 to ptr) to ptr addrspace(10)), ptr addrspace(10) nonnull %jl_f_apply_type_ret10.i, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127531934950560 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532748250240 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127531934976144 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532799746416 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532799746416 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532607951504 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532799745808 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532799746416 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532799746416 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 127531755944208 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 127531935018232 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127531935001752 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 127532786830144 to ptr) to ptr addrspace(10)), ptr addrspace(10) nonnull %8, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 127532752284336 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\"=\"39996\" }\nattributes #1 = { nofree \"enzymejl_world\"=\"39996\" }\nattributes #2 = { nofree \"enzyme_inactive\" \"enzyme_no_escaping_allocation\" \"enzymejl_world\"=\"39996\" }\nattributes #3 = { mustprogress nofree nounwind willreturn allockind(\"alloc,uninitialized\") allocsize(1) memory(inaccessiblemem: readwrite) \"enzyme_ReadOnlyOrThrow\" \"enzyme_no_escaping_allocation\" \"enzymejl_world\"=\"39996\" }\nattributes #4 = { nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }\nattributes #5 = { alwaysinline \"enzymejl_world\"=\"39996\" }\nattributes #6 = { \"enzyme_retremove\" \"enzyme_ta_norecur\" \"enzymejl_mi\"=\"127531781520272\" \"enzymejl_rt\"=\"127532821425056\" \"enzymejl_world\"=\"39996\" }\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_47702_inner_1wrap\", linkageName: \"fwddiffejulia_derivative_bundle_47702_inner_1wrap\", scope: null, file: !9, type: !10, spFlags: DISPFlagLocalToUnit | DISPFlagDefinition | DISPFlagOptimized, unit: !5)\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_47702\", scope: null, file: !9, line: 53, type: !10, scopeLine: 53, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !5)\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: !5)\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: !5)\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: !5)\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: !5)\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: !5)\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: !5)\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: !5)\n!38 = distinct !DILocation(line: 617, scope: !27, inlinedAt: !39)\n!39 = distinct !DILocation(line: 562, scope: !27, inlinedAt: !28)\n!40 = !{!\"127531755944208\"}\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_47702\", scope: null, file: !9, line: 53, type: !10, scopeLine: 53, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !5)\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_47702_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:2243 [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:778 [inlined] Test Summary: | Pass Error Total Time flux | 7 1 8 26.0s RNG of the outermost testset: Random.Xoshiro(0x49117334530d5545, 0xbf9eede499f0f15b, 0x60f2d4aa12af0233, 0xfc7d037aab48dbaa, 0x54177c8f2d4935fb) 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 330.18s 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:223 [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:214 PkgEval failed after 538.05s: package tests unexpectedly errored