Package evaluation to test TowerOfEnzyme on Julia 1.14.0-DEV.1601 (79ea5eb99c*) started at 2026-01-24T12:51:40.646 ################################################################################ # Set-up # Installing PkgEval dependencies (TestEnv)... Activating project at `~/.julia/environments/v1.14` Set-up completed after 10.24s ################################################################################ # Installation # Installing TowerOfEnzyme... Resolving package versions... Installed LibTracyClient_jll ─ v0.13.1+0 Installed LLVMExtra_jll ────── v0.0.38+0 Installed ExprTools ────────── v0.1.10 Installed EnzymeCore ───────── v0.8.18 Installed CEnum ────────────── v0.5.0 Installed GPUCompiler ──────── v1.8.1 Installed PrecompileTools ──── v1.3.3 Installed Enzyme_jll ───────── v0.0.238+0 Installed StructIO ─────────── v0.3.1 Installed Tracy ────────────── v0.1.6 Installed TowerOfEnzyme ────── v0.1.0 Installed Scratch ──────────── v1.3.0 Installed Reexport ─────────── v1.2.2 Installed Enzyme ───────────── v0.13.118 Installed JLLWrappers ──────── v1.7.1 Installed Preferences ──────── v1.5.1 Installed LLVM ─────────────── v9.4.4 Installed ObjectFile ───────── v0.5.0 Installing 3 artifacts Installed artifact LibTracyClient 502.2 KiB Installed artifact LLVMExtra 3.2 MiB Installed artifact Enzyme 158.1 MiB 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 19.7s ################################################################################ # Precompilation # Precompiling PkgEval dependencies... Precompiling packages... 4674.4 ms ✓ TestEnv 1 dependency successfully precompiled in 5 seconds. 27 already precompiled. Precompiling package dependencies... Precompiling packages... 4506.6 ms ✓ MacroTools 850.0 ms ✓ Reexport 1748.8 ms ✓ ConstructionBase 2167.3 ms ✓ IrrationalConstants 898.5 ms ✓ DataValueInterfaces 867.5 ms ✓ ReadOnlyArrays 937.0 ms ✓ WeakCacheSets 1095.3 ms ✓ IntervalSets 897.3 ms ✓ CEnum 2151.3 ms ✓ Combinatorics 874.2 ms ✓ TermInterface 1142.6 ms ✓ Statistics 989.4 ms ✓ StaticArraysCore 953.0 ms ✓ StructIO 1377.6 ms ✓ EnzymeCore 862.9 ms ✓ CompositeTypes 786.0 ms ✓ TaskLocalValues 821.6 ms ✓ DataAPI 707.0 ms ✓ SciMLPublic 3076.2 ms ✓ ExproniconLite 813.1 ms ✓ RealDot 815.5 ms ✓ CommonWorldInvalidations 965.3 ms ✓ InverseFunctions 853.2 ms ✓ CompositionsBase 1195.8 ms ✓ AbstractTrees 932.7 ms ✓ EnumX 1026.7 ms ✓ Bijections 859.6 ms ✓ IntegerMathUtils 914.7 ms ✓ ExprTools 1280.9 ms ✓ OrderedCollections 1394.7 ms ✓ ADTypes 1140.0 ms ✓ DocStringExtensions 804.0 ms ✓ IteratorInterfaceExtensions 1057.3 ms ✓ NaNMath 1197.2 ms ✓ Requires 1339.9 ms ✓ SparseInverseSubset 983.0 ms ✓ Scratch 1247.1 ms ✓ Compat 1151.0 ms ✓ Preferences 11560.6 ms ✓ MutableArithmetics 4516.5 ms ✓ AbstractPlutoDingetjes 839.4 ms ✓ ConstructionBase → ConstructionBaseLinearAlgebraExt 790.9 ms ✓ IntervalSets → IntervalSetsRandomExt 806.0 ms ✓ ConstructionBase → ConstructionBaseIntervalSetsExt 1317.1 ms ✓ Statistics → SparseArraysExt 805.7 ms ✓ IntervalSets → IntervalSetsStatisticsExt 4185.2 ms ✓ ObjectFile 3189.7 ms ✓ Jieko 902.0 ms ✓ InverseFunctions → InverseFunctionsDatesExt 1645.6 ms ✓ InverseFunctions → InverseFunctionsTestExt 833.4 ms ✓ CompositionsBase → CompositionsBaseInverseFunctionsExt 1158.7 ms ✓ Primes 926.4 ms ✓ RuntimeGeneratedFunctions 3491.2 ms ✓ DataStructures 795.9 ms ✓ ADTypes → ADTypesConstructionBaseExt 796.8 ms ✓ ADTypes → ADTypesEnzymeCoreExt 1342.3 ms ✓ LogExpFunctions 822.9 ms ✓ TableTraits 978.1 ms ✓ Adapt 887.4 ms ✓ Compat → CompatLinearAlgebraExt 984.4 ms ✓ PrecompileTools 1244.8 ms ✓ JLLWrappers 3024.3 ms ✓ Setfield 16170.2 ms ✓ Moshi 4985.9 ms ✓ Accessors 4636.0 ms ✓ MultivariatePolynomials 870.6 ms ✓ LogExpFunctions → LogExpFunctionsInverseFunctionsExt 1836.4 ms ✓ Tables 1193.7 ms ✓ ArrayInterface 1295.8 ms ✓ Adapt → AdaptSparseArraysExt 1250.7 ms ✓ GPUArraysCore 862.0 ms ✓ EnzymeCore → AdaptExt 2658.2 ms ✓ ChainRulesCore 13644.5 ms ✓ StaticArrays 2942.1 ms ✓ RecipesBase 1469.1 ms ✓ LibTracyClient_jll 5655.4 ms ✓ Enzyme_jll 1833.4 ms ✓ OpenSpecFun_jll 5764.0 ms ✓ LLVMExtra_jll 1789.5 ms ✓ Accessors → TestExt 2407.7 ms ✓ Accessors → IntervalSetsExt 2305.1 ms ✓ Accessors → LinearAlgebraExt 4394.6 ms ✓ DynamicPolynomials 1493.2 ms ✓ StructArrays 816.5 ms ✓ ArrayInterface → ArrayInterfaceStaticArraysCoreExt 1349.9 ms ✓ ArrayInterface → ArrayInterfaceSparseArraysExt 846.3 ms ✓ ArrayInterface → ArrayInterfaceGPUArraysCoreExt 1383.6 ms ✓ ChainRulesCore → ChainRulesCoreSparseArraysExt 1299.3 ms ✓ EnzymeCore → EnzymeCoreChainRulesCoreExt 847.2 ms ✓ ADTypes → ADTypesChainRulesCoreExt 3475.1 ms ✓ LogExpFunctions → LogExpFunctionsChainRulesCoreExt 5798.2 ms ✓ MultivariatePolynomials → MultivariatePolynomialsChainRulesCoreExt 860.8 ms ✓ ArrayInterface → ArrayInterfaceChainRulesCoreExt 1477.5 ms ✓ StaticArrays → StaticArraysStatisticsExt 1539.8 ms ✓ StaticArrays → StaticArraysChainRulesCoreExt 1501.5 ms ✓ ConstructionBase → ConstructionBaseStaticArraysExt 5000.8 ms ✓ DomainSets 1446.0 ms ✓ Adapt → AdaptStaticArraysExt 1590.9 ms ✓ Accessors → StaticArraysExt 1338.9 ms ✓ IntervalSets → IntervalSetsRecipesBaseExt 2428.6 ms ✓ Tracy 4383.8 ms ✓ SpecialFunctions 13436.2 ms ✓ LLVM 1389.2 ms ✓ StructArrays → StructArraysSparseArraysExt 884.5 ms ✓ StructArrays → StructArraysLinearAlgebraExt 841.0 ms ✓ StructArrays → StructArraysAdaptExt 1653.2 ms ✓ StructArrays → StructArraysStaticArraysExt 1055.3 ms ✓ Accessors → StructArraysExt 3735.5 ms ✓ SymbolicIndexingInterface 1558.4 ms ✓ DomainSets → DomainSetsRandomExt 4128.7 ms ✓ SpecialFunctions → SpecialFunctionsChainRulesCoreExt 1340.1 ms ✓ DiffRules 47810.3 ms ✓ GPUCompiler 12646.1 ms ✓ ChainRules 164657.9 ms ✓ SymbolicUtils 111694.3 ms ✓ Enzyme 1519.3 ms ✓ ArrayInterface → ArrayInterfaceChainRulesExt 8731.5 ms ✓ SymbolicLimits 8896.6 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 28096.7 ms ✓ Enzyme → EnzymeGPUArraysCoreExt ┌ 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 31901.7 ms ✓ Enzyme → EnzymeStaticArraysExt ┌ 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 24357.7 ms ✓ 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 29512.3 ms ✓ Enzyme → EnzymeChainRulesCoreExt ┌ 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 29377.1 ms ✓ Enzyme → EnzymeSpecialFunctionsExt ┌ 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 25210.0 ms ✓ Enzyme → EnzymeLogExpFunctionsExt 171783.4 ms ✓ Symbolics 65591.6 ms ✓ TaylorDiff 34675.2 ms ✓ TaylorDiff → TaylorDiffSFExt 128 dependencies successfully precompiled in 1039 seconds. 37 already precompiled. 6 dependencies had output during precompilation: ┌ Enzyme → EnzymeLogExpFunctionsExt │ ┌ 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 └ ┌ Enzyme → EnzymeChainRulesCoreExt │ ┌ 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 └ ┌ Enzyme → EnzymeGPUArraysCoreExt │ ┌ 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 └ ┌ 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 └ ┌ Enzyme → EnzymeStaticArraysExt │ ┌ 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 └ ┌ Enzyme → EnzymeSpecialFunctionsExt │ ┌ 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 1068.24s ################################################################################ # Testing # Testing TowerOfEnzyme Status `/tmp/jl_lU8WMK/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_lU8WMK/Manifest.toml` [47edcb42] ADTypes v1.21.0 [6e696c72] AbstractPlutoDingetjes v1.3.2 [1520ce14] AbstractTrees v0.4.5 [7d9f7c33] Accessors v0.1.43 [79e6a3ab] Adapt v4.4.0 [4fba245c] ArrayInterface v7.22.0 [e2ed5e7c] Bijections v0.2.2 [fa961155] CEnum v0.5.0 [082447d4] ChainRules v1.72.6 [d360d2e6] ChainRulesCore v1.26.0 ⌅ [861a8166] Combinatorics v1.0.2 [f70d9fcc] CommonWorldInvalidations v1.0.0 [34da2185] Compat v4.18.1 [b152e2b5] CompositeTypes v0.1.4 [a33af91c] CompositionsBase v0.1.2 [187b0558] ConstructionBase v1.6.0 [9a962f9c] DataAPI v1.16.0 [864edb3b] DataStructures v0.19.3 [e2d170a0] DataValueInterfaces v1.0.0 [b552c78f] DiffRules v1.15.1 [ffbed154] DocStringExtensions v0.9.5 [5b8099bc] DomainSets v0.7.16 [7c1d4256] DynamicPolynomials v0.6.4 [4e289a0a] EnumX v1.0.6 [7da242da] Enzyme v0.13.118 [f151be2c] EnzymeCore v0.8.18 [e2ba6199] ExprTools v0.1.10 [55351af7] ExproniconLite v0.10.14 [46192b85] GPUArraysCore v0.2.0 [61eb1bfa] GPUCompiler v1.8.1 [18e54dd8] IntegerMathUtils v0.1.3 [8197267c] IntervalSets v0.7.13 [3587e190] InverseFunctions v0.1.17 [92d709cd] IrrationalConstants v0.2.6 [82899510] IteratorInterfaceExtensions v1.0.0 [692b3bcd] JLLWrappers v1.7.1 [ae98c720] Jieko v0.2.1 [929cbde3] LLVM v9.4.4 [2ab3a3ac] LogExpFunctions v0.3.29 [1914dd2f] MacroTools v0.5.16 [2e0e35c7] Moshi v0.3.7 [102ac46a] MultivariatePolynomials v0.5.13 [d8a4904e] MutableArithmetics v1.6.7 [77ba4419] NaNMath v1.1.3 [d8793406] ObjectFile v0.5.0 [bac558e1] OrderedCollections v1.8.1 [aea7be01] PrecompileTools v1.3.3 [21216c6a] Preferences v1.5.1 [27ebfcd6] Primes v0.5.7 [988b38a3] ReadOnlyArrays v0.2.0 [c1ae055f] RealDot v0.1.0 [3cdcf5f2] RecipesBase v1.3.4 [189a3867] Reexport v1.2.2 [ae029012] Requires v1.3.1 [7e49a35a] RuntimeGeneratedFunctions v0.5.16 [431bcebd] SciMLPublic v1.0.1 [6c6a2e73] Scratch v1.3.0 [efcf1570] Setfield v1.1.2 [dc90abb0] SparseInverseSubset v0.1.2 [276daf66] SpecialFunctions v2.6.1 [90137ffa] StaticArrays v1.9.16 [1e83bf80] StaticArraysCore v1.4.4 [10745b16] Statistics v1.11.1 [09ab397b] StructArrays v0.7.2 [53d494c1] StructIO v0.3.1 [2efcf032] SymbolicIndexingInterface v0.3.46 [19f23fe9] SymbolicLimits v1.1.0 [d1185830] SymbolicUtils v4.13.1 [0c5d862f] Symbolics v7.8.0 [3783bdb8] TableTraits v1.0.1 [bd369af6] Tables v1.12.1 [ed4db957] TaskLocalValues v0.1.3 [b36ab563] TaylorDiff v0.3.5 [8ea1fca8] TermInterface v2.0.0 [42b7b2d3] TowerOfEnzyme v0.1.0 `~/.julia/packages/TowerOfEnzyme/wUeMv` [e689c965] Tracy v0.1.6 [d30d5f5c] WeakCacheSets v0.1.0 ⌅ [7cc45869] Enzyme_jll v0.0.238+0 [dad2f222] LLVMExtra_jll v0.0.38+0 [ad6e5548] LibTracyClient_jll v0.13.1+0 [efe28fd5] OpenSpecFun_jll v0.5.6+0 [0dad84c5] ArgTools v1.1.2 [56f22d72] Artifacts v1.11.0 [2a0f44e3] Base64 v1.11.0 [ade2ca70] Dates v1.11.0 [8ba89e20] Distributed v1.11.0 [f43a241f] Downloads v1.7.0 [7b1f6079] FileWatching v1.11.0 [9fa8497b] Future v1.11.0 [b77e0a4c] InteractiveUtils v1.11.0 [ac6e5ff7] JuliaSyntaxHighlighting v1.13.0 [4af54fe1] LazyArtifacts v1.11.0 [b27032c2] LibCURL v1.0.0 [76f85450] LibGit2 v1.11.0 [8f399da3] Libdl v1.11.0 [37e2e46d] LinearAlgebra v1.13.0 [56ddb016] Logging v1.11.0 [d6f4376e] Markdown v1.11.0 [ca575930] NetworkOptions v1.3.0 [44cfe95a] Pkg v1.14.0 [de0858da] Printf v1.11.0 [9a3f8284] Random v1.11.0 [ea8e919c] SHA v1.0.0 [9e88b42a] Serialization v1.11.0 [6462fe0b] Sockets v1.11.0 [2f01184e] SparseArrays v1.13.0 [f489334b] StyledStrings v1.13.0 [4607b0f0] SuiteSparse [fa267f1f] TOML v1.0.3 [a4e569a6] Tar v1.10.0 [8dfed614] Test v1.11.0 [cf7118a7] UUIDs v1.11.0 [4ec0a83e] Unicode v1.11.0 [e66e0078] CompilerSupportLibraries_jll v1.3.0+1 [deac9b47] LibCURL_jll v8.18.0+0 [e37daf67] LibGit2_jll v1.9.2+0 [29816b5a] LibSSH2_jll v1.11.3+1 [14a3606d] MozillaCACerts_jll v2025.12.2 [4536629a] OpenBLAS_jll v0.3.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... ┌ Warning: Enzyme.jl support for Julia 1.12 is presently in progress. │ For the time being we recommend using 1.11 or LTS (1.10). │ │ For latest updates, check the status of support for Julia 1.12+ at │ https://github.com/EnzymeAD/Enzyme.jl/issues/2699. │ └ @ Enzyme ~/.julia/packages/Enzyme/2lHFw/src/Enzyme.jl:1580 1 dependency had output during precompilation: ┌ TowerOfEnzyme │ [Output was shown above] └ ┌ Warning: Enzyme.jl support for Julia 1.12 is presently in progress. │ For the time being we recommend using 1.11 or LTS (1.10). │ │ For latest updates, check the status of support for Julia 1.12+ at │ https://github.com/EnzymeAD/Enzyme.jl/issues/2699. │ └ @ Enzyme ~/.julia/packages/Enzyme/2lHFw/src/Enzyme.jl:1580 1 dependency had output during precompilation: ┌ Enzyme → EnzymeStaticArraysExt │ [Output was shown above] └ ┌ Warning: Enzyme.jl support for Julia 1.12 is presently in progress. │ For the time being we recommend using 1.11 or LTS (1.10). │ │ For latest updates, check the status of support for Julia 1.12+ at │ https://github.com/EnzymeAD/Enzyme.jl/issues/2699. │ └ @ Enzyme ~/.julia/packages/Enzyme/2lHFw/src/Enzyme.jl:1580 1 dependency had output during precompilation: ┌ Enzyme → EnzymeChainRulesCoreExt │ [Output was shown above] └ ┌ Warning: Enzyme.jl support for Julia 1.12 is presently in progress. │ For the time being we recommend using 1.11 or LTS (1.10). │ │ For latest updates, check the status of support for Julia 1.12+ at │ https://github.com/EnzymeAD/Enzyme.jl/issues/2699. │ └ @ Enzyme ~/.julia/packages/Enzyme/2lHFw/src/Enzyme.jl:1580 1 dependency had output during precompilation: ┌ Enzyme → EnzymeGPUArraysCoreExt │ [Output was shown above] └ ┌ Warning: Enzyme.jl support for Julia 1.12 is presently in progress. │ For the time being we recommend using 1.11 or LTS (1.10). │ │ For latest updates, check the status of support for Julia 1.12+ at │ https://github.com/EnzymeAD/Enzyme.jl/issues/2699. │ └ @ Enzyme ~/.julia/packages/Enzyme/2lHFw/src/Enzyme.jl:1580 1 dependency had output during precompilation: ┌ Enzyme → EnzymeLogExpFunctionsExt │ [Output was shown above] └ ┌ Warning: Enzyme.jl support for Julia 1.12 is presently in progress. │ For the time being we recommend using 1.11 or LTS (1.10). │ │ For latest updates, check the status of support for Julia 1.12+ at │ https://github.com/EnzymeAD/Enzyme.jl/issues/2699. │ └ @ Enzyme ~/.julia/packages/Enzyme/2lHFw/src/Enzyme.jl:1580 1 dependency had output during precompilation: ┌ Enzyme → EnzymeSpecialFunctionsExt │ [Output was shown above] └ Test Summary: | Pass Total Time sin | 4 4 3m10.5s 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_50587_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_49624_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_48636_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_49028_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_49539_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_48477_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_49007_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_49517_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_48477_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 132870382574464 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870341413792 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870086531960 to ptr) to ptr addrspace(10))) #8, !dbg !17\n %.not.i = icmp eq ptr addrspace(10) %3, addrspacecast (ptr inttoptr (i64 132869640322832 to ptr) to ptr addrspace(10)), !dbg !17\n %\"ejl_inserted\$_Core_Tuple_48484\$false\$132869663392464.ejl_inserted\$_Main__flux_48492\$false\$132869491047952.i\" = select i1 %.not.i, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132869491047952 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132869663392464 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 132870410933696 to ptr) to ptr addrspace(10)), ptr addrspace(10) %\"ejl_inserted\$_Core_Tuple_48484\$false\$132869663392464.ejl_inserted\$_Main__flux_48492\$false\$132869491047952.i\", ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132869663392464 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 132869519655760 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 132869404277200 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132869654315216 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 132869542509328 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 132869542509328 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 132869630470224 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870389917584 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870389917584 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870338789376 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870086500792 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 189372816 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870086463232 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870086548456 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 132870086531960 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 132869626290832 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870389917584 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870389917584 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870338789376 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870086500792 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870376274304 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 132870343369504 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_48477_inner.1([2 x [1 x [4 x double]]] \"enzyme_type\"=\"{[-1]:Float@double}\" \"enzymejl_parmtype\"=\"132870217909968\" \"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 132870382574464 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870341413792 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870086531960 to ptr) to ptr addrspace(10))) #11, !dbg !58\n %.not = icmp eq ptr addrspace(10) %1, addrspacecast (ptr inttoptr (i64 132869640322832 to ptr) to ptr addrspace(10)), !dbg !58\n %\"ejl_inserted\$_Core_Tuple_48484\$false\$132869663392464.ejl_inserted\$_Main__flux_48492\$false\$132869491047952\" = select i1 %.not, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132869491047952 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132869663392464 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 132870410933696 to ptr) to ptr addrspace(10)), ptr addrspace(10) %\"ejl_inserted\$_Core_Tuple_48484\$false\$132869663392464.ejl_inserted\$_Main__flux_48492\$false\$132869491047952\", ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132869663392464 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 132869519655760 to ptr) to ptr addrspace(10)), !dbg !67\n %value_phi4.i = select i1 %.not1.not, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132869404277200 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132869654315216 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 132869542509328 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 189372816 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870086463232 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870086548456 to ptr) to ptr addrspace(10)), ptr addrspace(10) %value_phi4.i, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870086531960 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 132870376274304 to ptr) to ptr addrspace(10)), ptr addrspace(10) nonnull %3, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870343369504 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\"=\"40004\" }\nattributes #1 = { nofree \"enzymejl_world\"=\"40004\" }\nattributes #2 = { nofree \"enzyme_inactive\" \"enzyme_no_escaping_allocation\" \"enzymejl_world\"=\"40004\" }\nattributes #3 = { mustprogress nofree nounwind willreturn allockind(\"alloc,uninitialized\") allocsize(1) memory(inaccessiblemem: readwrite) \"enzyme_ReadOnlyOrThrow\" \"enzyme_no_escaping_allocation\" \"enzymejl_world\"=\"40004\" }\nattributes #4 = { nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }\nattributes #5 = { alwaysinline \"enzymejl_world\"=\"40004\" }\nattributes #6 = { \"enzyme_retremove\" \"enzyme_ta_norecur\" \"enzymejl_mi\"=\"132869529282768\" \"enzymejl_rt\"=\"132870410933472\" \"enzymejl_world\"=\"40004\" }\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_48477_inner_1wrap\", linkageName: \"fwddiffejulia_derivative_bundle_48477_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_48477\", 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 = !{!\"132869542509328\"}\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_48477\", 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_48477_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_48477_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 132870382574464 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870341413792 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870086531960 to ptr) to ptr addrspace(10))) #8, !dbg !17\n %.not.i = icmp eq ptr addrspace(10) %3, addrspacecast (ptr inttoptr (i64 132869640322832 to ptr) to ptr addrspace(10)), !dbg !17\n %\"ejl_inserted\$_Core_Tuple_48484\$false\$132869663392464.ejl_inserted\$_Main__flux_48492\$false\$132869491047952.i\" = select i1 %.not.i, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132869491047952 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132869663392464 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 132870410933696 to ptr) to ptr addrspace(10)), ptr addrspace(10) %\"ejl_inserted\$_Core_Tuple_48484\$false\$132869663392464.ejl_inserted\$_Main__flux_48492\$false\$132869491047952.i\", ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132869663392464 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 132869519655760 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 132869404277200 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132869654315216 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 132869542509328 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 132869542509328 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 132869630470224 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870389917584 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870389917584 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870338789376 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870086500792 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 189372816 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870086463232 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870086548456 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 132870086531960 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 132869626290832 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870389917584 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870389917584 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870338789376 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870086500792 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870376274304 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 132870343369504 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_48477_inner.1([2 x [1 x [4 x double]]] \"enzyme_type\"=\"{[-1]:Float@double}\" \"enzymejl_parmtype\"=\"132870217909968\" \"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 132870382574464 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870341413792 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870086531960 to ptr) to ptr addrspace(10))) #11, !dbg !58\n %.not = icmp eq ptr addrspace(10) %1, addrspacecast (ptr inttoptr (i64 132869640322832 to ptr) to ptr addrspace(10)), !dbg !58\n %\"ejl_inserted\$_Core_Tuple_48484\$false\$132869663392464.ejl_inserted\$_Main__flux_48492\$false\$132869491047952\" = select i1 %.not, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132869491047952 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132869663392464 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 132870410933696 to ptr) to ptr addrspace(10)), ptr addrspace(10) %\"ejl_inserted\$_Core_Tuple_48484\$false\$132869663392464.ejl_inserted\$_Main__flux_48492\$false\$132869491047952\", ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132869663392464 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 132869519655760 to ptr) to ptr addrspace(10)), !dbg !67\n %value_phi4.i = select i1 %.not1.not, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132869404277200 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132869654315216 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 132869542509328 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 189372816 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870086463232 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870086548456 to ptr) to ptr addrspace(10)), ptr addrspace(10) %value_phi4.i, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870086531960 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 132870376274304 to ptr) to ptr addrspace(10)), ptr addrspace(10) nonnull %3, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870343369504 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\"=\"40004\" }\nattributes #1 = { nofree \"enzymejl_world\"=\"40004\" }\nattributes #2 = { nofree \"enzyme_inactive\" \"enzyme_no_escaping_allocation\" \"enzymejl_world\"=\"40004\" }\nattributes #3 = { mustprogress nofree nounwind willreturn allockind(\"alloc,uninitialized\") allocsize(1) memory(inaccessiblemem: readwrite) \"enzyme_ReadOnlyOrThrow\" \"enzyme_no_escaping_allocation\" \"enzymejl_world\"=\"40004\" }\nattributes #4 = { nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }\nattributes #5 = { alwaysinline \"enzymejl_world\"=\"40004\" }\nattributes #6 = { \"enzyme_retremove\" \"enzyme_ta_norecur\" \"enzymejl_mi\"=\"132869529282768\" \"enzymejl_rt\"=\"132870410933472\" \"enzymejl_world\"=\"40004\" }\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_48477_inner_1wrap\", linkageName: \"fwddiffejulia_derivative_bundle_48477_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_48477\", 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 = !{!\"132869542509328\"}\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_48477\", 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_48477_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_48477_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 132870382574464 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870341413792 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870086531960 to ptr) to ptr addrspace(10))) #8, !dbg !17\n %.not.i = icmp eq ptr addrspace(10) %3, addrspacecast (ptr inttoptr (i64 132869640322832 to ptr) to ptr addrspace(10)), !dbg !17\n %\"ejl_inserted\$_Core_Tuple_48484\$false\$132869663392464.ejl_inserted\$_Main__flux_48492\$false\$132869491047952.i\" = select i1 %.not.i, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132869491047952 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132869663392464 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 132870410933696 to ptr) to ptr addrspace(10)), ptr addrspace(10) %\"ejl_inserted\$_Core_Tuple_48484\$false\$132869663392464.ejl_inserted\$_Main__flux_48492\$false\$132869491047952.i\", ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132869663392464 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 132869519655760 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 132869404277200 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132869654315216 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 132869542509328 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 132869542509328 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 132869630470224 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870389917584 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870389917584 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870338789376 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870086500792 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 189372816 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870086463232 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870086548456 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 132870086531960 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 132869626290832 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870389917584 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870389917584 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870338789376 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870086500792 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870376274304 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 132870343369504 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_48477_inner.1([2 x [1 x [4 x double]]] \"enzyme_type\"=\"{[-1]:Float@double}\" \"enzymejl_parmtype\"=\"132870217909968\" \"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 132870382574464 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870341413792 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870086531960 to ptr) to ptr addrspace(10))) #11, !dbg !58\n %.not = icmp eq ptr addrspace(10) %1, addrspacecast (ptr inttoptr (i64 132869640322832 to ptr) to ptr addrspace(10)), !dbg !58\n %\"ejl_inserted\$_Core_Tuple_48484\$false\$132869663392464.ejl_inserted\$_Main__flux_48492\$false\$132869491047952\" = select i1 %.not, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132869491047952 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132869663392464 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 132870410933696 to ptr) to ptr addrspace(10)), ptr addrspace(10) %\"ejl_inserted\$_Core_Tuple_48484\$false\$132869663392464.ejl_inserted\$_Main__flux_48492\$false\$132869491047952\", ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132869663392464 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 132869519655760 to ptr) to ptr addrspace(10)), !dbg !67\n %value_phi4.i = select i1 %.not1.not, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132869404277200 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132869654315216 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 132869542509328 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 189372816 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870086463232 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870086548456 to ptr) to ptr addrspace(10)), ptr addrspace(10) %value_phi4.i, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870086531960 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 132870376274304 to ptr) to ptr addrspace(10)), ptr addrspace(10) nonnull %3, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870343369504 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\"=\"40004\" }\nattributes #1 = { nofree \"enzymejl_world\"=\"40004\" }\nattributes #2 = { nofree \"enzyme_inactive\" \"enzyme_no_escaping_allocation\" \"enzymejl_world\"=\"40004\" }\nattributes #3 = { mustprogress nofree nounwind willreturn allockind(\"alloc,uninitialized\") allocsize(1) memory(inaccessiblemem: readwrite) \"enzyme_ReadOnlyOrThrow\" \"enzyme_no_escaping_allocation\" \"enzymejl_world\"=\"40004\" }\nattributes #4 = { nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }\nattributes #5 = { alwaysinline \"enzymejl_world\"=\"40004\" }\nattributes #6 = { \"enzyme_retremove\" \"enzyme_ta_norecur\" \"enzymejl_mi\"=\"132869529282768\" \"enzymejl_rt\"=\"132870410933472\" \"enzymejl_world\"=\"40004\" }\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_48477_inner_1wrap\", linkageName: \"fwddiffejulia_derivative_bundle_48477_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_48477\", 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 = !{!\"132869542509328\"}\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_48477\", 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_48477_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_48477_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 132870382574464 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870341413792 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870086531960 to ptr) to ptr addrspace(10))) #8, !dbg !17\n %.not.i = icmp eq ptr addrspace(10) %3, addrspacecast (ptr inttoptr (i64 132869640322832 to ptr) to ptr addrspace(10)), !dbg !17\n %\"ejl_inserted\$_Core_Tuple_48484\$false\$132869663392464.ejl_inserted\$_Main__flux_48492\$false\$132869491047952.i\" = select i1 %.not.i, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132869491047952 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132869663392464 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 132870410933696 to ptr) to ptr addrspace(10)), ptr addrspace(10) %\"ejl_inserted\$_Core_Tuple_48484\$false\$132869663392464.ejl_inserted\$_Main__flux_48492\$false\$132869491047952.i\", ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132869663392464 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 132869519655760 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 132869404277200 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132869654315216 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 132869542509328 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 132869542509328 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 132869630470224 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870389917584 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870389917584 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870338789376 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870086500792 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 189372816 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870086463232 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870086548456 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 132870086531960 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 132869626290832 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870389917584 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870389917584 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870338789376 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870086500792 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870376274304 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 132870343369504 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_48477_inner.1([2 x [1 x [4 x double]]] \"enzyme_type\"=\"{[-1]:Float@double}\" \"enzymejl_parmtype\"=\"132870217909968\" \"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 132870382574464 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870341413792 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870086531960 to ptr) to ptr addrspace(10))) #11, !dbg !58\n %.not = icmp eq ptr addrspace(10) %1, addrspacecast (ptr inttoptr (i64 132869640322832 to ptr) to ptr addrspace(10)), !dbg !58\n %\"ejl_inserted\$_Core_Tuple_48484\$false\$132869663392464.ejl_inserted\$_Main__flux_48492\$false\$132869491047952\" = select i1 %.not, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132869491047952 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132869663392464 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 132870410933696 to ptr) to ptr addrspace(10)), ptr addrspace(10) %\"ejl_inserted\$_Core_Tuple_48484\$false\$132869663392464.ejl_inserted\$_Main__flux_48492\$false\$132869491047952\", ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132869663392464 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 132869519655760 to ptr) to ptr addrspace(10)), !dbg !67\n %value_phi4.i = select i1 %.not1.not, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132869404277200 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132869654315216 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 132869542509328 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 189372816 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870086463232 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870086548456 to ptr) to ptr addrspace(10)), ptr addrspace(10) %value_phi4.i, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870086531960 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 132870376274304 to ptr) to ptr addrspace(10)), ptr addrspace(10) nonnull %3, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870343369504 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\"=\"40004\" }\nattributes #1 = { nofree \"enzymejl_world\"=\"40004\" }\nattributes #2 = { nofree \"enzyme_inactive\" \"enzyme_no_escaping_allocation\" \"enzymejl_world\"=\"40004\" }\nattributes #3 = { mustprogress nofree nounwind willreturn allockind(\"alloc,uninitialized\") allocsize(1) memory(inaccessiblemem: readwrite) \"enzyme_ReadOnlyOrThrow\" \"enzyme_no_escaping_allocation\" \"enzymejl_world\"=\"40004\" }\nattributes #4 = { nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }\nattributes #5 = { alwaysinline \"enzymejl_world\"=\"40004\" }\nattributes #6 = { \"enzyme_retremove\" \"enzyme_ta_norecur\" \"enzymejl_mi\"=\"132869529282768\" \"enzymejl_rt\"=\"132870410933472\" \"enzymejl_world\"=\"40004\" }\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_48477_inner_1wrap\", linkageName: \"fwddiffejulia_derivative_bundle_48477_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_48477\", 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 = !{!\"132869542509328\"}\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_48477\", 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_48477_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_48911_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_49375_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_48911_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 132870382574464 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870341413792 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870086531960 to ptr) to ptr addrspace(10))) #8, !dbg !16\n %.not.i = icmp eq ptr addrspace(10) %3, addrspacecast (ptr inttoptr (i64 132869640322832 to ptr) to ptr addrspace(10)), !dbg !16\n %\"ejl_inserted\$_Core_Tuple_48918\$false\$132870217909968.ejl_inserted\$_Main__flux_48933\$false\$132869491047952.i\" = select i1 %.not.i, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132869491047952 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870217909968 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 132870410933696 to ptr) to ptr addrspace(10)), ptr addrspace(10) %\"ejl_inserted\$_Core_Tuple_48918\$false\$132870217909968.ejl_inserted\$_Main__flux_48933\$false\$132869491047952.i\", ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870217909968 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 132870382574464 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870341413792 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870086531960 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 132869424361296 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 132869424361296 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 132870252021328 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870389917584 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870389917584 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870338789376 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870086500792 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870341413792 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 132870410933696 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 132870382574464 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870341413792 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870086531960 to ptr) to ptr addrspace(10))) #8, !dbg !60\n %.not39.i = icmp eq ptr addrspace(10) %10, addrspacecast (ptr inttoptr (i64 132869640322832 to ptr) to ptr addrspace(10)), !dbg !60\n %value_phi14.i.i = select i1 %.not39.i, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132869491047952 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870217909968 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 132870410933696 to ptr) to ptr addrspace(10)), ptr addrspace(10) %value_phi14.i.i, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870217909968 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 132869620966608 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870389917584 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870389917584 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870338789376 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870086500792 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132869956629776 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870349284704 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132869538530384 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132869602299664 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 132870086482504 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870338789376 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870086506544 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870389917584 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870389917584 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 189474400 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870389916976 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870389917584 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870389917584 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 132869424361296 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 132869424361296 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 132869650125456 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870389917584 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870389917584 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870338789376 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870086500792 to ptr) to ptr addrspace(10)), ptr addrspace(10) %15, ptr addrspace(10) %14, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870086548456 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870086531960 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 132869626290832 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870389917584 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870389917584 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870338789376 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870086500792 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870376274304 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 132870343369504 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_48911_inner.1([3 x [1 x [4 x double]]] \"enzyme_type\"=\"{[-1]:Float@double}\" \"enzymejl_parmtype\"=\"132869592993616\" \"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 132870382574464 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870341413792 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870086531960 to ptr) to ptr addrspace(10))) #11, !dbg !78\n %.not = icmp eq ptr addrspace(10) %1, addrspacecast (ptr inttoptr (i64 132869640322832 to ptr) to ptr addrspace(10)), !dbg !78\n %\"ejl_inserted\$_Core_Tuple_48918\$false\$132870217909968.ejl_inserted\$_Main__flux_48933\$false\$132869491047952\" = select i1 %.not, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132869491047952 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870217909968 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 132870410933696 to ptr) to ptr addrspace(10)), ptr addrspace(10) %\"ejl_inserted\$_Core_Tuple_48918\$false\$132870217909968.ejl_inserted\$_Main__flux_48933\$false\$132869491047952\", ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870217909968 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 132870382574464 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870341413792 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870086531960 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 132869424361296 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 132870382574464 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870341413792 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 132870410933696 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 132870382574464 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870341413792 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870086531960 to ptr) to ptr addrspace(10))) #11, !dbg !98\n %.not39 = icmp eq ptr addrspace(10) %5, addrspacecast (ptr inttoptr (i64 132869640322832 to ptr) to ptr addrspace(10)), !dbg !98\n %value_phi14.i = select i1 %.not39, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132869491047952 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870217909968 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 132870410933696 to ptr) to ptr addrspace(10)), ptr addrspace(10) %value_phi14.i, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870217909968 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 132869956629776 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870349284704 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132869538530384 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132869602299664 to ptr) to ptr addrspace(10)), ptr addrspace(10) nonnull %jl_f_apply_type_ret9.i, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870086482504 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870338789376 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870086506544 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870389917584 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870389917584 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 189474400 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870389916976 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870389917584 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870389917584 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 132869424361296 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 132870086548456 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870086531960 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 132870376274304 to ptr) to ptr addrspace(10)), ptr addrspace(10) nonnull %8, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870343369504 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\"=\"40004\" }\nattributes #1 = { nofree \"enzymejl_world\"=\"40004\" }\nattributes #2 = { nofree \"enzyme_inactive\" \"enzyme_no_escaping_allocation\" \"enzymejl_world\"=\"40004\" }\nattributes #3 = { mustprogress nofree nounwind willreturn allockind(\"alloc,uninitialized\") allocsize(1) memory(inaccessiblemem: readwrite) \"enzyme_ReadOnlyOrThrow\" \"enzyme_no_escaping_allocation\" \"enzymejl_world\"=\"40004\" }\nattributes #4 = { nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }\nattributes #5 = { alwaysinline \"enzymejl_world\"=\"40004\" }\nattributes #6 = { \"enzyme_retremove\" \"enzyme_ta_norecur\" \"enzymejl_mi\"=\"132869426358416\" \"enzymejl_rt\"=\"132870410933472\" \"enzymejl_world\"=\"40004\" }\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_48911_inner_1wrap\", linkageName: \"fwddiffejulia_derivative_bundle_48911_inner_1wrap\", scope: null, file: !9, type: !10, spFlags: DISPFlagLocalToUnit | DISPFlagDefinition | DISPFlagOptimized, unit: !7)\n!9 = !DIFile(filename: \"/home/pkgeval/.julia/packages/TowerOfEnzyme/wUeMv/src/TowerOfEnzyme.jl\", directory: \".\")\n!10 = !DISubroutineType(types: !0)\n!11 = !DILocation(line: 0, scope: !12, inlinedAt: !13)\n!12 = distinct !DISubprogram(name: \"derivative_bundle\", linkageName: \"julia_derivative_bundle_48911\", scope: null, file: !9, line: 53, type: !10, scopeLine: 53, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !7)\n!13 = distinct !DILocation(line: 0, scope: !8)\n!14 = !{!\"Unknown\", i32 -1, !15}\n!15 = !{!\"Float@double\"}\n!16 = !DILocation(line: 181, scope: !17, inlinedAt: !19)\n!17 = distinct !DISubprogram(name: \"#vaEltypeof##0;\", linkageName: \"#vaEltypeof##0\", scope: !18, file: !18, type: !10, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !7)\n!18 = !DIFile(filename: \"/home/pkgeval/.julia/packages/Enzyme/2lHFw/src/Enzyme.jl\", directory: \".\")\n!19 = distinct !DILocation(line: 68, scope: !20, inlinedAt: !22)\n!20 = distinct !DISubprogram(name: \"macro expansion;\", linkageName: \"macro expansion\", scope: !21, file: !21, type: !10, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !7)\n!21 = !DIFile(filename: \"ntuple.jl\", directory: \".\")\n!22 = distinct !DILocation(line: 65, scope: !23, inlinedAt: !24)\n!23 = distinct !DISubprogram(name: \"ntuple;\", linkageName: \"ntuple\", scope: !21, file: !21, type: !10, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !7)\n!24 = distinct !DILocation(line: 178, scope: !25, inlinedAt: !26)\n!25 = distinct !DISubprogram(name: \"vaEltypeof;\", linkageName: \"vaEltypeof\", scope: !18, file: !18, type: !10, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !7)\n!26 = distinct !DILocation(line: 555, scope: !27, inlinedAt: !28)\n!27 = distinct !DISubprogram(name: \"autodiff;\", linkageName: \"autodiff\", scope: !18, file: !18, type: !10, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !7)\n!28 = distinct !DILocation(line: 534, scope: !27, inlinedAt: !29)\n!29 = distinct !DILocation(line: 59, scope: !12, inlinedAt: !30)\n!30 = distinct !DILocation(line: 0, scope: !12, inlinedAt: !13)\n!31 = !DILocation(line: 178, scope: !25, inlinedAt: !26)\n!32 = !DILocation(line: 172, scope: !33, inlinedAt: !34)\n!33 = distinct !DISubprogram(name: \"#vaTypeof##0;\", linkageName: \"#vaTypeof##0\", scope: !18, file: !18, type: !10, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !7)\n!34 = distinct !DILocation(line: 68, scope: !20, inlinedAt: !35)\n!35 = distinct !DILocation(line: 65, scope: !23, inlinedAt: !36)\n!36 = distinct !DILocation(line: 169, scope: !37, inlinedAt: !38)\n!37 = distinct !DISubprogram(name: \"vaTypeof;\", linkageName: \"vaTypeof\", scope: !18, file: !18, type: !10, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !7)\n!38 = distinct !DILocation(line: 617, scope: !27, inlinedAt: !39)\n!39 = distinct !DILocation(line: 562, scope: !27, inlinedAt: !28)\n!40 = !{!\"132869424361296\"}\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_48911\", scope: null, file: !9, line: 53, type: !10, scopeLine: 53, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !7)\n!77 = !DILocation(line: 0, scope: !76)\n!78 = !DILocation(line: 181, scope: !17, inlinedAt: !79)\n!79 = distinct !DILocation(line: 68, scope: !20, inlinedAt: !80)\n!80 = distinct !DILocation(line: 65, scope: !23, inlinedAt: !81)\n!81 = distinct !DILocation(line: 178, scope: !25, inlinedAt: !82)\n!82 = distinct !DILocation(line: 555, scope: !27, inlinedAt: !83)\n!83 = distinct !DILocation(line: 534, scope: !27, inlinedAt: !84)\n!84 = distinct !DILocation(line: 59, scope: !76, inlinedAt: !85)\n!85 = distinct !DILocation(line: 0, scope: !76)\n!86 = !DILocation(line: 178, scope: !25, inlinedAt: !82)\n!87 = !DILocation(line: 172, scope: !33, inlinedAt: !88)\n!88 = distinct !DILocation(line: 68, scope: !20, inlinedAt: !89)\n!89 = distinct !DILocation(line: 65, scope: !23, inlinedAt: !90)\n!90 = distinct !DILocation(line: 169, scope: !37, inlinedAt: !91)\n!91 = distinct !DILocation(line: 617, scope: !27, inlinedAt: !92)\n!92 = distinct !DILocation(line: 562, scope: !27, inlinedAt: !83)\n!93 = !{!47, !49}\n!94 = !{!95, !54, !55, !56}\n!95 = distinct !{!95, !96, !\"na_addr13\"}\n!96 = distinct !{!96, !\"addr13\"}\n!97 = !DILocation(line: 169, scope: !37, inlinedAt: !91)\n!98 = !DILocation(line: 181, scope: !17, inlinedAt: !99)\n!99 = distinct !DILocation(line: 68, scope: !20, inlinedAt: !100)\n!100 = distinct !DILocation(line: 65, scope: !23, inlinedAt: !101)\n!101 = distinct !DILocation(line: 178, scope: !25, inlinedAt: !102)\n!102 = distinct !DILocation(line: 650, scope: !27, inlinedAt: !92)\n!103 = !DILocation(line: 178, scope: !25, inlinedAt: !102)\n!104 = !DILocation(line: 658, scope: !27, inlinedAt: !92)\n!105 = !DILocation(line: 673, scope: !27, inlinedAt: !92)\n!106 = !DILocation(line: 59, scope: !76, inlinedAt: !85)\n"), :fwddiffejulia_derivative_bundle_48911_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_48911_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 132870382574464 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870341413792 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870086531960 to ptr) to ptr addrspace(10))) #8, !dbg !16\n %.not.i = icmp eq ptr addrspace(10) %3, addrspacecast (ptr inttoptr (i64 132869640322832 to ptr) to ptr addrspace(10)), !dbg !16\n %\"ejl_inserted\$_Core_Tuple_48918\$false\$132870217909968.ejl_inserted\$_Main__flux_48933\$false\$132869491047952.i\" = select i1 %.not.i, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132869491047952 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870217909968 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 132870410933696 to ptr) to ptr addrspace(10)), ptr addrspace(10) %\"ejl_inserted\$_Core_Tuple_48918\$false\$132870217909968.ejl_inserted\$_Main__flux_48933\$false\$132869491047952.i\", ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870217909968 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 132870382574464 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870341413792 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870086531960 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 132869424361296 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 132869424361296 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 132870252021328 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870389917584 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870389917584 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870338789376 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870086500792 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870341413792 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 132870410933696 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 132870382574464 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870341413792 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870086531960 to ptr) to ptr addrspace(10))) #8, !dbg !60\n %.not39.i = icmp eq ptr addrspace(10) %10, addrspacecast (ptr inttoptr (i64 132869640322832 to ptr) to ptr addrspace(10)), !dbg !60\n %value_phi14.i.i = select i1 %.not39.i, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132869491047952 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870217909968 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 132870410933696 to ptr) to ptr addrspace(10)), ptr addrspace(10) %value_phi14.i.i, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870217909968 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 132869620966608 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870389917584 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870389917584 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870338789376 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870086500792 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132869956629776 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870349284704 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132869538530384 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132869602299664 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 132870086482504 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870338789376 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870086506544 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870389917584 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870389917584 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 189474400 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870389916976 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870389917584 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870389917584 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 132869424361296 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 132869424361296 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 132869650125456 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870389917584 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870389917584 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870338789376 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870086500792 to ptr) to ptr addrspace(10)), ptr addrspace(10) %15, ptr addrspace(10) %14, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870086548456 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870086531960 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 132869626290832 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870389917584 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870389917584 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870338789376 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870086500792 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870376274304 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 132870343369504 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_48911_inner.1([3 x [1 x [4 x double]]] \"enzyme_type\"=\"{[-1]:Float@double}\" \"enzymejl_parmtype\"=\"132869592993616\" \"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 132870382574464 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870341413792 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870086531960 to ptr) to ptr addrspace(10))) #11, !dbg !78\n %.not = icmp eq ptr addrspace(10) %1, addrspacecast (ptr inttoptr (i64 132869640322832 to ptr) to ptr addrspace(10)), !dbg !78\n %\"ejl_inserted\$_Core_Tuple_48918\$false\$132870217909968.ejl_inserted\$_Main__flux_48933\$false\$132869491047952\" = select i1 %.not, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132869491047952 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870217909968 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 132870410933696 to ptr) to ptr addrspace(10)), ptr addrspace(10) %\"ejl_inserted\$_Core_Tuple_48918\$false\$132870217909968.ejl_inserted\$_Main__flux_48933\$false\$132869491047952\", ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870217909968 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 132870382574464 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870341413792 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870086531960 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 132869424361296 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 132870382574464 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870341413792 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 132870410933696 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 132870382574464 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870341413792 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870086531960 to ptr) to ptr addrspace(10))) #11, !dbg !98\n %.not39 = icmp eq ptr addrspace(10) %5, addrspacecast (ptr inttoptr (i64 132869640322832 to ptr) to ptr addrspace(10)), !dbg !98\n %value_phi14.i = select i1 %.not39, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132869491047952 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870217909968 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 132870410933696 to ptr) to ptr addrspace(10)), ptr addrspace(10) %value_phi14.i, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870217909968 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 132869956629776 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870349284704 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132869538530384 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132869602299664 to ptr) to ptr addrspace(10)), ptr addrspace(10) nonnull %jl_f_apply_type_ret9.i, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870086482504 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870338789376 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870086506544 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870389917584 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870389917584 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 189474400 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870389916976 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870389917584 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870389917584 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 132869424361296 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 132870086548456 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870086531960 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 132870376274304 to ptr) to ptr addrspace(10)), ptr addrspace(10) nonnull %8, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870343369504 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\"=\"40004\" }\nattributes #1 = { nofree \"enzymejl_world\"=\"40004\" }\nattributes #2 = { nofree \"enzyme_inactive\" \"enzyme_no_escaping_allocation\" \"enzymejl_world\"=\"40004\" }\nattributes #3 = { mustprogress nofree nounwind willreturn allockind(\"alloc,uninitialized\") allocsize(1) memory(inaccessiblemem: readwrite) \"enzyme_ReadOnlyOrThrow\" \"enzyme_no_escaping_allocation\" \"enzymejl_world\"=\"40004\" }\nattributes #4 = { nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }\nattributes #5 = { alwaysinline \"enzymejl_world\"=\"40004\" }\nattributes #6 = { \"enzyme_retremove\" \"enzyme_ta_norecur\" \"enzymejl_mi\"=\"132869426358416\" \"enzymejl_rt\"=\"132870410933472\" \"enzymejl_world\"=\"40004\" }\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_48911_inner_1wrap\", linkageName: \"fwddiffejulia_derivative_bundle_48911_inner_1wrap\", scope: null, file: !9, type: !10, spFlags: DISPFlagLocalToUnit | DISPFlagDefinition | DISPFlagOptimized, unit: !7)\n!9 = !DIFile(filename: \"/home/pkgeval/.julia/packages/TowerOfEnzyme/wUeMv/src/TowerOfEnzyme.jl\", directory: \".\")\n!10 = !DISubroutineType(types: !0)\n!11 = !DILocation(line: 0, scope: !12, inlinedAt: !13)\n!12 = distinct !DISubprogram(name: \"derivative_bundle\", linkageName: \"julia_derivative_bundle_48911\", scope: null, file: !9, line: 53, type: !10, scopeLine: 53, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !7)\n!13 = distinct !DILocation(line: 0, scope: !8)\n!14 = !{!\"Unknown\", i32 -1, !15}\n!15 = !{!\"Float@double\"}\n!16 = !DILocation(line: 181, scope: !17, inlinedAt: !19)\n!17 = distinct !DISubprogram(name: \"#vaEltypeof##0;\", linkageName: \"#vaEltypeof##0\", scope: !18, file: !18, type: !10, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !7)\n!18 = !DIFile(filename: \"/home/pkgeval/.julia/packages/Enzyme/2lHFw/src/Enzyme.jl\", directory: \".\")\n!19 = distinct !DILocation(line: 68, scope: !20, inlinedAt: !22)\n!20 = distinct !DISubprogram(name: \"macro expansion;\", linkageName: \"macro expansion\", scope: !21, file: !21, type: !10, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !7)\n!21 = !DIFile(filename: \"ntuple.jl\", directory: \".\")\n!22 = distinct !DILocation(line: 65, scope: !23, inlinedAt: !24)\n!23 = distinct !DISubprogram(name: \"ntuple;\", linkageName: \"ntuple\", scope: !21, file: !21, type: !10, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !7)\n!24 = distinct !DILocation(line: 178, scope: !25, inlinedAt: !26)\n!25 = distinct !DISubprogram(name: \"vaEltypeof;\", linkageName: \"vaEltypeof\", scope: !18, file: !18, type: !10, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !7)\n!26 = distinct !DILocation(line: 555, scope: !27, inlinedAt: !28)\n!27 = distinct !DISubprogram(name: \"autodiff;\", linkageName: \"autodiff\", scope: !18, file: !18, type: !10, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !7)\n!28 = distinct !DILocation(line: 534, scope: !27, inlinedAt: !29)\n!29 = distinct !DILocation(line: 59, scope: !12, inlinedAt: !30)\n!30 = distinct !DILocation(line: 0, scope: !12, inlinedAt: !13)\n!31 = !DILocation(line: 178, scope: !25, inlinedAt: !26)\n!32 = !DILocation(line: 172, scope: !33, inlinedAt: !34)\n!33 = distinct !DISubprogram(name: \"#vaTypeof##0;\", linkageName: \"#vaTypeof##0\", scope: !18, file: !18, type: !10, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !7)\n!34 = distinct !DILocation(line: 68, scope: !20, inlinedAt: !35)\n!35 = distinct !DILocation(line: 65, scope: !23, inlinedAt: !36)\n!36 = distinct !DILocation(line: 169, scope: !37, inlinedAt: !38)\n!37 = distinct !DISubprogram(name: \"vaTypeof;\", linkageName: \"vaTypeof\", scope: !18, file: !18, type: !10, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !7)\n!38 = distinct !DILocation(line: 617, scope: !27, inlinedAt: !39)\n!39 = distinct !DILocation(line: 562, scope: !27, inlinedAt: !28)\n!40 = !{!\"132869424361296\"}\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_48911\", scope: null, file: !9, line: 53, type: !10, scopeLine: 53, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !7)\n!77 = !DILocation(line: 0, scope: !76)\n!78 = !DILocation(line: 181, scope: !17, inlinedAt: !79)\n!79 = distinct !DILocation(line: 68, scope: !20, inlinedAt: !80)\n!80 = distinct !DILocation(line: 65, scope: !23, inlinedAt: !81)\n!81 = distinct !DILocation(line: 178, scope: !25, inlinedAt: !82)\n!82 = distinct !DILocation(line: 555, scope: !27, inlinedAt: !83)\n!83 = distinct !DILocation(line: 534, scope: !27, inlinedAt: !84)\n!84 = distinct !DILocation(line: 59, scope: !76, inlinedAt: !85)\n!85 = distinct !DILocation(line: 0, scope: !76)\n!86 = !DILocation(line: 178, scope: !25, inlinedAt: !82)\n!87 = !DILocation(line: 172, scope: !33, inlinedAt: !88)\n!88 = distinct !DILocation(line: 68, scope: !20, inlinedAt: !89)\n!89 = distinct !DILocation(line: 65, scope: !23, inlinedAt: !90)\n!90 = distinct !DILocation(line: 169, scope: !37, inlinedAt: !91)\n!91 = distinct !DILocation(line: 617, scope: !27, inlinedAt: !92)\n!92 = distinct !DILocation(line: 562, scope: !27, inlinedAt: !83)\n!93 = !{!47, !49}\n!94 = !{!95, !54, !55, !56}\n!95 = distinct !{!95, !96, !\"na_addr13\"}\n!96 = distinct !{!96, !\"addr13\"}\n!97 = !DILocation(line: 169, scope: !37, inlinedAt: !91)\n!98 = !DILocation(line: 181, scope: !17, inlinedAt: !99)\n!99 = distinct !DILocation(line: 68, scope: !20, inlinedAt: !100)\n!100 = distinct !DILocation(line: 65, scope: !23, inlinedAt: !101)\n!101 = distinct !DILocation(line: 178, scope: !25, inlinedAt: !102)\n!102 = distinct !DILocation(line: 650, scope: !27, inlinedAt: !92)\n!103 = !DILocation(line: 178, scope: !25, inlinedAt: !102)\n!104 = !DILocation(line: 658, scope: !27, inlinedAt: !92)\n!105 = !DILocation(line: 673, scope: !27, inlinedAt: !92)\n!106 = !DILocation(line: 59, scope: !76, inlinedAt: !85)\n"), :fwddiffejulia_derivative_bundle_48911_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_49279_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_49279_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 132870382574464 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870341413792 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870086531960 to ptr) to ptr addrspace(10))) #8, !dbg !16\n %.not.i = icmp eq ptr addrspace(10) %3, addrspacecast (ptr inttoptr (i64 132869640322832 to ptr) to ptr addrspace(10)), !dbg !16\n %\"ejl_inserted\$_Core_Tuple_49286\$false\$132869592993616.ejl_inserted\$_Main__flux_49301\$false\$132869491047952.i\" = select i1 %.not.i, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132869491047952 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132869592993616 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 132870410933696 to ptr) to ptr addrspace(10)), ptr addrspace(10) %\"ejl_inserted\$_Core_Tuple_49286\$false\$132869592993616.ejl_inserted\$_Main__flux_49301\$false\$132869491047952.i\", ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132869592993616 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 132870382574464 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870341413792 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870086531960 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 132870243105232 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 132870243105232 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 132870252021328 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870389917584 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870389917584 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870338789376 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870086500792 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870341413792 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 132870410933696 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 132870382574464 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870341413792 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870086531960 to ptr) to ptr addrspace(10))) #8, !dbg !60\n %.not62.i = icmp eq ptr addrspace(10) %10, addrspacecast (ptr inttoptr (i64 132869640322832 to ptr) to ptr addrspace(10)), !dbg !60\n %value_phi15.i.i = select i1 %.not62.i, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132869491047952 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132869592993616 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 132870410933696 to ptr) to ptr addrspace(10)), ptr addrspace(10) %value_phi15.i.i, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132869592993616 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 132869620966608 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870389917584 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870389917584 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870338789376 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870086500792 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132869956629776 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870349284704 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132869538530384 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132869602299664 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 132870086482504 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870338789376 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870086506544 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870389917584 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870389917584 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 189474400 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870389916976 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870389917584 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870389917584 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 132870243105232 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 132870243105232 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 132869650125456 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870389917584 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870389917584 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870338789376 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870086500792 to ptr) to ptr addrspace(10)), ptr addrspace(10) %15, ptr addrspace(10) %14, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870086548456 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870086531960 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 132869626290832 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870389917584 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870389917584 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870338789376 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870086500792 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870376274304 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 132870343369504 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_49279_inner.1([4 x [1 x [4 x double]]] \"enzyme_type\"=\"{[-1]:Float@double}\" \"enzymejl_parmtype\"=\"132869530985488\" \"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 132870382574464 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870341413792 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870086531960 to ptr) to ptr addrspace(10))) #11, !dbg !78\n %.not = icmp eq ptr addrspace(10) %1, addrspacecast (ptr inttoptr (i64 132869640322832 to ptr) to ptr addrspace(10)), !dbg !78\n %\"ejl_inserted\$_Core_Tuple_49286\$false\$132869592993616.ejl_inserted\$_Main__flux_49301\$false\$132869491047952\" = select i1 %.not, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132869491047952 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132869592993616 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 132870410933696 to ptr) to ptr addrspace(10)), ptr addrspace(10) %\"ejl_inserted\$_Core_Tuple_49286\$false\$132869592993616.ejl_inserted\$_Main__flux_49301\$false\$132869491047952\", ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132869592993616 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 132870382574464 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870341413792 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870086531960 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 132870243105232 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 132870382574464 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870341413792 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 132870410933696 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 132870382574464 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870341413792 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870086531960 to ptr) to ptr addrspace(10))) #11, !dbg !98\n %.not62 = icmp eq ptr addrspace(10) %5, addrspacecast (ptr inttoptr (i64 132869640322832 to ptr) to ptr addrspace(10)), !dbg !98\n %value_phi15.i = select i1 %.not62, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132869491047952 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132869592993616 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 132870410933696 to ptr) to ptr addrspace(10)), ptr addrspace(10) %value_phi15.i, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132869592993616 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 132869956629776 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870349284704 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132869538530384 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132869602299664 to ptr) to ptr addrspace(10)), ptr addrspace(10) nonnull %jl_f_apply_type_ret10.i, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870086482504 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870338789376 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870086506544 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870389917584 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870389917584 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 189474400 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870389916976 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870389917584 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870389917584 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 132870243105232 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 132870086548456 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870086531960 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 132870376274304 to ptr) to ptr addrspace(10)), ptr addrspace(10) nonnull %8, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870343369504 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\"=\"40004\" }\nattributes #1 = { nofree \"enzymejl_world\"=\"40004\" }\nattributes #2 = { nofree \"enzyme_inactive\" \"enzyme_no_escaping_allocation\" \"enzymejl_world\"=\"40004\" }\nattributes #3 = { mustprogress nofree nounwind willreturn allockind(\"alloc,uninitialized\") allocsize(1) memory(inaccessiblemem: readwrite) \"enzyme_ReadOnlyOrThrow\" \"enzyme_no_escaping_allocation\" \"enzymejl_world\"=\"40004\" }\nattributes #4 = { nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }\nattributes #5 = { alwaysinline \"enzymejl_world\"=\"40004\" }\nattributes #6 = { \"enzyme_retremove\" \"enzyme_ta_norecur\" \"enzymejl_mi\"=\"132870232204176\" \"enzymejl_rt\"=\"132870410933472\" \"enzymejl_world\"=\"40004\" }\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_49279_inner_1wrap\", linkageName: \"fwddiffejulia_derivative_bundle_49279_inner_1wrap\", scope: null, file: !9, type: !10, spFlags: DISPFlagLocalToUnit | DISPFlagDefinition | DISPFlagOptimized, unit: !7)\n!9 = !DIFile(filename: \"/home/pkgeval/.julia/packages/TowerOfEnzyme/wUeMv/src/TowerOfEnzyme.jl\", directory: \".\")\n!10 = !DISubroutineType(types: !0)\n!11 = !DILocation(line: 0, scope: !12, inlinedAt: !13)\n!12 = distinct !DISubprogram(name: \"derivative_bundle\", linkageName: \"julia_derivative_bundle_49279\", scope: null, file: !9, line: 53, type: !10, scopeLine: 53, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !7)\n!13 = distinct !DILocation(line: 0, scope: !8)\n!14 = !{!\"Unknown\", i32 -1, !15}\n!15 = !{!\"Float@double\"}\n!16 = !DILocation(line: 181, scope: !17, inlinedAt: !19)\n!17 = distinct !DISubprogram(name: \"#vaEltypeof##0;\", linkageName: \"#vaEltypeof##0\", scope: !18, file: !18, type: !10, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !7)\n!18 = !DIFile(filename: \"/home/pkgeval/.julia/packages/Enzyme/2lHFw/src/Enzyme.jl\", directory: \".\")\n!19 = distinct !DILocation(line: 68, scope: !20, inlinedAt: !22)\n!20 = distinct !DISubprogram(name: \"macro expansion;\", linkageName: \"macro expansion\", scope: !21, file: !21, type: !10, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !7)\n!21 = !DIFile(filename: \"ntuple.jl\", directory: \".\")\n!22 = distinct !DILocation(line: 65, scope: !23, inlinedAt: !24)\n!23 = distinct !DISubprogram(name: \"ntuple;\", linkageName: \"ntuple\", scope: !21, file: !21, type: !10, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !7)\n!24 = distinct !DILocation(line: 178, scope: !25, inlinedAt: !26)\n!25 = distinct !DISubprogram(name: \"vaEltypeof;\", linkageName: \"vaEltypeof\", scope: !18, file: !18, type: !10, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !7)\n!26 = distinct !DILocation(line: 555, scope: !27, inlinedAt: !28)\n!27 = distinct !DISubprogram(name: \"autodiff;\", linkageName: \"autodiff\", scope: !18, file: !18, type: !10, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !7)\n!28 = distinct !DILocation(line: 534, scope: !27, inlinedAt: !29)\n!29 = distinct !DILocation(line: 59, scope: !12, inlinedAt: !30)\n!30 = distinct !DILocation(line: 0, scope: !12, inlinedAt: !13)\n!31 = !DILocation(line: 178, scope: !25, inlinedAt: !26)\n!32 = !DILocation(line: 172, scope: !33, inlinedAt: !34)\n!33 = distinct !DISubprogram(name: \"#vaTypeof##0;\", linkageName: \"#vaTypeof##0\", scope: !18, file: !18, type: !10, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !7)\n!34 = distinct !DILocation(line: 68, scope: !20, inlinedAt: !35)\n!35 = distinct !DILocation(line: 65, scope: !23, inlinedAt: !36)\n!36 = distinct !DILocation(line: 169, scope: !37, inlinedAt: !38)\n!37 = distinct !DISubprogram(name: \"vaTypeof;\", linkageName: \"vaTypeof\", scope: !18, file: !18, type: !10, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !7)\n!38 = distinct !DILocation(line: 617, scope: !27, inlinedAt: !39)\n!39 = distinct !DILocation(line: 562, scope: !27, inlinedAt: !28)\n!40 = !{!\"132870243105232\"}\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_49279\", scope: null, file: !9, line: 53, type: !10, scopeLine: 53, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !7)\n!77 = !DILocation(line: 0, scope: !76)\n!78 = !DILocation(line: 181, scope: !17, inlinedAt: !79)\n!79 = distinct !DILocation(line: 68, scope: !20, inlinedAt: !80)\n!80 = distinct !DILocation(line: 65, scope: !23, inlinedAt: !81)\n!81 = distinct !DILocation(line: 178, scope: !25, inlinedAt: !82)\n!82 = distinct !DILocation(line: 555, scope: !27, inlinedAt: !83)\n!83 = distinct !DILocation(line: 534, scope: !27, inlinedAt: !84)\n!84 = distinct !DILocation(line: 59, scope: !76, inlinedAt: !85)\n!85 = distinct !DILocation(line: 0, scope: !76)\n!86 = !DILocation(line: 178, scope: !25, inlinedAt: !82)\n!87 = !DILocation(line: 172, scope: !33, inlinedAt: !88)\n!88 = distinct !DILocation(line: 68, scope: !20, inlinedAt: !89)\n!89 = distinct !DILocation(line: 65, scope: !23, inlinedAt: !90)\n!90 = distinct !DILocation(line: 169, scope: !37, inlinedAt: !91)\n!91 = distinct !DILocation(line: 617, scope: !27, inlinedAt: !92)\n!92 = distinct !DILocation(line: 562, scope: !27, inlinedAt: !83)\n!93 = !{!47, !49}\n!94 = !{!95, !54, !55, !56}\n!95 = distinct !{!95, !96, !\"na_addr13\"}\n!96 = distinct !{!96, !\"addr13\"}\n!97 = !DILocation(line: 169, scope: !37, inlinedAt: !91)\n!98 = !DILocation(line: 181, scope: !17, inlinedAt: !99)\n!99 = distinct !DILocation(line: 68, scope: !20, inlinedAt: !100)\n!100 = distinct !DILocation(line: 65, scope: !23, inlinedAt: !101)\n!101 = distinct !DILocation(line: 178, scope: !25, inlinedAt: !102)\n!102 = distinct !DILocation(line: 650, scope: !27, inlinedAt: !92)\n!103 = !DILocation(line: 178, scope: !25, inlinedAt: !102)\n!104 = !DILocation(line: 658, scope: !27, inlinedAt: !92)\n!105 = !DILocation(line: 673, scope: !27, inlinedAt: !92)\n!106 = !DILocation(line: 59, scope: !76, inlinedAt: !85)\n"), :fwddiffejulia_derivative_bundle_49279_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_49279_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 132870382574464 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870341413792 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870086531960 to ptr) to ptr addrspace(10))) #8, !dbg !16\n %.not.i = icmp eq ptr addrspace(10) %3, addrspacecast (ptr inttoptr (i64 132869640322832 to ptr) to ptr addrspace(10)), !dbg !16\n %\"ejl_inserted\$_Core_Tuple_49286\$false\$132869592993616.ejl_inserted\$_Main__flux_49301\$false\$132869491047952.i\" = select i1 %.not.i, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132869491047952 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132869592993616 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 132870410933696 to ptr) to ptr addrspace(10)), ptr addrspace(10) %\"ejl_inserted\$_Core_Tuple_49286\$false\$132869592993616.ejl_inserted\$_Main__flux_49301\$false\$132869491047952.i\", ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132869592993616 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 132870382574464 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870341413792 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870086531960 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 132870243105232 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 132870243105232 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 132870252021328 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870389917584 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870389917584 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870338789376 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870086500792 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870341413792 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 132870410933696 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 132870382574464 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870341413792 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870086531960 to ptr) to ptr addrspace(10))) #8, !dbg !60\n %.not62.i = icmp eq ptr addrspace(10) %10, addrspacecast (ptr inttoptr (i64 132869640322832 to ptr) to ptr addrspace(10)), !dbg !60\n %value_phi15.i.i = select i1 %.not62.i, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132869491047952 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132869592993616 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 132870410933696 to ptr) to ptr addrspace(10)), ptr addrspace(10) %value_phi15.i.i, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132869592993616 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 132869620966608 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870389917584 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870389917584 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870338789376 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870086500792 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132869956629776 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870349284704 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132869538530384 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132869602299664 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 132870086482504 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870338789376 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870086506544 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870389917584 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870389917584 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 189474400 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870389916976 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870389917584 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870389917584 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 132870243105232 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 132870243105232 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 132869650125456 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870389917584 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870389917584 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870338789376 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870086500792 to ptr) to ptr addrspace(10)), ptr addrspace(10) %15, ptr addrspace(10) %14, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870086548456 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870086531960 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 132869626290832 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870389917584 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870389917584 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870338789376 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870086500792 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870376274304 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 132870343369504 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_49279_inner.1([4 x [1 x [4 x double]]] \"enzyme_type\"=\"{[-1]:Float@double}\" \"enzymejl_parmtype\"=\"132869530985488\" \"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 132870382574464 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870341413792 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870086531960 to ptr) to ptr addrspace(10))) #11, !dbg !78\n %.not = icmp eq ptr addrspace(10) %1, addrspacecast (ptr inttoptr (i64 132869640322832 to ptr) to ptr addrspace(10)), !dbg !78\n %\"ejl_inserted\$_Core_Tuple_49286\$false\$132869592993616.ejl_inserted\$_Main__flux_49301\$false\$132869491047952\" = select i1 %.not, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132869491047952 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132869592993616 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 132870410933696 to ptr) to ptr addrspace(10)), ptr addrspace(10) %\"ejl_inserted\$_Core_Tuple_49286\$false\$132869592993616.ejl_inserted\$_Main__flux_49301\$false\$132869491047952\", ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132869592993616 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 132870382574464 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870341413792 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870086531960 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 132870243105232 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 132870382574464 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870341413792 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 132870410933696 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 132870382574464 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870341413792 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870086531960 to ptr) to ptr addrspace(10))) #11, !dbg !98\n %.not62 = icmp eq ptr addrspace(10) %5, addrspacecast (ptr inttoptr (i64 132869640322832 to ptr) to ptr addrspace(10)), !dbg !98\n %value_phi15.i = select i1 %.not62, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132869491047952 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132869592993616 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 132870410933696 to ptr) to ptr addrspace(10)), ptr addrspace(10) %value_phi15.i, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132869592993616 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 132869956629776 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870349284704 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132869538530384 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132869602299664 to ptr) to ptr addrspace(10)), ptr addrspace(10) nonnull %jl_f_apply_type_ret10.i, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870086482504 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870338789376 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870086506544 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870389917584 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870389917584 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 189474400 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870389916976 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870389917584 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870389917584 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 132870243105232 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 132870086548456 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870086531960 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 132870376274304 to ptr) to ptr addrspace(10)), ptr addrspace(10) nonnull %8, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870343369504 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\"=\"40004\" }\nattributes #1 = { nofree \"enzymejl_world\"=\"40004\" }\nattributes #2 = { nofree \"enzyme_inactive\" \"enzyme_no_escaping_allocation\" \"enzymejl_world\"=\"40004\" }\nattributes #3 = { mustprogress nofree nounwind willreturn allockind(\"alloc,uninitialized\") allocsize(1) memory(inaccessiblemem: readwrite) \"enzyme_ReadOnlyOrThrow\" \"enzyme_no_escaping_allocation\" \"enzymejl_world\"=\"40004\" }\nattributes #4 = { nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }\nattributes #5 = { alwaysinline \"enzymejl_world\"=\"40004\" }\nattributes #6 = { \"enzyme_retremove\" \"enzyme_ta_norecur\" \"enzymejl_mi\"=\"132870232204176\" \"enzymejl_rt\"=\"132870410933472\" \"enzymejl_world\"=\"40004\" }\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_49279_inner_1wrap\", linkageName: \"fwddiffejulia_derivative_bundle_49279_inner_1wrap\", scope: null, file: !9, type: !10, spFlags: DISPFlagLocalToUnit | DISPFlagDefinition | DISPFlagOptimized, unit: !7)\n!9 = !DIFile(filename: \"/home/pkgeval/.julia/packages/TowerOfEnzyme/wUeMv/src/TowerOfEnzyme.jl\", directory: \".\")\n!10 = !DISubroutineType(types: !0)\n!11 = !DILocation(line: 0, scope: !12, inlinedAt: !13)\n!12 = distinct !DISubprogram(name: \"derivative_bundle\", linkageName: \"julia_derivative_bundle_49279\", scope: null, file: !9, line: 53, type: !10, scopeLine: 53, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !7)\n!13 = distinct !DILocation(line: 0, scope: !8)\n!14 = !{!\"Unknown\", i32 -1, !15}\n!15 = !{!\"Float@double\"}\n!16 = !DILocation(line: 181, scope: !17, inlinedAt: !19)\n!17 = distinct !DISubprogram(name: \"#vaEltypeof##0;\", linkageName: \"#vaEltypeof##0\", scope: !18, file: !18, type: !10, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !7)\n!18 = !DIFile(filename: \"/home/pkgeval/.julia/packages/Enzyme/2lHFw/src/Enzyme.jl\", directory: \".\")\n!19 = distinct !DILocation(line: 68, scope: !20, inlinedAt: !22)\n!20 = distinct !DISubprogram(name: \"macro expansion;\", linkageName: \"macro expansion\", scope: !21, file: !21, type: !10, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !7)\n!21 = !DIFile(filename: \"ntuple.jl\", directory: \".\")\n!22 = distinct !DILocation(line: 65, scope: !23, inlinedAt: !24)\n!23 = distinct !DISubprogram(name: \"ntuple;\", linkageName: \"ntuple\", scope: !21, file: !21, type: !10, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !7)\n!24 = distinct !DILocation(line: 178, scope: !25, inlinedAt: !26)\n!25 = distinct !DISubprogram(name: \"vaEltypeof;\", linkageName: \"vaEltypeof\", scope: !18, file: !18, type: !10, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !7)\n!26 = distinct !DILocation(line: 555, scope: !27, inlinedAt: !28)\n!27 = distinct !DISubprogram(name: \"autodiff;\", linkageName: \"autodiff\", scope: !18, file: !18, type: !10, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !7)\n!28 = distinct !DILocation(line: 534, scope: !27, inlinedAt: !29)\n!29 = distinct !DILocation(line: 59, scope: !12, inlinedAt: !30)\n!30 = distinct !DILocation(line: 0, scope: !12, inlinedAt: !13)\n!31 = !DILocation(line: 178, scope: !25, inlinedAt: !26)\n!32 = !DILocation(line: 172, scope: !33, inlinedAt: !34)\n!33 = distinct !DISubprogram(name: \"#vaTypeof##0;\", linkageName: \"#vaTypeof##0\", scope: !18, file: !18, type: !10, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !7)\n!34 = distinct !DILocation(line: 68, scope: !20, inlinedAt: !35)\n!35 = distinct !DILocation(line: 65, scope: !23, inlinedAt: !36)\n!36 = distinct !DILocation(line: 169, scope: !37, inlinedAt: !38)\n!37 = distinct !DISubprogram(name: \"vaTypeof;\", linkageName: \"vaTypeof\", scope: !18, file: !18, type: !10, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !7)\n!38 = distinct !DILocation(line: 617, scope: !27, inlinedAt: !39)\n!39 = distinct !DILocation(line: 562, scope: !27, inlinedAt: !28)\n!40 = !{!\"132870243105232\"}\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_49279\", scope: null, file: !9, line: 53, type: !10, scopeLine: 53, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !7)\n!77 = !DILocation(line: 0, scope: !76)\n!78 = !DILocation(line: 181, scope: !17, inlinedAt: !79)\n!79 = distinct !DILocation(line: 68, scope: !20, inlinedAt: !80)\n!80 = distinct !DILocation(line: 65, scope: !23, inlinedAt: !81)\n!81 = distinct !DILocation(line: 178, scope: !25, inlinedAt: !82)\n!82 = distinct !DILocation(line: 555, scope: !27, inlinedAt: !83)\n!83 = distinct !DILocation(line: 534, scope: !27, inlinedAt: !84)\n!84 = distinct !DILocation(line: 59, scope: !76, inlinedAt: !85)\n!85 = distinct !DILocation(line: 0, scope: !76)\n!86 = !DILocation(line: 178, scope: !25, inlinedAt: !82)\n!87 = !DILocation(line: 172, scope: !33, inlinedAt: !88)\n!88 = distinct !DILocation(line: 68, scope: !20, inlinedAt: !89)\n!89 = distinct !DILocation(line: 65, scope: !23, inlinedAt: !90)\n!90 = distinct !DILocation(line: 169, scope: !37, inlinedAt: !91)\n!91 = distinct !DILocation(line: 617, scope: !27, inlinedAt: !92)\n!92 = distinct !DILocation(line: 562, scope: !27, inlinedAt: !83)\n!93 = !{!47, !49}\n!94 = !{!95, !54, !55, !56}\n!95 = distinct !{!95, !96, !\"na_addr13\"}\n!96 = distinct !{!96, !\"addr13\"}\n!97 = !DILocation(line: 169, scope: !37, inlinedAt: !91)\n!98 = !DILocation(line: 181, scope: !17, inlinedAt: !99)\n!99 = distinct !DILocation(line: 68, scope: !20, inlinedAt: !100)\n!100 = distinct !DILocation(line: 65, scope: !23, inlinedAt: !101)\n!101 = distinct !DILocation(line: 178, scope: !25, inlinedAt: !102)\n!102 = distinct !DILocation(line: 650, scope: !27, inlinedAt: !92)\n!103 = !DILocation(line: 178, scope: !25, inlinedAt: !102)\n!104 = !DILocation(line: 658, scope: !27, inlinedAt: !92)\n!105 = !DILocation(line: 673, scope: !27, inlinedAt: !92)\n!106 = !DILocation(line: 59, scope: !76, inlinedAt: !85)\n"), :fwddiffejulia_derivative_bundle_49279_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_49279_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 132870382574464 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870341413792 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870086531960 to ptr) to ptr addrspace(10))) #8, !dbg !16\n %.not.i = icmp eq ptr addrspace(10) %3, addrspacecast (ptr inttoptr (i64 132869640322832 to ptr) to ptr addrspace(10)), !dbg !16\n %\"ejl_inserted\$_Core_Tuple_49286\$false\$132869592993616.ejl_inserted\$_Main__flux_49301\$false\$132869491047952.i\" = select i1 %.not.i, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132869491047952 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132869592993616 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 132870410933696 to ptr) to ptr addrspace(10)), ptr addrspace(10) %\"ejl_inserted\$_Core_Tuple_49286\$false\$132869592993616.ejl_inserted\$_Main__flux_49301\$false\$132869491047952.i\", ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132869592993616 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 132870382574464 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870341413792 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870086531960 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 132870243105232 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 132870243105232 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 132870252021328 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870389917584 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870389917584 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870338789376 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870086500792 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870341413792 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 132870410933696 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 132870382574464 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870341413792 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870086531960 to ptr) to ptr addrspace(10))) #8, !dbg !60\n %.not62.i = icmp eq ptr addrspace(10) %10, addrspacecast (ptr inttoptr (i64 132869640322832 to ptr) to ptr addrspace(10)), !dbg !60\n %value_phi15.i.i = select i1 %.not62.i, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132869491047952 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132869592993616 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 132870410933696 to ptr) to ptr addrspace(10)), ptr addrspace(10) %value_phi15.i.i, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132869592993616 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 132869620966608 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870389917584 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870389917584 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870338789376 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870086500792 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132869956629776 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870349284704 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132869538530384 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132869602299664 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 132870086482504 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870338789376 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870086506544 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870389917584 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870389917584 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 189474400 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870389916976 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870389917584 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870389917584 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 132870243105232 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 132870243105232 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 132869650125456 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870389917584 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870389917584 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870338789376 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870086500792 to ptr) to ptr addrspace(10)), ptr addrspace(10) %15, ptr addrspace(10) %14, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870086548456 to ptr) to ptr addrspace(10)), ptr addrspace(10) @ejl_jl_nothing, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870086531960 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 132869626290832 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870389917584 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870389917584 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870338789376 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870086500792 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870376274304 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 132870343369504 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_49279_inner.1([4 x [1 x [4 x double]]] \"enzyme_type\"=\"{[-1]:Float@double}\" \"enzymejl_parmtype\"=\"132869530985488\" \"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 132870382574464 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870341413792 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870086531960 to ptr) to ptr addrspace(10))) #11, !dbg !78\n %.not = icmp eq ptr addrspace(10) %1, addrspacecast (ptr inttoptr (i64 132869640322832 to ptr) to ptr addrspace(10)), !dbg !78\n %\"ejl_inserted\$_Core_Tuple_49286\$false\$132869592993616.ejl_inserted\$_Main__flux_49301\$false\$132869491047952\" = select i1 %.not, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132869491047952 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132869592993616 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 132870410933696 to ptr) to ptr addrspace(10)), ptr addrspace(10) %\"ejl_inserted\$_Core_Tuple_49286\$false\$132869592993616.ejl_inserted\$_Main__flux_49301\$false\$132869491047952\", ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132869592993616 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 132870382574464 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870341413792 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870086531960 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 132870243105232 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 132870382574464 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870341413792 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 132870410933696 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 132870382574464 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870341413792 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870086531960 to ptr) to ptr addrspace(10))) #11, !dbg !98\n %.not62 = icmp eq ptr addrspace(10) %5, addrspacecast (ptr inttoptr (i64 132869640322832 to ptr) to ptr addrspace(10)), !dbg !98\n %value_phi15.i = select i1 %.not62, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132869491047952 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132869592993616 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 132870410933696 to ptr) to ptr addrspace(10)), ptr addrspace(10) %value_phi15.i, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132869592993616 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 132869956629776 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870349284704 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132869538530384 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132869602299664 to ptr) to ptr addrspace(10)), ptr addrspace(10) nonnull %jl_f_apply_type_ret10.i, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870086482504 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870338789376 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870086506544 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870389917584 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870389917584 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 189474400 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870389916976 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870389917584 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870389917584 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 132870243105232 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 132870086548456 to ptr) to ptr addrspace(10)), ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870086531960 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 132870376274304 to ptr) to ptr addrspace(10)), ptr addrspace(10) nonnull %8, ptr addrspace(10) addrspacecast (ptr inttoptr (i64 132870343369504 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\"=\"40004\" }\nattributes #1 = { nofree \"enzymejl_world\"=\"40004\" }\nattributes #2 = { nofree \"enzyme_inactive\" \"enzyme_no_escaping_allocation\" \"enzymejl_world\"=\"40004\" }\nattributes #3 = { mustprogress nofree nounwind willreturn allockind(\"alloc,uninitialized\") allocsize(1) memory(inaccessiblemem: readwrite) \"enzyme_ReadOnlyOrThrow\" \"enzyme_no_escaping_allocation\" \"enzymejl_world\"=\"40004\" }\nattributes #4 = { nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }\nattributes #5 = { alwaysinline \"enzymejl_world\"=\"40004\" }\nattributes #6 = { \"enzyme_retremove\" \"enzyme_ta_norecur\" \"enzymejl_mi\"=\"132870232204176\" \"enzymejl_rt\"=\"132870410933472\" \"enzymejl_world\"=\"40004\" }\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_49279_inner_1wrap\", linkageName: \"fwddiffejulia_derivative_bundle_49279_inner_1wrap\", scope: null, file: !9, type: !10, spFlags: DISPFlagLocalToUnit | DISPFlagDefinition | DISPFlagOptimized, unit: !7)\n!9 = !DIFile(filename: \"/home/pkgeval/.julia/packages/TowerOfEnzyme/wUeMv/src/TowerOfEnzyme.jl\", directory: \".\")\n!10 = !DISubroutineType(types: !0)\n!11 = !DILocation(line: 0, scope: !12, inlinedAt: !13)\n!12 = distinct !DISubprogram(name: \"derivative_bundle\", linkageName: \"julia_derivative_bundle_49279\", scope: null, file: !9, line: 53, type: !10, scopeLine: 53, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !7)\n!13 = distinct !DILocation(line: 0, scope: !8)\n!14 = !{!\"Unknown\", i32 -1, !15}\n!15 = !{!\"Float@double\"}\n!16 = !DILocation(line: 181, scope: !17, inlinedAt: !19)\n!17 = distinct !DISubprogram(name: \"#vaEltypeof##0;\", linkageName: \"#vaEltypeof##0\", scope: !18, file: !18, type: !10, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !7)\n!18 = !DIFile(filename: \"/home/pkgeval/.julia/packages/Enzyme/2lHFw/src/Enzyme.jl\", directory: \".\")\n!19 = distinct !DILocation(line: 68, scope: !20, inlinedAt: !22)\n!20 = distinct !DISubprogram(name: \"macro expansion;\", linkageName: \"macro expansion\", scope: !21, file: !21, type: !10, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !7)\n!21 = !DIFile(filename: \"ntuple.jl\", directory: \".\")\n!22 = distinct !DILocation(line: 65, scope: !23, inlinedAt: !24)\n!23 = distinct !DISubprogram(name: \"ntuple;\", linkageName: \"ntuple\", scope: !21, file: !21, type: !10, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !7)\n!24 = distinct !DILocation(line: 178, scope: !25, inlinedAt: !26)\n!25 = distinct !DISubprogram(name: \"vaEltypeof;\", linkageName: \"vaEltypeof\", scope: !18, file: !18, type: !10, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !7)\n!26 = distinct !DILocation(line: 555, scope: !27, inlinedAt: !28)\n!27 = distinct !DISubprogram(name: \"autodiff;\", linkageName: \"autodiff\", scope: !18, file: !18, type: !10, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !7)\n!28 = distinct !DILocation(line: 534, scope: !27, inlinedAt: !29)\n!29 = distinct !DILocation(line: 59, scope: !12, inlinedAt: !30)\n!30 = distinct !DILocation(line: 0, scope: !12, inlinedAt: !13)\n!31 = !DILocation(line: 178, scope: !25, inlinedAt: !26)\n!32 = !DILocation(line: 172, scope: !33, inlinedAt: !34)\n!33 = distinct !DISubprogram(name: \"#vaTypeof##0;\", linkageName: \"#vaTypeof##0\", scope: !18, file: !18, type: !10, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !7)\n!34 = distinct !DILocation(line: 68, scope: !20, inlinedAt: !35)\n!35 = distinct !DILocation(line: 65, scope: !23, inlinedAt: !36)\n!36 = distinct !DILocation(line: 169, scope: !37, inlinedAt: !38)\n!37 = distinct !DISubprogram(name: \"vaTypeof;\", linkageName: \"vaTypeof\", scope: !18, file: !18, type: !10, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !7)\n!38 = distinct !DILocation(line: 617, scope: !27, inlinedAt: !39)\n!39 = distinct !DILocation(line: 562, scope: !27, inlinedAt: !28)\n!40 = !{!\"132870243105232\"}\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_49279\", scope: null, file: !9, line: 53, type: !10, scopeLine: 53, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !7)\n!77 = !DILocation(line: 0, scope: !76)\n!78 = !DILocation(line: 181, scope: !17, inlinedAt: !79)\n!79 = distinct !DILocation(line: 68, scope: !20, inlinedAt: !80)\n!80 = distinct !DILocation(line: 65, scope: !23, inlinedAt: !81)\n!81 = distinct !DILocation(line: 178, scope: !25, inlinedAt: !82)\n!82 = distinct !DILocation(line: 555, scope: !27, inlinedAt: !83)\n!83 = distinct !DILocation(line: 534, scope: !27, inlinedAt: !84)\n!84 = distinct !DILocation(line: 59, scope: !76, inlinedAt: !85)\n!85 = distinct !DILocation(line: 0, scope: !76)\n!86 = !DILocation(line: 178, scope: !25, inlinedAt: !82)\n!87 = !DILocation(line: 172, scope: !33, inlinedAt: !88)\n!88 = distinct !DILocation(line: 68, scope: !20, inlinedAt: !89)\n!89 = distinct !DILocation(line: 65, scope: !23, inlinedAt: !90)\n!90 = distinct !DILocation(line: 169, scope: !37, inlinedAt: !91)\n!91 = distinct !DILocation(line: 617, scope: !27, inlinedAt: !92)\n!92 = distinct !DILocation(line: 562, scope: !27, inlinedAt: !83)\n!93 = !{!47, !49}\n!94 = !{!95, !54, !55, !56}\n!95 = distinct !{!95, !96, !\"na_addr13\"}\n!96 = distinct !{!96, !\"addr13\"}\n!97 = !DILocation(line: 169, scope: !37, inlinedAt: !91)\n!98 = !DILocation(line: 181, scope: !17, inlinedAt: !99)\n!99 = distinct !DILocation(line: 68, scope: !20, inlinedAt: !100)\n!100 = distinct !DILocation(line: 65, scope: !23, inlinedAt: !101)\n!101 = distinct !DILocation(line: 178, scope: !25, inlinedAt: !102)\n!102 = distinct !DILocation(line: 650, scope: !27, inlinedAt: !92)\n!103 = !DILocation(line: 178, scope: !25, inlinedAt: !102)\n!104 = !DILocation(line: 658, scope: !27, inlinedAt: !92)\n!105 = !DILocation(line: 673, scope: !27, inlinedAt: !92)\n!106 = !DILocation(line: 59, scope: !76, inlinedAt: !85)\n"), :fwddiffejulia_derivative_bundle_49279_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 23.4s RNG of the outermost testset: Random.Xoshiro(0x4c1b2ff20c4e4863, 0x6b1b9d3a7b16b44e, 0x9007e439996e55ba, 0x5b738e1ebeead1c4, 0xddbe5f98b525ce4b) 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 1214.98s ERROR: LoadError: Package TowerOfEnzyme errored during testing Stacktrace: [1] pkgerror(msg::String) @ Pkg.Types /opt/julia/share/julia/stdlib/v1.14/Pkg/src/Types.jl:68 [2] test(ctx::Pkg.Types.Context, pkgs::Vector{PackageSpec}; coverage::Bool, julia_args::Cmd, test_args::Cmd, test_fn::Nothing, force_latest_compatible_version::Bool, allow_earlier_backwards_compatible_versions::Bool, allow_reresolve::Bool) @ Pkg.Operations /opt/julia/share/julia/stdlib/v1.14/Pkg/src/Operations.jl:3122 [3] test @ /opt/julia/share/julia/stdlib/v1.14/Pkg/src/Operations.jl:2987 [inlined] [4] test(ctx::Pkg.Types.Context, pkgs::Vector{PackageSpec}; coverage::Bool, test_fn::Nothing, julia_args::Cmd, test_args::Cmd, force_latest_compatible_version::Bool, allow_earlier_backwards_compatible_versions::Bool, allow_reresolve::Bool, kwargs::@Kwargs{io::IOContext{IO}}) @ Pkg.API /opt/julia/share/julia/stdlib/v1.14/Pkg/src/API.jl:572 [5] kwcall(::@NamedTuple{julia_args::Cmd, io::IOContext{IO}}, ::typeof(Pkg.API.test), ctx::Pkg.Types.Context, pkgs::Vector{PackageSpec}) @ Pkg.API /opt/julia/share/julia/stdlib/v1.14/Pkg/src/API.jl:548 [6] test(pkgs::Vector{PackageSpec}; io::IOContext{IO}, kwargs::@Kwargs{julia_args::Cmd}) @ Pkg.API /opt/julia/share/julia/stdlib/v1.14/Pkg/src/API.jl:172 [7] kwcall(::@NamedTuple{julia_args::Cmd}, ::typeof(Pkg.API.test), pkgs::Vector{PackageSpec}) @ Pkg.API /opt/julia/share/julia/stdlib/v1.14/Pkg/src/API.jl:161 [8] test(pkgs::Vector{String}; kwargs::@Kwargs{julia_args::Cmd}) @ Pkg.API /opt/julia/share/julia/stdlib/v1.14/Pkg/src/API.jl:160 [9] test @ /opt/julia/share/julia/stdlib/v1.14/Pkg/src/API.jl:160 [inlined] [10] kwcall(::@NamedTuple{julia_args::Cmd}, ::typeof(Pkg.API.test), pkg::String) @ Pkg.API /opt/julia/share/julia/stdlib/v1.14/Pkg/src/API.jl:159 [11] top-level scope @ /PkgEval.jl/scripts/evaluate.jl:237 [12] include(mod::Module, _path::String) @ Base ./Base.jl:309 [13] exec_options(opts::Base.JLOptions) @ Base ./client.jl:344 [14] _start() @ Base ./client.jl:585 in expression starting at /PkgEval.jl/scripts/evaluate.jl:228 PkgEval failed after 2341.98s: package tests unexpectedly errored