2025-05-31 10:11.36: New job: test ahrefs/ocannl https://github.com/ahrefs/ocannl.git#refs/heads/master (d49bc965f5fe7c717cd2c17c3b7f5b0a883d11fb) (linux-arm64:debian-12-5.3_arm32_opam-2.3) Base: ocaml/opam:debian-12-ocaml-5.3@sha256:71c585b40a233634d2ba60a97652fd4cb5dae7b100662571d5727ada704faa6f Opam project build To reproduce locally: git clone --recursive "https://github.com/ahrefs/ocannl.git" -b "master" && cd "ocannl" && git reset --hard d49bc965 cat > Dockerfile <<'END-OF-DOCKERFILE' FROM ocaml/opam:debian-12-ocaml-5.3@sha256:71c585b40a233634d2ba60a97652fd4cb5dae7b100662571d5727ada704faa6f # debian-12-5.3_arm32_opam-2.3 USER 1000:1000 SHELL [ "/usr/bin/linux32", "/bin/sh", "-c" ] ENV CLICOLOR_FORCE="1" ENV OPAMCOLOR="always" WORKDIR /src RUN sudo ln -f /usr/bin/opam-2.3 /usr/bin/opam RUN opam init --reinit -ni RUN uname -rs && opam exec -- ocaml -version && opam --version WORKDIR /src RUN sudo chown opam /src RUN cd ~/opam-repository && (git cat-file -e 5d2fb3923b40a5570824690009441d947b823e8f || git fetch origin master) && git reset -q --hard 5d2fb3923b40a5570824690009441d947b823e8f && git log --no-decorate -n1 --oneline && opam update -u COPY --chown=1000:1000 neural_nets_lib.opam arrayjit.opam ./ RUN opam pin add -yn neural_nets_lib.dev './' && \ opam pin add -yn arrayjit.dev './' RUN echo '(lang dune 3.0)' > './dune-project' ENV DEPS="angstrom.0.16.1 astring.0.8.5 backoff.0.1.1 base.v0.17.1 base-bigarray.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 cmdliner.1.3.0 conf-libffi.2.0.0 conf-pkg-config.4 cppo.1.8.0 csexp.1.5.2 ctypes.0.23.0 ctypes-foreign.0.23.0 dune.3.19.0 dune-configurator.3.19.0 fieldslib.v0.17.0 fmt.0.10.0 integers.0.7.0 jane-street-headers.v0.17.0 jst-config.v0.17.0 logs.0.8.0 mdx.2.5.0 mtime.2.1.0 multicore-magic.2.3.1 num.1.5-1 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-option-bytecode-only.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.0.3 ppx_enumerate.v0.17.0 ppx_expect.v0.17.2 ppx_fields_conv.v0.17.0 ppx_globalize.v0.17.0 ppx_hash.v0.17.0 ppx_here.v0.17.0 ppx_inline_test.v0.17.0 ppx_minidebug.2.2.0 ppx_optcomp.v0.17.0 ppx_sexp_conv.v0.17.0 ppx_string.v0.17.0 ppx_variants_conv.v0.17.0 ppxlib.0.35.0 ppxlib_jane.v0.17.2 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.12.0 result.1.5 saturn_lockfree.0.5.0 seq.base sexplib.v0.17.0 sexplib0.v0.17.0 stdio.v0.17.0 stdlib-shims.0.3.0 thread-local-storage.0.2 time_now.v0.17.0 topkg.1.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 . /src RUN opam exec -- dune build @install @check @runtest && rm -rf _build END-OF-DOCKERFILE docker build . END-REPRO-BLOCK 2025-05-31 10:11.36: Using cache hint "ahrefs/ocannl-ocaml/opam:debian-12-ocaml-5.3@sha256:71c585b40a233634d2ba60a97652fd4cb5dae7b100662571d5727ada704faa6f-debian-12-5.3_arm32_opam-2.3-f1a006e910cfcb610f84773900505861" 2025-05-31 10:11.36: Using OBuilder spec: ((from ocaml/opam:debian-12-ocaml-5.3@sha256:71c585b40a233634d2ba60a97652fd4cb5dae7b100662571d5727ada704faa6f) (comment debian-12-5.3_arm32_opam-2.3) (user (uid 1000) (gid 1000)) (shell /usr/bin/linux32 /bin/sh -c) (env CLICOLOR_FORCE 1) (env OPAMCOLOR always) (workdir /src) (run (shell "sudo ln -f /usr/bin/opam-2.3 /usr/bin/opam")) (run (shell "opam init --reinit -ni")) (run (shell "uname -rs && opam exec -- ocaml -version && opam --version")) (workdir /src) (run (shell "sudo chown opam /src")) (run (cache (opam-archives (target /home/opam/.opam/download-cache))) (network host) (shell "cd ~/opam-repository && (git cat-file -e 5d2fb3923b40a5570824690009441d947b823e8f || git fetch origin master) && git reset -q --hard 5d2fb3923b40a5570824690009441d947b823e8f && git log --no-decorate -n1 --oneline && opam update -u")) (copy (src neural_nets_lib.opam arrayjit.opam) (dst ./)) (run (network host) (shell "opam pin add -yn neural_nets_lib.dev './' && \ \nopam pin add -yn arrayjit.dev './'")) (run (network host) (shell "echo '(lang dune 3.0)' > './dune-project'")) (env DEPS "angstrom.0.16.1 astring.0.8.5 backoff.0.1.1 base.v0.17.1 base-bigarray.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 cmdliner.1.3.0 conf-libffi.2.0.0 conf-pkg-config.4 cppo.1.8.0 csexp.1.5.2 ctypes.0.23.0 ctypes-foreign.0.23.0 dune.3.19.0 dune-configurator.3.19.0 fieldslib.v0.17.0 fmt.0.10.0 integers.0.7.0 jane-street-headers.v0.17.0 jst-config.v0.17.0 logs.0.8.0 mdx.2.5.0 mtime.2.1.0 multicore-magic.2.3.1 num.1.5-1 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-option-bytecode-only.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.0.3 ppx_enumerate.v0.17.0 ppx_expect.v0.17.2 ppx_fields_conv.v0.17.0 ppx_globalize.v0.17.0 ppx_hash.v0.17.0 ppx_here.v0.17.0 ppx_inline_test.v0.17.0 ppx_minidebug.2.2.0 ppx_optcomp.v0.17.0 ppx_sexp_conv.v0.17.0 ppx_string.v0.17.0 ppx_variants_conv.v0.17.0 ppxlib.0.35.0 ppxlib_jane.v0.17.2 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.12.0 result.1.5 saturn_lockfree.0.5.0 seq.base sexplib.v0.17.0 sexplib0.v0.17.0 stdio.v0.17.0 stdlib-shims.0.3.0 thread-local-storage.0.2 time_now.v0.17.0 topkg.1.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 /home/opam/.opam/download-cache))) (network host) (shell "opam update --depexts && opam install --cli=2.3 --depext-only -y neural_nets_lib.dev arrayjit.dev $DEPS")) (run (cache (opam-archives (target /home/opam/.opam/download-cache))) (network host) (shell "opam install $DEPS")) (copy (src .) (dst /src)) (run (shell "opam exec -- dune build @install @check @runtest && rm -rf _build")) ) 2025-05-31 10:11.36: Waiting for resource in pool OCluster 2025-05-31 10:11.36: Waiting for workerβ¦ 2025-05-31 10:11.36: Got resource from pool OCluster Building on molpadia.caelum.ci.dev HEAD is now at 367ff3b7 Claude's third pass at adding BF16, FP8: proper conversions in pure C Claude decided to provide full definitions to inline rather than just headers for jitted C sources, for performance. HEAD is now at d49bc965 Fixes #204 and #319: fix emulation of FP8, BF16 via single prec floats in Pure_C_config numerics (from ocaml/opam:debian-12-ocaml-5.3@sha256:71c585b40a233634d2ba60a97652fd4cb5dae7b100662571d5727ada704faa6f) Unable to find image 'ocaml/opam:debian-12-ocaml-5.3@sha256:71c585b40a233634d2ba60a97652fd4cb5dae7b100662571d5727ada704faa6f' locally docker.io/ocaml/opam@sha256:71c585b40a233634d2ba60a97652fd4cb5dae7b100662571d5727ada704faa6f: Pulling from ocaml/opam Digest: sha256:71c585b40a233634d2ba60a97652fd4cb5dae7b100662571d5727ada704faa6f Status: Downloaded newer image for ocaml/opam@sha256:71c585b40a233634d2ba60a97652fd4cb5dae7b100662571d5727ada704faa6f WARNING: The requested image's platform (linux/arm/v7) does not match the detected host platform (linux/arm64/v8) and no specific platform was requested 2025-05-31 10:11.38 ---> using "4014f3d07420d009ce6703e770f4e84f8da319d8f2397f249f6d8bb27eb76ab4" from cache /: (comment debian-12-5.3_arm32_opam-2.3) /: (user (uid 1000) (gid 1000)) /: (shell /usr/bin/linux32 /bin/sh -c) /: (env CLICOLOR_FORCE 1) /: (env OPAMCOLOR always) /: (workdir /src) /src: (run (shell "sudo ln -f /usr/bin/opam-2.3 /usr/bin/opam")) 2025-05-31 10:11.38 ---> using "006c71a59f49e5628c158da699cec04f5ac8489fcc13393712f5c5f8540ece08" from cache /src: (run (shell "opam init --reinit -ni")) Configuring from /home/opam/.opamrc and then from built-in defaults. Checking for available remotes: rsync and local, git. - you won't be able to use mercurial repositories unless you install the hg command on your system. - you won't be able to use darcs repositories unless you install the darcs command on your system. Continue? [y/n] y This development version of opam requires an update to the layout of /home/opam/.opam from version 2.0 to version 2.2, which can't be reverted. You may want to back it up before going further. Format upgrade done. <><> Updating repositories ><><><><><><><><><><><><><><><><><><><><><><><><><><> [default] Initialised 2025-05-31 10:11.38 ---> using "314e9124bb78cc1087879e80c40df8c7548a14e79c16ffec4c1e54d307e9e311" from cache /src: (run (shell "uname -rs && opam exec -- ocaml -version && opam --version")) Linux 5.15.0-134-generic The OCaml toplevel, version 5.3.0 2.3.0 2025-05-31 10:11.38 ---> using "6a2d60bb9de3b6159a54ab46f59b5dfe72a365cd372830e90e2e08d296a6501a" from cache /src: (workdir /src) /src: (run (shell "sudo chown opam /src")) 2025-05-31 10:11.38 ---> using "a544d8562359f0a4175bab283fb8c7c206c8941d5cb9b40cc7f7d0b1e3b1257f" from cache /src: (run (cache (opam-archives (target /home/opam/.opam/download-cache))) (network host) (shell "cd ~/opam-repository && (git cat-file -e 5d2fb3923b40a5570824690009441d947b823e8f || git fetch origin master) && git reset -q --hard 5d2fb3923b40a5570824690009441d947b823e8f && git log --no-decorate -n1 --oneline && opam update -u")) From https://github.com/ocaml/opam-repository * branch master -> FETCH_HEAD 35eb2f107a..5d2fb3923b master -> origin/master 5d2fb3923b Merge pull request #27963 from mseri/base-ppxlib <><> Updating package repositories ><><><><><><><><><><><><><><><><><><><><><><> [default] synchronised from git+file:///home/opam/opam-repository Everything as up-to-date as possible (run with --verbose to show unavailable upgrades). However, you may "opam upgrade" these packages explicitly, which will ask permission to downgrade or uninstall the conflicting packages. Nothing to do. # To update the current shell environment, run: eval $(opam env) 2025-05-31 10:11.38 ---> using "b13c4df3ebe8d474f1f2ac05037362fffbc9d7efbde487e10a6c9fbbc7f26736" from cache /src: (copy (src neural_nets_lib.opam arrayjit.opam) (dst ./)) 2025-05-31 10:11.38 ---> using "ba4f0aece3d4fe0bbb50cfa31b4c5e93927d554f59d8f8beb66e722908faf769" from cache /src: (run (network host) (shell "opam pin add -yn neural_nets_lib.dev './' && \ \nopam pin add -yn arrayjit.dev './'")) [neural_nets_lib.dev] synchronised (file:///src) neural_nets_lib is now pinned to file:///src (version dev) [arrayjit.dev] synchronised (file:///src) arrayjit is now pinned to file:///src (version dev) 2025-05-31 10:11.38 ---> using "09f538467c192eb5c571e1bc39a70e981a3aeb085cb565c435b94119cf170bd5" from cache /src: (run (network host) (shell "echo '(lang dune 3.0)' > './dune-project'")) 2025-05-31 10:11.38 ---> using "a8a9853939536099ddc7c7efaba757f499c695e995f914b7864c76957ab94be2" from cache /src: (env DEPS "angstrom.0.16.1 astring.0.8.5 backoff.0.1.1 base.v0.17.1 base-bigarray.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 cmdliner.1.3.0 conf-libffi.2.0.0 conf-pkg-config.4 cppo.1.8.0 csexp.1.5.2 ctypes.0.23.0 ctypes-foreign.0.23.0 dune.3.19.0 dune-configurator.3.19.0 fieldslib.v0.17.0 fmt.0.10.0 integers.0.7.0 jane-street-headers.v0.17.0 jst-config.v0.17.0 logs.0.8.0 mdx.2.5.0 mtime.2.1.0 multicore-magic.2.3.1 num.1.5-1 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-option-bytecode-only.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.0.3 ppx_enumerate.v0.17.0 ppx_expect.v0.17.2 ppx_fields_conv.v0.17.0 ppx_globalize.v0.17.0 ppx_hash.v0.17.0 ppx_here.v0.17.0 ppx_inline_test.v0.17.0 ppx_minidebug.2.2.0 ppx_optcomp.v0.17.0 ppx_sexp_conv.v0.17.0 ppx_string.v0.17.0 ppx_variants_conv.v0.17.0 ppxlib.0.35.0 ppxlib_jane.v0.17.2 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.12.0 result.1.5 saturn_lockfree.0.5.0 seq.base sexplib.v0.17.0 sexplib0.v0.17.0 stdio.v0.17.0 stdlib-shims.0.3.0 thread-local-storage.0.2 time_now.v0.17.0 topkg.1.0.8 tyxml.4.6.0 uucp.16.0.0 uutf.1.0.4 variantslib.v0.17.0") /src: (env CI true) /src: (env OCAMLCI true) /src: (run (cache (opam-archives (target /home/opam/.opam/download-cache))) (network host) (shell "opam update --depexts && opam install --cli=2.3 --depext-only -y neural_nets_lib.dev arrayjit.dev $DEPS")) + /usr/bin/sudo "apt-get" "update" - Get:1 http://deb.debian.org/debian bookworm InRelease [151 kB] - Get:2 http://deb.debian.org/debian bookworm-updates InRelease [55.4 kB] - Get:3 http://deb.debian.org/debian-security bookworm-security InRelease [48.0 kB] - Get:4 http://deb.debian.org/debian bookworm/main armhf Packages [8508 kB] - Get:5 http://deb.debian.org/debian-security bookworm-security/main armhf Packages [246 kB] - Fetched 9009 kB in 1s (6294 kB/s) - Reading package lists... - <><> Synchronising pinned packages ><><><><><><><><><><><><><><><><><><><><><><> [neural_nets_lib.dev] synchronised (file:///src) [arrayjit.dev] synchronised (file:///src) [NOTE] Package ocaml-options-vanilla is already installed (current version is 1). [NOTE] Package ocaml-option-bytecode-only is already installed (current version is 1). [NOTE] Package ocaml-config is already installed (current version is 3). [NOTE] Package ocaml-compiler is already installed (current version is 5.3.0). [NOTE] Package ocaml-base-compiler is already installed (current version is 5.3.0). [NOTE] Package ocaml is already installed (current version is 5.3.0). [NOTE] Package base-unix is already installed (current version is base). [NOTE] Package base-threads is already installed (current version is base). [NOTE] Package base-nnp is already installed (current version is base). [NOTE] Package base-effects is already installed (current version is base). [NOTE] Package base-domains is already installed (current version is base). [NOTE] Package base-bigarray is already installed (current version is base). The following system packages will first need to be installed: libffi-dev pkg-config <><> Handling external dependencies <><><><><><><><><><><><><><><><><><><><><><> + /usr/bin/sudo "apt-get" "install" "-qq" "-yy" "libffi-dev" "pkg-config" - debconf: delaying package configuration, since apt-utils is not installed - Selecting previously unselected package libffi-dev:armhf. - (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 18506 files and directories currently installed.) - Preparing to unpack .../libffi-dev_3.4.4-1_armhf.deb ... - Unpacking libffi-dev:armhf (3.4.4-1) ... - Selecting previously unselected package libpkgconf3:armhf. - Preparing to unpack .../libpkgconf3_1.8.1-1_armhf.deb ... - Unpacking libpkgconf3:armhf (1.8.1-1) ... - Selecting previously unselected package pkgconf-bin. - Preparing to unpack .../pkgconf-bin_1.8.1-1_armhf.deb ... - Unpacking pkgconf-bin (1.8.1-1) ... - Selecting previously unselected package pkgconf:armhf. - Preparing to unpack .../pkgconf_1.8.1-1_armhf.deb ... - Unpacking pkgconf:armhf (1.8.1-1) ... - Selecting previously unselected package pkg-config:armhf. - Preparing to unpack .../pkg-config_1.8.1-1_armhf.deb ... - Unpacking pkg-config:armhf (1.8.1-1) ... - Setting up libffi-dev:armhf (3.4.4-1) ... - Setting up libpkgconf3:armhf (1.8.1-1) ... - Setting up pkgconf-bin (1.8.1-1) ... - Setting up pkgconf:armhf (1.8.1-1) ... - Setting up pkg-config:armhf (1.8.1-1) ... - Processing triggers for libc-bin (2.36-9+deb12u10) ... 2025-05-31 10:11.38 ---> using "a36a4ee2adf0cc81bc1c862fb9cb2587b7d7dd8a145702e0e0982be877584563" from cache /src: (run (cache (opam-archives (target /home/opam/.opam/download-cache))) (network host) (shell "opam install $DEPS")) [NOTE] Package ocaml-options-vanilla is already installed (current version is 1). [NOTE] Package ocaml-option-bytecode-only is already installed (current version is 1). [NOTE] Package ocaml-config is already installed (current version is 3). [NOTE] Package ocaml-compiler is already installed (current version is 5.3.0). [NOTE] Package ocaml-base-compiler is already installed (current version is 5.3.0). [NOTE] Package ocaml is already installed (current version is 5.3.0). [NOTE] Package base-unix is already installed (current version is base). [NOTE] Package base-threads is already installed (current version is base). [NOTE] Package base-nnp is already installed (current version is base). [NOTE] Package base-effects is already installed (current version is base). [NOTE] Package base-domains is already installed (current version is base). [NOTE] Package base-bigarray is already installed (current version is base). The following actions will be performed: === install 75 packages - install angstrom 0.16.1 - install astring 0.8.5 - install backoff 0.1.1 - install base v0.17.1 - install bigarray-compat 1.1.0 - install bigstringaf 0.10.0 - install camlp-streams 5.0.1 - install cmdliner 1.3.0 - install conf-libffi 2.0.0 - install conf-pkg-config 4 - install cppo 1.8.0 - install csexp 1.5.2 - install ctypes 0.23.0 - install ctypes-foreign 0.23.0 - install dune 3.19.0 - install dune-configurator 3.19.0 - 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.8.0 - install mdx 2.5.0 - install mtime 2.1.0 - install multicore-magic 2.3.1 - install num 1.5-1 - 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.0.3 - install ppx_enumerate v0.17.0 - install ppx_expect v0.17.2 - install ppx_fields_conv v0.17.0 - install ppx_globalize v0.17.0 - install ppx_hash v0.17.0 - install ppx_here v0.17.0 - install ppx_inline_test v0.17.0 - install ppx_minidebug 2.2.0 - install ppx_optcomp v0.17.0 - install ppx_sexp_conv v0.17.0 - install ppx_string v0.17.0 - install ppx_variants_conv v0.17.0 - install ppxlib 0.35.0 - install ppxlib_jane v0.17.2 - 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.12.0 - 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 astring.0.8.5 (cached) -> retrieved angstrom.0.16.1 (cached) -> retrieved backoff.0.1.1 (cached) -> retrieved bigarray-compat.1.1.0 (cached) -> retrieved camlp-streams.5.0.1 (cached) -> retrieved bigstringaf.0.10.0 (cached) -> retrieved cppo.1.8.0 (cached) -> installed conf-pkg-config.4 -> installed conf-libffi.2.0.0 -> retrieved csexp.1.5.2 (cached) -> retrieved ctypes.0.23.0, ctypes-foreign.0.23.0 (cached) -> retrieved base.v0.17.1 (cached) -> retrieved cmdliner.1.3.0 (cached) -> retrieved fieldslib.v0.17.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) -> retrieved logs.0.8.0 (cached) -> retrieved mtime.2.1.0 (cached) -> retrieved mdx.2.5.0 (cached) -> retrieved multicore-magic.2.3.1 (cached) -> retrieved num.1.5-1 (cached) -> retrieved ocaml-compiler-libs.v0.17.0 (cached) -> retrieved ocaml-syntax-shims.1.0.0 (cached) -> retrieved ocaml-version.4.0.1 (cached) -> retrieved ocaml_intrinsics_kernel.v0.17.1 (cached) -> retrieved ocamlbuild.0.16.1 (cached) -> retrieved ocamlfind.1.9.8 (cached) -> retrieved parsexp.v0.17.0 (cached) -> retrieved pprint.20230830 (cached) -> retrieved ppx_assert.v0.17.0 (cached) -> retrieved ppx_base.v0.17.0 (cached) -> retrieved dune.3.19.0, dune-configurator.3.19.0 (cached) -> retrieved ppx_cold.v0.17.0 (cached) -> retrieved ppx_compare.v0.17.0 (cached) -> retrieved ppx_derivers.1.2.1 (cached) -> retrieved ppx_enumerate.v0.17.0 (cached) -> retrieved ppx_deriving.6.0.3 (cached) -> retrieved ppx_expect.v0.17.2 (cached) -> retrieved ppx_fields_conv.v0.17.0 (cached) -> retrieved ppx_globalize.v0.17.0 (cached) -> retrieved ppx_hash.v0.17.0 (cached) -> installed cmdliner.1.3.0 -> installed num.1.5-1 -> retrieved ppx_here.v0.17.0 (cached) -> retrieved ppx_inline_test.v0.17.0 (cached) -> retrieved ppx_optcomp.v0.17.0 (cached) -> retrieved ppx_string.v0.17.0 (cached) -> retrieved ppx_variants_conv.v0.17.0 (cached) -> retrieved ppx_sexp_conv.v0.17.0 (cached) -> retrieved ppx_minidebug.2.2.0 (cached) -> retrieved ppxlib_jane.v0.17.2 (cached) -> retrieved ptime.1.2.0 (cached) -> retrieved re.1.12.0 (cached) -> retrieved ppxlib.0.35.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 seq.base (cached) -> installed seq.base -> retrieved result.1.5 (cached) -> retrieved saturn_lockfree.0.5.0 (cached) -> retrieved sexplib.v0.17.0 (cached) -> retrieved sexplib0.v0.17.0 (cached) -> retrieved stdio.v0.17.0 (cached) -> retrieved stdlib-shims.0.3.0 (cached) -> retrieved thread-local-storage.0.2 (cached) -> retrieved time_now.v0.17.0 (cached) -> retrieved topkg.1.0.8 (cached) -> retrieved tyxml.4.6.0 (cached) -> retrieved uutf.1.0.4 (cached) -> retrieved variantslib.v0.17.0 (cached) -> retrieved uucp.16.0.0 (cached) -> installed ocamlfind.1.9.8 -> installed ocamlbuild.0.16.1 -> installed topkg.1.0.8 -> installed uutf.1.0.4 -> installed ptime.1.2.0 -> installed mtime.2.1.0 -> installed astring.0.8.5 -> installed fmt.0.10.0 -> installed logs.0.8.0 -> installed uucp.16.0.0 -> installed dune.3.19.0 -> installed jane-street-headers.v0.17.0 -> installed ppx_derivers.1.2.1 -> installed backoff.0.1.1 -> installed ocaml-version.4.0.1 -> installed printbox.0.12 -> installed csexp.1.5.2 -> installed bigarray-compat.1.1.0 -> installed camlp-streams.5.0.1 -> installed multicore-magic.2.3.1 -> installed ocaml_intrinsics_kernel.v0.17.1 -> installed pprint.20230830 -> installed re.1.12.0 -> installed result.1.5 -> installed sexplib0.v0.17.0 -> installed stdlib-shims.0.3.0 -> installed thread-local-storage.0.2 -> installed printbox-text.0.12 -> installed printbox-md.0.12 -> installed saturn_lockfree.0.5.0 -> installed integers.0.7.0 -> installed parsexp.v0.17.0 -> installed cppo.1.8.0 -> installed dune-configurator.3.19.0 -> installed ocaml-syntax-shims.1.0.0 -> installed ocaml-compiler-libs.v0.17.0 -> installed sexplib.v0.17.0 -> installed bigstringaf.0.10.0 -> installed tyxml.4.6.0 -> installed angstrom.0.16.1 -> installed printbox-html.0.12 -> installed printbox-ext-plot.0.12 -> installed mdx.2.5.0 -> installed ctypes.0.23.0 -> installed base.v0.17.1 -> installed ctypes-foreign.0.23.0 -> installed fieldslib.v0.17.0 -> installed variantslib.v0.17.0 -> installed stdio.v0.17.0 -> installed ppxlib.0.35.0 -> installed ppxlib_jane.v0.17.2 -> installed ppx_optcomp.v0.17.0 -> installed ppx_fields_conv.v0.17.0 -> installed ppx_sexp_conv.v0.17.0 -> installed ppx_cold.v0.17.0 -> installed ppx_variants_conv.v0.17.0 -> installed ppx_compare.v0.17.0 -> installed ppx_enumerate.v0.17.0 -> installed ppx_here.v0.17.0 -> installed ppx_globalize.v0.17.0 -> installed ppx_deriving.6.0.3 -> installed ppx_hash.v0.17.0 -> installed ppx_base.v0.17.0 -> installed ppx_assert.v0.17.0 -> installed ppx_minidebug.2.2.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.0 -> installed ppx_expect.v0.17.2 Done. # To update the current shell environment, run: eval $(opam env) 2025-05-31 10:11.38 ---> using "4391a61ab0b7a6e61288cb2ced52b370b4703d04ce6b5090eea6c251d9d99b15" from cache /src: (copy (src .) (dst /src)) 2025-05-31 10:11.38 ---> saved as "29fa9f4dba19b0a7fc47cc0744f2a2e0ef1c59100008598e990d9b6635ab335a" /src: (run (shell "opam exec -- dune build @install @check @runtest && rm -rf _build")) File "arrayjit/test/dune", line 6, characters 7-15: 6 | (pps 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/config && ../../arrayjit/bin/read_config.exe --read=backend) Welcome to OCANNL! Reading configuration defaults from /src/_build/default/test/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 /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 /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/dune", lines 30-40, characters 0-281: 30 | (rule 31 | (alias runtest) 32 | (target 33 | (dir log_files)) 34 | (action 35 | (run 36 | %{dep:micrograd_demo_logging.exe} 37 | "--ocannl_debug_backend=text" 38 | "--ocannl_log_file_stem=micrograd_demo_logging" 39 | "--ocannl_log_main_domain_to_stdout=false" 40 | "--ocannl_debug_log_to_stream_files=true"))) (cd _build/default/test && ./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 /src/_build/default/test/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_cd_ident_style Not found, using default heuristic Retrieving commandline, environment, or config file variable ocannl_ll_ident_style Not found, using default heuristic Retrieving commandline, environment, or config file variable ocannl_prefer_backend_uniformity Found true, in the config file Retrieving commandline, environment, or config file variable ocannl_debug_log_to_stream_files Found true, commandline --ocannl_debug_log_to_stream_files=true Retrieving commandline, environment, or config file variable ocannl_cc_backend_optimization_level Not found, using default 3 Retrieving commandline, environment, or config file variable ocannl_cc_backend_compiler_command Not found, using default gcc Fatal error: exception File "src/printbox-text/PrintBox_text.ml", line 212, characters 6-12: Assertion failed Called from unknown location Called from unknown location Called from unknown location Called from unknown location Called from unknown location Called from unknown location Called from unknown location Called from unknown location Called from unknown location Called from unknown location Called from unknown location Called from unknown location (cd _build/.sandbox/690e7ab0667fefc4603ba9b4bb5eb45e/default/test && .tutorials.inline-tests/inline-test-runner.exe inline-test-runner tutorials -partition '' -source-tree-root .. -diff-cmd -) Welcome to OCANNL! Reading configuration defaults from /src/_build/.sandbox/690e7ab0667fefc4603ba9b4bb5eb45e/default/test/ocannl_config. Retrieving commandline, environment, or config file variable ocannl_log_level Found 0, in the config file (cd _build/.sandbox/690e7ab0667fefc4603ba9b4bb5eb45e/default/test && .tutorials.inline-tests/inline-test-runner.exe inline-test-runner tutorials -partition 'Retrieving commandline, environment, or config file variable ocannl_log_level' -source-tree-root .. -diff-cmd -) Welcome to OCANNL! Reading configuration defaults from /src/_build/.sandbox/690e7ab0667fefc4603ba9b4bb5eb45e/default/test/ocannl_config. Retrieving commandline, environment, or config file variable ocannl_log_level Found 0, in the config file (cd _build/.sandbox/690e7ab0667fefc4603ba9b4bb5eb45e/default/test && .tutorials.inline-tests/inline-test-runner.exe inline-test-runner tutorials -partition 'Welcome to OCANNL! Reading configuration defaults from /src/_build/.sandbox/05dd5036c94dc32cebbd9eda35611ee1/default/test/ocannl_config.' -source-tree-root .. -diff-cmd -) Welcome to OCANNL! Reading configuration defaults from /src/_build/.sandbox/690e7ab0667fefc4603ba9b4bb5eb45e/default/test/ocannl_config. Retrieving commandline, environment, or config file variable ocannl_log_level Found 0, in the config file (cd _build/.sandbox/690e7ab0667fefc4603ba9b4bb5eb45e/default/test && .tutorials.inline-tests/inline-test-runner.exe inline-test-runner tutorials -partition 'Found 0, in the config file' -source-tree-root .. -diff-cmd -) Welcome to OCANNL! Reading configuration defaults from /src/_build/.sandbox/690e7ab0667fefc4603ba9b4bb5eb45e/default/test/ocannl_config. Retrieving commandline, environment, or config file variable ocannl_log_level Found 0, in the config file (cd _build/.sandbox/690e7ab0667fefc4603ba9b4bb5eb45e/default/test && .tutorials.inline-tests/inline-test-runner.exe inline-test-runner tutorials -partition primitive_ops.ml -source-tree-root .. -diff-cmd -) Welcome to OCANNL! Reading configuration defaults from /src/_build/.sandbox/690e7ab0667fefc4603ba9b4bb5eb45e/default/test/ocannl_config. Retrieving commandline, environment, or config file variable ocannl_log_level Found 0, in the config file (cd _build/.sandbox/690e7ab0667fefc4603ba9b4bb5eb45e/default/test && .tutorials.inline-tests/inline-test-runner.exe inline-test-runner tutorials -partition zero2hero_1of7.ml -source-tree-root .. -diff-cmd -) Welcome to OCANNL! Reading configuration defaults from /src/_build/.sandbox/690e7ab0667fefc4603ba9b4bb5eb45e/default/test/ocannl_config. Retrieving commandline, environment, or config file variable ocannl_log_level Found 0, in the config file (cd _build/default/test && ./moons_demo_parallel_run.exe) Welcome to OCANNL! Reading configuration defaults from /src/_build/default/test/ocannl_config. Retrieving commandline, environment, or config file variable ocannl_log_level Found 0, in the config file ("Set log_level to" 1) ββ{orphaned from #2} Retrieving commandline, environment, or config file variable ocannl_backend Found multicore_cc, in the config file Properties of devices: (multicore_devices (device ((device_name CPU) (device_ordinal 0) (num_domains 16)))) @!Retrieving commandline, environment, or config file variable ocannl_prefer_backend_uniformity Found true, in the config file Retrieving commandline, environment, or config file variable ocannl_debug_log_to_stream_files Not found, using default false Retrieving commandline, environment, or config file variable ocannl_ll_ident_style Not found, using default heuristic Retrieving commandline, environment, or config file variable ocannl_cc_backend_optimization_level Not found, using default 3 Retrieving commandline, environment, or config file variable ocannl_cc_backend_compiler_command Not found, using default gcc Retrieving commandline, environment, or config file variable ocannl_never_capture_stdout Not found, using default false Batch=139, step=140, lr=0.198242, batch loss=0.386719, epoch loss=37.691406 Batch=279, step=280, lr=0.196289, batch loss=0.433594, epoch loss=41.488281 Batch=299, step=300, lr=0.195312, batch loss=0.263672, epoch loss=42.003906 Epoch=0, step=300, lr=0.195312, epoch loss=42.003906 Batch=139, step=440, lr=0.193359, batch loss=0.199219, epoch loss=2.530273 Batch=279, step=580, lr=0.191406, batch loss=0.275391, epoch loss=5.399414 Batch=299, step=600, lr=0.191406, batch loss=0.200195, epoch loss=5.776367 Epoch=1, step=600, lr=0.191406, epoch loss=5.776367 Batch=139, step=740, lr=0.189453, batch loss=0.191406, epoch loss=2.483398 Batch=279, step=880, lr=0.185547, batch loss=0.269531, epoch loss=5.230469 Batch=299, step=900, lr=0.185547, batch loss=0.200195, epoch loss=5.611328 Epoch=2, step=900, lr=0.185547, epoch loss=5.611328 Batch=139, step=1040, lr=0.183594, batch loss=0.183594, epoch loss=2.428711 Batch=279, step=1180, lr=0.181641, batch loss=0.259766, epoch loss=5.101562 Batch=299, step=1200, lr=0.180664, batch loss=0.188477, epoch loss=5.458984 Epoch=3, step=1200, lr=0.180664, epoch loss=5.458984 Batch=139, step=1340, lr=0.178711, batch loss=0.183594, epoch loss=2.338867 Batch=279, step=1480, lr=0.175781, batch loss=0.250000, epoch loss=4.923828 Batch=299, step=1500, lr=0.175781, batch loss=0.175781, epoch loss=5.258789 Epoch=4, step=1500, lr=0.175781, epoch loss=5.258789 Batch=139, step=1640, lr=0.173828, batch loss=0.181641, epoch loss=2.310547 Batch=279, step=1780, lr=0.170898, batch loss=0.257812, epoch loss=5.020508 Batch=299, step=1800, lr=0.170898, batch loss=0.195312, epoch loss=5.414062 Epoch=5, step=1800, lr=0.170898, epoch loss=5.414062 Batch=139, step=1940, lr=0.168945, batch loss=0.178711, epoch loss=2.159180 Batch=279, step=2080, lr=0.166992, batch loss=0.246094, epoch loss=4.663086 Batch=299, step=2100, lr=0.166016, batch loss=0.173828, epoch loss=4.991211 Epoch=6, step=2100, lr=0.166016, epoch loss=4.991211 Batch=139, step=2240, lr=0.163086, batch loss=0.169922, epoch loss=2.167969 Batch=279, step=2380, lr=0.161133, batch loss=0.236328, epoch loss=4.581055 Batch=299, step=2400, lr=0.160156, batch loss=0.189453, epoch loss=4.963867 Epoch=7, step=2400, lr=0.160156, epoch loss=4.963867 Batch=139, step=2540, lr=0.158203, batch loss=0.160156, epoch loss=2.002930 Batch=279, step=2680, lr=0.156250, batch loss=0.211914, epoch loss=4.233398 Batch=299, step=2700, lr=0.156250, batch loss=0.153320, epoch loss=4.523438 Epoch=8, step=2700, lr=0.156250, epoch loss=4.523438 Batch=139, step=2840, lr=0.154297, batch loss=0.142578, epoch loss=1.938965 Batch=279, step=2980, lr=0.151367, batch loss=0.220703, epoch loss=4.141113 Batch=299, step=3000, lr=0.150391, batch loss=0.167969, epoch loss=4.471191 Epoch=9, step=3000, lr=0.150391, epoch loss=4.471191 Batch=139, step=3140, lr=0.148438, batch loss=0.126953, epoch loss=1.743164 Batch=279, step=3280, lr=0.146484, batch loss=0.219727, epoch loss=3.750977 Batch=299, step=3300, lr=0.145508, batch loss=0.137695, epoch loss=4.007324 Epoch=10, step=3300, lr=0.145508, epoch loss=4.007324 Batch=139, step=3440, lr=0.143555, batch loss=0.101074, epoch loss=1.481934 Batch=279, step=3580, lr=0.140625, batch loss=0.162109, epoch loss=3.041016 Batch=299, step=3600, lr=0.140625, batch loss=0.136719, epoch loss=3.286133 Epoch=11, step=3600, lr=0.140625, epoch loss=3.286133 Batch=139, step=3740, lr=0.138672, batch loss=0.068359, epoch loss=1.064697 Batch=279, step=3880, lr=0.135742, batch loss=0.126953, epoch loss=3.202881 Batch=299, step=3900, lr=0.135742, batch loss=0.081543, epoch loss=3.353760 Epoch=12, step=3900, lr=0.135742, epoch loss=3.353760 Batch=139, step=4040, lr=0.133789, batch loss=0.044434, epoch loss=0.791992 Batch=279, step=4180, lr=0.131836, batch loss=0.074219, epoch loss=1.670654 Batch=299, step=4200, lr=0.130859, batch loss=0.069336, epoch loss=1.777344 Epoch=13, step=4200, lr=0.130859, epoch loss=1.777344 Batch=139, step=4340, lr=0.128906, batch loss=0.025635, epoch loss=0.407410 Batch=279, step=4480, lr=0.125977, batch loss=0.038818, epoch loss=1.195496 Batch=299, step=4500, lr=0.125977, batch loss=0.017578, epoch loss=1.224854 Epoch=14, step=4500, lr=0.125977, epoch loss=1.224854 Batch=139, step=4640, lr=0.123535, batch loss=0.015320, epoch loss=0.246582 Batch=279, step=4780, lr=0.121094, batch loss=0.023682, epoch loss=0.608337 Batch=299, step=4800, lr=0.120605, batch loss=0.019043, epoch loss=0.637512 Epoch=15, step=4800, lr=0.120605, epoch loss=0.637512 Batch=139, step=4940, lr=0.118652, batch loss=0.018066, epoch loss=0.287598 Batch=279, step=5080, lr=0.116211, batch loss=0.017334, epoch loss=0.568344 Batch=299, step=5100, lr=0.115723, batch loss=0.011230, epoch loss=0.588669 Epoch=16, step=5100, lr=0.115723, epoch loss=0.588669 Batch=139, step=5240, lr=0.113770, batch loss=0.014648, epoch loss=0.121964 Batch=279, step=5380, lr=0.111328, batch loss=0.013550, epoch loss=0.284607 Batch=299, step=5400, lr=0.110352, batch loss=0.010071, epoch loss=0.311035 Epoch=17, step=5400, lr=0.110352, epoch loss=0.311035 Batch=139, step=5540, lr=0.108398, batch loss=0.008423, epoch loss=0.089054 Batch=279, step=5680, lr=0.106445, batch loss=0.010498, epoch loss=0.256943 Batch=299, step=5700, lr=0.105957, batch loss=0.004761, epoch loss=0.267319 Epoch=18, step=5700, lr=0.105957, epoch loss=0.267319 Batch=139, step=5840, lr=0.103516, batch loss=0.007477, epoch loss=0.074814 Batch=279, step=5980, lr=0.101562, batch loss=0.011108, epoch loss=0.202591 Batch=299, step=6000, lr=0.101074, batch loss=0.007446, epoch loss=0.220413 Epoch=19, step=6000, lr=0.101074, epoch loss=0.220413 Half-moons scatterplot and decision boundary: ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β*********************************#******************************************************************β β***********************##*#######*###**####*********************************************************β β*********************##########################*****************************************************β β*****************#**########*######*################************************************************β β***************#############*#######################************************************************β β************######*#################*#################**********************************************β β**********#*#####*########*#**************##*#########*#******************************************..β β***********###########*#******************#*****########*#*************************************.....β β***********#######*###*************************############**********************************.......β β********###########*********************************###**##*#******************************.........β β*******######**##***********.......****************#*######*#****************************...........β β*****#*##*##**##**********............**************##*########************************.............β β*****#######************.......%...%.%...**************#########*********************.............%.β β******######**********..........%..........**************#*#####********************..........%.%.%.β β***#########*********..........%%%.%%........***********#*#######******************..........%.%%%%%β β****#######*********...........%%%%...........**********#########****************............%%.%%.%β β**#######***********...........%%%%%%%..........***********###*###**************.............%%.%%%.β β**#*####***********............%%%%%%%...........*********########**************.............%%%%%%.β β*#######***********............%%%%%%%............**********#######***********...............%%%%%%.β β*##*####**********.............%%.%%%%%.............*********####************..............%.%%%%%%.β β*#######**********..............%%%%%%%..............********##*##*#********.................%%%%%..β β########*********...............%%%%%%%...............*******#######*******................%%%%%%%..β β#######**********...............%%%%%%%.................*****#######*****..................%%%%%%%%.β β###*#**#********.................%%%%%%%%................*****#######***...................%%%%%%...β β#######*********.................%%%%%%%%..................**###*###***...................%%%%%%....β β#######********..................%%%%%%%%%..................*#*####***...................%%%%%%%%...β β*#*####********...................%%%%%%%%%%..................######*....................%%%%%%.....β β#****##********....................%%.%%%%%%...................###*##.................%.%%%%%%%.....β β**************.....................%.%%%%%%.....................**.....................%.%%.%%......β β**************.......................%..%%%%%%%....................................%%%%%.%%%%.......β β*************..........................%%%%.%%%%..................................%%%%%%%.%.%.......β β*************...........................%..%%%%..%................................%%%%%%%%..........β β************.............................%%%%%%%%%%%........................%%..%%%%%%%%.%..........β β************.............................%%.%%%%%%%%..%.....................%.%%%.%%%%%%%...........β β***********.................................%%%%.%%%%%%%%...............%.%%%%%%%%%%%%.%............β β***********..................................%%%%%%.%%%%%%%%%%%%%%%.%%%%.%%%%%%%%%%%%%..............β β**********....................................%%.%%%%%%%%%%%%%%%%%%%%%%.%%%%%%%%%%%%................β β**********........................................%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%...................β β**********........................................%..%%%.%%%%%%%%%%%%%%%%%%%%%......................β β*********...............................................%...%%%%.%%.%%%%..%.........................β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ (cd _build/.sandbox/690e7ab0667fefc4603ba9b4bb5eb45e/default/test && .tutorials.inline-tests/inline-test-runner.exe inline-test-runner tutorials -partition hello_world_op.ml -source-tree-root .. -diff-cmd -) Welcome to OCANNL! Reading configuration defaults from /src/_build/.sandbox/690e7ab0667fefc4603ba9b4bb5eb45e/default/test/ocannl_config. Retrieving commandline, environment, or config file variable ocannl_log_level Found 0, in the config file (cd _build/.sandbox/690e7ab0667fefc4603ba9b4bb5eb45e/default/test && .tutorials.inline-tests/inline-test-runner.exe inline-test-runner tutorials -partition einsum_trivia.ml -source-tree-root .. -diff-cmd -) Welcome to OCANNL! Reading configuration defaults from /src/_build/.sandbox/690e7ab0667fefc4603ba9b4bb5eb45e/default/test/ocannl_config. Retrieving commandline, environment, or config file variable ocannl_log_level Found 0, in the config file (cd _build/.sandbox/690e7ab0667fefc4603ba9b4bb5eb45e/default/test && .tutorials.inline-tests/inline-test-runner.exe inline-test-runner tutorials -partition moons_demo_parallel.ml -source-tree-root .. -diff-cmd -) Welcome to OCANNL! Reading configuration defaults from /src/_build/.sandbox/690e7ab0667fefc4603ba9b4bb5eb45e/default/test/ocannl_config. Retrieving commandline, environment, or config file variable ocannl_log_level Found 0, in the config file (cd _build/.sandbox/690e7ab0667fefc4603ba9b4bb5eb45e/default/test && .tutorials.inline-tests/inline-test-runner.exe inline-test-runner tutorials -partition micrograd_demo.ml -source-tree-root .. -diff-cmd -) Welcome to OCANNL! Reading configuration defaults from /src/_build/.sandbox/690e7ab0667fefc4603ba9b4bb5eb45e/default/test/ocannl_config. Retrieving commandline, environment, or config file variable ocannl_log_level Found 0, in the config file File "test/zero2hero_1of7.ml", line 1, characters 0-0: /usr/bin/git --no-pager diff --no-index --color=always -u _build/default/test/zero2hero_1of7.ml _build/.sandbox/690e7ab0667fefc4603ba9b4bb5eb45e/default/test/zero2hero_1of7.ml.corrected diff --git a/_build/default/test/zero2hero_1of7.ml b/_build/.sandbox/690e7ab0667fefc4603ba9b4bb5eb45e/default/test/zero2hero_1of7.ml.corrected index 13e90be..138e4eb 100644 --- a/_build/default/test/zero2hero_1of7.ml +++ b/_build/.sandbox/690e7ab0667fefc4603ba9b4bb5eb45e/default/test/zero2hero_1of7.ml.corrected @@ -226,10 +226,10 @@ let%expect_test "Graph drawing fetch" = β( β # # ## β βx β ## # β β) β # # β - β β # # ### **β - β β ## # * **** β + β β # # ## **β + β β ## # # * **** β β β # # ## * **** β - β β ### ## * *** β + β β ### ## * **** β β β # # # ##** ** β β β #### # ###* * β β β # #### # # ## # #### β @@ -328,11 +328,11 @@ let%expect_test "Simple gradients hosted" = #9 grad_+_d β#11 grad_f -2.00 β 4.00 #4 *._e β#6 c β - -6.00 β 1.02e+1 β + -6.00 β 1.01e+1 β #5 grad_*._e β#7 grad_cβ -2.00 β -2.00 β #0 a β#2 b β β - 1.40 β -2.60 β β + 1.39 β -2.59 β β #1 grad_aβ#3 grad_bβ β 6.00 β -4.00 β β |}]; @@ -344,7 +344,7 @@ let%expect_test "Simple gradients hosted" = [%expect {| #12 *._l - -1.57e+1 + -1.58e+1 #13 grad_*._l 1.00 #8 +_d β#10 f @@ -352,13 +352,13 @@ let%expect_test "Simple gradients hosted" = #9 grad_+_d β#11 grad_f -2.40 β 6.56 #4 *._e β#6 c β - -3.64 β 1.02e+1 β + -3.62 β 1.01e+1 β #5 grad_*._e β#7 grad_cβ -2.40 β -2.40 β #0 a β#2 b β β - 1.40 β -2.60 β β + 1.39 β -2.59 β β #1 grad_aβ#3 grad_bβ β - 6.24 β -3.36 β β + 6.25 β -3.35 β β |}] let%expect_test "Simple gradients virtual" = @@ -460,11 +460,11 @@ let%expect_test "Simple gradients virtual" = #9 grad_+_d Virt/40 β#11 grad_f Dev-stream/41 <void> β<void> #4 *._e Virt/152 β#6 c β - <void> β 1.02e+1 β + <void> β 1.01e+1 β #5 grad_*._e Virt/40 β#7 grad_c Dev-stream/41β <void> β<void> β #0 a β#2 b β β - 1.40 β -2.60 β β + 1.39 β -2.59 β β #1 grad_a Dev-stream/41β#3 grad_b Dev-stream/41β β <void> β<void> β β |}]; @@ -475,7 +475,7 @@ let%expect_test "Simple gradients virtual" = [%expect {| #12 *._l - -1.57e+1 + -1.58e+1 #13 grad_*._l Virt/40 <void> #8 +_d Local/46 β#10 f @@ -483,11 +483,11 @@ let%expect_test "Simple gradients virtual" = #9 grad_+_d Virt/40 β#11 grad_f Dev-stream/41 <void> β<void> #4 *._e Virt/152 β#6 c β - <void> β 1.02e+1 β + <void> β 1.01e+1 β #5 grad_*._e Virt/40 β#7 grad_c Dev-stream/41β <void> β<void> β #0 a β#2 b β β - 1.40 β -2.60 β β + 1.39 β -2.59 β β #1 grad_a Dev-stream/41β#3 grad_b Dev-stream/41β β <void> β<void> β β |}] @@ -512,11 +512,11 @@ let%expect_test "2D neuron hosted" = [%expect {| #8 +_v - 7.00e-1 + 6.87e-1 #9 grad_+_v 1.00 #6 * β#0 b - -6.00 β 6.70 + -6.00 β 6.68 #7 grad_* β#1 grad_b 1.00 β 1.00 #2 w β#4 x β @@ -539,11 +539,11 @@ let%expect_test "2D neuron virtual" = [%expect {| #8 +_v - 7.00e-1 + 6.87e-1 #9 grad_+_v Virt/40 <void> #6 * Local/46 β#0 b - <void> β 6.70 + <void> β 6.68 #7 grad_* Virt/40 β#1 grad_b Local/46 <void> β<void> #2 w β#4 x β File "test/micrograd_demo.ml", line 1, characters 0-0: /usr/bin/git --no-pager diff --no-index --color=always -u _build/default/test/micrograd_demo.ml _build/.sandbox/690e7ab0667fefc4603ba9b4bb5eb45e/default/test/micrograd_demo.ml.corrected diff --git a/_build/default/test/micrograd_demo.ml b/_build/.sandbox/690e7ab0667fefc4603ba9b4bb5eb45e/default/test/micrograd_demo.ml.corrected index 62a1f34..5040ca9 100644 --- a/_build/default/test/micrograd_demo.ml +++ b/_build/.sandbox/690e7ab0667fefc4603ba9b4bb5eb45e/default/test/micrograd_demo.ml.corrected @@ -78,7 +78,7 @@ let%expect_test "Micrograd README basic example" = βββ¬ββββββββββ β βββaxis 0 β β βββΌββββββββββ€ β - βββ 6.45e+2 β β + βββ 6.44e+2 β β βββ΄ββββββββββ β ββββββββββββββββββββββββββ |}] @@ -191,44 +191,44 @@ let%expect_test "Micrograd half-moons example" = ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β****************************#***********************************************************************β β****************************###***###***#***********************************************************β - β***************************#********#***#***********************************************************β - β********************#*********************##*#*#****************************************************β - β******************#***#*****##*#*#*#****#*#*#*##****************************************************β - β**************#*#**###**#*##**##********#**#****###**#**********************************************β - β***********#***##***#**##*****************#*#*##*###**********************************************..β - β***************#**###******************************##*#******************************************...β - β*************#*****#******************************#*#***#*#*************************************....β - β*********#***#******************......************##*###**#************************************.....β - β******#***#*#*#****************........******************#*#*********************************.......β - β*****###****#****************...........****************#***********************************........β - β*******#*###****************.............******************#*#*****************************.........β - β**********##***************.......%%......***************#**##****************************..........β - β*****#***#****************......%..%%......*********************************************..........%.β - β**####*******************......%..%..........****************##*#**********************........%...%β - β****#*******************.......%%..%..........***************#*#**********************.........%....β - β*#****##***************.........%....%.........************##***#********************.......%...%%..β - β****#*#***************.........%..%.%...........*************#**#*******************..........%.%...β - β##*##****************............%...............**************#*##****************.........%.%.%%%.β - β**#####************............%...%%.............*******************************...........%..%.%..β - β******************...............%.%.%%............*********#*#*#*#*************................%%..β - β***##************................%..%..%............************#*#************.............%...%...β - β##**#***********...................%...%.............********#**###***********...........%.%%.......β - β###************..................%.%.%................***********##**********..................%....β - β**##**********.........................................**********#*********.............%%.%..%.....β - β**#**********......................%%...................********##********..............%%.%........β - β************..........................%..................****#**#********...................%.......β - β***********.........................%%.%..................*****##******...............%..%..........β - β**********.............................%%..................***********.................%%.%%........β - β*********..............................%...%................*******.....................%%%.........β - β********...................................%..%....................................%.....%..........β - β*******.................................%%..%.%................................%.%.%.%%.............β - β******.....................................%%.%...%%.%.......................%%%....%.%.%...........β - β*****....................................%.....%.%..%....................%.....%%.%.%...............β - β****........................................%%...%.%%%%..%.......%.........%%.%%....................β - β***...............................................%..%.......%..%%%%...%.%..%.%.....................β - β**.................................................%.%.%............%..%...%........................β - β*.................................................%....%.%......%%...%.%............................β - β..........................................................%..%......%%%.............................β + β***************************#********#***#*#*********************************************************β + β********************#**********************#*#*#****************************************************β + β******************##**#*****##*#*#*#****#*#*#*#*#***************************************************β + β**************#*#***#***#*##*#*#********#**#****###**#**********************************************β + β***********#***##*#*#**##*****************#*#*##*###***********************************************.β + β***************#***##******************************##*#*******************************************..β + β*************#*****#******************************#*#**#**#**************************************...β + β*********#***#*****************......*************##*###*#*#************************************....β + β******#***#*#*#***************........*******************#*************************************.....β + β*****###****#****************...........****************#*************************************......β + β******####*#****************.............******************#*#*******************************.......β + β**********##***************.......%%......***************#**##*****************************.........β + β*****#***#****************......%..%%......***********************************************.........%β + β**####*******************......%.%%.........****************###*#************************......%...%β + β****#*******************.......%%..%.........****************#*#************************.......%....β + β##****##***************.........%....%........*************##***#**********************.....%...%%..β + β***##*#***************.........%..%.%..........**************#**#*********************........%.%...β + β##*##****************...........%...............***************#*##******************.......%.%.%%%.β + β**####**************...........%..%.%............**********************************.........%...%%..β + β*******************..............%.%.%%...........**********#*#*#*#***************..............%%..β + β***##*************...............%..%..%...........*************#*#***************..........%...%...β + β##**#*************.................%...%............********#***###*************.........%.%%.......β + β##***************................%.%.%...............************##************................%....β + β**##************......................................***********#************..........%%.%..%.....β + β*#*************....................%%..................*********##***********...........%..%........β + β**************........................%.................*****#**#***********.............%.%........β + β**************......................%%.%.................******##*********.............%.%..........β + β************...........................%%.................***************..............%%.%%........β + β************...........................%...%...............*************................%%%.........β + β***********................................%..%.............***********............%.....%..........β + β**********..............................%%..%.%..............*******...........%%%.%.%%.............β + β*********..................................%%.%...%%.%........****...........%%%....%.%.%...........β + β********.................................%....%%.%..%..........................%%.%.%...............β + β********....................................%%..%..%%%%..%.......%.......%.%%.%%....................β + β******............................................%..%.......%..%%%....%.%..%%......................β + β******.............................................%.%.%............%..%...%........................β + β*****.............................................%....%.%.......%...%.%............................β + β****......................................................%..%..%...%%..............................β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ |}]; Stdio.printf "Loss:\n%!"; @@ -241,7 +241,7 @@ let%expect_test "Micrograd half-moons example" = {| Loss: ββββββββββ¬βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ - β 3.79e+1β- β + β 3.80e+1β- β β β β β β β β β β @@ -279,7 +279,7 @@ let%expect_test "Micrograd half-moons example" = β β β β β β β β β - β β- - - β + β β- - - β β 0.00 β----------------------------------------------------------------------------------------------------β ββββββββββΌβββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€ β β0.00 3.99e+2β @@ -306,36 +306,36 @@ let%expect_test "Micrograd half-moons example" = β β β β β β β β- β - β β - - β - β β - - - β - β β------ - β - β β ---- - - --- - - - - - β - β β -- - - - --- -- - -- - β - β β - -- - - --- - - --- ----- - -- β - βl β -- - - - - --- - - - β - βo β - - - -- - -- - - - - - β - βg β - - - - -- - - - - - - - β - β β - - - -- - - - -- - - - β - βl β - - -- -- - - - - -β - βo β - - - - - - - - - - - β - βs β - - - - -- - β - βs β - - β - β β - - - - - - - - - β - β β - - - - - β - β β - - β - β β - - - β - β β - - β + β β - β + β β - - - β + β β----- - - β + β β - ---- - --- - - -- - β + β β -- -- - - ---- - --- - - β + β β --- - - - --- ----- - - - β + βl β --- - - - - --- -- - β + βo β -- - -- - - - β + βg β - - - - - - -- - - - - β + β β - - - - - - - - - - - β + βl β - - - --- - - - - - - β + βo β - - -- - - - - - β + βs β - -- - - - - - -- - β + βs β - - - -- - - - - -- - - β + β β - - - - β + β β - - - - - - - - β + β β - - β + β β - - - - β + β β - - - β + β β -- - β β β β - β β - β - β β - β β β β β β β β β β β β β - β β - β β β β β β β - β -1.00e+1β - - - - ----- -- --------------- ---------------------------------------------------------β + β β β + β β β + β -1.00e+1β -- - - ----- -- ------- -----------------------------------------------------------------β βββββββββββΌβββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€ β β0.00 3.99e+2β β β step β @@ -356,38 +356,38 @@ let%expect_test "Micrograd half-moons example" = β β ---- β β β --- β β β ---- β - β β --- β + β β ---- β β β --- β β β --- β - β β --- β + β β ---- β β β ---- β β β --- β β β ---- β - β β --- β - βl β ---- β - βe β --- β + β β ---- β + βl β --- β + βe β ---- β βa β --- β - βr β --- β - βn β --- β - βi β ---- β - βn β --- β - βg β ---- β + βr β ---- β + βn β ---- β + βi β --- β + βn β ---- β + βg β --- β β β --- β βr β ---- β βa β --- β - βt β --- β - βe β --- β + βt β ---- β + βe β ---- β β β --- β β β ---- β - β β --- β - β β ---- β - β β --- β - β β ---- β - β β --- β - β β --- β - β β --- β - β β --- β - β β ---- β + β β ---- β + β β --- β + β β ---- β + β β --- β + β β ---- β + β β ---- β + β β --- β + β β ---- β + β β --- β β β --- β β β ---- β β -2.00e-1β--- β File "test/hello_world_op.ml", line 1, characters 0-0: /usr/bin/git --no-pager diff --no-index --color=always -u _build/default/test/hello_world_op.ml _build/.sandbox/690e7ab0667fefc4603ba9b4bb5eb45e/default/test/hello_world_op.ml.corrected diff --git a/_build/default/test/hello_world_op.ml b/_build/.sandbox/690e7ab0667fefc4603ba9b4bb5eb45e/default/test/hello_world_op.ml.corrected index 0cea005..72e1505 100644 --- a/_build/default/test/hello_world_op.ml +++ b/_build/.sandbox/690e7ab0667fefc4603ba9b4bb5eb45e/default/test/hello_world_op.ml.corrected @@ -604,45 +604,45 @@ let%expect_test "Very big tensor" = ββ βaxis 5 βaxis 5 βaxis 5βaxis 5 βaxis 5 ββ βββββββββΌββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββΌβββββββΌββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββ€β ββ0 @ 1 β 0.00 1.00 ... 7.00 8.00 β 9.00 1.00e+1 ... 1.60e+1 1.70e+1 β ... β 5.40e+1 5.50e+1 ... 6.10e+1 6.20e+1 β 6.30e+1 6.40e+1 ... 7.00e+1 7.10e+1 ββ - ββaxis 2β 5.04e+2 5.05e+2 ... 5.11e+2 5.12e+2 β 5.13e+2 5.14e+2 ... 5.20e+2 5.21e+2 β β 5.58e+2 5.59e+2 ... 5.65e+2 5.66e+2 β 5.67e+2 5.68e+2 ... 5.74e+2 5.75e+2 ββ + ββaxis 2β 5.04e+2 5.04e+2 ... 5.12e+2 5.12e+2 β 5.12e+2 5.12e+2 ... 5.20e+2 5.20e+2 β β 5.60e+2 5.60e+2 ... 5.64e+2 5.68e+2 β 5.68e+2 5.68e+2 ... 5.76e+2 5.76e+2 ββ ββ β ... ... ... ... ... β ... ... ... ... ... β β ... ... ... ... ... β ... ... ... ... ... ββ - ββ β 4.53e+3 4.53e+3 ... 4.54e+3 4.54e+3 β 4.54e+3 4.54e+3 ... 4.55e+3 4.55e+3 β β 4.59e+3 4.59e+3 ... 4.59e+3 4.59e+3 β 4.59e+3 4.60e+3 ... 4.60e+3 4.60e+3 ββ - ββ β 5.04e+3 5.04e+3 ... 5.04e+3 5.04e+3 β 5.04e+3 5.05e+3 ... 5.05e+3 5.05e+3 β β 5.09e+3 5.09e+3 ... 5.10e+3 5.10e+3 β 5.10e+3 5.10e+3 ... 5.11e+3 5.11e+3 ββ + ββ β 4.54e+3 4.54e+3 ... 4.54e+3 4.54e+3 β 4.54e+3 4.54e+3 ... 4.54e+3 4.54e+3 β β 4.57e+3 4.57e+3 ... 4.60e+3 4.60e+3 β 4.60e+3 4.60e+3 ... 4.60e+3 4.60e+3 ββ + ββ β 5.05e+3 5.05e+3 ... 5.05e+3 5.05e+3 β 5.05e+3 5.05e+3 ... 5.05e+3 5.05e+3 β β 5.08e+3 5.08e+3 ... 5.08e+3 5.08e+3 β 5.08e+3 5.12e+3 ... 5.12e+3 5.12e+3 ββ βββββββββΌββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββΌβββββββΌββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββ€β - ββ1 @ 1 β 5.54e+3 5.54e+3 ... 5.55e+3 5.55e+3 β 5.55e+3 5.55e+3 ... 5.56e+3 5.56e+3 β ... β 5.59e+3 5.59e+3 ... 5.60e+3 5.60e+3 β 5.60e+3 5.60e+3 ... 5.61e+3 5.61e+3 ββ - ββaxis 2β 6.04e+3 6.04e+3 ... 6.05e+3 6.05e+3 β 6.05e+3 6.05e+3 ... 6.06e+3 6.06e+3 β β 6.10e+3 6.10e+3 ... 6.10e+3 6.11e+3 β 6.11e+3 6.11e+3 ... 6.11e+3 6.11e+3 ββ + ββ1 @ 1 β 5.53e+3 5.53e+3 ... 5.53e+3 5.56e+3 β 5.56e+3 5.56e+3 ... 5.56e+3 5.56e+3 β ... β 5.60e+3 5.60e+3 ... 5.60e+3 5.60e+3 β 5.60e+3 5.60e+3 ... 5.60e+3 5.60e+3 ββ + ββaxis 2β 6.04e+3 6.04e+3 ... 6.04e+3 6.04e+3 β 6.04e+3 6.04e+3 ... 6.08e+3 6.08e+3 β β 6.11e+3 6.11e+3 ... 6.11e+3 6.11e+3 β 6.11e+3 6.11e+3 ... 6.11e+3 6.11e+3 ββ ββ β ... ... ... ... ... β ... ... ... ... ... β β ... ... ... ... ... β ... ... ... ... ... ββ - ββ β 1.00e+4 1.00e+4 ... 1.00e+4 1.00e+4 β 1.00e+4 1.00e+4 ... 1.00e+4 1.00e+4 β β 1.01e+4 1.01e+4 ... 1.01e+4 1.01e+4 β 1.01e+4 1.01e+4 ... 1.01e+4 1.01e+4 ββ - ββ β 1.05e+4 1.05e+4 ... 1.05e+4 1.05e+4 β 1.05e+4 1.05e+4 ... 1.06e+4 1.06e+4 β β 1.06e+4 1.06e+4 ... 1.06e+4 1.06e+4 β 1.06e+4 1.06e+4 ... 1.06e+4 1.06e+4 ββ + ββ β 1.01e+4 1.01e+4 ... 1.01e+4 1.01e+4 β 1.01e+4 1.01e+4 ... 1.01e+4 1.01e+4 β β 1.01e+4 1.01e+4 ... 1.01e+4 1.01e+4 β 1.01e+4 1.01e+4 ... 1.01e+4 1.01e+4 ββ + ββ β 1.05e+4 1.05e+4 ... 1.05e+4 1.06e+4 β 1.06e+4 1.06e+4 ... 1.06e+4 1.06e+4 β β 1.06e+4 1.06e+4 ... 1.06e+4 1.06e+4 β 1.06e+4 1.06e+4 ... 1.06e+4 1.06e+4 ββ βββββββββΌββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββΌβββββββΌββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββ€β ββ~~~~~ β ... β ... β ... β ... β ... ββ ββaxis 2β β β β β ββ βββββββββΌββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββΌβββββββΌββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββ€β - ββ8 @ 1 β 4.43e+4 4.43e+4 ... 4.43e+4 4.43e+4 β 4.43e+4 4.43e+4 ... 4.43e+4 4.43e+4 β ... β 4.44e+4 4.44e+4 ... 4.44e+4 4.44e+4 β 4.44e+4 4.44e+4 ... 4.44e+4 4.44e+4 ββ - ββaxis 2β 4.48e+4 4.48e+4 ... 4.48e+4 4.48e+4 β 4.48e+4 4.48e+4 ... 4.48e+4 4.48e+4 β β 4.49e+4 4.49e+4 ... 4.49e+4 4.49e+4 β 4.49e+4 4.49e+4 ... 4.49e+4 4.49e+4 ββ + ββ8 @ 1 β 4.42e+4 4.42e+4 ... 4.42e+4 4.42e+4 β 4.42e+4 4.42e+4 ... 4.42e+4 4.42e+4 β ... β 4.42e+4 4.42e+4 ... 4.42e+4 4.42e+4 β 4.42e+4 4.45e+4 ... 4.45e+4 4.45e+4 ββ + ββaxis 2β 4.48e+4 4.48e+4 ... 4.48e+4 4.48e+4 β 4.48e+4 4.48e+4 ... 4.48e+4 4.48e+4 β β 4.48e+4 4.48e+4 ... 4.48e+4 4.48e+4 β 4.48e+4 4.48e+4 ... 4.48e+4 4.48e+4 ββ ββ β ... ... ... ... ... β ... ... ... ... ... β β ... ... ... ... ... β ... ... ... ... ... ββ - ββ β 4.88e+4 4.88e+4 ... 4.88e+4 4.88e+4 β 4.88e+4 4.88e+4 ... 4.89e+4 4.89e+4 β β 4.89e+4 4.89e+4 ... 4.89e+4 4.89e+4 β 4.89e+4 4.89e+4 ... 4.89e+4 4.89e+4 ββ - ββ β 4.93e+4 4.93e+4 ... 4.93e+4 4.94e+4 β 4.94e+4 4.94e+4 ... 4.94e+4 4.94e+4 β β 4.94e+4 4.94e+4 ... 4.94e+4 4.94e+4 β 4.94e+4 4.94e+4 ... 4.94e+4 4.94e+4 ββ + ββ β 4.88e+4 4.88e+4 ... 4.88e+4 4.88e+4 β 4.88e+4 4.88e+4 ... 4.88e+4 4.88e+4 β β 4.88e+4 4.88e+4 ... 4.88e+4 4.88e+4 β 4.88e+4 4.88e+4 ... 4.88e+4 4.88e+4 ββ + ββ β 4.94e+4 4.94e+4 ... 4.94e+4 4.94e+4 β 4.94e+4 4.94e+4 ... 4.94e+4 4.94e+4 β β 4.94e+4 4.94e+4 ... 4.94e+4 4.94e+4 β 4.94e+4 4.94e+4 ... 4.94e+4 4.94e+4 ββ βββββββββΌββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββΌβββββββΌββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββ€β - ββ9 @ 1 β 4.98e+4 4.98e+4 ... 4.99e+4 4.99e+4 β 4.99e+4 4.99e+4 ... 4.99e+4 4.99e+4 β ... β 4.99e+4 4.99e+4 ... 4.99e+4 4.99e+4 β 4.99e+4 4.99e+4 ... 4.99e+4 4.99e+4 ββ + ββ9 @ 1 β 4.99e+4 4.99e+4 ... 4.99e+4 4.99e+4 β 4.99e+4 4.99e+4 ... 4.99e+4 4.99e+4 β ... β 4.99e+4 4.99e+4 ... 4.99e+4 4.99e+4 β 4.99e+4 4.99e+4 ... 4.99e+4 4.99e+4 ββ ββaxis 2β 5.04e+4 5.04e+4 ... 5.04e+4 5.04e+4 β 5.04e+4 5.04e+4 ... 5.04e+4 5.04e+4 β β 5.04e+4 5.04e+4 ... 5.04e+4 5.04e+4 β 5.04e+4 5.04e+4 ... 5.04e+4 5.04e+4 ββ ββ β ... ... ... ... ... β ... ... ... ... ... β β ... ... ... ... ... β ... ... ... ... ... ββ - ββ β 5.44e+4 5.44e+4 ... 5.44e+4 5.44e+4 β 5.44e+4 5.44e+4 ... 5.44e+4 5.44e+4 β β 5.44e+4 5.44e+4 ... 5.44e+4 5.44e+4 β 5.44e+4 5.44e+4 ... 5.45e+4 5.45e+4 ββ - ββ β 5.49e+4 5.49e+4 ... 5.49e+4 5.49e+4 β 5.49e+4 5.49e+4 ... 5.49e+4 5.49e+4 β β 5.49e+4 5.49e+4 ... 5.49e+4 5.49e+4 β 5.49e+4 5.50e+4 ... 5.50e+4 5.50e+4 ββ + ββ β 5.45e+4 5.45e+4 ... 5.45e+4 5.45e+4 β 5.45e+4 5.45e+4 ... 5.45e+4 5.45e+4 β β 5.45e+4 5.45e+4 ... 5.45e+4 5.45e+4 β 5.45e+4 5.45e+4 ... 5.45e+4 5.45e+4 ββ + ββ β 5.50e+4 5.50e+4 ... 5.50e+4 5.50e+4 β 5.50e+4 5.50e+4 ... 5.50e+4 5.50e+4 β β 5.50e+4 5.50e+4 ... 5.50e+4 5.50e+4 β 5.50e+4 5.50e+4 ... 5.50e+4 5.50e+4 ββ βββββββββ΄ββββββββββββββββββββββββββββββββββββββββββ΄ββββββββββββββββββββββββββββββββββββββββββ΄βββββββ΄ββββββββββββββββββββββββββββββββββββββββββ΄βββββββββββββββββββββββββββββββββββββββββββ βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€ βββββββββ¬ββββββββββββββββββββββββββββββββββββββββββ¬ββββββββββββββββββββββββββββββββββββββββββ¬βββββββ¬ββββββββββββββββββββββββββββββββββββββββββ¬βββββββββββββββββββββββββββββββββββββββββββ ββ1 @ 0 β0 @ 4 β1 @ 4 β~~~~~ β6 @ 4 β7 @ 4 ββ ββ βaxis 5 βaxis 5 βaxis 5βaxis 5 βaxis 5 ββ βββββββββΌββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββΌβββββββΌββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββ€β - ββ0 @ 1 β 5.54e+4 5.54e+4 ... 5.54e+4 5.54e+4 β 5.54e+4 5.54e+4 ... 5.54e+4 5.54e+4 β ... β 5.54e+4 5.54e+4 ... 5.55e+4 5.55e+4 β 5.55e+4 5.55e+4 ... 5.55e+4 5.55e+4 ββ - ββaxis 2β 5.59e+4 5.59e+4 ... 5.59e+4 5.59e+4 β 5.59e+4 5.59e+4 ... 5.59e+4 5.59e+4 β β 5.59e+4 5.59e+4 ... 5.60e+4 5.60e+4 β 5.60e+4 5.60e+4 ... 5.60e+4 5.60e+4 ββ + ββ0 @ 1 β 5.55e+4 5.55e+4 ... 5.55e+4 5.55e+4 β 5.55e+4 5.55e+4 ... 5.55e+4 5.55e+4 β ... β 5.55e+4 5.55e+4 ... 5.55e+4 5.55e+4 β 5.55e+4 5.55e+4 ... 5.55e+4 5.55e+4 ββ + ββaxis 2β 5.60e+4 5.60e+4 ... 5.60e+4 5.60e+4 β 5.60e+4 5.60e+4 ... 5.60e+4 5.60e+4 β β 5.60e+4 5.60e+4 ... 5.60e+4 5.60e+4 β 5.60e+4 5.60e+4 ... 5.60e+4 5.60e+4 ββ ββ β ... ... ... ... ... β ... ... ... ... ... β β ... ... ... ... ... β ... ... ... ... ... ββ - ββ β 5.99e+4 5.99e+4 ... 5.99e+4 5.99e+4 β 5.99e+4 5.99e+4 ... 5.99e+4 5.99e+4 β β 6.00e+4 6.00e+4 ... 6.00e+4 6.00e+4 β 6.00e+4 6.00e+4 ... 6.00e+4 6.00e+4 ββ - ββ β 6.04e+4 6.04e+4 ... 6.04e+4 6.04e+4 β 6.04e+4 6.04e+4 ... 6.04e+4 6.04e+4 β β 6.05e+4 6.05e+4 ... 6.05e+4 6.05e+4 β 6.05e+4 6.05e+4 ... 6.05e+4 6.05e+4 ββ + ββ β 5.99e+4 5.99e+4 ... 5.99e+4 5.99e+4 β 5.99e+4 5.99e+4 ... 5.99e+4 5.99e+4 β β 5.99e+4 5.99e+4 ... 6.01e+4 6.01e+4 β 6.01e+4 6.01e+4 ... 6.01e+4 6.01e+4 ββ + ββ β 6.04e+4 6.04e+4 ... 6.04e+4 6.04e+4 β 6.04e+4 6.04e+4 ... 6.04e+4 6.04e+4 β β 6.04e+4 6.04e+4 ... 6.04e+4 6.04e+4 β 6.04e+4 6.04e+4 ... 6.06e+4 6.06e+4 ββ βββββββββΌββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββΌβββββββΌββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββ€β - ββ1 @ 1 β 6.09e+4 6.09e+4 ... 6.09e+4 6.09e+4 β 6.09e+4 6.09e+4 ... 6.10e+4 6.10e+4 β ... β 6.10e+4 6.10e+4 ... 6.10e+4 6.10e+4 β 6.10e+4 6.10e+4 ... 6.10e+4 6.10e+4 ββ - ββaxis 2β 6.14e+4 6.14e+4 ... 6.14e+4 6.14e+4 β 6.14e+4 6.14e+4 ... 6.15e+4 6.15e+4 β β 6.15e+4 6.15e+4 ... 6.15e+4 6.15e+4 β 6.15e+4 6.15e+4 ... 6.15e+4 6.15e+4 ββ + ββ1 @ 1 β 6.09e+4 6.09e+4 ... 6.09e+4 6.09e+4 β 6.09e+4 6.09e+4 ... 6.09e+4 6.09e+4 β ... β 6.09e+4 6.09e+4 ... 6.09e+4 6.09e+4 β 6.09e+4 6.09e+4 ... 6.09e+4 6.09e+4 ββ + ββaxis 2β 6.14e+4 6.14e+4 ... 6.14e+4 6.14e+4 β 6.14e+4 6.14e+4 ... 6.14e+4 6.14e+4 β β 6.14e+4 6.14e+4 ... 6.14e+4 6.14e+4 β 6.14e+4 6.14e+4 ... 6.14e+4 6.14e+4 ββ ββ β ... ... ... ... ... β ... ... ... ... ... β β ... ... ... ... ... β ... ... ... ... ... ββ ββ β 6.55e+4 6.55e+4 ... 6.55e+4 6.55e+4 β 6.55e+4 6.55e+4 ... 6.55e+4 6.55e+4 β β 6.55e+4 6.55e+4 ... 6.55e+4 6.55e+4 β 6.55e+4 6.55e+4 ... 6.55e+4 6.55e+4 ββ ββ β 6.60e+4 6.60e+4 ... 6.60e+4 6.60e+4 β 6.60e+4 6.60e+4 ... 6.60e+4 6.60e+4 β β 6.60e+4 6.60e+4 ... 6.60e+4 6.60e+4 β 6.60e+4 6.60e+4 ... 6.60e+4 6.60e+4 ββ @@ -650,7 +650,7 @@ let%expect_test "Very big tensor" = ββ~~~~~ β ... β ... β ... β ... β ... ββ ββaxis 2β β β β β ββ βββββββββΌββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββΌβββββββΌββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββ€β - ββ8 @ 1 β 9.97e+4 9.97e+4 ... 9.97e+4 9.98e+4 β 9.98e+4 9.98e+4 ... 9.98e+4 9.98e+4 β ... β 9.98e+4 9.98e+4 ... 9.98e+4 9.98e+4 β 9.98e+4 9.98e+4 ... 9.98e+4 9.98e+4 ββ + ββ8 @ 1 β 9.98e+4 9.98e+4 ... 9.98e+4 9.98e+4 β 9.98e+4 9.98e+4 ... 9.98e+4 9.98e+4 β ... β 9.98e+4 9.98e+4 ... 9.98e+4 9.98e+4 β 9.98e+4 9.98e+4 ... 9.98e+4 9.98e+4 ββ ββaxis 2β 1.00e+5 1.00e+5 ... 1.00e+5 1.00e+5 β 1.00e+5 1.00e+5 ... 1.00e+5 1.00e+5 β β 1.00e+5 1.00e+5 ... 1.00e+5 1.00e+5 β 1.00e+5 1.00e+5 ... 1.00e+5 1.00e+5 ββ ββ β ... ... ... ... ... β ... ... ... ... ... β β ... ... ... ... ... β ... ... ... ... ... ββ ββ β 1.04e+5 1.04e+5 ... 1.04e+5 1.04e+5 β 1.04e+5 1.04e+5 ... 1.04e+5 1.04e+5 β β 1.04e+5 1.04e+5 ... 1.04e+5 1.04e+5 β 1.04e+5 1.04e+5 ... 1.04e+5 1.04e+5 ββ @@ -659,7 +659,7 @@ let%expect_test "Very big tensor" = ββ9 @ 1 β 1.05e+5 1.05e+5 ... 1.05e+5 1.05e+5 β 1.05e+5 1.05e+5 ... 1.05e+5 1.05e+5 β ... β 1.05e+5 1.05e+5 ... 1.05e+5 1.05e+5 β 1.05e+5 1.05e+5 ... 1.05e+5 1.05e+5 ββ ββaxis 2β 1.05e+5 1.05e+5 ... 1.05e+5 1.05e+5 β 1.05e+5 1.05e+5 ... 1.05e+5 1.05e+5 β β 1.05e+5 1.05e+5 ... 1.05e+5 1.05e+5 β 1.05e+5 1.05e+5 ... 1.05e+5 1.05e+5 ββ ββ β ... ... ... ... ... β ... ... ... ... ... β β ... ... ... ... ... β ... ... ... ... ... ββ - ββ β 1.09e+5 1.09e+5 ... 1.09e+5 1.09e+5 β 1.09e+5 1.09e+5 ... 1.09e+5 1.09e+5 β β 1.09e+5 1.09e+5 ... 1.09e+5 1.09e+5 β 1.09e+5 1.09e+5 ... 1.09e+5 1.09e+5 ββ + ββ β 1.10e+5 1.10e+5 ... 1.10e+5 1.10e+5 β 1.10e+5 1.10e+5 ... 1.10e+5 1.10e+5 β β 1.10e+5 1.10e+5 ... 1.10e+5 1.10e+5 β 1.10e+5 1.10e+5 ... 1.10e+5 1.10e+5 ββ ββ β 1.10e+5 1.10e+5 ... 1.10e+5 1.10e+5 β 1.10e+5 1.10e+5 ... 1.10e+5 1.10e+5 β β 1.10e+5 1.10e+5 ... 1.10e+5 1.10e+5 β 1.10e+5 1.10e+5 ... 1.10e+5 1.10e+5 ββ βββββββββ΄ββββββββββββββββββββββββββββββββββββββββββ΄ββββββββββββββββββββββββββββββββββββββββββ΄βββββββ΄ββββββββββββββββββββββββββββββββββββββββββ΄βββββββββββββββββββββββββββββββββββββββββββ βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€ @@ -669,14 +669,14 @@ let%expect_test "Very big tensor" = ββ4 @ 0 β0 @ 4 β1 @ 4 β~~~~~ β6 @ 4 β7 @ 4 ββ ββ βaxis 5 βaxis 5 βaxis 5βaxis 5 βaxis 5 ββ βββββββββΌββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββΌβββββββΌββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββ€β - ββ0 @ 1 β 2.21e+5 2.21e+5 ... 2.21e+5 2.21e+5 β 2.21e+5 2.21e+5 ... 2.21e+5 2.21e+5 β ... β 2.21e+5 2.21e+5 ... 2.21e+5 2.21e+5 β 2.21e+5 2.21e+5 ... 2.21e+5 2.21e+5 ββ + ββ0 @ 1 β 2.22e+5 2.22e+5 ... 2.22e+5 2.22e+5 β 2.22e+5 2.22e+5 ... 2.22e+5 2.22e+5 β ... β 2.22e+5 2.22e+5 ... 2.22e+5 2.22e+5 β 2.22e+5 2.22e+5 ... 2.22e+5 2.22e+5 ββ ββaxis 2β 2.22e+5 2.22e+5 ... 2.22e+5 2.22e+5 β 2.22e+5 2.22e+5 ... 2.22e+5 2.22e+5 β β 2.22e+5 2.22e+5 ... 2.22e+5 2.22e+5 β 2.22e+5 2.22e+5 ... 2.22e+5 2.22e+5 ββ ββ β ... ... ... ... ... β ... ... ... ... ... β β ... ... ... ... ... β ... ... ... ... ... ββ ββ β 2.26e+5 2.26e+5 ... 2.26e+5 2.26e+5 β 2.26e+5 2.26e+5 ... 2.26e+5 2.26e+5 β β 2.26e+5 2.26e+5 ... 2.26e+5 2.26e+5 β 2.26e+5 2.26e+5 ... 2.26e+5 2.26e+5 ββ - ββ β 2.26e+5 2.26e+5 ... 2.26e+5 2.26e+5 β 2.26e+5 2.26e+5 ... 2.26e+5 2.26e+5 β β 2.26e+5 2.26e+5 ... 2.26e+5 2.26e+5 β 2.26e+5 2.26e+5 ... 2.26e+5 2.26e+5 ββ + ββ β 2.26e+5 2.26e+5 ... 2.26e+5 2.26e+5 β 2.26e+5 2.26e+5 ... 2.27e+5 2.27e+5 β β 2.27e+5 2.27e+5 ... 2.27e+5 2.27e+5 β 2.27e+5 2.27e+5 ... 2.27e+5 2.27e+5 ββ βββββββββΌββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββΌβββββββΌββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββ€β ββ1 @ 1 β 2.27e+5 2.27e+5 ... 2.27e+5 2.27e+5 β 2.27e+5 2.27e+5 ... 2.27e+5 2.27e+5 β ... β 2.27e+5 2.27e+5 ... 2.27e+5 2.27e+5 β 2.27e+5 2.27e+5 ... 2.27e+5 2.27e+5 ββ - ββaxis 2β 2.27e+5 2.27e+5 ... 2.27e+5 2.27e+5 β 2.27e+5 2.27e+5 ... 2.27e+5 2.27e+5 β β 2.27e+5 2.27e+5 ... 2.27e+5 2.27e+5 β 2.27e+5 2.27e+5 ... 2.27e+5 2.27e+5 ββ + ββaxis 2β 2.27e+5 2.27e+5 ... 2.27e+5 2.27e+5 β 2.27e+5 2.27e+5 ... 2.27e+5 2.27e+5 β β 2.28e+5 2.28e+5 ... 2.28e+5 2.28e+5 β 2.28e+5 2.28e+5 ... 2.28e+5 2.28e+5 ββ ββ β ... ... ... ... ... β ... ... ... ... ... β β ... ... ... ... ... β ... ... ... ... ... ββ ββ β 2.31e+5 2.31e+5 ... 2.31e+5 2.31e+5 β 2.31e+5 2.31e+5 ... 2.31e+5 2.31e+5 β β 2.31e+5 2.31e+5 ... 2.31e+5 2.31e+5 β 2.31e+5 2.31e+5 ... 2.31e+5 2.31e+5 ββ ββ β 2.32e+5 2.32e+5 ... 2.32e+5 2.32e+5 β 2.32e+5 2.32e+5 ... 2.32e+5 2.32e+5 β β 2.32e+5 2.32e+5 ... 2.32e+5 2.32e+5 β 2.32e+5 2.32e+5 ... 2.32e+5 2.32e+5 ββ @@ -688,9 +688,9 @@ let%expect_test "Very big tensor" = ββaxis 2β 2.66e+5 2.66e+5 ... 2.66e+5 2.66e+5 β 2.66e+5 2.66e+5 ... 2.66e+5 2.66e+5 β β 2.66e+5 2.66e+5 ... 2.66e+5 2.66e+5 β 2.66e+5 2.66e+5 ... 2.66e+5 2.66e+5 ββ ββ β ... ... ... ... ... β ... ... ... ... ... β β ... ... ... ... ... β ... ... ... ... ... ββ ββ β 2.70e+5 2.70e+5 ... 2.70e+5 2.70e+5 β 2.70e+5 2.70e+5 ... 2.70e+5 2.70e+5 β β 2.70e+5 2.70e+5 ... 2.70e+5 2.70e+5 β 2.70e+5 2.70e+5 ... 2.70e+5 2.70e+5 ββ - ββ β 2.71e+5 2.71e+5 ... 2.71e+5 2.71e+5 β 2.71e+5 2.71e+5 ... 2.71e+5 2.71e+5 β β 2.71e+5 2.71e+5 ... 2.71e+5 2.71e+5 β 2.71e+5 2.71e+5 ... 2.71e+5 2.71e+5 ββ + ββ β 2.70e+5 2.70e+5 ... 2.70e+5 2.70e+5 β 2.70e+5 2.70e+5 ... 2.70e+5 2.70e+5 β β 2.70e+5 2.70e+5 ... 2.70e+5 2.70e+5 β 2.70e+5 2.70e+5 ... 2.70e+5 2.70e+5 ββ βββββββββΌββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββΌβββββββΌββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββ€β - ββ9 @ 1 β 2.71e+5 2.71e+5 ... 2.71e+5 2.71e+5 β 2.71e+5 2.71e+5 ... 2.71e+5 2.71e+5 β ... β 2.71e+5 2.71e+5 ... 2.71e+5 2.71e+5 β 2.71e+5 2.71e+5 ... 2.71e+5 2.71e+5 ββ + ββ9 @ 1 β 2.72e+5 2.72e+5 ... 2.72e+5 2.72e+5 β 2.72e+5 2.72e+5 ... 2.72e+5 2.72e+5 β ... β 2.72e+5 2.72e+5 ... 2.72e+5 2.72e+5 β 2.72e+5 2.72e+5 ... 2.72e+5 2.72e+5 ββ ββaxis 2β 2.72e+5 2.72e+5 ... 2.72e+5 2.72e+5 β 2.72e+5 2.72e+5 ... 2.72e+5 2.72e+5 β β 2.72e+5 2.72e+5 ... 2.72e+5 2.72e+5 β 2.72e+5 2.72e+5 ... 2.72e+5 2.72e+5 ββ ββ β ... ... ... ... ... β ... ... ... ... ... β β ... ... ... ... ... β ... ... ... ... ... ββ ββ β 2.76e+5 2.76e+5 ... 2.76e+5 2.76e+5 β 2.76e+5 2.76e+5 ... 2.76e+5 2.76e+5 β β 2.76e+5 2.76e+5 ... 2.76e+5 2.76e+5 β 2.76e+5 2.76e+5 ... 2.76e+5 2.76e+5 ββ @@ -701,32 +701,32 @@ let%expect_test "Very big tensor" = ββ5 @ 0 β0 @ 4 β1 @ 4 β~~~~~ β6 @ 4 β7 @ 4 ββ ββ βaxis 5 βaxis 5 βaxis 5βaxis 5 βaxis 5 ββ βββββββββΌββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββΌβββββββΌββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββ€β - ββ0 @ 1 β 2.77e+5 2.77e+5 ... 2.77e+5 2.77e+5 β 2.77e+5 2.77e+5 ... 2.77e+5 2.77e+5 β ... β 2.77e+5 2.77e+5 ... 2.77e+5 2.77e+5 β 2.77e+5 2.77e+5 ... 2.77e+5 2.77e+5 ββ - ββaxis 2β 2.77e+5 2.77e+5 ... 2.77e+5 2.77e+5 β 2.77e+5 2.77e+5 ... 2.77e+5 2.77e+5 β β 2.77e+5 2.77e+5 ... 2.77e+5 2.77e+5 β 2.77e+5 2.77e+5 ... 2.77e+5 2.77e+5 ββ + ββ0 @ 1 β 2.76e+5 2.76e+5 ... 2.76e+5 2.76e+5 β 2.76e+5 2.76e+5 ... 2.76e+5 2.76e+5 β ... β 2.76e+5 2.76e+5 ... 2.76e+5 2.76e+5 β 2.76e+5 2.76e+5 ... 2.76e+5 2.76e+5 ββ + ββaxis 2β 2.78e+5 2.78e+5 ... 2.78e+5 2.78e+5 β 2.78e+5 2.78e+5 ... 2.78e+5 2.78e+5 β β 2.78e+5 2.78e+5 ... 2.78e+5 2.78e+5 β 2.78e+5 2.78e+5 ... 2.78e+5 2.78e+5 ββ ββ β ... ... ... ... ... β ... ... ... ... ... β β ... ... ... ... ... β ... ... ... ... ... ββ - ββ β 2.81e+5 2.81e+5 ... 2.81e+5 2.81e+5 β 2.81e+5 2.81e+5 ... 2.81e+5 2.81e+5 β β 2.81e+5 2.81e+5 ... 2.81e+5 2.81e+5 β 2.81e+5 2.81e+5 ... 2.81e+5 2.81e+5 ββ + ββ β 2.82e+5 2.82e+5 ... 2.82e+5 2.82e+5 β 2.82e+5 2.82e+5 ... 2.82e+5 2.82e+5 β β 2.82e+5 2.82e+5 ... 2.82e+5 2.82e+5 β 2.82e+5 2.82e+5 ... 2.82e+5 2.82e+5 ββ ββ β 2.82e+5 2.82e+5 ... 2.82e+5 2.82e+5 β 2.82e+5 2.82e+5 ... 2.82e+5 2.82e+5 β β 2.82e+5 2.82e+5 ... 2.82e+5 2.82e+5 β 2.82e+5 2.82e+5 ... 2.82e+5 2.82e+5 ββ βββββββββΌββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββΌβββββββΌββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββ€β ββ1 @ 1 β 2.82e+5 2.82e+5 ... 2.82e+5 2.82e+5 β 2.82e+5 2.82e+5 ... 2.82e+5 2.82e+5 β ... β 2.82e+5 2.82e+5 ... 2.82e+5 2.82e+5 β 2.82e+5 2.82e+5 ... 2.82e+5 2.82e+5 ββ - ββaxis 2β 2.83e+5 2.83e+5 ... 2.83e+5 2.83e+5 β 2.83e+5 2.83e+5 ... 2.83e+5 2.83e+5 β β 2.83e+5 2.83e+5 ... 2.83e+5 2.83e+5 β 2.83e+5 2.83e+5 ... 2.83e+5 2.83e+5 ββ + ββaxis 2β 2.82e+5 2.82e+5 ... 2.82e+5 2.82e+5 β 2.82e+5 2.82e+5 ... 2.82e+5 2.82e+5 β β 2.82e+5 2.82e+5 ... 2.82e+5 2.82e+5 β 2.82e+5 2.82e+5 ... 2.82e+5 2.82e+5 ββ ββ β ... ... ... ... ... β ... ... ... ... ... β β ... ... ... ... ... β ... ... ... ... ... ββ - ββ β 2.87e+5 2.87e+5 ... 2.87e+5 2.87e+5 β 2.87e+5 2.87e+5 ... 2.87e+5 2.87e+5 β β 2.87e+5 2.87e+5 ... 2.87e+5 2.87e+5 β 2.87e+5 2.87e+5 ... 2.87e+5 2.87e+5 ββ - ββ β 2.87e+5 2.87e+5 ... 2.87e+5 2.87e+5 β 2.87e+5 2.87e+5 ... 2.87e+5 2.87e+5 β β 2.87e+5 2.87e+5 ... 2.87e+5 2.87e+5 β 2.87e+5 2.87e+5 ... 2.87e+5 2.87e+5 ββ + ββ β 2.86e+5 2.86e+5 ... 2.86e+5 2.86e+5 β 2.86e+5 2.86e+5 ... 2.86e+5 2.86e+5 β β 2.86e+5 2.86e+5 ... 2.86e+5 2.86e+5 β 2.86e+5 2.86e+5 ... 2.86e+5 2.86e+5 ββ + ββ β 2.88e+5 2.88e+5 ... 2.88e+5 2.88e+5 β 2.88e+5 2.88e+5 ... 2.88e+5 2.88e+5 β β 2.88e+5 2.88e+5 ... 2.88e+5 2.88e+5 β 2.88e+5 2.88e+5 ... 2.88e+5 2.88e+5 ββ βββββββββΌββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββΌβββββββΌββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββ€β ββ~~~~~ β ... β ... β ... β ... β ... ββ ββaxis 2β β β β β ββ βββββββββΌββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββΌβββββββΌββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββ€β ββ8 @ 1 β 3.21e+5 3.21e+5 ... 3.21e+5 3.21e+5 β 3.21e+5 3.21e+5 ... 3.21e+5 3.21e+5 β ... β 3.21e+5 3.21e+5 ... 3.21e+5 3.21e+5 β 3.21e+5 3.21e+5 ... 3.21e+5 3.21e+5 ββ - ββaxis 2β 3.22e+5 3.22e+5 ... 3.22e+5 3.22e+5 β 3.22e+5 3.22e+5 ... 3.22e+5 3.22e+5 β β 3.22e+5 3.22e+5 ... 3.22e+5 3.22e+5 β 3.22e+5 3.22e+5 ... 3.22e+5 3.22e+5 ββ + ββaxis 2β 3.21e+5 3.21e+5 ... 3.21e+5 3.21e+5 β 3.21e+5 3.21e+5 ... 3.21e+5 3.21e+5 β β 3.21e+5 3.21e+5 ... 3.21e+5 3.21e+5 β 3.21e+5 3.21e+5 ... 3.21e+5 3.21e+5 ββ ββ β ... ... ... ... ... β ... ... ... ... ... β β ... ... ... ... ... β ... ... ... ... ... ββ - ββ β 3.26e+5 3.26e+5 ... 3.26e+5 3.26e+5 β 3.26e+5 3.26e+5 ... 3.26e+5 3.26e+5 β β 3.26e+5 3.26e+5 ... 3.26e+5 3.26e+5 β 3.26e+5 3.26e+5 ... 3.26e+5 3.26e+5 ββ - ββ β 3.26e+5 3.26e+5 ... 3.26e+5 3.26e+5 β 3.26e+5 3.26e+5 ... 3.26e+5 3.26e+5 β β 3.26e+5 3.26e+5 ... 3.26e+5 3.26e+5 β 3.26e+5 3.26e+5 ... 3.26e+5 3.26e+5 ββ + ββ β 3.25e+5 3.25e+5 ... 3.25e+5 3.25e+5 β 3.25e+5 3.25e+5 ... 3.25e+5 3.25e+5 β β 3.25e+5 3.25e+5 ... 3.25e+5 3.25e+5 β 3.25e+5 3.25e+5 ... 3.25e+5 3.25e+5 ββ + ββ β 3.25e+5 3.25e+5 ... 3.25e+5 3.25e+5 β 3.25e+5 3.25e+5 ... 3.25e+5 3.25e+5 β β 3.25e+5 3.25e+5 ... 3.25e+5 3.25e+5 β 3.25e+5 3.27e+5 ... 3.27e+5 3.27e+5 ββ βββββββββΌββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββΌβββββββΌββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββ€β ββ9 @ 1 β 3.27e+5 3.27e+5 ... 3.27e+5 3.27e+5 β 3.27e+5 3.27e+5 ... 3.27e+5 3.27e+5 β ... β 3.27e+5 3.27e+5 ... 3.27e+5 3.27e+5 β 3.27e+5 3.27e+5 ... 3.27e+5 3.27e+5 ββ ββaxis 2β 3.27e+5 3.27e+5 ... 3.27e+5 3.27e+5 β 3.27e+5 3.27e+5 ... 3.27e+5 3.27e+5 β β 3.27e+5 3.27e+5 ... 3.27e+5 3.27e+5 β 3.27e+5 3.27e+5 ... 3.27e+5 3.27e+5 ββ ββ β ... ... ... ... ... β ... ... ... ... ... β β ... ... ... ... ... β ... ... ... ... ... ββ ββ β 3.31e+5 3.31e+5 ... 3.31e+5 3.31e+5 β 3.31e+5 3.31e+5 ... 3.31e+5 3.31e+5 β β 3.31e+5 3.31e+5 ... 3.31e+5 3.31e+5 β 3.31e+5 3.31e+5 ... 3.31e+5 3.31e+5 ββ - ββ β 3.32e+5 3.32e+5 ... 3.32e+5 3.32e+5 β 3.32e+5 3.32e+5 ... 3.32e+5 3.32e+5 β β 3.32e+5 3.32e+5 ... 3.32e+5 3.32e+5 β 3.32e+5 3.32e+5 ... 3.32e+5 3.32e+5 ββ + ββ β 3.31e+5 3.31e+5 ... 3.31e+5 3.31e+5 β 3.31e+5 3.31e+5 ... 3.31e+5 3.31e+5 β β 3.31e+5 3.31e+5 ... 3.31e+5 3.31e+5 β 3.31e+5 3.31e+5 ... 3.31e+5 3.31e+5 ββ βββββββββ΄ββββββββββββββββββββββββββββββββββββββββββ΄ββββββββββββββββββββββββββββββββββββββββββ΄βββββββ΄ββββββββββββββββββββββββββββββββββββββββββ΄βββββββββββββββββββββββββββββββββββββββββββ βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ |}]; @@ -740,11 +740,11 @@ let%expect_test "Very big tensor" = ββ β0 @ 0 β1 @ 0 β~~~~~ β4 @ 0 β5 @ 0 ββ ββ βaxis 2 βaxis 2 βaxis 2βaxis 2 βaxis 2 ββ βββββββββΌββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββΌβββββββΌββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββ€β - ββaxis 1β 2.53e+5 7.61e+5 ... 4.82e+6 5.33e+6 β 5.61e+7 5.66e+7 ... 6.07e+7 6.12e+7 β ... β 2.23e+8 2.24e+8 ... 2.28e+8 2.28e+8 β 2.79e+8 2.80e+8 ... 2.84e+8 2.84e+8 ββ - ββ β 5.84e+6 6.34e+6 ... 1.04e+7 1.09e+7 β 6.17e+7 6.22e+7 ... 6.62e+7 6.68e+7 β β 2.29e+8 2.29e+8 ... 2.33e+8 2.34e+8 β 2.85e+8 2.85e+8 ... 2.89e+8 2.90e+8 ββ + ββaxis 1β 2.59e+5 5.24e+5 ... 4.19e+6 4.19e+6 β 3.35e+7 3.35e+7 ... 3.35e+7 3.35e+7 β ... β 1.34e+8 1.34e+8 ... 1.34e+8 1.34e+8 β 2.68e+8 2.68e+8 ... 2.68e+8 2.68e+8 ββ + ββ β 4.19e+6 4.19e+6 ... 8.38e+6 8.38e+6 β 3.35e+7 3.35e+7 ... 6.71e+7 6.71e+7 β β 1.34e+8 1.34e+8 ... 1.34e+8 1.34e+8 β 2.68e+8 2.68e+8 ... 2.68e+8 2.68e+8 ββ ββ β ... ... ... ... ... β ... ... ... ... ... β β ... ... ... ... ... β ... ... ... ... ... ββ - ββ β 4.49e+7 4.54e+7 ... 4.95e+7 5.00e+7 β 1.00e+8 1.01e+8 ... 1.05e+8 1.05e+8 β β 2.68e+8 2.69e+8 ... 2.73e+8 2.73e+8 β 3.24e+8 3.24e+8 ... 3.28e+8 3.29e+8 ββ - ββ β 5.05e+7 5.10e+7 ... 5.51e+7 5.56e+7 β 1.06e+8 1.06e+8 ... 1.11e+8 1.11e+8 β β 2.74e+8 2.74e+8 ... 2.78e+8 2.79e+8 β 3.29e+8 3.30e+8 ... 3.34e+8 3.35e+8 ββ + ββ β 3.35e+7 3.35e+7 ... 3.35e+7 3.35e+7 β 6.71e+7 6.71e+7 ... 6.71e+7 6.71e+7 β β 2.68e+8 2.68e+8 ... 2.68e+8 2.68e+8 β 2.68e+8 2.68e+8 ... 2.68e+8 2.68e+8 ββ + ββ β 3.35e+7 3.35e+7 ... 3.35e+7 3.35e+7 β 6.71e+7 6.71e+7 ... 6.71e+7 6.71e+7 β β 2.68e+8 2.68e+8 ... 2.68e+8 2.68e+8 β 2.68e+8 2.68e+8 ... 2.68e+8 2.68e+8 ββ βββββββββ΄ββββββββββββββββββββββββββββββββββββββββββ΄ββββββββββββββββββββββββββββββββββββββββββ΄βββββββ΄ββββββββββββββββββββββββββββββββββββββββββ΄βββββββββββββββββββββββββββββββββββββββββββ βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ |}] File "test/primitive_ops.ml", line 1, characters 0-0: /usr/bin/git --no-pager diff --no-index --color=always -u _build/default/test/primitive_ops.ml _build/.sandbox/690e7ab0667fefc4603ba9b4bb5eb45e/default/test/primitive_ops.ml.corrected diff --git a/_build/default/test/primitive_ops.ml b/_build/.sandbox/690e7ab0667fefc4603ba9b4bb5eb45e/default/test/primitive_ops.ml.corrected index 71c4c28..395f014 100644 --- a/_build/default/test/primitive_ops.ml +++ b/_build/.sandbox/690e7ab0667fefc4603ba9b4bb5eb45e/default/test/primitive_ops.ml.corrected @@ -177,8 +177,8 @@ let%expect_test "exp(x)" = β β * β β β β β β * β - β β * β β β β + β β * β β β * β βf β * β β( β * β @@ -242,19 +242,19 @@ let%expect_test "log(x)" = β β * β β β * β β β ** β - β β ** #############β - β β *** ################### #### β + β β ** ############β + β β *** ################### ##### β β β ****** ######### #### ## β β β ******** *****##### #### β - β β ###### ## ***** ************* **** ********************* ******* β - β β- - - - ####### - - - - - - - - - - - - - **********β + β β ###### ## ***** ************* **** ********************* ***** β + β β- - - - ####### - - - - - - - - - - - - - ************β β β ### # β β β #### β β β ## β β β ## β β β ## β β β # β - β -2.30 β# β + β -2.29 β# β ββββββββββΌβββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€ β β1.00e-1 5.00β β β x β @@ -299,8 +299,8 @@ let%expect_test "log2(x)" = β β *** ################### #### β β β ****** ######### #### ## β β β ******** *****##### #### β - β β ###### ## ***** ************* **** ********************* ******* β - β β- - - - ####### - - - - - - - - - - - - - **********β + β β ###### ## ***** ************* **** ********************* ******** β + β β- - - - ####### - - - - - - - - - - - - - -*********β β β ### # β β β #### β β β ## β @@ -320,51 +320,51 @@ let%expect_test "sin(x)" = PrintBox_text.output Stdio.stdout plot_box; [%expect {| - βββββββββββ¬βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ - β 9.99e-1 β # β - β β#### ## *** ** ### ### β - β β # ** ** # # β - β β # * * # # β - β β # # # β - β β # * * # # β - β β * * # β - β β # * #* β - β β # # # β - β β * * β - β β # * # * # β - β β # # β - β β # * * β - β β # # # β - β β* * * *β - β β # # # β - β β * * * * β - β β # # # β - βf β * * * * β - β( β # # # β - βx β- * - - - - - - *- - - - - - * - - - - - -* β - β) β # # # β - β β * * * * β - β β # # # β - β β * * * * β - β β # # # β - β β * * * * β - β β # # # β - β β * * * # * β - β β # * # * β - β β * # # # * β - β β * * * * β - β β # # # β - β β * * # * #* β - β β * * * * β - β β * # # * # β - β β * * # # * * # β - β β * * # # * * # β - β β ** * # # * ** # β - β -9.99e-1β * ***** ####### **** * ## ####β - βββββββββββΌβββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€ - β β-5.00 5.00β - β β x β - βββββββββββ΄βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ + ββββββββ¬βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ + β 1.00 β # * # β + β β#### ## ** ** ### ### β + β β # ** ** # # β + β β # * * # # β + β β # # # β + β β # * * # # β + β β * * # β + β β # * #* β + β β # # # β + β β * * β + β β # # # β + β β * # * # β + β β # * * β + β β # # # β + β β* * * *β + β β # # # β + β β * * * * β + β β # # # β + βf β * * * * β + β( β # # # β + βx β- * - - - - - - *- - - - - - * - - - - - -* β + β) β # # # β + β β * * * * β + β β # # # β + β β * * * * β + β β # # # β + β β * * * * β + β β # # # β + β β * * * # * β + β β # * # * β + β β * # # # * β + β β * * * * β + β β # * # * # β + β β * # #* β + β β * * * * β + β β * # # * # β + β β * * # # * * # β + β β * * # # * * # β + β β ** * # # * ** # β + β -1.00β * ***** ####### **** * ## ####β + ββββββββΌβββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€ + β β-5.00 5.00β + β β x β + ββββββββ΄βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ |}] let%expect_test "cos(x)" = @@ -373,51 +373,51 @@ let%expect_test "cos(x)" = PrintBox_text.output Stdio.stdout plot_box; [%expect {| - βββββββββββ¬βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ - β 9.99e-1 β * β - β β *** *** ### ## ** ****β - β β * * ## ## * β - β β * * # # * β - β β * * * β - β β * * # # * β - β β * # # β - β β # * # * β - β β * * * β - β β # # β - β β * # * # * β - β β * * β - β β # # * β - β β * * * β - β β# # # #β - β β * * * β - β β # # # # β - β β * * * β - βf β # # # # β - β( β * * * β - βx β- # - - - - - - #- - - - - - # - - - - - -# β - β) β * * * β - β β # # # # β - β β * * * β - β β # # # # β - β β * * * β - β β # # # # β - β β * * * β - β β # * # # # β - β β # * # * β - β β # * * * # β - β β # # # # β - β β * * * β - β β #* # * # # β - β β # # * # β - β β * # * * # β - β β * # # * * # # β - β β * # # * * # # β - β β * ## # * * # ## β - β -9.99e-1β**** ** # ##### ******* #### # β - βββββββββββΌβββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€ - β β-5.00 5.00β - β β x β - βββββββββββ΄βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ + ββββββββ¬βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ + β 1.00 β * # * β + β β *** *** ## ## ** ***β + β β * * ## ## * β + β β * * # # * β + β β * * * β + β β * * # # * β + β β * # # β + β β # * # * β + β β * * * β + β β # # β + β β * * * β + β β * # * # β + β β # # * β + β β * * * β + β β# # # #β + β β * * * β + β β # # # # β + β β * * * β + βf β # # # # β + β( β * * * β + βx β- # - - - - - - #- - - - - - # - - - - - -# β + β) β * * * β + β β # # # # β + β β * * * β + β β # # # # β + β β * * * β + β β # # # # β + β β * * * β + β β # * # # # β + β β # * # * β + β β # * * * # β + β β # # # # β + β β * # * # * β + β β #* * # β + β β # # * # β + β β * # * * # β + β β * # # * * # # β + β β * # # * * # # β + β β * ## # * * # ## β + β -1.00β**** ** # ##### ******* #### # β + ββββββββΌβββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€ + β β-5.00 5.00β + β β x β + ββββββββ΄βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ |}] let%expect_test "neg(x)" = @@ -534,27 +534,27 @@ let%expect_test "sqrt(x)" = {| βββββββ¬βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β 2.23β #β - β β ##### β - β β ##### β - β β #### β - β β ## ## β + β β #### β + β β ###### β + β β ##### β + β β ## # β β β ##### β - β β #### β - β β ##### β + β β ##### β + β β #### β β β #### β β β ## # β β β # ## β - β β ### β - β β* #### β + β β #### β + β β* ### β β β #### β β β # # β - β β ### β - β β ### β - β β * ### β + β β #### β + β β ### β + β β * ## β βf β ## β β( β ### β - βx β * ### β - β) β ## β + βx β * ## β + β) β ### β β β * ## β β β # ## β β β * ## β @@ -563,9 +563,9 @@ let%expect_test "sqrt(x)" = β β *# β β β # ** β β β ## *** β - β β # * * β - β β # ***** β - β β # ******** β + β β # * ** β + β β # ***** β + β β # ******* β β β # * ********** β β β# * ************* **** β β β * ********************* ************ β @@ -639,23 +639,23 @@ let%expect_test "recip_sqrt(x)" = [%expect {| βββββββββββ¬βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ - β 3.16 β# β + β 3.15 β# β β β β β β ## β β β ## β β β ####### β - β β ### ############## ##### β - β β ##### ############# #### ##################### #################β - β β- - - - - - -********** *************-****-********************* *****************β - β β * ************** β - β β **** β + β β ### ############## #### β + β β ###### ############# #### ##################### #################β + β β- - - - - - - ******** *************-****-********************* *****************β + β β * ************** ** β + β β ***** β β β *** β β β * β β β * β β β * β β β β - β β * β β β β + β β * β β β β βf β β β( β * β @@ -678,7 +678,7 @@ let%expect_test "recip_sqrt(x)" = β β β β β β β β β - β -1.58e+1β* β + β -1.56e+1β* β βββββββββββΌβββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€ β β1.00e-1 5.00β β β x β @@ -691,51 +691,51 @@ let%expect_test "tanh(x)" = PrintBox_text.output Stdio.stdout plot_box; [%expect {| - βββββββββββ¬βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ - β 9.99e-1 β #β - β β ** * ############## #### ####### ### β - β β * * #### β - β β * * ## β - β β * * # β - β β * * ## β - β β # β - β β * * β - β β * * β - β β # β - β β * # * β - β β * * β - β β # β - β β * # * β - β β * * β - β β * # * β - β β ** ** β - β β ** # ** β - βf β ** ** β - β( β * ***** # ****** β - βx β**** *** *** *** ********- - - - - - - - - - ******* **** *******-****β - β) β # β - β β β - β β # β - β β β - β β # β - β β β - β β # β - β β # β - β β β - β β # β - β β # β - β β # β - β β β - β β # β - β β ## β - β β # β - β β ## β - β β #### β - β -9.99e-1β#### ### ### ### ######## ###### β - βββββββββββΌβββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€ - β β-5.00 5.00β - β β x β - βββββββββββ΄βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ + ββββββββ¬βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ + β 1.00 β ### ####### ####β + β β ** * ############## # β + β β * * #### β + β β * * ## β + β β * * # β + β β * * ## β + β β # β + β β * * β + β β * * β + β β # β + β β * # * β + β β * * β + β β # β + β β * # * β + β β * * β + β β * # * β + β β ** ** β + β β ** # ** β + βf β *** *** β + β( β * **** # ***** β + βx β**** *** *** *** ********- - - - - - - - - - ******* **** *******-****β + β) β # β + β β β + β β # β + β β β + β β # β + β β β + β β # β + β β # β + β β β + β β # β + β β # β + β β # β + β β β + β β # β + β β ## β + β β # β + β β ## β + β β #### β + β -1.00β#### ### ### ### ######## ###### β + ββββββββΌβββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€ + β β-5.00 5.00β + β β x β + ββββββββ΄βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ |}] let%expect_test "where(x < 0, sin(x), cos(x))" = @@ -744,49 +744,49 @@ let%expect_test "where(x < 0, sin(x), cos(x))" = PrintBox_text.output Stdio.stdout plot_box; [%expect {| - βββββββββββ¬βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ - β 9.99e-1 β # * β - β β#### ## *** ## ** ***β - β β # ** ## * β - β β # * # * β - β β # * β - β β # * # * β - β β * # β - β β # * # * β - β β # * β - β β * # β - β β # * # * β - β β β - β β # * # * β - β β # * β - β β* * # #β - β β # * β - β β * * # # β - β β # * β - βf β * * # # β - β( β # * β - βx β- * - - - - - - *- - - - - - # - - - - - -# β - β) β # * * β - β β * * # # β - β β # # * * β - β β * * # # β - β β # # * * β - β β * * # # β - β β # # * * β - β β * * # # β - β β # * # * # * β - β β * # # * * # β - β β * * # # β - β β # # * * β - β β * * # * # # β - β β * * * # β - β β * # # * * # β - β β * * # # * * # # β - β β * * # # * * # # β - β β ** * # # * * # ## β - β -9.99e-1β * ***** ####### ******* #### # β - βββββββββββΌβββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€ - β β-5.00 5.00β - β β x β - βββββββββββ΄βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ + ββββββββ¬βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ + β 1.00 β # * * β + β β#### ## ** ## ** ***β + β β # ** ## * β + β β # * # * β + β β # * β + β β # * # * β + β β * # β + β β # * # * β + β β # * β + β β * # β + β β # * β + β β * # β + β β # * # * β + β β # * β + β β* * # #β + β β # * β + β β * * # # β + β β # * β + βf β * * # # β + β( β # * β + βx β- * - - - - - - *- - - - - - # - - - - - -# β + β) β # * * β + β β * * # # β + β β # # * * β + β β * * # # β + β β # # * * β + β β * * # # β + β β # # * * β + β β * * # # β + β β # * # * # * β + β β * # # * * # β + β β * * # # β + β β # * # * # * β + β β * # * # β + β β * * * # β + β β * # # * * # β + β β * * # # * * # # β + β β * * # # * * # # β + β β ** * # # * * # ## β + β -1.00β * ***** ####### ******* #### # β + ββββββββΌβββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€ + β β-5.00 5.00β + β β x β + ββββββββ΄βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ |}] File "test/einsum_trivia.ml", line 1, characters 0-0: /usr/bin/git --no-pager diff --no-index --color=always -u _build/default/test/einsum_trivia.ml _build/.sandbox/690e7ab0667fefc4603ba9b4bb5eb45e/default/test/einsum_trivia.ml.corrected diff --git a/_build/default/test/einsum_trivia.ml b/_build/.sandbox/690e7ab0667fefc4603ba9b4bb5eb45e/default/test/einsum_trivia.ml.corrected index 162aa57..ed9a15a 100644 --- a/_build/default/test/einsum_trivia.ml +++ b/_build/.sandbox/690e7ab0667fefc4603ba9b4bb5eb45e/default/test/einsum_trivia.ml.corrected @@ -79,87 +79,87 @@ let%expect_test "einsum1 permute axes" = ββ1 @ 2 β 1.40e+2 1.41e+2 1.42e+2 1.43e+2 1.44e+2 β 1.45e+2 1.46e+2 1.47e+2 1.48e+2 1.49e+2 β 1.50e+2 1.51e+2 1.52e+2 1.53e+2 1.54e+2 β 1.55e+2 1.56e+2 1.57e+2 1.58e+2 1.59e+2 ββ ββaxis 3β 1.60e+2 1.61e+2 1.62e+2 1.63e+2 1.64e+2 β 1.65e+2 1.66e+2 1.67e+2 1.68e+2 1.69e+2 β 1.70e+2 1.71e+2 1.72e+2 1.73e+2 1.74e+2 β 1.75e+2 1.76e+2 1.77e+2 1.78e+2 1.79e+2 ββ ββ β ... ... ... ... ... β ... ... ... ... ... β ... ... ... ... ... β ... ... ... ... ... ββ - ββ β 2.40e+2 2.41e+2 2.42e+2 2.43e+2 2.44e+2 β 2.45e+2 2.46e+2 2.47e+2 2.48e+2 2.49e+2 β 2.50e+2 2.51e+2 2.52e+2 2.53e+2 2.54e+2 β 2.55e+2 2.56e+2 2.57e+2 2.58e+2 2.59e+2 ββ - ββ β 2.60e+2 2.61e+2 2.62e+2 2.63e+2 2.64e+2 β 2.65e+2 2.66e+2 2.67e+2 2.68e+2 2.69e+2 β 2.70e+2 2.71e+2 2.72e+2 2.73e+2 2.74e+2 β 2.75e+2 2.76e+2 2.77e+2 2.78e+2 2.79e+2 ββ + ββ β 2.40e+2 2.41e+2 2.42e+2 2.43e+2 2.44e+2 β 2.45e+2 2.46e+2 2.47e+2 2.48e+2 2.49e+2 β 2.50e+2 2.51e+2 2.52e+2 2.53e+2 2.54e+2 β 2.55e+2 2.56e+2 2.56e+2 2.58e+2 2.60e+2 ββ + ββ β 2.60e+2 2.60e+2 2.62e+2 2.64e+2 2.64e+2 β 2.64e+2 2.66e+2 2.68e+2 2.68e+2 2.68e+2 β 2.70e+2 2.72e+2 2.72e+2 2.72e+2 2.74e+2 β 2.76e+2 2.76e+2 2.76e+2 2.78e+2 2.80e+2 ββ βββββββββΌββββββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββββββ€β ββ~~~~~ β ... β ... β ... β ... ββ ββaxis 3β β β β ββ βββββββββΌββββββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββββββ€β - ββ4 @ 2 β 5.60e+2 5.61e+2 5.62e+2 5.63e+2 5.64e+2 β 5.65e+2 5.66e+2 5.67e+2 5.68e+2 5.69e+2 β 5.70e+2 5.71e+2 5.72e+2 5.73e+2 5.74e+2 β 5.75e+2 5.76e+2 5.77e+2 5.78e+2 5.79e+2 ββ - ββaxis 3β 5.80e+2 5.81e+2 5.82e+2 5.83e+2 5.84e+2 β 5.85e+2 5.86e+2 5.87e+2 5.88e+2 5.89e+2 β 5.90e+2 5.91e+2 5.92e+2 5.93e+2 5.94e+2 β 5.95e+2 5.96e+2 5.97e+2 5.98e+2 5.99e+2 ββ + ββ4 @ 2 β 5.60e+2 5.60e+2 5.60e+2 5.64e+2 5.64e+2 β 5.64e+2 5.68e+2 5.68e+2 5.68e+2 5.68e+2 β 5.68e+2 5.72e+2 5.72e+2 5.72e+2 5.76e+2 β 5.76e+2 5.76e+2 5.76e+2 5.76e+2 5.80e+2 ββ + ββaxis 3β 5.80e+2 5.80e+2 5.84e+2 5.84e+2 5.84e+2 β 5.84e+2 5.84e+2 5.88e+2 5.88e+2 5.88e+2 β 5.92e+2 5.92e+2 5.92e+2 5.92e+2 5.92e+2 β 5.96e+2 5.96e+2 5.96e+2 6.00e+2 6.00e+2 ββ ββ β ... ... ... ... ... β ... ... ... ... ... β ... ... ... ... ... β ... ... ... ... ... ββ - ββ β 6.60e+2 6.61e+2 6.62e+2 6.63e+2 6.64e+2 β 6.65e+2 6.66e+2 6.67e+2 6.68e+2 6.69e+2 β 6.70e+2 6.71e+2 6.72e+2 6.73e+2 6.74e+2 β 6.75e+2 6.76e+2 6.77e+2 6.78e+2 6.79e+2 ββ - ββ β 6.80e+2 6.81e+2 6.82e+2 6.83e+2 6.84e+2 β 6.85e+2 6.86e+2 6.87e+2 6.88e+2 6.89e+2 β 6.90e+2 6.91e+2 6.92e+2 6.93e+2 6.94e+2 β 6.95e+2 6.96e+2 6.97e+2 6.98e+2 6.99e+2 ββ + ββ β 6.60e+2 6.60e+2 6.64e+2 6.64e+2 6.64e+2 β 6.64e+2 6.64e+2 6.68e+2 6.68e+2 6.68e+2 β 6.72e+2 6.72e+2 6.72e+2 6.72e+2 6.72e+2 β 6.76e+2 6.76e+2 6.76e+2 6.80e+2 6.80e+2 ββ + ββ β 6.80e+2 6.80e+2 6.80e+2 6.84e+2 6.84e+2 β 6.84e+2 6.88e+2 6.88e+2 6.88e+2 6.88e+2 β 6.88e+2 6.92e+2 6.92e+2 6.92e+2 6.96e+2 β 6.96e+2 6.96e+2 6.96e+2 6.96e+2 7.00e+2 ββ βββββββββΌββββββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββββββ€β - ββ5 @ 2 β 7.00e+2 7.01e+2 7.02e+2 7.03e+2 7.04e+2 β 7.05e+2 7.06e+2 7.07e+2 7.08e+2 7.09e+2 β 7.10e+2 7.11e+2 7.12e+2 7.13e+2 7.14e+2 β 7.15e+2 7.16e+2 7.17e+2 7.18e+2 7.19e+2 ββ - ββaxis 3β 7.20e+2 7.21e+2 7.22e+2 7.23e+2 7.24e+2 β 7.25e+2 7.26e+2 7.27e+2 7.28e+2 7.29e+2 β 7.30e+2 7.31e+2 7.32e+2 7.33e+2 7.34e+2 β 7.35e+2 7.36e+2 7.37e+2 7.38e+2 7.39e+2 ββ + ββ5 @ 2 β 7.00e+2 7.00e+2 7.04e+2 7.04e+2 7.04e+2 β 7.04e+2 7.04e+2 7.08e+2 7.08e+2 7.08e+2 β 7.12e+2 7.12e+2 7.12e+2 7.12e+2 7.12e+2 β 7.16e+2 7.16e+2 7.16e+2 7.20e+2 7.20e+2 ββ + ββaxis 3β 7.20e+2 7.20e+2 7.20e+2 7.24e+2 7.24e+2 β 7.24e+2 7.28e+2 7.28e+2 7.28e+2 7.28e+2 β 7.28e+2 7.32e+2 7.32e+2 7.32e+2 7.36e+2 β 7.36e+2 7.36e+2 7.36e+2 7.36e+2 7.40e+2 ββ ββ β ... ... ... ... ... β ... ... ... ... ... β ... ... ... ... ... β ... ... ... ... ... ββ - ββ β 8.00e+2 8.01e+2 8.02e+2 8.03e+2 8.04e+2 β 8.05e+2 8.06e+2 8.07e+2 8.08e+2 8.09e+2 β 8.10e+2 8.11e+2 8.12e+2 8.13e+2 8.14e+2 β 8.15e+2 8.16e+2 8.17e+2 8.18e+2 8.19e+2 ββ - ββ β 8.20e+2 8.21e+2 8.22e+2 8.23e+2 8.24e+2 β 8.25e+2 8.26e+2 8.27e+2 8.28e+2 8.29e+2 β 8.30e+2 8.31e+2 8.32e+2 8.33e+2 8.34e+2 β 8.35e+2 8.36e+2 8.37e+2 8.38e+2 8.39e+2 ββ + ββ β 8.00e+2 8.00e+2 8.00e+2 8.04e+2 8.04e+2 β 8.04e+2 8.08e+2 8.08e+2 8.08e+2 8.08e+2 β 8.08e+2 8.12e+2 8.12e+2 8.12e+2 8.16e+2 β 8.16e+2 8.16e+2 8.16e+2 8.16e+2 8.20e+2 ββ + ββ β 8.20e+2 8.20e+2 8.24e+2 8.24e+2 8.24e+2 β 8.24e+2 8.24e+2 8.28e+2 8.28e+2 8.28e+2 β 8.32e+2 8.32e+2 8.32e+2 8.32e+2 8.32e+2 β 8.36e+2 8.36e+2 8.36e+2 8.40e+2 8.40e+2 ββ βββββββββ΄ββββββββββββββββββββββββββββββββββββββββββββββ΄ββββββββββββββββββββββββββββββββββββββββββββββ΄ββββββββββββββββββββββββββββββββββββββββββββββ΄βββββββββββββββββββββββββββββββββββββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€ βββββββββ¬ββββββββββββββββββββββββββββββββββββββββββββββ¬ββββββββββββββββββββββββββββββββββββββββββββββ¬ββββββββββββββββββββββββββββββββββββββββββββββ¬βββββββββββββββββββββββββββββββββββββββββββββββ ββ1 @ 1 β0 @ 4 β1 @ 4 β2 @ 4 β3 @ 4 ββ ββ βaxis 5 βaxis 5 βaxis 5 βaxis 5 ββ βββββββββΌββββββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββββββ€β - ββ0 @ 2 β 8.40e+2 8.41e+2 8.42e+2 8.43e+2 8.44e+2 β 8.45e+2 8.46e+2 8.47e+2 8.48e+2 8.49e+2 β 8.50e+2 8.51e+2 8.52e+2 8.53e+2 8.54e+2 β 8.55e+2 8.56e+2 8.57e+2 8.58e+2 8.59e+2 ββ - ββaxis 3β 8.60e+2 8.61e+2 8.62e+2 8.63e+2 8.64e+2 β 8.65e+2 8.66e+2 8.67e+2 8.68e+2 8.69e+2 β 8.70e+2 8.71e+2 8.72e+2 8.73e+2 8.74e+2 β 8.75e+2 8.76e+2 8.77e+2 8.78e+2 8.79e+2 ββ + ββ0 @ 2 β 8.40e+2 8.40e+2 8.40e+2 8.44e+2 8.44e+2 β 8.44e+2 8.48e+2 8.48e+2 8.48e+2 8.48e+2 β 8.48e+2 8.52e+2 8.52e+2 8.52e+2 8.56e+2 β 8.56e+2 8.56e+2 8.56e+2 8.56e+2 8.60e+2 ββ + ββaxis 3β 8.60e+2 8.60e+2 8.64e+2 8.64e+2 8.64e+2 β 8.64e+2 8.64e+2 8.68e+2 8.68e+2 8.68e+2 β 8.72e+2 8.72e+2 8.72e+2 8.72e+2 8.72e+2 β 8.76e+2 8.76e+2 8.76e+2 8.80e+2 8.80e+2 ββ ββ β ... ... ... ... ... β ... ... ... ... ... β ... ... ... ... ... β ... ... ... ... ... ββ - ββ β 9.40e+2 9.41e+2 9.42e+2 9.43e+2 9.44e+2 β 9.45e+2 9.46e+2 9.47e+2 9.48e+2 9.49e+2 β 9.50e+2 9.51e+2 9.52e+2 9.53e+2 9.54e+2 β 9.55e+2 9.56e+2 9.57e+2 9.58e+2 9.59e+2 ββ - ββ β 9.60e+2 9.61e+2 9.62e+2 9.63e+2 9.64e+2 β 9.65e+2 9.66e+2 9.67e+2 9.68e+2 9.69e+2 β 9.70e+2 9.71e+2 9.72e+2 9.73e+2 9.74e+2 β 9.75e+2 9.76e+2 9.77e+2 9.78e+2 9.79e+2 ββ + ββ β 9.40e+2 9.40e+2 9.44e+2 9.44e+2 9.44e+2 β 9.44e+2 9.44e+2 9.48e+2 9.48e+2 9.48e+2 β 9.52e+2 9.52e+2 9.52e+2 9.52e+2 9.52e+2 β 9.56e+2 9.56e+2 9.56e+2 9.60e+2 9.60e+2 ββ + ββ β 9.60e+2 9.60e+2 9.60e+2 9.64e+2 9.64e+2 β 9.64e+2 9.68e+2 9.68e+2 9.68e+2 9.68e+2 β 9.68e+2 9.72e+2 9.72e+2 9.72e+2 9.76e+2 β 9.76e+2 9.76e+2 9.76e+2 9.76e+2 9.80e+2 ββ βββββββββΌββββββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββββββ€β - ββ1 @ 2 β 9.80e+2 9.81e+2 9.82e+2 9.83e+2 9.84e+2 β 9.85e+2 9.86e+2 9.87e+2 9.88e+2 9.89e+2 β 9.90e+2 9.91e+2 9.92e+2 9.93e+2 9.94e+2 β 9.95e+2 9.96e+2 9.97e+2 9.98e+2 9.99e+2 ββ - ββaxis 3β 1.00e+3 1.00e+3 1.00e+3 1.00e+3 1.00e+3 β 1.00e+3 1.00e+3 1.00e+3 1.00e+3 1.00e+3 β 1.01e+3 1.01e+3 1.01e+3 1.01e+3 1.01e+3 β 1.01e+3 1.01e+3 1.01e+3 1.01e+3 1.01e+3 ββ + ββ1 @ 2 β 9.80e+2 9.80e+2 9.84e+2 9.84e+2 9.84e+2 β 9.84e+2 9.84e+2 9.88e+2 9.88e+2 9.88e+2 β 9.92e+2 9.92e+2 9.92e+2 9.92e+2 9.92e+2 β 9.96e+2 9.96e+2 9.96e+2 1.00e+3 1.00e+3 ββ + ββaxis 3β 1.00e+3 1.00e+3 1.00e+3 1.00e+3 1.00e+3 β 1.00e+3 1.00e+3 1.00e+3 1.00e+3 1.00e+3 β 1.00e+3 1.01e+3 1.01e+3 1.01e+3 1.01e+3 β 1.01e+3 1.01e+3 1.01e+3 1.01e+3 1.02e+3 ββ ββ β ... ... ... ... ... β ... ... ... ... ... β ... ... ... ... ... β ... ... ... ... ... ββ - ββ β 1.08e+3 1.08e+3 1.08e+3 1.08e+3 1.08e+3 β 1.08e+3 1.08e+3 1.08e+3 1.08e+3 1.08e+3 β 1.09e+3 1.09e+3 1.09e+3 1.09e+3 1.09e+3 β 1.09e+3 1.09e+3 1.09e+3 1.09e+3 1.09e+3 ββ - ββ β 1.10e+3 1.10e+3 1.10e+3 1.10e+3 1.10e+3 β 1.10e+3 1.10e+3 1.10e+3 1.10e+3 1.10e+3 β 1.11e+3 1.11e+3 1.11e+3 1.11e+3 1.11e+3 β 1.11e+3 1.11e+3 1.11e+3 1.11e+3 1.11e+3 ββ + ββ β 1.08e+3 1.08e+3 1.08e+3 1.08e+3 1.08e+3 β 1.08e+3 1.08e+3 1.08e+3 1.08e+3 1.08e+3 β 1.08e+3 1.08e+3 1.08e+3 1.09e+3 1.09e+3 β 1.09e+3 1.09e+3 1.09e+3 1.09e+3 1.09e+3 ββ + ββ β 1.10e+3 1.10e+3 1.10e+3 1.10e+3 1.10e+3 β 1.10e+3 1.10e+3 1.10e+3 1.10e+3 1.11e+3 β 1.11e+3 1.11e+3 1.11e+3 1.11e+3 1.11e+3 β 1.11e+3 1.12e+3 1.12e+3 1.12e+3 1.12e+3 ββ βββββββββΌββββββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββββββ€β ββ~~~~~ β ... β ... β ... β ... ββ ββaxis 3β β β β ββ βββββββββΌββββββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββββββ€β - ββ4 @ 2 β 1.40e+3 1.40e+3 1.40e+3 1.40e+3 1.40e+3 β 1.40e+3 1.40e+3 1.40e+3 1.40e+3 1.40e+3 β 1.41e+3 1.41e+3 1.41e+3 1.41e+3 1.41e+3 β 1.41e+3 1.41e+3 1.41e+3 1.41e+3 1.41e+3 ββ - ββaxis 3β 1.42e+3 1.42e+3 1.42e+3 1.42e+3 1.42e+3 β 1.42e+3 1.42e+3 1.42e+3 1.42e+3 1.42e+3 β 1.43e+3 1.43e+3 1.43e+3 1.43e+3 1.43e+3 β 1.43e+3 1.43e+3 1.43e+3 1.43e+3 1.43e+3 ββ + ββ4 @ 2 β 1.40e+3 1.40e+3 1.40e+3 1.40e+3 1.40e+3 β 1.40e+3 1.40e+3 1.40e+3 1.40e+3 1.40e+3 β 1.40e+3 1.40e+3 1.40e+3 1.41e+3 1.41e+3 β 1.41e+3 1.41e+3 1.41e+3 1.41e+3 1.41e+3 ββ + ββaxis 3β 1.42e+3 1.42e+3 1.42e+3 1.42e+3 1.42e+3 β 1.42e+3 1.42e+3 1.42e+3 1.42e+3 1.43e+3 β 1.43e+3 1.43e+3 1.43e+3 1.43e+3 1.43e+3 β 1.43e+3 1.44e+3 1.44e+3 1.44e+3 1.44e+3 ββ ββ β ... ... ... ... ... β ... ... ... ... ... β ... ... ... ... ... β ... ... ... ... ... ββ - ββ β 1.50e+3 1.50e+3 1.50e+3 1.50e+3 1.50e+3 β 1.50e+3 1.50e+3 1.50e+3 1.50e+3 1.50e+3 β 1.51e+3 1.51e+3 1.51e+3 1.51e+3 1.51e+3 β 1.51e+3 1.51e+3 1.51e+3 1.51e+3 1.51e+3 ββ - ββ β 1.52e+3 1.52e+3 1.52e+3 1.52e+3 1.52e+3 β 1.52e+3 1.52e+3 1.52e+3 1.52e+3 1.52e+3 β 1.53e+3 1.53e+3 1.53e+3 1.53e+3 1.53e+3 β 1.53e+3 1.53e+3 1.53e+3 1.53e+3 1.53e+3 ββ + ββ β 1.50e+3 1.50e+3 1.50e+3 1.50e+3 1.50e+3 β 1.50e+3 1.50e+3 1.50e+3 1.50e+3 1.51e+3 β 1.51e+3 1.51e+3 1.51e+3 1.51e+3 1.51e+3 β 1.51e+3 1.52e+3 1.52e+3 1.52e+3 1.52e+3 ββ + ββ β 1.52e+3 1.52e+3 1.52e+3 1.52e+3 1.52e+3 β 1.52e+3 1.52e+3 1.52e+3 1.52e+3 1.52e+3 β 1.52e+3 1.52e+3 1.53e+3 1.53e+3 1.53e+3 β 1.53e+3 1.53e+3 1.53e+3 1.53e+3 1.53e+3 ββ βββββββββΌββββββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββββββ€β - ββ5 @ 2 β 1.54e+3 1.54e+3 1.54e+3 1.54e+3 1.54e+3 β 1.54e+3 1.54e+3 1.54e+3 1.54e+3 1.54e+3 β 1.55e+3 1.55e+3 1.55e+3 1.55e+3 1.55e+3 β 1.55e+3 1.55e+3 1.55e+3 1.55e+3 1.55e+3 ββ - ββaxis 3β 1.56e+3 1.56e+3 1.56e+3 1.56e+3 1.56e+3 β 1.56e+3 1.56e+3 1.56e+3 1.56e+3 1.56e+3 β 1.57e+3 1.57e+3 1.57e+3 1.57e+3 1.57e+3 β 1.57e+3 1.57e+3 1.57e+3 1.57e+3 1.57e+3 ββ + ββ5 @ 2 β 1.53e+3 1.54e+3 1.54e+3 1.54e+3 1.54e+3 β 1.54e+3 1.54e+3 1.54e+3 1.55e+3 1.55e+3 β 1.55e+3 1.55e+3 1.55e+3 1.55e+3 1.55e+3 β 1.55e+3 1.55e+3 1.56e+3 1.56e+3 1.56e+3 ββ + ββaxis 3β 1.56e+3 1.56e+3 1.56e+3 1.56e+3 1.56e+3 β 1.56e+3 1.56e+3 1.56e+3 1.56e+3 1.56e+3 β 1.56e+3 1.56e+3 1.56e+3 1.57e+3 1.57e+3 β 1.57e+3 1.57e+3 1.57e+3 1.57e+3 1.57e+3 ββ ββ β ... ... ... ... ... β ... ... ... ... ... β ... ... ... ... ... β ... ... ... ... ... ββ - ββ β 1.64e+3 1.64e+3 1.64e+3 1.64e+3 1.64e+3 β 1.64e+3 1.64e+3 1.64e+3 1.64e+3 1.64e+3 β 1.65e+3 1.65e+3 1.65e+3 1.65e+3 1.65e+3 β 1.65e+3 1.65e+3 1.65e+3 1.65e+3 1.65e+3 ββ - ββ β 1.66e+3 1.66e+3 1.66e+3 1.66e+3 1.66e+3 β 1.66e+3 1.66e+3 1.66e+3 1.66e+3 1.66e+3 β 1.67e+3 1.67e+3 1.67e+3 1.67e+3 1.67e+3 β 1.67e+3 1.67e+3 1.67e+3 1.67e+3 1.67e+3 ββ + ββ β 1.64e+3 1.64e+3 1.64e+3 1.64e+3 1.64e+3 β 1.64e+3 1.64e+3 1.64e+3 1.64e+3 1.64e+3 β 1.64e+3 1.64e+3 1.64e+3 1.65e+3 1.65e+3 β 1.65e+3 1.65e+3 1.65e+3 1.65e+3 1.65e+3 ββ + ββ β 1.66e+3 1.66e+3 1.66e+3 1.66e+3 1.66e+3 β 1.66e+3 1.66e+3 1.66e+3 1.66e+3 1.67e+3 β 1.67e+3 1.67e+3 1.67e+3 1.67e+3 1.67e+3 β 1.67e+3 1.68e+3 1.68e+3 1.68e+3 1.68e+3 ββ βββββββββ΄ββββββββββββββββββββββββββββββββββββββββββββββ΄ββββββββββββββββββββββββββββββββββββββββββββββ΄ββββββββββββββββββββββββββββββββββββββββββββββ΄βββββββββββββββββββββββββββββββββββββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€ βββββββββ¬ββββββββββββββββββββββββββββββββββββββββββββββ¬ββββββββββββββββββββββββββββββββββββββββββββββ¬ββββββββββββββββββββββββββββββββββββββββββββββ¬βββββββββββββββββββββββββββββββββββββββββββββββ ββ2 @ 1 β0 @ 4 β1 @ 4 β2 @ 4 β3 @ 4 ββ ββ βaxis 5 βaxis 5 βaxis 5 βaxis 5 ββ βββββββββΌββββββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββββββ€β - ββ0 @ 2 β 1.68e+3 1.68e+3 1.68e+3 1.68e+3 1.68e+3 β 1.68e+3 1.68e+3 1.68e+3 1.68e+3 1.68e+3 β 1.69e+3 1.69e+3 1.69e+3 1.69e+3 1.69e+3 β 1.69e+3 1.69e+3 1.69e+3 1.69e+3 1.69e+3 ββ - ββaxis 3β 1.70e+3 1.70e+3 1.70e+3 1.70e+3 1.70e+3 β 1.70e+3 1.70e+3 1.70e+3 1.70e+3 1.70e+3 β 1.71e+3 1.71e+3 1.71e+3 1.71e+3 1.71e+3 β 1.71e+3 1.71e+3 1.71e+3 1.71e+3 1.71e+3 ββ + ββ0 @ 2 β 1.68e+3 1.68e+3 1.68e+3 1.68e+3 1.68e+3 β 1.68e+3 1.68e+3 1.68e+3 1.68e+3 1.68e+3 β 1.68e+3 1.68e+3 1.69e+3 1.69e+3 1.69e+3 β 1.69e+3 1.69e+3 1.69e+3 1.69e+3 1.69e+3 ββ + ββaxis 3β 1.69e+3 1.70e+3 1.70e+3 1.70e+3 1.70e+3 β 1.70e+3 1.70e+3 1.70e+3 1.71e+3 1.71e+3 β 1.71e+3 1.71e+3 1.71e+3 1.71e+3 1.71e+3 β 1.71e+3 1.71e+3 1.72e+3 1.72e+3 1.72e+3 ββ ββ β ... ... ... ... ... β ... ... ... ... ... β ... ... ... ... ... β ... ... ... ... ... ββ - ββ β 1.78e+3 1.78e+3 1.78e+3 1.78e+3 1.78e+3 β 1.78e+3 1.78e+3 1.78e+3 1.78e+3 1.78e+3 β 1.79e+3 1.79e+3 1.79e+3 1.79e+3 1.79e+3 β 1.79e+3 1.79e+3 1.79e+3 1.79e+3 1.79e+3 ββ - ββ β 1.80e+3 1.80e+3 1.80e+3 1.80e+3 1.80e+3 β 1.80e+3 1.80e+3 1.80e+3 1.80e+3 1.80e+3 β 1.81e+3 1.81e+3 1.81e+3 1.81e+3 1.81e+3 β 1.81e+3 1.81e+3 1.81e+3 1.81e+3 1.81e+3 ββ + ββ β 1.77e+3 1.78e+3 1.78e+3 1.78e+3 1.78e+3 β 1.78e+3 1.78e+3 1.78e+3 1.79e+3 1.79e+3 β 1.79e+3 1.79e+3 1.79e+3 1.79e+3 1.79e+3 β 1.79e+3 1.79e+3 1.80e+3 1.80e+3 1.80e+3 ββ + ββ β 1.80e+3 1.80e+3 1.80e+3 1.80e+3 1.80e+3 β 1.80e+3 1.80e+3 1.80e+3 1.80e+3 1.80e+3 β 1.80e+3 1.80e+3 1.80e+3 1.81e+3 1.81e+3 β 1.81e+3 1.81e+3 1.81e+3 1.81e+3 1.81e+3 ββ βββββββββΌββββββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββββββ€β - ββ1 @ 2 β 1.82e+3 1.82e+3 1.82e+3 1.82e+3 1.82e+3 β 1.82e+3 1.82e+3 1.82e+3 1.82e+3 1.82e+3 β 1.83e+3 1.83e+3 1.83e+3 1.83e+3 1.83e+3 β 1.83e+3 1.83e+3 1.83e+3 1.83e+3 1.83e+3 ββ - ββaxis 3β 1.84e+3 1.84e+3 1.84e+3 1.84e+3 1.84e+3 β 1.84e+3 1.84e+3 1.84e+3 1.84e+3 1.84e+3 β 1.85e+3 1.85e+3 1.85e+3 1.85e+3 1.85e+3 β 1.85e+3 1.85e+3 1.85e+3 1.85e+3 1.85e+3 ββ + ββ1 @ 2 β 1.82e+3 1.82e+3 1.82e+3 1.82e+3 1.82e+3 β 1.82e+3 1.82e+3 1.82e+3 1.82e+3 1.83e+3 β 1.83e+3 1.83e+3 1.83e+3 1.83e+3 1.83e+3 β 1.83e+3 1.84e+3 1.84e+3 1.84e+3 1.84e+3 ββ + ββaxis 3β 1.84e+3 1.84e+3 1.84e+3 1.84e+3 1.84e+3 β 1.84e+3 1.84e+3 1.84e+3 1.84e+3 1.84e+3 β 1.84e+3 1.84e+3 1.85e+3 1.85e+3 1.85e+3 β 1.85e+3 1.85e+3 1.85e+3 1.85e+3 1.85e+3 ββ ββ β ... ... ... ... ... β ... ... ... ... ... β ... ... ... ... ... β ... ... ... ... ... ββ - ββ β 1.92e+3 1.92e+3 1.92e+3 1.92e+3 1.92e+3 β 1.92e+3 1.92e+3 1.92e+3 1.92e+3 1.92e+3 β 1.93e+3 1.93e+3 1.93e+3 1.93e+3 1.93e+3 β 1.93e+3 1.93e+3 1.93e+3 1.93e+3 1.93e+3 ββ - ββ β 1.94e+3 1.94e+3 1.94e+3 1.94e+3 1.94e+3 β 1.94e+3 1.94e+3 1.94e+3 1.94e+3 1.94e+3 β 1.95e+3 1.95e+3 1.95e+3 1.95e+3 1.95e+3 β 1.95e+3 1.95e+3 1.95e+3 1.95e+3 1.95e+3 ββ + ββ β 1.92e+3 1.92e+3 1.92e+3 1.92e+3 1.92e+3 β 1.92e+3 1.92e+3 1.92e+3 1.92e+3 1.92e+3 β 1.92e+3 1.92e+3 1.93e+3 1.93e+3 1.93e+3 β 1.93e+3 1.93e+3 1.93e+3 1.93e+3 1.93e+3 ββ + ββ β 1.93e+3 1.94e+3 1.94e+3 1.94e+3 1.94e+3 β 1.94e+3 1.94e+3 1.94e+3 1.95e+3 1.95e+3 β 1.95e+3 1.95e+3 1.95e+3 1.95e+3 1.95e+3 β 1.95e+3 1.95e+3 1.96e+3 1.96e+3 1.96e+3 ββ βββββββββΌββββββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββββββ€β ββ~~~~~ β ... β ... β ... β ... ββ ββaxis 3β β β β ββ βββββββββΌββββββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββββββ€β - ββ4 @ 2 β 2.24e+3 2.24e+3 2.24e+3 2.24e+3 2.24e+3 β 2.24e+3 2.24e+3 2.24e+3 2.24e+3 2.24e+3 β 2.25e+3 2.25e+3 2.25e+3 2.25e+3 2.25e+3 β 2.25e+3 2.25e+3 2.25e+3 2.25e+3 2.25e+3 ββ - ββaxis 3β 2.26e+3 2.26e+3 2.26e+3 2.26e+3 2.26e+3 β 2.26e+3 2.26e+3 2.26e+3 2.26e+3 2.26e+3 β 2.27e+3 2.27e+3 2.27e+3 2.27e+3 2.27e+3 β 2.27e+3 2.27e+3 2.27e+3 2.27e+3 2.27e+3 ββ + ββ4 @ 2 β 2.24e+3 2.24e+3 2.24e+3 2.24e+3 2.24e+3 β 2.24e+3 2.24e+3 2.24e+3 2.24e+3 2.25e+3 β 2.25e+3 2.25e+3 2.25e+3 2.25e+3 2.25e+3 β 2.25e+3 2.25e+3 2.25e+3 2.25e+3 2.25e+3 ββ + ββaxis 3β 2.25e+3 2.25e+3 2.25e+3 2.25e+3 2.27e+3 β 2.27e+3 2.27e+3 2.27e+3 2.27e+3 2.27e+3 β 2.27e+3 2.27e+3 2.27e+3 2.27e+3 2.27e+3 β 2.27e+3 2.27e+3 2.27e+3 2.27e+3 2.27e+3 ββ ββ β ... ... ... ... ... β ... ... ... ... ... β ... ... ... ... ... β ... ... ... ... ... ββ - ββ β 2.34e+3 2.34e+3 2.34e+3 2.34e+3 2.34e+3 β 2.34e+3 2.34e+3 2.34e+3 2.34e+3 2.34e+3 β 2.35e+3 2.35e+3 2.35e+3 2.35e+3 2.35e+3 β 2.35e+3 2.35e+3 2.35e+3 2.35e+3 2.35e+3 ββ - ββ β 2.36e+3 2.36e+3 2.36e+3 2.36e+3 2.36e+3 β 2.36e+3 2.36e+3 2.36e+3 2.36e+3 2.36e+3 β 2.37e+3 2.37e+3 2.37e+3 2.37e+3 2.37e+3 β 2.37e+3 2.37e+3 2.37e+3 2.37e+3 2.37e+3 ββ + ββ β 2.33e+3 2.33e+3 2.33e+3 2.33e+3 2.33e+3 β 2.35e+3 2.35e+3 2.35e+3 2.35e+3 2.35e+3 β 2.35e+3 2.35e+3 2.35e+3 2.35e+3 2.35e+3 β 2.35e+3 2.35e+3 2.35e+3 2.35e+3 2.35e+3 ββ + ββ β 2.36e+3 2.36e+3 2.36e+3 2.36e+3 2.36e+3 β 2.36e+3 2.36e+3 2.36e+3 2.36e+3 2.36e+3 β 2.36e+3 2.36e+3 2.36e+3 2.36e+3 2.36e+3 β 2.36e+3 2.36e+3 2.38e+3 2.38e+3 2.38e+3 ββ βββββββββΌββββββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββββββ€β - ββ5 @ 2 β 2.38e+3 2.38e+3 2.38e+3 2.38e+3 2.38e+3 β 2.38e+3 2.38e+3 2.38e+3 2.38e+3 2.38e+3 β 2.39e+3 2.39e+3 2.39e+3 2.39e+3 2.39e+3 β 2.39e+3 2.39e+3 2.39e+3 2.39e+3 2.39e+3 ββ - ββaxis 3β 2.40e+3 2.40e+3 2.40e+3 2.40e+3 2.40e+3 β 2.40e+3 2.40e+3 2.40e+3 2.40e+3 2.40e+3 β 2.41e+3 2.41e+3 2.41e+3 2.41e+3 2.41e+3 β 2.41e+3 2.41e+3 2.41e+3 2.41e+3 2.41e+3 ββ + ββ5 @ 2 β 2.38e+3 2.38e+3 2.38e+3 2.38e+3 2.38e+3 β 2.38e+3 2.38e+3 2.38e+3 2.38e+3 2.38e+3 β 2.38e+3 2.38e+3 2.40e+3 2.40e+3 2.40e+3 β 2.40e+3 2.40e+3 2.40e+3 2.40e+3 2.40e+3 ββ + ββaxis 3β 2.40e+3 2.40e+3 2.40e+3 2.40e+3 2.40e+3 β 2.40e+3 2.40e+3 2.40e+3 2.40e+3 2.41e+3 β 2.41e+3 2.41e+3 2.41e+3 2.41e+3 2.41e+3 β 2.41e+3 2.41e+3 2.41e+3 2.41e+3 2.41e+3 ββ ββ β ... ... ... ... ... β ... ... ... ... ... β ... ... ... ... ... β ... ... ... ... ... ββ - ββ β 2.48e+3 2.48e+3 2.48e+3 2.48e+3 2.48e+3 β 2.48e+3 2.48e+3 2.48e+3 2.48e+3 2.48e+3 β 2.49e+3 2.49e+3 2.49e+3 2.49e+3 2.49e+3 β 2.49e+3 2.49e+3 2.49e+3 2.49e+3 2.49e+3 ββ - ββ β 2.50e+3 2.50e+3 2.50e+3 2.50e+3 2.50e+3 β 2.50e+3 2.50e+3 2.50e+3 2.50e+3 2.50e+3 β 2.51e+3 2.51e+3 2.51e+3 2.51e+3 2.51e+3 β 2.51e+3 2.51e+3 2.51e+3 2.51e+3 2.51e+3 ββ + ββ β 2.48e+3 2.48e+3 2.48e+3 2.48e+3 2.48e+3 β 2.48e+3 2.48e+3 2.48e+3 2.49e+3 2.49e+3 β 2.49e+3 2.49e+3 2.49e+3 2.49e+3 2.49e+3 β 2.49e+3 2.49e+3 2.49e+3 2.49e+3 2.49e+3 ββ + ββ β 2.49e+3 2.49e+3 2.49e+3 2.49e+3 2.49e+3 β 2.51e+3 2.51e+3 2.51e+3 2.51e+3 2.51e+3 β 2.51e+3 2.51e+3 2.51e+3 2.51e+3 2.51e+3 β 2.51e+3 2.51e+3 2.51e+3 2.51e+3 2.51e+3 ββ βββββββββ΄ββββββββββββββββββββββββββββββββββββββββββββββ΄ββββββββββββββββββββββββββββββββββββββββββββββ΄ββββββββββββββββββββββββββββββββββββββββββββββ΄βββββββββββββββββββββββββββββββββββββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ |}]; @@ -172,50 +172,50 @@ let%expect_test "einsum1 permute axes" = ββ0 @ 1 β0 @ 4 β1 @ 4 ββ ββ βaxis 5 βaxis 5 ββ βββββββββΌββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββ€β - ββ0 @ 2 β 0.00 1.40e+2 ... 5.60e+2 7.00e+2 β 2.52e+3 2.66e+3 ... 3.08e+3 3.22e+3 ββ - ββaxis 3β 8.40e+2 9.80e+2 ... 1.40e+3 1.54e+3 β 3.36e+3 3.50e+3 ... 3.92e+3 4.06e+3 ββ - ββ β 1.68e+3 1.82e+3 ... 2.24e+3 2.38e+3 β 4.20e+3 4.34e+3 ... 4.76e+3 4.90e+3 ββ + ββ0 @ 2 β 0.00 1.40e+2 ... 5.60e+2 7.00e+2 β 2.52e+3 2.65e+3 ... 3.07e+3 3.21e+3 ββ + ββaxis 3β 8.40e+2 9.80e+2 ... 1.40e+3 1.53e+3 β 3.36e+3 3.50e+3 ... 3.92e+3 4.06e+3 ββ + ββ β 1.68e+3 1.82e+3 ... 2.24e+3 2.38e+3 β 4.19e+3 4.35e+3 ... 4.76e+3 4.89e+3 ββ βββββββββΌββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββ€β - ββ1 @ 2 β 1.00 1.41e+2 ... 5.61e+2 7.01e+2 β 2.52e+3 2.66e+3 ... 3.08e+3 3.22e+3 ββ - ββaxis 3β 8.41e+2 9.81e+2 ... 1.40e+3 1.54e+3 β 3.36e+3 3.50e+3 ... 3.92e+3 4.06e+3 ββ - ββ β 1.68e+3 1.82e+3 ... 2.24e+3 2.38e+3 β 4.20e+3 4.34e+3 ... 4.76e+3 4.90e+3 ββ + ββ1 @ 2 β 1.00 1.41e+2 ... 5.60e+2 7.00e+2 β 2.52e+3 2.65e+3 ... 3.08e+3 3.21e+3 ββ + ββaxis 3β 8.40e+2 9.80e+2 ... 1.40e+3 1.54e+3 β 3.36e+3 3.50e+3 ... 3.92e+3 4.06e+3 ββ + ββ β 1.68e+3 1.82e+3 ... 2.24e+3 2.38e+3 β 4.19e+3 4.35e+3 ... 4.76e+3 4.89e+3 ββ βββββββββΌββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββ€β - ββ2 @ 2 β 2.00 1.42e+2 ... 5.62e+2 7.02e+2 β 2.52e+3 2.66e+3 ... 3.08e+3 3.22e+3 ββ - ββaxis 3β 8.42e+2 9.82e+2 ... 1.40e+3 1.54e+3 β 3.36e+3 3.50e+3 ... 3.92e+3 4.06e+3 ββ - ββ β 1.68e+3 1.82e+3 ... 2.24e+3 2.38e+3 β 4.20e+3 4.34e+3 ... 4.76e+3 4.90e+3 ββ + ββ2 @ 2 β 2.00 1.42e+2 ... 5.60e+2 7.04e+2 β 2.52e+3 2.65e+3 ... 3.08e+3 3.21e+3 ββ + ββaxis 3β 8.40e+2 9.84e+2 ... 1.40e+3 1.54e+3 β 3.36e+3 3.50e+3 ... 3.92e+3 4.06e+3 ββ + ββ β 1.68e+3 1.82e+3 ... 2.24e+3 2.38e+3 β 4.19e+3 4.35e+3 ... 4.76e+3 4.89e+3 ββ βββββββββΌββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββ€β - ββ3 @ 2 β 3.00 1.43e+2 ... 5.63e+2 7.03e+2 β 2.52e+3 2.66e+3 ... 3.08e+3 3.22e+3 ββ - ββaxis 3β 8.43e+2 9.83e+2 ... 1.40e+3 1.54e+3 β 3.36e+3 3.50e+3 ... 3.92e+3 4.06e+3 ββ - ββ β 1.68e+3 1.82e+3 ... 2.24e+3 2.38e+3 β 4.20e+3 4.34e+3 ... 4.76e+3 4.90e+3 ββ + ββ3 @ 2 β 3.00 1.43e+2 ... 5.64e+2 7.04e+2 β 2.52e+3 2.65e+3 ... 3.08e+3 3.21e+3 ββ + ββaxis 3β 8.44e+2 9.84e+2 ... 1.40e+3 1.54e+3 β 3.36e+3 3.50e+3 ... 3.92e+3 4.06e+3 ββ + ββ β 1.68e+3 1.82e+3 ... 2.24e+3 2.38e+3 β 4.19e+3 4.35e+3 ... 4.76e+3 4.89e+3 ββ βββββββββΌββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββ€β - ββ4 @ 2 β 4.00 1.44e+2 ... 5.64e+2 7.04e+2 β 2.52e+3 2.66e+3 ... 3.08e+3 3.22e+3 ββ + ββ4 @ 2 β 4.00 1.44e+2 ... 5.64e+2 7.04e+2 β 2.52e+3 2.65e+3 ... 3.08e+3 3.23e+3 ββ ββaxis 3β 8.44e+2 9.84e+2 ... 1.40e+3 1.54e+3 β 3.36e+3 3.50e+3 ... 3.92e+3 4.06e+3 ββ - ββ β 1.68e+3 1.82e+3 ... 2.24e+3 2.38e+3 β 4.20e+3 4.34e+3 ... 4.76e+3 4.90e+3 ββ + ββ β 1.68e+3 1.82e+3 ... 2.24e+3 2.38e+3 β 4.19e+3 4.35e+3 ... 4.76e+3 4.89e+3 ββ βββββββββ΄ββββββββββββββββββββββββββββββββββββββββββ΄βββββββββββββββββββββββββββββββββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€ βββββββββ¬ββββββββββββββββββββββββββββββββββββββββββ¬βββββββββββββββββββββββββββββββββββββββββββ ββ1 @ 1 β0 @ 4 β1 @ 4 ββ ββ βaxis 5 βaxis 5 ββ βββββββββΌββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββ€β - ββ0 @ 2 β 2.00e+1 1.60e+2 ... 5.80e+2 7.20e+2 β 2.54e+3 2.68e+3 ... 3.10e+3 3.24e+3 ββ - ββaxis 3β 8.60e+2 1.00e+3 ... 1.42e+3 1.56e+3 β 3.38e+3 3.52e+3 ... 3.94e+3 4.08e+3 ββ - ββ β 1.70e+3 1.84e+3 ... 2.26e+3 2.40e+3 β 4.22e+3 4.36e+3 ... 4.78e+3 4.92e+3 ββ + ββ0 @ 2 β 2.00e+1 1.60e+2 ... 5.80e+2 7.20e+2 β 2.54e+3 2.68e+3 ... 3.10e+3 3.23e+3 ββ + ββaxis 3β 8.60e+2 1.00e+3 ... 1.42e+3 1.56e+3 β 3.37e+3 3.52e+3 ... 3.93e+3 4.08e+3 ββ + ββ β 1.69e+3 1.84e+3 ... 2.25e+3 2.40e+3 β 4.22e+3 4.35e+3 ... 4.76e+3 4.92e+3 ββ βββββββββΌββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββ€β - ββ1 @ 2 β 2.10e+1 1.61e+2 ... 5.81e+2 7.21e+2 β 2.54e+3 2.68e+3 ... 3.10e+3 3.24e+3 ββ - ββaxis 3β 8.61e+2 1.00e+3 ... 1.42e+3 1.56e+3 β 3.38e+3 3.52e+3 ... 3.94e+3 4.08e+3 ββ - ββ β 1.70e+3 1.84e+3 ... 2.26e+3 2.40e+3 β 4.22e+3 4.36e+3 ... 4.78e+3 4.92e+3 ββ + ββ1 @ 2 β 2.10e+1 1.61e+2 ... 5.80e+2 7.20e+2 β 2.54e+3 2.68e+3 ... 3.10e+3 3.24e+3 ββ + ββaxis 3β 8.60e+2 1.00e+3 ... 1.42e+3 1.56e+3 β 3.37e+3 3.52e+3 ... 3.93e+3 4.08e+3 ββ + ββ β 1.70e+3 1.84e+3 ... 2.25e+3 2.40e+3 β 4.22e+3 4.35e+3 ... 4.76e+3 4.92e+3 ββ βββββββββΌββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββ€β - ββ2 @ 2 β 2.20e+1 1.62e+2 ... 5.82e+2 7.22e+2 β 2.54e+3 2.68e+3 ... 3.10e+3 3.24e+3 ββ - ββaxis 3β 8.62e+2 1.00e+3 ... 1.42e+3 1.56e+3 β 3.38e+3 3.52e+3 ... 3.94e+3 4.08e+3 ββ - ββ β 1.70e+3 1.84e+3 ... 2.26e+3 2.40e+3 β 4.22e+3 4.36e+3 ... 4.78e+3 4.92e+3 ββ + ββ2 @ 2 β 2.20e+1 1.62e+2 ... 5.84e+2 7.20e+2 β 2.54e+3 2.68e+3 ... 3.10e+3 3.24e+3 ββ + ββaxis 3β 8.64e+2 1.00e+3 ... 1.42e+3 1.56e+3 β 3.37e+3 3.52e+3 ... 3.93e+3 4.08e+3 ββ + ββ β 1.70e+3 1.84e+3 ... 2.25e+3 2.40e+3 β 4.22e+3 4.35e+3 ... 4.76e+3 4.92e+3 ββ βββββββββΌββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββ€β - ββ3 @ 2 β 2.30e+1 1.63e+2 ... 5.83e+2 7.23e+2 β 2.54e+3 2.68e+3 ... 3.10e+3 3.24e+3 ββ - ββaxis 3β 8.63e+2 1.00e+3 ... 1.42e+3 1.56e+3 β 3.38e+3 3.52e+3 ... 3.94e+3 4.08e+3 ββ - ββ β 1.70e+3 1.84e+3 ... 2.26e+3 2.40e+3 β 4.22e+3 4.36e+3 ... 4.78e+3 4.92e+3 ββ + ββ3 @ 2 β 2.30e+1 1.63e+2 ... 5.84e+2 7.24e+2 β 2.54e+3 2.68e+3 ... 3.10e+3 3.24e+3 ββ + ββaxis 3β 8.64e+2 1.00e+3 ... 1.42e+3 1.56e+3 β 3.37e+3 3.52e+3 ... 3.93e+3 4.08e+3 ββ + ββ β 1.70e+3 1.84e+3 ... 2.25e+3 2.40e+3 β 4.22e+3 4.35e+3 ... 4.76e+3 4.92e+3 ββ βββββββββΌββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββ€β ββ4 @ 2 β 2.40e+1 1.64e+2 ... 5.84e+2 7.24e+2 β 2.54e+3 2.68e+3 ... 3.10e+3 3.24e+3 ββ - ββaxis 3β 8.64e+2 1.00e+3 ... 1.42e+3 1.56e+3 β 3.38e+3 3.52e+3 ... 3.94e+3 4.08e+3 ββ - ββ β 1.70e+3 1.84e+3 ... 2.26e+3 2.40e+3 β 4.22e+3 4.36e+3 ... 4.78e+3 4.92e+3 ββ + ββaxis 3β 8.64e+2 1.00e+3 ... 1.42e+3 1.56e+3 β 3.39e+3 3.52e+3 ... 3.93e+3 4.08e+3 ββ + ββ β 1.70e+3 1.84e+3 ... 2.27e+3 2.40e+3 β 4.22e+3 4.35e+3 ... 4.80e+3 4.92e+3 ββ βββββββββ΄ββββββββββββββββββββββββββββββββββββββββββ΄βββββββββββββββββββββββββββββββββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€ β ... β @@ -224,25 +224,25 @@ let%expect_test "einsum1 permute axes" = ββ5 @ 1 β0 @ 4 β1 @ 4 ββ ββ βaxis 5 βaxis 5 ββ βββββββββΌββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββ€β - ββ0 @ 2 β 1.00e+2 2.40e+2 ... 6.60e+2 8.00e+2 β 2.62e+3 2.76e+3 ... 3.18e+3 3.32e+3 ββ - ββaxis 3β 9.40e+2 1.08e+3 ... 1.50e+3 1.64e+3 β 3.46e+3 3.60e+3 ... 4.02e+3 4.16e+3 ββ ...TRUNCATED BY DUNE... βββββββββΌββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββ€β - ββ4 @ 2 β 5.60e+2 5.80e+2 ... 6.60e+2 6.80e+2 β 5.65e+2 5.85e+2 ... 6.65e+2 6.85e+2 β 5.70e+2 5.90e+2 ... 6.70e+2 6.90e+2 β 5.75e+2 5.95e+2 ... 6.75e+2 6.95e+2 ββ - ββaxis 3β 1.40e+3 1.42e+3 ... 1.50e+3 1.52e+3 β 1.40e+3 1.42e+3 ... 1.50e+3 1.52e+3 β 1.41e+3 1.43e+3 ... 1.51e+3 1.53e+3 β 1.41e+3 1.43e+3 ... 1.51e+3 1.53e+3 ββ - ββ β 2.24e+3 2.26e+3 ... 2.34e+3 2.36e+3 β 2.24e+3 2.26e+3 ... 2.34e+3 2.36e+3 β 2.25e+3 2.27e+3 ... 2.35e+3 2.37e+3 β 2.25e+3 2.27e+3 ... 2.35e+3 2.37e+3 ββ + ββ4 @ 2 β 5.60e+2 5.80e+2 ... 6.60e+2 6.80e+2 β 5.64e+2 5.84e+2 ... 6.64e+2 6.84e+2 β 5.68e+2 5.92e+2 ... 6.72e+2 6.88e+2 β 5.76e+2 5.96e+2 ... 6.76e+2 6.96e+2 ββ + ββaxis 3β 1.40e+3 1.42e+3 ... 1.50e+3 1.52e+3 β 1.40e+3 1.42e+3 ... 1.50e+3 1.52e+3 β 1.40e+3 1.43e+3 ... 1.51e+3 1.52e+3 β 1.41e+3 1.43e+3 ... 1.51e+3 1.53e+3 ββ + ββ β 2.24e+3 2.25e+3 ... 2.33e+3 2.36e+3 β 2.24e+3 2.27e+3 ... 2.35e+3 2.36e+3 β 2.25e+3 2.27e+3 ... 2.35e+3 2.36e+3 β 2.25e+3 2.27e+3 ... 2.35e+3 2.36e+3 ββ βββββββββΌββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββ€β - ββ5 @ 2 β 7.00e+2 7.20e+2 ... 8.00e+2 8.20e+2 β 7.05e+2 7.25e+2 ... 8.05e+2 8.25e+2 β 7.10e+2 7.30e+2 ... 8.10e+2 8.30e+2 β 7.15e+2 7.35e+2 ... 8.15e+2 8.35e+2 ββ - ββaxis 3β 1.54e+3 1.56e+3 ... 1.64e+3 1.66e+3 β 1.54e+3 1.56e+3 ... 1.64e+3 1.66e+3 β 1.55e+3 1.57e+3 ... 1.65e+3 1.67e+3 β 1.55e+3 1.57e+3 ... 1.65e+3 1.67e+3 ββ - ββ β 2.38e+3 2.40e+3 ... 2.48e+3 2.50e+3 β 2.38e+3 2.40e+3 ... 2.48e+3 2.50e+3 β 2.39e+3 2.41e+3 ... 2.49e+3 2.51e+3 β 2.39e+3 2.41e+3 ... 2.49e+3 2.51e+3 ββ + ββ5 @ 2 β 7.00e+2 7.20e+2 ... 8.00e+2 8.20e+2 β 7.04e+2 7.24e+2 ... 8.04e+2 8.24e+2 β 7.12e+2 7.28e+2 ... 8.08e+2 8.32e+2 β 7.16e+2 7.36e+2 ... 8.16e+2 8.36e+2 ββ + ββaxis 3β 1.53e+3 1.56e+3 ... 1.64e+3 1.66e+3 β 1.54e+3 1.56e+3 ... 1.64e+3 1.66e+3 β 1.55e+3 1.56e+3 ... 1.64e+3 1.67e+3 β 1.55e+3 1.57e+3 ... 1.65e+3 1.67e+3 ββ + ββ β 2.38e+3 2.40e+3 ... 2.48e+3 2.49e+3 β 2.38e+3 2.40e+3 ... 2.48e+3 2.51e+3 β 2.38e+3 2.41e+3 ... 2.49e+3 2.51e+3 β 2.40e+3 2.41e+3 ... 2.49e+3 2.51e+3 ββ βββββββββ΄ββββββββββββββββββββββββββββββββββββββββββ΄ββββββββββββββββββββββββββββββββββββββββββ΄ββββββββββββββββββββββββββββββββββββββββββ΄βββββββββββββββββββββββββββββββββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€ βββββββββ¬ββββββββββββββββββββββββββββββββββββββββββ¬ββββββββββββββββββββββββββββββββββββββββββ¬ββββββββββββββββββββββββββββββββββββββββββ¬βββββββββββββββββββββββββββββββββββββββββββ @@ -905,23 +905,23 @@ let%expect_test "einsum1 broadcast or sum out prefix axes" = ββ βaxis 5 βaxis 5 βaxis 5 βaxis 5 ββ βββββββββΌββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββ€β ββ0 @ 2 β 1.00 2.10e+1 ... 1.01e+2 1.21e+2 β 6.00 2.60e+1 ... 1.06e+2 1.26e+2 β 1.10e+1 3.10e+1 ... 1.11e+2 1.31e+2 β 1.60e+1 3.60e+1 ... 1.16e+2 1.36e+2 ββ - ββaxis 3β 8.41e+2 8.61e+2 ... 9.41e+2 9.61e+2 β 8.46e+2 8.66e+2 ... 9.46e+2 9.66e+2 β 8.51e+2 8.71e+2 ... 9.51e+2 9.71e+2 β 8.56e+2 8.76e+2 ... 9.56e+2 9.76e+2 ββ - ββ β 1.68e+3 1.70e+3 ... 1.78e+3 1.80e+3 β 1.68e+3 1.70e+3 ... 1.78e+3 1.80e+3 β 1.69e+3 1.71e+3 ... 1.79e+3 1.81e+3 β 1.69e+3 1.71e+3 ... 1.79e+3 1.81e+3 ββ + ββaxis 3β 8.40e+2 8.60e+2 ... 9.40e+2 9.60e+2 β 8.48e+2 8.64e+2 ... 9.44e+2 9.68e+2 β 8.52e+2 8.72e+2 ... 9.52e+2 9.72e+2 β 8.56e+2 8.76e+2 ... 9.56e+2 9.76e+2 ββ + ββ β 1.68e+3 1.70e+3 ... 1.78e+3 1.80e+3 β 1.68e+3 1.70e+3 ... 1.78e+3 1.80e+3 β 1.68e+3 1.71e+3 ... 1.79e+3 1.80e+3 β 1.69e+3 1.71e+3 ... 1.79e+3 1.81e+3 ββ βββββββββΌββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββ€β - ββ1 @ 2 β 1.41e+2 1.61e+2 ... 2.41e+2 2.61e+2 β 1.46e+2 1.66e+2 ... 2.46e+2 2.66e+2 β 1.51e+2 1.71e+2 ... 2.51e+2 2.71e+2 β 1.56e+2 1.76e+2 ... 2.56e+2 2.76e+2 ββ - ββaxis 3β 9.81e+2 1.00e+3 ... 1.08e+3 1.10e+3 β 9.86e+2 1.00e+3 ... 1.08e+3 1.10e+3 β 9.91e+2 1.01e+3 ... 1.09e+3 1.11e+3 β 9.96e+2 1.01e+3 ... 1.09e+3 1.11e+3 ββ - ββ β 1.82e+3 1.84e+3 ... 1.92e+3 1.94e+3 β 1.82e+3 1.84e+3 ... 1.92e+3 1.94e+3 β 1.83e+3 1.85e+3 ... 1.93e+3 1.95e+3 β 1.83e+3 1.85e+3 ... 1.93e+3 1.95e+3 ββ + ββ1 @ 2 β 1.41e+2 1.61e+2 ... 2.41e+2 2.60e+2 β 1.46e+2 1.66e+2 ... 2.46e+2 2.66e+2 β 1.51e+2 1.71e+2 ... 2.51e+2 2.72e+2 β 1.56e+2 1.76e+2 ... 2.56e+2 2.76e+2 ββ + ββaxis 3β 9.80e+2 1.00e+3 ... 1.08e+3 1.10e+3 β 9.84e+2 1.00e+3 ... 1.08e+3 1.10e+3 β 9.92e+2 1.01e+3 ... 1.08e+3 1.11e+3 β 9.96e+2 1.01e+3 ... 1.09e+3 1.12e+3 ββ + ββ β 1.82e+3 1.84e+3 ... 1.92e+3 1.94e+3 β 1.82e+3 1.84e+3 ... 1.92e+3 1.94e+3 β 1.83e+3 1.84e+3 ... 1.92e+3 1.95e+3 β 1.84e+3 1.85e+3 ... 1.93e+3 1.95e+3 ββ βββββββββΌββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββ€β ββ~~~~~ β ... β ... β ... β ... ββ ββaxis 3β β β β ββ βββββββββΌββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββ€β - ββ4 @ 2 β 5.61e+2 5.81e+2 ... 6.61e+2 6.81e+2 β 5.66e+2 5.86e+2 ... 6.66e+2 6.86e+2 β 5.71e+2 5.91e+2 ... 6.71e+2 6.91e+2 β 5.76e+2 5.96e+2 ... 6.76e+2 6.96e+2 ββ - ββaxis 3β 1.40e+3 1.42e+3 ... 1.50e+3 1.52e+3 β 1.40e+3 1.42e+3 ... 1.50e+3 1.52e+3 β 1.41e+3 1.43e+3 ... 1.51e+3 1.53e+3 β 1.41e+3 1.43e+3 ... 1.51e+3 1.53e+3 ββ - ββ β 2.24e+3 2.26e+3 ... 2.34e+3 2.36e+3 β 2.24e+3 2.26e+3 ... 2.34e+3 2.36e+3 β 2.25e+3 2.27e+3 ... 2.35e+3 2.37e+3 β 2.25e+3 2.27e+3 ... 2.35e+3 2.37e+3 ββ + ββ4 @ 2 β 5.60e+2 5.80e+2 ... 6.60e+2 6.80e+2 β 5.68e+2 5.84e+2 ... 6.64e+2 6.88e+2 β 5.72e+2 5.92e+2 ... 6.72e+2 6.92e+2 β 5.76e+2 5.96e+2 ... 6.76e+2 6.96e+2 ββ + ββaxis 3β 1.40e+3 1.42e+3 ... 1.50e+3 1.52e+3 β 1.40e+3 1.42e+3 ... 1.50e+3 1.52e+3 β 1.40e+3 1.43e+3 ... 1.51e+3 1.52e+3 β 1.41e+3 1.44e+3 ... 1.52e+3 1.53e+3 ββ + ββ β 2.24e+3 2.25e+3 ... 2.33e+3 2.36e+3 β 2.24e+3 2.27e+3 ... 2.35e+3 2.36e+3 β 2.25e+3 2.27e+3 ... 2.35e+3 2.36e+3 β 2.25e+3 2.27e+3 ... 2.35e+3 2.36e+3 ββ βββββββββΌββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββ€β - ββ5 @ 2 β 7.01e+2 7.21e+2 ... 8.01e+2 8.21e+2 β 7.06e+2 7.26e+2 ... 8.06e+2 8.26e+2 β 7.11e+2 7.31e+2 ... 8.11e+2 8.31e+2 β 7.16e+2 7.36e+2 ... 8.16e+2 8.36e+2 ββ - ββaxis 3β 1.54e+3 1.56e+3 ... 1.64e+3 1.66e+3 β 1.54e+3 1.56e+3 ... 1.64e+3 1.66e+3 β 1.55e+3 1.57e+3 ... 1.65e+3 1.67e+3 β 1.55e+3 1.57e+3 ... 1.65e+3 1.67e+3 ββ - ββ β 2.38e+3 2.40e+3 ... 2.48e+3 2.50e+3 β 2.38e+3 2.40e+3 ... 2.48e+3 2.50e+3 β 2.39e+3 2.41e+3 ... 2.49e+3 2.51e+3 β 2.39e+3 2.41e+3 ... 2.49e+3 2.51e+3 ββ + ββ5 @ 2 β 7.00e+2 7.20e+2 ... 8.00e+2 8.20e+2 β 7.04e+2 7.28e+2 ... 8.08e+2 8.24e+2 β 7.12e+2 7.32e+2 ... 8.12e+2 8.32e+2 β 7.16e+2 7.36e+2 ... 8.16e+2 8.36e+2 ββ + ββaxis 3β 1.54e+3 1.56e+3 ... 1.64e+3 1.66e+3 β 1.54e+3 1.56e+3 ... 1.64e+3 1.66e+3 β 1.55e+3 1.56e+3 ... 1.64e+3 1.67e+3 β 1.55e+3 1.57e+3 ... 1.65e+3 1.68e+3 ββ + ββ β 2.38e+3 2.40e+3 ... 2.48e+3 2.49e+3 β 2.38e+3 2.40e+3 ... 2.48e+3 2.51e+3 β 2.38e+3 2.41e+3 ... 2.49e+3 2.51e+3 β 2.40e+3 2.41e+3 ... 2.49e+3 2.51e+3 ββ βββββββββ΄ββββββββββββββββββββββββββββββββββββββββββ΄ββββββββββββββββββββββββββββββββββββββββββ΄ββββββββββββββββββββββββββββββββββββββββββ΄βββββββββββββββββββββββββββββββββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€ βββββββββ¬ββββββββββββββββββββββββββββββββββββββββββ¬ββββββββββββββββββββββββββββββββββββββββββ¬ββββββββββββββββββββββββββββββββββββββββββ¬βββββββββββββββββββββββββββββββββββββββββββ @@ -929,23 +929,23 @@ let%expect_test "einsum1 broadcast or sum out prefix axes" = ββ βaxis 5 βaxis 5 βaxis 5 βaxis 5 ββ βββββββββΌββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββ€β ββ0 @ 2 β 2.00 2.20e+1 ... 1.02e+2 1.22e+2 β 7.00 2.70e+1 ... 1.07e+2 1.27e+2 β 1.20e+1 3.20e+1 ... 1.12e+2 1.32e+2 β 1.70e+1 3.70e+1 ... 1.17e+2 1.37e+2 ββ - ββaxis 3β 8.42e+2 8.62e+2 ... 9.42e+2 9.62e+2 β 8.47e+2 8.67e+2 ... 9.47e+2 9.67e+2 β 8.52e+2 8.72e+2 ... 9.52e+2 9.72e+2 β 8.57e+2 8.77e+2 ... 9.57e+2 9.77e+2 ββ - ββ β 1.68e+3 1.70e+3 ... 1.78e+3 1.80e+3 β 1.68e+3 1.70e+3 ... 1.78e+3 1.80e+3 β 1.69e+3 1.71e+3 ... 1.79e+3 1.81e+3 β 1.69e+3 1.71e+3 ... 1.79e+3 1.81e+3 ββ + ββaxis 3β 8.40e+2 8.64e+2 ... 9.44e+2 9.60e+2 β 8.48e+2 8.68e+2 ... 9.48e+2 9.68e+2 β 8.52e+2 8.72e+2 ... 9.52e+2 9.72e+2 β 8.56e+2 8.76e+2 ... 9.56e+2 9.76e+2 ββ + ββ β 1.68e+3 1.70e+3 ... 1.78e+3 1.80e+3 β 1.68e+3 1.70e+3 ... 1.78e+3 1.80e+3 β 1.69e+3 1.71e+3 ... 1.79e+3 1.80e+3 β 1.69e+3 1.72e+3 ... 1.80e+3 1.81e+3 ββ βββββββββΌββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββ€β - ββ1 @ 2 β 1.42e+2 1.62e+2 ... 2.42e+2 2.62e+2 β 1.47e+2 1.67e+2 ... 2.47e+2 2.67e+2 β 1.52e+2 1.72e+2 ... 2.52e+2 2.72e+2 β 1.57e+2 1.77e+2 ... 2.57e+2 2.77e+2 ββ - ββaxis 3β 9.82e+2 1.00e+3 ... 1.08e+3 1.10e+3 β 9.87e+2 1.00e+3 ... 1.08e+3 1.10e+3 β 9.92e+2 1.01e+3 ... 1.09e+3 1.11e+3 β 9.97e+2 1.01e+3 ... 1.09e+3 1.11e+3 ββ - ββ β 1.82e+3 1.84e+3 ... 1.92e+3 1.94e+3 β 1.82e+3 1.84e+3 ... 1.92e+3 1.94e+3 β 1.83e+3 1.85e+3 ... 1.93e+3 1.95e+3 β 1.83e+3 1.85e+3 ... 1.93e+3 1.95e+3 ββ + ββ1 @ 2 β 1.42e+2 1.62e+2 ... 2.42e+2 2.62e+2 β 1.47e+2 1.67e+2 ... 2.47e+2 2.68e+2 β 1.52e+2 1.72e+2 ... 2.52e+2 2.72e+2 β 1.57e+2 1.77e+2 ... 2.56e+2 2.76e+2 ββ + ββaxis 3β 9.84e+2 1.00e+3 ... 1.08e+3 1.10e+3 β 9.88e+2 1.00e+3 ... 1.08e+3 1.10e+3 β 9.92e+2 1.01e+3 ... 1.08e+3 1.11e+3 β 9.96e+2 1.01e+3 ... 1.09e+3 1.12e+3 ββ + ββ β 1.82e+3 1.84e+3 ... 1.92e+3 1.94e+3 β 1.82e+3 1.84e+3 ... 1.92e+3 1.94e+3 β 1.83e+3 1.85e+3 ... 1.93e+3 1.95e+3 β 1.84e+3 1.85e+3 ... 1.93e+3 1.96e+3 ββ βββββββββΌββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββ€β ββ~~~~~ β ... β ... β ... β ... ββ ββaxis 3β β β β ββ βββββββββΌββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββ€β - ββ4 @ 2 β 5.62e+2 5.82e+2 ... 6.62e+2 6.82e+2 β 5.67e+2 5.87e+2 ... 6.67e+2 6.87e+2 β 5.72e+2 5.92e+2 ... 6.72e+2 6.92e+2 β 5.77e+2 5.97e+2 ... 6.77e+2 6.97e+2 ββ - ββaxis 3β 1.40e+3 1.42e+3 ... 1.50e+3 1.52e+3 β 1.40e+3 1.42e+3 ... 1.50e+3 1.52e+3 β 1.41e+3 1.43e+3 ... 1.51e+3 1.53e+3 β 1.41e+3 1.43e+3 ... 1.51e+3 1.53e+3 ββ - ββ β 2.24e+3 2.26e+3 ... 2.34e+3 2.36e+3 β 2.24e+3 2.26e+3 ... 2.34e+3 2.36e+3 β 2.25e+3 2.27e+3 ... 2.35e+3 2.37e+3 β 2.25e+3 2.27e+3 ... 2.35e+3 2.37e+3 ββ + ββ4 @ 2 β 5.60e+2 5.84e+2 ... 6.64e+2 6.80e+2 β 5.68e+2 5.88e+2 ... 6.68e+2 6.88e+2 β 5.72e+2 5.92e+2 ... 6.72e+2 6.92e+2 β 5.76e+2 5.96e+2 ... 6.76e+2 6.96e+2 ββ + ββaxis 3β 1.40e+3 1.42e+3 ... 1.50e+3 1.52e+3 β 1.40e+3 1.42e+3 ... 1.50e+3 1.52e+3 β 1.40e+3 1.43e+3 ... 1.51e+3 1.53e+3 β 1.41e+3 1.44e+3 ... 1.52e+3 1.53e+3 ββ + ββ β 2.24e+3 2.25e+3 ... 2.33e+3 2.36e+3 β 2.24e+3 2.27e+3 ... 2.35e+3 2.36e+3 β 2.25e+3 2.27e+3 ... 2.35e+3 2.36e+3 β 2.25e+3 2.27e+3 ... 2.35e+3 2.38e+3 ββ βββββββββΌββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββ€β - ββ5 @ 2 β 7.02e+2 7.22e+2 ... 8.02e+2 8.22e+2 β 7.07e+2 7.27e+2 ... 8.07e+2 8.27e+2 β 7.12e+2 7.32e+2 ... 8.12e+2 8.32e+2 β 7.17e+2 7.37e+2 ... 8.17e+2 8.37e+2 ββ - ββaxis 3β 1.54e+3 1.56e+3 ... 1.64e+3 1.66e+3 β 1.54e+3 1.56e+3 ... 1.64e+3 1.66e+3 β 1.55e+3 1.57e+3 ... 1.65e+3 1.67e+3 β 1.55e+3 1.57e+3 ... 1.65e+3 1.67e+3 ββ - ββ β 2.38e+3 2.40e+3 ... 2.48e+3 2.50e+3 β 2.38e+3 2.40e+3 ... 2.48e+3 2.50e+3 β 2.39e+3 2.41e+3 ... 2.49e+3 2.51e+3 β 2.39e+3 2.41e+3 ... 2.49e+3 2.51e+3 ββ + ββ5 @ 2 β 7.04e+2 7.20e+2 ... 8.00e+2 8.24e+2 β 7.08e+2 7.28e+2 ... 8.08e+2 8.28e+2 β 7.12e+2 7.32e+2 ... 8.12e+2 8.32e+2 β 7.16e+2 7.36e+2 ... 8.16e+2 8.36e+2 ββ + ββaxis 3β 1.54e+3 1.56e+3 ... 1.64e+3 1.66e+3 β 1.54e+3 1.56e+3 ... 1.64e+3 1.66e+3 β 1.55e+3 1.56e+3 ... 1.64e+3 1.67e+3 β 1.56e+3 1.57e+3 ... 1.65e+3 1.68e+3 ββ + ββ β 2.38e+3 2.40e+3 ... 2.48e+3 2.49e+3 β 2.38e+3 2.40e+3 ... 2.48e+3 2.51e+3 β 2.40e+3 2.41e+3 ... 2.49e+3 2.51e+3 β 2.40e+3 2.41e+3 ... 2.49e+3 2.51e+3 ββ βββββββββ΄ββββββββββββββββββββββββββββββββββββββββββ΄ββββββββββββββββββββββββββββββββββββββββββ΄ββββββββββββββββββββββββββββββββββββββββββ΄βββββββββββββββββββββββββββββββββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€ βββββββββ¬ββββββββββββββββββββββββββββββββββββββββββ¬ββββββββββββββββββββββββββββββββββββββββββ¬ββββββββββββββββββββββββββββββββββββββββββ¬βββββββββββββββββββββββββββββββββββββββββββ @@ -953,23 +953,23 @@ let%expect_test "einsum1 broadcast or sum out prefix axes" = ββ βaxis 5 βaxis 5 βaxis 5 βaxis 5 ββ βββββββββΌββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββ€β ββ0 @ 2 β 3.00 2.30e+1 ... 1.03e+2 1.23e+2 β 8.00 2.80e+1 ... 1.08e+2 1.28e+2 β 1.30e+1 3.30e+1 ... 1.13e+2 1.33e+2 β 1.80e+1 3.80e+1 ... 1.18e+2 1.38e+2 ββ - ββaxis 3β 8.43e+2 8.63e+2 ... 9.43e+2 9.63e+2 β 8.48e+2 8.68e+2 ... 9.48e+2 9.68e+2 β 8.53e+2 8.73e+2 ... 9.53e+2 9.73e+2 β 8.58e+2 8.78e+2 ... 9.58e+2 9.78e+2 ββ - ββ β 1.68e+3 1.70e+3 ... 1.78e+3 1.80e+3 β 1.68e+3 1.70e+3 ... 1.78e+3 1.80e+3 β 1.69e+3 1.71e+3 ... 1.79e+3 1.81e+3 β 1.69e+3 1.71e+3 ... 1.79e+3 1.81e+3 ββ + ββaxis 3β 8.44e+2 8.64e+2 ... 9.44e+2 9.64e+2 β 8.48e+2 8.68e+2 ... 9.48e+2 9.68e+2 β 8.52e+2 8.72e+2 ... 9.52e+2 9.72e+2 β 8.56e+2 8.80e+2 ... 9.60e+2 9.76e+2 ββ + ββ β 1.68e+3 1.70e+3 ... 1.78e+3 1.80e+3 β 1.68e+3 1.71e+3 ... 1.79e+3 1.80e+3 β 1.69e+3 1.71e+3 ... 1.79e+3 1.81e+3 β 1.69e+3 1.72e+3 ... 1.80e+3 1.81e+3 ββ βββββββββΌββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββ€β - ββ1 @ 2 β 1.43e+2 1.63e+2 ... 2.43e+2 2.63e+2 β 1.48e+2 1.68e+2 ... 2.48e+2 2.68e+2 β 1.53e+2 1.73e+2 ... 2.53e+2 2.73e+2 β 1.58e+2 1.78e+2 ... 2.58e+2 2.78e+2 ββ - ββaxis 3β 9.83e+2 1.00e+3 ... 1.08e+3 1.10e+3 β 9.88e+2 1.00e+3 ... 1.08e+3 1.10e+3 β 9.93e+2 1.01e+3 ... 1.09e+3 1.11e+3 β 9.98e+2 1.01e+3 ... 1.09e+3 1.11e+3 ββ - ββ β 1.82e+3 1.84e+3 ... 1.92e+3 1.94e+3 β 1.82e+3 1.84e+3 ... 1.92e+3 1.94e+3 β 1.83e+3 1.85e+3 ... 1.93e+3 1.95e+3 β 1.83e+3 1.85e+3 ... 1.93e+3 1.95e+3 ββ + ββ1 @ 2 β 1.43e+2 1.63e+2 ... 2.43e+2 2.64e+2 β 1.48e+2 1.68e+2 ... 2.48e+2 2.68e+2 β 1.53e+2 1.73e+2 ... 2.53e+2 2.72e+2 β 1.58e+2 1.78e+2 ... 2.58e+2 2.78e+2 ββ + ββaxis 3β 9.84e+2 1.00e+3 ... 1.08e+3 1.10e+3 β 9.88e+2 1.00e+3 ... 1.08e+3 1.10e+3 β 9.92e+2 1.01e+3 ... 1.09e+3 1.11e+3 β 1.00e+3 1.01e+3 ... 1.09e+3 1.12e+3 ββ + ββ β 1.82e+3 1.84e+3 ... 1.92e+3 1.94e+3 β 1.82e+3 1.84e+3 ... 1.92e+3 1.95e+3 β 1.83e+3 1.85e+3 ... 1.93e+3 1.95e+3 β 1.84e+3 1.85e+3 ... 1.93e+3 1.96e+3 ββ βββββββββΌββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββ€β ββ~~~~~ β ... β ... β ... β ... ββ ββaxis 3β β β β ββ βββββββββΌββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββ€β - ββ4 @ 2 β 5.63e+2 5.83e+2 ... 6.63e+2 6.83e+2 β 5.68e+2 5.88e+2 ... 6.68e+2 6.88e+2 β 5.73e+2 5.93e+2 ... 6.73e+2 6.93e+2 β 5.78e+2 5.98e+2 ... 6.78e+2 6.98e+2 ββ - ββaxis 3β 1.40e+3 1.42e+3 ... 1.50e+3 1.52e+3 β 1.40e+3 1.42e+3 ... 1.50e+3 1.52e+3 β 1.41e+3 1.43e+3 ... 1.51e+3 1.53e+3 β 1.41e+3 1.43e+3 ... 1.51e+3 1.53e+3 ββ - ββ β 2.24e+3 2.26e+3 ... 2.34e+3 2.36e+3 β 2.24e+3 2.26e+3 ... 2.34e+3 2.36e+3 β 2.25e+3 2.27e+3 ... 2.35e+3 2.37e+3 β 2.25e+3 2.27e+3 ... 2.35e+3 2.37e+3 ββ + ββ4 @ 2 β 5.64e+2 5.84e+2 ... 6.64e+2 6.84e+2 β 5.68e+2 5.88e+2 ... 6.68e+2 6.88e+2 β 5.72e+2 5.92e+2 ... 6.72e+2 6.92e+2 β 5.76e+2 6.00e+2 ... 6.80e+2 6.96e+2 ββ + ββaxis 3β 1.40e+3 1.42e+3 ... 1.50e+3 1.52e+3 β 1.40e+3 1.42e+3 ... 1.50e+3 1.52e+3 β 1.41e+3 1.43e+3 ... 1.51e+3 1.53e+3 β 1.41e+3 1.44e+3 ... 1.52e+3 1.53e+3 ββ + ββ β 2.24e+3 2.25e+3 ... 2.33e+3 2.36e+3 β 2.24e+3 2.27e+3 ... 2.35e+3 2.36e+3 β 2.25e+3 2.27e+3 ... 2.35e+3 2.36e+3 β 2.25e+3 2.27e+3 ... 2.35e+3 2.38e+3 ββ βββββββββΌββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββ€β - ββ5 @ 2 β 7.03e+2 7.23e+2 ... 8.03e+2 8.23e+2 β 7.08e+2 7.28e+2 ... 8.08e+2 8.28e+2 β 7.13e+2 7.33e+2 ... 8.13e+2 8.33e+2 β 7.18e+2 7.38e+2 ... 8.18e+2 8.38e+2 ββ - ββaxis 3β 1.54e+3 1.56e+3 ... 1.64e+3 1.66e+3 β 1.54e+3 1.56e+3 ... 1.64e+3 1.66e+3 β 1.55e+3 1.57e+3 ... 1.65e+3 1.67e+3 β 1.55e+3 1.57e+3 ... 1.65e+3 1.67e+3 ββ - ββ β 2.38e+3 2.40e+3 ... 2.48e+3 2.50e+3 β 2.38e+3 2.40e+3 ... 2.48e+3 2.50e+3 β 2.39e+3 2.41e+3 ... 2.49e+3 2.51e+3 β 2.39e+3 2.41e+3 ... 2.49e+3 2.51e+3 ββ + ββ5 @ 2 β 7.04e+2 7.24e+2 ... 8.04e+2 8.24e+2 β 7.08e+2 7.28e+2 ... 8.08e+2 8.28e+2 β 7.12e+2 7.32e+2 ... 8.12e+2 8.32e+2 β 7.20e+2 7.36e+2 ... 8.16e+2 8.40e+2 ββ + ββaxis 3β 1.54e+3 1.56e+3 ... 1.64e+3 1.66e+3 β 1.55e+3 1.56e+3 ... 1.64e+3 1.66e+3 β 1.55e+3 1.57e+3 ... 1.65e+3 1.67e+3 β 1.56e+3 1.57e+3 ... 1.65e+3 1.68e+3 ββ + ββ β 2.38e+3 2.40e+3 ... 2.48e+3 2.49e+3 β 2.38e+3 2.40e+3 ... 2.49e+3 2.51e+3 β 2.40e+3 2.41e+3 ... 2.49e+3 2.51e+3 β 2.40e+3 2.41e+3 ... 2.49e+3 2.51e+3 ββ βββββββββ΄ββββββββββββββββββββββββββββββββββββββββββ΄ββββββββββββββββββββββββββββββββββββββββββ΄ββββββββββββββββββββββββββββββββββββββββββ΄βββββββββββββββββββββββββββββββββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€ βββββββββ¬ββββββββββββββββββββββββββββββββββββββββββ¬ββββββββββββββββββββββββββββββββββββββββββ¬ββββββββββββββββββββββββββββββββββββββββββ¬βββββββββββββββββββββββββββββββββββββββββββ @@ -977,23 +977,23 @@ let%expect_test "einsum1 broadcast or sum out prefix axes" = ββ βaxis 5 βaxis 5 βaxis 5 βaxis 5 ββ βββββββββΌββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββ€β ββ0 @ 2 β 4.00 2.40e+1 ... 1.04e+2 1.24e+2 β 9.00 2.90e+1 ... 1.09e+2 1.29e+2 β 1.40e+1 3.40e+1 ... 1.14e+2 1.34e+2 β 1.90e+1 3.90e+1 ... 1.19e+2 1.39e+2 ββ - ββaxis 3β 8.44e+2 8.64e+2 ... 9.44e+2 9.64e+2 β 8.49e+2 8.69e+2 ... 9.49e+2 9.69e+2 β 8.54e+2 8.74e+2 ... 9.54e+2 9.74e+2 β 8.59e+2 8.79e+2 ... 9.59e+2 9.79e+2 ββ - ββ β 1.68e+3 1.70e+3 ... 1.78e+3 1.80e+3 β 1.68e+3 1.70e+3 ... 1.78e+3 1.80e+3 β 1.69e+3 1.71e+3 ... 1.79e+3 1.81e+3 β 1.69e+3 1.71e+3 ... 1.79e+3 1.81e+3 ββ + ββaxis 3β 8.44e+2 8.64e+2 ... 9.44e+2 9.64e+2 β 8.48e+2 8.68e+2 ... 9.48e+2 9.68e+2 β 8.56e+2 8.72e+2 ... 9.52e+2 9.76e+2 β 8.60e+2 8.80e+2 ... 9.60e+2 9.80e+2 ββ + ββ β 1.68e+3 1.70e+3 ... 1.78e+3 1.80e+3 β 1.68e+3 1.71e+3 ... 1.79e+3 1.80e+3 β 1.69e+3 1.71e+3 ... 1.79e+3 1.81e+3 β 1.69e+3 1.72e+3 ... 1.80e+3 1.81e+3 ββ βββββββββΌββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββ€β - ββ1 @ 2 β 1.44e+2 1.64e+2 ... 2.44e+2 2.64e+2 β 1.49e+2 1.69e+2 ... 2.49e+2 2.69e+2 β 1.54e+2 1.74e+2 ... 2.54e+2 2.74e+2 β 1.59e+2 1.79e+2 ... 2.59e+2 2.79e+2 ββ - ββaxis 3β 9.84e+2 1.00e+3 ... 1.08e+3 1.10e+3 β 9.89e+2 1.00e+3 ... 1.08e+3 1.10e+3 β 9.94e+2 1.01e+3 ... 1.09e+3 1.11e+3 β 9.99e+2 1.01e+3 ... 1.09e+3 1.11e+3 ββ - ββ β 1.82e+3 1.84e+3 ... 1.92e+3 1.94e+3 β 1.82e+3 1.84e+3 ... 1.92e+3 1.94e+3 β 1.83e+3 1.85e+3 ... 1.93e+3 1.95e+3 β 1.83e+3 1.85e+3 ... 1.93e+3 1.95e+3 ββ + ββ1 @ 2 β 1.44e+2 1.64e+2 ... 2.44e+2 2.64e+2 β 1.49e+2 1.69e+2 ... 2.49e+2 2.68e+2 β 1.54e+2 1.74e+2 ... 2.54e+2 2.74e+2 β 1.59e+2 1.79e+2 ... 2.60e+2 2.80e+2 ββ + ββaxis 3β 9.84e+2 1.00e+3 ... 1.08e+3 1.10e+3 β 9.88e+2 1.00e+3 ... 1.08e+3 1.11e+3 β 9.92e+2 1.01e+3 ... 1.09e+3 1.11e+3 β 1.00e+3 1.02e+3 ... 1.09e+3 1.12e+3 ββ + ββ β 1.82e+3 1.84e+3 ... 1.92e+3 1.94e+3 β 1.83e+3 1.84e+3 ... 1.92e+3 1.95e+3 β 1.83e+3 1.85e+3 ... 1.93e+3 1.95e+3 β 1.84e+3 1.85e+3 ... 1.93e+3 1.96e+3 ββ βββββββββΌββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββ€β ββ~~~~~ β ... β ... β ... β ... ββ ββaxis 3β β β β ββ βββββββββΌββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββ€β - ββ4 @ 2 β 5.64e+2 5.84e+2 ... 6.64e+2 6.84e+2 β 5.69e+2 5.89e+2 ... 6.69e+2 6.89e+2 β 5.74e+2 5.94e+2 ... 6.74e+2 6.94e+2 β 5.79e+2 5.99e+2 ... 6.79e+2 6.99e+2 ββ - ββaxis 3β 1.40e+3 1.42e+3 ... 1.50e+3 1.52e+3 β 1.40e+3 1.42e+3 ... 1.50e+3 1.52e+3 β 1.41e+3 1.43e+3 ... 1.51e+3 1.53e+3 β 1.41e+3 1.43e+3 ... 1.51e+3 1.53e+3 ββ - ββ β 2.24e+3 2.26e+3 ... 2.34e+3 2.36e+3 β 2.24e+3 2.26e+3 ... 2.34e+3 2.36e+3 β 2.25e+3 2.27e+3 ... 2.35e+3 2.37e+3 β 2.25e+3 2.27e+3 ... 2.35e+3 2.37e+3 ββ + ββ4 @ 2 β 5.64e+2 5.84e+2 ... 6.64e+2 6.84e+2 β 5.68e+2 5.88e+2 ... 6.68e+2 6.88e+2 β 5.76e+2 5.92e+2 ... 6.72e+2 6.96e+2 β 5.80e+2 6.00e+2 ... 6.80e+2 7.00e+2 ββ + ββaxis 3β 1.40e+3 1.42e+3 ... 1.50e+3 1.52e+3 β 1.40e+3 1.43e+3 ... 1.51e+3 1.52e+3 β 1.41e+3 1.43e+3 ... 1.51e+3 1.53e+3 β 1.41e+3 1.44e+3 ... 1.52e+3 1.53e+3 ββ + ββ β 2.24e+3 2.27e+3 ... 2.33e+3 2.36e+3 β 2.25e+3 2.27e+3 ... 2.35e+3 2.36e+3 β 2.25e+3 2.27e+3 ... 2.35e+3 2.36e+3 β 2.25e+3 2.27e+3 ... 2.35e+3 2.38e+3 ββ βββββββββΌββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββ€β - ββ5 @ 2 β 7.04e+2 7.24e+2 ... 8.04e+2 8.24e+2 β 7.09e+2 7.29e+2 ... 8.09e+2 8.29e+2 β 7.14e+2 7.34e+2 ... 8.14e+2 8.34e+2 β 7.19e+2 7.39e+2 ... 8.19e+2 8.39e+2 ββ - ββaxis 3β 1.54e+3 1.56e+3 ... 1.64e+3 1.66e+3 β 1.54e+3 1.56e+3 ... 1.64e+3 1.66e+3 β 1.55e+3 1.57e+3 ... 1.65e+3 1.67e+3 β 1.55e+3 1.57e+3 ... 1.65e+3 1.67e+3 ββ - ββ β 2.38e+3 2.40e+3 ... 2.48e+3 2.50e+3 β 2.38e+3 2.40e+3 ... 2.48e+3 2.50e+3 β 2.39e+3 2.41e+3 ... 2.49e+3 2.51e+3 β 2.39e+3 2.41e+3 ... 2.49e+3 2.51e+3 ββ + ββ5 @ 2 β 7.04e+2 7.24e+2 ... 8.04e+2 8.24e+2 β 7.08e+2 7.28e+2 ... 8.08e+2 8.28e+2 β 7.12e+2 7.36e+2 ... 8.16e+2 8.32e+2 β 7.20e+2 7.40e+2 ... 8.20e+2 8.40e+2 ββ + ββaxis 3β 1.54e+3 1.56e+3 ... 1.64e+3 1.66e+3 β 1.55e+3 1.56e+3 ... 1.64e+3 1.67e+3 β 1.55e+3 1.57e+3 ... 1.65e+3 1.67e+3 β 1.56e+3 1.57e+3 ... 1.65e+3 1.68e+3 ββ + ββ β 2.38e+3 2.40e+3 ... 2.48e+3 2.49e+3 β 2.38e+3 2.41e+3 ... 2.49e+3 2.51e+3 β 2.40e+3 2.41e+3 ... 2.49e+3 2.51e+3 β 2.40e+3 2.41e+3 ... 2.49e+3 2.51e+3 ββ βββββββββ΄ββββββββββββββββββββββββββββββββββββββββββ΄ββββββββββββββββββββββββββββββββββββββββββ΄ββββββββββββββββββββββββββββββββββββββββββ΄βββββββββββββββββββββββββββββββββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ |}]; @@ -1009,9 +1009,9 @@ let%expect_test "einsum1 broadcast or sum out prefix axes" = ββ β0 @ 0 β1 @ 0 β2 @ 0 β3 @ 0 β4 @ 0 ββ ββ βaxis 2 βaxis 2 βaxis 2 βaxis 2 βaxis 2 ββ βββββββββΌββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββ€β - ββaxis 1β 7.76e+4 7.86e+4 ... 8.24e+4 8.34e+4 β 7.76e+4 7.86e+4 ... 8.24e+4 8.34e+4 β 7.77e+4 7.86e+4 ... 8.25e+4 8.34e+4 β 7.77e+4 7.87e+4 ... 8.25e+4 8.35e+4 β 7.78e+4 7.87e+4 ... 8.26e+4 8.35e+4 ββ - ββ β 1.17e+5 1.18e+5 ... 1.22e+5 1.23e+5 β 1.18e+5 1.18e+5 ... 1.22e+5 1.23e+5 β 1.18e+5 1.19e+5 ... 1.22e+5 1.23e+5 β 1.18e+5 1.19e+5 ... 1.22e+5 1.23e+5 β 1.18e+5 1.19e+5 ... 1.22e+5 1.23e+5 ββ - ββ β 1.58e+5 1.59e+5 ... 1.63e+5 1.64e+5 β 1.58e+5 1.59e+5 ... 1.63e+5 1.64e+5 β 1.58e+5 1.59e+5 ... 1.63e+5 1.64e+5 β 1.58e+5 1.59e+5 ... 1.63e+5 1.64e+5 β 1.58e+5 1.59e+5 ... 1.63e+5 1.64e+5 ββ + ββaxis 1β 7.73e+4 7.83e+4 ... 8.08e+4 8.34e+4 β 7.73e+4 7.83e+4 ... 8.08e+4 8.34e+4 β 7.73e+4 7.83e+4 ... 8.14e+4 8.34e+4 β 7.78e+4 7.83e+4 ... 8.24e+4 8.34e+4 β 7.78e+4 7.83e+4 ... 8.24e+4 8.39e+4 ββ + ββ β 1.18e+5 1.18e+5 ... 1.23e+5 1.24e+5 β 1.18e+5 1.18e+5 ... 1.23e+5 1.24e+5 β 1.18e+5 1.18e+5 ... 1.23e+5 1.24e+5 β 1.18e+5 1.18e+5 ... 1.23e+5 1.24e+5 β 1.18e+5 1.18e+5 ... 1.23e+5 1.24e+5 ββ + ββ β 1.58e+5 1.59e+5 ... 1.64e+5 1.64e+5 β 1.58e+5 1.60e+5 ... 1.64e+5 1.64e+5 β 1.58e+5 1.60e+5 ... 1.64e+5 1.64e+5 β 1.58e+5 1.60e+5 ... 1.64e+5 1.64e+5 β 1.58e+5 1.60e+5 ... 1.64e+5 1.64e+5 ββ βββββββββ΄ββββββββββββββββββββββββββββββββββββββββββ΄ββββββββββββββββββββββββββββββββββββββββββ΄ββββββββββββββββββββββββββββββββββββββββββ΄ββββββββββββββββββββββββββββββββββββββββββ΄βββββββββββββββββββββββββββββββββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ |}]; @@ -1692,9 +1692,9 @@ let%expect_test "einsum with a leftmost input axis preserved as output axis" = ββ βaxis 2 βaxis 2 βaxis 2 ββ βββββββββΌβββββββββββββββββββΌβββββββββββββββββββΌβββββββββββββββββββ€β ββaxis 1β 1.20e+1 4.80e+1 β 9.00e+2 1.00e+3 β 2.94e+3 3.12e+3 ββ - ββ β 1.05e+2 1.50e+2 β 1.20e+3 1.32e+3 β 3.46e+3 3.65e+3 ββ - ββ β 2.34e+2 2.88e+2 β 1.55e+3 1.68e+3 β 4.02e+3 4.22e+3 ββ - ββ β 3.99e+2 4.62e+2 β 1.93e+3 2.07e+3 β 4.62e+3 4.83e+3 ββ + ββ β 1.05e+2 1.50e+2 β 1.20e+3 1.32e+3 β 3.45e+3 3.64e+3 ββ + ββ β 2.34e+2 2.88e+2 β 1.55e+3 1.68e+3 β 4.01e+3 4.22e+3 ββ + ββ β 4.00e+2 4.60e+2 β 1.93e+3 2.08e+3 β 4.60e+3 4.83e+3 ββ βββββββββ΄βββββββββββββββββββ΄βββββββββββββββββββ΄ββββββββββββββββββββ βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ |}] "/usr/bin/linux32" "/bin/sh" "-c" "opam exec -- dune build @install @check @runtest && rm -rf _build" failed with exit status 1 2025-05-31 10:12.25: Job failed: Failed: Build failed