Organisationsahrefsocannl85eaff ()debian-12-5.3_ppc64_opam-2.3

debian-12-5.3_ppc64_opam-2.3

Link Copied
Code Copied

Logs

2025-07-26 07:51.58: New job: test ahrefs/ocannl https://github.com/ahrefs/ocannl.git#refs/heads/master (85eaff98853cd8dd8f4f6be71649c038e52bd682) (linux-ppc64:debian-12-5.3_ppc64_opam-2.3)
Base: ocaml/opam:debian-12-ocaml-5.3@sha256:10d441e2d41254d3d7147041dc0e9db8cdb921faec1928ef6c07c67d222cdeb7
Opam project build


To reproduce locally:


git clone --recursive "https://github.com/ahrefs/ocannl.git" -b "master" && cd "ocannl" && git reset --hard 85eaff98
cat > Dockerfile <<'END-OF-DOCKERFILE'
FROM ocaml/opam:debian-12-ocaml-5.3@sha256:10d441e2d41254d3d7147041dc0e9db8cdb921faec1928ef6c07c67d222cdeb7
# debian-12-5.3_ppc64_opam-2.3
USER 1000:1000
ENV CLICOLOR_FORCE="1"
ENV OPAMCOLOR="always"
WORKDIR /src
RUN sudo ln -f /usr/bin/opam-2.3 /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 04312e26deca0324a4f03c8652199be03c6416f0 || git fetch origin master) && git reset -q --hard 04312e26deca0324a4f03c8652199be03c6416f0 && 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.10.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.3 --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-07-26 07:51.58: Using cache hint "ahrefs/ocannl-ocaml/opam:debian-12-ocaml-5.3@sha256:10d441e2d41254d3d7147041dc0e9db8cdb921faec1928ef6c07c67d222cdeb7-debian-12-5.3_ppc64_opam-2.3-de8ee31274e2852d4a9c6c5034bacc6c"
2025-07-26 07:51.58: Using OBuilder spec:
((from ocaml/opam:debian-12-ocaml-5.3@sha256:10d441e2d41254d3d7147041dc0e9db8cdb921faec1928ef6c07c67d222cdeb7)
(comment debian-12-5.3_ppc64_opam-2.3)
(user (uid 1000) (gid 1000))
(env CLICOLOR_FORCE 1)
(env OPAMCOLOR always)
(workdir /src)
(run (shell "sudo ln -f /usr/bin/opam-2.3 /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 04312e26deca0324a4f03c8652199be03c6416f0 || git fetch origin master) && git reset -q --hard 04312e26deca0324a4f03c8652199be03c6416f0 && 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.10.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.3 --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-07-26 07:51.58: Waiting for resource in pool OCluster
2025-07-26 07:51.58: Waiting for worker…
2025-07-26 07:51.58: Got resource from pool OCluster
Building on orithia.caelum.ci.dev
HEAD is now at 4dcf8de7 Rename llv -> llsc
HEAD is now at 85eaff98 First pass on adding vector-returning operations, by Claude Opus Prompt: Separate Uint4x32_to_prec_uniform from the type unop in arrayjit/lib/ops.ml into a separate type vec_unop . In the Low_level module type t , add a constructor  Set_from_vec { tn : Tnode.t; idcs : Indexing.axis_index array; length: int; vec_unop : Ops.vec_unop; arg : scalar_t; mutable debug : string } . This constructor is an analogue of the Set constructor but for vector rather than scalar values. The length field is the length of the vector, and backends should set the consecutive cells of the buffer corresponding to tn , starting with position idcs . At present, given that we only have one vector operation, for simplicity we do not introduce a separate type vector_t , that's why the fields of a hypothetical vector_t Unop are inlined into Set_from_vec . In the Assignments module type t , add a constructor Set_vec_unop { op : Ops.vec_unop ; lhs : Tn.t ; rhs : buffer; projections : Indexing.projections Lazy.t } . Add handling for the new variants following the intended meaning. Add support for the separated out vector assignment and vector operation in the syntax extension file ppx_cd.ml . Reach out for clarifications, I'm here to help. Once we get the backend-generic code into a good shape, we will add support in the backend-specific code. We will start by converting the uint4x32_to_*_uniform functions in builtins.c , builtins_small.cu and builtins.msl to return vectors of results, for each function we will introduce a vector type holding the specific number of results that these functions should compute to make efficient use of the random bits from the argument uint4x32 value. Then, we will enhance code generation to support the vectorized assignment Set_from_vec by unrolling it into the `length` number of individual assignments.


(from ocaml/opam:debian-12-ocaml-5.3@sha256:10d441e2d41254d3d7147041dc0e9db8cdb921faec1928ef6c07c67d222cdeb7)
2025-07-26 07:51.59 ---> using "3d7361cbe7868677e20a858ba342bff26e7b31409bb7b9efc2faf073ded388b3" from cache


/: (comment debian-12-5.3_ppc64_opam-2.3)


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


/: (env CLICOLOR_FORCE 1)


/: (env OPAMCOLOR always)


/: (workdir /src)


/src: (run (shell "sudo ln -f /usr/bin/opam-2.3 /usr/bin/opam"))
2025-07-26 07:51.59 ---> using "21ce8eaf064a6567b1992cd95eaf216f0639e1d29b1612654e9c34c732640d5c" from cache


/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 development 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
Format upgrade done.


<><> Updating repositories ><><><><><><><><><><><><><><><><><><><><><><><><><><>
[default] Initialised
2025-07-26 07:51.59 ---> using "5169c9f02e5008390d652ab112fd8a02b863dff27665dfe08497fd99eb46d84b" from cache


/src: (run (shell "uname -rs && opam exec -- ocaml -version && opam --version"))
Linux 6.8.0-60-generic
The OCaml toplevel, version 5.3.0
2.3.0
2025-07-26 07:51.59 ---> using "5cca1a3b14db889af4bced2badfb2111e6cfe904c92c20214f16708f61d72e59" from cache


/src: (workdir /src)


/src: (run (shell "sudo chown opam /src"))
2025-07-26 07:51.59 ---> using "2ff4dbaf6242919006ee5e16700d0307be2ccb2835262e3698711285524f2a79" from cache


/src: (run (cache (opam-archives (target /home/opam/.opam/download-cache)))
(network host)
(shell "cd ~/opam-repository && (git cat-file -e 04312e26deca0324a4f03c8652199be03c6416f0 || git fetch origin master) && git reset -q --hard 04312e26deca0324a4f03c8652199be03c6416f0 && git log --no-decorate -n1 --oneline && opam update -u"))
From https://github.com/ocaml/opam-repository
* branch                  master     -> FETCH_HEAD
6dea2f9390..b8021439f8  master     -> origin/master
04312e26de Merge pull request #28240 from dbuenzli/b0-publish-topkg-care.1.1.0-etc-674572cd688c2627


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


Everything as up-to-date as possible (run with --verbose to show unavailable upgrades).
However, you may "opam upgrade" these packages explicitly, which will ask permission to downgrade or uninstall the conflicting packages.
Nothing to do.
# To update the current shell environment, run: eval $(opam env)
2025-07-26 07:51.59 ---> using "12327016cd43e3aefba3618b3cb7e98ab7ca7cfd35d142eebe5cc5f4dbd998a6" from cache


/src: (copy (src neural_nets_lib.opam arrayjit.opam) (dst ./))
2025-07-26 07:51.59 ---> using "2fe41bcf0a1f6f120eb594dee6170bc034a4e26602a5b91c6f166fbfb157213e" from cache


/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-07-26 07:51.59 ---> using "cc0b612fc17bbf18be8242dd009d48bdbb4cccacfee8681e6da69b7ac9eb8de4" from cache


/src: (run (network host)
(shell "echo '(lang dune 3.0)' > './dune-project'"))
2025-07-26 07:51.59 ---> using "a01c7afae317298df68f8b51648d858f81b57da99e069290b3d083328cde4380" from cache


/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.10.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.3 --depext-only -y neural_nets_lib.dev arrayjit.dev $DEPS"))
+ /usr/bin/sudo "apt-get" "update"
- Hit:1 http://deb.debian.org/debian bookworm InRelease
- Get:2 http://deb.debian.org/debian bookworm-updates InRelease [55.4 kB]
- Get:3 http://deb.debian.org/debian-security bookworm-security InRelease [48.0 kB]
- Get:4 http://deb.debian.org/debian-security bookworm-security/main ppc64el Packages [261 kB]
- Fetched 364 kB in 0s (935 kB/s)
- Reading package lists...
- 


<><> 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:
libcurl4-gnutls-dev libffi-dev pkg-config zlib1g-dev


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


+ /usr/bin/sudo "apt-get" "install" "-qq" "-yy" "libcurl4-gnutls-dev" "libffi-dev" "pkg-config" "zlib1g-dev"
- debconf: delaying package configuration, since apt-utils is not installed
- Selecting previously unselected package libcurl4-gnutls-dev:ppc64el.
- (Reading database ... 
(Reading database ... 5%
(Reading database ... 10%
(Reading database ... 15%
(Reading database ... 20%
(Reading database ... 25%
(Reading database ... 30%
(Reading database ... 35%
(Reading database ... 40%
(Reading database ... 45%
(Reading database ... 50%
(Reading database ... 55%
(Reading database ... 60%
(Reading database ... 65%
(Reading database ... 70%
(Reading database ... 75%
(Reading database ... 80%
(Reading database ... 85%
(Reading database ... 90%
(Reading database ... 95%
(Reading database ... 100%
(Reading database ... 18720 files and directories currently installed.)
- Preparing to unpack .../0-libcurl4-gnutls-dev_7.88.1-10+deb12u12_ppc64el.deb ...
- Unpacking libcurl4-gnutls-dev:ppc64el (7.88.1-10+deb12u12) ...
- Selecting previously unselected package libffi-dev:ppc64el.
- Preparing to unpack .../1-libffi-dev_3.4.4-1_ppc64el.deb ...
- Unpacking libffi-dev:ppc64el (3.4.4-1) ...
- Selecting previously unselected package libpkgconf3:ppc64el.
- Preparing to unpack .../2-libpkgconf3_1.8.1-1_ppc64el.deb ...
- Unpacking libpkgconf3:ppc64el (1.8.1-1) ...
- Selecting previously unselected package pkgconf-bin.
- Preparing to unpack .../3-pkgconf-bin_1.8.1-1_ppc64el.deb ...
- Unpacking pkgconf-bin (1.8.1-1) ...
- Selecting previously unselected package pkgconf:ppc64el.
- Preparing to unpack .../4-pkgconf_1.8.1-1_ppc64el.deb ...
- Unpacking pkgconf:ppc64el (1.8.1-1) ...
- Selecting previously unselected package pkg-config:ppc64el.
- Preparing to unpack .../5-pkg-config_1.8.1-1_ppc64el.deb ...
- Unpacking pkg-config:ppc64el (1.8.1-1) ...
- Selecting previously unselected package zlib1g-dev:ppc64el.
- Preparing to unpack .../6-zlib1g-dev_1%3a1.2.13.dfsg-1_ppc64el.deb ...
- Unpacking zlib1g-dev:ppc64el (1:1.2.13.dfsg-1) ...
- Setting up libcurl4-gnutls-dev:ppc64el (7.88.1-10+deb12u12) ...
- Setting up libffi-dev:ppc64el (3.4.4-1) ...
- Setting up libpkgconf3:ppc64el (1.8.1-1) ...
- Setting up pkgconf-bin (1.8.1-1) ...
- Setting up zlib1g-dev:ppc64el (1:1.2.13.dfsg-1) ...
- Setting up pkgconf:ppc64el (1.8.1-1) ...
- Setting up pkg-config:ppc64el (1.8.1-1) ...
- Processing triggers for libc-bin (2.36-9+deb12u10) ...
2025-07-26 07:51.59 ---> using "1204c6814c0df05a52f8e3997b975627be0f1bbaff9c4f7f7f1cafffa8698c7d" from cache


/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.10.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 backoff.0.1.1  (cached)
-> retrieved angstrom.0.16.1  (cached)
-> retrieved astring.0.8.5  (cached)
-> retrieved bigarray-compat.1.1.0  (cached)
-> retrieved base.v0.17.3  (cached)
-> retrieved bigstringaf.0.10.0  (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 integers.0.7.0  (cached)
-> retrieved fmt.0.10.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)
-> installed cmdliner.1.3.0
-> installed num.1.6
-> retrieved ppx_deriving.6.1.1  (cached)
-> 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_string.v0.17.0  (cached)
-> retrieved ppx_sexp_conv.v0.17.1  (cached)
-> retrieved ppx_variants_conv.v0.17.1  (cached)
-> retrieved ppxlib_jane.v0.17.4  (cached)
-> retrieved ppx_minidebug.2.3.0  (cached)
-> retrieved ppxlib.0.36.0  (cached)
-> retrieved ptime.1.2.0  (cached)
-> retrieved re.1.13.2  (cached)
-> retrieved result.1.5  (cached)
-> retrieved seq.base  (cached)
-> installed seq.base
-> retrieved sexplib.v0.17.0  (cached)
-> retrieved saturn_lockfree.0.5.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 printbox.0.12, printbox-ext-plot.0.12, printbox-html.0.12, printbox-md.0.12, printbox-text.0.12  (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.10.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 csexp.1.5.2
-> installed backoff.0.1.1
-> installed bigarray-compat.1.1.0
-> installed camlp-streams.5.0.1
-> installed csv.2.4
-> installed cppo.1.8.0
-> 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 ppx_derivers.1.2.1
-> 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 sexplib.v0.17.0
-> installed bigstringaf.0.10.0
-> installed mdx.2.5.0
-> installed angstrom.0.16.1
-> installed tyxml.4.6.0
-> 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 ctypes-foreign.0.23.0
-> installed stdio.v0.17.0
-> installed uucp.16.0.0
-> installed printbox-text.0.12
-> installed printbox-md.0.12
-> installed ppxlib.0.36.0
-> installed printbox-ext-plot.0.12
-> 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_enumerate.v0.17.0
-> installed ppx_globalize.v0.17.2
-> 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-07-26 07:51.59 ---> using "672d5624e438a5f79d7f90e0398f295c204bda04cbba3c7260e637d0a49c2c4f" from cache


/src: (copy (src .) (dst /src))
2025-07-26 07:52.03 ---> saved as "12d6fb43ab26bcbd5d7e2d46843dfa00d68088ff2897b721af2f80eff17adc0d"


/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
File "test/operations/dune", line 63, characters 7-24:
63 |  (name threefry4x32_demo)
^^^^^^^^^^^^^^^^^
(cd _build/default/test/operations && ./threefry4x32_demo.exe) > _build/default/test/operations/threefry4x32_demo.exe.output
Fatal error: exception (lib/shape.ml.Shape_error
"projection_of_solved_dims: unknown projection: 4 11"
((Shape_mismatch
((batch ((dims ()) (bcast Broadcastable) (id ((sh_id 3) (kind Batch)))))
(input
((dims ()) (bcast Broadcastable) (id ((sh_id 3) (kind Input)))))
(output
((dims ()) (bcast Broadcastable) (id ((sh_id 3) (kind Output)))))
(batch_padding ()) (input_padding ()) (output_padding ()) (id 3)
(debug_name uint4x32_to_prec_uniform))
((batch ((dims ()) (bcast Broadcastable) (id ((sh_id 2) (kind Batch)))))
(input
((dims ()) (bcast Broadcastable) (id ((sh_id 2) (kind Input)))))
(output
((dims ((Dim ((d 11) (label ()) (proj_id ((Proj_id 4)))))))
(bcast Broadcastable) (id ((sh_id 2) (kind Output)))))
(batch_padding ()) (input_padding ()) (output_padding ()) (id 2)
(debug_name threefry4x32)))))
Raised at Ocannl__Shape.derive_projections in file "lib/shape.ml", line 885, characters 4-70
Re-raised at Ocannl__Shape.derive_projections in file "lib/shape.ml", lines 818-885, characters 35-70
Called from CamlinternalLazy.do_force_block in file "camlinternalLazy.ml", line 49, characters 17-27
Re-raised at CamlinternalLazy.do_force_block in file "camlinternalLazy.ml", line 56, characters 4-11
Called from CamlinternalLazy.force_lazy_block in file "camlinternalLazy.ml" (inlined), line 78, characters 27-67
Called from Ocannl__Operation.uint4x32_to_prec_uniform.(fun) in file "lib/operation.ml", line 270, characters 38-70
Called from CamlinternalLazy.do_force_block in file "camlinternalLazy.ml", line 49, characters 17-27
Re-raised at CamlinternalLazy.do_force_block in file "camlinternalLazy.ml", line 56, characters 4-11
Called from CamlinternalLazy.force_lazy_block in file "camlinternalLazy.ml" (inlined), line 78, characters 27-67
Called from Ir__Assignments.to_low_level.loop in file "arrayjit/lib/assignments.ml", line 267, characters 26-48
Called from Ir__Assignments.to_low_level.loop in file "arrayjit/lib/assignments.ml", line 312, characters 17-24
Called from Ir__Assignments.to_low_level.loop in file "arrayjit/lib/assignments.ml", line 309, characters 66-72
Called from Ir__Assignments.to_low_level in file "arrayjit/lib/assignments.ml", line 344, characters 2-11
Re-raised at Ir__Assignments.to_low_level in file "arrayjit/lib/assignments.ml", lines 166-344, characters 29-11
Called from Ir__Assignments.lower in file "arrayjit/lib/assignments.ml", line 515, characters 26-43
Re-raised at Ir__Assignments.lower in file "arrayjit/lib/assignments.ml", line 515, characters 2-43
Re-raised at Ir__Assignments.lower in file "arrayjit/lib/assignments.ml", lines 513-520, characters 22-85
Called from Backends.lower_assignments in file "arrayjit/lib/backends.ml", lines 255-256, characters 4-45
Re-raised at Backends.lower_assignments in file "arrayjit/lib/backends.ml", lines 247-256, characters 34-47
Called from Backends.Raise_backend.compile in file "arrayjit/lib/backends.ml", line 440, characters 6-59
Re-raised at Backends.Raise_backend.compile in file "arrayjit/lib/backends.ml", lines 439-440, characters 4-59
Re-raised at Backends.Raise_backend.compile in file "arrayjit/lib/backends.ml", lines 438-446, characters 26-99
Called from Ocannl__Train.run_once in file "lib/train.ml", line 553, characters 25-89
Re-raised at Ocannl__Train.run_once in file "lib/train.ml", lines 533-556, characters 25-17
Called from Ocannl__Train.forward_once in file "lib/train.ml", lines 568-571, characters 4-46
Called from Dune__exe__Threefry4x32_demo in file "test/operations/threefry4x32_demo.ml", line 28, characters 9-68
(cd _build/.sandbox/e3bc64bb6f8147f52e55d3023a79bcf2/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/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/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/.sandbox/e3bc64bb6f8147f52e55d3023a79bcf2/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/.sandbox/d95bb5c198031e6ea143feef340ca8f0/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/d95bb5c198031e6ea143feef340ca8f0/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/d95bb5c198031e6ea143feef340ca8f0/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 533-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 847, characters 10-16
Re-raised at Utils.capture_stdout_logs in file "arrayjit/lib/utils.ml", line 878, 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/d95bb5c198031e6ea143feef340ca8f0/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/d95bb5c198031e6ea143feef340ca8f0/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..f8d56e5 100644
--- a/_build/default/test/einsum/einsum_trivia_exec.expected
+++ b/_build/default/test/einsum/einsum_trivia_exec.exe.output
@@ -657,169 +657,169 @@ 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.94e+11  1.11e-41  0.00   │  │
+││axis 2│ 9.71e+10  1.93e+3   1.00   │  │
+││      │ ...       ...       ...    │  │
+││      │ 9.71e+10  3.04e+3   4.00   │  │
+││      │ 9.71e+10  1.40e-45  5.00   │  │
+│├──────┼────────────────────────────┤  │
+││1 @ 1 │ 9.77e+10  1.00     3.16e+3 │  │
+││axis 2│ 0.00      1.93e+3  3.16e+3 │  │
+││      │ ...       ...      ...     │  │
+││      │ 2.82e+3   3.04e+3  3.16e+3 │  │
+││      │ 0.00      1.00     3.16e+3 │  │
+│├──────┼────────────────────────────┤  │
+││2 @ 1 │ 9.77e+10  2.00     3.96e+3 │  │
+││axis 2│ 3.33e+3   1.93e+3  3.96e+3 │  │
+││      │ ...       ...      ...     │  │
+││      │ 6.15e+3   3.04e+3  3.96e+3 │  │
+││      │ 3.33e+3   2.00     3.96e+3 │  │
+│├──────┼────────────────────────────┤  │
+││3 @ 1 │ 9.77e+10  3.00     4.76e+3 │  │
+││axis 2│ 4.00e+3   1.93e+3  4.76e+3 │  │
+││      │ ...       ...      ...     │  │
+││      │ 6.82e+3   3.04e+3  4.76e+3 │  │
+││      │ 4.00e+3   3.00     4.76e+3 │  │
+│├──────┼────────────────────────────┤  │
+││4 @ 1 │ 9.77e+10  4.00     5.56e+3 │  │
+││axis 2│ 4.68e+3   1.94e+3  5.56e+3 │  │
+││      │ ...       ...      ...     │  │
+││      │ 7.50e+3   3.04e+3  5.56e+3 │  │
+││      │ 4.68e+3   4.00     5.56e+3 │  │
+│└──────┴────────────────────────────┘  │
+├───────────────────────────────────────┤
+│┌──────┬──────────────────────────────┐│
+││1 @ 0 │axis 3                        ││
+│├──────┼──────────────────────────────┤│
+││0 @ 1 │ 1.94e+11  2.89e+32  2.36e+21 ││
+││axis 2│ 9.71e+10  2.89e+32  2.36e+21 ││
+││      │ ...       ...       ...      ││
+││      │ 9.71e+10  2.89e+32  2.36e+21 ││
+││      │ 9.71e+10  2.89e+32  2.36e+21 ││
+│├──────┼──────────────────────────────┤│
+││1 @ 1 │ 9.77e+10  2.89e+32  2.36e+21 ││
+││axis 2│ 1.00      2.89e+32  2.36e+21 ││
+││      │ ...       ...       ...      ││
+││      │ 2.82e+3   2.89e+32  2.36e+21 ││
+││      │ 1.00      2.89e+32  2.36e+21 ││
+│├──────┼──────────────────────────────┤│
+││2 @ 1 │ 9.77e+10  2.89e+32  2.36e+21 ││
+││axis 2│ 3.33e+3   2.89e+32  2.36e+21 ││
+││      │ ...       ...       ...      ││
+││      │ 6.15e+3   2.89e+32  2.36e+21 ││
+││      │ 3.33e+3   2.89e+32  2.36e+21 ││
+│├──────┼──────────────────────────────┤│
+││3 @ 1 │ 9.77e+10  2.89e+32  2.36e+21 ││
+││axis 2│ 4.00e+3   2.89e+32  2.36e+21 ││
+││      │ ...       ...       ...      ││
+││      │ 6.82e+3   2.89e+32  2.36e+21 ││
+││      │ 4.00e+3   2.89e+32  2.36e+21 ││
+│├──────┼──────────────────────────────┤│
+││4 @ 1 │ 9.77e+10  2.89e+32  2.36e+21 ││
+││axis 2│ 4.68e+3   2.89e+32  2.36e+21 ││
+││      │ ...       ...       ...      ││
+││      │ 7.50e+3   2.89e+32  2.36e+21 ││
+││      │ 4.68e+3   2.89e+32  2.36e+21 ││
+│└──────┴──────────────────────────────┘│
+├───────────────────────────────────────┤
+│┌──────┬─────────────────────────────┐ │
+││2 @ 0 │axis 3                       │ │
+│├──────┼─────────────────────────────┤ │
+││0 @ 1 │ 1.94e+11  1.64e-7  1.62e+19 │ │
+││axis 2│ 9.71e+10  1.93e+3  1.62e+19 │ │
+││      │ ...       ...      ...      │ │
+││      │ 9.71e+10  3.04e+3  1.62e+19 │ │
+││      │ 9.71e+10  1.64e-7  1.62e+19 │ │
+│├──────┼─────────────────────────────┤ │
+││1 @ 1 │ 9.77e+10  1.00     1.62e+19 │ │
+││axis 2│ 2.00      1.93e+3  1.62e+19 │ │
+││      │ ...       ...      ...      │ │
+││      │ 2.82e+3   3.04e+3  1.62e+19 │ │
+││      │ 2.00      1.00     1.62e+19 │ │
+│├──────┼─────────────────────────────┤ │
+││2 @ 1 │ 9.77e+10  2.00     1.62e+19 │ │
+││axis 2│ 3.33e+3   1.93e+3  1.62e+19 │ │
+││      │ ...       ...      ...      │ │
+││      │ 6.15e+3   3.04e+3  1.62e+19 │ │
+││      │ 3.33e+3   2.00     1.62e+19 │ │
+│├──────┼─────────────────────────────┤ │
+││3 @ 1 │ 9.77e+10  3.00     1.62e+19 │ │
+││axis 2│ 4.01e+3   1.93e+3  1.62e+19 │ │
+││      │ ...       ...      ...      │ │
+││      │ 6.83e+3   3.04e+3  1.62e+19 │ │
+││      │ 4.01e+3   3.00     1.62e+19 │ │
+│├──────┼─────────────────────────────┤ │
+││4 @ 1 │ 9.77e+10  4.00     1.62e+19 │ │
+││axis 2│ 4.68e+3   1.94e+3  1.62e+19 │ │
+││      │ ...       ...      ...      │ │
+││      │ 7.50e+3   3.04e+3  1.62e+19 │ │
+││      │ 4.68e+3   4.00     1.62e+19 │ │
+│└──────┴─────────────────────────────┘ │
+├───────────────────────────────────────┤
+│┌──────┬─────────────────────────────┐ │
+││3 @ 0 │axis 3                       │ │
+│├──────┼─────────────────────────────┤ │
+││0 @ 1 │ 1.94e+11  1.30e-8  7.52e+28 │ │
+││axis 2│ 9.71e+10  1.93e+3  7.52e+28 │ │
+││      │ ...       ...      ...      │ │
+││      │ 9.71e+10  3.04e+3  7.52e+28 │ │
+││      │ 9.71e+10  1.30e-8  7.52e+28 │ │
+│├──────┼─────────────────────────────┤ │
+││1 @ 1 │ 9.77e+10  1.00     7.52e+28 │ │
+││axis 2│ 3.00      1.93e+3  7.52e+28 │ │
+││      │ ...       ...      ...      │ │
+││      │ 2.82e+3   3.04e+3  7.52e+28 │ │
+││      │ 3.00      1.00     7.52e+28 │ │
+│├──────┼─────────────────────────────┤ │
+││2 @ 1 │ 9.77e+10  2.00     7.52e+28 │ │
+││axis 2│ 3.33e+3   1.93e+3  7.52e+28 │ │
+││      │ ...       ...      ...      │ │
+││      │ 6.15e+3   3.04e+3  7.52e+28 │ │
+││      │ 3.33e+3   2.00     7.52e+28 │ │
+│├──────┼─────────────────────────────┤ │
+││3 @ 1 │ 9.77e+10  3.00     7.52e+28 │ │
+││axis 2│ 4.01e+3   1.93e+3  7.52e+28 │ │
+││      │ ...       ...      ...      │ │
+││      │ 6.83e+3   3.04e+3  7.52e+28 │ │
+││      │ 4.01e+3   3.00     7.52e+28 │ │
+│├──────┼─────────────────────────────┤ │
+││4 @ 1 │ 9.77e+10  4.00     7.52e+28 │ │
+││axis 2│ 4.68e+3   1.94e+3  7.52e+28 │ │
+││      │ ...       ...      ...      │ │
+││      │ 7.50e+3   3.04e+3  7.52e+28 │ │
+││      │ 4.68e+3   4.00     7.52e+28 │ │
+│└──────┴─────────────────────────────┘ │
+└───────────────────────────────────────┘
HERE: test/einsum/einsum_trivia_exec.ml:255: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  1.40e-45  0.00     ││
+││      │ 1.00  2.89e+32  2.36e+21 ││
+││      │ 2.00  1.64e-7   1.62e+19 ││
+││      │ 3.00  1.30e-8   7.52e+28 ││
+│└──────┴──────────────────────────┘│
+└───────────────────────────────────┘
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│ 9.77e+10  1.11e-41  0.00 ││
+││      │ 0.00      1.93e+3   1.00 ││
+││      │ ...       ...       ...  ││
+││      │ 2.82e+3   3.04e+3   4.00 ││
+││      │ 0.00      0.00      5.00 ││
+│└──────┴──────────────────────────┘│
+└───────────────────────────────────┘
HERE: test/einsum/einsum_trivia_exec.ml:278:21
┌─────────────────────────────────────────────────────────────────┐
│[2]: ;=>_c shape 0:3|1:4,2:2                                     │
(cd _build/.sandbox/e3bc64bb6f8147f52e55d3023a79bcf2/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/e3bc64bb6f8147f52e55d3023a79bcf2/default/test/einsum/einsum_trivia.ml.corrected
diff --git a/_build/default/test/einsum/einsum_trivia.ml b/_build/.sandbox/e3bc64bb6f8147f52e55d3023a79bcf2/default/test/einsum/einsum_trivia.ml.corrected
index 592e0c8..f960c1f 100644
--- a/_build/default/test/einsum/einsum_trivia.ml
+++ b/_build/.sandbox/e3bc64bb6f8147f52e55d3023a79bcf2/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 │ 5.90e-6  1.70e-41   0.00       ││
+    ││axis 2│ 2.97e-6  2.89e+32   1.00       ││
+    ││      │ ...      ...        ...        ││
+    ││      │ 2.97e-6  -1.18e+21  4.00       ││
+    ││      │ 2.97e-6  8.65e-42   5.00       ││
+    │├──────┼────────────────────────────────┤│
+    ││1 @ 1 │ 2.93e-6    1.00       8.54e-42 ││
+    ││axis 2│ 0.00       2.89e+32   1.00     ││
+    ││      │ ...        ...        ...      ││
+    ││      │ -1.36e-38  -1.18e+21  4.00     ││
+    ││      │ 1.35e-19   1.00       5.00     ││
+    │├──────┼────────────────────────────────┤│
+    ││2 @ 1 │ 2.93e-6   2.00       0.00      ││
+    ││axis 2│ 5.68e-34  2.89e+32   1.00      ││
+    ││      │ ...       ...        ...       ││
+    ││      │ 5.68e-34  -1.18e+21  4.00      ││
+    ││      │ 1.35e-19  2.00       5.00      ││
+    │├──────┼────────────────────────────────┤│
+    ││3 @ 1 │ 2.93e-6    3.00       4.76e+3  ││
+    ││axis 2│ 2.27e-41   2.89e+32   4.76e+3  ││
+    ││      │ ...        ...        ...      ││
+    ││      │ -1.36e-38  -1.18e+21  4.76e+3  ││
+    ││      │ 1.35e-19   3.00       4.76e+3  ││
+    │├──────┼────────────────────────────────┤│
+    ││4 @ 1 │ 4.68e+3  4.00       5.56e+3    ││
+    ││axis 2│ 4.68e+3  2.89e+32   5.56e+3    ││
+    ││      │ ...      ...        ...        ││
+    ││      │ 4.68e+3  -1.18e+21  5.56e+3    ││
+    ││      │ 4.68e+3  4.00       5.56e+3    ││
+    │└──────┴────────────────────────────────┘│
+    ├─────────────────────────────────────────┤
+    │┌──────┬──────────────────────────────┐  │
+    ││1 @ 0 │axis 3                        │  │
+    │├──────┼──────────────────────────────┤  │
+    ││0 @ 1 │ 1.00  6.41e+2    1.86e+25    │  │
+    ││axis 2│ 1.00  2.89e+32   1.86e+25    │  │
+    ││      │ ...   ...        ...         │  │
+    ││      │ 1.00  -1.18e+21  1.86e+25    │  │
+    ││      │ 1.00  6.41e+2    1.86e+25    │  │
+    │├──────┼──────────────────────────────┤  │
+    ││1 @ 1 │ 1.00  6.42e+2    1.86e+25    │  │
+    ││axis 2│ 1.00  2.89e+32   1.86e+25    │  │
+    ││      │ ...   ...        ...         │  │
+    ││      │ 1.00  -1.18e+21  1.86e+25    │  │
+    ││      │ 1.00  6.42e+2    1.86e+25    │  │
+    │├──────┼──────────────────────────────┤  │
+    ││2 @ 1 │ 1.00  6.43e+2    1.86e+25    │  │
+    ││axis 2│ 1.00  2.89e+32   1.86e+25    │  │
+    ││      │ ...   ...        ...         │  │
+    ││      │ 1.00  -1.18e+21  1.86e+25    │  │
+    ││      │ 1.00  6.43e+2    1.86e+25    │  │
+    │├──────┼──────────────────────────────┤  │
+    ││3 @ 1 │ 1.00  6.44e+2    1.86e+25    │  │
+    ││axis 2│ 1.00  2.89e+32   1.86e+25    │  │
+    ││      │ ...   ...        ...         │  │
+    ││      │ 1.00  -1.18e+21  1.86e+25    │  │
+    ││      │ 1.00  6.44e+2    1.86e+25    │  │
+    │├──────┼──────────────────────────────┤  │
+    ││4 @ 1 │ 4.68e+3  6.45e+2    1.86e+25 │  │
+    ││axis 2│ 4.68e+3  2.89e+32   1.86e+25 │  │
+    ││      │ ...      ...        ...      │  │
+    ││      │ 4.68e+3  -1.18e+21  1.86e+25 │  │
+    ││      │ 4.68e+3  6.45e+2    1.86e+25 │  │
+    │└──────┴──────────────────────────────┘  │
+    ├─────────────────────────────────────────┤
+    │┌──────┬─────────────────────────────┐   │
+    ││2 @ 0 │axis 3                       │   │
+    │├──────┼─────────────────────────────┤   │
+    ││0 @ 1 │ 2.00  8.53e-42   5.60e-45   │   │
+    ││axis 2│ 2.00  2.89e+32   1.00       │   │
+    ││      │ ...   ...        ...        │   │
+    ││      │ 2.00  -1.18e+21  4.00       │   │
+    ││      │ 2.00  1.12e-43   5.00       │   │
+    │├──────┼─────────────────────────────┤   │
+    ││1 @ 1 │ 2.00  1.00       8.54e-42   │   │
+    ││axis 2│ 2.00  2.89e+32   1.00       │   │
+    ││      │ ...   ...        ...        │   │
+    ││      │ 2.00  -1.18e+21  4.00       │   │
+    ││      │ 2.00  1.00       5.00       │   │
+    │├──────┼─────────────────────────────┤   │
+    ││2 @ 1 │ 2.00  2.00       5.60e-45   │   │
+    ││axis 2│ 2.00  2.89e+32   1.00       │   │
+    ││      │ ...   ...        ...        │   │
+    ││      │ 2.00  -1.18e+21  4.00       │   │
+    ││      │ 2.00  2.00       5.00       │   │
+    │├──────┼─────────────────────────────┤   │
+    ││3 @ 1 │ 2.00  3.00       4.76e+3    │   │
+    ││axis 2│ 2.00  2.89e+32   4.76e+3    │   │
+    ││      │ ...   ...        ...        │   │
+    ││      │ 2.00  -1.18e+21  4.76e+3    │   │
+    ││      │ 2.00  3.00       4.76e+3    │   │
+    │├──────┼─────────────────────────────┤   │
+    ││4 @ 1 │ 4.68e+3  4.00       5.56e+3 │   │
+    ││axis 2│ 4.68e+3  2.89e+32   5.56e+3 │   │
+    ││      │ ...      ...        ...     │   │
+    ││      │ 4.68e+3  -1.18e+21  5.56e+3 │   │
+    ││      │ 4.68e+3  4.00       5.56e+3 │   │
+    │└──────┴─────────────────────────────┘   │
+    ├─────────────────────────────────────────┤
+    │┌──────┬─────────────────────────────┐   │
+    ││3 @ 0 │axis 3                       │   │
+    │├──────┼─────────────────────────────┤   │
+    ││0 @ 1 │ 3.00  8.53e-42   0.00       │   │
+    ││axis 2│ 3.00  2.89e+32   1.00       │   │
+    ││      │ ...   ...        ...        │   │
+    ││      │ 3.00  -1.18e+21  4.00       │   │
+    ││      │ 3.00  1.12e-43   5.00       │   │
+    │├──────┼─────────────────────────────┤   │
+    ││1 @ 1 │ 3.00  1.00       8.54e-42   │   │
+    ││axis 2│ 3.00  2.89e+32   1.00       │   │
+    ││      │ ...   ...        ...        │   │
+    ││      │ 3.00  -1.18e+21  4.00       │   │
+    ││      │ 3.00  1.00       5.00       │   │
+    │├──────┼─────────────────────────────┤   │
+    ││2 @ 1 │ 3.00  2.00       0.00       │   │
+    ││axis 2│ 3.00  2.89e+32   1.00       │   │
+    ││      │ ...   ...        ...        │   │
+    ││      │ 3.00  -1.18e+21  4.00       │   │
+    ││      │ 3.00  2.00       5.00       │   │
+    │├──────┼─────────────────────────────┤   │
+    ││3 @ 1 │ 3.00  3.00       4.76e+3    │   │
+    ││axis 2│ 3.00  2.89e+32   4.76e+3    │   │
+    ││      │ ...   ...        ...        │   │
+    ││      │ 3.00  -1.18e+21  4.76e+3    │   │
+    ││      │ 3.00  3.00       4.76e+3    │   │
+    │├──────┼─────────────────────────────┤   │
+    ││4 @ 1 │ 4.68e+3  4.00       5.56e+3 │   │
+    ││axis 2│ 4.68e+3  2.89e+32   5.56e+3 │   │
+    ││      │ ...      ...        ...     │   │
+    ││      │ 4.68e+3  -1.18e+21  5.56e+3 │   │
+    ││      │ 4.68e+3  4.00       5.56e+3 │   │
+    │└──────┴─────────────────────────────┘   │
+    └─────────────────────────────────────────┘
|}];
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  8.53e-42  0.00     ││
+    ││      │ 1.00  6.41e+2   1.86e+25 ││
+    ││      │ 2.00  0.00      5.60e-45 ││
+    ││      │ 3.00  0.00      0.00     ││
+    │└──────┴──────────────────────────┘│
+    └───────────────────────────────────┘
|}];
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│ 2.93e-6    8.53e-42   0.00 ││
+    ││      │ 0.00       2.89e+32   1.00 ││
+    ││      │ ...        ...        ...  ││
+    ││      │ -1.36e-38  -1.18e+21  4.00 ││
+    ││      │ 1.35e-19   1.12e-43   5.00 ││
+    │└──────┴────────────────────────────┘│
+    └─────────────────────────────────────┘
|}]


let%expect_test "einsum with a leftmost input axis preserved as output axis" =
(cd _build/.sandbox/d95bb5c198031e6ea143feef340ca8f0/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/d95bb5c198031e6ea143feef340ca8f0/default/test/operations/zero2hero_1of7.ml.corrected
diff --git a/_build/default/test/operations/zero2hero_1of7.ml b/_build/.sandbox/d95bb5c198031e6ea143feef340ca8f0/default/test/operations/zero2hero_1of7.ml.corrected
index 8249a67..bbd8e67 100644
--- a/_build/default/test/operations/zero2hero_1of7.ml
+++ b/_build/.sandbox/d95bb5c198031e6ea143feef340ca8f0/default/test/operations/zero2hero_1of7.ml.corrected
@@ -272,21 +272,21 @@ let%expect_test "Simple gradients hosted" =
[%expect
{|
#12 *._l
-                        0.00
+                        1.15e+25
#13 grad_*._l
-                        0.00
+                        1.15e+25
#8 +_d                   │#10 f non-emb
-                  0.00                    │ -2.00
+                  9.99e-6                 │ -2.00
#9 grad_+_d              │#11 grad_f
-                  0.00                    │ 0.00
+                  1.15e+25                │ 1.15e+25
#4 *._e            │#6 c non-emb│
-           0.00              │ 1.00e+1    │
+           9.99e-6           │ 1.00e+1    │
#5 grad_*._e       │#7 grad_c   │
-           0.00              │ 0.00       │
+           1.15e+25          │ 1.15e+25   │
#0 a non-emb│#2 b non-emb│            │
2.00       │ -3.00      │            │
#1 grad_a   │#3 grad_b   │            │
-     0.00       │ 0.00       │            │
+     1.32e+9    │ 1.23e+9    │            │
|}];
(* Do not update the params: all values and gradients will be at initial points, which are
specified in the tensor in the brackets. *)
@@ -401,21 +401,21 @@ let%expect_test "Simple gradients virtual" =
Train.printf_tree ~with_grad:true ~depth:l;
[%expect {|
#12 *._l
-                    0.00
+                    1.15e+25
#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>                       │ 9.99e-6
#4 *._e Virt/152       │#6 c non-emb│
<void>                 │ 1.00e+1    │
#5 grad_*._e Virt/40   │#7 grad_c   │
-      <void>                 │ 0.00       │
+      <void>                 │ 9.99e-6    │
#0 a non-emb│#2 b non-emb│            │
2.00       │ -3.00      │            │
#1 grad_a   │#3 grad_b   │            │
-     0.00       │ 0.00       │            │
+     1.26e+9    │ 1.23e+9    │            │
|}];
(* Do not update the params: all values and gradients will be at initial points, which are
specified in the tensor in the brackets. *)
File "test/operations/test_threefry4x32.ml", line 1, characters 0-0:
/usr/bin/git --no-pager diff --no-index --color=always -u _build/default/test/operations/test_threefry4x32.ml _build/.sandbox/d95bb5c198031e6ea143feef340ca8f0/default/test/operations/test_threefry4x32.ml.corrected
diff --git a/_build/default/test/operations/test_threefry4x32.ml b/_build/.sandbox/d95bb5c198031e6ea143feef340ca8f0/default/test/operations/test_threefry4x32.ml.corrected
index 4a3396c..fe3ae07 100644
--- a/_build/default/test/operations/test_threefry4x32.ml
+++ b/_build/.sandbox/d95bb5c198031e6ea143feef340ca8f0/default/test/operations/test_threefry4x32.ml.corrected
@@ -35,16 +35,57 @@ let%expect_test "threefry4x32 basic test" =
let all_in_range = Array.for_all result ~f:(fun x -> Float.(x >= 0.0 && x < 1.0)) in
Stdio.printf "All values in [0, 1) range: %b\n" all_in_range;


-  [%expect
-    {|
-    First 5 uniform random values:
-      [0]: 0.237546
-      [1]: 0.820663
-      [2]: 0.062128
-      [3]: 0.174579
-      [4]: 0.706292
-    All values in [0, 1) range: true
-    |}]
+  [%expect.unreachable]
+[@@expect.uncaught_exn {|
+  (* CR expect_test_collector: This test expectation appears to contain a backtrace.
+     This is strongly discouraged as backtraces are fragile.
+     Please change this test to not include a backtrace. *)
+  (lib/shape.ml.Shape_error
+    "projection_of_solved_dims: unknown projection: 6 11"
+    ((Shape_mismatch
+       ((batch ((dims ()) (bcast Broadcastable) (id ((sh_id 3) (kind Batch)))))
+         (input
+           ((dims ()) (bcast Broadcastable) (id ((sh_id 3) (kind Input)))))
+         (output
+           ((dims ()) (bcast Broadcastable) (id ((sh_id 3) (kind Output)))))
+         (batch_padding ()) (input_padding ()) (output_padding ()) (id 3)
+         (debug_name uint4x32_to_prec_uniform))
+       ((batch ((dims ()) (bcast Broadcastable) (id ((sh_id 2) (kind Batch)))))
+         (input
+           ((dims ()) (bcast Broadcastable) (id ((sh_id 2) (kind Input)))))
+         (output
+           ((dims ((Dim ((d 11) (label ()) (proj_id ((Proj_id 6)))))))
+             (bcast Broadcastable) (id ((sh_id 2) (kind Output)))))
+         (batch_padding ()) (input_padding ()) (output_padding ()) (id 2)
+         (debug_name threefry4x32)))))
+  Raised at Ocannl__Shape.derive_projections in file "lib/shape.ml", line 885, characters 4-70
+  Re-raised at Ocannl__Shape.derive_projections in file "lib/shape.ml", lines 818-885, characters 35-70
+  Called from CamlinternalLazy.do_force_block in file "camlinternalLazy.ml", line 49, characters 17-27
+  Re-raised at CamlinternalLazy.do_force_block in file "camlinternalLazy.ml", line 56, characters 4-11
+  Called from CamlinternalLazy.force_lazy_block in file "camlinternalLazy.ml" (inlined), line 78, characters 27-67
+  Called from Ocannl__Operation.uint4x32_to_prec_uniform.(fun) in file "lib/operation.ml", line 270, characters 38-70
+  Called from CamlinternalLazy.do_force_block in file "camlinternalLazy.ml", line 49, characters 17-27
+  Re-raised at CamlinternalLazy.do_force_block in file "camlinternalLazy.ml", line 56, characters 4-11
+  Called from CamlinternalLazy.force_lazy_block in file "camlinternalLazy.ml" (inlined), line 78, characters 27-67
+  Called from Ir__Assignments.to_low_level.loop in file "arrayjit/lib/assignments.ml", line 267, characters 26-48
+  Called from Ir__Assignments.to_low_level.loop in file "arrayjit/lib/assignments.ml", line 312, characters 17-24
+  Called from Ir__Assignments.to_low_level.loop in file "arrayjit/lib/assignments.ml", line 309, characters 66-72
+  Called from Ir__Assignments.to_low_level in file "arrayjit/lib/assignments.ml", line 344, characters 2-11
+  Re-raised at Ir__Assignments.to_low_level in file "arrayjit/lib/assignments.ml", lines 166-344, characters 29-11
+  Called from Ir__Assignments.lower in file "arrayjit/lib/assignments.ml", line 515, characters 26-43
+  Re-raised at Ir__Assignments.lower in file "arrayjit/lib/assignments.ml", line 515, characters 2-43
+  Re-raised at Ir__Assignments.lower in file "arrayjit/lib/assignments.ml", lines 513-520, characters 22-85
+  Called from Backends.lower_assignments in file "arrayjit/lib/backends.ml", lines 255-256, characters 4-45
+  Re-raised at Backends.lower_assignments in file "arrayjit/lib/backends.ml", lines 247-256, characters 34-47
+  Called from Backends.Raise_backend.compile in file "arrayjit/lib/backends.ml", line 440, characters 6-59
+  Re-raised at Backends.Raise_backend.compile in file "arrayjit/lib/backends.ml", lines 439-440, characters 4-59
+  Re-raised at Backends.Raise_backend.compile in file "arrayjit/lib/backends.ml", lines 438-446, characters 26-99
+  Called from Ocannl__Train.run_once in file "lib/train.ml", line 553, characters 25-89
+  Re-raised at Ocannl__Train.run_once in file "lib/train.ml", lines 533-556, characters 25-17
+  Called from Ocannl__Train.forward_once in file "lib/train.ml", lines 568-571, characters 4-46
+  Called from Operations_tutorials__Test_threefry4x32.(fun) in file "test/operations/test_threefry4x32.ml", line 25, characters 9-68
+  Called from Ppx_expect_runtime__Test_block.Configured.dump_backtrace in file "runtime/test_block.ml", line 142, characters 10-28
+  |}]


let%expect_test "uint4x32_to_prec_uniform different precisions" =
let module Backend = (val Backends.fresh_backend ()) in
@@ -72,12 +113,55 @@ let%expect_test "uint4x32_to_prec_uniform different precisions" =
test_precision Ir.Ops.double "Double";
test_precision Ir.Ops.half "Half";


-  [%expect
-    {|
-    Single precision - first value: 0.237546, second value: 0.820663
-    All values in [0, 1) range: true
-    Double precision - first value: 0.237546, second value: 0.820663
-    All values in [0, 1) range: true
-    Half precision - first value: 0.237546, second value: 0.820663
-    All values in [0, 1) range: true
-    |}]
+  [%expect.unreachable]
+[@@expect.uncaught_exn {|
+  (* CR expect_test_collector: This test expectation appears to contain a backtrace.
+     This is strongly discouraged as backtraces are fragile.
+     Please change this test to not include a backtrace. *)
+  (lib/shape.ml.Shape_error
+    "projection_of_solved_dims: unknown projection: 12 6"
+    ((Shape_mismatch
+       ((batch ((dims ()) (bcast Broadcastable) (id ((sh_id 7) (kind Batch)))))
+         (input
+           ((dims ()) (bcast Broadcastable) (id ((sh_id 7) (kind Input)))))
+         (output
+           ((dims ()) (bcast Broadcastable) (id ((sh_id 7) (kind Output)))))
+         (batch_padding ()) (input_padding ()) (output_padding ()) (id 7)
+         (debug_name uint4x32_to_prec_uniform))
+       ((batch ((dims ()) (bcast Broadcastable) (id ((sh_id 6) (kind Batch)))))
+         (input
+           ((dims ()) (bcast Broadcastable) (id ((sh_id 6) (kind Input)))))
+         (output
+           ((dims ((Dim ((d 6) (label ()) (proj_id ((Proj_id 12)))))))
+             (bcast Broadcastable) (id ((sh_id 6) (kind Output)))))
+         (batch_padding ()) (input_padding ()) (output_padding ()) (id 6)
+         (debug_name threefry4x32)))))
+  Raised at Ocannl__Shape.derive_projections in file "lib/shape.ml", line 885, characters 4-70
+  Re-raised at Ocannl__Shape.derive_projections in file "lib/shape.ml", lines 818-885, characters 35-70
+  Called from CamlinternalLazy.do_force_block in file "camlinternalLazy.ml", line 49, characters 17-27
+  Re-raised at CamlinternalLazy.do_force_block in file "camlinternalLazy.ml", line 56, characters 4-11
+  Called from CamlinternalLazy.force_lazy_block in file "camlinternalLazy.ml" (inlined), line 78, characters 27-67
+  Called from Ocannl__Operation.uint4x32_to_prec_uniform.(fun) in file "lib/operation.ml", line 270, characters 38-70
+  Called from CamlinternalLazy.do_force_block in file "camlinternalLazy.ml", line 49, characters 17-27
+  Re-raised at CamlinternalLazy.do_force_block in file "camlinternalLazy.ml", line 56, characters 4-11
+  Called from CamlinternalLazy.force_lazy_block in file "camlinternalLazy.ml" (inlined), line 78, characters 27-67
+  Called from Ir__Assignments.to_low_level.loop in file "arrayjit/lib/assignments.ml", line 267, characters 26-48
+  Called from Ir__Assignments.to_low_level.loop in file "arrayjit/lib/assignments.ml", line 312, characters 17-24
+  Called from Ir__Assignments.to_low_level.loop in file "arrayjit/lib/assignments.ml", line 309, characters 66-72
+  Called from Ir__Assignments.to_low_level in file "arrayjit/lib/assignments.ml", line 344, characters 2-11
+  Re-raised at Ir__Assignments.to_low_level in file "arrayjit/lib/assignments.ml", lines 166-344, characters 29-11
+  Called from Ir__Assignments.lower in file "arrayjit/lib/assignments.ml", line 515, characters 26-43
+  Re-raised at Ir__Assignments.lower in file "arrayjit/lib/assignments.ml", line 515, characters 2-43
+  Re-raised at Ir__Assignments.lower in file "arrayjit/lib/assignments.ml", lines 513-520, characters 22-85
+  Called from Backends.lower_assignments in file "arrayjit/lib/backends.ml", lines 255-256, characters 4-45
+  Re-raised at Backends.lower_assignments in file "arrayjit/lib/backends.ml", lines 247-256, characters 34-47
+  Called from Backends.Raise_backend.compile in file "arrayjit/lib/backends.ml", line 440, characters 6-59
+  Re-raised at Backends.Raise_backend.compile in file "arrayjit/lib/backends.ml", lines 439-440, characters 4-59
+  Re-raised at Backends.Raise_backend.compile in file "arrayjit/lib/backends.ml", lines 438-446, characters 26-99
+  Called from Ocannl__Train.run_once in file "lib/train.ml", line 553, characters 25-89
+  Re-raised at Ocannl__Train.run_once in file "lib/train.ml", lines 533-556, characters 25-17
+  Called from Ocannl__Train.forward_once in file "lib/train.ml", lines 568-571, characters 4-46
+  Called from Operations_tutorials__Test_threefry4x32.(fun).test_precision in file "test/operations/test_threefry4x32.ml", line 63, characters 11-63
+  Called from Operations_tutorials__Test_threefry4x32.(fun) in file "test/operations/test_threefry4x32.ml", line 71, characters 2-39
+  Called from Ppx_expect_runtime__Test_block.Configured.dump_backtrace in file "runtime/test_block.ml", line 142, characters 10-28
+  |}]
File "test/operations/primitive_ops.ml", line 1, characters 0-0:
/usr/bin/git --no-pager diff --no-index --color=always -u _build/default/test/operations/primitive_ops.ml _build/.sandbox/d95bb5c198031e6ea143feef340ca8f0/default/test/operations/primitive_ops.ml.corrected
diff --git a/_build/default/test/operations/primitive_ops.ml b/_build/.sandbox/d95bb5c198031e6ea143feef340ca8f0/default/test/operations/primitive_ops.ml.corrected
index 2b73b5d..8e899ad 100644
--- a/_build/default/test/operations/primitive_ops.ml
+++ b/_build/.sandbox/d95bb5c198031e6ea143feef340ca8f0/default/test/operations/primitive_ops.ml.corrected
@@ -735,53 +735,58 @@ let%expect_test "uint4x32_to_prec_uniform(x)" =
let%op f x = uint4x32_to_prec_uniform x in
let plot_box = plot_unop ~f () in
PrintBox_text.output Stdio.stdout plot_box;
-  [%expect {|
-    ┌────────┬────────────────────────────────────────────────────────────────────────────────────────────────────┐
-    │ 7.52e-1│#                                                                                                   │
-    │        │ ### ### ### ### ######## ############### ########                                                  │
-    │        │                                                                                                    │
-    │        │                                                                                                    │
-    │        │                                                                                                    │
-    │        │                                                                                                    │
-    │        │                                                                                                    │
-    │        │                                                                                                    │
-    │        │                                                                                                    │
-    │        │                                                                                                    │
-    │        │                                                                                                    │
-    │        │                                                                                                    │
-    │        │                                                                                                    │
-    │        │                                                                                                    │
-    │        │                                                                                                    │
-    │        │                                                                                                    │
-    │        │                                                                                                    │
-    │        │                                                                                                    │
-    │f       │                                                                                                    │
-    │(       │                                                                                                    │
-    │x       │                                                                                                    │
-    │)       │                                                                                                    │
-    │        │                                                                                                    │
-    │        │                                                                                                    │
-    │        │                                                                                                    │
-    │        │                                                                                                    │
-    │        │                                                                              #### #### ####### ####│
-    │        │                                                 # ###########################                      │
-    │        │                                                                                                    │
-    │        │                                                                                                    │
-    │        │                                                                                                    │
-    │        │                                                                                                    │
-    │        │                                                                                                    │
-    │        │                                                                                                    │
-    │        │                                                                                                    │
-    │        │                                                                                                    │
-    │        │                                                                                                    │
-    │        │                                                                                                    │
-    │        │                                                                                                    │
-    │ 0.00   │**** *** *** *** ********-*************** ********-******************************* **** *******-****│
-    ├────────┼────────────────────────────────────────────────────────────────────────────────────────────────────┤
-    │        │-5.00                                                                                           5.00│
-    │        │                                                 x                                                  │
-    └────────┴────────────────────────────────────────────────────────────────────────────────────────────────────┘
-    |}]
+  [%expect.unreachable]
+[@@expect.uncaught_exn {|
+  (* CR expect_test_collector: This test expectation appears to contain a backtrace.
+     This is strongly discouraged as backtraces are fragile.
+     Please change this test to not include a backtrace. *)
+  (Invalid_argument
+     "Cc_backend.c_compile_and_load: compilation failed with errors:\
+    \n/tmp/build_74417b_dune/uint4x32_to_prec_uniform_gradient_update_b1ca79.c: In function 'uint4x32_to_prec_uniform_gradient_update':\
+    \n/tmp/build_74417b_dune/uint4x32_to_prec_uniform_gradient_update_b1ca79.c:109:3: error: unknown type name 'float16'; did you mean '_Float16'?\
+    \n  109 |   float16 vec_result = uint4x32_to_single_uniform(single_to_uint4x32(x[0]);\
+    \n      |   ^~~~~~~\
+    \n      |   _Float16\
+    \n/tmp/build_74417b_dune/uint4x32_to_prec_uniform_gradient_update_b1ca79.c:109:75: error: expected ')' before ';' token\
+    \n  109 |   float16 vec_result = uint4x32_to_single_uniform(single_to_uint4x32(x[0]);\
+    \n      |                                                  ~                        ^\
+    \n      |                                                                           )\
+    \n/tmp/build_74417b_dune/uint4x32_to_prec_uniform_gradient_update_b1ca79.c:139:1: error: expected ',' or ';' before '}' token\
+    \n  139 | }\
+    \n      | ^\
+    \n/tmp/build_74417b_dune/uint4x32_to_prec_uniform_gradient_update_b1ca79.c:139:1: error: expected declaration or statement at end of input\
+    \n")
+  Raised at Stdlib.invalid_arg in file "stdlib.ml", line 30, characters 20-45
+  Called from Backends__Cc_backend.c_compile_and_load in file "arrayjit/lib/cc_backend.ml", line 131, characters 4-22
+  Re-raised at Backends__Cc_backend.c_compile_and_load in file "arrayjit/lib/cc_backend.ml", lines 125-131, characters 18-23
+  Re-raised at Backends__Cc_backend.c_compile_and_load in file "arrayjit/lib/cc_backend.ml", lines 97-156, characters 35-8
+  Called from Backends__Cc_backend.compile in file "arrayjit/lib/cc_backend.ml", line 194, characters 23-67
+  Called from Backends.Add_device.compile in file "arrayjit/lib/backends.ml", line 325, characters 15-45
+  Called from Backends.Raise_backend.compile in file "arrayjit/lib/backends.ml", line 442, characters 29-59
+  Re-raised at Backends.Raise_backend.compile in file "arrayjit/lib/backends.ml", line 442, characters 4-59
+  Re-raised at Backends.Raise_backend.compile in file "arrayjit/lib/backends.ml", lines 438-446, characters 26-99
+  Called from Ocannl__Train.to_routine in file "lib/train.ml", line 353, characters 26-82
+  Called from Operations_tutorials__Primitive_ops.plot_unop in file "test/operations/primitive_ops.ml", line 28, characters 19-72
+  Called from Operations_tutorials__Primitive_ops.(fun) in file "test/operations/primitive_ops.ml", line 736, characters 17-32
+  Called from Ppx_expect_runtime__Test_block.Configured.dump_backtrace in file "runtime/test_block.ml", line 142, characters 10-28
+
+  Trailing output
+  ---------------
+  Cc_backend.c_compile_and_load: compilation failed with errors:
+  /tmp/build_74417b_dune/uint4x32_to_prec_uniform_gradient_update_b1ca79.c: In function 'uint4x32_to_prec_uniform_gradient_update':
+  /tmp/build_74417b_dune/uint4x32_to_prec_uniform_gradient_update_b1ca79.c:109:3: error: unknown type name 'float16'; did you mean '_Float16'?
+    109 |   float16 vec_result = uint4x32_to_single_uniform(single_to_uint4x32(x[0]);
+        |   ^~~~~~~
+        |   _Float16
+  /tmp/build_74417b_dune/uint4x32_to_prec_uniform_gradient_update_b1ca79.c:109:75: error: expected ')' before ';' token
+    109 |   float16 vec_result = uint4x32_to_single_uniform(single_to_uint4x32(x[0]);
+        |                                                  ~                        ^
+        |                                                                           )
+  /tmp/build_74417b_dune/uint4x32_to_prec_uniform_gradient_update_b1ca79.c:139:1: error: expected ',' or ';' before '}' token
+    139 | }
+        | ^
+  /tmp/build_74417b_dune/uint4x32_to_prec_uniform_gradient_update_b1ca79.c:139:1: error: expected declaration or statement at end of input
+  |}]


let%expect_test "where(x < 0, sin(x), cos(x))" =
let%op f x = where (x < !.0.) (sin x) (cos x) in
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 f88c473..7a96ace 100644
--- a/_build/default/test/training/moons_demo.expected
+++ b/_build/default/test/training/moons_demo.exe.output
@@ -1,188 +1,182 @@
-
-    Half-moons scatterplot and decision boundary:
-    ┌────────────────────────────────────────────────────────────────────────────────────────────────────┐
-    │****************************#***********************************************************************│
-    │****************************###***###***#***********************************************************│
-    │***************************#********#***#***********************************************************│
-    │********************#*********************##*#*#****************************************************│
-    │******************#***#*****##*#*#*#****#*#*#*##****************************************************│
-    │**************#*#**###**#*##**##********#**#****###**#**********************************************│
-    │***********#***##***#**##*****************#*#*##*###**********************************************..│
-    │***************#**###******************************##*#******************************************...│
-    │*************#*****#******************************#*#***#*#*************************************....│
-    │*********#***#******************......************##*###**#************************************.....│
-    │******#***#*#*#****************........******************#*#*********************************.......│
-    │*****###****#****************...........****************#***********************************........│
-    │*******#*###****************.............******************#*#*****************************.........│
-    │**********##***************.......%%......***************#**##****************************..........│
-    │*****#***#****************......%..%%......*********************************************..........%.│
-    │**####*******************......%..%..........****************##*#**********************........%...%│
-    │****#*******************.......%%..%..........***************#*#**********************.........%....│
-    │*#****##***************.........%....%.........************##***#********************.......%...%%..│
-    │****#*#***************.........%..%.%...........*************#**#*******************..........%.%...│
-    │##*##****************............%...............**************#*##****************.........%.%.%%%.│
-    │**#####************............%...%%.............*******************************...........%..%.%..│
-    │******************...............%.%.%%............*********#*#*#*#*************................%%..│
-    │***##************................%..%..%............************#*#************.............%...%...│
-    │##**#***********...................%...%.............********#**###***********...........%.%%.......│
-    │###************..................%.%.%................***********##**********..................%....│
-    │**##**********.........................................**********#*********.............%%.%..%.....│
-    │**#**********......................%%...................********##********..............%%.%........│
-    │************..........................%..................****#**#********...................%.......│
-    │***********.........................%%.%..................*****##******...............%..%..........│
-    │**********.............................%%..................***********.................%%.%%........│
-    │*********..............................%...%................*******.....................%%%.........│
-    │********...................................%..%....................................%.....%..........│
-    │*******.................................%%..%.%................................%.%.%.%%.............│
-    │******.....................................%%.%...%%.%.......................%%%....%.%.%...........│
-    │*****....................................%.....%.%..%....................%.....%%.%.%...............│
-    │****........................................%%...%.%%%%..%.......%.........%%.%%....................│
-    │***...............................................%..%.......%..%%%%...%.%..%.%.....................│
-    │**.................................................%.%.%............%..%...%........................│
-    │*.................................................%....%.%......%%...%.%............................│
-    │..........................................................%..%......%%%.............................│
-    └────────────────────────────────────────────────────────────────────────────────────────────────────┘
-    
-    Loss:
-    ┌────────┬────────────────────────────────────────────────────────────────────────────────────────────────────┐
-    │ 3.79e+1│-                                                                                                   │
-    │        │                                                                                                    │
-    │        │                                                                                                    │
-    │        │                                                                                                    │
-    │        │                                                                                                    │
-    │        │                                                                                                    │
-    │        │                                                                                                    │
-    │        │                                                                                                    │
-    │        │                                                                                                    │
-    │        │                                                                                                    │
-    │        │                                                                                                    │
-    │        │                                                                                                    │
-    │        │                                                                                                    │
-    │        │                                                                                                    │
-    │        │                                                                                                    │
-    │        │                                                                                                    │
-    │        │                                                                                                    │
-    │        │                                                                                                    │
-    │l       │                                                                                                    │
-    │o       │                                                                                                    │
-    │s       │                                                                                                    │
-    │s       │                                                                                                    │
-    │        │                                                                                                    │
-    │        │                                                                                                    │
-    │        │                                                                                                    │
-    │        │                                                                                                    │
-    │        │                                                                                                    │
-    │        │                                                                                                    │
-    │        │                                                                                                    │
-    │        │                                                                                                    │
-    │        │-                                                                                                   │
-    │        │                                                                                                    │
-    │        │                                                                                                    │
-    │        │                                                                                                    │
-    │        │                                                                                                    │
-    │        │                                                                                                    │
-    │        │                                                                                                    │
-    │        │                                                                                                    │
-    │        │-       -         -                                                                                 │
-    │ 0.00   │----------------------------------------------------------------------------------------------------│
-    ├────────┼────────────────────────────────────────────────────────────────────────────────────────────────────┤
-    │        │0.00                                                                                         3.99e+2│
-    │        │                                                step                                                │
-    └────────┴────────────────────────────────────────────────────────────────────────────────────────────────────┘
-    
-    Log-loss, for better visibility:
-    ┌─────────┬────────────────────────────────────────────────────────────────────────────────────────────────────┐
-    │ 3.63    │-                                                                                                   │
-    │         │                                                                                                    │
-    │         │                                                                                                    │
-    │         │                                                                                                    │
-    │         │-                                                                                                   │
-    │         │                                                                                                    │
-    │         │                                                                                                    │
-    │         │                                                                                                    │
-    │         │                                                                                                    │
-    │         │-                                                                                                   │
-    │         │        -         -                                                                                 │
-    │         │ -  -                        -                                                                      │
-    │         │------       -                                                                                      │
-    │         │ ---- -  - --- -   - - -    -                                                                       │
-    │         │   --  -  - - ---     --  -  --            -                                                        │
-    │         │  -  -- - -    ---  - - ---  -----       - --                                                       │
-    │l        │       --  -      - -      -     ---  -    -         -                                              │
-    │o        │       - -  -   --            -  --  - -  -     -                        -                          │
-    │g        │               -     -   -      -  --     - -    -  -     -                   -          -          │
-    │         │     - -     -   --      -                  -      -  --       - -         -                        │
-    │l        │            -             -            --    --            -  -         -  -                       -│
-    │o        │        -        -                           -       -  -       -   -           - -          -    - │
-    │s        │                               -     -        -      -                             --   -           │
-    │s        │                      -                                                   -                         │
-    │         │                       -   -                          -    -           -        -       -    -    - │
-    │         │                   -               - -  -                               -                           │
-    │         │                                                                             -   -                  │
-    │         │                                                  -    -              -                             │
-    │         │                                      -                                        -                    │
-    │         │                                                                                                    │
-    │         │                            -                                                                       │
-    │         │                                                                -                                   │
-    │         │                                                                                                    │
-    │         │                                                                                                    │
-    │         │                                                                                                    │
-    │         │                                                                                                    │
-    │         │          -                                                                                         │
-    │         │                                                                                                    │
-    │         │                                                                                                    │
-    │ -1.00e+1│     -   - -  -   ----- -- --------------- ---------------------------------------------------------│
-    ├─────────┼────────────────────────────────────────────────────────────────────────────────────────────────────┤
-    │         │0.00                                                                                         3.99e+2│
-    │         │                                                step                                                │
-    └─────────┴────────────────────────────────────────────────────────────────────────────────────────────────────┘
-    
-    Learning rate:
-    ┌─────────┬────────────────────────────────────────────────────────────────────────────────────────────────────┐
-    │ -1.00e-1│                                                                                                   -│
-    │         │                                                                                                 ---│
-    │         │                                                                                              ----  │
-    │         │                                                                                            ---     │
-    │         │                                                                                         ----       │
-    │         │                                                                                       ---          │
-    │         │                                                                                    ---             │
-    │         │                                                                                  ---               │
-    │         │                                                                               ---                  │
-    │         │                                                                            ----                    │
-    │         │                                                                          ---                       │
-    │         │                                                                       ----                         │
-    │         │                                                                     ---                            │
-    │l        │                                                                  ----                              │
-    │e        │                                                                ---                                 │
-    │a        │                                                             ---                                    │
-    │r        │                                                           ---                                      │
-    │n        │                                                        ---                                         │
-    │i        │                                                     ----                                           │
-    │n        │                                                   ---                                              │
-    │g        │                                                ----                                                │
-    │         │                                              ---                                                   │
-    │r        │                                           ----                                                     │
-    │a        │                                         ---                                                        │
-    │t        │                                      ---                                                           │
-    │e        │                                    ---                                                             │
-    │         │                                 ---                                                                │
-    │         │                              ----                                                                  │
-    │         │                            ---                                                                     │
-    │         │                         ----                                                                       │
-    │         │                       ---                                                                          │
-    │         │                    ----                                                                            │
-    │         │                  ---                                                                               │
-    │         │               ---                                                                                  │
-    │         │             ---                                                                                    │
-    │         │          ---                                                                                       │
-    │         │       ----                                                                                         │
-    │         │     ---                                                                                            │
-    │         │  ----                                                                                              │
-    │ -2.00e-1│---                                                                                                 │
-    ├─────────┼────────────────────────────────────────────────────────────────────────────────────────────────────┤
-    │         │0.00                                                                                         3.99e+2│
-    │         │                                                step                                                │
-    └─────────┴────────────────────────────────────────────────────────────────────────────────────────────────────┘
-    mlp_result's name: mlp_point
-    (mlp moons_input) name: mlp_moons_input
-    
\ No newline at end of file
+Retrieving commandline, environment, or config file variable ocannl_log_level
+Found 0, in the config file
+Half-moons scatterplot and decision boundary:
+┌────────────────────────────────────────────────────────────────────────────────────────────────────┐
+│...................................#................................................................│
+│..........................##..#..###....##..........................................................│
+│.........................#....#.....#...............................................................│
+│.......................#.##.#.......#####...#.#.....................................................│
+│..................#.#.#...#..#.##....#.#.##..#....#.................................................│
+│.............#.#......##.#..#..........###..#....#..................................................│
+│.............##..##.....#....................#.##.###...#...........................................│
+│.............#.##.#.#.#.......................#...##..#.............................................│
+│.........#.#....##..................................##..#...........................................│
+│...........#.#....................................#..##...#.#.......................................│
+│..........##..........................................#...#.#.......................................│
+│.......#...###............................................#.........................................│
+│....#....##..........................%..................#....##.....................................│
+│.........##................................................#..#..............................%......│
+│.....#..#........................%..%......................##.#...................................%.│
+│...##.#..................................................#....................................%...%.│
+│..###...........................%..%%......................###................................%.%...│
+│..#...#.#.......................%%.%%.......................#.##.#............................%.....│
+│..#...#.............................%.........................##..............................%...%.│
+│..##..#............................%%.........................#..##.........................%%..%.%%│
+│#...#..#.........................%.%%%.......................##...#............................%.%..│
+│##...#.............................%%.........................#.#..#................................│
+│...................................%%%%.......................##.#.#........................%%..%.%.│
+│###................................%%..............................#.......................%....%...│
+│..##................................%%%.%....................................................%%..%..│
+│.#.....................................%.......................#.###......................%.%%.%....│
+│.....#................................%...%................................................%...%....│
+│...................................%.....%%......................#..................................│
+│.....................................%%%..%...........................................%..%%..%......│
+│.......................................%%.....%......................................%..%.%.%.......│
+│.........................................%%............................................%..%%.%......│
+│..........................................%.%.....%...............................%.%.%%..%.........│
+│.........................................%%%..%%......................................%.............│
+│...........................................%.%..%..............................%%.%.%.%%.%..........│
+│..............................................%%%%..%.%.......................%%..%.%.%.............│
+│..............................................%..%%%.%%...................%..%%...%.................│
+│...............................................%...%.%.%..%...%.%%..%%.%%...%.......................│
+│......................................................%%.%%%..%.%..%%.%.%.%%........................│
+│.....................................................%...........%%%%......%%.......................│
+│.......................................................%.%%%%.%.......%...%.........................│
+└────────────────────────────────────────────────────────────────────────────────────────────────────┘Loss:
+┌─────┬────────────────────────────────────────────────────────────────────────────────────────────────────┐
+│ 2.19│     -                                                                                              │
+│     │                                                                                                    │
+│     │          -    -                        -    -              -    -                        -         │
+│     │                    -    -                        -    -              -         -    -         -    │
+│     │     -                        -    -                        -              -              -         │
+│     │          -    -                        -    -                   -              -    -         -    │
+│     │                    -    -                        -    -              -    -              -         │
+│     │     -                        -    -                        -    -              -    -         -    │
+│     │          -    -                        -    -         -              -    -              -    -    │
+│     │                    -    -                        -         -    -              -    -              │
+│     │                              -    -         -                        -    -               -    -   │
+│     │     -         -                        -         -    -                         -    -             │
+│     │          -         -    -         -                         -    -         -              -    -   │
+│     │                              -          -    -                        -         -    -             │
+│     │      -                                            -    -    -    -                        -    -   │
+│     │           -    -         -         -                                  -    -    -    -             │
+│     │                     -         -         -    -         -                                  -    -   │
+│     │                                                   -         -    -    -    -         -             │
+│l    │      -         -         -         -                                            -          -    -  │
+│o    │           -         -         -         -    -    -    -    -    -    -    -          -            │
+│s    │                                                                                  -         -    -  │
+│s    │      -         -         -         -         -         -          -         -         -         -  │
+│     │-          -         -         -         -         -          -         -         -         -       │
+│     │                                                                             -         -         -  │
+│     │                -         -         -          -    -    -    -    -    -         -         -       │
+│     │-     -    -         -         -          -                                            -     -    - │
+│     │                                                         -         -    -    -    -                 │
+│     │                           -         -    -    -    -         -                         -    -    - │
+│     │       -         -    -         -                                  -         -     -                │
+│     │-           -                                  -         -    -         -               -    -    - │
+│     │                           -         -    -         -                         -    -              - │
+│     │                 -    -         -                        -          -    -              -    -      │
+│     │-      -    -                                  -    -          -              -    -               -│
+│     │                                     -    -                         -    -              -     -     │
+│     │                 -         -    -                         -    -              -    -               -│
+│     │       -    -         -                         -    -              -    -               -    -     │
+│     │ -                                   -     -              -    -              -     -              -│
+│     │                 -         -    -                                                        -    -     │
+│     │       -              -                         -    -              -    -          -              -│
+│ 0.00│ ----   --  ---   --   --   --   --   --   --   --   --   --   --    -    -    -    -    -    -     │
+├─────┼────────────────────────────────────────────────────────────────────────────────────────────────────┤
+│     │0.00                                                                                         3.99e+2│
+│     │                                                step                                                │
+└─────┴────────────────────────────────────────────────────────────────────────────────────────────────────┘Log-loss, for better visibility:
+┌─────────┬────────────────────────────────────────────────────────────────────────────────────────────────────┐
+│ 7.86e-1 │     -                                                                                              │
+│         │     -    -    -    -    -    -    -    -    -    -    -    -    -    -    -    -    -    -    -    │
+│         │     --   --   --   --   --   --   --   --   --   --   --    -    -   --   --    -    -    -    -   │
+│         │-     -    -    -    -    -    -    -    -    -    -    -    --   --   --   --   --   --    -    -  │
+│         │-     -    -    -    -    -    -    -     -    -    -    -    -    -    -    -    -    -    --   -- │
+│         │-      -    -    -    -    -    -    -    -    -    -    -    -    -    -    -     -    -    -    - │
+│         │       -    -    -    -    -    -    -    -         -    -     -    -    -    -    -    -    -    - │
+│         │-                          -    -    -    -    -    -               -    -    -    -    -     -    -│
+│         │       -         -    -                         -    -    -    -              -    -          -    -│
+│         │ -          -                        -     -                        -    -               -         -│
+│         │                           -    -                         -    -              -     -         -     │
+│         │                 -                              -    -                   -               -         -│
+│         │                      -                                             -                               │
+│         │       -                                                                            -               │
+│         │            -                         -    -                                   -                    │
+│         │                                                               -                              -     │
+│l        │                                                          -                                         │
+│o        │                                                                                                    │
+│g        │                                                                                         -          │
+│         │                                                                                                    │
+│l        │                                                                                                    │
+│o        │                                                                                                    │
+│s        │                                                                                                    │
+│s        │                                                                                                    │
+│         │                                                                                                    │
+│         │ -                                                                                                  │
+│         │                                                                                                    │
+│         │                                                                                                    │
+│         │                                                                                                    │
+│         │                                                                                                    │
+│         │                                                                                                    │
+│         │                                                                                                    │
+│         │                                                                                                    │
+│         │                                                                                                    │
+│         │                                                                                                    │
+│         │                                                                                                    │
+│         │                                                                                                    │
+│         │                                                                                                    │
+│         │                                                                                                    │
+│ -1.00e+1│ ----   --   --   --   --   --   --   --   --   --   --   --    -    -    -    -    -    -          │
+├─────────┼────────────────────────────────────────────────────────────────────────────────────────────────────┤
+│         │0.00                                                                                         3.99e+2│
+│         │                                                step                                                │
+└─────────┴────────────────────────────────────────────────────────────────────────────────────────────────────┘
+Learning rate:
+┌─────────┬────────────────────────────────────────────────────────────────────────────────────────────────────┐
+│ -1.00e-1│                                                                                                   -│
+│         │                                                                                                 ---│
+│         │                                                                                              ----  │
+│         │                                                                                            ---     │
+│         │                                                                                         ----       │
+│         │                                                                                       ---          │
+│         │                                                                                    ---             │
+│         │                                                                                  ---               │
+│         │                                                                               ---                  │
+│         │                                                                            ----                    │
+│         │                                                                          ---                       │
+│         │                                                                       ----                         │
+│         │                                                                     ---                            │
+│l        │                                                                  ----                              │
+│e        │                                                                ---                                 │
+│a        │                                                             ---                                    │
+│r        │                                                           ---                                      │
+│n        │                                                        ---                                         │
+│i        │                                                     ----                                           │
+│n        │                                                   ---                                              │
+│g        │                                                ----                                                │
+│         │                                              ---                                                   │
+│r        │                                           ----                                                     │
+│a        │                                         ---                                                        │
+│t        │                                      ---                                                           │
+│e        │                                    ---                                                             │
+│         │                                 ---                                                                │
+│         │                              ----                                                                  │
+│         │                            ---                                                                     │
+│         │                         ----                                                                       │
+│         │                       ---                                                                          │
+│         │                    ----                                                                            │
+│         │                  ---                                                                               │
+│         │               ---                                                                                  │
+│         │             ---                                                                                    │
+│         │          ---                                                                                       │
+│         │       ----                                                                                         │
+│         │     ---                                                                                            │
+│         │  ----                                                                                              │
+│ -2.00e-1│---                                                                                                 │
+├─────────┼────────────────────────────────────────────────────────────────────────────────────────────────────┤
+│         │0.00                                                                                         3.99e+2│
+│         │                                                step                                                │
+└─────────┴────────────────────────────────────────────────────────────────────────────────────────────────────┘mlp_result's name: mlp_point
+(mlp moons_input) name: mlp_moons_input
File "test/training/moons_demo_parallel.expected", line 1, characters 0-0:
/usr/bin/git --no-pager diff --no-index --color=always -u _build/default/test/training/moons_demo_parallel.expected _build/default/test/training/moons_demo_parallel.exe.output
diff --git a/_build/default/test/training/moons_demo_parallel.expected b/_build/default/test/training/moons_demo_parallel.exe.output
index 3582111..8bbcca3 100644
--- a/_build/default/test/training/moons_demo_parallel.expected
+++ b/_build/default/test/training/moons_demo_parallel.exe.output
@@ -1 +1,138 @@
-Success
+Retrieving commandline, environment, or config file variable ocannl_log_level
+Found 0, in the config file
+
+Half-moons scatterplot and decision boundary:
+┌────────────────────────────────────────────────────────────────────────────────────────────────────┐
+│...................................#................................................................│
+│.......................#.#################.#........................................................│
+│......................##########################....................................................│
+│.................#################################..................................................│
+│..............######################################................................................│
+│.............#########################################..............................................│
+│...........################.............#################...........................................│
+│..........##############...................###############..........................................│
+│........##############..........................###########.........................................│
+│.......#############............................##.##########.......................................│
+│......###########..................................############.....................................│
+│.....###########....................................###########.....................................│
+│....##########.....................%.................###########....................................│
+│...#########.#...................%%%%.................#########..............................%%%.%%.│
+│...##########..................%%%.%%...................########.#...........................%%.%%%.│
+│..#######......................%%%%%%%..................##########...........................%%%%%%%│
+│.#########....................%%%%%%%%....................########...........................%%%%%%.│
+│.########......................%%%%%%%.....................########..........................%%%%%%.│
+│#########.....................%%.%%%%%......................########........................%%%%%%%.│
+│.#######.......................%%%%%%%%....................#########........................%%%%%%%.│
+│########.......................%%%%%%%%.....................########.......................%%%%%%%%.│
+│#######.........................%%%%%%%......................#######.......................%%%%%%%%.│
+│#######.........................%%%%%%%%......................#######.....................%%%%%%%%..│
+│#######.........................%%%%%%%%.....................#######.....................%%%%%%%%%..│
+│######............................%%%%%%%%...................#######....................%%%%%%%%%...│
+│######...........................%%%%%%%%....................########..................%%%%%%%%%%...│
+│######............................%%%%%%%%%..................#######..................%.%%%%%%%%....│
+│###.#.............................%.%%%%%%%%%.................#.#.##..................%%.%%%%%%%....│
+│....................................%%%%%%%%%.......................................%%%%%%%%%%%.....│
+│......................................%%%%%%%.%.....................................%%%%%%%%%%%.....│
+│.....................................%%%%%%%%%%%.................................%%%%%%%%%%%%.......│
+│......................................%%.%%%%%%%%...............................%%%%%%%%%%%.........│
+│........................................%%%%%%%%%%%%........................%..%%%%%%%%%%%%.........│
+│........................................%%%%%%%%%%%%%%.%....................%%%%%%%%%%%%%...........│
+│..........................................%%%%%%%%%%%%%%%%%..............%%%%%%%%%%%%%%%............│
+│............................................%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%...............│
+│................................................%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%.%..%..............│
+│................................................%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%.%..................│
+│..................................................%%%%%%%%%%%%%%%%%%%%%%%%%%%%.%....................│
+│.....................................................%%.%..%%%%%%%%%%%%%%%..........................│
+└────────────────────────────────────────────────────────────────────────────────────────────────────┘
+Batch Log-loss:
+┌─────────┬────────────────────────────────────────────────────────────────────────────────────────────────────┐
+│ 3.82e+1 │  -                                                                                                 │
+│         │- --------------------------------------------------------------------------------------------------│
+│         │-   - -- - -- -  - -  - -  - -  - -  - -  - -  - -  - -  - -  - -  - -  - -  - -  - -  - -  - -  - -│
+│         │ -     -                                                                                            │
+│         │                                                                                                    │
+│         │                                                                                                    │
+│         │                                                                                                    │
+│         │                                                                                                    │
+│         │                                                                                                    │
+│         │                                                                                                    │
+│         │                                                                                                    │
+│         │                                                                                                    │
+│         │                                                                                                    │
+│b        │                                                                                                    │
+│a        │                                                                                                    │
+│t        │                                                                                                    │
+│c        │                                                                                                    │
+│h        │                                                                                                    │
+│         │                                                                                                    │
+│l        │                                                                                                    │
+│o        │                                                                                                    │
+│g        │                                                                                                    │
+│         │                                                                                                    │
+│l        │                                                                                                    │
+│o        │                                                                                                    │
+│s        │                                                                                                    │
+│s        │                                                                                                    │
+│         │                                                                                                    │
+│         │                                                                                                    │
+│         │                                                                                                    │
+│         │                                                                                                    │
+│         │                                                                                                    │
+│         │                                                                                                    │
+│         │                                                                                                    │
+│         │                                                                                                    │
+│         │                                                                                                    │
+│         │                                                                                                    │
+│         │                                                                                                    │
+│         │                                                                                                    │
+│ -1.04e+1│ --                                                                                                 │
+├─────────┼────────────────────────────────────────────────────────────────────────────────────────────────────┤
+│         │0.00                                                                                         3.99e+2│
+│         │                                                step                                                │
+└─────────┴────────────────────────────────────────────────────────────────────────────────────────────────────┘
+Epoch Log-loss:
+┌────────┬────────────────────────────────────────────────────────────────────────────────────────────────────┐
+│ 4.05e+1│     -                                                                                              │
+│        │          -    -    -    -                                                                          │
+│        │                              -    -    -    -    -                                                 │
+│        │                                                       -    -    -    -    -                        │
+│        │                                                                                -    -    -    -    │
+│        │                                                                                                    │
+│        │                                                                                                    │
+│        │                                                                                                    │
+│        │                                                                                                    │
+│        │                                                                                                    │
+│        │                                                                                                    │
+│        │                                                                                                    │
+│        │                                                                                                    │
+│e       │                                                                                                    │
+│p       │                                                                                                    │
+│o       │                                                                                                    │
+│c       │                                                                                                    │
+│h       │                                                                                                    │
+│        │                                                                                                    │
+│l       │                                                                                                    │
+│o       │                                                                                                    │
+│g       │                                                                                                    │
+│        │                                                                                                    │
+│l       │                                                                                                    │
+│o       │                                                                                                    │
+│s       │                                                                                                    │
+│s       │                                                                                                    │
+│        │                                                                                                    │
+│        │                                                                                                    │
+│        │                                                                                                    │
+│        │                                                                                                    │
+│        │                                                                                                    │
+│        │                                                                                                    │
+│        │                                                                                                    │
+│        │                                                                                                    │
+│        │                                                                                                    │
+│        │                                                                                                    │
+│        │                                                                                                    │
+│        │                                                                                                    │
+│ 4.01e+1│-                                                                                                   │
+├────────┼────────────────────────────────────────────────────────────────────────────────────────────────────┤
+│        │0.00                                                                                         1.90e+1│
+│        │                                                step                                                │
+└────────┴────────────────────────────────────────────────────────────────────────────────────────────────────┘
\ No newline at end of file
"/usr/bin/env" "bash" "-c" "opam exec -- dune build @install @check @runtest && rm -rf _build" failed with exit status 1
2025-07-26 07:55.39: Job failed: Failed: Build failed