Package evaluation to test Checkpointing on Julia 1.12.7-DEV.42 (6f510b6086*) started at 2026-06-19T20:52:58.458 ################################################################################ # Set-up # Installing PkgEval dependencies (TestEnv)... Activating project at `~/.julia/environments/v1.12` Set-up completed after 8.1s ################################################################################ # Installation # Installing Checkpointing... Resolving package versions... Updating `~/.julia/environments/v1.12/Project.toml` [eb46d486] + Checkpointing v0.12.0 Updating `~/.julia/environments/v1.12/Manifest.toml` [7d9f7c33] + Accessors v0.1.44 [fa961155] + CEnum v0.5.0 [d360d2e6] + ChainRulesCore v1.26.1 [eb46d486] + Checkpointing v0.12.0 [34da2185] + Compat v4.18.1 [a33af91c] + CompositionsBase v0.1.2 [187b0558] + ConstructionBase v1.6.0 [864edb3b] + DataStructures v0.19.5 [7da242da] + Enzyme v0.13.162 [f151be2c] + EnzymeCore v0.8.20 [e2ba6199] + ExprTools v0.1.10 [61eb1bfa] + GPUCompiler v1.22.1 [f67ccb44] + HDF5 v0.17.3 [3587e190] + InverseFunctions v0.1.17 [692b3bcd] + JLLWrappers v1.8.0 [929cbde3] + LLVM v9.9.0 [3da0fdf6] + MPIPreferences v0.1.12 [1914dd2f] + MacroTools v0.5.16 [d8793406] + ObjectFile v0.5.0 ⌅ [bac558e1] + OrderedCollections v1.8.2 [aea7be01] + PrecompileTools v1.3.4 [21216c6a] + Preferences v1.5.2 [189a3867] + Reexport v1.2.2 [ae029012] + Requires v1.3.1 [6c6a2e73] + Scratch v1.3.0 [53d494c1] + StructIO v0.3.1 [e689c965] + Tracy v0.1.6 ⌅ [7cc45869] + Enzyme_jll v0.0.269+0 [0234f1f7] + HDF5_jll v2.1.2+0 [e33a78d0] + Hwloc_jll v2.14.0+0 [dad2f222] + LLVMExtra_jll v0.0.43+1 [ad6e5548] + LibTracyClient_jll v0.13.1+0 [94ce4f54] + Libiconv_jll v1.18.0+0 [b5ada748] + MPIABI_jll v0.1.5+0 [7cb0a576] + MPICH_jll v5.0.1+0 [f1f71cc9] + MPItrampoline_jll v5.5.6+0 [9237b28f] + MicrosoftMPI_jll v10.1.4+3 [fe0851c0] + OpenMPI_jll v5.0.11+0 ⌅ [02c8fc9c] + XML2_jll v2.13.9+0 [a65dc6b1] + Xorg_libpciaccess_jll v0.19.0+0 ⌅ [2b3700d1] + aws_c_auth_jll v0.9.6+0 [70f11efc] + aws_c_cal_jll v0.9.13+0 [73048d1d] + aws_c_common_jll v0.12.6+0 [73a04cd5] + aws_c_compression_jll v0.3.2+0 [3254fc65] + aws_c_http_jll v0.10.13+0 [13c41daa] + aws_c_io_jll v0.26.3+0 ⌅ [bd1f34fb] + aws_c_s3_jll v0.11.5+0 [1282aa60] + aws_c_sdkutils_jll v0.2.4+1 [b2a88e68] + aws_checksums_jll v0.2.10+0 [c4b69c83] + dlfcn_win32_jll v1.4.2+0 [477f73a3] + libaec_jll v1.1.7+0 [9aeb927a] + mpif_jll v0.1.7+0 [cddc5d3d] + s2n_tls_jll v1.7.3+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.12.0 [4af54fe1] + LazyArtifacts v1.11.0 [b27032c2] + LibCURL v0.6.4 [76f85450] + LibGit2 v1.11.0 [8f399da3] + Libdl v1.11.0 [37e2e46d] + LinearAlgebra v1.12.0 [56ddb016] + Logging v1.11.0 [d6f4376e] + Markdown v1.11.0 [a63ad114] + Mmap v1.11.0 [ca575930] + NetworkOptions v1.3.0 [44cfe95a] + Pkg v1.12.1 [de0858da] + Printf v1.11.0 [9a3f8284] + Random v1.11.0 [ea8e919c] + SHA v0.7.0 [9e88b42a] + Serialization v1.11.0 [2f01184e] + SparseArrays v1.12.0 [f489334b] + StyledStrings v1.11.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.15.0+0 [e37daf67] + LibGit2_jll v1.9.0+0 [29816b5a] + LibSSH2_jll v1.11.3+1 [14a3606d] + MozillaCACerts_jll v2025.11.4 [4536629a] + OpenBLAS_jll v0.3.29+0 [458c3c95] + OpenSSL_jll v3.5.6+0 [bea87d4a] + SuiteSparse_jll v7.8.3+2 [83775a58] + Zlib_jll v1.3.1+2 [8e850b90] + libblastrampoline_jll v5.15.0+0 [8e850ede] + nghttp2_jll v1.64.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 13.79s ################################################################################ # Precompilation # Precompiling PkgEval dependencies... Precompiling package dependencies... Precompiling packages... 34552.7 ms ✓ Checkpointing 1 dependency successfully precompiled in 36 seconds. 95 already precompiled. 24 dependencies precompiled but different versions are currently loaded (ArgTools, Base64, Dates, Downloads, JuliaSyntaxHighlighting, LibCURL, LibCURL_jll, LibGit2, LibGit2_jll, LibSSH2_jll, Logging, Markdown, MozillaCACerts_jll, NetworkOptions, OpenSSL_jll, Pkg, Printf, StyledStrings, TOML, Tar, UUIDs, Zlib_jll, nghttp2_jll and p7zip_jll). Restart julia to access the new versions. Otherwise, 52 dependents of these packages may trigger further precompilation to work with the unexpected versions. Precompilation completed after 65.04s ################################################################################ # Testing # Testing Checkpointing Status `/tmp/jl_XEmvkx/Project.toml` [eb46d486] Checkpointing v0.12.0 [7da242da] Enzyme v0.13.162 [37e2e46d] LinearAlgebra v1.12.0 [9e88b42a] Serialization v1.11.0 [8dfed614] Test v1.11.0 Status `/tmp/jl_XEmvkx/Manifest.toml` [7d9f7c33] Accessors v0.1.44 [fa961155] CEnum v0.5.0 [d360d2e6] ChainRulesCore v1.26.1 [eb46d486] Checkpointing v0.12.0 [34da2185] Compat v4.18.1 [a33af91c] CompositionsBase v0.1.2 [187b0558] ConstructionBase v1.6.0 [864edb3b] DataStructures v0.19.5 [7da242da] Enzyme v0.13.162 [f151be2c] EnzymeCore v0.8.20 [e2ba6199] ExprTools v0.1.10 [61eb1bfa] GPUCompiler v1.22.1 [f67ccb44] HDF5 v0.17.3 [3587e190] InverseFunctions v0.1.17 [692b3bcd] JLLWrappers v1.8.0 [929cbde3] LLVM v9.9.0 [3da0fdf6] MPIPreferences v0.1.12 [1914dd2f] MacroTools v0.5.16 [d8793406] ObjectFile v0.5.0 ⌅ [bac558e1] OrderedCollections v1.8.2 [aea7be01] PrecompileTools v1.3.4 [21216c6a] Preferences v1.5.2 [189a3867] Reexport v1.2.2 [ae029012] Requires v1.3.1 [6c6a2e73] Scratch v1.3.0 [53d494c1] StructIO v0.3.1 [e689c965] Tracy v0.1.6 ⌅ [7cc45869] Enzyme_jll v0.0.269+0 [0234f1f7] HDF5_jll v2.1.2+0 [e33a78d0] Hwloc_jll v2.14.0+0 [dad2f222] LLVMExtra_jll v0.0.43+1 [ad6e5548] LibTracyClient_jll v0.13.1+0 [94ce4f54] Libiconv_jll v1.18.0+0 [b5ada748] MPIABI_jll v0.1.5+0 [7cb0a576] MPICH_jll v5.0.1+0 [f1f71cc9] MPItrampoline_jll v5.5.6+0 [9237b28f] MicrosoftMPI_jll v10.1.4+3 [fe0851c0] OpenMPI_jll v5.0.11+0 ⌅ [02c8fc9c] XML2_jll v2.13.9+0 [a65dc6b1] Xorg_libpciaccess_jll v0.19.0+0 ⌅ [2b3700d1] aws_c_auth_jll v0.9.6+0 [70f11efc] aws_c_cal_jll v0.9.13+0 [73048d1d] aws_c_common_jll v0.12.6+0 [73a04cd5] aws_c_compression_jll v0.3.2+0 [3254fc65] aws_c_http_jll v0.10.13+0 [13c41daa] aws_c_io_jll v0.26.3+0 ⌅ [bd1f34fb] aws_c_s3_jll v0.11.5+0 [1282aa60] aws_c_sdkutils_jll v0.2.4+1 [b2a88e68] aws_checksums_jll v0.2.10+0 [c4b69c83] dlfcn_win32_jll v1.4.2+0 [477f73a3] libaec_jll v1.1.7+0 [9aeb927a] mpif_jll v0.1.7+0 [cddc5d3d] s2n_tls_jll v1.7.3+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.12.0 [4af54fe1] LazyArtifacts v1.11.0 [b27032c2] LibCURL v0.6.4 [76f85450] LibGit2 v1.11.0 [8f399da3] Libdl v1.11.0 [37e2e46d] LinearAlgebra v1.12.0 [56ddb016] Logging v1.11.0 [d6f4376e] Markdown v1.11.0 [a63ad114] Mmap v1.11.0 [ca575930] NetworkOptions v1.3.0 [44cfe95a] Pkg v1.12.1 [de0858da] Printf v1.11.0 [9a3f8284] Random v1.11.0 [ea8e919c] SHA v0.7.0 [9e88b42a] Serialization v1.11.0 [2f01184e] SparseArrays v1.12.0 [f489334b] StyledStrings v1.11.0 [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.15.0+0 [e37daf67] LibGit2_jll v1.9.0+0 [29816b5a] LibSSH2_jll v1.11.3+1 [14a3606d] MozillaCACerts_jll v2025.11.4 [4536629a] OpenBLAS_jll v0.3.29+0 [458c3c95] OpenSSL_jll v3.5.6+0 [bea87d4a] SuiteSparse_jll v7.8.3+2 [83775a58] Zlib_jll v1.3.1+2 [8e850b90] libblastrampoline_jll v5.15.0+0 [8e850ede] nghttp2_jll v1.64.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... scheme = Revolve: Error During Test at /home/pkgeval/.julia/packages/Checkpointing/BlbIX/test/runtests.jl:32 Got exception outside of a @test EnzymeNoDerivativeError: Current scope: ; Function Attrs: mustprogress noinline nounwind willreturn define internal fastcc "enzyme_type"="{[-1]:Float@double}" double @preprocess_julia_pow_body_39986(double "enzyme_type"="{[-1]:Float@double}" "enzymejl_parmtype"="137849593078560" "enzymejl_parmtype_ref"="0" "enzymejl_parmtype_str"="Float64" %"y::Float64") unnamed_addr #34 !dbg !1505 { top: %sret_box = call noalias nonnull dereferenceable(16) dereferenceable_or_null(16) ptr @malloc(i64 16), !enzymejl_allocart !796, !enzyme_type !60, !enzyme_fromstack !1506, !enzymejl_allocart_name !797 %pgcstack = call ptr @julia.get_pgcstack() #45 %ptls_field = getelementptr inbounds i8, ptr %pgcstack, i64 16 %ptls_load = load ptr, ptr %ptls_field, align 8, !tbaa !23 %0 = getelementptr inbounds i8, ptr %ptls_load, i64 16 %safepoint = load ptr, ptr %0, align 8, !tbaa !27 fence syncscope("singlethread") seq_cst call void @julia.safepoint(ptr %safepoint) #45, !dbg !1507 fence syncscope("singlethread") seq_cst call fastcc void @julia__log_ext_39993(ptr noalias nocapture noundef sret([2 x double]) align 8 %sret_box) #45, !dbg !1508 %"sret_box[2]_ptr" = getelementptr inbounds i8, ptr %sret_box, i64 8, !dbg !1509 %sret_box.unbox = load double, ptr %sret_box, align 8, !dbg !1510, !tbaa !23, !alias.scope !707, !noalias !808, !enzyme_type !98, !enzymejl_byref_BITS_VALUE !0, !enzymejl_source_type_Float64 !0 %1 = fmul double %sret_box.unbox, %"y::Float64", !dbg !1510 %2 = fneg double %1, !dbg !1513 %3 = call double @llvm.fma.f64(double %sret_box.unbox, double %"y::Float64", double %2) #45, !dbg !1515 %"sret_box[2]_ptr.unbox" = load double, ptr %"sret_box[2]_ptr", align 8, !dbg !1516, !tbaa !23, !alias.scope !707, !noalias !808, !enzyme_type !98, !enzymejl_byref_BITS_VALUE !0, !enzymejl_source_type_Float64 !0 %4 = fmul contract double %"sret_box[2]_ptr.unbox", %"y::Float64", !dbg !1516 %5 = fadd contract double %4, %3, !dbg !1516 %6 = fadd double %1, %5, !dbg !1518 %7 = fmul contract double %6, 0x40771547652B82FE, !dbg !1520 %8 = fadd contract double %7, 0x4338000000000000, !dbg !1520 %bitcast_coercion6 = bitcast double %8 to i64, !dbg !1523 %9 = trunc i64 %bitcast_coercion6 to i32, !dbg !1525 %10 = ashr i32 %9, 8, !dbg !1526 %11 = fadd double %8, 0xC338000000000000, !dbg !1529 %12 = fmul contract double %11, 0x3D31CF79ABC9E3B4, !dbg !1531 %13 = fmul contract double %11, 0x3F662E42FEF80000, !dbg !1533 %14 = fsub contract double %6, %13, !dbg !1533 %15 = fsub contract double %14, %12, !dbg !1531 %16 = fmul contract double %15, 0x3FA5555565BBF98F, !dbg !1535 %17 = fadd contract double %16, 0x3FC555557E55EFED, !dbg !1535 %18 = fmul contract double %15, %17, !dbg !1535 %19 = fadd contract double %18, 0x3FDFFFFFFFFFFFFB, !dbg !1535 %20 = fmul contract double %15, %19, !dbg !1535 %21 = fadd contract double %20, 0x3FEFFFFFFFFFFFB1, !dbg !1535 %22 = fmul double %15, %21, !dbg !1540 %23 = fadd double %22, 1.000000e+00, !dbg !1541 %24 = fsub double 1.000000e+00, %23, !dbg !1544 %25 = fadd double %22, %24, !dbg !1546 %26 = fsub double %6, %1, !dbg !1547 %27 = fsub double %5, %26, !dbg !1547 %28 = fadd double %27, %25, !dbg !1548 %29 = and i64 %bitcast_coercion6, 255, !dbg !1550 %30 = getelementptr inbounds i64, ptr @_j_const_6, i64 %29, !dbg !1554 %.unbox = load i64, ptr %30, align 8, !dbg !1555, !tbaa !89, !alias.scope !93, !noalias !97 %31 = and i64 %.unbox, 4503599627370495, !dbg !1555 %32 = or disjoint i64 %31, 4607182418800017408, !dbg !1557 %bitcast_coercion7 = bitcast i64 %32 to double, !dbg !1558 %33 = fmul contract double %28, %bitcast_coercion7, !dbg !1559 %34 = fmul double %27, %bitcast_coercion7, !dbg !1560 %35 = fmul contract double %34, %22, !dbg !1562 %36 = lshr i64 %.unbox, 8, !dbg !1563 %37 = or disjoint i64 %36, 4323455642275676160, !dbg !1566 %bitcast_coercion9 = bitcast i64 %37 to double, !dbg !1567 %38 = fadd contract double %35, %bitcast_coercion9, !dbg !1562 %39 = fadd contract double %38, %33, !dbg !1559 %40 = call double @llvm.fma.f64(double %bitcast_coercion7, double %23, double %39) #45, !dbg !1568 %41 = call double @llvm.fabs.f64(double %6) #45, !dbg !1569 %42 = fcmp ugt double %41, 0x4086232BDD7ABCD2, !dbg !1571 br i1 %42, label %L93, label %L88.L119_crit_edge, !dbg !1570 L88.L119_crit_edge: ; preds = %top %.pre = sext i32 %10 to i64, !dbg !1572 br label %L119, !dbg !1570 L93: ; preds = %top %43 = fcmp ord double %6, 0.000000e+00, !dbg !1575 br i1 %43, label %L96, label %L131, !dbg !1577 L96: ; preds = %L93 %44 = fcmp ult double %6, 0x40862E42FEFA39F0, !dbg !1578 br i1 %44, label %L99, label %L131, !dbg !1580 L99: ; preds = %L96 %45 = fcmp ugt double %6, 0xC0874910D52D3052, !dbg !1581 br i1 %45, label %L102, label %L131, !dbg !1582 L102: ; preds = %L99 %46 = sext i32 %10 to i64, !dbg !1583 %47 = icmp sgt i32 %10, -53, !dbg !1590 br i1 %47, label %L113, label %L105, !dbg !1589 L105: ; preds = %L102 %48 = shl i64 %46, 52, !dbg !1591 %49 = add i64 %48, 238690780250636288, !dbg !1591 %bitcast_coercion12 = bitcast double %40 to i64, !dbg !1594 %50 = add i64 %49, %bitcast_coercion12, !dbg !1596 %bitcast_coercion13 = bitcast i64 %50 to double, !dbg !1594 %51 = fmul double %bitcast_coercion13, 0x3CA0000000000000, !dbg !1597 br label %L131, !dbg !1595 L113: ; preds = %L102 %.not = icmp eq i32 %10, 1024, !dbg !1598 br i1 %.not, label %L116, label %L119, !dbg !1600 L116: ; preds = %L113 %52 = fmul double %40, 2.000000e+00, !dbg !1601 %53 = fmul double %52, 0x7FE0000000000000, !dbg !1601 br label %L131, !dbg !1600 L119: ; preds = %L113, %L88.L119_crit_edge %.pre-phi = phi i64 [ %.pre, %L88.L119_crit_edge ], [ %46, %L113 ], !dbg !1572 %54 = shl i64 %.pre-phi, 52, !dbg !1602 %bitcast_coercion14 = bitcast double %40 to i64, !dbg !1604 %55 = add i64 %54, %bitcast_coercion14, !dbg !1606 %bitcast_coercion15 = bitcast i64 %55 to double, !dbg !1604 br label %L131, !dbg !1605 L131: ; preds = %L119, %L116, %L105, %L99, %L96, %L93 %value_phi11 = phi double [ %51, %L105 ], [ %53, %L116 ], [ %bitcast_coercion15, %L119 ], [ %6, %L93 ], [ 0x7FF0000000000000, %L96 ], [ 0.000000e+00, %L99 ] ret double %value_phi11, !dbg !1522 } ; Function Attrs: mustprogress noinline nounwind willreturn define internal fastcc "enzyme_type"="{[-1]:Float@double}" double @preprocess_julia_pow_body_39986(double "enzyme_type"="{[-1]:Float@double}" "enzymejl_parmtype"="137849593078560" "enzymejl_parmtype_ref"="0" "enzymejl_parmtype_str"="Float64" %"y::Float64") unnamed_addr #34 !dbg !1505 { top: %sret_box = call noalias nonnull dereferenceable(16) dereferenceable_or_null(16) ptr @malloc(i64 16), !enzymejl_allocart !796, !enzyme_type !60, !enzyme_fromstack !1506, !enzymejl_allocart_name !797 %pgcstack = call ptr @julia.get_pgcstack() #45 %ptls_field = getelementptr inbounds i8, ptr %pgcstack, i64 16 %ptls_load = load ptr, ptr %ptls_field, align 8, !tbaa !23 %0 = getelementptr inbounds i8, ptr %ptls_load, i64 16 %safepoint = load ptr, ptr %0, align 8, !tbaa !27 fence syncscope("singlethread") seq_cst call void @julia.safepoint(ptr %safepoint) #45, !dbg !1507 fence syncscope("singlethread") seq_cst call fastcc void @julia__log_ext_39993(ptr noalias nocapture noundef sret([2 x double]) align 8 %sret_box) #45, !dbg !1508 %"sret_box[2]_ptr" = getelementptr inbounds i8, ptr %sret_box, i64 8, !dbg !1509 %sret_box.unbox = load double, ptr %sret_box, align 8, !dbg !1510, !tbaa !23, !alias.scope !707, !noalias !808, !enzyme_type !98, !enzymejl_byref_BITS_VALUE !0, !enzymejl_source_type_Float64 !0 %1 = fmul double %sret_box.unbox, %"y::Float64", !dbg !1510 %2 = fneg double %1, !dbg !1513 %3 = call double @llvm.fma.f64(double %sret_box.unbox, double %"y::Float64", double %2) #45, !dbg !1515 %"sret_box[2]_ptr.unbox" = load double, ptr %"sret_box[2]_ptr", align 8, !dbg !1516, !tbaa !23, !alias.scope !707, !noalias !808, !enzyme_type !98, !enzymejl_byref_BITS_VALUE !0, !enzymejl_source_type_Float64 !0 %4 = fmul contract double %"sret_box[2]_ptr.unbox", %"y::Float64", !dbg !1516 %5 = fadd contract double %4, %3, !dbg !1516 %6 = fadd double %1, %5, !dbg !1518 %7 = fmul contract double %6, 0x40771547652B82FE, !dbg !1520 %8 = fadd contract double %7, 0x4338000000000000, !dbg !1520 %bitcast_coercion6 = bitcast double %8 to i64, !dbg !1523 %9 = trunc i64 %bitcast_coercion6 to i32, !dbg !1525 %10 = ashr i32 %9, 8, !dbg !1526 %11 = fadd double %8, 0xC338000000000000, !dbg !1529 %12 = fmul contract double %11, 0x3D31CF79ABC9E3B4, !dbg !1531 %13 = fmul contract double %11, 0x3F662E42FEF80000, !dbg !1533 %14 = fsub contract double %6, %13, !dbg !1533 %15 = fsub contract double %14, %12, !dbg !1531 %16 = fmul contract double %15, 0x3FA5555565BBF98F, !dbg !1535 %17 = fadd contract double %16, 0x3FC555557E55EFED, !dbg !1535 %18 = fmul contract double %15, %17, !dbg !1535 %19 = fadd contract double %18, 0x3FDFFFFFFFFFFFFB, !dbg !1535 %20 = fmul contract double %15, %19, !dbg !1535 %21 = fadd contract double %20, 0x3FEFFFFFFFFFFFB1, !dbg !1535 %22 = fmul double %15, %21, !dbg !1540 %23 = fadd double %22, 1.000000e+00, !dbg !1541 %24 = fsub double 1.000000e+00, %23, !dbg !1544 %25 = fadd double %22, %24, !dbg !1546 %26 = fsub double %6, %1, !dbg !1547 %27 = fsub double %5, %26, !dbg !1547 %28 = fadd double %27, %25, !dbg !1548 %29 = and i64 %bitcast_coercion6, 255, !dbg !1550 %30 = getelementptr inbounds i64, ptr @_j_const_6, i64 %29, !dbg !1554 %.unbox = load i64, ptr %30, align 8, !dbg !1555, !tbaa !89, !alias.scope !93, !noalias !97 %31 = and i64 %.unbox, 4503599627370495, !dbg !1555 %32 = or disjoint i64 %31, 4607182418800017408, !dbg !1557 %bitcast_coercion7 = bitcast i64 %32 to double, !dbg !1558 %33 = fmul contract double %28, %bitcast_coercion7, !dbg !1559 %34 = fmul double %27, %bitcast_coercion7, !dbg !1560 %35 = fmul contract double %34, %22, !dbg !1562 %36 = lshr i64 %.unbox, 8, !dbg !1563 %37 = or disjoint i64 %36, 4323455642275676160, !dbg !1566 %bitcast_coercion9 = bitcast i64 %37 to double, !dbg !1567 %38 = fadd contract double %35, %bitcast_coercion9, !dbg !1562 %39 = fadd contract double %38, %33, !dbg !1559 %40 = call double @llvm.fma.f64(double %bitcast_coercion7, double %23, double %39) #45, !dbg !1568 %41 = call double @llvm.fabs.f64(double %6) #45, !dbg !1569 %42 = fcmp ugt double %41, 0x4086232BDD7ABCD2, !dbg !1571 br i1 %42, label %L93, label %L88.L119_crit_edge, !dbg !1570 L88.L119_crit_edge: ; preds = %top %.pre = sext i32 %10 to i64, !dbg !1572 br label %L119, !dbg !1570 L93: ; preds = %top %43 = fcmp ord double %6, 0.000000e+00, !dbg !1575 br i1 %43, label %L96, label %L131, !dbg !1577 L96: ; preds = %L93 %44 = fcmp ult double %6, 0x40862E42FEFA39F0, !dbg !1578 br i1 %44, label %L99, label %L131, !dbg !1580 L99: ; preds = %L96 %45 = fcmp ugt double %6, 0xC0874910D52D3052, !dbg !1581 br i1 %45, label %L102, label %L131, !dbg !1582 L102: ; preds = %L99 %46 = sext i32 %10 to i64, !dbg !1583 %47 = icmp sgt i32 %10, -53, !dbg !1590 br i1 %47, label %L113, label %L105, !dbg !1589 L105: ; preds = %L102 %48 = shl i64 %46, 52, !dbg !1591 %49 = add i64 %48, 238690780250636288, !dbg !1591 %bitcast_coercion12 = bitcast double %40 to i64, !dbg !1594 %50 = add i64 %49, %bitcast_coercion12, !dbg !1596 %bitcast_coercion13 = bitcast i64 %50 to double, !dbg !1594 %51 = fmul double %bitcast_coercion13, 0x3CA0000000000000, !dbg !1597 br label %L131, !dbg !1595 L113: ; preds = %L102 %.not = icmp eq i32 %10, 1024, !dbg !1598 br i1 %.not, label %L116, label %L119, !dbg !1600 L116: ; preds = %L113 %52 = fmul double %40, 2.000000e+00, !dbg !1601 %53 = fmul double %52, 0x7FE0000000000000, !dbg !1601 br label %L131, !dbg !1600 L119: ; preds = %L113, %L88.L119_crit_edge %.pre-phi = phi i64 [ %.pre, %L88.L119_crit_edge ], [ %46, %L113 ], !dbg !1572 %54 = shl i64 %.pre-phi, 52, !dbg !1602 %bitcast_coercion14 = bitcast double %40 to i64, !dbg !1604 %55 = add i64 %54, %bitcast_coercion14, !dbg !1606 %bitcast_coercion15 = bitcast i64 %55 to double, !dbg !1604 br label %L131, !dbg !1605 L131: ; preds = %L119, %L116, %L105, %L99, %L96, %L93 %value_phi11 = phi double [ %51, %L105 ], [ %53, %L116 ], [ %bitcast_coercion15, %L119 ], [ %6, %L93 ], [ 0x7FF0000000000000, %L96 ], [ 0.000000e+00, %L99 ] ret double %value_phi11, !dbg !1522 } constantarg[double %"y::Float64"] = 0 type: {[-1]:Float@double} - vals: {} constantinst[ %sret_box = call noalias nonnull dereferenceable(16) dereferenceable_or_null(16) ptr @malloc(i64 16), !enzymejl_allocart !23, !enzyme_type !24, !enzyme_fromstack !27, !enzymejl_allocart_name !28] = 1 val:0 type: {[-1]:Pointer, [-1,-1]:Float@double} constantinst[ %pgcstack = call ptr @julia.get_pgcstack() #45] = 1 val:1 type: {[-1]:Pointer, [-1,16]:Pointer} constantinst[ %ptls_field = getelementptr inbounds i8, ptr %pgcstack, i64 16] = 1 val:1 type: {[-1]:Pointer, [-1,0]:Pointer} constantinst[ %ptls_load = load ptr, ptr %ptls_field, align 8, !tbaa !29] = 1 val:1 type: {[-1]:Pointer} constantinst[ %0 = getelementptr inbounds i8, ptr %ptls_load, i64 16] = 1 val:1 type: {[-1]:Pointer} constantinst[ %safepoint = load ptr, ptr %0, align 8, !tbaa !33] = 1 val:1 type: {} constantinst[ fence syncscope("singlethread") seq_cst] = 1 val:1 type: {} constantinst[ call void @julia.safepoint(ptr %safepoint) #45, !dbg !35] = 1 val:1 type: {} constantinst[ fence syncscope("singlethread") seq_cst] = 1 val:1 type: {} constantinst[ call fastcc void @julia__log_ext_39993(ptr noalias nocapture noundef sret([2 x double]) align 8 %sret_box) #45, !dbg !36] = 0 val:1 type: {} constantinst[ %"sret_box[2]_ptr" = getelementptr inbounds i8, ptr %sret_box, i64 8, !dbg !37] = 1 val:0 type: {[-1]:Pointer, [-1,-1]:Float@double} constantinst[ %sret_box.unbox = load double, ptr %sret_box, align 8, !dbg !40, !tbaa !29, !alias.scope !46, !noalias !49, !enzyme_type !54, !enzymejl_byref_BITS_VALUE !0, !enzymejl_source_type_Float64 !0] = 0 val:0 type: {[-1]:Float@double} constantinst[ %1 = fmul double %sret_box.unbox, %"y::Float64", !dbg !40] = 0 val:0 type: {[-1]:Float@double} constantinst[ %2 = fneg double %1, !dbg !55] = 0 val:0 type: {[-1]:Float@double} constantinst[ %3 = call double @llvm.fma.f64(double %sret_box.unbox, double %"y::Float64", double %2) #45, !dbg !58] = 0 val:0 type: {[-1]:Float@double} constantinst[ %"sret_box[2]_ptr.unbox" = load double, ptr %"sret_box[2]_ptr", align 8, !dbg !61, !tbaa !29, !alias.scope !46, !noalias !49, !enzyme_type !54, !enzymejl_byref_BITS_VALUE !0, !enzymejl_source_type_Float64 !0] = 0 val:0 type: {[-1]:Float@double} constantinst[ %4 = fmul contract double %"sret_box[2]_ptr.unbox", %"y::Float64", !dbg !61] = 0 val:0 type: {[-1]:Float@double} constantinst[ %5 = fadd contract double %4, %3, !dbg !61] = 0 val:0 type: {[-1]:Float@double} constantinst[ %6 = fadd double %1, %5, !dbg !64] = 0 val:0 type: {[-1]:Float@double} constantinst[ %7 = fmul contract double %6, 0x40771547652B82FE, !dbg !67] = 0 val:0 type: {[-1]:Float@double} constantinst[ %8 = fadd contract double %7, 0x4338000000000000, !dbg !67] = 0 val:0 type: {[-1]:Float@double} constantinst[ %bitcast_coercion6 = bitcast double %8 to i64, !dbg !72] = 1 val:1 type: {[-1]:Float@double} constantinst[ %9 = trunc i64 %bitcast_coercion6 to i32, !dbg !76] = 1 val:1 type: {[-1]:Float@double} constantinst[ %10 = ashr i32 %9, 8, !dbg !79] = 1 val:1 type: {[-1]:Integer} constantinst[ %11 = fadd double %8, 0xC338000000000000, !dbg !83] = 0 val:0 type: {[-1]:Float@double} constantinst[ %12 = fmul contract double %11, 0x3D31CF79ABC9E3B4, !dbg !85] = 0 val:0 type: {[-1]:Float@double} constantinst[ %13 = fmul contract double %11, 0x3F662E42FEF80000, !dbg !87] = 0 val:0 type: {[-1]:Float@double} constantinst[ %14 = fsub contract double %6, %13, !dbg !87] = 0 val:0 type: {[-1]:Float@double} constantinst[ %15 = fsub contract double %14, %12, !dbg !85] = 0 val:0 type: {[-1]:Float@double} constantinst[ %16 = fmul contract double %15, 0x3FA5555565BBF98F, !dbg !89] = 0 val:0 type: {[-1]:Float@double} constantinst[ %17 = fadd contract double %16, 0x3FC555557E55EFED, !dbg !89] = 0 val:0 type: {[-1]:Float@double} constantinst[ %18 = fmul contract double %15, %17, !dbg !89] = 0 val:0 type: {[-1]:Float@double} constantinst[ %19 = fadd contract double %18, 0x3FDFFFFFFFFFFFFB, !dbg !89] = 0 val:0 type: {[-1]:Float@double} constantinst[ %20 = fmul contract double %15, %19, !dbg !89] = 0 val:0 type: {[-1]:Float@double} constantinst[ %21 = fadd contract double %20, 0x3FEFFFFFFFFFFFB1, !dbg !89] = 0 val:0 type: {[-1]:Float@double} constantinst[ %22 = fmul double %15, %21, !dbg !97] = 0 val:0 type: {[-1]:Float@double} constantinst[ %23 = fadd double %22, 1.000000e+00, !dbg !98] = 0 val:0 type: {[-1]:Float@double} constantinst[ %24 = fsub double 1.000000e+00, %23, !dbg !103] = 0 val:0 type: {[-1]:Float@double} constantinst[ %25 = fadd double %22, %24, !dbg !105] = 0 val:0 type: {[-1]:Float@double} constantinst[ %26 = fsub double %6, %1, !dbg !106] = 0 val:0 type: {[-1]:Float@double} constantinst[ %27 = fsub double %5, %26, !dbg !106] = 0 val:0 type: {[-1]:Float@double} constantinst[ %28 = fadd double %27, %25, !dbg !107] = 0 val:0 type: {[-1]:Float@double} constantinst[ %29 = and i64 %bitcast_coercion6, 255, !dbg !109] = 1 val:1 type: {[-1]:Integer} constantinst[ %30 = getelementptr inbounds i64, ptr @_j_const_6, i64 %29, !dbg !115] = 1 val:1 type: {[-1]:Pointer, [-1,-1]:Anything} constantinst[ %.unbox = load i64, ptr %30, align 8, !dbg !116, !tbaa !118, !alias.scope !122, !noalias !123] = 1 val:1 type: {[-1]:Anything} constantinst[ %31 = and i64 %.unbox, 4503599627370495, !dbg !116] = 1 val:1 type: {[-1]:Anything} constantinst[ %32 = or disjoint i64 %31, 4607182418800017408, !dbg !124] = 1 val:1 type: {[-1]:Anything} constantinst[ %bitcast_coercion7 = bitcast i64 %32 to double, !dbg !126] = 1 val:1 type: {[-1]:Anything} constantinst[ %33 = fmul contract double %28, %bitcast_coercion7, !dbg !127] = 0 val:0 type: {[-1]:Float@double} constantinst[ %34 = fmul double %27, %bitcast_coercion7, !dbg !128] = 0 val:0 type: {[-1]:Float@double} constantinst[ %35 = fmul contract double %34, %22, !dbg !130] = 0 val:0 type: {[-1]:Float@double} constantinst[ %36 = lshr i64 %.unbox, 8, !dbg !131] = 1 val:1 type: {[-1]:Anything} constantinst[ %37 = or disjoint i64 %36, 4323455642275676160, !dbg !134] = 1 val:1 type: {[-1]:Anything} constantinst[ %bitcast_coercion9 = bitcast i64 %37 to double, !dbg !135] = 1 val:1 type: {[-1]:Anything} constantinst[ %38 = fadd contract double %35, %bitcast_coercion9, !dbg !130] = 0 val:0 type: {[-1]:Float@double} constantinst[ %39 = fadd contract double %38, %33, !dbg !127] = 0 val:0 type: {[-1]:Float@double} constantinst[ %40 = call double @llvm.fma.f64(double %bitcast_coercion7, double %23, double %39) #45, !dbg !136] = 0 val:0 type: {[-1]:Float@double} constantinst[ %41 = call double @llvm.fabs.f64(double %6) #45, !dbg !137] = 1 val:1 type: {[-1]:Float@double} constantinst[ %42 = fcmp ugt double %41, 0x4086232BDD7ABCD2, !dbg !140] = 1 val:1 type: {[-1]:Integer} constantinst[ br i1 %42, label %L93, label %L88.L119_crit_edge, !dbg !139] = 1 val:1 type: {} constantinst[ %.pre = sext i32 %10 to i64, !dbg !142] = 1 val:1 type: {[-1]:Integer} constantinst[ br label %L119, !dbg !139] = 1 val:1 type: {} constantinst[ %43 = fcmp ord double %6, 0.000000e+00, !dbg !148] = 1 val:1 type: {[-1]:Integer} constantinst[ br i1 %43, label %L96, label %L131, !dbg !152] = 1 val:1 type: {} constantinst[ %44 = fcmp ult double %6, 0x40862E42FEFA39F0, !dbg !153] = 1 val:1 type: {[-1]:Integer} constantinst[ br i1 %44, label %L99, label %L131, !dbg !157] = 1 val:1 type: {} constantinst[ %45 = fcmp ugt double %6, 0xC0874910D52D3052, !dbg !158] = 1 val:1 type: {[-1]:Integer} constantinst[ br i1 %45, label %L102, label %L131, !dbg !159] = 1 val:1 type: {} constantinst[ %46 = sext i32 %10 to i64, !dbg !160] = 1 val:1 type: {[-1]:Integer} constantinst[ %47 = icmp sgt i32 %10, -53, !dbg !173] = 1 val:1 type: {[-1]:Integer} constantinst[ br i1 %47, label %L113, label %L105, !dbg !172] = 1 val:1 type: {} constantinst[ %48 = shl i64 %46, 52, !dbg !175] = 1 val:1 type: {[-1]:Integer} constantinst[ %49 = add i64 %48, 238690780250636288, !dbg !175] = 1 val:1 type: {[-1]:Anything} constantinst[ %bitcast_coercion12 = bitcast double %40 to i64, !dbg !179] = 0 val:0 type: {[-1]:Float@double} constantinst[ %50 = add i64 %49, %bitcast_coercion12, !dbg !181] = 0 val:0 type: {[-1]:Float@double} constantinst[ %bitcast_coercion13 = bitcast i64 %50 to double, !dbg !179] = 0 val:0 type: {[-1]:Float@double} constantinst[ %51 = fmul double %bitcast_coercion13, 0x3CA0000000000000, !dbg !183] = 0 val:0 type: {[-1]:Float@double} constantinst[ br label %L131, !dbg !180] = 1 val:1 type: {} constantinst[ %.not = icmp eq i32 %10, 1024, !dbg !184] = 1 val:1 type: {[-1]:Integer} constantinst[ br i1 %.not, label %L116, label %L119, !dbg !187] = 1 val:1 type: {} constantinst[ %52 = fmul double %40, 2.000000e+00, !dbg !188] = 0 val:0 type: {[-1]:Float@double} constantinst[ %53 = fmul double %52, 0x7FE0000000000000, !dbg !188] = 0 val:0 type: {[-1]:Float@double} constantinst[ br label %L131, !dbg !187] = 1 val:1 type: {} constantinst[ %.pre-phi = phi i64 [ %.pre, %L88.L119_crit_edge ], [ %46, %L113 ], !dbg !142] = 1 val:1 type: {[-1]:Integer} constantinst[ %54 = shl i64 %.pre-phi, 52, !dbg !189] = 1 val:1 type: {[-1]:Integer} constantinst[ %bitcast_coercion14 = bitcast double %40 to i64, !dbg !191] = 0 val:0 type: {[-1]:Float@double} constantinst[ %55 = add i64 %54, %bitcast_coercion14, !dbg !193] = 0 val:0 type: {[-1]:Float@double} constantinst[ %bitcast_coercion15 = bitcast i64 %55 to double, !dbg !191] = 0 val:0 type: {[-1]:Float@double} constantinst[ br label %L131, !dbg !192] = 1 val:1 type: {} constantinst[ %value_phi11 = phi double [ %51, %L105 ], [ %53, %L116 ], [ %bitcast_coercion15, %L119 ], [ %6, %L93 ], [ 0x7FF0000000000000, %L96 ], [ 0.000000e+00, %L99 ]] = 0 val:0 type: {[-1]:Float@double} constantinst[ ret double %value_phi11, !dbg !71] = 1 val:1 type: {} cannot handle unknown binary operator: %55 = add i64 %54, %bitcast_coercion14, !dbg !193 Stacktrace: [1] + @ ./int.jl:87 [2] exp_impl @ ./special/exp.jl:258 [3] pow_body @ ./math.jl:1173 Failure within method: pow_body(::Float64, ::Float64) @ Base.Math math.jl:1162 Hint: catch this exception as `err` and call `code_typed(err)` to inspect the surrounding code. Stacktrace: [1] + @ ./int.jl:87 [inlined] [2] exp_impl @ ./special/exp.jl:258 [inlined] [3] pow_body @ ./math.jl:1173 [4] ^ @ ./math.jl:1159 [inlined] [5] func_U @ ~/.julia/packages/Checkpointing/BlbIX/examples/optcontrolfunc.jl:11 [6] func @ ~/.julia/packages/Checkpointing/BlbIX/examples/optcontrolfunc.jl:16 [7] advance @ ~/.julia/packages/Checkpointing/BlbIX/examples/optcontrolfunc.jl:28 [8] macro expansion @ ~/.julia/packages/Checkpointing/BlbIX/examples/optcontrol.jl:69 [inlined] [9] #muoptcontrol##1 @ ~/.julia/packages/Checkpointing/BlbIX/src/Checkpointing.jl:133 [10] checkpoint_for @ ~/.julia/packages/Checkpointing/BlbIX/src/Checkpointing.jl:90 [inlined] [11] macro expansion @ ~/.julia/packages/Checkpointing/BlbIX/src/Checkpointing.jl:135 [inlined] [12] foo @ ~/.julia/packages/Checkpointing/BlbIX/examples/optcontrol.jl:67 [inlined] [13] foo @ ~/.julia/packages/Checkpointing/BlbIX/examples/optcontrol.jl:0 [inlined] [14] diffejulia_foo_39944_inner_8wrap @ ~/.julia/packages/Checkpointing/BlbIX/examples/optcontrol.jl:0 [15] macro expansion @ ~/.julia/packages/Enzyme/lNw5i/src/compiler.jl:6883 [inlined] [16] enzyme_call @ ~/.julia/packages/Enzyme/lNw5i/src/compiler.jl:6353 [inlined] [17] CombinedAdjointThunk @ ~/.julia/packages/Enzyme/lNw5i/src/compiler.jl:6237 [inlined] [18] autodiff @ ~/.julia/packages/Enzyme/lNw5i/src/Enzyme.jl:536 [inlined] [19] autodiff @ ~/.julia/packages/Enzyme/lNw5i/src/Enzyme.jl:577 [inlined] [20] muoptcontrol(scheme::Revolve{Nothing}, steps::Int64, snaps::Int64, verbose::Int64) @ Main ~/.julia/packages/Checkpointing/BlbIX/examples/optcontrol.jl:74 [21] muoptcontrol(scheme::Revolve{Nothing}, steps::Int64, snaps::Int64) @ Main ~/.julia/packages/Checkpointing/BlbIX/examples/optcontrol.jl:44 [22] top-level scope @ ~/.julia/packages/Checkpointing/BlbIX/test/runtests.jl:7 [23] macro expansion @ /opt/julia/share/julia/stdlib/v1.12/Test/src/Test.jl:1777 [inlined] [24] macro expansion @ ~/.julia/packages/Checkpointing/BlbIX/test/runtests.jl:31 [inlined] [25] macro expansion @ /opt/julia/share/julia/stdlib/v1.12/Test/src/Test.jl:1777 [inlined] [26] macro expansion @ ~/.julia/packages/Checkpointing/BlbIX/test/runtests.jl:32 [inlined] [27] macro expansion @ /opt/julia/share/julia/stdlib/v1.12/Test/src/Test.jl:1866 [inlined] [28] macro expansion @ ~/.julia/packages/Checkpointing/BlbIX/test/runtests.jl:37 [inlined] [29] include(mapexpr::Function, mod::Module, _path::String) @ Base ./Base.jl:307 [30] top-level scope @ none:6 [31] eval(m::Module, e::Any) @ Core ./boot.jl:489 [32] exec_options(opts::Base.JLOptions) @ Base ./client.jl:283 [33] _start() @ Base ./client.jl:550 scheme = Periodic: Error During Test at /home/pkgeval/.julia/packages/Checkpointing/BlbIX/test/runtests.jl:32 Got exception outside of a @test EnzymeNoDerivativeError: Current scope: ; Function Attrs: mustprogress noinline nounwind willreturn define internal fastcc "enzyme_type"="{[-1]:Float@double}" double @preprocess_julia_pow_body_45455(double "enzyme_type"="{[-1]:Float@double}" "enzymejl_parmtype"="137849593078560" "enzymejl_parmtype_ref"="0" "enzymejl_parmtype_str"="Float64" %"y::Float64") unnamed_addr #34 !dbg !1505 { top: %sret_box = call noalias nonnull dereferenceable(16) dereferenceable_or_null(16) ptr @malloc(i64 16), !enzymejl_allocart !796, !enzyme_type !60, !enzyme_fromstack !1506, !enzymejl_allocart_name !797 %pgcstack = call ptr @julia.get_pgcstack() #45 %ptls_field = getelementptr inbounds i8, ptr %pgcstack, i64 16 %ptls_load = load ptr, ptr %ptls_field, align 8, !tbaa !23 %0 = getelementptr inbounds i8, ptr %ptls_load, i64 16 %safepoint = load ptr, ptr %0, align 8, !tbaa !27 fence syncscope("singlethread") seq_cst call void @julia.safepoint(ptr %safepoint) #45, !dbg !1507 fence syncscope("singlethread") seq_cst call fastcc void @julia__log_ext_45462(ptr noalias nocapture noundef sret([2 x double]) align 8 %sret_box) #45, !dbg !1508 %"sret_box[2]_ptr" = getelementptr inbounds i8, ptr %sret_box, i64 8, !dbg !1509 %sret_box.unbox = load double, ptr %sret_box, align 8, !dbg !1510, !tbaa !23, !alias.scope !707, !noalias !808, !enzyme_type !98, !enzymejl_byref_BITS_VALUE !0, !enzymejl_source_type_Float64 !0 %1 = fmul double %sret_box.unbox, %"y::Float64", !dbg !1510 %2 = fneg double %1, !dbg !1513 %3 = call double @llvm.fma.f64(double %sret_box.unbox, double %"y::Float64", double %2) #45, !dbg !1515 %"sret_box[2]_ptr.unbox" = load double, ptr %"sret_box[2]_ptr", align 8, !dbg !1516, !tbaa !23, !alias.scope !707, !noalias !808, !enzyme_type !98, !enzymejl_byref_BITS_VALUE !0, !enzymejl_source_type_Float64 !0 %4 = fmul contract double %"sret_box[2]_ptr.unbox", %"y::Float64", !dbg !1516 %5 = fadd contract double %4, %3, !dbg !1516 %6 = fadd double %1, %5, !dbg !1518 %7 = fmul contract double %6, 0x40771547652B82FE, !dbg !1520 %8 = fadd contract double %7, 0x4338000000000000, !dbg !1520 %bitcast_coercion6 = bitcast double %8 to i64, !dbg !1523 %9 = trunc i64 %bitcast_coercion6 to i32, !dbg !1525 %10 = ashr i32 %9, 8, !dbg !1526 %11 = fadd double %8, 0xC338000000000000, !dbg !1529 %12 = fmul contract double %11, 0x3D31CF79ABC9E3B4, !dbg !1531 %13 = fmul contract double %11, 0x3F662E42FEF80000, !dbg !1533 %14 = fsub contract double %6, %13, !dbg !1533 %15 = fsub contract double %14, %12, !dbg !1531 %16 = fmul contract double %15, 0x3FA5555565BBF98F, !dbg !1535 %17 = fadd contract double %16, 0x3FC555557E55EFED, !dbg !1535 %18 = fmul contract double %15, %17, !dbg !1535 %19 = fadd contract double %18, 0x3FDFFFFFFFFFFFFB, !dbg !1535 %20 = fmul contract double %15, %19, !dbg !1535 %21 = fadd contract double %20, 0x3FEFFFFFFFFFFFB1, !dbg !1535 %22 = fmul double %15, %21, !dbg !1540 %23 = fadd double %22, 1.000000e+00, !dbg !1541 %24 = fsub double 1.000000e+00, %23, !dbg !1544 %25 = fadd double %22, %24, !dbg !1546 %26 = fsub double %6, %1, !dbg !1547 %27 = fsub double %5, %26, !dbg !1547 %28 = fadd double %27, %25, !dbg !1548 %29 = and i64 %bitcast_coercion6, 255, !dbg !1550 %30 = getelementptr inbounds i64, ptr @_j_const_6, i64 %29, !dbg !1554 %.unbox = load i64, ptr %30, align 8, !dbg !1555, !tbaa !89, !alias.scope !93, !noalias !97 %31 = and i64 %.unbox, 4503599627370495, !dbg !1555 %32 = or disjoint i64 %31, 4607182418800017408, !dbg !1557 %bitcast_coercion7 = bitcast i64 %32 to double, !dbg !1558 %33 = fmul contract double %28, %bitcast_coercion7, !dbg !1559 %34 = fmul double %27, %bitcast_coercion7, !dbg !1560 %35 = fmul contract double %34, %22, !dbg !1562 %36 = lshr i64 %.unbox, 8, !dbg !1563 %37 = or disjoint i64 %36, 4323455642275676160, !dbg !1566 %bitcast_coercion9 = bitcast i64 %37 to double, !dbg !1567 %38 = fadd contract double %35, %bitcast_coercion9, !dbg !1562 %39 = fadd contract double %38, %33, !dbg !1559 %40 = call double @llvm.fma.f64(double %bitcast_coercion7, double %23, double %39) #45, !dbg !1568 %41 = call double @llvm.fabs.f64(double %6) #45, !dbg !1569 %42 = fcmp ugt double %41, 0x4086232BDD7ABCD2, !dbg !1571 br i1 %42, label %L93, label %L88.L119_crit_edge, !dbg !1570 L88.L119_crit_edge: ; preds = %top %.pre = sext i32 %10 to i64, !dbg !1572 br label %L119, !dbg !1570 L93: ; preds = %top %43 = fcmp ord double %6, 0.000000e+00, !dbg !1575 br i1 %43, label %L96, label %L131, !dbg !1577 L96: ; preds = %L93 %44 = fcmp ult double %6, 0x40862E42FEFA39F0, !dbg !1578 br i1 %44, label %L99, label %L131, !dbg !1580 L99: ; preds = %L96 %45 = fcmp ugt double %6, 0xC0874910D52D3052, !dbg !1581 br i1 %45, label %L102, label %L131, !dbg !1582 L102: ; preds = %L99 %46 = sext i32 %10 to i64, !dbg !1583 %47 = icmp sgt i32 %10, -53, !dbg !1590 br i1 %47, label %L113, label %L105, !dbg !1589 L105: ; preds = %L102 %48 = shl i64 %46, 52, !dbg !1591 %49 = add i64 %48, 238690780250636288, !dbg !1591 %bitcast_coercion12 = bitcast double %40 to i64, !dbg !1594 %50 = add i64 %49, %bitcast_coercion12, !dbg !1596 %bitcast_coercion13 = bitcast i64 %50 to double, !dbg !1594 %51 = fmul double %bitcast_coercion13, 0x3CA0000000000000, !dbg !1597 br label %L131, !dbg !1595 L113: ; preds = %L102 %.not = icmp eq i32 %10, 1024, !dbg !1598 br i1 %.not, label %L116, label %L119, !dbg !1600 L116: ; preds = %L113 %52 = fmul double %40, 2.000000e+00, !dbg !1601 %53 = fmul double %52, 0x7FE0000000000000, !dbg !1601 br label %L131, !dbg !1600 L119: ; preds = %L113, %L88.L119_crit_edge %.pre-phi = phi i64 [ %.pre, %L88.L119_crit_edge ], [ %46, %L113 ], !dbg !1572 %54 = shl i64 %.pre-phi, 52, !dbg !1602 %bitcast_coercion14 = bitcast double %40 to i64, !dbg !1604 %55 = add i64 %54, %bitcast_coercion14, !dbg !1606 %bitcast_coercion15 = bitcast i64 %55 to double, !dbg !1604 br label %L131, !dbg !1605 L131: ; preds = %L119, %L116, %L105, %L99, %L96, %L93 %value_phi11 = phi double [ %51, %L105 ], [ %53, %L116 ], [ %bitcast_coercion15, %L119 ], [ %6, %L93 ], [ 0x7FF0000000000000, %L96 ], [ 0.000000e+00, %L99 ] ret double %value_phi11, !dbg !1522 } ; Function Attrs: mustprogress noinline nounwind willreturn define internal fastcc "enzyme_type"="{[-1]:Float@double}" double @preprocess_julia_pow_body_45455(double "enzyme_type"="{[-1]:Float@double}" "enzymejl_parmtype"="137849593078560" "enzymejl_parmtype_ref"="0" "enzymejl_parmtype_str"="Float64" %"y::Float64") unnamed_addr #34 !dbg !1505 { top: %sret_box = call noalias nonnull dereferenceable(16) dereferenceable_or_null(16) ptr @malloc(i64 16), !enzymejl_allocart !796, !enzyme_type !60, !enzyme_fromstack !1506, !enzymejl_allocart_name !797 %pgcstack = call ptr @julia.get_pgcstack() #45 %ptls_field = getelementptr inbounds i8, ptr %pgcstack, i64 16 %ptls_load = load ptr, ptr %ptls_field, align 8, !tbaa !23 %0 = getelementptr inbounds i8, ptr %ptls_load, i64 16 %safepoint = load ptr, ptr %0, align 8, !tbaa !27 fence syncscope("singlethread") seq_cst call void @julia.safepoint(ptr %safepoint) #45, !dbg !1507 fence syncscope("singlethread") seq_cst call fastcc void @julia__log_ext_45462(ptr noalias nocapture noundef sret([2 x double]) align 8 %sret_box) #45, !dbg !1508 %"sret_box[2]_ptr" = getelementptr inbounds i8, ptr %sret_box, i64 8, !dbg !1509 %sret_box.unbox = load double, ptr %sret_box, align 8, !dbg !1510, !tbaa !23, !alias.scope !707, !noalias !808, !enzyme_type !98, !enzymejl_byref_BITS_VALUE !0, !enzymejl_source_type_Float64 !0 %1 = fmul double %sret_box.unbox, %"y::Float64", !dbg !1510 %2 = fneg double %1, !dbg !1513 %3 = call double @llvm.fma.f64(double %sret_box.unbox, double %"y::Float64", double %2) #45, !dbg !1515 %"sret_box[2]_ptr.unbox" = load double, ptr %"sret_box[2]_ptr", align 8, !dbg !1516, !tbaa !23, !alias.scope !707, !noalias !808, !enzyme_type !98, !enzymejl_byref_BITS_VALUE !0, !enzymejl_source_type_Float64 !0 %4 = fmul contract double %"sret_box[2]_ptr.unbox", %"y::Float64", !dbg !1516 %5 = fadd contract double %4, %3, !dbg !1516 %6 = fadd double %1, %5, !dbg !1518 %7 = fmul contract double %6, 0x40771547652B82FE, !dbg !1520 %8 = fadd contract double %7, 0x4338000000000000, !dbg !1520 %bitcast_coercion6 = bitcast double %8 to i64, !dbg !1523 %9 = trunc i64 %bitcast_coercion6 to i32, !dbg !1525 %10 = ashr i32 %9, 8, !dbg !1526 %11 = fadd double %8, 0xC338000000000000, !dbg !1529 %12 = fmul contract double %11, 0x3D31CF79ABC9E3B4, !dbg !1531 %13 = fmul contract double %11, 0x3F662E42FEF80000, !dbg !1533 %14 = fsub contract double %6, %13, !dbg !1533 %15 = fsub contract double %14, %12, !dbg !1531 %16 = fmul contract double %15, 0x3FA5555565BBF98F, !dbg !1535 %17 = fadd contract double %16, 0x3FC555557E55EFED, !dbg !1535 %18 = fmul contract double %15, %17, !dbg !1535 %19 = fadd contract double %18, 0x3FDFFFFFFFFFFFFB, !dbg !1535 %20 = fmul contract double %15, %19, !dbg !1535 %21 = fadd contract double %20, 0x3FEFFFFFFFFFFFB1, !dbg !1535 %22 = fmul double %15, %21, !dbg !1540 %23 = fadd double %22, 1.000000e+00, !dbg !1541 %24 = fsub double 1.000000e+00, %23, !dbg !1544 %25 = fadd double %22, %24, !dbg !1546 %26 = fsub double %6, %1, !dbg !1547 %27 = fsub double %5, %26, !dbg !1547 %28 = fadd double %27, %25, !dbg !1548 %29 = and i64 %bitcast_coercion6, 255, !dbg !1550 %30 = getelementptr inbounds i64, ptr @_j_const_6, i64 %29, !dbg !1554 %.unbox = load i64, ptr %30, align 8, !dbg !1555, !tbaa !89, !alias.scope !93, !noalias !97 %31 = and i64 %.unbox, 4503599627370495, !dbg !1555 %32 = or disjoint i64 %31, 4607182418800017408, !dbg !1557 %bitcast_coercion7 = bitcast i64 %32 to double, !dbg !1558 %33 = fmul contract double %28, %bitcast_coercion7, !dbg !1559 %34 = fmul double %27, %bitcast_coercion7, !dbg !1560 %35 = fmul contract double %34, %22, !dbg !1562 %36 = lshr i64 %.unbox, 8, !dbg !1563 %37 = or disjoint i64 %36, 4323455642275676160, !dbg !1566 %bitcast_coercion9 = bitcast i64 %37 to double, !dbg !1567 %38 = fadd contract double %35, %bitcast_coercion9, !dbg !1562 %39 = fadd contract double %38, %33, !dbg !1559 %40 = call double @llvm.fma.f64(double %bitcast_coercion7, double %23, double %39) #45, !dbg !1568 %41 = call double @llvm.fabs.f64(double %6) #45, !dbg !1569 %42 = fcmp ugt double %41, 0x4086232BDD7ABCD2, !dbg !1571 br i1 %42, label %L93, label %L88.L119_crit_edge, !dbg !1570 L88.L119_crit_edge: ; preds = %top %.pre = sext i32 %10 to i64, !dbg !1572 br label %L119, !dbg !1570 L93: ; preds = %top %43 = fcmp ord double %6, 0.000000e+00, !dbg !1575 br i1 %43, label %L96, label %L131, !dbg !1577 L96: ; preds = %L93 %44 = fcmp ult double %6, 0x40862E42FEFA39F0, !dbg !1578 br i1 %44, label %L99, label %L131, !dbg !1580 L99: ; preds = %L96 %45 = fcmp ugt double %6, 0xC0874910D52D3052, !dbg !1581 br i1 %45, label %L102, label %L131, !dbg !1582 L102: ; preds = %L99 %46 = sext i32 %10 to i64, !dbg !1583 %47 = icmp sgt i32 %10, -53, !dbg !1590 br i1 %47, label %L113, label %L105, !dbg !1589 L105: ; preds = %L102 %48 = shl i64 %46, 52, !dbg !1591 %49 = add i64 %48, 238690780250636288, !dbg !1591 %bitcast_coercion12 = bitcast double %40 to i64, !dbg !1594 %50 = add i64 %49, %bitcast_coercion12, !dbg !1596 %bitcast_coercion13 = bitcast i64 %50 to double, !dbg !1594 %51 = fmul double %bitcast_coercion13, 0x3CA0000000000000, !dbg !1597 br label %L131, !dbg !1595 L113: ; preds = %L102 %.not = icmp eq i32 %10, 1024, !dbg !1598 br i1 %.not, label %L116, label %L119, !dbg !1600 L116: ; preds = %L113 %52 = fmul double %40, 2.000000e+00, !dbg !1601 %53 = fmul double %52, 0x7FE0000000000000, !dbg !1601 br label %L131, !dbg !1600 L119: ; preds = %L113, %L88.L119_crit_edge %.pre-phi = phi i64 [ %.pre, %L88.L119_crit_edge ], [ %46, %L113 ], !dbg !1572 %54 = shl i64 %.pre-phi, 52, !dbg !1602 %bitcast_coercion14 = bitcast double %40 to i64, !dbg !1604 %55 = add i64 %54, %bitcast_coercion14, !dbg !1606 %bitcast_coercion15 = bitcast i64 %55 to double, !dbg !1604 br label %L131, !dbg !1605 L131: ; preds = %L119, %L116, %L105, %L99, %L96, %L93 %value_phi11 = phi double [ %51, %L105 ], [ %53, %L116 ], [ %bitcast_coercion15, %L119 ], [ %6, %L93 ], [ 0x7FF0000000000000, %L96 ], [ 0.000000e+00, %L99 ] ret double %value_phi11, !dbg !1522 } constantarg[double %"y::Float64"] = 0 type: {[-1]:Float@double} - vals: {} constantinst[ %sret_box = call noalias nonnull dereferenceable(16) dereferenceable_or_null(16) ptr @malloc(i64 16), !enzymejl_allocart !23, !enzyme_type !24, !enzyme_fromstack !27, !enzymejl_allocart_name !28] = 1 val:0 type: {[-1]:Pointer, [-1,-1]:Float@double} constantinst[ %pgcstack = call ptr @julia.get_pgcstack() #45] = 1 val:1 type: {[-1]:Pointer, [-1,16]:Pointer} constantinst[ %ptls_field = getelementptr inbounds i8, ptr %pgcstack, i64 16] = 1 val:1 type: {[-1]:Pointer, [-1,0]:Pointer} constantinst[ %ptls_load = load ptr, ptr %ptls_field, align 8, !tbaa !29] = 1 val:1 type: {[-1]:Pointer} constantinst[ %0 = getelementptr inbounds i8, ptr %ptls_load, i64 16] = 1 val:1 type: {[-1]:Pointer} constantinst[ %safepoint = load ptr, ptr %0, align 8, !tbaa !33] = 1 val:1 type: {} constantinst[ fence syncscope("singlethread") seq_cst] = 1 val:1 type: {} constantinst[ call void @julia.safepoint(ptr %safepoint) #45, !dbg !35] = 1 val:1 type: {} constantinst[ fence syncscope("singlethread") seq_cst] = 1 val:1 type: {} constantinst[ call fastcc void @julia__log_ext_45462(ptr noalias nocapture noundef sret([2 x double]) align 8 %sret_box) #45, !dbg !36] = 0 val:1 type: {} constantinst[ %"sret_box[2]_ptr" = getelementptr inbounds i8, ptr %sret_box, i64 8, !dbg !37] = 1 val:0 type: {[-1]:Pointer, [-1,-1]:Float@double} constantinst[ %sret_box.unbox = load double, ptr %sret_box, align 8, !dbg !40, !tbaa !29, !alias.scope !46, !noalias !49, !enzyme_type !54, !enzymejl_byref_BITS_VALUE !0, !enzymejl_source_type_Float64 !0] = 0 val:0 type: {[-1]:Float@double} constantinst[ %1 = fmul double %sret_box.unbox, %"y::Float64", !dbg !40] = 0 val:0 type: {[-1]:Float@double} constantinst[ %2 = fneg double %1, !dbg !55] = 0 val:0 type: {[-1]:Float@double} constantinst[ %3 = call double @llvm.fma.f64(double %sret_box.unbox, double %"y::Float64", double %2) #45, !dbg !58] = 0 val:0 type: {[-1]:Float@double} constantinst[ %"sret_box[2]_ptr.unbox" = load double, ptr %"sret_box[2]_ptr", align 8, !dbg !61, !tbaa !29, !alias.scope !46, !noalias !49, !enzyme_type !54, !enzymejl_byref_BITS_VALUE !0, !enzymejl_source_type_Float64 !0] = 0 val:0 type: {[-1]:Float@double} constantinst[ %4 = fmul contract double %"sret_box[2]_ptr.unbox", %"y::Float64", !dbg !61] = 0 val:0 type: {[-1]:Float@double} constantinst[ %5 = fadd contract double %4, %3, !dbg !61] = 0 val:0 type: {[-1]:Float@double} constantinst[ %6 = fadd double %1, %5, !dbg !64] = 0 val:0 type: {[-1]:Float@double} constantinst[ %7 = fmul contract double %6, 0x40771547652B82FE, !dbg !67] = 0 val:0 type: {[-1]:Float@double} constantinst[ %8 = fadd contract double %7, 0x4338000000000000, !dbg !67] = 0 val:0 type: {[-1]:Float@double} constantinst[ %bitcast_coercion6 = bitcast double %8 to i64, !dbg !72] = 1 val:1 type: {[-1]:Float@double} constantinst[ %9 = trunc i64 %bitcast_coercion6 to i32, !dbg !76] = 1 val:1 type: {[-1]:Float@double} constantinst[ %10 = ashr i32 %9, 8, !dbg !79] = 1 val:1 type: {[-1]:Integer} constantinst[ %11 = fadd double %8, 0xC338000000000000, !dbg !83] = 0 val:0 type: {[-1]:Float@double} constantinst[ %12 = fmul contract double %11, 0x3D31CF79ABC9E3B4, !dbg !85] = 0 val:0 type: {[-1]:Float@double} constantinst[ %13 = fmul contract double %11, 0x3F662E42FEF80000, !dbg !87] = 0 val:0 type: {[-1]:Float@double} constantinst[ %14 = fsub contract double %6, %13, !dbg !87] = 0 val:0 type: {[-1]:Float@double} constantinst[ %15 = fsub contract double %14, %12, !dbg !85] = 0 val:0 type: {[-1]:Float@double} constantinst[ %16 = fmul contract double %15, 0x3FA5555565BBF98F, !dbg !89] = 0 val:0 type: {[-1]:Float@double} constantinst[ %17 = fadd contract double %16, 0x3FC555557E55EFED, !dbg !89] = 0 val:0 type: {[-1]:Float@double} constantinst[ %18 = fmul contract double %15, %17, !dbg !89] = 0 val:0 type: {[-1]:Float@double} constantinst[ %19 = fadd contract double %18, 0x3FDFFFFFFFFFFFFB, !dbg !89] = 0 val:0 type: {[-1]:Float@double} constantinst[ %20 = fmul contract double %15, %19, !dbg !89] = 0 val:0 type: {[-1]:Float@double} constantinst[ %21 = fadd contract double %20, 0x3FEFFFFFFFFFFFB1, !dbg !89] = 0 val:0 type: {[-1]:Float@double} constantinst[ %22 = fmul double %15, %21, !dbg !97] = 0 val:0 type: {[-1]:Float@double} constantinst[ %23 = fadd double %22, 1.000000e+00, !dbg !98] = 0 val:0 type: {[-1]:Float@double} constantinst[ %24 = fsub double 1.000000e+00, %23, !dbg !103] = 0 val:0 type: {[-1]:Float@double} constantinst[ %25 = fadd double %22, %24, !dbg !105] = 0 val:0 type: {[-1]:Float@double} constantinst[ %26 = fsub double %6, %1, !dbg !106] = 0 val:0 type: {[-1]:Float@double} constantinst[ %27 = fsub double %5, %26, !dbg !106] = 0 val:0 type: {[-1]:Float@double} constantinst[ %28 = fadd double %27, %25, !dbg !107] = 0 val:0 type: {[-1]:Float@double} constantinst[ %29 = and i64 %bitcast_coercion6, 255, !dbg !109] = 1 val:1 type: {[-1]:Integer} constantinst[ %30 = getelementptr inbounds i64, ptr @_j_const_6, i64 %29, !dbg !115] = 1 val:1 type: {[-1]:Pointer, [-1,-1]:Anything} constantinst[ %.unbox = load i64, ptr %30, align 8, !dbg !116, !tbaa !118, !alias.scope !122, !noalias !123] = 1 val:1 type: {[-1]:Anything} constantinst[ %31 = and i64 %.unbox, 4503599627370495, !dbg !116] = 1 val:1 type: {[-1]:Anything} constantinst[ %32 = or disjoint i64 %31, 4607182418800017408, !dbg !124] = 1 val:1 type: {[-1]:Anything} constantinst[ %bitcast_coercion7 = bitcast i64 %32 to double, !dbg !126] = 1 val:1 type: {[-1]:Anything} constantinst[ %33 = fmul contract double %28, %bitcast_coercion7, !dbg !127] = 0 val:0 type: {[-1]:Float@double} constantinst[ %34 = fmul double %27, %bitcast_coercion7, !dbg !128] = 0 val:0 type: {[-1]:Float@double} constantinst[ %35 = fmul contract double %34, %22, !dbg !130] = 0 val:0 type: {[-1]:Float@double} constantinst[ %36 = lshr i64 %.unbox, 8, !dbg !131] = 1 val:1 type: {[-1]:Anything} constantinst[ %37 = or disjoint i64 %36, 4323455642275676160, !dbg !134] = 1 val:1 type: {[-1]:Anything} constantinst[ %bitcast_coercion9 = bitcast i64 %37 to double, !dbg !135] = 1 val:1 type: {[-1]:Anything} constantinst[ %38 = fadd contract double %35, %bitcast_coercion9, !dbg !130] = 0 val:0 type: {[-1]:Float@double} constantinst[ %39 = fadd contract double %38, %33, !dbg !127] = 0 val:0 type: {[-1]:Float@double} constantinst[ %40 = call double @llvm.fma.f64(double %bitcast_coercion7, double %23, double %39) #45, !dbg !136] = 0 val:0 type: {[-1]:Float@double} constantinst[ %41 = call double @llvm.fabs.f64(double %6) #45, !dbg !137] = 1 val:1 type: {[-1]:Float@double} constantinst[ %42 = fcmp ugt double %41, 0x4086232BDD7ABCD2, !dbg !140] = 1 val:1 type: {[-1]:Integer} constantinst[ br i1 %42, label %L93, label %L88.L119_crit_edge, !dbg !139] = 1 val:1 type: {} constantinst[ %.pre = sext i32 %10 to i64, !dbg !142] = 1 val:1 type: {[-1]:Integer} constantinst[ br label %L119, !dbg !139] = 1 val:1 type: {} constantinst[ %43 = fcmp ord double %6, 0.000000e+00, !dbg !148] = 1 val:1 type: {[-1]:Integer} constantinst[ br i1 %43, label %L96, label %L131, !dbg !152] = 1 val:1 type: {} constantinst[ %44 = fcmp ult double %6, 0x40862E42FEFA39F0, !dbg !153] = 1 val:1 type: {[-1]:Integer} constantinst[ br i1 %44, label %L99, label %L131, !dbg !157] = 1 val:1 type: {} constantinst[ %45 = fcmp ugt double %6, 0xC0874910D52D3052, !dbg !158] = 1 val:1 type: {[-1]:Integer} constantinst[ br i1 %45, label %L102, label %L131, !dbg !159] = 1 val:1 type: {} constantinst[ %46 = sext i32 %10 to i64, !dbg !160] = 1 val:1 type: {[-1]:Integer} constantinst[ %47 = icmp sgt i32 %10, -53, !dbg !173] = 1 val:1 type: {[-1]:Integer} constantinst[ br i1 %47, label %L113, label %L105, !dbg !172] = 1 val:1 type: {} constantinst[ %48 = shl i64 %46, 52, !dbg !175] = 1 val:1 type: {[-1]:Integer} constantinst[ %49 = add i64 %48, 238690780250636288, !dbg !175] = 1 val:1 type: {[-1]:Anything} constantinst[ %bitcast_coercion12 = bitcast double %40 to i64, !dbg !179] = 0 val:0 type: {[-1]:Float@double} constantinst[ %50 = add i64 %49, %bitcast_coercion12, !dbg !181] = 0 val:0 type: {[-1]:Float@double} constantinst[ %bitcast_coercion13 = bitcast i64 %50 to double, !dbg !179] = 0 val:0 type: {[-1]:Float@double} constantinst[ %51 = fmul double %bitcast_coercion13, 0x3CA0000000000000, !dbg !183] = 0 val:0 type: {[-1]:Float@double} constantinst[ br label %L131, !dbg !180] = 1 val:1 type: {} constantinst[ %.not = icmp eq i32 %10, 1024, !dbg !184] = 1 val:1 type: {[-1]:Integer} constantinst[ br i1 %.not, label %L116, label %L119, !dbg !187] = 1 val:1 type: {} constantinst[ %52 = fmul double %40, 2.000000e+00, !dbg !188] = 0 val:0 type: {[-1]:Float@double} constantinst[ %53 = fmul double %52, 0x7FE0000000000000, !dbg !188] = 0 val:0 type: {[-1]:Float@double} constantinst[ br label %L131, !dbg !187] = 1 val:1 type: {} constantinst[ %.pre-phi = phi i64 [ %.pre, %L88.L119_crit_edge ], [ %46, %L113 ], !dbg !142] = 1 val:1 type: {[-1]:Integer} constantinst[ %54 = shl i64 %.pre-phi, 52, !dbg !189] = 1 val:1 type: {[-1]:Integer} constantinst[ %bitcast_coercion14 = bitcast double %40 to i64, !dbg !191] = 0 val:0 type: {[-1]:Float@double} constantinst[ %55 = add i64 %54, %bitcast_coercion14, !dbg !193] = 0 val:0 type: {[-1]:Float@double} constantinst[ %bitcast_coercion15 = bitcast i64 %55 to double, !dbg !191] = 0 val:0 type: {[-1]:Float@double} constantinst[ br label %L131, !dbg !192] = 1 val:1 type: {} constantinst[ %value_phi11 = phi double [ %51, %L105 ], [ %53, %L116 ], [ %bitcast_coercion15, %L119 ], [ %6, %L93 ], [ 0x7FF0000000000000, %L96 ], [ 0.000000e+00, %L99 ]] = 0 val:0 type: {[-1]:Float@double} constantinst[ ret double %value_phi11, !dbg !71] = 1 val:1 type: {} cannot handle unknown binary operator: %55 = add i64 %54, %bitcast_coercion14, !dbg !193 Stacktrace: [1] + @ ./int.jl:87 [2] exp_impl @ ./special/exp.jl:258 [3] pow_body @ ./math.jl:1173 Failure within method: pow_body(::Float64, ::Float64) @ Base.Math math.jl:1162 Hint: catch this exception as `err` and call `code_typed(err)` to inspect the surrounding code. Stacktrace: [1] + @ ./int.jl:87 [inlined] [2] exp_impl @ ./special/exp.jl:258 [inlined] [3] pow_body @ ./math.jl:1173 [4] ^ @ ./math.jl:1159 [inlined] [5] func_U @ ~/.julia/packages/Checkpointing/BlbIX/examples/optcontrolfunc.jl:11 [6] func @ ~/.julia/packages/Checkpointing/BlbIX/examples/optcontrolfunc.jl:16 [7] advance @ ~/.julia/packages/Checkpointing/BlbIX/examples/optcontrolfunc.jl:28 [8] macro expansion @ ~/.julia/packages/Checkpointing/BlbIX/examples/optcontrol.jl:69 [inlined] [9] #muoptcontrol##1 @ ~/.julia/packages/Checkpointing/BlbIX/src/Checkpointing.jl:133 [10] checkpoint_for @ ~/.julia/packages/Checkpointing/BlbIX/src/Checkpointing.jl:90 [inlined] [11] macro expansion @ ~/.julia/packages/Checkpointing/BlbIX/src/Checkpointing.jl:135 [inlined] [12] foo @ ~/.julia/packages/Checkpointing/BlbIX/examples/optcontrol.jl:67 [inlined] [13] foo @ ~/.julia/packages/Checkpointing/BlbIX/examples/optcontrol.jl:0 [inlined] [14] diffejulia_foo_45413_inner_8wrap @ ~/.julia/packages/Checkpointing/BlbIX/examples/optcontrol.jl:0 [15] macro expansion @ ~/.julia/packages/Enzyme/lNw5i/src/compiler.jl:6883 [inlined] [16] enzyme_call @ ~/.julia/packages/Enzyme/lNw5i/src/compiler.jl:6353 [inlined] [17] CombinedAdjointThunk @ ~/.julia/packages/Enzyme/lNw5i/src/compiler.jl:6237 [inlined] [18] autodiff @ ~/.julia/packages/Enzyme/lNw5i/src/Enzyme.jl:536 [inlined] [19] autodiff @ ~/.julia/packages/Enzyme/lNw5i/src/Enzyme.jl:577 [inlined] [20] muoptcontrol(scheme::Periodic{Nothing}, steps::Int64, snaps::Int64, verbose::Int64) @ Main ~/.julia/packages/Checkpointing/BlbIX/examples/optcontrol.jl:74 [21] muoptcontrol(scheme::Periodic{Nothing}, steps::Int64, snaps::Int64) @ Main ~/.julia/packages/Checkpointing/BlbIX/examples/optcontrol.jl:44 [22] top-level scope @ ~/.julia/packages/Checkpointing/BlbIX/test/runtests.jl:7 [23] macro expansion @ /opt/julia/share/julia/stdlib/v1.12/Test/src/Test.jl:1777 [inlined] [24] macro expansion @ ~/.julia/packages/Checkpointing/BlbIX/test/runtests.jl:31 [inlined] [25] macro expansion @ /opt/julia/share/julia/stdlib/v1.12/Test/src/Test.jl:1777 [inlined] [26] macro expansion @ ~/.julia/packages/Checkpointing/BlbIX/test/runtests.jl:32 [inlined] [27] macro expansion @ /opt/julia/share/julia/stdlib/v1.12/Test/src/Test.jl:1866 [inlined] [28] macro expansion @ ~/.julia/packages/Checkpointing/BlbIX/test/runtests.jl:37 [inlined] [29] include(mapexpr::Function, mod::Module, _path::String) @ Base ./Base.jl:307 [30] top-level scope @ none:6 [31] eval(m::Module, e::Any) @ Core ./boot.jl:489 [32] exec_options(opts::Base.JLOptions) @ Base ./client.jl:283 [33] _start() @ Base ./client.jl:550 [271] signal 11 (1): Segmentation fault in expression starting at /home/pkgeval/.julia/packages/Checkpointing/BlbIX/test/runtests.jl:6 jl_is_globally_rooted at /source/src/staticdata.c:2974 jl_as_global_root at /source/src/staticdata.c:2989 inst_datatype_inner at /source/src/jltypes.c:2275 jl_inst_arg_tuple_type at /source/src/jltypes.c:2498 arg_type_tuple at /source/src/gf.c:3067 [inlined] jl_lookup_generic_ at /source/src/gf.c:4151 [inlined] ijl_apply_generic at /source/src/gf.c:4210 rev_checkpoint_while at /home/pkgeval/.julia/packages/Checkpointing/BlbIX/src/Schemes/Online_r2.jl:504 _jl_invoke at /source/src/gf.c:4014 [inlined] ijl_invoke at /source/src/gf.c:4021 reverse at /home/pkgeval/.julia/packages/Checkpointing/BlbIX/src/Rules/EnzymeRules.jl:164 [inlined] macro expansion at /home/pkgeval/.julia/packages/Checkpointing/BlbIX/src/Checkpointing.jl:145 [inlined] timestepper at /home/pkgeval/.julia/packages/Checkpointing/BlbIX/examples/box_model.jl:156 [inlined] diffejulia_timestepper_62562wrap at /home/pkgeval/.julia/packages/Checkpointing/BlbIX/examples/box_model.jl:0 macro expansion at /home/pkgeval/.julia/packages/Enzyme/lNw5i/src/compiler.jl:6883 [inlined] enzyme_call at /home/pkgeval/.julia/packages/Enzyme/lNw5i/src/compiler.jl:6353 [inlined] CombinedAdjointThunk at /home/pkgeval/.julia/packages/Enzyme/lNw5i/src/compiler.jl:6237 [inlined] autodiff at /home/pkgeval/.julia/packages/Enzyme/lNw5i/src/Enzyme.jl:536 [inlined] autodiff at /home/pkgeval/.julia/packages/Enzyme/lNw5i/src/Enzyme.jl:577 [inlined] box at /home/pkgeval/.julia/packages/Checkpointing/BlbIX/examples/box_model.jl:175 unknown function (ip: 0x7d5f7bf4cda7) at (unknown file) _jl_invoke at /source/src/gf.c:4014 [inlined] ijl_apply_generic at /source/src/gf.c:4214 jl_apply at /source/src/julia.h:2397 [inlined] do_call at /source/src/interpreter.c:123 eval_value at /source/src/interpreter.c:243 eval_stmt_value at /source/src/interpreter.c:194 [inlined] eval_body at /source/src/interpreter.c:689 eval_body at /source/src/interpreter.c:558 eval_body at /source/src/interpreter.c:558 eval_body at /source/src/interpreter.c:558 eval_body at /source/src/interpreter.c:558 eval_body at /source/src/interpreter.c:558 eval_body at /source/src/interpreter.c:558 jl_interpret_toplevel_thunk at /source/src/interpreter.c:898 jl_toplevel_eval_flex at /source/src/toplevel.c:1035 jl_toplevel_eval_flex at /source/src/toplevel.c:975 ijl_toplevel_eval at /source/src/toplevel.c:1047 ijl_toplevel_eval_in at /source/src/toplevel.c:1092 eval at ./boot.jl:489 include_string at ./loading.jl:2873 _jl_invoke at /source/src/gf.c:4014 [inlined] ijl_apply_generic at /source/src/gf.c:4214 _include at ./loading.jl:2933 include at ./Base.jl:307 IncludeInto at ./Base.jl:308 jfptr_IncludeInto_53184.1 at /opt/julia/lib/julia/sys.so (unknown line) _jl_invoke at /source/src/gf.c:4014 [inlined] ijl_apply_generic at /source/src/gf.c:4214 jl_apply at /source/src/julia.h:2397 [inlined] do_call at /source/src/interpreter.c:123 eval_value at /source/src/interpreter.c:243 eval_stmt_value at /source/src/interpreter.c:194 [inlined] eval_body at /source/src/interpreter.c:689 jl_interpret_toplevel_thunk at /source/src/interpreter.c:898 jl_toplevel_eval_flex at /source/src/toplevel.c:1035 jl_toplevel_eval_flex at /source/src/toplevel.c:975 ijl_toplevel_eval at /source/src/toplevel.c:1047 ijl_toplevel_eval_in at /source/src/toplevel.c:1092 eval at ./boot.jl:489 exec_options at ./client.jl:283 _start at ./client.jl:550 jfptr__start_64964.1 at /opt/julia/lib/julia/sys.so (unknown line) _jl_invoke at /source/src/gf.c:4014 [inlined] ijl_apply_generic at /source/src/gf.c:4214 jl_apply at /source/src/julia.h:2397 [inlined] true_main at /source/src/jlapi.c:971 jl_repl_entrypoint at /source/src/jlapi.c:1139 main at /source/cli/loader_exe.c:58 unknown function (ip: 0x7d5fa94ba249) at /lib/x86_64-linux-gnu/libc.so.6 __libc_start_main at /lib/x86_64-linux-gnu/libc.so.6 (unknown line) unknown function (ip: 0x4010b8) at /workspace/srcdir/glibc-2.17/csu/../sysdeps/x86_64/start.S Allocations: 204779034 (Pool: 204777727; Big: 1307); GC: 57 Testing failed after 468.47s ERROR: LoadError: Package Checkpointing errored during testing (received signal: 11) Stacktrace: [1] pkgerror(msg::String) @ Pkg.Types /opt/julia/share/julia/stdlib/v1.12/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.12/Pkg/src/Operations.jl:2538 [3] test @ /opt/julia/share/julia/stdlib/v1.12/Pkg/src/Operations.jl:2387 [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.12/Pkg/src/API.jl:552 [5] test(pkgs::Vector{PackageSpec}; io::IOContext{IO}, kwargs::@Kwargs{julia_args::Cmd}) @ Pkg.API /opt/julia/share/julia/stdlib/v1.12/Pkg/src/API.jl:169 [6] test(pkgs::Vector{String}; kwargs::@Kwargs{julia_args::Cmd}) @ Pkg.API /opt/julia/share/julia/stdlib/v1.12/Pkg/src/API.jl:157 [7] test @ /opt/julia/share/julia/stdlib/v1.12/Pkg/src/API.jl:157 [inlined] [8] #test#81 @ /opt/julia/share/julia/stdlib/v1.12/Pkg/src/API.jl:156 [inlined] [9] top-level scope @ /PkgEval.jl/scripts/evaluate.jl:223 [10] include(mod::Module, _path::String) @ Base ./Base.jl:306 [11] exec_options(opts::Base.JLOptions) @ Base ./client.jl:317 [12] _start() @ Base ./client.jl:550 in expression starting at /PkgEval.jl/scripts/evaluate.jl:214 PkgEval crashed after 573.6s: a segmentation fault happened