Organisationsahrefsocannl324a70 ()fedora-41-5.3_opam-2.4

fedora-41-5.3_opam-2.4

Logs

Show full logs
2025-08-05 19:43.22: New job: test ahrefs/ocannl https://github.com/ahrefs/ocannl.git#refs/heads/master (324a7053e60abb99dde1acbaa274217fe7b3a1b9) (linux-x86_64:fedora-41-5.3_opam-2.4)
Base: ocaml/opam:fedora-41-ocaml-5.3@sha256:807e9dca7f5ba5d70cc1aaa05e7d619aec8dc85850c58f408797d1f053ed17f5
Opam project build

To reproduce locally:

git clone --recursive "https://github.com/ahrefs/ocannl.git" -b "master" && cd "ocannl" && git reset --hard 324a7053
cat > Dockerfile <<'END-OF-DOCKERFILE'
FROM ocaml/opam:fedora-41-ocaml-5.3@sha256:807e9dca7f5ba5d70cc1aaa05e7d619aec8dc85850c58f408797d1f053ed17f5
# fedora-41-5.3_opam-2.4
USER 1000:1000
ENV CLICOLOR_FORCE="1"
ENV OPAMCOLOR="always"
WORKDIR /src
RUN sudo dnf install -y findutils
RUN sudo ln -f /usr/bin/opam-2.4 /usr/bin/opam
RUN opam init --reinit -ni
RUN uname -rs && opam exec -- ocaml -version && opam --version
WORKDIR /src
RUN sudo chown opam /src
RUN cd ~/opam-repository && (git cat-file -e e77940d8ff8706305602d0d643bf01c77beef2e7 || git fetch origin master) && git reset -q --hard e77940d8ff8706305602d0d643bf01c77beef2e7 && git log --no-decorate -n1 --oneline && opam update -u
COPY --chown=1000:1000 neural_nets_lib.opam arrayjit.opam ./
RUN opam pin add -yn neural_nets_lib.dev './' && \
    opam pin add -yn arrayjit.dev './'
RUN echo '(lang dune 3.0)' > './dune-project'
ENV DEPS="angstrom.0.16.1 astring.0.8.5 backoff.0.1.1 base.v0.17.3 base-bigarray.base base-bytes.base base-domains.base base-effects.base base-nnp.base base-threads.base base-unix.base bigarray-compat.1.1.0 bigstringaf.0.10.0 camlp-streams.5.0.1 camlzip.1.13 cmdliner.1.3.0 conf-libcurl.2 conf-libffi.2.0.0 conf-pkg-config.4 conf-zlib.1 cppo.1.8.0 csexp.1.5.2 csv.2.4 ctypes.0.23.0 ctypes-foreign.0.23.0 curl.0.10.0 dune.3.19.1 dune-configurator.3.19.1 fieldslib.v0.17.0 fmt.0.11.0 integers.0.7.0 jane-street-headers.v0.17.0 jst-config.v0.17.0 logs.0.9.0 mdx.2.5.0 mtime.2.1.0 multicore-magic.2.3.1 num.1.6 ocaml.5.3.0 ocaml-base-compiler.5.3.0 ocaml-compiler.5.3.0 ocaml-compiler-libs.v0.17.0 ocaml-config.3 ocaml-options-vanilla.1 ocaml-syntax-shims.1.0.0 ocaml-version.4.0.1 ocaml_intrinsics_kernel.v0.17.1 ocamlbuild.0.16.1 ocamlfind.1.9.8 parsexp.v0.17.0 pprint.20230830 ppx_assert.v0.17.0 ppx_base.v0.17.0 ppx_cold.v0.17.0 ppx_compare.v0.17.0 ppx_derivers.1.2.1 ppx_deriving.6.1.1 ppx_enumerate.v0.17.0 ppx_expect.v0.17.3 ppx_fields_conv.v0.17.0 ppx_globalize.v0.17.2 ppx_hash.v0.17.0 ppx_here.v0.17.0 ppx_inline_test.v0.17.1 ppx_minidebug.2.3.0 ppx_optcomp.v0.17.1 ppx_sexp_conv.v0.17.1 ppx_string.v0.17.0 ppx_variants_conv.v0.17.1 ppxlib.0.36.0 ppxlib_jane.v0.17.4 printbox.0.12 printbox-ext-plot.0.12 printbox-html.0.12 printbox-md.0.12 printbox-text.0.12 ptime.1.2.0 re.1.13.2 result.1.5 saturn_lockfree.0.5.0 seq.base sexplib.v0.17.0 sexplib0.v0.17.0 stdio.v0.17.0 stdlib-shims.0.3.0 thread-local-storage.0.2 time_now.v0.17.0 topkg.1.1.0 tyxml.4.6.0 uucp.16.0.0 uutf.1.0.4 variantslib.v0.17.0"
ENV CI="true"
ENV OCAMLCI="true"
RUN opam update --depexts && opam install --cli=2.4 --depext-only -y neural_nets_lib.dev arrayjit.dev $DEPS
RUN opam install $DEPS
COPY --chown=1000:1000 . /src
RUN opam exec -- dune build @install @check @runtest && rm -rf _build

END-OF-DOCKERFILE
docker build .
END-REPRO-BLOCK

2025-08-05 19:43.22: Using cache hint "ahrefs/ocannl-ocaml/opam:fedora-41-ocaml-5.3@sha256:807e9dca7f5ba5d70cc1aaa05e7d619aec8dc85850c58f408797d1f053ed17f5-fedora-41-5.3_opam-2.4-a61f39135d120f7a92b6120d1d6a701f"
2025-08-05 19:43.22: Using OBuilder spec:
((from ocaml/opam:fedora-41-ocaml-5.3@sha256:807e9dca7f5ba5d70cc1aaa05e7d619aec8dc85850c58f408797d1f053ed17f5)
 (comment fedora-41-5.3_opam-2.4)
 (user (uid 1000) (gid 1000))
 (env CLICOLOR_FORCE 1)
 (env OPAMCOLOR always)
 (workdir /src)
 (run (network host)
      (shell "sudo dnf install -y findutils"))
 (run (shell "sudo ln -f /usr/bin/opam-2.4 /usr/bin/opam"))
 (run (shell "opam init --reinit -ni"))
 (run (shell "uname -rs && opam exec -- ocaml -version && opam --version"))
 (workdir /src)
 (run (shell "sudo chown opam /src"))
 (run (cache (opam-archives (target /home/opam/.opam/download-cache)))
      (network host)
      (shell "cd ~/opam-repository && (git cat-file -e e77940d8ff8706305602d0d643bf01c77beef2e7 || git fetch origin master) && git reset -q --hard e77940d8ff8706305602d0d643bf01c77beef2e7 && git log --no-decorate -n1 --oneline && opam update -u"))
 (copy (src neural_nets_lib.opam arrayjit.opam) (dst ./))
 (run (network host)
      (shell  "opam pin add -yn neural_nets_lib.dev './' && \
             \nopam pin add -yn arrayjit.dev './'"))
 (run (network host)
      (shell "echo '(lang dune 3.0)' > './dune-project'"))
 (env DEPS "angstrom.0.16.1 astring.0.8.5 backoff.0.1.1 base.v0.17.3 base-bigarray.base base-bytes.base base-domains.base base-effects.base base-nnp.base base-threads.base base-unix.base bigarray-compat.1.1.0 bigstringaf.0.10.0 camlp-streams.5.0.1 camlzip.1.13 cmdliner.1.3.0 conf-libcurl.2 conf-libffi.2.0.0 conf-pkg-config.4 conf-zlib.1 cppo.1.8.0 csexp.1.5.2 csv.2.4 ctypes.0.23.0 ctypes-foreign.0.23.0 curl.0.10.0 dune.3.19.1 dune-configurator.3.19.1 fieldslib.v0.17.0 fmt.0.11.0 integers.0.7.0 jane-street-headers.v0.17.0 jst-config.v0.17.0 logs.0.9.0 mdx.2.5.0 mtime.2.1.0 multicore-magic.2.3.1 num.1.6 ocaml.5.3.0 ocaml-base-compiler.5.3.0 ocaml-compiler.5.3.0 ocaml-compiler-libs.v0.17.0 ocaml-config.3 ocaml-options-vanilla.1 ocaml-syntax-shims.1.0.0 ocaml-version.4.0.1 ocaml_intrinsics_kernel.v0.17.1 ocamlbuild.0.16.1 ocamlfind.1.9.8 parsexp.v0.17.0 pprint.20230830 ppx_assert.v0.17.0 ppx_base.v0.17.0 ppx_cold.v0.17.0 ppx_compare.v0.17.0 ppx_derivers.1.2.1 ppx_deriving.6.1.1 ppx_enumerate.v0.17.0 ppx_expect.v0.17.3 ppx_fields_conv.v0.17.0 ppx_globalize.v0.17.2 ppx_hash.v0.17.0 ppx_here.v0.17.0 ppx_inline_test.v0.17.1 ppx_minidebug.2.3.0 ppx_optcomp.v0.17.1 ppx_sexp_conv.v0.17.1 ppx_string.v0.17.0 ppx_variants_conv.v0.17.1 ppxlib.0.36.0 ppxlib_jane.v0.17.4 printbox.0.12 printbox-ext-plot.0.12 printbox-html.0.12 printbox-md.0.12 printbox-text.0.12 ptime.1.2.0 re.1.13.2 result.1.5 saturn_lockfree.0.5.0 seq.base sexplib.v0.17.0 sexplib0.v0.17.0 stdio.v0.17.0 stdlib-shims.0.3.0 thread-local-storage.0.2 time_now.v0.17.0 topkg.1.1.0 tyxml.4.6.0 uucp.16.0.0 uutf.1.0.4 variantslib.v0.17.0")
 (env CI true)
 (env OCAMLCI true)
 (run (cache (opam-archives (target /home/opam/.opam/download-cache)))
      (network host)
      (shell "opam update --depexts && opam install --cli=2.4 --depext-only -y neural_nets_lib.dev arrayjit.dev $DEPS"))
 (run (cache (opam-archives (target /home/opam/.opam/download-cache)))
      (network host)
      (shell "opam install $DEPS"))
 (copy (src .) (dst /src))
 (run (shell "opam exec -- dune build @install @check @runtest && rm -rf _build"))
)

2025-08-05 19:43.22: Waiting for resource in pool OCluster
2025-08-05 19:43.22: Waiting for worker…
2025-08-05 19:45.55: Got resource from pool OCluster
Building on doris.caelum.ci.dev
All commits already cached
HEAD is now at 324a7053 Fixes #334 and Optimize shape inference #215: No more traversing of the whole env with eliminate_variables

(from ocaml/opam:fedora-41-ocaml-5.3@sha256:807e9dca7f5ba5d70cc1aaa05e7d619aec8dc85850c58f408797d1f053ed17f5)
Unable to find image 'ocaml/opam:fedora-41-ocaml-5.3@sha256:807e9dca7f5ba5d70cc1aaa05e7d619aec8dc85850c58f408797d1f053ed17f5' locally
docker.io/ocaml/opam@sha256:807e9dca7f5ba5d70cc1aaa05e7d619aec8dc85850c58f408797d1f053ed17f5: Pulling from ocaml/opam
2b0cc7ee804c: Already exists
c18ed2f7611b: Already exists
0e212a9ba2f6: Already exists
720686032277: Already exists
93be4d741366: Already exists
df139e1f3f46: Already exists
bee85951ecc4: Already exists
cfb7dd932d0a: Already exists
302d2b5cf94e: Already exists
744bd9676b94: Already exists
a61a2d3582bd: Pulling fs layer
a5cf4976352b: Pulling fs layer
2bc5a8b0d983: Pulling fs layer
22426805282e: Pulling fs layer
d39f24bef506: Pulling fs layer
2c18ac3ce9e5: Pulling fs layer
9d7b82e56a00: Pulling fs layer
404af7605dc7: Pulling fs layer
22426805282e: Waiting
d39f24bef506: Waiting
007ac776635c: Pulling fs layer
2c18ac3ce9e5: Waiting
3d6a7bcf6161: Pulling fs layer
404af7605dc7: Waiting
4f4fb700ef54: Pulling fs layer
81a2be02a786: Pulling fs layer
bd0aecc02a24: Pulling fs layer
9d7b82e56a00: Waiting
d45fa2528917: Pulling fs layer
80de9e6990f7: Pulling fs layer
007ac776635c: Waiting
03da6777de95: Pulling fs layer
3d6a7bcf6161: Waiting
494d5ca3df8f: Pulling fs layer
41c6b53a001d: Pulling fs layer
4f4fb700ef54: Waiting
3e8b84460b11: Pulling fs layer
d053d4a106fe: Pulling fs layer
bd0aecc02a24: Waiting
fa7761527b70: Pulling fs layer
80de9e6990f7: Waiting
dcd9d9d9b709: Pulling fs layer
41c6b53a001d: Waiting
d9806d9e64c4: Pulling fs layer
d45fa2528917: Waiting
f876e57ff686: Pulling fs layer
3e8b84460b11: Waiting
dcd9d9d9b709: Waiting
8bc0b3187df7: Pulling fs layer
8b9e19fd2c6f: Pulling fs layer
494d5ca3df8f: Waiting
9ba4810d75d9: Pulling fs layer
fa7761527b70: Waiting
dbd14d793cc9: Pulling fs layer
42532df89f46: Pulling fs layer
8bc0b3187df7: Waiting
d03e76a27dce: Pulling fs layer
d053d4a106fe: Waiting
9ba4810d75d9: Waiting
bac3b6f3c4a9: Pulling fs layer
50215e359b55: Pulling fs layer
42532df89f46: Waiting
27e83a79dc4e: Pulling fs layer
334ed129df98: Pulling fs layer
d9806d9e64c4: Waiting
334ed129df98: Waiting
d03e76a27dce: Waiting
bac3b6f3c4a9: Waiting
a5cf4976352b: Verifying Checksum
a5cf4976352b: Download complete
2bc5a8b0d983: Verifying Checksum
2bc5a8b0d983: Download complete
22426805282e: Download complete
d39f24bef506: Verifying Checksum
d39f24bef506: Download complete
2c18ac3ce9e5: Download complete
a61a2d3582bd: Download complete
9d7b82e56a00: Verifying Checksum
9d7b82e56a00: Download complete
a61a2d3582bd: Pull complete
404af7605dc7: Verifying Checksum
404af7605dc7: Download complete
007ac776635c: Verifying Checksum
007ac776635c: Download complete
a5cf4976352b: Pull complete
4f4fb700ef54: Download complete
2bc5a8b0d983: Pull complete
3d6a7bcf6161: Verifying Checksum
3d6a7bcf6161: Download complete
22426805282e: Pull complete
d39f24bef506: Pull complete
2c18ac3ce9e5: Pull complete
9d7b82e56a00: Pull complete
81a2be02a786: Verifying Checksum
81a2be02a786: Download complete
404af7605dc7: Pull complete
007ac776635c: Pull complete
bd0aecc02a24: Download complete
3d6a7bcf6161: Pull complete
4f4fb700ef54: Pull complete
81a2be02a786: Pull complete
d45fa2528917: Verifying Checksum
d45fa2528917: Download complete
bd0aecc02a24: Pull complete
d45fa2528917: Pull complete
80de9e6990f7: Verifying Checksum
80de9e6990f7: Download complete
80de9e6990f7: Pull complete
03da6777de95: Verifying Checksum
03da6777de95: Download complete
03da6777de95: Pull complete
494d5ca3df8f: Verifying Checksum
494d5ca3df8f: Download complete
494d5ca3df8f: Pull complete
41c6b53a001d: Verifying Checksum
41c6b53a001d: Download complete
41c6b53a001d: Pull complete
3e8b84460b11: Download complete
3e8b84460b11: Pull complete
d053d4a106fe: Download complete
d053d4a106fe: Pull complete
fa7761527b70: Download complete
fa7761527b70: Pull complete
dcd9d9d9b709: Verifying Checksum
dcd9d9d9b709: Download complete
dcd9d9d9b709: Pull complete
d9806d9e64c4: Verifying Checksum
d9806d9e64c4: Download complete
d9806d9e64c4: Pull complete
8bc0b3187df7: Verifying Checksum
8bc0b3187df7: Download complete
9ba4810d75d9: Download complete
dbd14d793cc9: Verifying Checksum
dbd14d793cc9: Download complete
42532df89f46: Verifying Checksum
42532df89f46: Download complete
d03e76a27dce: Verifying Checksum
d03e76a27dce: Download complete
f876e57ff686: Download complete
50215e359b55: Verifying Checksum
50215e359b55: Download complete
27e83a79dc4e: Verifying Checksum
27e83a79dc4e: Download complete
334ed129df98: Download complete
8b9e19fd2c6f: Verifying Checksum
8b9e19fd2c6f: Download complete
bac3b6f3c4a9: Verifying Checksum
bac3b6f3c4a9: Download complete
f876e57ff686: Pull complete
8bc0b3187df7: Pull complete
8b9e19fd2c6f: Pull complete
9ba4810d75d9: Pull complete
dbd14d793cc9: Pull complete
42532df89f46: Pull complete
d03e76a27dce: Pull complete
bac3b6f3c4a9: Pull complete
50215e359b55: Pull complete
27e83a79dc4e: Pull complete
334ed129df98: Pull complete
Digest: sha256:807e9dca7f5ba5d70cc1aaa05e7d619aec8dc85850c58f408797d1f053ed17f5
Status: Downloaded newer image for ocaml/opam@sha256:807e9dca7f5ba5d70cc1aaa05e7d619aec8dc85850c58f408797d1f053ed17f5
2025-08-05 19:47.09 ---> saved as "35acf84784bf4471d6359ee6903b64a640d608f18aa556a867466db9cbdb24a8"

/: (comment fedora-41-5.3_opam-2.4)

/: (user (uid 1000) (gid 1000))

/: (env CLICOLOR_FORCE 1)

/: (env OPAMCOLOR always)

/: (workdir /src)

/src: (run (network host)
           (shell "sudo dnf install -y findutils"))
Updating and loading repositories:
 Fedora 41 - x86_64                     100% |  80.2 KiB/s |  25.8 KiB |  00m00s
 Fedora 41 - x86_64 - Updates           100% | 191.8 KiB/s |  22.8 KiB |  00m00s
 Fedora 41 - x86_64 - Updates           100% |   5.3 MiB/s |   3.9 MiB |  00m01s
Repositories loaded.
Package "findutils-1:4.10.0-4.fc41.x86_64" is already installed.

Nothing to do.
2025-08-05 19:47.14 ---> saved as "84924c65c35e03b36258f80f529e248173044abc9ac80c35d9b0574d8f80cc0a"

/src: (run (shell "sudo ln -f /usr/bin/opam-2.4 /usr/bin/opam"))
2025-08-05 19:47.14 ---> saved as "91c55b64e2d644bb6d6499bb0a8585851c2546e92f4a1fbc5f722dd288b9a6cc"

/src: (run (shell "opam init --reinit -ni"))
Configuring from /home/opam/.opamrc and then from built-in defaults.
Checking for available remotes: rsync and local, git.
  - you won't be able to use mercurial repositories unless you install the hg command on your system.
  - you won't be able to use darcs repositories unless you install the darcs command on your system.

This version of opam requires an update to the layout of /home/opam/.opam from version 2.0 to version 2.2, which can't be reverted.
You may want to back it up before going further.

Continue? [Y/n] y
[NOTE] The 'jobs' option was reset, its value was 71 and its new value will vary according to the current number of cores on your machine. You can restore the fixed value using:
           opam option jobs=71 --global
Format upgrade done.

<><> Updating repositories ><><><><><><><><><><><><><><><><><><><><><><><><><><>
[default] Initialised
2025-08-05 19:47.36 ---> saved as "6a72ba5e93e8a85c798bd2f9c3826f0ec8bfc63c1bffc4415bc4db59bec4582a"

/src: (run (shell "uname -rs && opam exec -- ocaml -version && opam --version"))
Linux 5.15.0-142-generic
The OCaml toplevel, version 5.3.0
2.4.1
2025-08-05 19:47.36 ---> saved as "b3d032e204eda0858d1b0b65ee0a914a1692df89be24daa37b40567fbc7a8386"

/src: (workdir /src)

/src: (run (shell "sudo chown opam /src"))
2025-08-05 19:47.36 ---> saved as "376234755cf9500cead593c9d2d8bb0203bc20828bf2a19dd27415bf715a07cf"

/src: (run (cache (opam-archives (target /home/opam/.opam/download-cache)))
           (network host)
           (shell "cd ~/opam-repository && (git cat-file -e e77940d8ff8706305602d0d643bf01c77beef2e7 || git fetch origin master) && git reset -q --hard e77940d8ff8706305602d0d643bf01c77beef2e7 && git log --no-decorate -n1 --oneline && opam update -u"))
e77940d8ff Merge pull request #28255 from dbuenzli/b0-publish-fmt.0.11.0

<><> Updating package repositories ><><><><><><><><><><><><><><><><><><><><><><>
[default] synchronised from git+file:///home/opam/opam-repository

Already up-to-date.
Nothing to do.
# To update the current shell environment, run: eval $(opam env)
2025-08-05 19:47.52 ---> saved as "85c918f8edd725860528f93ca0fa7c5f052e32f702c395347a7440c017f4c9ec"

/src: (copy (src neural_nets_lib.opam arrayjit.opam) (dst ./))
2025-08-05 19:47.52 ---> saved as "fcfee9ee503150b3827133b7ad50a9ed4e24c863f699f3a62ca85f8cdc1f4ed1"

/src: (run (network host)
           (shell  "opam pin add -yn neural_nets_lib.dev './' && \
                  \nopam pin add -yn arrayjit.dev './'"))
[neural_nets_lib.dev] synchronised (file:///src)
neural_nets_lib is now pinned to file:///src (version dev)
[arrayjit.dev] synchronised (file:///src)
arrayjit is now pinned to file:///src (version dev)
2025-08-05 19:47.53 ---> saved as "202d940dd41b2606c61a42770cd54ecfcd83ea67dacd3b7f0211bff37ec30eca"

/src: (run (network host)
           (shell "echo '(lang dune 3.0)' > './dune-project'"))
2025-08-05 19:47.53 ---> saved as "e61d9b88a33ca8b58be0c6f53649b86d78aafb4af2f1aae614e856861ed67386"

/src: (env DEPS "angstrom.0.16.1 astring.0.8.5 backoff.0.1.1 base.v0.17.3 base-bigarray.base base-bytes.base base-domains.base base-effects.base base-nnp.base base-threads.base base-unix.base bigarray-compat.1.1.0 bigstringaf.0.10.0 camlp-streams.5.0.1 camlzip.1.13 cmdliner.1.3.0 conf-libcurl.2 conf-libffi.2.0.0 conf-pkg-config.4 conf-zlib.1 cppo.1.8.0 csexp.1.5.2 csv.2.4 ctypes.0.23.0 ctypes-foreign.0.23.0 curl.0.10.0 dune.3.19.1 dune-configurator.3.19.1 fieldslib.v0.17.0 fmt.0.11.0 integers.0.7.0 jane-street-headers.v0.17.0 jst-config.v0.17.0 logs.0.9.0 mdx.2.5.0 mtime.2.1.0 multicore-magic.2.3.1 num.1.6 ocaml.5.3.0 ocaml-base-compiler.5.3.0 ocaml-compiler.5.3.0 ocaml-compiler-libs.v0.17.0 ocaml-config.3 ocaml-options-vanilla.1 ocaml-syntax-shims.1.0.0 ocaml-version.4.0.1 ocaml_intrinsics_kernel.v0.17.1 ocamlbuild.0.16.1 ocamlfind.1.9.8 parsexp.v0.17.0 pprint.20230830 ppx_assert.v0.17.0 ppx_base.v0.17.0 ppx_cold.v0.17.0 ppx_compare.v0.17.0 ppx_derivers.1.2.1 ppx_deriving.6.1.1 ppx_enumerate.v0.17.0 ppx_expect.v0.17.3 ppx_fields_conv.v0.17.0 ppx_globalize.v0.17.2 ppx_hash.v0.17.0 ppx_here.v0.17.0 ppx_inline_test.v0.17.1 ppx_minidebug.2.3.0 ppx_optcomp.v0.17.1 ppx_sexp_conv.v0.17.1 ppx_string.v0.17.0 ppx_variants_conv.v0.17.1 ppxlib.0.36.0 ppxlib_jane.v0.17.4 printbox.0.12 printbox-ext-plot.0.12 printbox-html.0.12 printbox-md.0.12 printbox-text.0.12 ptime.1.2.0 re.1.13.2 result.1.5 saturn_lockfree.0.5.0 seq.base sexplib.v0.17.0 sexplib0.v0.17.0 stdio.v0.17.0 stdlib-shims.0.3.0 thread-local-storage.0.2 time_now.v0.17.0 topkg.1.1.0 tyxml.4.6.0 uucp.16.0.0 uutf.1.0.4 variantslib.v0.17.0")

/src: (env CI true)

/src: (env OCAMLCI true)

/src: (run (cache (opam-archives (target /home/opam/.opam/download-cache)))
           (network host)
           (shell "opam update --depexts && opam install --cli=2.4 --depext-only -y neural_nets_lib.dev arrayjit.dev $DEPS"))
+ /usr/bin/sudo "yum" "makecache"
- Updating and loading repositories:
- Repositories loaded.
- Metadata cache created.

<><> Synchronising pinned packages ><><><><><><><><><><><><><><><><><><><><><><>
[arrayjit.dev] synchronised (file:///src)
[neural_nets_lib.dev] synchronised (file:///src)

[NOTE] Package ocaml-options-vanilla is already installed (current version is 1).
[NOTE] Package ocaml-config is already installed (current version is 3).
[NOTE] Package ocaml-compiler is already installed (current version is 5.3.0).
[NOTE] Package ocaml-base-compiler is already installed (current version is 5.3.0).
[NOTE] Package ocaml is already installed (current version is 5.3.0).
[NOTE] Package base-unix is already installed (current version is base).
[NOTE] Package base-threads is already installed (current version is base).
[NOTE] Package base-nnp is already installed (current version is base).
[NOTE] Package base-effects is already installed (current version is base).
[NOTE] Package base-domains is already installed (current version is base).
[NOTE] Package base-bigarray is already installed (current version is base).

The following system packages will first need to be installed:
    libcurl-devel libffi-devel zlib-ng-compat-devel

<><> Handling external dependencies <><><><><><><><><><><><><><><><><><><><><><>

+ /usr/bin/sudo "yum" "install" "-y" "libcurl-devel" "libffi-devel" "zlib-ng-compat-devel"
- Updating and loading repositories:
- Repositories loaded.
- Package               Arch   Version         Repository      Size
- Installing:
-  libcurl-devel        x86_64 8.9.1-3.fc41    updates      1.3 MiB
-  libffi-devel         x86_64 3.4.6-3.fc41    fedora      33.1 KiB
-  zlib-ng-compat-devel x86_64 2.2.3-2.fc41    updates    107.0 KiB
- Installing dependencies:
-  brotli               x86_64 1.1.0-5.fc41    fedora      31.8 KiB
-  brotli-devel         x86_64 1.1.0-5.fc41    fedora      65.6 KiB
-  cmake-filesystem     x86_64 3.30.8-1.fc41   updates      0.0   B
-  libidn2-devel        x86_64 2.3.8-1.fc41    updates    148.2 KiB
-  libnghttp2-devel     x86_64 1.62.1-3.fc41   updates    295.2 KiB
-  libpsl-devel         x86_64 0.21.5-4.fc41   fedora     110.3 KiB
-  libssh-devel         x86_64 0.10.6-8.fc41   fedora     155.0 KiB
-  openssl-devel        x86_64 1:3.2.4-2.fc41  updates      4.3 MiB
-  publicsuffix-list    noarch 20250616-1.fc41 updates    332.8 KiB
- 
- Transaction Summary:
-  Installing:        12 packages
- 
- Total size of inbound packages is 4 MiB. Need to download 4 MiB.
- After this operation, 7 MiB extra will be used (install 7 MiB, remove 0 B).
- [ 1/12] zlib-ng-compat-devel-0:2.2.3-2. 100% | 870.6 KiB/s |  38.3 KiB |  00m00s
- [ 2/12] libffi-devel-0:3.4.6-3.fc41.x86 100% | 383.5 KiB/s |  28.8 KiB |  00m00s
- [ 3/12] brotli-devel-0:1.1.0-5.fc41.x86 100% |   1.5 MiB/s |  34.0 KiB |  00m00s
- [ 4/12] cmake-filesystem-0:3.30.8-1.fc4 100% | 305.7 KiB/s |  16.8 KiB |  00m00s
- [ 5/12] brotli-0:1.1.0-5.fc41.x86_64    100% | 352.3 KiB/s |  20.1 KiB |  00m00s
- [ 6/12] libcurl-devel-0:8.9.1-3.fc41.x8 100% |   5.0 MiB/s | 871.1 KiB |  00m00s
- [ 7/12] libidn2-devel-0:2.3.8-1.fc41.x8 100% | 841.9 KiB/s |  64.0 KiB |  00m00s
- [ 8/12] libnghttp2-devel-0:1.62.1-3.fc4 100% |   2.3 MiB/s |  55.3 KiB |  00m00s
- [ 9/12] libssh-devel-0:0.10.6-8.fc41.x8 100% |   1.1 MiB/s |  39.2 KiB |  00m00s
- [10/12] libpsl-devel-0:0.21.5-4.fc41.x8 100% | 496.5 KiB/s |  33.3 KiB |  00m00s
- [11/12] publicsuffix-list-0:20250616-1. 100% |   2.9 MiB/s |  89.9 KiB |  00m00s
- [12/12] openssl-devel-1:3.2.4-2.fc41.x8 100% |  12.3 MiB/s |   2.8 MiB |  00m00s
- --------------------------------------------------------------------------------
- [12/12] Total                           100% |   6.1 MiB/s |   4.1 MiB |  00m01s
- Running transaction
- [ 1/14] Verify package files            100% | 571.0   B/s |  12.0   B |  00m00s
- [ 2/14] Prepare transaction             100% |  97.0   B/s |  12.0   B |  00m00s
- [ 3/14] Installing cmake-filesystem-0:3 100% |   1.4 MiB/s |   7.3 KiB |  00m00s
- [ 4/14] Installing zlib-ng-compat-devel 100% |  53.0 MiB/s | 108.5 KiB |  00m00s
- [ 5/14] Installing libssh-devel-0:0.10. 100% |  76.9 MiB/s | 157.4 KiB |  00m00s
- [ 6/14] Installing publicsuffix-list-0: 100% | 163.0 MiB/s | 333.8 KiB |  00m00s
- [ 7/14] Installing libpsl-devel-0:0.21. 100% |  12.3 MiB/s | 113.6 KiB |  00m00s
- [ 8/14] Installing openssl-devel-1:3.2. 100% | 101.7 MiB/s |   5.2 MiB |  00m00s
- [ 9/14] Installing libnghttp2-devel-0:1 100% | 144.7 MiB/s | 296.3 KiB |  00m00s
- [10/14] Installing libidn2-devel-0:2.3. 100% |  76.1 MiB/s | 155.8 KiB |  00m00s
- [11/14] Installing brotli-0:1.1.0-5.fc4 100% |  31.7 MiB/s |  32.5 KiB |  00m00s
- [12/14] Installing brotli-devel-0:1.1.0 100% |  22.1 MiB/s |  68.0 KiB |  00m00s
- [13/14] Installing libcurl-devel-0:8.9. 100% | 149.9 MiB/s |   1.3 MiB |  00m00s
- [14/14] Installing libffi-devel-0:3.4.6 100% | 599.9 KiB/s |  34.8 KiB |  00m00s
- Complete!
+ /usr/bin/rpm "-q" "--whatprovides" "libcurl-devel" "libffi-devel" "zlib-ng-compat-devel"
- libcurl-devel-8.9.1-3.fc41.x86_64
- libffi-devel-3.4.6-3.fc41.x86_64
- zlib-ng-compat-devel-2.2.3-2.fc41.x86_64
2025-08-05 19:48.04 ---> saved as "efc12c682bd6a2bfbb3575f0afd31de903d6383d1c9ab9903b297ff2efc15031"

/src: (run (cache (opam-archives (target /home/opam/.opam/download-cache)))
           (network host)
           (shell "opam install $DEPS"))
[NOTE] Package ocaml-options-vanilla is already installed (current version is 1).
[NOTE] Package ocaml-config is already installed (current version is 3).
[NOTE] Package ocaml-compiler is already installed (current version is 5.3.0).
[NOTE] Package ocaml-base-compiler is already installed (current version is 5.3.0).
[NOTE] Package ocaml is already installed (current version is 5.3.0).
[NOTE] Package base-unix is already installed (current version is base).
[NOTE] Package base-threads is already installed (current version is base).
[NOTE] Package base-nnp is already installed (current version is base).
[NOTE] Package base-effects is already installed (current version is base).
[NOTE] Package base-domains is already installed (current version is base).
[NOTE] Package base-bigarray is already installed (current version is base).
The following actions will be performed:
=== install 81 packages
  - install angstrom                0.16.1
  - install astring                 0.8.5
  - install backoff                 0.1.1
  - install base                    v0.17.3
  - install base-bytes              base
  - install bigarray-compat         1.1.0
  - install bigstringaf             0.10.0
  - install camlp-streams           5.0.1
  - install camlzip                 1.13
  - install cmdliner                1.3.0
  - install conf-libcurl            2
  - install conf-libffi             2.0.0
  - install conf-pkg-config         4
  - install conf-zlib               1
  - install cppo                    1.8.0
  - install csexp                   1.5.2
  - install csv                     2.4
  - install ctypes                  0.23.0
  - install ctypes-foreign          0.23.0
  - install curl                    0.10.0
  - install dune                    3.19.1
  - install dune-configurator       3.19.1
  - install fieldslib               v0.17.0
  - install fmt                     0.11.0
  - install integers                0.7.0
  - install jane-street-headers     v0.17.0
  - install jst-config              v0.17.0
  - install logs                    0.9.0
  - install mdx                     2.5.0
  - install mtime                   2.1.0
  - install multicore-magic         2.3.1
  - install num                     1.6
  - install ocaml-compiler-libs     v0.17.0
  - install ocaml-syntax-shims      1.0.0
  - install ocaml-version           4.0.1
  - install ocaml_intrinsics_kernel v0.17.1
  - install ocamlbuild              0.16.1
  - install ocamlfind               1.9.8
  - install parsexp                 v0.17.0
  - install pprint                  20230830
  - install ppx_assert              v0.17.0
  - install ppx_base                v0.17.0
  - install ppx_cold                v0.17.0
  - install ppx_compare             v0.17.0
  - install ppx_derivers            1.2.1
  - install ppx_deriving            6.1.1
  - install ppx_enumerate           v0.17.0
  - install ppx_expect              v0.17.3
  - install ppx_fields_conv         v0.17.0
  - install ppx_globalize           v0.17.2
  - install ppx_hash                v0.17.0
  - install ppx_here                v0.17.0
  - install ppx_inline_test         v0.17.1
  - install ppx_minidebug           2.3.0
  - install ppx_optcomp             v0.17.1
  - install ppx_sexp_conv           v0.17.1
  - install ppx_string              v0.17.0
  - install ppx_variants_conv       v0.17.1
  - install ppxlib                  0.36.0
  - install ppxlib_jane             v0.17.4
  - install printbox                0.12
  - install printbox-ext-plot       0.12
  - install printbox-html           0.12
  - install printbox-md             0.12
  - install printbox-text           0.12
  - install ptime                   1.2.0
  - install re                      1.13.2
  - install result                  1.5
  - install saturn_lockfree         0.5.0
  - install seq                     base
  - install sexplib                 v0.17.0
  - install sexplib0                v0.17.0
  - install stdio                   v0.17.0
  - install stdlib-shims            0.3.0
  - install thread-local-storage    0.2
  - install time_now                v0.17.0
  - install topkg                   1.1.0
  - install tyxml                   4.6.0
  - install uucp                    16.0.0
  - install uutf                    1.0.4
  - install variantslib             v0.17.0

<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
-> retrieved angstrom.0.16.1  (cached)
-> retrieved astring.0.8.5  (cached)
-> retrieved backoff.0.1.1  (cached)
-> retrieved bigarray-compat.1.1.0  (cached)
-> retrieved bigstringaf.0.10.0  (cached)
-> retrieved base.v0.17.3  (cached)
-> retrieved camlp-streams.5.0.1  (cached)
-> retrieved camlzip.1.13  (cached)
-> retrieved cmdliner.1.3.0  (cached)
-> retrieved cppo.1.8.0  (cached)
-> installed conf-libcurl.2
-> installed conf-pkg-config.4
-> retrieved csexp.1.5.2  (cached)
-> retrieved csv.2.4  (cached)
-> retrieved ctypes.0.23.0, ctypes-foreign.0.23.0  (cached)
-> installed conf-libffi.2.0.0
-> installed conf-zlib.1
-> retrieved curl.0.10.0  (cached)
-> retrieved fieldslib.v0.17.0  (cached)
-> retrieved fmt.0.11.0  (cached)
-> retrieved integers.0.7.0  (cached)
-> retrieved jane-street-headers.v0.17.0  (cached)
-> retrieved jst-config.v0.17.0  (cached)
-> retrieved logs.0.9.0  (cached)
-> retrieved mtime.2.1.0  (cached)
-> retrieved multicore-magic.2.3.1  (cached)
-> retrieved mdx.2.5.0  (cached)
-> retrieved num.1.6  (cached)
-> retrieved ocaml-compiler-libs.v0.17.0  (cached)
-> retrieved ocaml-syntax-shims.1.0.0  (cached)
-> retrieved ocaml-version.4.0.1  (cached)
-> retrieved ocaml_intrinsics_kernel.v0.17.1  (cached)
-> retrieved ocamlbuild.0.16.1  (cached)
-> retrieved dune.3.19.1, dune-configurator.3.19.1  (cached)
-> retrieved ocamlfind.1.9.8  (cached)
-> retrieved parsexp.v0.17.0  (cached)
-> retrieved pprint.20230830  (cached)
-> retrieved ppx_assert.v0.17.0  (cached)
-> retrieved ppx_base.v0.17.0  (cached)
-> retrieved ppx_cold.v0.17.0  (cached)
-> retrieved ppx_compare.v0.17.0  (cached)
-> retrieved ppx_derivers.1.2.1  (cached)
-> retrieved ppx_deriving.6.1.1  (cached)
-> installed cmdliner.1.3.0
-> installed num.1.6
-> retrieved ppx_enumerate.v0.17.0  (cached)
-> retrieved ppx_expect.v0.17.3  (cached)
-> retrieved ppx_fields_conv.v0.17.0  (cached)
-> retrieved ppx_globalize.v0.17.2  (cached)
-> retrieved ppx_hash.v0.17.0  (cached)
-> retrieved ppx_here.v0.17.0  (cached)
-> retrieved ppx_inline_test.v0.17.1  (cached)
-> retrieved ppx_optcomp.v0.17.1  (cached)
-> retrieved ppx_sexp_conv.v0.17.1  (cached)
-> retrieved ppx_string.v0.17.0  (cached)
-> retrieved ppx_minidebug.2.3.0  (cached)
-> retrieved ppx_variants_conv.v0.17.1  (cached)
-> retrieved ppxlib_jane.v0.17.4  (cached)
-> retrieved ptime.1.2.0  (cached)
-> retrieved re.1.13.2  (cached)
-> retrieved result.1.5  (cached)
-> retrieved ppxlib.0.36.0  (cached)
-> retrieved seq.base  (cached)
-> installed seq.base
-> retrieved printbox.0.12, printbox-ext-plot.0.12, printbox-html.0.12, printbox-md.0.12, printbox-text.0.12  (cached)
-> retrieved saturn_lockfree.0.5.0  (cached)
-> retrieved sexplib.v0.17.0  (cached)
-> retrieved sexplib0.v0.17.0  (cached)
-> retrieved stdio.v0.17.0  (cached)
-> retrieved stdlib-shims.0.3.0  (cached)
-> retrieved thread-local-storage.0.2  (cached)
-> retrieved time_now.v0.17.0  (cached)
-> retrieved topkg.1.1.0  (cached)
-> retrieved tyxml.4.6.0  (cached)
-> retrieved uutf.1.0.4  (cached)
-> retrieved variantslib.v0.17.0  (cached)
-> retrieved uucp.16.0.0  (cached)
-> installed ocamlfind.1.9.8
-> installed base-bytes.base
-> installed camlzip.1.13
-> installed ocamlbuild.0.16.1
-> installed topkg.1.1.0
-> installed uutf.1.0.4
-> installed mtime.2.1.0
-> installed fmt.0.11.0
-> installed ptime.1.2.0
-> installed astring.0.8.5
-> installed logs.0.9.0
-> installed dune.3.19.1
-> installed jane-street-headers.v0.17.0
-> installed ppx_derivers.1.2.1
-> installed csexp.1.5.2
-> installed backoff.0.1.1
-> installed bigarray-compat.1.1.0
-> installed camlp-streams.5.0.1
-> installed cppo.1.8.0
-> installed csv.2.4
-> installed multicore-magic.2.3.1
-> installed ocaml-compiler-libs.v0.17.0
-> installed ocaml-syntax-shims.1.0.0
-> installed ocaml-version.4.0.1
-> installed ocaml_intrinsics_kernel.v0.17.1
-> installed pprint.20230830
-> installed printbox.0.12
-> installed re.1.13.2
-> installed result.1.5
-> installed sexplib0.v0.17.0
-> installed stdlib-shims.0.3.0
-> installed thread-local-storage.0.2
-> installed saturn_lockfree.0.5.0
-> installed integers.0.7.0
-> installed parsexp.v0.17.0
-> installed dune-configurator.3.19.1
-> installed mdx.2.5.0
-> installed sexplib.v0.17.0
-> installed bigstringaf.0.10.0
-> installed tyxml.4.6.0
-> installed angstrom.0.16.1
-> installed printbox-html.0.12
-> installed curl.0.10.0
-> installed ctypes.0.23.0
-> installed base.v0.17.3
-> installed fieldslib.v0.17.0
-> installed variantslib.v0.17.0
-> installed stdio.v0.17.0
-> installed ctypes-foreign.0.23.0
-> installed uucp.16.0.0
-> installed printbox-text.0.12
-> installed printbox-md.0.12
-> installed printbox-ext-plot.0.12
-> installed ppxlib.0.36.0
-> installed ppxlib_jane.v0.17.4
-> installed ppx_optcomp.v0.17.1
-> installed ppx_cold.v0.17.0
-> installed ppx_here.v0.17.0
-> installed ppx_variants_conv.v0.17.1
-> installed ppx_fields_conv.v0.17.0
-> installed ppx_globalize.v0.17.2
-> installed ppx_enumerate.v0.17.0
-> installed ppx_deriving.6.1.1
-> installed ppx_compare.v0.17.0
-> installed ppx_sexp_conv.v0.17.1
-> installed ppx_hash.v0.17.0
-> installed ppx_assert.v0.17.0
-> installed ppx_minidebug.2.3.0
-> installed ppx_base.v0.17.0
-> installed jst-config.v0.17.0
-> installed ppx_string.v0.17.0
-> installed time_now.v0.17.0
-> installed ppx_inline_test.v0.17.1
-> installed ppx_expect.v0.17.3
Done.
# To update the current shell environment, run: eval $(opam env)
2025-08-05 19:49.11 ---> saved as "15ef54d032edbe425254817a045d58ee7da6b966ccbb51d95a7220da83d97f1f"

/src: (copy (src .) (dst /src))
2025-08-05 19:49.12 ---> saved as "202fbf872a0e5212e8d41154699785def65678489866316e6e9a2e99ba4e2fd8"

/src: (run (shell "opam exec -- dune build @install @check @runtest && rm -rf _build"))
File "arrayjit/test/dune", line 6, characters 16-24:
6 |   (pps ppx_here ppx_jane)))
                    ^^^^^^^^
Error: Library "ppx_jane" not found.
-> required by
   _build/default/arrayjit/test/.merlin-conf/exe-test_numerical_types
-> required by alias arrayjit/test/check
(cd _build/default/test/operations/config && ../../../arrayjit/bin/read_config.exe --read=backend)
Retrieving commandline, environment, or config file variable ocannl_log_level
Found 0, in the config file
Wrote value of 'backend' to ocannl_backend.txt
(cd _build/default/test/ppx && ./test_ppx_op.exe)
Retrieving commandline, environment, or config file variable ocannl_log_level
Found 0, in the config file
(cd _build/default/test/ppx && ./test_ppx_op_expected.exe)
Retrieving commandline, environment, or config file variable ocannl_log_level
Found 0, in the config file
(cd _build/.sandbox/2480337ffefcab8de1f08a19497dbeba/default/test/operations && .operations_tutorials.inline-tests/inline-test-runner.exe inline-test-runner operations_tutorials -partition 'Retrieving commandline, environment, or config file variable ocannl_log_level' -source-tree-root ../.. -diff-cmd -)
Retrieving commandline, environment, or config file variable ocannl_log_level
Found 0, in the config file
(cd _build/.sandbox/2480337ffefcab8de1f08a19497dbeba/default/test/operations && .operations_tutorials.inline-tests/inline-test-runner.exe inline-test-runner operations_tutorials -partition 'Found 0, in the config file' -source-tree-root ../.. -diff-cmd -)
Retrieving commandline, environment, or config file variable ocannl_log_level
Found 0, in the config file
(cd _build/.sandbox/35f747523fbe468afd99016d50de39e9/default/test/einsum && .einsum_tutorials.inline-tests/inline-test-runner.exe inline-test-runner einsum_tutorials -partition 'Retrieving commandline, environment, or config file variable ocannl_log_level' -source-tree-root ../.. -diff-cmd -)
Retrieving commandline, environment, or config file variable ocannl_log_level
Found 0, in the config file
(cd _build/.sandbox/35f747523fbe468afd99016d50de39e9/default/test/einsum && .einsum_tutorials.inline-tests/inline-test-runner.exe inline-test-runner einsum_tutorials -partition 'Found 0, in the config file' -source-tree-root ../.. -diff-cmd -)
Retrieving commandline, environment, or config file variable ocannl_log_level
Found 0, in the config file
(cd _build/default/test/operations && ./test_threefry_precision.exe)
Retrieving commandline, environment, or config file variable ocannl_log_level
Found 0, in the config file
Threefry4x32 result precision: single
Uniform result precision: single
Retrieving commandline, environment, or config file variable ocannl_backend
Found multicore_cc, in the config file
Retrieving commandline, environment, or config file variable ocannl_cd_ident_style
Not found, using default heuristic
Retrieving commandline, environment, or config file variable ocannl_ll_ident_style
Not found, using default heuristic
Retrieving commandline, environment, or config file variable ocannl_prefer_backend_uniformity
Found true, in the config file
Retrieving commandline, environment, or config file variable ocannl_debug_log_to_stream_files
Not found, using default false
Retrieving commandline, environment, or config file variable ocannl_cc_backend_optimization_level
Not found, using default 3
Retrieving commandline, environment, or config file variable ocannl_cc_backend_compiler_command
Not found, using default gcc
Retrieving commandline, environment, or config file variable ocannl_cc_backend_verify_codesign
Not found, using default false
Compilation successful!
Actual tensor precision in context: single
(cd _build/.sandbox/2480337ffefcab8de1f08a19497dbeba/default/test/operations && .operations_tutorials.inline-tests/inline-test-runner.exe inline-test-runner operations_tutorials -partition test_threefry4x32.ml -source-tree-root ../.. -diff-cmd -)
Retrieving commandline, environment, or config file variable ocannl_log_level
Found 0, in the config file
File "test/operations/dune", lines 19-29, characters 0-281:
19 | (rule
20 |  (alias runtest)
21 |  (target
22 |   (dir log_files))
23 |  (action
24 |   (run
25 |    %{dep:micrograd_demo_logging.exe}
26 |    "--ocannl_debug_backend=text"
27 |    "--ocannl_log_file_stem=micrograd_demo_logging"
28 |    "--ocannl_log_main_domain_to_stdout=false"
29 |    "--ocannl_debug_log_to_stream_files=true")))
(cd _build/default/test/operations && ./micrograd_demo_logging.exe --ocannl_debug_backend=text --ocannl_log_file_stem=micrograd_demo_logging --ocannl_log_main_domain_to_stdout=false --ocannl_debug_log_to_stream_files=true)
Retrieving commandline, environment, or config file variable ocannl_log_level
Found 0, in the config file
Retrieving commandline, environment, or config file variable ocannl_backend
Found multicore_cc, in the config file
Retrieving commandline, environment, or config file variable ocannl_never_capture_stdout
Not found, using default false
Retrieving commandline, environment, or config file variable ocannl_cd_ident_style
Not found, using default heuristic
Retrieving commandline, environment, or config file variable ocannl_ll_ident_style
Not found, using default heuristic
Retrieving commandline, environment, or config file variable ocannl_prefer_backend_uniformity
Found true, in the config file
Retrieving commandline, environment, or config file variable ocannl_debug_log_to_stream_files
Found true, commandline --ocannl_debug_log_to_stream_files=true
Retrieving commandline, environment, or config file variable ocannl_cc_backend_optimization_level
Not found, using default 3
Retrieving commandline, environment, or config file variable ocannl_cc_backend_compiler_command
Not found, using default gcc
Retrieving commandline, environment, or config file variable ocannl_cc_backend_verify_codesign
Not found, using default false
Fatal error: exception File "src/printbox-text/PrintBox_text.ml", line 212, characters 6-12: Assertion failed
Raised at PrintBox_text.Output.Make_out.to_buf_aux_ in file "src/printbox-text/PrintBox_text.ml", line 212, characters 6-50
Called from Stdlib__Map.Make.fold in file "map.ml", line 329, characters 19-42
Called from Stdlib__Map.Make.fold in file "map.ml", line 329, characters 26-41
Called from Stdlib__Map.Make.fold in file "map.ml", line 329, characters 26-41
Called from Stdlib__Map.Make.fold in file "map.ml", line 329, characters 26-41
Called from PrintBox_text.Output.Make_out.render in file "src/printbox-text/PrintBox_text.ml", line 242, characters 14-64
Called from PrintBox_text.output in file "src/printbox-text/PrintBox_text.ml", line 851, characters 2-31
Called from Minidebug_runtime.PrintBox.output_box in file "minidebug_runtime.ml", line 1527, characters 19-59
Called from Minidebug_runtime.PrintBox.close_log_impl.close_tree in file "minidebug_runtime.ml", line 1572, characters 6-38
Called from Backends.Add_buffer_retrieval_and_syncing.sync_routine.post in file "arrayjit/lib/backends.ml", lines 225-232, characters 13-15
Called from Ir__Task.run in file "arrayjit/lib/task.ml", line 17, characters 2-14
Re-raised at Ir__Task.run in file "arrayjit/lib/task.ml", lines 15-17, characters 20-14
Called from Ocannl__Train.run in file "lib/train.ml" (inlined), line 43, characters 17-44
Called from Ocannl__Train.init_params in file "lib/train.ml", line 378, characters 2-10
Called from Ocannl__Train.run_once in file "lib/train.ml", line 550, characters 9-73
Re-raised at Ocannl__Train.run_once in file "lib/train.ml", line 550, characters 9-73
Re-raised at Ocannl__Train.run_once in file "lib/train.ml", lines 531-556, characters 25-17
Called from Dune__exe__Micrograd_demo_logging.(fun) in file "test/operations/micrograd_demo_logging.ml", line 30, characters 9-47
Called from Utils.capture_stdout_logs in file "arrayjit/lib/utils.ml", line 850, characters 10-16
Re-raised at Utils.capture_stdout_logs in file "arrayjit/lib/utils.ml", line 881, characters 8-87
Called from Dune__exe__Micrograd_demo_logging in file "test/operations/micrograd_demo_logging.ml", lines 29-34, characters 2-27
(cd _build/.sandbox/2480337ffefcab8de1f08a19497dbeba/default/test/operations && .operations_tutorials.inline-tests/inline-test-runner.exe inline-test-runner operations_tutorials -partition zero2hero_1of7.ml -source-tree-root ../.. -diff-cmd -)
Retrieving commandline, environment, or config file variable ocannl_log_level
Found 0, in the config file
(cd _build/.sandbox/2480337ffefcab8de1f08a19497dbeba/default/test/operations && .operations_tutorials.inline-tests/inline-test-runner.exe inline-test-runner operations_tutorials -partition primitive_ops.ml -source-tree-root ../.. -diff-cmd -)
Retrieving commandline, environment, or config file variable ocannl_log_level
Found 0, in the config file
File "test/einsum/einsum_trivia_exec.expected", line 1, characters 0-0:
/usr/bin/git --no-pager diff --no-index --color=always -u _build/default/test/einsum/einsum_trivia_exec.expected _build/default/test/einsum/einsum_trivia_exec.exe.output
diff --git a/_build/default/test/einsum/einsum_trivia_exec.expected b/_build/default/test/einsum/einsum_trivia_exec.exe.output
index 1c66789..8b4e127 100644
--- a/_build/default/test/einsum/einsum_trivia_exec.expected
+++ b/_build/default/test/einsum/einsum_trivia_exec.exe.output
@@ -657,144 +657,144 @@ HERE: test/einsum/einsum_trivia_exec.ml:229:21
 β”‚β””β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜β”‚
 β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
 HERE: test/einsum/einsum_trivia_exec.ml:254:21
-β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
-β”‚[9]: ;=>+ shape 0:4,1:5,2:6,3:3 β”‚
-β”‚β”Œβ”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”     β”‚
-β”‚β”‚0 @ 0 β”‚axis 3            β”‚     β”‚
-β”‚β”œβ”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€     β”‚
-β”‚β”‚0 @ 1 β”‚ 0.00  0.00  0.00 β”‚     β”‚
-β”‚β”‚axis 2β”‚ 0.00  0.00  1.00 β”‚     β”‚
-β”‚β”‚      β”‚ ...   ...   ...  β”‚     β”‚
-β”‚β”‚      β”‚ 0.00  0.00  4.00 β”‚     β”‚
-β”‚β”‚      β”‚ 0.00  0.00  5.00 β”‚     β”‚
-β”‚β”œβ”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€     β”‚
-β”‚β”‚1 @ 1 β”‚ 0.00  1.00  0.00 β”‚     β”‚
-β”‚β”‚axis 2β”‚ 0.00  1.00  1.00 β”‚     β”‚
-β”‚β”‚      β”‚ ...   ...   ...  β”‚     β”‚
-β”‚β”‚      β”‚ 0.00  1.00  4.00 β”‚     β”‚
-β”‚β”‚      β”‚ 0.00  1.00  5.00 β”‚     β”‚
-β”‚β”œβ”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€     β”‚
-β”‚β”‚2 @ 1 β”‚ 0.00  2.00  0.00 β”‚     β”‚
-β”‚β”‚axis 2β”‚ 0.00  2.00  1.00 β”‚     β”‚
-β”‚β”‚      β”‚ ...   ...   ...  β”‚     β”‚
-β”‚β”‚      β”‚ 0.00  2.00  4.00 β”‚     β”‚
-β”‚β”‚      β”‚ 0.00  2.00  5.00 β”‚     β”‚
-β”‚β”œβ”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€     β”‚
-β”‚β”‚3 @ 1 β”‚ 0.00  3.00  0.00 β”‚     β”‚
-β”‚β”‚axis 2β”‚ 0.00  3.00  1.00 β”‚     β”‚
-β”‚β”‚      β”‚ ...   ...   ...  β”‚     β”‚
-β”‚β”‚      β”‚ 0.00  3.00  4.00 β”‚     β”‚
-β”‚β”‚      β”‚ 0.00  3.00  5.00 β”‚     β”‚
-β”‚β”œβ”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€     β”‚
-β”‚β”‚4 @ 1 β”‚ 0.00  4.00  0.00 β”‚     β”‚
-β”‚β”‚axis 2β”‚ 0.00  4.00  1.00 β”‚     β”‚
-β”‚β”‚      β”‚ ...   ...   ...  β”‚     β”‚
-β”‚β”‚      β”‚ 0.00  4.00  4.00 β”‚     β”‚
-β”‚β”‚      β”‚ 0.00  4.00  5.00 β”‚     β”‚
-β”‚β””β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜     β”‚
-β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
-β”‚β”Œβ”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”     β”‚
-β”‚β”‚1 @ 0 β”‚axis 3            β”‚     β”‚
-β”‚β”œβ”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€     β”‚
-β”‚β”‚0 @ 1 β”‚ 1.00  0.00  0.00 β”‚     β”‚
-β”‚β”‚axis 2β”‚ 1.00  0.00  1.00 β”‚     β”‚
-β”‚β”‚      β”‚ ...   ...   ...  β”‚     β”‚
-β”‚β”‚      β”‚ 1.00  0.00  4.00 β”‚     β”‚
-β”‚β”‚      β”‚ 1.00  0.00  5.00 β”‚     β”‚
-β”‚β”œβ”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€     β”‚
-β”‚β”‚1 @ 1 β”‚ 1.00  1.00  0.00 β”‚     β”‚
-β”‚β”‚axis 2β”‚ 1.00  1.00  1.00 β”‚     β”‚
-β”‚β”‚      β”‚ ...   ...   ...  β”‚     β”‚
-β”‚β”‚      β”‚ 1.00  1.00  4.00 β”‚     β”‚
-β”‚β”‚      β”‚ 1.00  1.00  5.00 β”‚     β”‚
-β”‚β”œβ”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€     β”‚
-β”‚β”‚2 @ 1 β”‚ 1.00  2.00  0.00 β”‚     β”‚
-β”‚β”‚axis 2β”‚ 1.00  2.00  1.00 β”‚     β”‚
-β”‚β”‚      β”‚ ...   ...   ...  β”‚     β”‚
-β”‚β”‚      β”‚ 1.00  2.00  4.00 β”‚     β”‚
-β”‚β”‚      β”‚ 1.00  2.00  5.00 β”‚     β”‚
-β”‚β”œβ”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€     β”‚
-β”‚β”‚3 @ 1 β”‚ 1.00  3.00  0.00 β”‚     β”‚
-β”‚β”‚axis 2β”‚ 1.00  3.00  1.00 β”‚     β”‚
-β”‚β”‚      β”‚ ...   ...   ...  β”‚     β”‚
-β”‚β”‚      β”‚ 1.00  3.00  4.00 β”‚     β”‚
-β”‚β”‚      β”‚ 1.00  3.00  5.00 β”‚     β”‚
-β”‚β”œβ”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€     β”‚
-β”‚β”‚4 @ 1 β”‚ 1.00  4.00  0.00 β”‚     β”‚
-β”‚β”‚axis 2β”‚ 1.00  4.00  1.00 β”‚     β”‚
-β”‚β”‚      β”‚ ...   ...   ...  β”‚     β”‚
-β”‚β”‚      β”‚ 1.00  4.00  4.00 β”‚     β”‚
-β”‚β”‚      β”‚ 1.00  4.00  5.00 β”‚     β”‚
-β”‚β””β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜     β”‚
-β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
-β”‚β”Œβ”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”     β”‚
-β”‚β”‚2 @ 0 β”‚axis 3            β”‚     β”‚
-β”‚β”œβ”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€     β”‚
-β”‚β”‚0 @ 1 β”‚ 2.00  0.00  0.00 β”‚     β”‚
-β”‚β”‚axis 2β”‚ 2.00  0.00  1.00 β”‚     β”‚
-β”‚β”‚      β”‚ ...   ...   ...  β”‚     β”‚
-β”‚β”‚      β”‚ 2.00  0.00  4.00 β”‚     β”‚
-β”‚β”‚      β”‚ 2.00  0.00  5.00 β”‚     β”‚
-β”‚β”œβ”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€     β”‚
-β”‚β”‚1 @ 1 β”‚ 2.00  1.00  0.00 β”‚     β”‚
-β”‚β”‚axis 2β”‚ 2.00  1.00  1.00 β”‚     β”‚
-β”‚β”‚      β”‚ ...   ...   ...  β”‚     β”‚
-β”‚β”‚      β”‚ 2.00  1.00  4.00 β”‚     β”‚
-β”‚β”‚      β”‚ 2.00  1.00  5.00 β”‚     β”‚
-β”‚β”œβ”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€     β”‚
-β”‚β”‚2 @ 1 β”‚ 2.00  2.00  0.00 β”‚     β”‚
-β”‚β”‚axis 2β”‚ 2.00  2.00  1.00 β”‚     β”‚
-β”‚β”‚      β”‚ ...   ...   ...  β”‚     β”‚
-β”‚β”‚      β”‚ 2.00  2.00  4.00 β”‚     β”‚
-β”‚β”‚      β”‚ 2.00  2.00  5.00 β”‚     β”‚
-β”‚β”œβ”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€     β”‚
-β”‚β”‚3 @ 1 β”‚ 2.00  3.00  0.00 β”‚     β”‚
-β”‚β”‚axis 2β”‚ 2.00  3.00  1.00 β”‚     β”‚
-β”‚β”‚      β”‚ ...   ...   ...  β”‚     β”‚
-β”‚β”‚      β”‚ 2.00  3.00  4.00 β”‚     β”‚
-β”‚β”‚      β”‚ 2.00  3.00  5.00 β”‚     β”‚
-β”‚β”œβ”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€     β”‚
-β”‚β”‚4 @ 1 β”‚ 2.00  4.00  0.00 β”‚     β”‚
-β”‚β”‚axis 2β”‚ 2.00  4.00  1.00 β”‚     β”‚
-β”‚β”‚      β”‚ ...   ...   ...  β”‚     β”‚
-β”‚β”‚      β”‚ 2.00  4.00  4.00 β”‚     β”‚
-β”‚β”‚      β”‚ 2.00  4.00  5.00 β”‚     β”‚
-β”‚β””β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜     β”‚
-β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
-β”‚β”Œβ”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”     β”‚
-β”‚β”‚3 @ 0 β”‚axis 3            β”‚     β”‚
-β”‚β”œβ”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€     β”‚
-β”‚β”‚0 @ 1 β”‚ 3.00  0.00  0.00 β”‚     β”‚
-β”‚β”‚axis 2β”‚ 3.00  0.00  1.00 β”‚     β”‚
-β”‚β”‚      β”‚ ...   ...   ...  β”‚     β”‚
-β”‚β”‚      β”‚ 3.00  0.00  4.00 β”‚     β”‚
-β”‚β”‚      β”‚ 3.00  0.00  5.00 β”‚     β”‚
-β”‚β”œβ”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€     β”‚
-β”‚β”‚1 @ 1 β”‚ 3.00  1.00  0.00 β”‚     β”‚
-β”‚β”‚axis 2β”‚ 3.00  1.00  1.00 β”‚     β”‚
-β”‚β”‚      β”‚ ...   ...   ...  β”‚     β”‚
-β”‚β”‚      β”‚ 3.00  1.00  4.00 β”‚     β”‚
-β”‚β”‚      β”‚ 3.00  1.00  5.00 β”‚     β”‚
-β”‚β”œβ”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€     β”‚
-β”‚β”‚2 @ 1 β”‚ 3.00  2.00  0.00 β”‚     β”‚
-β”‚β”‚axis 2β”‚ 3.00  2.00  1.00 β”‚     β”‚
-β”‚β”‚      β”‚ ...   ...   ...  β”‚     β”‚
-β”‚β”‚      β”‚ 3.00  2.00  4.00 β”‚     β”‚
-β”‚β”‚      β”‚ 3.00  2.00  5.00 β”‚     β”‚
-β”‚β”œβ”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€     β”‚
-β”‚β”‚3 @ 1 β”‚ 3.00  3.00  0.00 β”‚     β”‚
-β”‚β”‚axis 2β”‚ 3.00  3.00  1.00 β”‚     β”‚
-β”‚β”‚      β”‚ ...   ...   ...  β”‚     β”‚
-β”‚β”‚      β”‚ 3.00  3.00  4.00 β”‚     β”‚
-β”‚β”‚      β”‚ 3.00  3.00  5.00 β”‚     β”‚
-β”‚β”œβ”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€     β”‚
-β”‚β”‚4 @ 1 β”‚ 3.00  4.00  0.00 β”‚     β”‚
-β”‚β”‚axis 2β”‚ 3.00  4.00  1.00 β”‚     β”‚
-β”‚β”‚      β”‚ ...   ...   ...  β”‚     β”‚
-β”‚β”‚      β”‚ 3.00  4.00  4.00 β”‚     β”‚
-β”‚β”‚      β”‚ 3.00  4.00  5.00 β”‚     β”‚
-β”‚β””β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜     β”‚
-β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
+β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
+β”‚[9]: ;=>+ shape 0:4,1:5,2:6,3:3        β”‚
+β”‚β”Œβ”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”β”‚
+β”‚β”‚0 @ 0 β”‚axis 3                        β”‚β”‚
+β”‚β”œβ”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”‚
+β”‚β”‚0 @ 1 β”‚ 1.04e-15  0.00      0.00     β”‚β”‚
+β”‚β”‚axis 2β”‚ 5.22e-16  0.00      1.00     β”‚β”‚
+β”‚β”‚      β”‚ ...       ...       ...      β”‚β”‚
+β”‚β”‚      β”‚ 7.48e+31  4.56e-41  4.00     β”‚β”‚
+β”‚β”‚      β”‚ 5.22e-16  7.48e+31  5.00     β”‚β”‚
+β”‚β”œβ”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”‚
+β”‚β”‚1 @ 1 β”‚ 5.25e-16  1.00      0.00     β”‚β”‚
+β”‚β”‚axis 2β”‚ 0.00      1.00      1.00     β”‚β”‚
+β”‚β”‚      β”‚ ...       ...       ...      β”‚β”‚
+β”‚β”‚      β”‚ 7.48e+31  1.00      4.00     β”‚β”‚
+β”‚β”‚      β”‚ 0.00      7.48e+31  5.00     β”‚β”‚
+β”‚β”œβ”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”‚
+β”‚β”‚2 @ 1 β”‚ 5.25e-16  2.00      0.00     β”‚β”‚
+β”‚β”‚axis 2β”‚ 0.00      2.00      1.00     β”‚β”‚
+β”‚β”‚      β”‚ ...       ...       ...      β”‚β”‚
+β”‚β”‚      β”‚ 7.48e+31  2.00      4.00     β”‚β”‚
+β”‚β”‚      β”‚ 0.00      7.48e+31  5.00     β”‚β”‚
+β”‚β”œβ”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”‚
+β”‚β”‚3 @ 1 β”‚ 5.25e-16  3.00      0.00     β”‚β”‚
+β”‚β”‚axis 2β”‚ 0.00      3.00      1.00     β”‚β”‚
+β”‚β”‚      β”‚ ...       ...       ...      β”‚β”‚
+β”‚β”‚      β”‚ 7.48e+31  3.00      4.00     β”‚β”‚
+β”‚β”‚      β”‚ 0.00      7.48e+31  5.00     β”‚β”‚
+β”‚β”œβ”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”‚
+β”‚β”‚4 @ 1 β”‚ 8.07e+31  4.00      2.80e-33 β”‚β”‚
+β”‚β”‚axis 2β”‚ 8.07e+31  4.00      1.00     β”‚β”‚
+β”‚β”‚      β”‚ ...       ...       ...      β”‚β”‚
+β”‚β”‚      β”‚ 1.55e+32  4.00      4.00     β”‚β”‚
+β”‚β”‚      β”‚ 8.07e+31  7.48e+31  5.00     β”‚β”‚
+β”‚β””β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜β”‚
+β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
+β”‚β”Œβ”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”β”‚
+β”‚β”‚1 @ 0 β”‚axis 3                        β”‚β”‚
+β”‚β”œβ”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”‚
+β”‚β”‚0 @ 1 β”‚ 1.00      0.00      0.00     β”‚β”‚
+β”‚β”‚axis 2β”‚ 1.00      0.00      1.00     β”‚β”‚
+β”‚β”‚      β”‚ ...       ...       ...      β”‚β”‚
+β”‚β”‚      β”‚ 7.48e+31  4.56e-41  4.00     β”‚β”‚
+β”‚β”‚      β”‚ 1.00      7.48e+31  5.00     β”‚β”‚
+β”‚β”œβ”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”‚
+β”‚β”‚1 @ 1 β”‚ 1.00      1.00      0.00     β”‚β”‚
+β”‚β”‚axis 2β”‚ 1.00      1.00      1.00     β”‚β”‚
+β”‚β”‚      β”‚ ...       ...       ...      β”‚β”‚
+β”‚β”‚      β”‚ 7.48e+31  1.00      4.00     β”‚β”‚
+β”‚β”‚      β”‚ 1.00      7.48e+31  5.00     β”‚β”‚
+β”‚β”œβ”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”‚
+β”‚β”‚2 @ 1 β”‚ 1.00      2.00      0.00     β”‚β”‚
+β”‚β”‚axis 2β”‚ 1.00      2.00      1.00     β”‚β”‚
+β”‚β”‚      β”‚ ...       ...       ...      β”‚β”‚
+β”‚β”‚      β”‚ 7.48e+31  2.00      4.00     β”‚β”‚
+β”‚β”‚      β”‚ 1.00      7.48e+31  5.00     β”‚β”‚
+β”‚β”œβ”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”‚
+β”‚β”‚3 @ 1 β”‚ 1.00      3.00      0.00     β”‚β”‚
+β”‚β”‚axis 2β”‚ 1.00      3.00      1.00     β”‚β”‚
+β”‚β”‚      β”‚ ...       ...       ...      β”‚β”‚
+β”‚β”‚      β”‚ 7.48e+31  3.00      4.00     β”‚β”‚
+β”‚β”‚      β”‚ 1.00      7.48e+31  5.00     β”‚β”‚
+β”‚β”œβ”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”‚
+β”‚β”‚4 @ 1 β”‚ 8.07e+31  4.00      2.80e-33 β”‚β”‚
+β”‚β”‚axis 2β”‚ 8.07e+31  4.00      1.00     β”‚β”‚
+β”‚β”‚      β”‚ ...       ...       ...      β”‚β”‚
+β”‚β”‚      β”‚ 1.55e+32  4.00      4.00     β”‚β”‚
+β”‚β”‚      β”‚ 8.07e+31  7.48e+31  5.00     β”‚β”‚
+β”‚β””β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜β”‚
+β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
+β”‚β”Œβ”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”β”‚
+β”‚β”‚2 @ 0 β”‚axis 3                        β”‚β”‚
+β”‚β”œβ”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”‚
+β”‚β”‚0 @ 1 β”‚ 2.00      0.00      0.00     β”‚β”‚
+β”‚β”‚axis 2β”‚ 2.00      0.00      1.00     β”‚β”‚
+β”‚β”‚      β”‚ ...       ...       ...      β”‚β”‚
+β”‚β”‚      β”‚ 7.48e+31  4.56e-41  4.00     β”‚β”‚
+β”‚β”‚      β”‚ 2.00      7.48e+31  5.00     β”‚β”‚
+β”‚β”œβ”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”‚
+β”‚β”‚1 @ 1 β”‚ 2.00      1.00      0.00     β”‚β”‚
+β”‚β”‚axis 2β”‚ 2.00      1.00      1.00     β”‚β”‚
+β”‚β”‚      β”‚ ...       ...       ...      β”‚β”‚
+β”‚β”‚      β”‚ 7.48e+31  1.00      4.00     β”‚β”‚
+β”‚β”‚      β”‚ 2.00      7.48e+31  5.00     β”‚β”‚
+β”‚β”œβ”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”‚
+β”‚β”‚2 @ 1 β”‚ 2.00      2.00      0.00     β”‚β”‚
+β”‚β”‚axis 2β”‚ 2.00      2.00      1.00     β”‚β”‚
+β”‚β”‚      β”‚ ...       ...       ...      β”‚β”‚
+β”‚β”‚      β”‚ 7.48e+31  2.00      4.00     β”‚β”‚
+β”‚β”‚      β”‚ 2.00      7.48e+31  5.00     β”‚β”‚
+β”‚β”œβ”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”‚
+β”‚β”‚3 @ 1 β”‚ 2.00      3.00      0.00     β”‚β”‚
+β”‚β”‚axis 2β”‚ 2.00      3.00      1.00     β”‚β”‚
+β”‚β”‚      β”‚ ...       ...       ...      β”‚β”‚
+β”‚β”‚      β”‚ 7.48e+31  3.00      4.00     β”‚β”‚
+β”‚β”‚      β”‚ 2.00      7.48e+31  5.00     β”‚β”‚
+β”‚β”œβ”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”‚
+β”‚β”‚4 @ 1 β”‚ 8.07e+31  4.00      2.80e-33 β”‚β”‚
+β”‚β”‚axis 2β”‚ 8.07e+31  4.00      1.00     β”‚β”‚
+β”‚β”‚      β”‚ ...       ...       ...      β”‚β”‚
+β”‚β”‚      β”‚ 1.55e+32  4.00      4.00     β”‚β”‚
+β”‚β”‚      β”‚ 8.07e+31  7.48e+31  5.00     β”‚β”‚
+β”‚β””β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜β”‚
+β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
+β”‚β”Œβ”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”β”‚
+β”‚β”‚3 @ 0 β”‚axis 3                        β”‚β”‚
+β”‚β”œβ”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”‚
+β”‚β”‚0 @ 1 β”‚ 3.00      0.00      0.00     β”‚β”‚
+β”‚β”‚axis 2β”‚ 3.00      0.00      1.00     β”‚β”‚
+β”‚β”‚      β”‚ ...       ...       ...      β”‚β”‚
+β”‚β”‚      β”‚ 7.48e+31  4.56e-41  4.00     β”‚β”‚
+β”‚β”‚      β”‚ 3.00      7.48e+31  5.00     β”‚β”‚
+β”‚β”œβ”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”‚
+β”‚β”‚1 @ 1 β”‚ 3.00      1.00      0.00     β”‚β”‚
+β”‚β”‚axis 2β”‚ 3.00      1.00      1.00     β”‚β”‚
+β”‚β”‚      β”‚ ...       ...       ...      β”‚β”‚
+β”‚β”‚      β”‚ 7.48e+31  1.00      4.00     β”‚β”‚
+β”‚β”‚      β”‚ 3.00      7.48e+31  5.00     β”‚β”‚
+β”‚β”œβ”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”‚
+β”‚β”‚2 @ 1 β”‚ 3.00      2.00      0.00     β”‚β”‚
+β”‚β”‚axis 2β”‚ 3.00      2.00      1.00     β”‚β”‚
+β”‚β”‚      β”‚ ...       ...       ...      β”‚β”‚
+β”‚β”‚      β”‚ 7.48e+31  2.00      4.00     β”‚β”‚
+β”‚β”‚      β”‚ 3.00      7.48e+31  5.00     β”‚β”‚
+β”‚β”œβ”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”‚
+β”‚β”‚3 @ 1 β”‚ 3.00      3.00      0.00     β”‚β”‚
+β”‚β”‚axis 2β”‚ 3.00      3.00      1.00     β”‚β”‚
+β”‚β”‚      β”‚ ...       ...       ...      β”‚β”‚
+β”‚β”‚      β”‚ 7.48e+31  3.00      4.00     β”‚β”‚
+β”‚β”‚      β”‚ 3.00      7.48e+31  5.00     β”‚β”‚
+β”‚β”œβ”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”‚
+β”‚β”‚4 @ 1 β”‚ 8.07e+31  4.00      2.80e-33 β”‚β”‚
+β”‚β”‚axis 2β”‚ 8.07e+31  4.00      1.00     β”‚β”‚
+β”‚β”‚      β”‚ ...       ...       ...      β”‚β”‚
+β”‚β”‚      β”‚ 1.55e+32  4.00      4.00     β”‚β”‚
+β”‚β”‚      β”‚ 8.07e+31  7.48e+31  5.00     β”‚β”‚
+β”‚β””β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜β”‚
+β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
 HERE: test/einsum/einsum_trivia_exec.ml:255:21
 β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
 β”‚[1]: =>_ti shape 0:4,1:3   β”‚
@@ -808,18 +808,18 @@ HERE: test/einsum/einsum_trivia_exec.ml:255:21
 β”‚β””β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜β”‚
 β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
 HERE: test/einsum/einsum_trivia_exec.ml:256:21
-β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
-β”‚[7]: =>_tk shape 0:6,1:3   β”‚
-β”‚β”Œβ”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”β”‚
-β”‚β”‚      β”‚axis 1            β”‚β”‚
-β”‚β”œβ”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”‚
-β”‚β”‚axis 0β”‚ 0.00  0.00  0.00 β”‚β”‚
-β”‚β”‚      β”‚ 0.00  0.00  1.00 β”‚β”‚
-β”‚β”‚      β”‚ ...   ...   ...  β”‚β”‚
-β”‚β”‚      β”‚ 0.00  0.00  4.00 β”‚β”‚
-β”‚β”‚      β”‚ 0.00  0.00  5.00 β”‚β”‚
-β”‚β””β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜β”‚
-β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
+β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
+β”‚[7]: =>_tk shape 0:6,1:3           β”‚
+β”‚β”Œβ”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”β”‚
+β”‚β”‚      β”‚axis 1                    β”‚β”‚
+β”‚β”œβ”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”‚
+β”‚β”‚axis 0β”‚ 5.25e-16  0.00      0.00 β”‚β”‚
+β”‚β”‚      β”‚ 0.00      0.00      1.00 β”‚β”‚
+β”‚β”‚      β”‚ ...       ...       ...  β”‚β”‚
+β”‚β”‚      β”‚ 7.48e+31  4.56e-41  4.00 β”‚β”‚
+β”‚β”‚      β”‚ 0.00      7.48e+31  5.00 β”‚β”‚
+β”‚β””β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜β”‚
+β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
 HERE: test/einsum/einsum_trivia_exec.ml:278:21
 β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
 β”‚[2]: ;=>_c shape 0:3|1:4,2:2                                     β”‚
(cd _build/.sandbox/2480337ffefcab8de1f08a19497dbeba/default/test/operations && .operations_tutorials.inline-tests/inline-test-runner.exe inline-test-runner operations_tutorials -partition hello_world_op.ml -source-tree-root ../.. -diff-cmd -)
Retrieving commandline, environment, or config file variable ocannl_log_level
Found 0, in the config file
File "test/operations/zero2hero_1of7.ml", line 1, characters 0-0:
/usr/bin/git --no-pager diff --no-index --color=always -u _build/default/test/operations/zero2hero_1of7.ml _build/.sandbox/2480337ffefcab8de1f08a19497dbeba/default/test/operations/zero2hero_1of7.ml.corrected
diff --git a/_build/default/test/operations/zero2hero_1of7.ml b/_build/.sandbox/2480337ffefcab8de1f08a19497dbeba/default/test/operations/zero2hero_1of7.ml.corrected
index 5caa1d9..2106281 100644
--- a/_build/default/test/operations/zero2hero_1of7.ml
+++ b/_build/.sandbox/2480337ffefcab8de1f08a19497dbeba/default/test/operations/zero2hero_1of7.ml.corrected
@@ -273,21 +273,21 @@ let%expect_test "Simple gradients hosted" =
   [%expect
     {|
                        #12 *._l
-                        0.00
+                        2.39e-40
                        #13 grad_*._l
-                        0.00
+                        5.53e+2
                  #8 +_d                   β”‚#10 f non-emb
-                  0.00                    β”‚ -2.00
+                  5.53e+2                 β”‚ -2.00
                  #9 grad_+_d              β”‚#11 grad_f
-                  0.00                    β”‚ 0.00
+                  5.53e+2                 β”‚ 5.53e+2
           #4 *._e            β”‚#6 c non-embβ”‚
-           0.00              β”‚ 1.00e+1    β”‚
+           7.69e-14          β”‚ 1.00e+1    β”‚
           #5 grad_*._e       β”‚#7 grad_c   β”‚
-           0.00              β”‚ 0.00       β”‚
+           2.39e-40          β”‚ 5.53e+2    β”‚
     #0 a non-embβ”‚#2 b non-embβ”‚            β”‚
      2.00       β”‚ -3.00      β”‚            β”‚
     #1 grad_a   β”‚#3 grad_b   β”‚            β”‚
-     0.00       β”‚ 0.00       β”‚            β”‚
+     8.02e-14   β”‚ 7.69e-14   β”‚            β”‚
     |}];
   (* Do not update the params: all values and gradients will be at initial points, which are
      specified in the tensor in the brackets. *)
@@ -403,21 +403,21 @@ let%expect_test "Simple gradients virtual" =
   [%expect
     {|
                    #12 *._l
-                    0.00
+                    5.53e+2
                    #13 grad_*._l Virt/40
                    <void>
              #8 +_d Local/1046            β”‚#10 f non-emb
              <void>                       β”‚ -2.00
              #9 grad_+_d Virt/40          β”‚#11 grad_f
-             <void>                       β”‚ 0.00
+             <void>                       β”‚ 5.53e+2
       #4 *._e Virt/152       β”‚#6 c non-embβ”‚
       <void>                 β”‚ 1.00e+1    β”‚
       #5 grad_*._e Virt/40   β”‚#7 grad_c   β”‚
-      <void>                 β”‚ 0.00       β”‚
+      <void>                 β”‚ 2.39e-40   β”‚
     #0 a non-embβ”‚#2 b non-embβ”‚            β”‚
      2.00       β”‚ -3.00      β”‚            β”‚
     #1 grad_a   β”‚#3 grad_b   β”‚            β”‚
-     0.00       β”‚ 0.00       β”‚            β”‚
+     8.02e-14   β”‚ 8.46e-14   β”‚            β”‚
     |}];
   (* Do not update the params: all values and gradients will be at initial points, which are
      specified in the tensor in the brackets. *)
(cd _build/.sandbox/35f747523fbe468afd99016d50de39e9/default/test/einsum && .einsum_tutorials.inline-tests/inline-test-runner.exe inline-test-runner einsum_tutorials -partition einsum_trivia.ml -source-tree-root ../.. -diff-cmd -)
Retrieving commandline, environment, or config file variable ocannl_log_level
Found 0, in the config file
File "test/einsum/einsum_trivia.ml", line 1, characters 0-0:
/usr/bin/git --no-pager diff --no-index --color=always -u _build/default/test/einsum/einsum_trivia.ml _build/.sandbox/35f747523fbe468afd99016d50de39e9/default/test/einsum/einsum_trivia.ml.corrected
diff --git a/_build/default/test/einsum/einsum_trivia.ml b/_build/.sandbox/35f747523fbe468afd99016d50de39e9/default/test/einsum/einsum_trivia.ml.corrected
index 3049108..3ac23ff 100644
--- a/_build/default/test/einsum/einsum_trivia.ml
+++ b/_build/.sandbox/35f747523fbe468afd99016d50de39e9/default/test/einsum/einsum_trivia.ml.corrected
@@ -976,177 +976,177 @@ let%expect_test "outer_sum simulating axis concatenation" =
   [%expect
     {|
     HERE: test/einsum/einsum_trivia.ml:975:21
-    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
-    β”‚[9]: ;=>+ shape 0:4,1:5,2:6,3:3 β”‚
-    β”‚β”Œβ”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”     β”‚
-    β”‚β”‚0 @ 0 β”‚axis 3            β”‚     β”‚
-    β”‚β”œβ”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€     β”‚
-    β”‚β”‚0 @ 1 β”‚ 0.00  0.00  0.00 β”‚     β”‚
-    β”‚β”‚axis 2β”‚ 0.00  0.00  1.00 β”‚     β”‚
-    β”‚β”‚      β”‚ ...   ...   ...  β”‚     β”‚
-    β”‚β”‚      β”‚ 0.00  0.00  4.00 β”‚     β”‚
-    β”‚β”‚      β”‚ 0.00  0.00  5.00 β”‚     β”‚
-    β”‚β”œβ”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€     β”‚
-    β”‚β”‚1 @ 1 β”‚ 0.00  1.00  0.00 β”‚     β”‚
-    β”‚β”‚axis 2β”‚ 0.00  1.00  1.00 β”‚     β”‚
-    β”‚β”‚      β”‚ ...   ...   ...  β”‚     β”‚
-    β”‚β”‚      β”‚ 0.00  1.00  4.00 β”‚     β”‚
-    β”‚β”‚      β”‚ 0.00  1.00  5.00 β”‚     β”‚
-    β”‚β”œβ”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€     β”‚
-    β”‚β”‚2 @ 1 β”‚ 0.00  2.00  0.00 β”‚     β”‚
-    β”‚β”‚axis 2β”‚ 0.00  2.00  1.00 β”‚     β”‚
-    β”‚β”‚      β”‚ ...   ...   ...  β”‚     β”‚
-    β”‚β”‚      β”‚ 0.00  2.00  4.00 β”‚     β”‚
-    β”‚β”‚      β”‚ 0.00  2.00  5.00 β”‚     β”‚
-    β”‚β”œβ”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€     β”‚
-    β”‚β”‚3 @ 1 β”‚ 0.00  3.00  0.00 β”‚     β”‚
-    β”‚β”‚axis 2β”‚ 0.00  3.00  1.00 β”‚     β”‚
-    β”‚β”‚      β”‚ ...   ...   ...  β”‚     β”‚
-    β”‚β”‚      β”‚ 0.00  3.00  4.00 β”‚     β”‚
-    β”‚β”‚      β”‚ 0.00  3.00  5.00 β”‚     β”‚
-    β”‚β”œβ”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€     β”‚
-    β”‚β”‚4 @ 1 β”‚ 0.00  4.00  0.00 β”‚     β”‚
-    β”‚β”‚axis 2β”‚ 0.00  4.00  1.00 β”‚     β”‚
-    β”‚β”‚      β”‚ ...   ...   ...  β”‚     β”‚
-    β”‚β”‚      β”‚ 0.00  4.00  4.00 β”‚     β”‚
-    β”‚β”‚      β”‚ 0.00  4.00  5.00 β”‚     β”‚
-    β”‚β””β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜     β”‚
-    β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
-    β”‚β”Œβ”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”     β”‚
-    β”‚β”‚1 @ 0 β”‚axis 3            β”‚     β”‚
-    β”‚β”œβ”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€     β”‚
-    β”‚β”‚0 @ 1 β”‚ 1.00  0.00  0.00 β”‚     β”‚
-    β”‚β”‚axis 2β”‚ 1.00  0.00  1.00 β”‚     β”‚
-    β”‚β”‚      β”‚ ...   ...   ...  β”‚     β”‚
-    β”‚β”‚      β”‚ 1.00  0.00  4.00 β”‚     β”‚
-    β”‚β”‚      β”‚ 1.00  0.00  5.00 β”‚     β”‚
-    β”‚β”œβ”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€     β”‚
-    β”‚β”‚1 @ 1 β”‚ 1.00  1.00  0.00 β”‚     β”‚
-    β”‚β”‚axis 2β”‚ 1.00  1.00  1.00 β”‚     β”‚
-    β”‚β”‚      β”‚ ...   ...   ...  β”‚     β”‚
-    β”‚β”‚      β”‚ 1.00  1.00  4.00 β”‚     β”‚
-    β”‚β”‚      β”‚ 1.00  1.00  5.00 β”‚     β”‚
-    β”‚β”œβ”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€     β”‚
-    β”‚β”‚2 @ 1 β”‚ 1.00  2.00  0.00 β”‚     β”‚
-    β”‚β”‚axis 2β”‚ 1.00  2.00  1.00 β”‚     β”‚
-    β”‚β”‚      β”‚ ...   ...   ...  β”‚     β”‚
-    β”‚β”‚      β”‚ 1.00  2.00  4.00 β”‚     β”‚
-    β”‚β”‚      β”‚ 1.00  2.00  5.00 β”‚     β”‚
-    β”‚β”œβ”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€     β”‚
-    β”‚β”‚3 @ 1 β”‚ 1.00  3.00  0.00 β”‚     β”‚
-    β”‚β”‚axis 2β”‚ 1.00  3.00  1.00 β”‚     β”‚
-    β”‚β”‚      β”‚ ...   ...   ...  β”‚     β”‚
-    β”‚β”‚      β”‚ 1.00  3.00  4.00 β”‚     β”‚
-    β”‚β”‚      β”‚ 1.00  3.00  5.00 β”‚     β”‚
-    β”‚β”œβ”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€     β”‚
-    β”‚β”‚4 @ 1 β”‚ 1.00  4.00  0.00 β”‚     β”‚
-    β”‚β”‚axis 2β”‚ 1.00  4.00  1.00 β”‚     β”‚
-    β”‚β”‚      β”‚ ...   ...   ...  β”‚     β”‚
-    β”‚β”‚      β”‚ 1.00  4.00  4.00 β”‚     β”‚
-    β”‚β”‚      β”‚ 1.00  4.00  5.00 β”‚     β”‚
-    β”‚β””β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜     β”‚
-    β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
-    β”‚β”Œβ”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”     β”‚
-    β”‚β”‚2 @ 0 β”‚axis 3            β”‚     β”‚
-    β”‚β”œβ”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€     β”‚
-    β”‚β”‚0 @ 1 β”‚ 2.00  0.00  0.00 β”‚     β”‚
-    β”‚β”‚axis 2β”‚ 2.00  0.00  1.00 β”‚     β”‚
-    β”‚β”‚      β”‚ ...   ...   ...  β”‚     β”‚
-    β”‚β”‚      β”‚ 2.00  0.00  4.00 β”‚     β”‚
-    β”‚β”‚      β”‚ 2.00  0.00  5.00 β”‚     β”‚
-    β”‚β”œβ”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€     β”‚
-    β”‚β”‚1 @ 1 β”‚ 2.00  1.00  0.00 β”‚     β”‚
-    β”‚β”‚axis 2β”‚ 2.00  1.00  1.00 β”‚     β”‚
-    β”‚β”‚      β”‚ ...   ...   ...  β”‚     β”‚
-    β”‚β”‚      β”‚ 2.00  1.00  4.00 β”‚     β”‚
-    β”‚β”‚      β”‚ 2.00  1.00  5.00 β”‚     β”‚
-    β”‚β”œβ”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€     β”‚
-    β”‚β”‚2 @ 1 β”‚ 2.00  2.00  0.00 β”‚     β”‚
-    β”‚β”‚axis 2β”‚ 2.00  2.00  1.00 β”‚     β”‚
-    β”‚β”‚      β”‚ ...   ...   ...  β”‚     β”‚
-    β”‚β”‚      β”‚ 2.00  2.00  4.00 β”‚     β”‚
-    β”‚β”‚      β”‚ 2.00  2.00  5.00 β”‚     β”‚
-    β”‚β”œβ”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€     β”‚
-    β”‚β”‚3 @ 1 β”‚ 2.00  3.00  0.00 β”‚     β”‚
-    β”‚β”‚axis 2β”‚ 2.00  3.00  1.00 β”‚     β”‚
-    β”‚β”‚      β”‚ ...   ...   ...  β”‚     β”‚
-    β”‚β”‚      β”‚ 2.00  3.00  4.00 β”‚     β”‚
-    β”‚β”‚      β”‚ 2.00  3.00  5.00 β”‚     β”‚
-    β”‚β”œβ”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€     β”‚
-    β”‚β”‚4 @ 1 β”‚ 2.00  4.00  0.00 β”‚     β”‚
-    β”‚β”‚axis 2β”‚ 2.00  4.00  1.00 β”‚     β”‚
-    β”‚β”‚      β”‚ ...   ...   ...  β”‚     β”‚
-    β”‚β”‚      β”‚ 2.00  4.00  4.00 β”‚     β”‚
-    β”‚β”‚      β”‚ 2.00  4.00  5.00 β”‚     β”‚
-    β”‚β””β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜     β”‚
-    β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
-    β”‚β”Œβ”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”     β”‚
-    β”‚β”‚3 @ 0 β”‚axis 3            β”‚     β”‚
-    β”‚β”œβ”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€     β”‚
-    β”‚β”‚0 @ 1 β”‚ 3.00  0.00  0.00 β”‚     β”‚
-    β”‚β”‚axis 2β”‚ 3.00  0.00  1.00 β”‚     β”‚
-    β”‚β”‚      β”‚ ...   ...   ...  β”‚     β”‚
-    β”‚β”‚      β”‚ 3.00  0.00  4.00 β”‚     β”‚
-    β”‚β”‚      β”‚ 3.00  0.00  5.00 β”‚     β”‚
-    β”‚β”œβ”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€     β”‚
-    β”‚β”‚1 @ 1 β”‚ 3.00  1.00  0.00 β”‚     β”‚
-    β”‚β”‚axis 2β”‚ 3.00  1.00  1.00 β”‚     β”‚
-    β”‚β”‚      β”‚ ...   ...   ...  β”‚     β”‚
-    β”‚β”‚      β”‚ 3.00  1.00  4.00 β”‚     β”‚
-    β”‚β”‚      β”‚ 3.00  1.00  5.00 β”‚     β”‚
-    β”‚β”œβ”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€     β”‚
-    β”‚β”‚2 @ 1 β”‚ 3.00  2.00  0.00 β”‚     β”‚
-    β”‚β”‚axis 2β”‚ 3.00  2.00  1.00 β”‚     β”‚
-    β”‚β”‚      β”‚ ...   ...   ...  β”‚     β”‚
-    β”‚β”‚      β”‚ 3.00  2.00  4.00 β”‚     β”‚
-    β”‚β”‚      β”‚ 3.00  2.00  5.00 β”‚     β”‚
-    β”‚β”œβ”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€     β”‚
-    β”‚β”‚3 @ 1 β”‚ 3.00  3.00  0.00 β”‚     β”‚
-    β”‚β”‚axis 2β”‚ 3.00  3.00  1.00 β”‚     β”‚
-    β”‚β”‚      β”‚ ...   ...   ...  β”‚     β”‚
-    β”‚β”‚      β”‚ 3.00  3.00  4.00 β”‚     β”‚
-    β”‚β”‚      β”‚ 3.00  3.00  5.00 β”‚     β”‚
-    β”‚β”œβ”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€     β”‚
-    β”‚β”‚4 @ 1 β”‚ 3.00  4.00  0.00 β”‚     β”‚
-    β”‚β”‚axis 2β”‚ 3.00  4.00  1.00 β”‚     β”‚
-    β”‚β”‚      β”‚ ...   ...   ...  β”‚     β”‚
-    β”‚β”‚      β”‚ 3.00  4.00  4.00 β”‚     β”‚
-    β”‚β”‚      β”‚ 3.00  4.00  5.00 β”‚     β”‚
-    β”‚β””β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜     β”‚
-    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
+    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
+    β”‚[9]: ;=>+ shape 0:4,1:5,2:6,3:3          β”‚
+    β”‚β”Œβ”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”β”‚
+    β”‚β”‚0 @ 0 β”‚axis 3                          β”‚β”‚
+    β”‚β”œβ”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”‚
+    β”‚β”‚0 @ 1 β”‚ 1.38e-9    0.00       0.00     β”‚β”‚
+    β”‚β”‚axis 2β”‚ 6.94e-10   0.00       1.00     β”‚β”‚
+    β”‚β”‚      β”‚ ...        ...        ...      β”‚β”‚
+    β”‚β”‚      β”‚ -1.15e+18  4.55e-41   4.00     β”‚β”‚
+    β”‚β”‚      β”‚ 6.94e-10   -1.15e+18  5.00     β”‚β”‚
+    β”‚β”œβ”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”‚
+    β”‚β”‚1 @ 1 β”‚ 6.94e-10   1.00       0.00     β”‚β”‚
+    β”‚β”‚axis 2β”‚ 0.00       1.00       1.00     β”‚β”‚
+    β”‚β”‚      β”‚ ...        ...        ...      β”‚β”‚
+    β”‚β”‚      β”‚ -1.15e+18  1.00       4.00     β”‚β”‚
+    β”‚β”‚      β”‚ 0.00       -1.15e+18  5.00     β”‚β”‚
+    β”‚β”œβ”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”‚
+    β”‚β”‚2 @ 1 β”‚ 6.94e-10   2.00       0.00     β”‚β”‚
+    β”‚β”‚axis 2β”‚ 0.00       2.00       1.00     β”‚β”‚
+    β”‚β”‚      β”‚ ...        ...        ...      β”‚β”‚
+    β”‚β”‚      β”‚ -1.15e+18  2.00       4.00     β”‚β”‚
+    β”‚β”‚      β”‚ 0.00       -1.15e+18  5.00     β”‚β”‚
+    β”‚β”œβ”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”‚
+    β”‚β”‚3 @ 1 β”‚ 6.94e-10   3.00       0.00     β”‚β”‚
+    β”‚β”‚axis 2β”‚ 0.00       3.00       1.00     β”‚β”‚
+    β”‚β”‚      β”‚ ...        ...        ...      β”‚β”‚
+    β”‚β”‚      β”‚ -1.15e+18  3.00       4.00     β”‚β”‚
+    β”‚β”‚      β”‚ 0.00       -1.15e+18  5.00     β”‚β”‚
+    β”‚β”œβ”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”‚
+    β”‚β”‚4 @ 1 β”‚ -1.14e+18  4.00       2.80e-33 β”‚β”‚
+    β”‚β”‚axis 2β”‚ -1.14e+18  4.00       1.00     β”‚β”‚
+    β”‚β”‚      β”‚ ...        ...        ...      β”‚β”‚
+    β”‚β”‚      β”‚ -2.30e+18  4.00       4.00     β”‚β”‚
+    β”‚β”‚      β”‚ -1.14e+18  -1.15e+18  5.00     β”‚β”‚
+    β”‚β””β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜β”‚
+    β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
+    β”‚β”Œβ”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚
+    β”‚β”‚1 @ 0 β”‚axis 3                         β”‚ β”‚
+    β”‚β”œβ”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€ β”‚
+    β”‚β”‚0 @ 1 β”‚ 1.00       2.89e+32  3.23e+21 β”‚ β”‚
+    β”‚β”‚axis 2β”‚ 1.00       2.89e+32  3.23e+21 β”‚ β”‚
+    β”‚β”‚      β”‚ ...        ...       ...      β”‚ β”‚
+    β”‚β”‚      β”‚ -1.15e+18  2.89e+32  3.23e+21 β”‚ β”‚
+    β”‚β”‚      β”‚ 1.00       2.89e+32  3.23e+21 β”‚ β”‚
+    β”‚β”œβ”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€ β”‚
+    β”‚β”‚1 @ 1 β”‚ 1.00       2.89e+32  3.23e+21 β”‚ β”‚
+    β”‚β”‚axis 2β”‚ 1.00       2.89e+32  3.23e+21 β”‚ β”‚
+    β”‚β”‚      β”‚ ...        ...       ...      β”‚ β”‚
+    β”‚β”‚      β”‚ -1.15e+18  2.89e+32  3.23e+21 β”‚ β”‚
+    β”‚β”‚      β”‚ 1.00       2.89e+32  3.23e+21 β”‚ β”‚
+    β”‚β”œβ”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€ β”‚
+    β”‚β”‚2 @ 1 β”‚ 1.00       2.89e+32  3.23e+21 β”‚ β”‚
+    β”‚β”‚axis 2β”‚ 1.00       2.89e+32  3.23e+21 β”‚ β”‚
+    β”‚β”‚      β”‚ ...        ...       ...      β”‚ β”‚
+    β”‚β”‚      β”‚ -1.15e+18  2.89e+32  3.23e+21 β”‚ β”‚
+    β”‚β”‚      β”‚ 1.00       2.89e+32  3.23e+21 β”‚ β”‚
+    β”‚β”œβ”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€ β”‚
+    β”‚β”‚3 @ 1 β”‚ 1.00       2.89e+32  3.23e+21 β”‚ β”‚
+    β”‚β”‚axis 2β”‚ 1.00       2.89e+32  3.23e+21 β”‚ β”‚
+    β”‚β”‚      β”‚ ...        ...       ...      β”‚ β”‚
+    β”‚β”‚      β”‚ -1.15e+18  2.89e+32  3.23e+21 β”‚ β”‚
+    β”‚β”‚      β”‚ 1.00       2.89e+32  3.23e+21 β”‚ β”‚
+    β”‚β”œβ”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€ β”‚
+    β”‚β”‚4 @ 1 β”‚ -1.14e+18  2.89e+32  3.23e+21 β”‚ β”‚
+    β”‚β”‚axis 2β”‚ -1.14e+18  2.89e+32  3.23e+21 β”‚ β”‚
+    β”‚β”‚      β”‚ ...        ...       ...      β”‚ β”‚
+    β”‚β”‚      β”‚ -2.30e+18  2.89e+32  3.23e+21 β”‚ β”‚
+    β”‚β”‚      β”‚ -1.14e+18  2.89e+32  3.23e+21 β”‚ β”‚
+    β”‚β””β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚
+    β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
+    β”‚β”Œβ”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚
+    β”‚β”‚2 @ 0 β”‚axis 3                         β”‚ β”‚
+    β”‚β”œβ”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€ β”‚
+    β”‚β”‚0 @ 1 β”‚ 2.00       3.37e+21  1.32e+19 β”‚ β”‚
+    β”‚β”‚axis 2β”‚ 2.00       3.37e+21  1.32e+19 β”‚ β”‚
+    β”‚β”‚      β”‚ ...        ...       ...      β”‚ β”‚
+    β”‚β”‚      β”‚ -1.15e+18  3.37e+21  1.32e+19 β”‚ β”‚
+    β”‚β”‚      β”‚ 2.00       3.37e+21  1.32e+19 β”‚ β”‚
+    β”‚β”œβ”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€ β”‚
+    β”‚β”‚1 @ 1 β”‚ 2.00       3.37e+21  1.32e+19 β”‚ β”‚
+    β”‚β”‚axis 2β”‚ 2.00       3.37e+21  1.32e+19 β”‚ β”‚
+    β”‚β”‚      β”‚ ...        ...       ...      β”‚ β”‚
+    β”‚β”‚      β”‚ -1.15e+18  3.37e+21  1.32e+19 β”‚ β”‚
+    β”‚β”‚      β”‚ 2.00       3.37e+21  1.32e+19 β”‚ β”‚
+    β”‚β”œβ”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€ β”‚
+    β”‚β”‚2 @ 1 β”‚ 2.00       3.37e+21  1.32e+19 β”‚ β”‚
+    β”‚β”‚axis 2β”‚ 2.00       3.37e+21  1.32e+19 β”‚ β”‚
+    β”‚β”‚      β”‚ ...        ...       ...      β”‚ β”‚
+    β”‚β”‚      β”‚ -1.15e+18  3.37e+21  1.32e+19 β”‚ β”‚
+    β”‚β”‚      β”‚ 2.00       3.37e+21  1.32e+19 β”‚ β”‚
+    β”‚β”œβ”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€ β”‚
+    β”‚β”‚3 @ 1 β”‚ 2.00       3.37e+21  1.32e+19 β”‚ β”‚
+    β”‚β”‚axis 2β”‚ 2.00       3.37e+21  1.32e+19 β”‚ β”‚
+    β”‚β”‚      β”‚ ...        ...       ...      β”‚ β”‚
+    β”‚β”‚      β”‚ -1.15e+18  3.37e+21  1.32e+19 β”‚ β”‚
+    β”‚β”‚      β”‚ 2.00       3.37e+21  1.32e+19 β”‚ β”‚
+    β”‚β”œβ”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€ β”‚
+    β”‚β”‚4 @ 1 β”‚ -1.14e+18  3.37e+21  1.32e+19 β”‚ β”‚
+    β”‚β”‚axis 2β”‚ -1.14e+18  3.37e+21  1.32e+19 β”‚ β”‚
+    β”‚β”‚      β”‚ ...        ...       ...      β”‚ β”‚
+    β”‚β”‚      β”‚ -2.30e+18  3.37e+21  1.32e+19 β”‚ β”‚
+    β”‚β”‚      β”‚ -1.14e+18  3.37e+21  1.32e+19 β”‚ β”‚
+    β”‚β””β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚
+    β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
+    β”‚β”Œβ”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”β”‚
+    β”‚β”‚3 @ 0 β”‚axis 3                          β”‚β”‚
+    β”‚β”œβ”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”‚
+    β”‚β”‚0 @ 1 β”‚ 3.00       1.30e-8    7.52e+28 β”‚β”‚
+    β”‚β”‚axis 2β”‚ 3.00       1.30e-8    7.52e+28 β”‚β”‚
+    β”‚β”‚      β”‚ ...        ...        ...      β”‚β”‚
+    β”‚β”‚      β”‚ -1.15e+18  1.30e-8    7.52e+28 β”‚β”‚
+    β”‚β”‚      β”‚ 3.00       -1.15e+18  7.52e+28 β”‚β”‚
+    β”‚β”œβ”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”‚
+    β”‚β”‚1 @ 1 β”‚ 3.00       1.00       7.52e+28 β”‚β”‚
+    β”‚β”‚axis 2β”‚ 3.00       1.00       7.52e+28 β”‚β”‚
+    β”‚β”‚      β”‚ ...        ...        ...      β”‚β”‚
+    β”‚β”‚      β”‚ -1.15e+18  1.00       7.52e+28 β”‚β”‚
+    β”‚β”‚      β”‚ 3.00       -1.15e+18  7.52e+28 β”‚β”‚
+    β”‚β”œβ”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”‚
+    β”‚β”‚2 @ 1 β”‚ 3.00       2.00       7.52e+28 β”‚β”‚
+    β”‚β”‚axis 2β”‚ 3.00       2.00       7.52e+28 β”‚β”‚
+    β”‚β”‚      β”‚ ...        ...        ...      β”‚β”‚
+    β”‚β”‚      β”‚ -1.15e+18  2.00       7.52e+28 β”‚β”‚
+    β”‚β”‚      β”‚ 3.00       -1.15e+18  7.52e+28 β”‚β”‚
+    β”‚β”œβ”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”‚
+    β”‚β”‚3 @ 1 β”‚ 3.00       3.00       7.52e+28 β”‚β”‚
+    β”‚β”‚axis 2β”‚ 3.00       3.00       7.52e+28 β”‚β”‚
+    β”‚β”‚      β”‚ ...        ...        ...      β”‚β”‚
+    β”‚β”‚      β”‚ -1.15e+18  3.00       7.52e+28 β”‚β”‚
+    β”‚β”‚      β”‚ 3.00       -1.15e+18  7.52e+28 β”‚β”‚
+    β”‚β”œβ”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”‚
+    β”‚β”‚4 @ 1 β”‚ -1.14e+18  4.00       7.52e+28 β”‚β”‚
+    β”‚β”‚axis 2β”‚ -1.14e+18  4.00       7.52e+28 β”‚β”‚
+    β”‚β”‚      β”‚ ...        ...        ...      β”‚β”‚
+    β”‚β”‚      β”‚ -2.30e+18  4.00       7.52e+28 β”‚β”‚
+    β”‚β”‚      β”‚ -1.14e+18  -1.15e+18  7.52e+28 β”‚β”‚
+    β”‚β””β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜β”‚
+    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
     |}];
   Train.printf ~here:[%here] ~with_code:false ~with_grad:false ti;
   [%expect
     {|
     HERE: test/einsum/einsum_trivia.ml:1118:21
-    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
-    β”‚[1]: =>_ti shape 0:4,1:3   β”‚
-    β”‚β”Œβ”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”β”‚
-    β”‚β”‚      β”‚axis 1            β”‚β”‚
-    β”‚β”œβ”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”‚
-    β”‚β”‚axis 0β”‚ 0.00  0.00  0.00 β”‚β”‚
-    β”‚β”‚      β”‚ 1.00  0.00  0.00 β”‚β”‚
-    β”‚β”‚      β”‚ 2.00  0.00  0.00 β”‚β”‚
-    β”‚β”‚      β”‚ 3.00  0.00  0.00 β”‚β”‚
-    β”‚β””β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜β”‚
-    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
+    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
+    β”‚[1]: =>_ti shape 0:4,1:3           β”‚
+    β”‚β”Œβ”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”β”‚
+    β”‚β”‚      β”‚axis 1                    β”‚β”‚
+    β”‚β”œβ”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”‚
+    β”‚β”‚axis 0β”‚ 0.00  0.00      0.00     β”‚β”‚
+    β”‚β”‚      β”‚ 1.00  2.89e+32  3.23e+21 β”‚β”‚
+    β”‚β”‚      β”‚ 2.00  3.37e+21  1.32e+19 β”‚β”‚
+    β”‚β”‚      β”‚ 3.00  1.30e-8   7.52e+28 β”‚β”‚
+    β”‚β””β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜β”‚
+    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
     |}];
   Train.printf ~here:[%here] ~with_code:false ~with_grad:false tk;
   [%expect
     {|
     HERE: test/einsum/einsum_trivia.ml:1134:21
-    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
-    β”‚[7]: =>_tk shape 0:6,1:3   β”‚
-    β”‚β”Œβ”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”β”‚
-    β”‚β”‚      β”‚axis 1            β”‚β”‚
-    β”‚β”œβ”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”‚
-    β”‚β”‚axis 0β”‚ 0.00  0.00  0.00 β”‚β”‚
-    β”‚β”‚      β”‚ 0.00  0.00  1.00 β”‚β”‚
-    β”‚β”‚      β”‚ ...   ...   ...  β”‚β”‚
-    β”‚β”‚      β”‚ 0.00  0.00  4.00 β”‚β”‚
-    β”‚β”‚      β”‚ 0.00  0.00  5.00 β”‚β”‚
-    β”‚β””β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜β”‚
-    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
+    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
+    β”‚[7]: =>_tk shape 0:6,1:3             β”‚
+    β”‚β”Œβ”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”β”‚
+    β”‚β”‚      β”‚axis 1                      β”‚β”‚
+    β”‚β”œβ”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”‚
+    β”‚β”‚axis 0β”‚ 6.94e-10   0.00       0.00 β”‚β”‚
+    β”‚β”‚      β”‚ 0.00       0.00       1.00 β”‚β”‚
+    β”‚β”‚      β”‚ ...        ...        ...  β”‚β”‚
+    β”‚β”‚      β”‚ -1.15e+18  4.55e-41   4.00 β”‚β”‚
+    β”‚β”‚      β”‚ 0.00       -1.15e+18  5.00 β”‚β”‚
+    β”‚β””β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜β”‚
+    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
     |}]
 
 let%expect_test "einsum with a leftmost input axis preserved as output axis" =
File "test/training/moons_demo.expected", line 1, characters 0-0:
/usr/bin/git --no-pager diff --no-index --color=always -u _build/default/test/training/moons_demo.expected _build/default/test/training/moons_demo.exe.output
diff --git a/_build/default/test/training/moons_demo.expected b/_build/default/test/training/moons_demo.exe.output
index d7cb562..10211e5 100644
--- a/_build/default/test/training/moons_demo.expected
+++ b/_build/default/test/training/moons_demo.exe.output
@@ -2,38 +2,38 @@ Retrieving commandline, environment, or config file variable ocannl_log_level
 Found 0, in the config file
 Half-moons scatterplot and decision boundary:
 β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
-β”‚************************************#*********************************************..................β”‚
-β”‚*****************************##*#*#***###**#*************************************...................β”‚
-β”‚*********************##**#*#*###***#*##*#**#*##*********************************....................β”‚
-β”‚*******************####*##########***#####**####*******************************.....................β”‚
-β”‚**************#**###**#**#*#*#*###*#*#**#*#####*****##************************......................β”‚
-β”‚***************#####*#*##****##**####*####**#**#*#*#*************************.......................β”‚
-β”‚*************#*###*#*#*#*******************#*#*#########*********************.......................β”‚
-β”‚*********#**##*#*#*#**************************####*###*#********************........................β”‚
-β”‚********#****###*#*******************************#**#*#*##*#****************........................β”‚
-β”‚******#*#*#*#####************************************#####******************........................β”‚
-β”‚************###**************************************#*#********************........................β”‚
-β”‚********###**#**************........*******************###*##**************.........................β”‚
-β”‚******####*###***********.............********************###**#***********.........................β”‚
-β”‚*****###*##*#**********...........%%....****************#*##*#*************....................%....β”‚
-β”‚****#*#####***********.........%....%.....****************####**#**********....................%....β”‚
-β”‚****##*#*#**********...........%%%%........****************##*************...................%%.%%..β”‚
-β”‚***####*#**********..............%..%........***************####**********...................%..%.%.β”‚
-β”‚**##*#**#*********..............%.%%...........************###**##********...................%..%..%β”‚
-β”‚*##*#*##*********..............%.%%.%...........**********#**##**#********...................%.%..%.β”‚
-β”‚***####*********...............%%.%%.%............***********#####*#*****....................%....%.β”‚
-β”‚*##*##*#******..................%...%...............********##*#*#*******..................%.%%%.%..β”‚
-β”‚#**#**#******..................%%%.%%................*********#*###******...................%....%..β”‚
-β”‚####********.......................%.%.%...............******##*##*******..................%%%%%....β”‚
-β”‚#***##*****......................%%.%%..%................****#####*#****...................%%%%.%...β”‚
-β”‚##*#******........................%%%.%.%.................********##****.................%..%%%.....β”‚
-β”‚#*#******..........................%%.%.....................***#**##****..................%.%.%%%...β”‚
-β”‚#**#***.............................%%%%%..%..................***#******.................%%%........β”‚
-β”‚##****............................%...%.%%%...................##***#***................%%%.%..%.....β”‚
-β”‚*****...............................%.%%%%........................*****..............%..%.%%.%......β”‚
-β”‚****.................................%%.%%%%.............................................%%.%%......β”‚
-β”‚***....................................%..%..%.....................................%%%%.%%%%%.......β”‚
-β”‚*........................................%.%%.%%..%...............................%%%%%%.%.%........β”‚
+β”‚************************************#***************************************************************β”‚
+β”‚*****************************##*#*#***###**#********************************************************β”‚
+β”‚*********************##**#*#*###***#*##*#**#*##*****************************************************β”‚
+β”‚*******************####*##########***#####**####****************************************************β”‚
+β”‚**************#**###**#**#*#*#*###*#*#**#*#####*****##**********************************************β”‚
+β”‚***************#####*#*##****##**####*####**#**#*#*#************************************************β”‚
+β”‚*************#*###*#*#*#*******************#*#*#########********************************************β”‚
+β”‚*********#**##*#*#*#**************************####*###*#********************************************β”‚
+β”‚********#****###*#*******************************#**#*#*##*#****************************************β”‚
+β”‚******#*#*#*#####************************************#####******************************************β”‚
+β”‚************###**************************************#*#**************************************......β”‚
+β”‚********###**#**************************************...###.##.......................................β”‚
+β”‚******####*###******************..........................###..#....................................β”‚
+β”‚*****###*##*#*****************....%%....................#.##.#.................................%....β”‚
+β”‚****#*#####*****************...%....%.....................####..#..............................%....β”‚
+β”‚****##*#*#****************.....%%%%........................##................................%%.%%..β”‚
+β”‚***####*#***************.........%..%.......................####.............................%..%.%.β”‚
+β”‚**##*#**#**************.........%.%%.......................###..##...........................%..%..%β”‚
+β”‚*##*#*##*************..........%.%%.%.....................#..##..#...........................%.%..%.β”‚
+β”‚***####************............%%.%%.%.......................#####.#.........................%....%.β”‚
+β”‚*##*##*#*********...............%...%.......................##.#.#.........................%.%%%.%..β”‚
+β”‚#**#**#*********...............%%%.%%.........................#.###.........................%....%..β”‚
+β”‚####**********.....................%.%.%.....................##.##.........................%%%%%....β”‚
+β”‚#***##******.....................%%.%%..%....................#####.#.......................%%%%.%...β”‚
+β”‚##*#*******.......................%%%.%.%.........................##.....................%..%%%.....β”‚
+β”‚#*#******..........................%%.%........................#..##......................%.%.%%%...β”‚
+β”‚#**#****............................%%%%%..%.....................#.......................%%%........β”‚
+β”‚##****............................%...%.%%%...................##...#...................%%%.%..%.....β”‚
+β”‚****................................%.%%%%...........................................%..%.%%.%......β”‚
+β”‚***..................................%%.%%%%.............................................%%.%%......β”‚
+β”‚*......................................%..%..%.....................................%%%%.%%%%%.......β”‚
+β”‚.........................................%.%%.%%..%...............................%%%%%%.%.%........β”‚
 β”‚........................................%%.%%.%%%................................%%.%.%...%.........β”‚
 β”‚.............................................%%%.............................%.%.%..%%..%...........β”‚
 β”‚.............................................%.%%.%%%%%..................%%%.%%.%.%..%..............β”‚
@@ -79,10 +79,10 @@ Half-moons scatterplot and decision boundary:
 β”‚        β”‚                                                                                                    β”‚
 β”‚        β”‚-                                                                                                   β”‚
 β”‚        β”‚   -                                                                                                β”‚
-β”‚        β”‚ -    - -  - - -- -                 -        -                                                      β”‚
-β”‚        β”‚     -    -         -  - -         -- - -- -  -    -                                                β”‚
-β”‚        β”‚-- - -- - -    -- - -- -  - - -- - -- -         - -  - -- - -- - -- -  -   -                        β”‚
-β”‚        β”‚---- -- - -- - ---- -- - ---- -- - -- - -- - --    -                  -  -  - - -- - --   -         β”‚
+β”‚        β”‚ -    - -  - - -- - -     -                                                                         β”‚
+β”‚        β”‚     -    -          - -    - -- - -- - -- - -  - -- -                                              β”‚
+β”‚        β”‚-- - -- - -    -- - --   -- -            - - -- - -- - -- - -- - -- - -- - -- - -- - -- - -- - -- - β”‚
+β”‚        β”‚---- -- - -- - ---- -- - -- - -- - -- - -- - -- - -- - -- - -- - -- - -- - -- - -- - -- - -- - -- - β”‚
 β”‚ 0.00   β”‚----------------------------------------------------------------------------------------------------β”‚
 β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
 β”‚        β”‚0.00                                                                                         4.79e+3β”‚
@@ -96,38 +96,38 @@ Half-moons scatterplot and decision boundary:
 β”‚         β”‚-                                                                                                   β”‚
 β”‚         β”‚                                                                                                    β”‚
 β”‚         β”‚-  -                                                                                                β”‚
-β”‚         β”‚ -   -- - -- - -- - -               -        --                                                     β”‚
-β”‚         β”‚      -           -  - - -- -  -   -- - -- -    - -- -  -    -                                      β”‚
-β”‚         β”‚-- - -- - -- - ---  -  - -- - -- - -- -                -  - -  - -- -  -   -                        β”‚
-β”‚         β”‚---- -- - -- - ---- -- - ---- -- - -- - --   --                       -  -       -    -             β”‚
-β”‚         β”‚-  - -- - -- - -    -    -  - -  - --      -       - -                      - - -  - -  - -         β”‚
-β”‚         β”‚- -  -- -    -   --  ---   --  - - -  - --   -  - -                                          -      β”‚
-β”‚         β”‚- --  -      -   -                  - -  -   -         -- -  -                             -      - β”‚
-β”‚         β”‚-  - -    --        --           - -- - --      -    - -    -    -  -                          --   β”‚
-β”‚         β”‚     --   --      -   --      -     -         -   --    - -  -   -  -                               β”‚
-β”‚l        β”‚-  -    -      -    --   - --   --      -  - -                    -        -             -       -  β”‚
-β”‚o        β”‚ -   ---   - -         -      - -  -  -  - -         -      -             -          -              β”‚
-β”‚g        β”‚ -  - -- -    -          -         --    -  -   -  -              -    -         --    -    -       β”‚
-β”‚         β”‚- --    -    -  -   ---    -     -------- - - --                  --           -    -          -    β”‚
-β”‚l        β”‚--    -- - -          -     -  -- -- --- -- -     - - -    -  - -  -  -   --                  -    -β”‚
-β”‚o        β”‚--  - --  ----        -     - --    -- -- -  --   ---- - - -         -              -               β”‚
-β”‚s        β”‚--    --   -    -     -          -- -- --   -  - ---     -   - -   -         --           --        β”‚
-β”‚s        β”‚ -- - --   -         ---    --    ------ --     --    -- -    -             --               -      β”‚
-β”‚         β”‚        -  -     -   --   -  -   - - - --    --   -   ---  --           -        - - -    -         β”‚
-β”‚         β”‚-  - ---      -      -       -   ---    -    - - - -   --  -    -       -    -  -             -  -  β”‚
-β”‚         β”‚       - - -          -     -    --  ---   - -  -  -   -  -       - -   -       -   -               β”‚
-β”‚         β”‚-  -                           - -   - -    -     -         -  -                          -         β”‚
-β”‚         β”‚-                         -     --    - - - -  -    -        -       -   -        -                 β”‚
-β”‚         β”‚                               - -   -  -      -    -         -- -              -     -             β”‚
-β”‚         β”‚-   -                --          -      - --   -               -                                    β”‚
-β”‚         β”‚       -                  -   -    - --     -            -               -                          β”‚
-β”‚         β”‚                                  -     -        -               -         -                        β”‚
-β”‚         β”‚                                -         -           -      -                 -              -     β”‚
-β”‚         β”‚                                                 -                                                  β”‚
-β”‚         β”‚      -                                                                                             β”‚
-β”‚         β”‚                                                      -                                             β”‚
-β”‚         β”‚                                                                -                                   β”‚
+β”‚         β”‚ -   -- - -- - -- - --    - -                                                                       β”‚
+β”‚         β”‚      -           -    - -    -- - -- - -- - -- - -- - -- - -- - -- - -- - -- - -- - -- - -- - -- - β”‚
+β”‚         β”‚-- - -- - -- - -- - -- - -- - -    -- - -- - -- - -- - -- - -- - -- - -- - -- - -- - -- - -- - -- - β”‚
+β”‚         β”‚---- -- - -- - ---- -- - -- - -- - -- - -- - -- - -- - -- - -- - -- - -- - -- - -- - -- - -- - -- - β”‚
+β”‚         β”‚-  - -- - -- - -  - -- - -- - -- -  -   --   -- - --   -- -  - - -- - -- - -- - -- - -- - -- - -- - β”‚
+β”‚         β”‚- -  -- -    - - -  --           -  - -    -         -    - -     -    -        -  - --      -  -   β”‚
+β”‚         β”‚- --  -      -            - -      -          -   -          - -      -  -    -             -  -    β”‚
+β”‚         β”‚-  - -    --     -  -  -      -  -        -     -                                -                  β”‚
+β”‚         β”‚     --   --             -            -                 -        -                        -       - β”‚
+β”‚l        β”‚-  -    -            -      - -         -     - - -- -     -                -      -          - -   β”‚
+β”‚o        β”‚ -   ---   - -    -                                     - - -       -         -  -  --  --      - --β”‚
+β”‚g        β”‚ -  - -- -    -   - --       -             -  -    - --   -    -    -  -  --          -    -- -   - β”‚
+β”‚         β”‚- --    -    -        - -   - -- --      - -    -  -   -- -- -    -  -      -  - -  -   -          -β”‚
+β”‚l        β”‚--    -- - -   --        -  --      - -  -   -  --      -    -  -   -       - -     -      - -     -β”‚
+β”‚o        β”‚--  - --  ----         --      -  -----     --  --           -      --   -    -    --   -       -   β”‚
+β”‚s        β”‚--    --   -       - ----  -  ----- ----      -       -    - - -- -  - -  - - -    -  - --      - - β”‚
+β”‚s        β”‚ -- - --   -         - --       --   - - - --    - - -  -       - - -- - --  --- - -- - -- -  --- --β”‚
+β”‚         β”‚        -  -    --      -      -       -    - -- -      - --  --- -  - - -    -- ---- - -- - -- - --β”‚
+β”‚         β”‚-  - ---      -       -             -  - - -- -- -    - -    - -- -      -- -  - ---- -- - -  - -  -β”‚
+β”‚         β”‚       - - -           -  - -    -       -     -   -- ---  - - -   --  ---  - --    - - - -- -- - --β”‚
+β”‚         β”‚-  -               -   -        -           - -       -  ---  --- - -   - - -  - -  -   -  -  - -   β”‚
+β”‚         β”‚-                    -  -   -        - -   -       -     -   -  -  - - -  -  ---   -  -- -      - --β”‚
+β”‚         β”‚                     -        - -              -   ----         -    -    -   -       -    -  -  - -β”‚
+β”‚         β”‚-   -                                  -              - -  -  - - -  -    -  - -   -  - -    -    - β”‚
+β”‚         β”‚       -                -                        - -     -  -     -         -  --  -               -β”‚
+β”‚         β”‚                                                     -               -                        -     β”‚
+β”‚         β”‚                        -                  -               -                                    -   β”‚
+β”‚         β”‚                                                                       --                -       - -β”‚
+β”‚         β”‚      -                           -                                 -               -               β”‚
+β”‚         β”‚                             -                               -                                -     β”‚
 β”‚         β”‚                                                                                                    β”‚
+β”‚         β”‚                                                                       -         -                  β”‚
 β”‚ -1.00e+1β”‚----------------------------------------------------------------------------------------------------β”‚
 β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
 β”‚         β”‚0.00                                                                                         4.79e+3β”‚
"/usr/bin/env" "bash" "-c" "opam exec -- dune build @install @check @runtest && rm -rf _build" failed with exit status 1
2025-08-05 19:50.19: Job failed: Failed: Build failed