Organisationsahrefsocannle02848 ()windows-server-2022-amd64-5.3_opam-2.3

windows-server-2022-amd64-5.3_opam-2.3

Logs

Show full logs
2025-07-15 20:31.44: New job: test ahrefs/ocannl https://github.com/ahrefs/ocannl.git#refs/heads/master (e02848820eca78fbfa761b17fe24fcf53fb8e966) (windows-amd64:windows-server-2022-amd64-5.3_opam-2.3)
Base: windows-server-2022-amd64-ocaml-5.3
Opam project build

To reproduce locally:

git clone --recursive "https://github.com/ahrefs/ocannl.git" -b "master" && cd "ocannl" && git reset --hard e0284882
cat > Dockerfile <<'END-OF-DOCKERFILE'
FROM windows-server-2022-amd64-ocaml-5.3
# windows-server-2022-amd64-5.3_opam-2.3
USER 1000:1000
ENV CLICOLOR_FORCE="1"
ENV OPAMCOLOR="always"
RUN ln -f /usr/bin/opam-2.3 /usr/bin/opam
RUN opam init --reinit -ni
RUN uname -rs && opam exec -- ocaml -version && opam --version
RUN cd ~/opam-repository && (git cat-file -e 64169c3d1d6774ef4ce0fcc471269bb09cd215f5 || git fetch origin master) && git reset -q --hard 64169c3d1d6774ef4ce0fcc471269bb09cd215f5 && git log --no-decorate -n1 --oneline && opam update -u
COPY --chown=1000:1000 neural_nets_lib.opam arrayjit.opam /Users/opam/src/./
RUN opam pin add -yn neural_nets_lib.dev '/Users/opam/src/./' && \
    opam pin add -yn arrayjit.dev '/Users/opam/src/./'
RUN echo '(lang dune 3.0)' > '/cygdrive/c/Users/opam/src/./dune-project'
ENV DEPS="angstrom.0.16.1 arch-x86_64.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-mingw-w64-curl-x86_64.1 conf-mingw-w64-gcc-x86_64.1 conf-mingw-w64-libffi-x86_64.1 conf-mingw-w64-zlib-x86_64.1 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 flexdll.0.44 fmt.0.10.0 host-arch-x86_64.1 host-system-mingw.1 integers.0.7.0 jane-street-headers.v0.17.0 jst-config.v0.17.0 logs.0.9.0 mdx.2.5.0 mingw-w64-shims.0.2.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-env-mingw64.1 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.0 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 system-mingw.1 thread-local-storage.0.2 time_now.v0.17.0 topkg.1.0.8 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 . /Users/opam/src
RUN cd /cygdrive/c/Users/opam/src && opam exec -- dune build @install @check @runtest && rm -rf _build

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

2025-07-15 20:31.44: Using cache hint "ahrefs/ocannl-windows-server-2022-amd64-ocaml-5.3-windows-server-2022-amd64-5.3_opam-2.3-950247227a354322f2fe64c9bc5c5fea"
2025-07-15 20:31.44: Using OBuilder spec:
((from windows-server-2022-amd64-ocaml-5.3)
 (comment windows-server-2022-amd64-5.3_opam-2.3)
 (user (uid 1000) (gid 1000))
 (env CLICOLOR_FORCE 1)
 (env OPAMCOLOR always)
 (run (shell "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"))
 (run (cache (opam-archives (target "c:\\Users\\opam\\AppData\\local\\opam\\download-cache")))
      (network host)
      (shell "cd ~/opam-repository && (git cat-file -e 64169c3d1d6774ef4ce0fcc471269bb09cd215f5 || git fetch origin master) && git reset -q --hard 64169c3d1d6774ef4ce0fcc471269bb09cd215f5 && git log --no-decorate -n1 --oneline && opam update -u"))
 (copy (src neural_nets_lib.opam arrayjit.opam) (dst /Users/opam/src/./))
 (run (network host)
      (shell  "opam pin add -yn neural_nets_lib.dev '/Users/opam/src/./' && \
             \nopam pin add -yn arrayjit.dev '/Users/opam/src/./'"))
 (run (network host)
      (shell "echo '(lang dune 3.0)' > '/cygdrive/c/Users/opam/src/./dune-project'"))
 (env DEPS "angstrom.0.16.1 arch-x86_64.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-mingw-w64-curl-x86_64.1 conf-mingw-w64-gcc-x86_64.1 conf-mingw-w64-libffi-x86_64.1 conf-mingw-w64-zlib-x86_64.1 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 flexdll.0.44 fmt.0.10.0 host-arch-x86_64.1 host-system-mingw.1 integers.0.7.0 jane-street-headers.v0.17.0 jst-config.v0.17.0 logs.0.9.0 mdx.2.5.0 mingw-w64-shims.0.2.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-env-mingw64.1 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.0 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 system-mingw.1 thread-local-storage.0.2 time_now.v0.17.0 topkg.1.0.8 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 "c:\\Users\\opam\\AppData\\local\\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 "c:\\Users\\opam\\AppData\\local\\opam\\download-cache")))
      (network host)
      (shell "opam install $DEPS"))
 (copy (src .) (dst /Users/opam/src))
 (run (shell "cd /cygdrive/c/Users/opam/src && opam exec -- dune build @install @check @runtest && rm -rf _build"))
)

2025-07-15 20:31.44: Waiting for resource in pool OCluster
2025-07-15 20:31.44: Waiting for worker…
2025-07-15 20:32.12: Got resource from pool OCluster
Building on thyme
Updating files:  74% (101/136)
Updating files:  75% (102/136)
Updating files:  76% (104/136)
Updating files:  77% (105/136)
Updating files:  78% (107/136)
Updating files:  79% (108/136)
Updating files:  80% (109/136)
Updating files:  81% (111/136)
Updating files:  82% (112/136)
Updating files:  83% (113/136)
Updating files:  84% (115/136)
Updating files:  85% (116/136)
Updating files:  86% (117/136)
Updating files:  87% (119/136)
Updating files:  88% (120/136)
Updating files:  89% (122/136)
Updating files:  90% (123/136)
Updating files:  91% (124/136)
Updating files:  92% (126/136)
Updating files:  93% (127/136)
Updating files:  94% (128/136)
Updating files:  95% (130/136)
Updating files:  96% (131/136)
Updating files:  97% (132/136)
Updating files:  98% (134/136)
Updating files:  99% (135/136)
Updating files: 100% (136/136)
Updating files: 100% (136/136), done.
HEAD is now at 7510e766 Fix: host_read_by_devices -> devices_not_lagging_host with the corresponding change of semantics This fixes overriding of changes by transferring a stale version from host.
HEAD is now at e0284882 Sort Tnode headers before logging them

(from windows-server-2022-amd64-ocaml-5.3)
2025-07-15 20:32.16 ---> using "1d6ffeb5a52124df73b2e951323e99615c52ca4f9bdf0f65039be6146fabdaab" from cache

/: (comment windows-server-2022-amd64-5.3_opam-2.3)

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

/: (env CLICOLOR_FORCE 1)

/: (env OPAMCOLOR always)

/: (run (shell "ln -f /usr/bin/opam-2.3 /usr/bin/opam"))
2025-07-15 20:32.16 ---> using "95d5d85ee56c2575e196f53fe7f940cc0731fb5c4485beb38b72a714de9d05bf" from cache

/: (run (shell "opam init --reinit -ni"))
No configuration file found, using built-in defaults.

<><> Unix support infrastructure ><><><><><><><><><><><><><><><><><><><><><><><>

opam and the OCaml ecosystem in general require various Unix tools in order to operate correctly. At present, this requires the installation of Cygwin to provide these tools.

How should opam obtain Unix tools?
> 1. Use tools found in PATH (Cygwin installation at C:\cygwin64)
  2. Automatically create an internal Cygwin installation that will be managed by opam (recommended)
  3. Use Cygwin installation found in C:\cygwin64
  4. Use another existing Cygwin/MSYS2 installation
  5. Abort initialisation

[1/2/3/4/5] 1
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.


<><> Updating repositories ><><><><><><><><><><><><><><><><><><><><><><><><><><>
[default] no changes from file://C:/Users/opam/opam-repository
2025-07-15 20:32.16 ---> using "53bae75d46d214e65b51daece9ef873c6c6a891e203ec3d98bbd26c30834d1e2" from cache

/: (run (shell "uname -rs && opam exec -- ocaml -version && opam --version"))
CYGWIN_NT-10.0-20348 3.5.5-1.x86_64
The OCaml toplevel, version 5.3.0
2.3.0
2025-07-15 20:32.16 ---> using "2b54922bf0d8d5ddbb1aea4afec4a959968c963bd87de7fe3038a742f957825c" from cache

/: (run (cache (opam-archives (target "c:\\Users\\opam\\AppData\\local\\opam\\download-cache")))
        (network host)
        (shell "cd ~/opam-repository && (git cat-file -e 64169c3d1d6774ef4ce0fcc471269bb09cd215f5 || git fetch origin master) && git reset -q --hard 64169c3d1d6774ef4ce0fcc471269bb09cd215f5 && git log --no-decorate -n1 --oneline && opam update -u"))
From https://github.com/ocaml/opam-repository
 * branch                  master     -> FETCH_HEAD
   f93eb7cb02..0094db1438  master     -> origin/master
64169c3d1d Merge pull request #28149 from dbuenzli/b0-publish-logs.0.9.0

<><> Updating package repositories ><><><><><><><><><><><><><><><><><><><><><><>
[default] synchronised from file://C:/Users/opam/opam-repository

The following actions will be performed:
=== recompile 7 packages
  - recompile base-domains        base           [uses ocaml]
  - recompile base-effects        base           [uses ocaml]
  - recompile base-nnp            base           [uses base-domains]
  - recompile ocaml               5.3.0          [uses ocaml-base-compiler]
  - recompile ocaml-base-compiler 5.3.0 (pinned) [uses ocaml-compiler]
  - recompile ocaml-compiler      5.3.0          [uses flexdll]
  - recompile ocaml-config        3              [uses ocaml-base-compiler]
=== upgrade 1 package
  - upgrade   flexdll             0.43 to 0.44

<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
-> retrieved ocaml-config.3  (cached)
-> retrieved flexdll.0.44  (cached)
-> removed   base-effects.base
-> removed   base-nnp.base
-> removed   base-domains.base
-> removed   ocaml.5.3.0
-> removed   ocaml-config.3
-> removed   ocaml-base-compiler.5.3.0
-> retrieved ocaml-compiler.5.3.0  (cached)
-> removed   ocaml-compiler.5.3.0
-> removed   flexdll.0.43
-> installed flexdll.0.44
-> installed ocaml-compiler.5.3.0
-> installed ocaml-base-compiler.5.3.0
-> installed ocaml-config.3
-> installed ocaml.5.3.0
-> installed base-domains.base
-> installed base-effects.base
-> installed base-nnp.base
Done.
# To update the current shell environment, run: eval $(opam env)
2025-07-15 20:32.16 ---> using "f22f645267bc3a50629a9176279a2533136fa8917121aa3888a7ebf13dca502c" from cache

/: (copy (src neural_nets_lib.opam arrayjit.opam) (dst /Users/opam/src/./))
2025-07-15 20:32.16 ---> using "72aa72a0bb831a08d05ceef5c078a63a9d03d533c08e500ef95227f27979ccdc" from cache

/: (run (network host)
        (shell  "opam pin add -yn neural_nets_lib.dev '/Users/opam/src/./' && \
               \nopam pin add -yn arrayjit.dev '/Users/opam/src/./'"))
[neural_nets_lib.dev] synchronised (file://C:/Users/opam/src/.)
neural_nets_lib is now pinned to file://C:/Users/opam/src/. (version dev)
[arrayjit.dev] synchronised (file://C:/Users/opam/src/.)
arrayjit is now pinned to file://C:/Users/opam/src/. (version dev)
2025-07-15 20:32.16 ---> using "60a7711a872333184cfdf62a755bc6be6db0f7a3aa38692510024532a668e23c" from cache

/: (run (network host)
        (shell "echo '(lang dune 3.0)' > '/cygdrive/c/Users/opam/src/./dune-project'"))
2025-07-15 20:32.16 ---> using "e0cf21b7456889e3ac293a1112c3c9ebcc26482f69783e8aae80e1d200b384c1" from cache

/: (env DEPS "angstrom.0.16.1 arch-x86_64.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-mingw-w64-curl-x86_64.1 conf-mingw-w64-gcc-x86_64.1 conf-mingw-w64-libffi-x86_64.1 conf-mingw-w64-zlib-x86_64.1 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 flexdll.0.44 fmt.0.10.0 host-arch-x86_64.1 host-system-mingw.1 integers.0.7.0 jane-street-headers.v0.17.0 jst-config.v0.17.0 logs.0.9.0 mdx.2.5.0 mingw-w64-shims.0.2.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-env-mingw64.1 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.0 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 system-mingw.1 thread-local-storage.0.2 time_now.v0.17.0 topkg.1.0.8 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 "c:\\Users\\opam\\AppData\\local\\opam\\download-cache")))
        (network host)
        (shell "opam update --depexts && opam install --cli=2.3 --depext-only -y neural_nets_lib.dev arrayjit.dev $DEPS"))

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

[NOTE] Package system-mingw is already installed (current version is 1).
[NOTE] Package ocaml-options-vanilla is already installed (current version is 1).
[NOTE] Package ocaml-env-mingw64 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 mingw-w64-shims is already installed (current version is 0.2.0).
[NOTE] Package host-system-mingw is already installed (current version is 1).
[NOTE] Package host-arch-x86_64 is already installed (current version is 1).
[NOTE] Package flexdll is already installed (current version is 0.44).
[NOTE] Package conf-mingw-w64-gcc-x86_64 is already installed (current version is 1).
[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).
[NOTE] Package arch-x86_64 is already installed (current version is 1).

The following system packages will first need to be installed:
    mingw64-x86_64-curl mingw64-x86_64-libffi mingw64-x86_64-zlib

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

+ C:\Users\opam\AppData\Local\opam\.cygwin\setup-x86_64.exe "--root" "C:\\cygwin64" "--quiet-mode" "unattended" "--no-shortcuts" "--no-startmenu" "--no-desktop" "--no-admin" "--no-version-check" "--no-write-registry" "--packages" "mingw64-x86_64-curl,mingw64-x86_64-libffi,mingw64-x86_64-zlib"
- Starting cygwin install, version 2.934
- User has backup/restore rights
- User has symlink creation right
- Current Directory: C:\Windows\system32
- root: C:\cygwin64 system
- Changing gid to Administrators
- Selected local directory: C:\Windows\system32
- net: Preconfig
- site: https://cygwin.mirror.constant.com/
- solving: 4 tasks, update: no, use test packages: no
- solving: 12 tasks, update: no, use test packages: no
- Augmented Transaction List:
-    0 install libreadline8             8.3-1    
-    1 install mingw64-x86_64-gcc-g++   12.5.0-1 
-    2 install mingw64-x86_64-libffi    3.2.1-2  
-    3 install mingw64-x86_64-nghttp2   1.61.0-1 
-    4 install mingw64-x86_64-win-iconv 0.0.8-1  
-    5 install mingw64-x86_64-zlib      1.3.1-1  
-    6 install mingw64-x86_64-zstd      1.5.7-1  
-    7 install mingw64-x86_64-gettext   0.22.5-1 
-    8 install mingw64-x86_64-openssl   3.0.17-1 
-    9 install mingw64-x86_64-libssh2   1.11.0-1 
-   10 install mingw64-x86_64-libidn2   2.3.8-1  
-   11 install mingw64-x86_64-curl      8.14.1-1 
- Downloaded C:\Windows\system32/https%3a%2f%2fcygwin.mirror.constant.com%2f/x86_64/release/readline/libreadline8/libreadline8-8.3-1-x86_64.tar.xz
- Downloaded C:\Windows\system32/https%3a%2f%2fcygwin.mirror.constant.com%2f/x86_64/release/mingw64-x86_64-gcc/mingw64-x86_64-gcc-g++/mingw64-x86_64-gcc-g++-12.5.0-1-x86_64.tar.zst
- Downloaded C:\Windows\system32/https%3a%2f%2fcygwin.mirror.constant.com%2f/noarch/release/mingw64-x86_64-libffi/mingw64-x86_64-libffi-3.2.1-2.tar.xz
- Downloaded C:\Windows\system32/https%3a%2f%2fcygwin.mirror.constant.com%2f/noarch/release/mingw64-x86_64-nghttp2/mingw64-x86_64-nghttp2-1.61.0-1.tar.xz
- Downloaded C:\Windows\system32/https%3a%2f%2fcygwin.mirror.constant.com%2f/noarch/release/mingw64-x86_64-win-iconv/mingw64-x86_64-win-iconv-0.0.8-1.tar.xz
- Downloaded C:\Windows\system32/https%3a%2f%2fcygwin.mirror.constant.com%2f/noarch/release/mingw64-x86_64-zlib/mingw64-x86_64-zlib-1.3.1-1.tar.zst
- Downloaded C:\Windows\system32/https%3a%2f%2fcygwin.mirror.constant.com%2f/noarch/release/mingw64-x86_64-zstd/mingw64-x86_64-zstd-1.5.7-1.tar.zst
- Downloaded C:\Windows\system32/https%3a%2f%2fcygwin.mirror.constant.com%2f/noarch/release/mingw64-x86_64-gettext/mingw64-x86_64-gettext-0.22.5-1.tar.xz
- Downloaded C:\Windows\system32/https%3a%2f%2fcygwin.mirror.constant.com%2f/noarch/release/mingw64-x86_64-openssl/mingw64-x86_64-openssl-3.0.17-1-noarch.tar.zst
- Downloaded C:\Windows\system32/https%3a%2f%2fcygwin.mirror.constant.com%2f/noarch/release/mingw64-x86_64-libssh2/mingw64-x86_64-libssh2-1.11.0-1.tar.xz
- Downloaded C:\Windows\system32/https%3a%2f%2fcygwin.mirror.constant.com%2f/noarch/release/mingw64-x86_64-libidn2/mingw64-x86_64-libidn2-2.3.8-1.tar.xz
- Downloaded C:\Windows\system32/https%3a%2f%2fcygwin.mirror.constant.com%2f/noarch/release/mingw64-x86_64-curl/mingw64-x86_64-curl-8.14.1-1-noarch.tar.xz
- Extracting from file://C:\Windows\system32/https%3a%2f%2fcygwin.mirror.constant.com%2f/x86_64/release/readline/libreadline8/libreadline8-8.3-1-x86_64.tar.xz
- Extracting from file://C:\Windows\system32/https%3a%2f%2fcygwin.mirror.constant.com%2f/x86_64/release/mingw64-x86_64-gcc/mingw64-x86_64-gcc-g++/mingw64-x86_64-gcc-g++-12.5.0-1-x86_64.tar.zst
- Extracting from file://C:\Windows\system32/https%3a%2f%2fcygwin.mirror.constant.com%2f/noarch/release/mingw64-x86_64-libffi/mingw64-x86_64-libffi-3.2.1-2.tar.xz
- Extracting from file://C:\Windows\system32/https%3a%2f%2fcygwin.mirror.constant.com%2f/noarch/release/mingw64-x86_64-nghttp2/mingw64-x86_64-nghttp2-1.61.0-1.tar.xz
- Extracting from file://C:\Windows\system32/https%3a%2f%2fcygwin.mirror.constant.com%2f/noarch/release/mingw64-x86_64-win-iconv/mingw64-x86_64-win-iconv-0.0.8-1.tar.xz
- Extracting from file://C:\Windows\system32/https%3a%2f%2fcygwin.mirror.constant.com%2f/noarch/release/mingw64-x86_64-zlib/mingw64-x86_64-zlib-1.3.1-1.tar.zst
- Extracting from file://C:\Windows\system32/https%3a%2f%2fcygwin.mirror.constant.com%2f/noarch/release/mingw64-x86_64-zstd/mingw64-x86_64-zstd-1.5.7-1.tar.zst
- Extracting from file://C:\Windows\system32/https%3a%2f%2fcygwin.mirror.constant.com%2f/noarch/release/mingw64-x86_64-gettext/mingw64-x86_64-gettext-0.22.5-1.tar.xz
- Extracting from file://C:\Windows\system32/https%3a%2f%2fcygwin.mirror.constant.com%2f/noarch/release/mingw64-x86_64-openssl/mingw64-x86_64-openssl-3.0.17-1-noarch.tar.zst
- Extracting from file://C:\Windows\system32/https%3a%2f%2fcygwin.mirror.constant.com%2f/noarch/release/mingw64-x86_64-libssh2/mingw64-x86_64-libssh2-1.11.0-1.tar.xz
- Extracting from file://C:\Windows\system32/https%3a%2f%2fcygwin.mirror.constant.com%2f/noarch/release/mingw64-x86_64-libidn2/mingw64-x86_64-libidn2-2.3.8-1.tar.xz
- Extracting from file://C:\Windows\system32/https%3a%2f%2fcygwin.mirror.constant.com%2f/noarch/release/mingw64-x86_64-curl/mingw64-x86_64-curl-8.14.1-1-noarch.tar.xz
- running: C:\cygwin64\bin\dash.exe "/etc/postinstall/0p_000_autorebase.dash"
- running: C:\cygwin64\bin\dash.exe "/etc/postinstall/0p_update-info-dir.dash"
- running: C:\cygwin64\bin\dash.exe "/etc/postinstall/zp_man-db-update-index.dash"
- Ending cygwin install
- NOTE: you should run 'diskperf -y' to enable the disk statistics
- NOTE: you should run 'diskperf -y' to enable the disk statistics
2025-07-15 20:32.16 ---> using "92a1cac14f505602ecc5a78c2ba7c0d400fa24af5e764b7a632514af76b8b290" from cache

/: (run (cache (opam-archives (target "c:\\Users\\opam\\AppData\\local\\opam\\download-cache")))
        (network host)
        (shell "opam install $DEPS"))
[NOTE] Package system-mingw is already installed (current version is 1).
[NOTE] Package ocaml-options-vanilla is already installed (current version is 1).
[NOTE] Package ocaml-env-mingw64 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 mingw-w64-shims is already installed (current version is 0.2.0).
[NOTE] Package host-system-mingw is already installed (current version is 1).
[NOTE] Package host-arch-x86_64 is already installed (current version is 1).
[NOTE] Package flexdll is already installed (current version is 0.44).
[NOTE] Package conf-mingw-w64-gcc-x86_64 is already installed (current version is 1).
[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).
[NOTE] Package arch-x86_64 is already installed (current version is 1).
The following actions will be performed:
=== recompile 1 package
  - recompile mingw-w64-shims              0.2.0
=== install 84 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-mingw-w64-curl-x86_64   1
  - install   conf-mingw-w64-libffi-x86_64 1
  - install   conf-mingw-w64-zlib-x86_64   1
  - 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.0
  - 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.0.8
  - install   tyxml                        4.6.0
  - install   uucp                         16.0.0
  - install   uutf                         1.0.4
  - install   variantslib                  v0.17.0

<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
-> retrieved angstrom.0.16.1  (cached)
-> retrieved astring.0.8.5  (cached)
-> retrieved backoff.0.1.1  (cached)
-> retrieved bigarray-compat.1.1.0  (cached)
-> retrieved bigstringaf.0.10.0  (cached)
-> retrieved camlp-streams.5.0.1  (cached)
-> retrieved camlzip.1.13  (cached)
-> retrieved cmdliner.1.3.0  (cached)
-> retrieved base.v0.17.3  (https://github.com/janestreet/base/archive/refs/tags/v0.17.3.tar.gz)
-> retrieved cppo.1.8.0  (cached)
-> retrieved csexp.1.5.2  (cached)
-> retrieved csv.2.4  (cached)
-> retrieved curl.0.10.0  (cached)
-> installed conf-pkg-config.4
-> retrieved fieldslib.v0.17.0  (cached)
-> retrieved ctypes.0.23.0, ctypes-foreign.0.23.0  (cached)
-> retrieved fmt.0.10.0  (cached)
-> retrieved integers.0.7.0  (cached)
-> retrieved jane-street-headers.v0.17.0  (cached)
-> retrieved jst-config.v0.17.0  (cached)
-> installed conf-mingw-w64-curl-x86_64.1
-> installed conf-mingw-w64-libffi-x86_64.1
-> installed conf-mingw-w64-zlib-x86_64.1
-> retrieved logs.0.9.0  (https://erratique.ch/software/logs/releases/logs-0.9.0.tbz)
-> installed conf-libffi.2.0.0
-> retrieved mingw-w64-shims.0.2.0  (cached)
-> removed   mingw-w64-shims.0.2.0
-> retrieved mdx.2.5.0  (cached)
-> retrieved mtime.2.1.0  (cached)
-> installed conf-zlib.1
-> installed mingw-w64-shims.0.2.0
-> retrieved multicore-magic.2.3.1  (cached)
-> retrieved ocaml-compiler-libs.v0.17.0  (cached)
-> retrieved num.1.6  (https://github.com/ocaml/num/archive/refs/tags/v1.6.tar.gz)
-> retrieved ocaml-syntax-shims.1.0.0  (cached)
-> installed conf-libcurl.2
-> retrieved ocaml_intrinsics_kernel.v0.17.1  (cached)
-> retrieved ocamlbuild.0.16.1  (cached)
-> retrieved ocamlfind.1.9.8  (cached)
-> retrieved ocaml-version.4.0.1  (https://github.com/ocurrent/ocaml-version/releases/download/v4.0.1/ocaml-version-4.0.1.tbz)
-> retrieved parsexp.v0.17.0  (cached)
-> retrieved pprint.20230830  (cached)
-> retrieved ppx_assert.v0.17.0  (cached)
-> retrieved ppx_base.v0.17.0  (cached)
-> retrieved ppx_cold.v0.17.0  (cached)
-> retrieved ppx_compare.v0.17.0  (cached)
-> retrieved ppx_derivers.1.2.1  (cached)
-> retrieved dune.3.19.1, dune-configurator.3.19.1  (https://github.com/ocaml/dune/releases/download/3.19.1/dune-3.19.1.tbz)
-> retrieved ppx_deriving.6.1.0  (cached)
-> retrieved ppx_enumerate.v0.17.0  (cached)
-> retrieved ppx_fields_conv.v0.17.0  (cached)
-> retrieved ppx_expect.v0.17.3  (https://github.com/janestreet/ppx_expect/archive/refs/tags/v0.17.3.tar.gz)
-> retrieved ppx_hash.v0.17.0  (cached)
-> retrieved ppx_here.v0.17.0  (cached)
-> retrieved ppx_globalize.v0.17.2  (https://github.com/janestreet/ppx_globalize/archive/refs/tags/v0.17.2.tar.gz)
-> retrieved ppx_inline_test.v0.17.1  (https://github.com/janestreet/ppx_inline_test/archive/refs/tags/v0.17.1.tar.gz)
-> retrieved ppx_optcomp.v0.17.1  (https://github.com/janestreet/ppx_optcomp/archive/refs/tags/v0.17.1.tar.gz)
-> retrieved ppx_string.v0.17.0  (cached)
-> installed cmdliner.1.3.0
-> installed num.1.6
-> retrieved ppx_minidebug.2.3.0  (https://github.com/lukstafi/ppx_minidebug/archive/refs/tags/2.3.0.tar.gz)
-> retrieved ppx_sexp_conv.v0.17.1  (https://github.com/janestreet/ppx_sexp_conv/archive/refs/tags/v0.17.1.tar.gz)
-> retrieved ppx_variants_conv.v0.17.1  (https://github.com/janestreet/ppx_variants_conv/archive/refs/tags/v0.17.1.tar.gz)
-> retrieved ppxlib_jane.v0.17.4  (https://github.com/janestreet/ppxlib_jane/archive/refs/tags/v0.17.4.tar.gz)
-> retrieved ppxlib.0.36.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 ptime.1.2.0  (cached)
-> retrieved result.1.5  (cached)
-> retrieved seq.base  (cached)
-> installed seq.base
-> retrieved saturn_lockfree.0.5.0  (cached)
-> retrieved re.1.13.2  (https://github.com/ocaml/ocaml-re/archive/refs/tags/1.13.2.tar.gz)
-> retrieved sexplib.v0.17.0  (cached)
-> retrieved sexplib0.v0.17.0  (cached)
-> retrieved stdio.v0.17.0  (cached)
-> retrieved stdlib-shims.0.3.0  (cached)
-> retrieved thread-local-storage.0.2  (cached)
-> retrieved time_now.v0.17.0  (cached)
-> retrieved topkg.1.0.8  (cached)
-> retrieved tyxml.4.6.0  (cached)
-> retrieved uucp.16.0.0  (cached)
-> retrieved uutf.1.0.4  (cached)
-> retrieved variantslib.v0.17.0  (cached)
[WARNING] .install file is missing .exe extension for src/findlib/ocamlfind
[WARNING] .install file is missing .exe extension for src/findlib/ocamlfind_opt
[WARNING] Automatically adding .exe to C:\Users\opam\AppData\Local\opam\5.3.0\.opam-switch\build\ocamlfind.1.9.8\src\findlib\ocamlfind.exe
[WARNING] Automatically adding .exe to C:\Users\opam\AppData\Local\opam\5.3.0\.opam-switch\build\ocamlfind.1.9.8\src\findlib\ocamlfind_opt.exe
[WARNING] C:\Users\opam\AppData\Local\opam\5.3.0\bin\safe_camlp4 is a script; the command won't be available
-> installed ocamlfind.1.9.8
-> installed base-bytes.base
-> installed camlzip.1.13
-> installed ocamlbuild.0.16.1
-> installed topkg.1.0.8
-> installed uutf.1.0.4
-> installed astring.0.8.5
-> installed fmt.0.10.0
-> installed mtime.2.1.0
-> installed ptime.1.2.0
-> installed logs.0.9.0
-> installed dune.3.19.1
-> installed bigarray-compat.1.1.0
-> installed backoff.0.1.1
-> installed camlp-streams.5.0.1
-> installed csexp.1.5.2
-> installed jane-street-headers.v0.17.0
-> installed cppo.1.8.0
-> installed csv.2.4
-> installed multicore-magic.2.3.1
-> installed ocaml-compiler-libs.v0.17.0
-> installed ocaml-syntax-shims.1.0.0
-> installed ocaml-version.4.0.1
-> installed pprint.20230830
-> installed ppx_derivers.1.2.1
-> installed ocaml_intrinsics_kernel.v0.17.1
-> installed printbox.0.12
-> installed result.1.5
-> installed uucp.16.0.0
-> installed stdlib-shims.0.3.0
-> installed dune-configurator.3.19.1
-> installed sexplib0.v0.17.0
-> installed printbox-text.0.12
-> installed integers.0.7.0
-> installed bigstringaf.0.10.0
-> installed curl.0.10.0
-> installed re.1.13.2
-> installed angstrom.0.16.1
-> installed parsexp.v0.17.0
-> installed saturn_lockfree.0.5.0
-> installed printbox-md.0.12
-> installed thread-local-storage.0.2
-> installed sexplib.v0.17.0
-> installed tyxml.4.6.0
-> installed printbox-html.0.12
-> installed mdx.2.5.0
-> installed printbox-ext-plot.0.12
-> installed base.v0.17.3
-> installed fieldslib.v0.17.0
-> installed variantslib.v0.17.0
-> installed stdio.v0.17.0
-> installed ctypes.0.23.0
-> installed ppxlib.0.36.0
-> installed ppx_optcomp.v0.17.1
-> installed ppx_cold.v0.17.0
-> installed ppx_here.v0.17.0
-> installed ctypes-foreign.0.23.0
-> installed ppx_variants_conv.v0.17.1
-> installed ppx_fields_conv.v0.17.0
-> installed ppxlib_jane.v0.17.4
-> installed ppx_deriving.6.1.0
-> installed ppx_enumerate.v0.17.0
-> installed ppx_globalize.v0.17.2
-> 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-15 20:32.17 ---> using "1609d00ad32f4c91c4f3506bfc6643d87f2913587a69d939279cb6411d09e5c6" from cache

/: (copy (src .) (dst /Users/opam/src))
2025-07-15 20:35.24 ---> saved as "340d919903184b8b828c79d5533e7cd3d69a566eb24f8b7d81bbef34cc26a846"

/: (run (shell "cd /cygdrive/c/Users/opam/src && 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)

Welcome to OCANNL! Reading configuration defaults from C:\Users\opam\src\_build\default\test\operations\config\ocannl_config.
Retrieving commandline, environment, or config file variable ocannl_log_level
Found 0, in the config file
Wrote value of 'backend' to ocannl_backend.txt
(cd _build/default/test/ppx && .\test_ppx_op.exe)

Welcome to OCANNL! Reading configuration defaults from C:\Users\opam\src\_build\default\test\ppx\ocannl_config.
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)

Welcome to OCANNL! Reading configuration defaults from C:\Users\opam\src\_build\default\test\ppx\ocannl_config.
Retrieving commandline, environment, or config file variable ocannl_log_level
Found 0, in the config file
File "test/einsum/test_conv_syntax.expected", line 1, characters 0-0:
C:\cygwin64\bin\git.exe --no-pager diff --no-index --color=always -u --ignore-cr-at-eol _build/default/test/einsum/test_conv_syntax.expected _build/default/test/einsum/test_conv_syntax.exe.output
diff --git a/_build/default/test/einsum/test_conv_syntax.expected b/_build/default/test/einsum/test_conv_syntax.exe.output
index 7098c49..c4fb351 100644
--- a/_build/default/test/einsum/test_conv_syntax.expected
+++ b/_build/default/test/einsum/test_conv_syntax.exe.output
@@ -1,5 +1,5 @@
 
-Welcome to OCANNL! Reading configuration defaults from /Users/lukstafi/ocannl/_build/default/test/einsum/ocannl_config.
+Welcome to OCANNL! Reading configuration defaults from C:\Users\opam\src\_build\default\test\einsum\ocannl_config.

 Retrieving commandline, environment, or config file variable ocannl_log_level
 Found 0, in the config file
 Testing conv syntax parsing...
File "test/einsum/test_print_style.expected", line 1, characters 0-0:
C:\cygwin64\bin\git.exe --no-pager diff --no-index --color=always -u --ignore-cr-at-eol _build/default/test/einsum/test_print_style.expected _build/default/test/einsum/test_print_style.exe.output
diff --git a/_build/default/test/einsum/test_print_style.expected b/_build/default/test/einsum/test_print_style.exe.output
index 5151f60..ec0dfbd 100644
--- a/_build/default/test/einsum/test_print_style.expected
+++ b/_build/default/test/einsum/test_print_style.exe.output
@@ -1,5 +1,5 @@
 
-Welcome to OCANNL! Reading configuration defaults from /Users/lukstafi/ocannl/_build/default/test/einsum/ocannl_config.
+Welcome to OCANNL! Reading configuration defaults from C:\Users\opam\src\_build\default\test\einsum\ocannl_config.

 Retrieving commandline, environment, or config file variable ocannl_log_level
 Found 0, in the config file
 Testing print_style functionality:
(cd _build/.sandbox/f0706d87b6dc8dbe62d0d1c267691bec/default/test/einsum && .einsum_tutorials.inline-tests\inline-test-runner.exe inline-test-runner einsum_tutorials -partition "Welcome to OCANNL! Reading configuration defaults from C:\Users\opam\src\_build\.sandbox\0fc48e60aa322891d6584b362699e13e\default\test\einsum\ocannl_config." -source-tree-root ../.. -diff-cmd -)

Welcome to OCANNL! Reading configuration defaults from C:\Users\opam\src\_build\.sandbox\f0706d87b6dc8dbe62d0d1c267691bec\default\test\einsum\ocannl_config.
Retrieving commandline, environment, or config file variable ocannl_log_level
Found 0, in the config file
(cd _build/.sandbox/f0706d87b6dc8dbe62d0d1c267691bec/default/test/einsum && .einsum_tutorials.inline-tests\inline-test-runner.exe inline-test-runner einsum_tutorials -partition "" -source-tree-root ../.. -diff-cmd -)

Welcome to OCANNL! Reading configuration defaults from C:\Users\opam\src\_build\.sandbox\f0706d87b6dc8dbe62d0d1c267691bec\default\test\einsum\ocannl_config.
Retrieving commandline, environment, or config file variable ocannl_log_level
Found 0, in the config file
(cd _build/.sandbox/f0706d87b6dc8dbe62d0d1c267691bec/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 -)

Welcome to OCANNL! Reading configuration defaults from C:\Users\opam\src\_build\.sandbox\f0706d87b6dc8dbe62d0d1c267691bec\default\test\einsum\ocannl_config.
Retrieving commandline, environment, or config file variable ocannl_log_level
Found 0, in the config file
(cd _build/.sandbox/f0706d87b6dc8dbe62d0d1c267691bec/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 -)

Welcome to OCANNL! Reading configuration defaults from C:\Users\opam\src\_build\.sandbox\f0706d87b6dc8dbe62d0d1c267691bec\default\test\einsum\ocannl_config.
Retrieving commandline, environment, or config file variable ocannl_log_level
Found 0, in the config file
(cd _build/.sandbox/088bed97c3f19f6c43831895a06ec917/default/test/operations && .operations_tutorials.inline-tests\inline-test-runner.exe inline-test-runner operations_tutorials -partition "" -source-tree-root ../.. -diff-cmd -)

Welcome to OCANNL! Reading configuration defaults from C:\Users\opam\src\_build\.sandbox\088bed97c3f19f6c43831895a06ec917\default\test\operations\ocannl_config.
Retrieving commandline, environment, or config file variable ocannl_log_level
Found 0, in the config file
(cd _build/.sandbox/088bed97c3f19f6c43831895a06ec917/default/test/operations && .operations_tutorials.inline-tests\inline-test-runner.exe inline-test-runner operations_tutorials -partition "Welcome to OCANNL! Reading configuration defaults from C:\Users\opam\src\_build\.sandbox\4497ab2abc4287dbfa4936522258c929\default\test\operations\ocannl_config." -source-tree-root ../.. -diff-cmd -)

Welcome to OCANNL! Reading configuration defaults from C:\Users\opam\src\_build\.sandbox\088bed97c3f19f6c43831895a06ec917\default\test\operations\ocannl_config.
Retrieving commandline, environment, or config file variable ocannl_log_level
Found 0, in the config file
(cd _build/.sandbox/088bed97c3f19f6c43831895a06ec917/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 -)

Welcome to OCANNL! Reading configuration defaults from C:\Users\opam\src\_build\.sandbox\088bed97c3f19f6c43831895a06ec917\default\test\operations\ocannl_config.
Retrieving commandline, environment, or config file variable ocannl_log_level
Found 0, in the config file
(cd _build/.sandbox/088bed97c3f19f6c43831895a06ec917/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 -)

Welcome to OCANNL! Reading configuration defaults from C:\Users\opam\src\_build\.sandbox\088bed97c3f19f6c43831895a06ec917\default\test\operations\ocannl_config.
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)

Welcome to OCANNL! Reading configuration defaults from C:\Users\opam\src\_build\default\test\operations\ocannl_config.
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_limit_constant_fill_size
Not found, using default 256
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 x86_64-w64-mingw32-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 in file "arrayjit/lib/backends.ml", lines 206-234, characters 31-82
Called from Backends.Raise_backend.link in file "arrayjit/lib/backends.ml", lines 538-539, characters 4-92
Re-raised at Backends.Raise_backend.link in file "arrayjit/lib/backends.ml", lines 525-539, characters 23-92
Called from Dune__exe__Micrograd_demo_logging in file "test/operations/micrograd_demo_logging.ml", line 36, characters 13-76
File "test/einsum/moons_demo_variant.expected", line 1, characters 0-0:
C:\cygwin64\bin\git.exe --no-pager diff --no-index --color=always -u --ignore-cr-at-eol _build/default/test/einsum/moons_demo_variant.expected _build/default/test/einsum/moons_demo_variant.exe.output
diff --git a/_build/default/test/einsum/moons_demo_variant.expected b/_build/default/test/einsum/moons_demo_variant.exe.output
index 5e95220..eada9e4 100644
--- a/_build/default/test/einsum/moons_demo_variant.expected
+++ b/_build/default/test/einsum/moons_demo_variant.exe.output
@@ -1,5 +1,5 @@
 
-Welcome to OCANNL! Reading configuration defaults from /Users/lukstafi/ocannl/_build/default/test/einsum/ocannl_config.
+Welcome to OCANNL! Reading configuration defaults from C:\Users\opam\src\_build\default\test\einsum\ocannl_config.

 Retrieving commandline, environment, or config file variable ocannl_log_level
 Found 0, in the config file
 Tnode: collecting accessible arrays...
(cd _build/.sandbox/088bed97c3f19f6c43831895a06ec917/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 -)

Welcome to OCANNL! Reading configuration defaults from C:\Users\opam\src\_build\.sandbox\088bed97c3f19f6c43831895a06ec917\default\test\operations\ocannl_config.
Retrieving commandline, environment, or config file variable ocannl_log_level
Found 0, in the config file
File "test/training/moons_demo.expected", line 1, characters 0-0:
C:\cygwin64\bin\git.exe --no-pager diff --no-index --color=always -u --ignore-cr-at-eol _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..f61c8ee 100644
--- a/_build/default/test/training/moons_demo.expected
+++ b/_build/default/test/training/moons_demo.exe.output
@@ -1,188 +1,184 @@
 
-    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
+Welcome to OCANNL! Reading configuration defaults from C:\Users\opam\src\_build\default\test\training\ocannl_config.

+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

(cd _build/.sandbox/088bed97c3f19f6c43831895a06ec917/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 -)

Welcome to OCANNL! Reading configuration defaults from C:\Users\opam\src\_build\.sandbox\088bed97c3f19f6c43831895a06ec917\default\test\operations\ocannl_config.
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:
C:\cygwin64\bin\git.exe --no-pager diff --no-index --color=always -u --ignore-cr-at-eol _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 1ba1584..e2050ad 100644
--- a/_build/default/test/einsum/einsum_trivia_exec.expected
+++ b/_build/default/test/einsum/einsum_trivia_exec.exe.output
@@ -1,5 +1,5 @@
 
-Welcome to OCANNL! Reading configuration defaults from /Users/lukstafi/ocannl/_build/default/test/einsum/ocannl_config.
+Welcome to OCANNL! Reading configuration defaults from C:\Users\opam\src\_build\default\test\einsum\ocannl_config.

 Retrieving commandline, environment, or config file variable ocannl_log_level
 Found 0, in the config file
 HERE: test/einsum/einsum_trivia_exec.ml:31:21
@@ -711,173 +711,173 @@ HERE: test/einsum/einsum_trivia_exec.ml:247:21
 
 
 HERE: test/einsum/einsum_trivia_exec.ml:274: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.20e+31  1.01e-38  4.51e+30 β”‚β”‚

+β”‚β”‚axis 2β”‚ 7.57e+30  2.02e-38  4.51e+30 β”‚β”‚

+β”‚β”‚      β”‚ ...       ...       ...      β”‚β”‚

+β”‚β”‚      β”‚ 7.57e+30  1.85e-38  4.51e+30 β”‚β”‚

+β”‚β”‚      β”‚ 7.57e+30  1.91e-38  4.51e+30 β”‚β”‚

+β”‚β”œβ”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”‚

+β”‚β”‚1 @ 1 β”‚ 4.51e+30  1.00  9.96e-39     β”‚β”‚

+β”‚β”‚axis 2β”‚ 1.20e-42  1.00  1.00         β”‚β”‚

+β”‚β”‚      β”‚ ...       ...   ...          β”‚β”‚

+β”‚β”‚      β”‚ 8.90e-39  1.00  4.00         β”‚β”‚

+β”‚β”‚      β”‚ 1.02e-38  1.00  5.00         β”‚β”‚

+β”‚β”œβ”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”‚

+β”‚β”‚2 @ 1 β”‚ 2.15e+31  2.00  9.91e-39     β”‚β”‚

+β”‚β”‚axis 2β”‚ 1.70e+31  2.00  1.00         β”‚β”‚

+β”‚β”‚      β”‚ ...       ...   ...          β”‚β”‚

+β”‚β”‚      β”‚ 1.70e+31  2.00  4.00         β”‚β”‚

+β”‚β”‚      β”‚ 1.70e+31  2.00  5.00         β”‚β”‚

+β”‚β”œβ”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”‚

+β”‚β”‚3 @ 1 β”‚ 4.51e+30  3.00  9.91e-39     β”‚β”‚

+β”‚β”‚axis 2β”‚ 6.01e-43  3.00  1.00         β”‚β”‚

+β”‚β”‚      β”‚ ...       ...   ...          β”‚β”‚

+β”‚β”‚      β”‚ 8.90e-39  3.00  4.00         β”‚β”‚

+β”‚β”‚      β”‚ 1.02e-38  3.00  5.00         β”‚β”‚

+β”‚β”œβ”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”‚

+β”‚β”‚4 @ 1 β”‚ 1.32e+32  4.00  9.91e-39     β”‚β”‚

+β”‚β”‚axis 2β”‚ 1.27e+32  4.00  1.00         β”‚β”‚

+β”‚β”‚      β”‚ ...       ...   ...          β”‚β”‚

+β”‚β”‚      β”‚ 1.27e+32  4.00  4.00         β”‚β”‚

+β”‚β”‚      β”‚ 1.27e+32  4.00  5.00         β”‚β”‚

+β”‚β””β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜β”‚

+β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€

+β”‚β”Œβ”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”β”‚

+β”‚β”‚1 @ 0 β”‚axis 3                        β”‚β”‚

+β”‚β”œβ”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”‚

+β”‚β”‚0 @ 1 β”‚ 1.20e+31  8.72e-39  4.51e+30 β”‚β”‚

+β”‚β”‚axis 2β”‚ 7.57e+30  1.89e-38  4.51e+30 β”‚β”‚

+β”‚β”‚      β”‚ ...       ...       ...      β”‚β”‚

+β”‚β”‚      β”‚ 7.57e+30  1.71e-38  4.51e+30 β”‚β”‚

+β”‚β”‚      β”‚ 7.57e+30  1.77e-38  4.51e+30 β”‚β”‚

+β”‚β”œβ”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”‚

+β”‚β”‚1 @ 1 β”‚ 4.51e+30  1.00  9.22e-39     β”‚β”‚

+β”‚β”‚axis 2β”‚ 1.00      1.00  1.00         β”‚β”‚

+β”‚β”‚      β”‚ ...       ...   ...          β”‚β”‚

+β”‚β”‚      β”‚ 1.00      1.00  4.00         β”‚β”‚

+β”‚β”‚      β”‚ 1.00      1.00  5.00         β”‚β”‚

+β”‚β”œβ”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”‚

+β”‚β”‚2 @ 1 β”‚ 2.15e+31  2.00  9.18e-39     β”‚β”‚

+β”‚β”‚axis 2β”‚ 1.70e+31  2.00  1.00         β”‚β”‚

+β”‚β”‚      β”‚ ...       ...   ...          β”‚β”‚

+β”‚β”‚      β”‚ 1.70e+31  2.00  4.00         β”‚β”‚

+β”‚β”‚      β”‚ 1.70e+31  2.00  5.00         β”‚β”‚

+β”‚β”œβ”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”‚

+β”‚β”‚3 @ 1 β”‚ 4.51e+30  3.00  9.18e-39     β”‚β”‚

+β”‚β”‚axis 2β”‚ 1.00      3.00  1.00         β”‚β”‚

+β”‚β”‚      β”‚ ...       ...   ...          β”‚β”‚

+β”‚β”‚      β”‚ 1.00      3.00  4.00         β”‚β”‚

+β”‚β”‚      β”‚ 1.00      3.00  5.00         β”‚β”‚

+β”‚β”œβ”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”‚

+β”‚β”‚4 @ 1 β”‚ 1.32e+32  4.00  9.18e-39     β”‚β”‚

+β”‚β”‚axis 2β”‚ 1.27e+32  4.00  1.00         β”‚β”‚

+β”‚β”‚      β”‚ ...       ...   ...          β”‚β”‚

+β”‚β”‚      β”‚ 1.27e+32  4.00  4.00         β”‚β”‚

+β”‚β”‚      β”‚ 1.27e+32  4.00  5.00         β”‚β”‚

+β”‚β””β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜β”‚

+β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€

+β”‚β”Œβ”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”β”‚

+β”‚β”‚2 @ 0 β”‚axis 3                        β”‚β”‚

+β”‚β”œβ”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”‚

+β”‚β”‚0 @ 1 β”‚ 1.20e+31  8.72e-39  4.51e+30 β”‚β”‚

+β”‚β”‚axis 2β”‚ 7.57e+30  1.89e-38  4.51e+30 β”‚β”‚

+β”‚β”‚      β”‚ ...       ...       ...      β”‚β”‚

+β”‚β”‚      β”‚ 7.57e+30  1.71e-38  4.51e+30 β”‚β”‚

+β”‚β”‚      β”‚ 7.57e+30  1.77e-38  4.51e+30 β”‚β”‚

+β”‚β”œβ”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”‚

+β”‚β”‚1 @ 1 β”‚ 4.51e+30  1.00  1.06e-38     β”‚β”‚

+β”‚β”‚axis 2β”‚ 2.00      1.00  1.00         β”‚β”‚

+β”‚β”‚      β”‚ ...       ...   ...          β”‚β”‚

+β”‚β”‚      β”‚ 2.00      1.00  4.00         β”‚β”‚

+β”‚β”‚      β”‚ 2.00      1.00  5.00         β”‚β”‚

+β”‚β”œβ”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”‚

+β”‚β”‚2 @ 1 β”‚ 2.15e+31  2.00  1.06e-38     β”‚β”‚

+β”‚β”‚axis 2β”‚ 1.70e+31  2.00  1.00         β”‚β”‚

+β”‚β”‚      β”‚ ...       ...   ...          β”‚β”‚

+β”‚β”‚      β”‚ 1.70e+31  2.00  4.00         β”‚β”‚

+β”‚β”‚      β”‚ 1.70e+31  2.00  5.00         β”‚β”‚

+β”‚β”œβ”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”‚

+β”‚β”‚3 @ 1 β”‚ 4.51e+30  3.00  1.06e-38     β”‚β”‚

+β”‚β”‚axis 2β”‚ 2.00      3.00  1.00         β”‚β”‚

+β”‚β”‚      β”‚ ...       ...   ...          β”‚β”‚

+β”‚β”‚      β”‚ 2.00      3.00  4.00         β”‚β”‚

+β”‚β”‚      β”‚ 2.00      3.00  5.00         β”‚β”‚

+β”‚β”œβ”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”‚

+β”‚β”‚4 @ 1 β”‚ 1.32e+32  4.00  1.06e-38     β”‚β”‚

+β”‚β”‚axis 2β”‚ 1.27e+32  4.00  1.00         β”‚β”‚

+β”‚β”‚      β”‚ ...       ...   ...          β”‚β”‚

+β”‚β”‚      β”‚ 1.27e+32  4.00  4.00         β”‚β”‚

+β”‚β”‚      β”‚ 1.27e+32  4.00  5.00         β”‚β”‚

+β”‚β””β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜β”‚

+β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€

+β”‚β”Œβ”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”β”‚

+β”‚β”‚3 @ 0 β”‚axis 3                        β”‚β”‚

+β”‚β”œβ”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”‚

+β”‚β”‚0 @ 1 β”‚ 1.20e+31  7.42e-43  4.51e+30 β”‚β”‚

+β”‚β”‚axis 2β”‚ 7.57e+30  1.01e-38  4.51e+30 β”‚β”‚

+β”‚β”‚      β”‚ ...       ...       ...      β”‚β”‚

+β”‚β”‚      β”‚ 7.57e+30  8.44e-39  4.51e+30 β”‚β”‚

+β”‚β”‚      β”‚ 7.57e+30  9.00e-39  4.51e+30 β”‚β”‚

+β”‚β”œβ”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”‚

+β”‚β”‚1 @ 1 β”‚ 4.51e+30  1.00  4.27e-39     β”‚β”‚

+β”‚β”‚axis 2β”‚ 3.00      1.00  1.00         β”‚β”‚

+β”‚β”‚      β”‚ ...       ...   ...          β”‚β”‚

+β”‚β”‚      β”‚ 3.00      1.00  4.00         β”‚β”‚

+β”‚β”‚      β”‚ 3.00      1.00  5.00         β”‚β”‚

+β”‚β”œβ”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”‚

+β”‚β”‚2 @ 1 β”‚ 2.15e+31  2.00  4.22e-39     β”‚β”‚

+β”‚β”‚axis 2β”‚ 1.70e+31  2.00  1.00         β”‚β”‚

+β”‚β”‚      β”‚ ...       ...   ...          β”‚β”‚

+β”‚β”‚      β”‚ 1.70e+31  2.00  4.00         β”‚β”‚

+β”‚β”‚      β”‚ 1.70e+31  2.00  5.00         β”‚β”‚

+β”‚β”œβ”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”‚

+β”‚β”‚3 @ 1 β”‚ 4.51e+30  3.00  4.22e-39     β”‚β”‚

+β”‚β”‚axis 2β”‚ 3.00      3.00  1.00         β”‚β”‚

+β”‚β”‚      β”‚ ...       ...   ...          β”‚β”‚

+β”‚β”‚      β”‚ 3.00      3.00  4.00         β”‚β”‚

+β”‚β”‚      β”‚ 3.00      3.00  5.00         β”‚β”‚

+β”‚β”œβ”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”‚

+β”‚β”‚4 @ 1 β”‚ 1.32e+32  4.00  4.22e-39     β”‚β”‚

+β”‚β”‚axis 2β”‚ 1.27e+32  4.00  1.00         β”‚β”‚

+β”‚β”‚      β”‚ ...       ...   ...          β”‚β”‚

+β”‚β”‚      β”‚ 1.27e+32  4.00  4.00         β”‚β”‚

+β”‚β”‚      β”‚ 1.27e+32  4.00  5.00         β”‚β”‚

+β”‚β””β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜β”‚

+β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

 
 
 HERE: test/einsum/einsum_trivia_exec.ml:275: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.01e-38  9.91e-39 β”‚β”‚

+β”‚β”‚      β”‚ 1.00  8.72e-39  9.18e-39 β”‚β”‚

+β”‚β”‚      β”‚ 2.00  8.72e-39  1.06e-38 β”‚β”‚

+β”‚β”‚      β”‚ 3.00  1.41e-43  4.22e-39 β”‚β”‚

+β”‚β””β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜β”‚

+β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

 
 
 HERE: test/einsum/einsum_trivia_exec.ml:276: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β”‚ 4.51e+30  6.01e-43  0.00 β”‚β”‚

+β”‚β”‚      β”‚ 6.01e-43  1.01e-38  1.00 β”‚β”‚

+β”‚β”‚      β”‚ ...       ...       ...  β”‚β”‚

+β”‚β”‚      β”‚ 8.90e-39  8.44e-39  4.00 β”‚β”‚

+β”‚β”‚      β”‚ 1.02e-38  9.00e-39  5.00 β”‚β”‚

+β”‚β””β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜β”‚

+β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

 
 
 HERE: test/einsum/einsum_trivia_exec.ml:299:21
(cd _build/.sandbox/088bed97c3f19f6c43831895a06ec917/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 -)

Welcome to OCANNL! Reading configuration defaults from C:\Users\opam\src\_build\.sandbox\088bed97c3f19f6c43831895a06ec917\default\test\operations\ocannl_config.
Retrieving commandline, environment, or config file variable ocannl_log_level
Found 0, in the config file
(cd _build/.sandbox/f0706d87b6dc8dbe62d0d1c267691bec/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 -)

Welcome to OCANNL! Reading configuration defaults from C:\Users\opam\src\_build\.sandbox\f0706d87b6dc8dbe62d0d1c267691bec\default\test\einsum\ocannl_config.
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:
C:\cygwin64\bin\git.exe --no-pager diff --no-index --color=always -u --ignore-cr-at-eol _build/.sandbox/088bed97c3f19f6c43831895a06ec917/default/test/operations/zero2hero_1of7.ml _build/.sandbox/088bed97c3f19f6c43831895a06ec917/default/test/operations/zero2hero_1of7.ml.corrected
diff --git a/_build/.sandbox/088bed97c3f19f6c43831895a06ec917/default/test/operations/zero2hero_1of7.ml b/_build/.sandbox/088bed97c3f19f6c43831895a06ec917/default/test/operations/zero2hero_1of7.ml.corrected
index 2fe7000..3aeefc0 100644
--- a/_build/.sandbox/088bed97c3f19f6c43831895a06ec917/default/test/operations/zero2hero_1of7.ml
+++ b/_build/.sandbox/088bed97c3f19f6c43831895a06ec917/default/test/operations/zero2hero_1of7.ml.corrected
@@ -30,24 +30,24 @@ let%expect_test "Graph drawing recompile" =
   Tensor.print_tree ~with_grad:true ~depth:9 f_nd;
   [%expect
     {|
-                                 #15 +_f_nd
-                                  6.00e+1
-                                 #16 grad_+_f_nd Virt/30
-                                 <void>
-                            #13 - Virt/152                             β”‚#2 5. Virt/40
-                            <void>                                     β”‚<void>
-                            #14 grad_- Virt/30                         β”‚
-                            <void>                                     β”‚
-           #11 *. Virt/152            β”‚       #4 *. Virt/152           β”‚
-           <void>                     β”‚       <void>                   β”‚
-           #12 grad_*. Virt/30        β”‚       #5 grad_*. Virt/30       β”‚
-           <void>                     β”‚       <void>                   β”‚
-    #10 3. Virt/40β”‚#7 **. Virt/152    β”‚#3 4. Virt/40β”‚#0 x              β”‚
-    <void>        β”‚<void>             β”‚<void>       β”‚ 5.00             β”‚
-                  β”‚#8 grad_**. Virt/30β”‚             β”‚#1 grad_x Local/30β”‚
-                  β”‚<void>             β”‚             β”‚<void>            β”‚
-                  β”‚[0]β”‚ #6 2. Virt/40 β”‚             β”‚                  β”‚
-                  β”‚   β”‚ <void>        β”‚             β”‚                  β”‚
+                          #15 +_f_nd
+                           6.00e+1
+                          #16 grad_+_f_nd Virt/30
+                          <void>
+                     #13 - Virt/152                      β”‚#2 5. Virt/40
+                     <void>                              β”‚<void>
+                     #14 grad_- Virt/30                  β”‚
+                     <void>                              β”‚
+           #11 *. Virt/152            β”‚#4 *. Virt/152    β”‚
+           <void>                     β”‚<void>            β”‚
+           #12 grad_*. Virt/30        β”‚#5 grad_*. Virt/30β”‚
+           <void>                     β”‚<void>            β”‚
+    #10 3. Virt/40β”‚#7 **. Virt/152    β”‚#3 4. Virt/40β”‚[0] β”‚
+    <void>        β”‚<void>             β”‚<void>       β”‚    β”‚
+                  β”‚#8 grad_**. Virt/30β”‚             β”‚    β”‚
+                  β”‚<void>             β”‚             β”‚    β”‚
+                  β”‚[0]β”‚ #6 2. Virt/40 β”‚             β”‚    β”‚
+                  β”‚   β”‚ <void>        β”‚             β”‚    β”‚
     |}];
   let%op f = (3 *. ("x" [ 5 ] **. 2)) - (4 *. x) + 5 in
   Train.every_non_literal_on_host f;
@@ -59,24 +59,24 @@ let%expect_test "Graph drawing recompile" =
   Tensor.print_tree ~with_grad:true ~depth:9 f;
   [%expect
     {|
-                                   #32 +_f
-                                    6.00e+1
-                                   #33 grad_+_f
-                                    1.00
-                             #30 -                              β”‚#19 5. Virt/40
-                              5.50e+1                           β”‚<void>
-                             #31 grad_-                         β”‚
-                              1.00                              β”‚
-               #28 *.                 β”‚       #21 *.            β”‚
-                7.50e+1               β”‚        2.00e+1          β”‚
-               #29 grad_*.            β”‚       #22 grad_*.       β”‚
-                1.00                  β”‚        -1.00            β”‚
-    #27 3. Virt/40β”‚   #24 **.         β”‚#20 4. Virt/40β”‚#17 x     β”‚
-    <void>        β”‚    2.50e+1        β”‚<void>        β”‚ 5.00     β”‚
-                  β”‚   #25 grad_**.    β”‚              β”‚#18 grad_xβ”‚
-                  β”‚    3.00           β”‚              β”‚ 2.60e+1  β”‚
-                  β”‚[17]β”‚#23 2. Virt/40β”‚              β”‚          β”‚
-                  β”‚    β”‚<void>        β”‚              β”‚          β”‚
+                                #32 +_f
+                                 6.00e+1
+                                #33 grad_+_f
+                                 1.00
+                          #30 -                           β”‚#19 5. Virt/40
+                           5.50e+1                        β”‚<void>
+                          #31 grad_-                      β”‚
+                           1.00                           β”‚
+               #28 *.                 β”‚    #21 *.         β”‚
+                7.50e+1               β”‚     2.00e+1       β”‚
+               #29 grad_*.            β”‚    #22 grad_*.    β”‚
+                1.00                  β”‚     -1.00         β”‚
+    #27 3. Virt/40β”‚   #24 **.         β”‚#20 4. Virt/40β”‚[17]β”‚
+    <void>        β”‚    2.50e+1        β”‚<void>        β”‚    β”‚
+                  β”‚   #25 grad_**.    β”‚              β”‚    β”‚
+                  β”‚    3.00           β”‚              β”‚    β”‚
+                  β”‚[17]β”‚#23 2. Virt/40β”‚              β”‚    β”‚
+                  β”‚    β”‚<void>        β”‚              β”‚    β”‚
     |}];
   let xs = Array.init 10 ~f:Float.(fun i -> of_int i - 5.) in
   let ys =
@@ -276,22 +276,19 @@ let%expect_test "Simple gradients hosted" =
   Tensor.print_tree ~spy:true ~with_grad:true ~depth:9 l;
   [%expect
     {|
-                                        #12 *._l Host&stream/41
-                                        <not-in-yet>
-                                        #13 grad_*._l Host&stream/41
-                                        <not-in-yet>
-                            #8 +_d Host&stream/41                             β”‚#10 f Host&shared/39
-                            <not-in-yet>                                      β”‚<not-in-yet>
-                            #9 grad_+_d Host&stream/41                        β”‚#11 grad_f Host&stream/41
-                            <not-in-yet>                                      β”‚<not-in-yet>
-               #4 *._e Host&stream/41                β”‚#6 c Host&shared/39     β”‚
-               <not-in-yet>                          β”‚<not-in-yet>            β”‚
-               #5 grad_*._e Host&stream/41           β”‚#7 grad_c Host&stream/41β”‚
-               <not-in-yet>                          β”‚<not-in-yet>            β”‚
-    #0 a Host&shared/39     β”‚#2 b Host&shared/39     β”‚                        β”‚
-    <not-in-yet>            β”‚<not-in-yet>            β”‚                        β”‚
-    #1 grad_a Host&stream/41β”‚#3 grad_b Host&stream/41β”‚                        β”‚
-    <not-in-yet>            β”‚<not-in-yet>            β”‚                        β”‚
+        #12 *._l Host&stream/412410
+        <not-in-yet>
+        #13 grad_*._l Host&stream/412410
+        <not-in-yet>
+      #8 +_d Host&stream/412410        β”‚[10]
+      <not-in-yet>                     β”‚
+      #9 grad_+_d Host&stream/412410   β”‚
+      <not-in-yet>                     β”‚
+    #4 *._e Host&stream/412410     β”‚[6]β”‚
+    <not-in-yet>                   β”‚   β”‚
+    #5 grad_*._e Host&stream/412410β”‚   β”‚
+    <not-in-yet>                   β”‚   β”‚
+    [0]β”‚[2]                        β”‚   β”‚
     |}];
   (* Do not update the params: all values and gradients will be at initial points, which are
      specified in the tensor in the brackets. *)
@@ -300,22 +297,19 @@ let%expect_test "Simple gradients hosted" =
   Tensor.print_tree ~with_grad:true ~depth:9 l;
   [%expect
     {|
-                 #12 *._l
-                  -8.00
-                 #13 grad_*._l
-                  1.00
-             #8 +_d              β”‚#10 f
-              4.00               β”‚ -2.00
-             #9 grad_+_d         β”‚#11 grad_f
-              -2.00              β”‚ 4.00
-       #4 *._e         β”‚#6 c     β”‚
-        -6.00          β”‚ 1.00e+1 β”‚
-       #5 grad_*._e    β”‚#7 grad_cβ”‚
-        -2.00          β”‚ -2.00   β”‚
-    #0 a     β”‚#2 b     β”‚         β”‚
-     2.00    β”‚ -3.00   β”‚         β”‚
-    #1 grad_aβ”‚#3 grad_bβ”‚         β”‚
-     6.00    β”‚ -4.00   β”‚         β”‚
+        #12 *._l
+         -8.00
+        #13 grad_*._l
+         1.00
+      #8 +_d        β”‚[10]
+       4.00         β”‚
+      #9 grad_+_d   β”‚
+       -2.00        β”‚
+    #4 *._e     β”‚[6]β”‚
+     -6.00      β”‚   β”‚
+    #5 grad_*._eβ”‚   β”‚
+     -2.00      β”‚   β”‚
+    [0]β”‚[2]     β”‚   β”‚
     |}];
   (* Now we update the params, but we are not doing the forward and backward passes: only params
      values will change, compared to the above. The update is in the opposite direction of the
@@ -324,22 +318,19 @@ let%expect_test "Simple gradients hosted" =
   Tensor.print_tree ~with_grad:true ~depth:9 l;
   [%expect
     {|
-                 #12 *._l
-                  -8.00
-                 #13 grad_*._l
-                  1.00
-             #8 +_d              β”‚#10 f
-              4.00               β”‚ -2.40
-             #9 grad_+_d         β”‚#11 grad_f
-              -2.00              β”‚ 4.00
-       #4 *._e         β”‚#6 c     β”‚
-        -6.00          β”‚ 1.02e+1 β”‚
-       #5 grad_*._e    β”‚#7 grad_cβ”‚
-        -2.00          β”‚ -2.00   β”‚
-    #0 a     β”‚#2 b     β”‚         β”‚
-     1.40    β”‚ -2.60   β”‚         β”‚
-    #1 grad_aβ”‚#3 grad_bβ”‚         β”‚
-     6.00    β”‚ -4.00   β”‚         β”‚
+        #12 *._l
+         -8.00
+        #13 grad_*._l
+         1.00
+      #8 +_d        β”‚[10]
+       4.00         β”‚
+      #9 grad_+_d   β”‚
+       -2.00        β”‚
+    #4 *._e     β”‚[6]β”‚
+     -6.00      β”‚   β”‚
+    #5 grad_*._eβ”‚   β”‚
+     -2.00      β”‚   β”‚
+    [0]β”‚[2]     β”‚   β”‚
     |}];
 
   (* Now the params will remain as above, but both param gradients and the values and gradients of
@@ -348,22 +339,19 @@ let%expect_test "Simple gradients hosted" =
   Tensor.print_tree ~with_grad:true ~depth:9 l;
   [%expect
     {|
-                 #12 *._l
-                  -1.57e+1
-                 #13 grad_*._l
-                  1.00
-             #8 +_d              β”‚#10 f
-              6.56               β”‚ -2.40
-             #9 grad_+_d         β”‚#11 grad_f
-              -2.40              β”‚ 6.56
-       #4 *._e         β”‚#6 c     β”‚
-        -3.64          β”‚ 1.02e+1 β”‚
-       #5 grad_*._e    β”‚#7 grad_cβ”‚
-        -2.40          β”‚ -2.40   β”‚
-    #0 a     β”‚#2 b     β”‚         β”‚
-     1.40    β”‚ -2.60   β”‚         β”‚
-    #1 grad_aβ”‚#3 grad_bβ”‚         β”‚
-     6.24    β”‚ -3.36   β”‚         β”‚
+        #12 *._l
+         -1.57e+1
+        #13 grad_*._l
+         1.00
+      #8 +_d        β”‚[10]
+       6.56         β”‚
+      #9 grad_+_d   β”‚
+       -2.40        β”‚
+    #4 *._e     β”‚[6]β”‚
+     -3.64      β”‚   β”‚
+    #5 grad_*._eβ”‚   β”‚
+     -2.40      β”‚   β”‚
+    [0]β”‚[2]     β”‚   β”‚
     |}]
 
 let%expect_test "Simple gradients virtual" =
@@ -385,22 +373,19 @@ let%expect_test "Simple gradients virtual" =
   Tensor.print_tree ~spy:true ~with_grad:true ~depth:9 l;
   [%expect
     {|
-                                       #12 *._l Host&dev/41
-                                       <not-in-yet>
-                                       #13 grad_*._l unknown
-                                       <not-in-yet>
-                            #8 +_d unknown                              β”‚#10 f Host-non-const/24
-                            <not-in-yet>                                β”‚<not-in-yet>
-                            #9 grad_+_d unknown                         β”‚#11 grad_f Material/28
-                            <not-in-yet>                                β”‚<not-in-yet>
-                #4 *._e unknown                  β”‚#6 c Host-non-const/24β”‚
-                <not-in-yet>                     β”‚<not-in-yet>          β”‚
-                #5 grad_*._e unknown             β”‚#7 grad_c Material/28 β”‚
-                <not-in-yet>                     β”‚<not-in-yet>          β”‚
-    #0 a Host-non-const/24β”‚#2 b Host-non-const/24β”‚                      β”‚
-    <not-in-yet>          β”‚<not-in-yet>          β”‚                      β”‚
-    #1 grad_a Material/28 β”‚#3 grad_b Material/28 β”‚                      β”‚
-    <not-in-yet>          β”‚<not-in-yet>          β”‚                      β”‚
+        #12 *._l Host&dev/412
+        <not-in-yet>
+        #13 grad_*._l unknown
+        <not-in-yet>
+      #8 +_d unknown        β”‚[10]
+      <not-in-yet>          β”‚
+      #9 grad_+_d unknown   β”‚
+      <not-in-yet>          β”‚
+    #4 *._e unknown     β”‚[6]β”‚
+    <not-in-yet>        β”‚   β”‚
+    #5 grad_*._e unknownβ”‚   β”‚
+    <not-in-yet>        β”‚   β”‚
+    [0]β”‚[2]             β”‚   β”‚
     |}];
   let f_init = Train.to_routine (module Backend) ctx IDX.empty @@ Tensor.init_params l in
   let grad_routine = Train.to_routine (module Backend) f_init.context IDX.empty grad in
@@ -408,22 +393,19 @@ let%expect_test "Simple gradients virtual" =
   Tensor.print_tree ~spy:true ~with_grad:true ~depth:9 l;
   [%expect
     {|
-                                        #12 *._l Host&stream/41
-                                        <not-in-yet>
-                                        #13 grad_*._l Virt/40
-                                        <not-in-yet>
-                              #8 +_d Local/46                              β”‚#10 f Host&shared/39
-                              <not-in-yet>                                 β”‚<not-in-yet>
-                              #9 grad_+_d Virt/40                          β”‚#11 grad_f Dev-stream/41
-                              <not-in-yet>                                 β”‚<not-in-yet>
-                 #4 *._e Virt/152                  β”‚#6 c Host&shared/39    β”‚
-                 <not-in-yet>                      β”‚<not-in-yet>           β”‚
-                 #5 grad_*._e Virt/40              β”‚#7 grad_c Dev-stream/41β”‚
-                 <not-in-yet>                      β”‚<not-in-yet>           β”‚
-    #0 a Host&shared/39    β”‚#2 b Host&shared/39    β”‚                       β”‚
-    <not-in-yet>           β”‚<not-in-yet>           β”‚                       β”‚
-    #1 grad_a Dev-stream/41β”‚#3 grad_b Dev-stream/41β”‚                       β”‚
-    <not-in-yet>           β”‚<not-in-yet>           β”‚                       β”‚
+     #12 *._l Host&stream/412410
+     <not-in-yet>
+     #13 grad_*._l Virt/40
+     <not-in-yet>
+      #8 +_d Local/1046     β”‚[10]
+      <not-in-yet>          β”‚
+      #9 grad_+_d Virt/40   β”‚
+      <not-in-yet>          β”‚
+    #4 *._e Virt/152    β”‚[6]β”‚
+    <not-in-yet>        β”‚   β”‚
+    #5 grad_*._e Virt/40β”‚   β”‚
+    <not-in-yet>        β”‚   β”‚
+    [0]β”‚[2]             β”‚   β”‚
     |}];
   (* Do not update the params: all values and gradients will be at initial points, which are
      specified in the tensor in the brackets. *)
@@ -432,22 +414,19 @@ let%expect_test "Simple gradients virtual" =
   Tensor.print_tree ~with_grad:true ~depth:9 l;
   [%expect
     {|
-                                         #12 *._l
-                                          -8.00
-                                         #13 grad_*._l Virt/40
-                                         <void>
-                              #8 +_d Local/46                              β”‚#10 f
-                              <void>                                       β”‚ -2.00
-                              #9 grad_+_d Virt/40                          β”‚#11 grad_f Dev-stream/41
-                              <void>                                       β”‚<void>
-                 #4 *._e Virt/152                  β”‚#6 c                   β”‚
-                 <void>                            β”‚ 1.00e+1               β”‚
-                 #5 grad_*._e Virt/40              β”‚#7 grad_c Dev-stream/41β”‚
-                 <void>                            β”‚<void>                 β”‚
-    #0 a                   β”‚#2 b                   β”‚                       β”‚
-     2.00                  β”‚ -3.00                 β”‚                       β”‚
-    #1 grad_a Dev-stream/41β”‚#3 grad_b Dev-stream/41β”‚                       β”‚
-    <void>                 β”‚<void>                 β”‚                       β”‚
+        #12 *._l
+         -8.00
+        #13 grad_*._l Virt/40
+        <void>
+      #8 +_d Local/1046     β”‚[10]
+      <void>                β”‚
+      #9 grad_+_d Virt/40   β”‚
+      <void>                β”‚
+    #4 *._e Virt/152    β”‚[6]β”‚
+    <void>              β”‚   β”‚
+    #5 grad_*._e Virt/40β”‚   β”‚
+    <void>              β”‚   β”‚
+    [0]β”‚[2]             β”‚   β”‚
     |}];
   (* Only now compile the SGD update. *)
   let sgd_routine = Train.to_routine (module Backend) grad_routine.context IDX.empty sgd in
@@ -458,22 +437,19 @@ let%expect_test "Simple gradients virtual" =
   Tensor.print_tree ~with_grad:true ~depth:9 l;
   [%expect
     {|
-                                         #12 *._l
-                                          -8.00
-                                         #13 grad_*._l Virt/40
-                                         <void>
-                              #8 +_d Local/46                              β”‚#10 f
-                              <void>                                       β”‚ -2.40
-                              #9 grad_+_d Virt/40                          β”‚#11 grad_f Dev-stream/41
-                              <void>                                       β”‚<void>
-                 #4 *._e Virt/152                  β”‚#6 c                   β”‚
-                 <void>                            β”‚ 1.02e+1               β”‚
-                 #5 grad_*._e Virt/40              β”‚#7 grad_c Dev-stream/41β”‚
-                 <void>                            β”‚<void>                 β”‚
-    #0 a                   β”‚#2 b                   β”‚                       β”‚
-     1.40                  β”‚ -2.60                 β”‚                       β”‚
-    #1 grad_a Dev-stream/41β”‚#3 grad_b Dev-stream/41β”‚                       β”‚
-    <void>                 β”‚<void>                 β”‚                       β”‚
+        #12 *._l
+         -8.00
+        #13 grad_*._l Virt/40
+        <void>
+      #8 +_d Local/1046     β”‚[10]
+      <void>                β”‚
+      #9 grad_+_d Virt/40   β”‚
+      <void>                β”‚
+    #4 *._e Virt/152    β”‚[6]β”‚
+    <void>              β”‚   β”‚
+    #5 grad_*._e Virt/40β”‚   β”‚
+    <void>              β”‚   β”‚
+    [0]β”‚[2]             β”‚   β”‚
     |}];
   (* Now the params will remain as above, but both param gradients and the values and gradients of
      other nodes will change thanks to the forward and backward passes. *)
@@ -481,22 +457,19 @@ let%expect_test "Simple gradients virtual" =
   Tensor.print_tree ~with_grad:true ~depth:9 l;
   [%expect
     {|
-                                         #12 *._l
-                                          -1.57e+1
-                                         #13 grad_*._l Virt/40
-                                         <void>
-                              #8 +_d Local/46                              β”‚#10 f
-                              <void>                                       β”‚ -2.40
-                              #9 grad_+_d Virt/40                          β”‚#11 grad_f Dev-stream/41
-                              <void>                                       β”‚<void>
-                 #4 *._e Virt/152                  β”‚#6 c                   β”‚
-                 <void>                            β”‚ 1.02e+1               β”‚
-                 #5 grad_*._e Virt/40              β”‚#7 grad_c Dev-stream/41β”‚
-                 <void>                            β”‚<void>                 β”‚
-    #0 a                   β”‚#2 b                   β”‚                       β”‚
-     1.40                  β”‚ -2.60                 β”‚                       β”‚
-    #1 grad_a Dev-stream/41β”‚#3 grad_b Dev-stream/41β”‚                       β”‚
-    <void>                 β”‚<void>                 β”‚                       β”‚
+        #12 *._l
+         -1.57e+1
+        #13 grad_*._l Virt/40
+        <void>
+      #8 +_d Local/1046     β”‚[10]
+      <void>                β”‚
+      #9 grad_+_d Virt/40   β”‚
+      <void>                β”‚
+    #4 *._e Virt/152    β”‚[6]β”‚
+    <void>              β”‚   β”‚
+    #5 grad_*._e Virt/40β”‚   β”‚
+    <void>              β”‚   β”‚
+    [0]β”‚[2]             β”‚   β”‚
     |}]
 
 let%expect_test "tanh plot" =
@@ -520,18 +493,15 @@ let%expect_test "2D neuron hosted" =
   Tensor.print_tree ~with_grad:true ~depth:9 v;
   [%expect
     {|
-                 #8 +_v
-                  7.00e-1
-                 #9 grad_+_v
-                  1.00
-             #6 *              β”‚#0 b
-              -6.00            β”‚ 6.70
-             #7 grad_*         β”‚#1 grad_b
-              1.00             β”‚ 1.00
-    #2 w         β”‚#4 x         β”‚
-     -3.00  1.00 β”‚ 2.00  0.00  β”‚
-    #3 grad_w    β”‚#5 grad_x    β”‚
-     2.00  0.00  β”‚ -3.00  1.00 β”‚
+     #8 +_v
+      7.00e-1
+     #9 grad_+_v
+      1.00
+    #6 *     β”‚[0]
+     -6.00   β”‚
+    #7 grad_*β”‚
+     1.00    β”‚
+    [2]β”‚[4]  β”‚
     |}]
 
 let%expect_test "2D neuron virtual" =
@@ -549,16 +519,13 @@ let%expect_test "2D neuron virtual" =
   Tensor.print_tree ~with_grad:true ~depth:9 v;
   [%expect
     {|
-                      #8 +_v
-                       7.00e-1
-                      #9 grad_+_v Virt/40
-                      <void>
-              #6 * Local/46              β”‚#0 b
-              <void>                     β”‚ 6.70
-              #7 grad_* Virt/40          β”‚#1 grad_b Local/46
-              <void>                     β”‚<void>
-    #2 w              β”‚#4 x              β”‚
-     -3.00  1.00      β”‚ 2.00  0.00       β”‚
-    #3 grad_w Local/46β”‚#5 grad_x Local/46β”‚
-    <void>            β”‚<void>            β”‚
+     #8 +_v
+      7.00e-1
+     #9 grad_+_v Virt/40
+     <void>
+    #6 * Local/1046  β”‚[0]
+    <void>           β”‚
+    #7 grad_* Virt/40β”‚
+    <void>           β”‚
+    [2]β”‚[4]          β”‚
     |}]
File "test/operations/hello_world_op.ml", line 1, characters 0-0:
C:\cygwin64\bin\git.exe --no-pager diff --no-index --color=always -u --ignore-cr-at-eol _build/.sandbox/088bed97c3f19f6c43831895a06ec917/default/test/operations/hello_world_op.ml _build/.sandbox/088bed97c3f19f6c43831895a06ec917/default/test/operations/hello_world_op.ml.corrected
diff --git a/_build/.sandbox/088bed97c3f19f6c43831895a06ec917/default/test/operations/hello_world_op.ml b/_build/.sandbox/088bed97c3f19f6c43831895a06ec917/default/test/operations/hello_world_op.ml.corrected
index 11e3003..1c5b026 100644
--- a/_build/.sandbox/088bed97c3f19f6c43831895a06ec917/default/test/operations/hello_world_op.ml
+++ b/_build/.sandbox/088bed97c3f19f6c43831895a06ec917/default/test/operations/hello_world_op.ml.corrected
@@ -111,7 +111,8 @@ let%expect_test "Print constant tensor" =
   Tensor.print ~here:[%here] ~with_code:false ~with_grad:false `Inline @@ hey;
   [%expect
     {|
-    [0]: [  1.00 , 2.00 , 3.00  ;  4.00 , 5.00 , 6.00  ]_hey shape 1:3->0:2  [
+    HERE: test/operations/hello_world_op.ml:111:21
+    [0]: [  0.00 , 0.00 , 0.00  ;  0.00 , 0.00 , 0.00  ]_hey shape 1:3->0:2  [
        1.00 , 2.00 , 3.00
       ;  4.00 , 5.00 , 6.00
     ]
@@ -119,9 +120,9 @@ let%expect_test "Print constant tensor" =
   Tensor.print ~here:[%here] ~with_code:false ~with_grad:false `Default @@ hey;
   [%expect
     {|
-    HERE: test/operations/hello_world_op.ml:120:21
+    HERE: test/operations/hello_world_op.ml:119:21
     β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
-    β”‚[0]: [  1.00 , 2.00 , 3.00  ;  4.00 , 5.00 , 6.00  ]_hey shape 1:3->0:2 β”‚
+    β”‚[0]: [  0.00 , 0.00 , 0.00  ;  0.00 , 0.00 , 0.00  ]_hey shape 1:3->0:2 β”‚
     β”‚β”Œβ”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”                                             β”‚
     β”‚β”‚      β”‚axis 1            β”‚                                             β”‚
     β”‚β”œβ”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€                                             β”‚
@@ -135,7 +136,8 @@ let%expect_test "Print constant tensor" =
   Tensor.print ~here:[%here] ~with_code:false ~with_grad:false `Inline @@ hoo;
   [%expect
     {|
-    [1]: [| [ 1.00 ; 2.00 ; 3.00 ] ; [ 4.00 ; 5.00 ; 6.00 ] |]_hoo shape 0:2|1:3  [|
+    HERE: test/operations/hello_world_op.ml:135:21
+    [1]: [| [ 0.00 ; 0.00 ; 0.00 ] ; [ 0.00 ; 0.00 ; 0.00 ] |]_hoo shape 0:2|1:3  [|
       [ 1.00 ; 2.00 ; 3.00 ]
       ; [ 4.00 ; 5.00 ; 6.00 ]
     |]
@@ -143,9 +145,9 @@ let%expect_test "Print constant tensor" =
   Tensor.print ~here:[%here] ~with_code:false ~with_grad:false `Default @@ hoo;
   [%expect
     {|
-    HERE: test/operations/hello_world_op.ml:145:21
+    HERE: test/operations/hello_world_op.ml:143:21
     β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
-    β”‚[1]: [| [ 1.00 ; 2.00 ; 3.00 ] ; [ 4.00 ; 5.00 ; 6.00 ] |]_hoo shape 0:2|1:3 β”‚
+    β”‚[1]: [| [ 0.00 ; 0.00 ; 0.00 ] ; [ 0.00 ; 0.00 ; 0.00 ] |]_hoo shape 0:2|1:3 β”‚
     β”‚β”Œβ”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”                                                  β”‚
     β”‚β”‚      β”‚axis 1            β”‚                                                  β”‚
     β”‚β”œβ”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€                                                  β”‚
@@ -166,7 +168,7 @@ let%expect_test "Print constant tensor" =
   Tensor.print ~here:[%here] ~with_code:false ~with_grad:false `Inline @@ hey2;
   [%expect
     {|
-    HERE: test/operations/hello_world_op.ml:168:21
+    HERE: test/operations/hello_world_op.ml:166:21
     [2]: c4x2x3_hey2 shape 1:2,2:3->0:4  [
        ( 1.00 , 2.00 , 3.00 ) , ( 4.00 , 5.00 , 6.00 )
       ;  ( 7.00 , 8.00 , 9.00 ) , ( 10.00 , 11.00 , 12.00 )
@@ -177,7 +179,7 @@ let%expect_test "Print constant tensor" =
   Tensor.print ~here:[%here] ~with_code:false ~with_grad:false `Default @@ hey2;
   [%expect
     {|
-    HERE: test/operations/hello_world_op.ml:179:21
+    HERE: test/operations/hello_world_op.ml:177:21
     β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
     β”‚[2]: c4x2x3_hey2 shape 1:2,2:3->0:4                             β”‚
     β”‚β”Œβ”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”β”‚
@@ -203,7 +205,7 @@ let%expect_test "Print constant tensor" =
   Tensor.print ~here:[%here] ~with_code:false ~with_grad:false `Inline @@ hoo2;
   [%expect
     {|
-    HERE: test/operations/hello_world_op.ml:205:21
+    HERE: test/operations/hello_world_op.ml:203:21
     [3]: c4x2x3_hoo2 shape 0:4|1:2,2:3  [|
       [ [ 1.00 ; 2.00 ; 3.00 ] ; [ 4.00 ; 5.00 ; 6.00 ] ]
       ; [ [ 7.00 ; 8.00 ; 9.00 ] ; [ 10.00 ; 11.00 ; 12.00 ] ]
@@ -214,7 +216,7 @@ let%expect_test "Print constant tensor" =
   Tensor.print ~here:[%here] ~with_code:false ~with_grad:false `Default @@ hoo2;
   [%expect
     {|
-    HERE: test/operations/hello_world_op.ml:216:21
+    HERE: test/operations/hello_world_op.ml:214:21
     β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
     β”‚[3]: c4x2x3_hoo2 shape 0:4|1:2,2:3                                                                             β”‚
     β”‚β”Œβ”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”β”‚
@@ -238,7 +240,7 @@ let%expect_test "Print constant tensor" =
   Tensor.print ~here:[%here] ~with_code:false ~with_grad:false `Inline @@ heyhoo;
   [%expect
     {|
-    HERE: test/operations/hello_world_op.ml:240:21
+    HERE: test/operations/hello_world_op.ml:238:21
     [4]: c4x2x3_heyhoo shape 0:4,1:2|2:3  [|
       [| [ 1.00 ; 2.00 ; 3.00 ] ; [ 4.00 ; 5.00 ; 6.00 ] |]
       ; [| [ 7.00 ; 8.00 ; 9.00 ] ; [ 10.00 ; 11.00 ; 12.00 ] |]
@@ -249,7 +251,7 @@ let%expect_test "Print constant tensor" =
   Tensor.print ~here:[%here] ~with_code:false ~with_grad:false `Default @@ heyhoo;
   [%expect
     {|
-    HERE: test/operations/hello_world_op.ml:251:21
+    HERE: test/operations/hello_world_op.ml:249:21
     β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
     β”‚[4]: c4x2x3_heyhoo shape 0:4,1:2|2:3                                                                           β”‚
     β”‚β”Œβ”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”β”‚
@@ -273,7 +275,7 @@ let%expect_test "Print constant tensor" =
   Tensor.print ~here:[%here] ~with_code:false ~with_grad:false `Inline @@ heyhoo2;
   [%expect
     {|
-    HERE: test/operations/hello_world_op.ml:275:21
+    HERE: test/operations/hello_world_op.ml:273:21
     [5]: c4x2x3x2_heyhoo2 shape 0:4,1:2|2:3,3:2  [|
       [|
         [ [ 1.00 ; 31.00 ] ; [ 2.00 ; 32.00 ] ; [ 3.00 ; 33.00 ] ]
@@ -296,7 +298,7 @@ let%expect_test "Print constant tensor" =
   Tensor.print ~here:[%here] ~with_code:false ~with_grad:false `Default @@ heyhoo2;
   [%expect
     {|
-    HERE: test/operations/hello_world_op.ml:298:21
+    HERE: test/operations/hello_world_op.ml:296:21
     β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
     β”‚[5]: c4x2x3x2_heyhoo2 shape 0:4,1:2|2:3,3:2   β”‚
     β”‚β”Œβ”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”β”‚
@@ -337,7 +339,7 @@ let%expect_test "Print constant tensor" =
   Tensor.print ~here:[%here] ~with_code:false ~with_grad:false `Inline @@ heyhoo3;
   [%expect
     {|
-    HERE: test/operations/hello_world_op.ml:339:21
+    HERE: test/operations/hello_world_op.ml:337:21
     [6]: c2x2x2x3x2_heyhoo3 shape 0:2,1:2|2:2,3:3,4:2  [|
       [|
         [
@@ -364,7 +366,7 @@ let%expect_test "Print constant tensor" =
   Tensor.print ~here:[%here] ~with_code:false ~with_grad:false `Default @@ heyhoo3;
   [%expect
     {|
-    HERE: test/operations/hello_world_op.ml:366:21
+    HERE: test/operations/hello_world_op.ml:364:21
     β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
     β”‚[6]: c2x2x2x3x2_heyhoo3 shape 0:2,1:2|2:2,3:3,4:2 β”‚
     β”‚β”Œβ”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”       β”‚
@@ -410,7 +412,7 @@ let%expect_test "Print constant tensor" =
   Tensor.print ~here:[%here] ~with_code:false ~with_grad:false `Inline @@ heyhoo4;
   [%expect
     {|
-    HERE: test/operations/hello_world_op.ml:412:21
+    HERE: test/operations/hello_world_op.ml:410:21
     [7]: c2x2x2x3x2_heyhoo4 shape 0:2|4:2->1:2,2:2,3:3  [|
       [
         [
@@ -437,7 +439,7 @@ let%expect_test "Print constant tensor" =
   Tensor.print ~here:[%here] ~with_code:false ~with_grad:false `Default @@ heyhoo4;
   [%expect
     {|
-    HERE: test/operations/hello_world_op.ml:439:21
+    HERE: test/operations/hello_world_op.ml:437:21
     β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
     β”‚[7]: c2x2x2x3x2_heyhoo4 shape 0:2|4:2->1:2,2:2,3:3 β”‚
     β”‚β”Œβ”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”        β”‚
@@ -488,7 +490,7 @@ let%expect_test "Matrix multiplication dims 2x3" =
   Tensor.print ~here:[%here] ~with_code:false ~with_grad:false `Default @@ hey;
   [%expect
     {|
-    HERE: test/operations/hello_world_op.ml:490:21
+    HERE: test/operations/hello_world_op.ml:488:21
     β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
     β”‚[0]: hey shape 1:2->0:3 β”‚
     β”‚β”Œβ”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”   β”‚
@@ -503,7 +505,7 @@ let%expect_test "Matrix multiplication dims 2x3" =
   Tensor.print ~here:[%here] ~with_code:false ~with_grad:false `Default @@ y;
   [%expect
     {|
-    HERE: test/operations/hello_world_op.ml:505:21
+    HERE: test/operations/hello_world_op.ml:503:21
     β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
     β”‚[6]: +_y shape 0:3            β”‚
     β”‚β”Œβ”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”β”‚
@@ -536,7 +538,7 @@ let%expect_test "Big matrix" =
   Tensor.print ~here:[%here] ~with_code:false ~with_grad:false `Default hey;
   [%expect
     {|
-    HERE: test/operations/hello_world_op.ml:538:21
+    HERE: test/operations/hello_world_op.ml:536:21
     β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
     β”‚[0]: hey shape 1:21->0:21                         β”‚
     β”‚β”Œβ”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”β”‚
@@ -553,7 +555,7 @@ let%expect_test "Big matrix" =
   Tensor.print ~here:[%here] ~with_code:false ~with_grad:false `Default y;
   [%expect
     {|
-    HERE: test/operations/hello_world_op.ml:555:21
+    HERE: test/operations/hello_world_op.ml:553:21
     β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
     β”‚[5]: + shape 0:21                           β”‚
     β”‚β”Œβ”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”β”‚
@@ -587,7 +589,7 @@ let%expect_test "Very big tensor" =
   Tensor.print ~here:[%here] ~with_code:false ~with_grad:false `Default hey;
   [%expect
     {|
-    HERE: test/operations/hello_world_op.ml:589:21
+    HERE: test/operations/hello_world_op.ml:587:21
     β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
     β”‚[0]: r6x10x11x7x8x9 shape 0:6|3:7,4:8,5:9->1:10,2:11                                                                                                                                   β”‚
     β”‚β”Œβ”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”β”‚
@@ -725,7 +727,7 @@ let%expect_test "Very big tensor" =
   (* Disable line wrapping for viewing the output. In VSCode: `View: Toggle Word Wrap`. *)
   [%expect
     {|
-    HERE: test/operations/hello_world_op.ml:726:21
+    HERE: test/operations/hello_world_op.ml:724:21
     β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
     β”‚[6]: -_hoo shape 0:6|1:10,2:11                                                                                                                                                         β”‚
     β”‚β”Œβ”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”β”‚
File "test/einsum/einsum_trivia.ml", line 1, characters 0-0:
C:\cygwin64\bin\git.exe --no-pager diff --no-index --color=always -u --ignore-cr-at-eol _build/.sandbox/f0706d87b6dc8dbe62d0d1c267691bec/default/test/einsum/einsum_trivia.ml _build/.sandbox/f0706d87b6dc8dbe62d0d1c267691bec/default/test/einsum/einsum_trivia.ml.corrected
diff --git a/_build/.sandbox/f0706d87b6dc8dbe62d0d1c267691bec/default/test/einsum/einsum_trivia.ml b/_build/.sandbox/f0706d87b6dc8dbe62d0d1c267691bec/default/test/einsum/einsum_trivia.ml.corrected
index 2125658..c257814 100644
--- a/_build/.sandbox/f0706d87b6dc8dbe62d0d1c267691bec/default/test/einsum/einsum_trivia.ml
+++ b/_build/.sandbox/f0706d87b6dc8dbe62d0d1c267691bec/default/test/einsum/einsum_trivia.ml.corrected
@@ -996,177 +996,177 @@ let%expect_test "outer_sum simulating axis concatenation" =
   [%expect
     {|
     HERE: test/einsum/einsum_trivia.ml:995: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.52e-38  1.72e-38  1.98e-38 β”‚β”‚
+    β”‚β”‚axis 2β”‚ 1.53e-38  1.61e-38  1.00     β”‚β”‚
+    β”‚β”‚      β”‚ ...       ...       ...      β”‚β”‚
+    β”‚β”‚      β”‚ 1.61e-38  1.65e-38  4.00     β”‚β”‚
+    β”‚β”‚      β”‚ 1.67e-38  1.63e-38  5.00     β”‚β”‚
+    β”‚β”œβ”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”‚
+    β”‚β”‚1 @ 1 β”‚ 1.52e-38  1.00  1.88e-38     β”‚β”‚
+    β”‚β”‚axis 2β”‚ 1.53e-38  1.00  1.00         β”‚β”‚
+    β”‚β”‚      β”‚ ...       ...   ...          β”‚β”‚
+    β”‚β”‚      β”‚ 1.61e-38  1.00  4.00         β”‚β”‚
+    β”‚β”‚      β”‚ 1.67e-38  1.00  5.00         β”‚β”‚
+    β”‚β”œβ”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”‚
+    β”‚β”‚2 @ 1 β”‚ 1.59e-38  2.00  1.86e-38     β”‚β”‚
+    β”‚β”‚axis 2β”‚ 1.60e-38  2.00  1.00         β”‚β”‚
+    β”‚β”‚      β”‚ ...       ...   ...          β”‚β”‚
+    β”‚β”‚      β”‚ 1.68e-38  2.00  4.00         β”‚β”‚
+    β”‚β”‚      β”‚ 1.74e-38  2.00  5.00         β”‚β”‚
+    β”‚β”œβ”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”‚
+    β”‚β”‚3 @ 1 β”‚ 1.54e-38  3.00  2.10e-38     β”‚β”‚
+    β”‚β”‚axis 2β”‚ 1.55e-38  3.00  1.00         β”‚β”‚
+    β”‚β”‚      β”‚ ...       ...   ...          β”‚β”‚
+    β”‚β”‚      β”‚ 1.63e-38  3.00  4.00         β”‚β”‚
+    β”‚β”‚      β”‚ 1.68e-38  3.00  5.00         β”‚β”‚
+    β”‚β”œβ”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”‚
+    β”‚β”‚4 @ 1 β”‚ 1.52e-38  4.00  2.04e-38     β”‚β”‚
+    β”‚β”‚axis 2β”‚ 1.53e-38  4.00  1.00         β”‚β”‚
+    β”‚β”‚      β”‚ ...       ...   ...          β”‚β”‚
+    β”‚β”‚      β”‚ 1.61e-38  4.00  4.00         β”‚β”‚
+    β”‚β”‚      β”‚ 1.67e-38  4.00  5.00         β”‚β”‚
+    β”‚β””β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜β”‚
+    β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
+    β”‚β”Œβ”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”‚
+    β”‚β”‚1 @ 0 β”‚axis 3                    β”‚    β”‚
+    β”‚β”œβ”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€    β”‚
+    β”‚β”‚0 @ 1 β”‚ 1.00  1.58e-38  1.91e-38 β”‚    β”‚
+    β”‚β”‚axis 2β”‚ 1.00  1.47e-38  1.00     β”‚    β”‚
+    β”‚β”‚      β”‚ ...   ...       ...      β”‚    β”‚
+    β”‚β”‚      β”‚ 1.00  1.51e-38  4.00     β”‚    β”‚
+    β”‚β”‚      β”‚ 1.00  1.49e-38  5.00     β”‚    β”‚
+    β”‚β”œβ”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€    β”‚
+    β”‚β”‚1 @ 1 β”‚ 1.00  1.00  1.80e-38     β”‚    β”‚
+    β”‚β”‚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  1.79e-38     β”‚    β”‚
+    β”‚β”‚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  2.02e-38     β”‚    β”‚
+    β”‚β”‚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  1.97e-38     β”‚    β”‚
+    β”‚β”‚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  1.58e-38  2.05e-38 β”‚    β”‚
+    β”‚β”‚axis 2β”‚ 2.00  1.47e-38  1.00     β”‚    β”‚
+    β”‚β”‚      β”‚ ...   ...       ...      β”‚    β”‚
+    β”‚β”‚      β”‚ 2.00  1.51e-38  4.00     β”‚    β”‚
+    β”‚β”‚      β”‚ 2.00  1.49e-38  5.00     β”‚    β”‚
+    β”‚β”œβ”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€    β”‚
+    β”‚β”‚1 @ 1 β”‚ 2.00  1.00  1.95e-38     β”‚    β”‚
+    β”‚β”‚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  1.93e-38     β”‚    β”‚
+    β”‚β”‚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  2.17e-38     β”‚    β”‚
+    β”‚β”‚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  2.12e-38     β”‚    β”‚
+    β”‚β”‚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  7.16e-39  1.41e-38 β”‚    β”‚
+    β”‚β”‚axis 2β”‚ 3.00  6.06e-39  1.00     β”‚    β”‚
+    β”‚β”‚      β”‚ ...   ...       ...      β”‚    β”‚
+    β”‚β”‚      β”‚ 3.00  6.42e-39  4.00     β”‚    β”‚
+    β”‚β”‚      β”‚ 3.00  6.24e-39  5.00     β”‚    β”‚
+    β”‚β”œβ”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€    β”‚
+    β”‚β”‚1 @ 1 β”‚ 3.00  1.00  1.31e-38     β”‚    β”‚
+    β”‚β”‚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  1.29e-38     β”‚    β”‚
+    β”‚β”‚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  1.53e-38     β”‚    β”‚
+    β”‚β”‚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  1.47e-38     β”‚    β”‚
+    β”‚β”‚axis 2β”‚ 3.00  4.00  1.00         β”‚    β”‚
+    β”‚β”‚      β”‚ ...   ...   ...          β”‚    β”‚
+    β”‚β”‚      β”‚ 3.00  4.00  4.00         β”‚    β”‚
+    β”‚β”‚      β”‚ 3.00  4.00  5.00         β”‚    β”‚
+    β”‚β””β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜    β”‚
+    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
     |}];
   Tensor.print ~here:[%here] ~with_code:false ~with_grad:false `Default @@ ti;
   [%expect
     {|
     HERE: test/einsum/einsum_trivia.ml:1138: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.01e-38  9.91e-39 β”‚β”‚
+    β”‚β”‚      β”‚ 1.00  8.72e-39  9.18e-39 β”‚β”‚
+    β”‚β”‚      β”‚ 2.00  8.72e-39  1.06e-38 β”‚β”‚
+    β”‚β”‚      β”‚ 3.00  1.41e-43  4.22e-39 β”‚β”‚
+    β”‚β””β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜β”‚
+    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
     |}];
   Tensor.print ~here:[%here] ~with_code:false ~with_grad:false `Default @@ tk;
   [%expect
     {|
     HERE: test/einsum/einsum_trivia.ml:1154:21
-    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
-    β”‚[7]: =>_tk shape 0:6,1:3   β”‚
-    β”‚β”Œβ”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”β”‚
-    β”‚β”‚      β”‚axis 1            β”‚β”‚
-    β”‚β”œβ”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”‚
-    β”‚β”‚axis 0β”‚ 0.00  0.00  0.00 β”‚β”‚
-    β”‚β”‚      β”‚ 0.00  0.00  1.00 β”‚β”‚
-    β”‚β”‚      β”‚ ...   ...   ...  β”‚β”‚
-    β”‚β”‚      β”‚ 0.00  0.00  4.00 β”‚β”‚
-    β”‚β”‚      β”‚ 0.00  0.00  5.00 β”‚β”‚
-    β”‚β””β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜β”‚
-    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
+    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
+    β”‚[7]: =>_tk shape 0:6,1:3           β”‚
+    β”‚β”Œβ”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”β”‚
+    β”‚β”‚      β”‚axis 1                    β”‚β”‚
+    β”‚β”œβ”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”‚
+    β”‚β”‚axis 0β”‚ 6.15e-39  7.16e-39  0.00 β”‚β”‚
+    β”‚β”‚      β”‚ 6.24e-39  6.06e-39  1.00 β”‚β”‚
+    β”‚β”‚      β”‚ ...       ...       ...  β”‚β”‚
+    β”‚β”‚      β”‚ 7.07e-39  6.42e-39  4.00 β”‚β”‚
+    β”‚β”‚      β”‚ 7.62e-39  6.24e-39  5.00 β”‚β”‚
+    β”‚β””β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜β”‚
+    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
     |}]
 
 let%expect_test "einsum with a leftmost input axis preserved as output axis" =
File "test/training/moons_demo_parallel.expected", line 1, characters 0-0:
C:\cygwin64\bin\git.exe --no-pager diff --no-index --color=always -u --ignore-cr-at-eol _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..5b81edf 100644
--- a/_build/default/test/training/moons_demo_parallel.expected
+++ b/_build/default/test/training/moons_demo_parallel.exe.output
@@ -1 +1,140 @@
-Success
+

+Welcome to OCANNL! Reading configuration defaults from C:\Users\opam\src\_build\default\test\training\ocannl_config.

+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.16    β”‚                 -                                                                                  β”‚

+β”‚         β”‚  -  - -  - -  - -- - -- - -- - -- - -- - -- - -- - -- - -- - -  - -  - -  - -  - -  - -  - -  - -  β”‚

+β”‚         β”‚   - -  - -  - -- - -- - -- - -- - -- - -- - -- - -- - -- - -- - -- - -- - -- - -- - -- - -- - ---- β”‚

+β”‚         β”‚-  -  - -  - -  - -  - -  - -- - -- - -- - -- - -- - -- - -- - -- - -- - -- - -- - -- - -- - -- - --β”‚

+β”‚         β”‚-  -  - -  - -  -  - -  - -  - -  - -  - -  - -  - -  - -  - -  - -  - -  - -  - -  - -  - -- - -- -β”‚

+β”‚         β”‚-   - -  - -  - -  - -  - -    -                 -  - -  - -  - -  - -  - -  - -  - -  - -  - -  - -β”‚

+β”‚         β”‚                   -  - -  - -  - -  - -  - -  -                -  - -  - -  - -  -                 β”‚

+β”‚         β”‚-   - -  - -  -  -                               -  - -  - -  -                                     β”‚

+β”‚         β”‚                                       -  - -  -                                                    β”‚

+β”‚         β”‚                             -    -  -                                                              β”‚

+β”‚         β”‚                        -  -    -                                                                   β”‚

+β”‚         β”‚                   -                                                                                β”‚

+β”‚         β”‚                      -                                                                             β”‚

+β”‚b        β”‚                                                                                                    β”‚

+β”‚a        β”‚              -                                                                                     β”‚

+β”‚t        β”‚                 -                                                                                  β”‚

+β”‚c        β”‚                                                                                                    β”‚

+β”‚h        β”‚                                                                                                    β”‚

+β”‚         β”‚                                                                                                    β”‚

+β”‚l        β”‚                                                                                                    β”‚

+β”‚o        β”‚                                                                                                    β”‚

+β”‚g        β”‚                                                                                                    β”‚

+β”‚         β”‚                                                                                                    β”‚

+β”‚l        β”‚                                                                                                    β”‚

+β”‚o        β”‚                                                                                                    β”‚

+β”‚s        β”‚                                                                                                    β”‚

+β”‚s        β”‚                                                                                                    β”‚

+β”‚         β”‚                                                                                                    β”‚

+β”‚         β”‚                                                                                                    β”‚

+β”‚         β”‚                                                                                                    β”‚

+β”‚         β”‚                                                                                                    β”‚

+β”‚         β”‚                                                                                                    β”‚

+β”‚         β”‚                                                                                                    β”‚

+β”‚         β”‚                                                                                                    β”‚

+β”‚         β”‚                                                                                                    β”‚

+β”‚         β”‚                                                                                                    β”‚

+β”‚         β”‚                                                                                                    β”‚

+β”‚         β”‚                                                                                                    β”‚

+β”‚         β”‚                                                                                                    β”‚

+β”‚ -1.04e+1β”‚ -- -  - -  - -                                                                                     β”‚

+β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€

+β”‚         β”‚0.00                                                                                         3.99e+2β”‚

+β”‚         β”‚                                                step                                                β”‚

+β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

+Epoch Log-loss:

+β”Œβ”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”

+β”‚ 5.48β”‚               -                                                                                    β”‚

+β”‚     β”‚                    -    -    -    -    -                                                           β”‚

+β”‚     β”‚                                             -    -    -    -    -    -                             β”‚

+β”‚     β”‚                                                                           -    -    -    -    -    β”‚

+β”‚     β”‚                                                                                                    β”‚

+β”‚     β”‚                                                                                                    β”‚

+β”‚     β”‚                                                                                                    β”‚

+β”‚     β”‚                                                                                                    β”‚

+β”‚     β”‚                                                                                                    β”‚

+β”‚     β”‚                                                                                                    β”‚

+β”‚     β”‚                                                                                                    β”‚

+β”‚     β”‚                                                                                                    β”‚

+β”‚     β”‚                                                                                                    β”‚

+β”‚e    β”‚     -    -                                                                                         β”‚

+β”‚p    β”‚                                                                                                    β”‚

+β”‚o    β”‚                                                                                                    β”‚

+β”‚c    β”‚                                                                                                    β”‚

+β”‚h    β”‚                                                                                                    β”‚

+β”‚     β”‚                                                                                                    β”‚

+β”‚l    β”‚                                                                                                    β”‚

+β”‚o    β”‚                                                                                                    β”‚

+β”‚g    β”‚                                                                                                    β”‚

+β”‚     β”‚                                                                                                    β”‚

+β”‚l    β”‚                                                                                                    β”‚

+β”‚o    β”‚                                                                                                    β”‚

+β”‚s    β”‚                                                                                                    β”‚

+β”‚s    β”‚                                                                                                    β”‚

+β”‚     β”‚                                                                                                    β”‚

+β”‚     β”‚                                                                                                    β”‚

+β”‚     β”‚                                                                                                    β”‚

+β”‚     β”‚                                                                                                    β”‚

+β”‚     β”‚                                                                                                    β”‚

+β”‚     β”‚                                                                                                    β”‚

+β”‚     β”‚                                                                                                    β”‚

+β”‚     β”‚                                                                                                    β”‚

+β”‚     β”‚                                                                                                    β”‚

+β”‚     β”‚                                                                                                    β”‚

+β”‚     β”‚                                                                                                    β”‚

+β”‚     β”‚                                                                                                    β”‚

+β”‚ 4.81β”‚-                                                                                                   β”‚

+β”œβ”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€

+β”‚     β”‚0.00                                                                                         1.90e+1β”‚

+β”‚     β”‚                                                step                                                β”‚

+β””β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
\ No newline at end of file
"cd /cygdrive/c/Users/opam/src && opam exec -- dune build @install @check @runtest && rm -rf _build" failed with exit status 1
2025-07-15 20:44.51: Job failed: Failed: Build failed