From 47ba4cdd654cc9d86e2b22e0ffae9fe614216293 Mon Sep 17 00:00:00 2001 From: lexu27 Date: Fri, 15 Aug 2025 08:38:42 -0700 Subject: [PATCH 01/25] Fixed bug in numBinScalarOp and supported ewadd, ewmul, and smul --- .gitignore | 1 + dist-newstyle/cache/compiler | Bin 0 -> 15603 bytes dist-newstyle/cache/config | Bin 0 -> 44239 bytes dist-newstyle/cache/elaborated-plan | Bin 0 -> 1566245 bytes dist-newstyle/cache/improved-plan | Bin 0 -> 3073974 bytes dist-newstyle/cache/plan.json | 1 + dist-newstyle/cache/solver-plan | Bin 0 -> 751746 bytes dist-newstyle/cache/source-hashes | Bin 0 -> 31975 bytes hie.yaml | 18 + package.yaml | 19 + rules/taso/ewadd/Main.hs | 45 + rules/taso/ewmul/Main.hs | 58 ++ rules/taso/smul/Main.hs | 33 + src/TensorRight/Internal/DSL/DSL.hs | 3 +- src/TensorRight/Internal/DSL/TASO.hs | 57 ++ tensor-right.cabal | 1225 ++++++++++++++------------ 16 files changed, 892 insertions(+), 568 deletions(-) create mode 100644 dist-newstyle/cache/compiler create mode 100644 dist-newstyle/cache/config create mode 100644 dist-newstyle/cache/elaborated-plan create mode 100644 dist-newstyle/cache/improved-plan create mode 100644 dist-newstyle/cache/plan.json create mode 100644 dist-newstyle/cache/solver-plan create mode 100644 dist-newstyle/cache/source-hashes create mode 100644 rules/taso/ewadd/Main.hs create mode 100644 rules/taso/ewmul/Main.hs create mode 100644 rules/taso/smul/Main.hs create mode 100644 src/TensorRight/Internal/DSL/TASO.hs diff --git a/.gitignore b/.gitignore index 8a6e890..b3117a5 100644 --- a/.gitignore +++ b/.gitignore @@ -3,3 +3,4 @@ result.txt .stack-work/ .envrc .direnv +.vscode/ \ No newline at end of file diff --git a/dist-newstyle/cache/compiler b/dist-newstyle/cache/compiler new file mode 100644 index 0000000000000000000000000000000000000000..390fbc2bd4993d5811f88f66e8a60464b6424285 GIT binary patch literal 15603 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 literal 0 HcmV?d00001 diff --git a/dist-newstyle/cache/config b/dist-newstyle/cache/config new file mode 100644 index 0000000000000000000000000000000000000000..c5d8102eaba792cf5ae4cacd93ecf93efed054fa GIT binary patch literal 44239 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 literal 0 HcmV?d00001 diff --git a/dist-newstyle/cache/elaborated-plan b/dist-newstyle/cache/elaborated-plan new file mode 100644 index 0000000000000000000000000000000000000000..4bed644e0c02a5d44a35ebbc17e7e3b6acfcc891 GIT binary patch literal 1566245 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ν-|ObjqaOa{V#0ePegBQKfQi8SI*hwGGwb&z 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 literal 0 HcmV?d00001 diff --git a/dist-newstyle/cache/improved-plan b/dist-newstyle/cache/improved-plan new file mode 100644 index 0000000000000000000000000000000000000000..2c28ee028e4c6674ad4171887115583c3132ffbb GIT binary patch literal 3073974 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 literal 0 HcmV?d00001 diff --git a/dist-newstyle/cache/plan.json b/dist-newstyle/cache/plan.json new file mode 100644 index 0000000..33863c4 --- /dev/null +++ b/dist-newstyle/cache/plan.json @@ -0,0 +1 @@ +{"cabal-version":"3.12.1.0","cabal-lib-version":"3.12.1.0","compiler-id":"ghc-9.10.1","os":"osx","arch":"x86_64","install-plan":[{"type":"configured","id":"QckChck-2.15.0.1-600cb831","pkg-name":"QuickCheck","pkg-version":"2.15.0.1","flags":{"old-random":false,"templatehaskell":true},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"0cfd337bb9e6fbf09255bd24bb498a156f1d9bcd465396ac8657b25034b9ee31","pkg-src-sha256":"a3b2216ddbaf481dbc82414b6120f8b726d969db3f0b51f20a7a45425ef36e7f","depends":["base-4.20.0.0-8a80","containers-0.7-ed0d","deepseq-1.5.0.0-748c","rndm-1.3.1-0ab25a30","spltmx-0.1.3.1-83c966da","template-haskell-2.22.0.0-4ff0","transformers-0.6.1.1-1df5"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"array-0.5.7.0-2002","pkg-name":"array","pkg-version":"0.5.7.0","depends":["base-4.20.0.0-8a80"]},{"type":"pre-existing","id":"base-4.20.0.0-8a80","pkg-name":"base","pkg-version":"4.20.0.0","depends":["ghc-internal-9.1001.0-e204","ghc-prim-0.11.0-2e13"]},{"type":"pre-existing","id":"binary-0.8.9.2-0dec","pkg-name":"binary","pkg-version":"0.8.9.2","depends":["array-0.5.7.0-2002","base-4.20.0.0-8a80","bytestring-0.12.1.0-d0da","containers-0.7-ed0d"]},{"type":"configured","id":"bnry-rphns-1.0.5-a7543e3b","pkg-name":"binary-orphans","pkg-version":"1.0.5","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"1217df567aae672d09979480c362d27559d226081b9b9bc4107d4af008da1f5f","pkg-src-sha256":"39fbae9e8c2a5193c07afeea34173e5022f82885d6cbb32062b5f1645c44408d","depends":["base-4.20.0.0-8a80","binary-0.8.9.2-0dec"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"bs16-bytstrng-1.0.2.0-af45b779","pkg-name":"base16-bytestring","pkg-version":"1.0.2.0","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"a694e88f9ec9fc79f0b03f233d3fea592b68f70a34aac2ddb5bcaecb6562e2fd","pkg-src-sha256":"1d5a91143ef0e22157536093ec8e59d226a68220ec89378d5dcaeea86472c784","depends":["base-4.20.0.0-8a80","bytestring-0.12.1.0-d0da"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"bytestring-0.12.1.0-d0da","pkg-name":"bytestring","pkg-version":"0.12.1.0","depends":["base-4.20.0.0-8a80","deepseq-1.5.0.0-748c","ghc-prim-0.11.0-2e13","template-haskell-2.22.0.0-4ff0"]},{"type":"configured","id":"byts-0.17.4-6bed59cf","pkg-name":"bytes","pkg-version":"0.17.4","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"27b117394065d8b8bd845c54dc0128f88f4b0c1a1242699f7603a80963ba1f4a","pkg-src-sha256":"8ca99a2449ae1233440930c8393eda065108a8725025bf079c61c6f3a4e5a393","depends":["base-4.20.0.0-8a80","binary-0.8.9.2-0dec","bnry-rphns-1.0.5-a7543e3b","bytestring-0.12.1.0-d0da","crl-0.5.8.3-904568bf","containers-0.7-ed0d","hshbl-1.5.0.0-24b9df1a","scntfc-0.3.8.0-c99b9a9d","text-2.1.1-e1e4","time-1.12.2-d1da","transformers-0.6.1.1-1df5","trnsfrmrs-cmpt-0.7.2-4d650876","nrdrd-cntnrs-0.2.20-75d7c1b8","vd-0.7.3-fb963e7f"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"clr-2.3.6-3c913e2f","pkg-name":"colour","pkg-version":"2.3.6","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"ebdcbf15023958838a527e381ab3c3b1e99ed12d1b25efeb7feaa4ad8c37664a","pkg-src-sha256":"2cd35dcd6944a5abc9f108a5eb5ee564b6b1fa98a9ec79cefcc20b588991f871","depends":["base-4.20.0.0-8a80"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"containers-0.7-ed0d","pkg-name":"containers","pkg-version":"0.7","depends":["array-0.5.7.0-2002","base-4.20.0.0-8a80","deepseq-1.5.0.0-748c","template-haskell-2.22.0.0-4ff0"]},{"type":"configured","id":"crl-0.5.8.3-904568bf","pkg-name":"cereal","pkg-version":"0.5.8.3","flags":{"bytestring-builder":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"87a227c7b510217ea059db3dd59d9665edd8f0d1d3d8de39458e371a1d9402fb","pkg-src-sha256":"99905220661b26e5bd91130bd9772554938608a5b1d717240a6eb331121e0f6a","depends":["array-0.5.7.0-2002","base-4.20.0.0-8a80","bytestring-0.12.1.0-d0da","containers-0.7-ed0d","ghc-prim-0.11.0-2e13"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"crl-txt-0.1.0.2-121d5a30","pkg-name":"cereal-text","pkg-version":"0.1.0.2","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"dc10e00d9e5047d16a129682aac42c95da188d22e9f85856add051b9ace539c3","pkg-src-sha256":"3c7a15f4681fa53b66dcd5165f31f56ff9751a752ac5123ecc5bcf5c3ea0354c","depends":["base-4.20.0.0-8a80","crl-0.5.8.3-904568bf","text-2.1.1-e1e4"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"crypthsh-sh512-0.11.102.0-629f338c","pkg-name":"cryptohash-sha512","pkg-version":"0.11.102.0","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"0d06f9b272fbc1cbb542a4506c96b0ab278f6c33f0c567f66f5900224b9db6db","pkg-src-sha256":"bfa421a0de9f5af9903d41948431b207b019a6aece4047f0721919eb1fc7882c","depends":["base-4.20.0.0-8a80","bytestring-0.12.1.0-d0da"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"deepseq-1.5.0.0-748c","pkg-name":"deepseq","pkg-version":"1.5.0.0","depends":["array-0.5.7.0-2002","base-4.20.0.0-8a80","ghc-prim-0.11.0-2e13"]},{"type":"pre-existing","id":"directory-1.3.8.3-3d5a","pkg-name":"directory","pkg-version":"1.3.8.3","depends":["base-4.20.0.0-8a80","filepath-1.5.2.0-7209","os-string-2.0.2-e95e","time-1.12.2-d1da","unix-2.8.5.1-9045"]},{"type":"pre-existing","id":"exceptions-0.10.7-3de0","pkg-name":"exceptions","pkg-version":"0.10.7","depends":["base-4.20.0.0-8a80","mtl-2.3.1-6c8e","stm-2.5.3.1-4c4f","template-haskell-2.22.0.0-4ff0","transformers-0.6.1.1-1df5"]},{"type":"pre-existing","id":"filepath-1.5.2.0-7209","pkg-name":"filepath","pkg-version":"1.5.2.0","depends":["base-4.20.0.0-8a80","bytestring-0.12.1.0-d0da","deepseq-1.5.0.0-748c","exceptions-0.10.7-3de0","os-string-2.0.2-e95e","template-haskell-2.22.0.0-4ff0"]},{"type":"pre-existing","id":"ghc-bignum-1.3-5e05","pkg-name":"ghc-bignum","pkg-version":"1.3","depends":["ghc-prim-0.11.0-2e13"]},{"type":"pre-existing","id":"ghc-boot-th-9.10.1-d3c3","pkg-name":"ghc-boot-th","pkg-version":"9.10.1","depends":["base-4.20.0.0-8a80"]},{"type":"pre-existing","id":"ghc-internal-9.1001.0-e204","pkg-name":"ghc-internal","pkg-version":"9.1001.0","depends":["ghc-bignum-1.3-5e05","ghc-prim-0.11.0-2e13","rts-1.0.2"]},{"type":"pre-existing","id":"ghc-prim-0.11.0-2e13","pkg-name":"ghc-prim","pkg-version":"0.11.0","depends":["rts-1.0.2"]},{"type":"configured","id":"gnrc-drvng-1.14.6-7ad67f8f","pkg-name":"generic-deriving","pkg-version":"1.14.6","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"f47c071d90370e0eee27dad6139964bed29b2d896b404b3a9516138f0d92ac55","pkg-src-sha256":"f195c17f1a32a3c9a2bf8762b8f9a9b5f6271f9e6075c887aa3609364356b2af","depends":["base-4.20.0.0-8a80","containers-0.7-ed0d","ghc-prim-0.11.0-2e13","template-haskell-2.22.0.0-4ff0","th-bstrctn-0.7.1.0-d63953d7"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"grstt-0.11.0.0-5bfa7d6b","pkg-name":"grisette","pkg-version":"0.11.0.0","flags":{"optimize":true},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"9daeea607f2ddaea81c0245c0919c2768d59fdb70bff497ace3e3e701af53170","pkg-src-sha256":"7e48504f4ba4bdfe04bc451df7c9bf76eb09f0853ac460f0a80e91836fc381b9","depends":["QckChck-2.15.0.1-600cb831","array-0.5.7.0-2002","sync-2.2.5-233aee3d","tmc-prmps-0.8.8-48b89e4a","base-4.20.0.0-8a80","binary-0.8.9.2-0dec","byts-0.17.4-6bed59cf","bytestring-0.12.1.0-d0da","crl-0.5.8.3-904568bf","crl-txt-0.1.0.2-121d5a30","containers-0.7-ed0d","deepseq-1.5.0.0-748c","gnrc-drvng-1.14.6-7ad67f8f","hshbl-1.5.0.0-24b9df1a","lbBF-0.6.8-6c7a3a38","lch-th-0.2.2-4096b836","mtl-2.3.1-6c8e","prlll-3.2.2.0-b0e6c067","prttyprntr-1.7.1-4c7a96e6","sbv-11.7-ebc47741","stm-2.5.3.1-4c4f","template-haskell-2.22.0.0-4ff0","text-2.1.1-e1e4","th-bstrctn-0.7.1.0-d63953d7","th-cmpt-0.1.6-f9185edd","th-lft-nstncs-0.1.20-aa43253e","transformers-0.6.1.1-1df5","nrdrd-cntnrs-0.2.20-75d7c1b8","vctr-0.13.2.0-36843d58"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"hsc2hs-0.68.10-3ee2f99e","pkg-name":"hsc2hs","pkg-version":"0.68.10","flags":{"in-ghc-tree":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"725ef6da03d3d6e332db4de0a35bee45d72e4d31decc5ec7f153e6837af5f03e","pkg-src-sha256":"6f4e34d788fe2ca7091ee0a10307ee8a7c060a1ba890f2bffad16a7d4d5cef76","depends":["base-4.20.0.0-8a80","containers-0.7-ed0d","directory-1.3.8.3-3d5a","filepath-1.5.2.0-7209","process-1.6.19.0-96ab"],"exe-depends":[],"component-name":"exe:hsc2hs","bin-file":"/Users/leo/.cabal/store/ghc-9.10.1-2e29/hsc2hs-0.68.10-3ee2f99e/bin/hsc2hs"},{"type":"configured","id":"hshbl-1.5.0.0-24b9df1a","pkg-name":"hashable","pkg-version":"1.5.0.0","flags":{"arch-native":false,"random-initial-seed":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"2f23146cbe0325029927b221647695a4c7d6e97548ff731110979e34361f58ef","pkg-src-sha256":"e58b3a8e18da5f6cd7e937e5fd683e500bb1f8276b3768269759119ca0cddb6a","depends":["base-4.20.0.0-8a80","bytestring-0.12.1.0-d0da","containers-0.7-ed0d","deepseq-1.5.0.0-748c","filepath-1.5.2.0-7209","ghc-bignum-1.3-5e05","ghc-prim-0.11.0-2e13","os-string-2.0.2-e95e","text-2.1.1-e1e4"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"lbBF-0.6.8-6c7a3a38","pkg-name":"libBF","pkg-version":"0.6.8","flags":{"system-libbf":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"076f8dc0d33299c40afa2d0bfe51e93420c9c3e326ebfcac4f0e856152aa4f87","pkg-src-sha256":"d98021132f28e674958a7c41250831c2375ae70c839d943c7b1d745c68d28e0a","depends":["base-4.20.0.0-8a80","deepseq-1.5.0.0-748c","hshbl-1.5.0.0-24b9df1a"],"exe-depends":["hsc2hs-0.68.10-3ee2f99e"],"component-name":"lib"},{"type":"configured","id":"lch-th-0.2.2-4096b836","pkg-name":"loch-th","pkg-version":"0.2.2","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"262a1f2190decd5e24c9368008a6fc87d83515f5f3a8488e384bd8acc0a5529c","pkg-src-sha256":"cc059372b12a79375a0f268db7dc5a2973307a200440d4112e665b9a3d9b6dc3","components":{"lib":{"depends":["base-4.20.0.0-8a80","pretty-1.1.3.6-b893","template-haskell-2.22.0.0-4ff0"],"exe-depends":[]}}},{"type":"pre-existing","id":"mtl-2.3.1-6c8e","pkg-name":"mtl","pkg-version":"2.3.1","depends":["base-4.20.0.0-8a80","transformers-0.6.1.1-1df5"]},{"type":"configured","id":"nplt-1.6.13-8a41aefb","pkg-name":"uniplate","pkg-version":"1.6.13","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"c8b715570d0b4baa72512e677552dd3f98372a64bf9de000e779bd4162fd7be7","pkg-src-sha256":"e777c94628445556a71f135a42cf72d2cfbaccba5849cc42fbfec8b2182e3ad2","depends":["base-4.20.0.0-8a80","containers-0.7-ed0d","ghc-prim-0.11.0-2e13","hshbl-1.5.0.0-24b9df1a","syb-0.7.2.4-ab2b3439","nrdrd-cntnrs-0.2.20-75d7c1b8"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"nrdrd-cntnrs-0.2.20-75d7c1b8","pkg-name":"unordered-containers","pkg-version":"0.2.20","flags":{"debug":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"233cbcdda6c2698932bb391ce0935fb44f80c115621ee815a21ed33ac8ede422","pkg-src-sha256":"d9cfb287cf00592d39dc9c3cac8b99627ea08f2c01798e70130fc39f7c90f11d","depends":["base-4.20.0.0-8a80","deepseq-1.5.0.0-748c","hshbl-1.5.0.0-24b9df1a","template-haskell-2.22.0.0-4ff0"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"ns-trmnl-1.1.2-13be3cb7","pkg-name":"ansi-terminal","pkg-version":"1.1.2","flags":{"example":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"8e669f090aa3b9a62ef78f687dda12a19231ee163d2084522464036980a322ea","pkg-src-sha256":"a8d04a3e0451e22a6499a92311f0df1196dc65b687df7d10e3f30d92420156b0","depends":["ns-trmnl-typs-1.1-31b4aff9","base-4.20.0.0-8a80","clr-2.3.6-3c913e2f"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"ns-trmnl-typs-1.1-31b4aff9","pkg-name":"ansi-terminal-types","pkg-version":"1.1","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"135f6a381afa19d53d0a3fe40b6dd47e6666c538b09e4300fbb1438759df3248","pkg-src-sha256":"f2e5333eb78da5f4dd330fca0c81a59276cc150c625647cd20f57b7f297a5d25","depends":["base-4.20.0.0-8a80","clr-2.3.6-3c913e2f"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"ntgr-lgrthms-1.0.4-6ce90ba7","pkg-name":"integer-logarithms","pkg-version":"1.0.4","flags":{"check-bounds":false,"integer-gmp":true},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"caa8eaf9e69fe19f0d356b3f3185df628131407413c182b314ac5dfe2217e4d1","pkg-src-sha256":"6a93c76c2518cbe2d72ab17da6ae46d8cae93cbfb7c5a5ad5783f903c1448f45","depends":["array-0.5.7.0-2002","base-4.20.0.0-8a80","ghc-bignum-1.3-5e05","ghc-prim-0.11.0-2e13"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"os-string-2.0.2-e95e","pkg-name":"os-string","pkg-version":"2.0.2","depends":["base-4.20.0.0-8a80","bytestring-0.12.1.0-d0da","deepseq-1.5.0.0-748c","exceptions-0.10.7-3de0","template-haskell-2.22.0.0-4ff0"]},{"type":"pre-existing","id":"pretty-1.1.3.6-b893","pkg-name":"pretty","pkg-version":"1.1.3.6","depends":["base-4.20.0.0-8a80","deepseq-1.5.0.0-748c","ghc-prim-0.11.0-2e13"]},{"type":"configured","id":"prlll-3.2.2.0-b0e6c067","pkg-name":"parallel","pkg-version":"3.2.2.0","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"9d7b34ac537940f67732eca31d48a43bd78fb65a91baebddf63bee4fc3813d81","pkg-src-sha256":"170453a71a2a8b31cca63125533f7771d7debeb639700bdabdd779c34d8a6ef6","depends":["array-0.5.7.0-2002","base-4.20.0.0-8a80","containers-0.7-ed0d","deepseq-1.5.0.0-748c","ghc-prim-0.11.0-2e13"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"prmtv-0.9.1.0-1d9d3df0","pkg-name":"primitive","pkg-version":"0.9.1.0","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"dfdd6572944c11e69208237dd32a2eb9d975b4f4e9064a7b8dc952cb0e256846","pkg-src-sha256":"44b4de41813c7bc5db8a57f87c3612a069b65086946268ba165097252ebd3d76","depends":["base-4.20.0.0-8a80","deepseq-1.5.0.0-748c","template-haskell-2.22.0.0-4ff0","transformers-0.6.1.1-1df5"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"process-1.6.19.0-96ab","pkg-name":"process","pkg-version":"1.6.19.0","depends":["base-4.20.0.0-8a80","deepseq-1.5.0.0-748c","directory-1.3.8.3-3d5a","filepath-1.5.2.0-7209","unix-2.8.5.1-9045"]},{"type":"configured","id":"prttyprntr-1.7.1-4c7a96e6","pkg-name":"prettyprinter","pkg-version":"1.7.1","flags":{"buildreadme":false,"text":true},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"9c43c9d8c3cd9f445596e5a2379574bba87f935a4d1fa41b5407ee3cf4edc743","pkg-src-sha256":"5e6ea6903114fa118fcc359633dfb7ecddecb92c06c853d02a77b72b251f0b45","depends":["base-4.20.0.0-8a80","text-2.1.1-e1e4"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"prttyprntr-ns-trmnl-1.1.3-879d7653","pkg-name":"prettyprinter-ansi-terminal","pkg-version":"1.1.3","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"b00f727b964cf13adff7acf575a71fa7e405f5240aff50b07f10df76ab89f8d3","pkg-src-sha256":"813739308ad6050620578994effe21058a170a341716acf52573fae42b5b1db3","depends":["ns-trmnl-1.1.2-13be3cb7","base-4.20.0.0-8a80","prttyprntr-1.7.1-4c7a96e6","text-2.1.1-e1e4"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"ptprs-pplctv-0.19.0.0-298cfd6c","pkg-name":"optparse-applicative","pkg-version":"0.19.0.0","flags":{"process":true},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"0b47b3ff7eb4a855b5f7d401690365fc62a32057374927ce0d478b620996222d","pkg-src-sha256":"cf16aeefd821730c7738447fa7c6b7ada7ca1c9cc25400d64ef283294d345871","depends":["base-4.20.0.0-8a80","prttyprntr-1.7.1-4c7a96e6","prttyprntr-ns-trmnl-1.1.3-879d7653","process-1.6.19.0-96ab","text-2.1.1-e1e4","transformers-0.6.1.1-1df5"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"rdrd-cntnrs-0.2.4-2e06bc38","pkg-name":"ordered-containers","pkg-version":"0.2.4","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"b232b6fbaad48611ffacf0bb606fbf63367014bbb7c59ff942138524347bbe22","pkg-src-sha256":"3da1673e24e12902c2879ee08b73e6978f6bfa70693b13995ebf48bfb7aee546","depends":["base-4.20.0.0-8a80","containers-0.7-ed0d","hshbl-1.5.0.0-24b9df1a"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"rndm-1.3.1-0ab25a30","pkg-name":"random","pkg-version":"1.3.1","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"0b4f649c3e78713b2ccad1535251ee34b148237fb2229d7058c2b1d9ccc324b8","pkg-src-sha256":"d840ac83f265b0cfa2a678f8ec78627eb50cf9be2f067c52c8a4239c29b71a35","depends":["base-4.20.0.0-8a80","bytestring-0.12.1.0-d0da","deepseq-1.5.0.0-748c","mtl-2.3.1-6c8e","spltmx-0.1.3.1-83c966da","transformers-0.6.1.1-1df5"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"rts-1.0.2","pkg-name":"rts","pkg-version":"1.0.2","depends":[]},{"type":"configured","id":"sbv-11.7-ebc47741","pkg-name":"sbv","pkg-version":"11.7","flags":{"doctest_is_running":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"b615f6236dd0118f429c83076734630cd18ad68cc96711a46957faa086963f79","pkg-src-sha256":"fa7b847fea55c661a2f27ade2ae4b57da7a476c52a180f2ec4553a4e98f401db","depends":["QckChck-2.15.0.1-600cb831","array-0.5.7.0-2002","sync-2.2.5-233aee3d","base-4.20.0.0-8a80","bs16-bytstrng-1.0.2.0-af45b779","bytestring-0.12.1.0-d0da","containers-0.7-ed0d","crypthsh-sh512-0.11.102.0-629f338c","deepseq-1.5.0.0-748c","directory-1.3.8.3-3d5a","filepath-1.5.2.0-7209","lbBF-0.6.8-6c7a3a38","mtl-2.3.1-6c8e","pretty-1.1.3.6-b893","process-1.6.19.0-96ab","rndm-1.3.1-0ab25a30","syb-0.7.2.4-ab2b3439","template-haskell-2.22.0.0-4ff0","text-2.1.1-e1e4","time-1.12.2-d1da","transformers-0.6.1.1-1df5","tr-vw-0.5.1-54059191","nplt-1.6.13-8a41aefb"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"scntfc-0.3.8.0-c99b9a9d","pkg-name":"scientific","pkg-version":"0.3.8.0","flags":{"integer-simple":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"ba83a6701dd0110138443757aca4a42786afa94272b73045ef878fd860d1732e","pkg-src-sha256":"13b343bca8aa26d7718e52e622e5a118056653edafcbc7ccc5333be7217218cf","depends":["base-4.20.0.0-8a80","binary-0.8.9.2-0dec","bytestring-0.12.1.0-d0da","containers-0.7-ed0d","deepseq-1.5.0.0-748c","hshbl-1.5.0.0-24b9df1a","ntgr-lgrthms-1.0.4-6ce90ba7","prmtv-0.9.1.0-1d9d3df0","template-haskell-2.22.0.0-4ff0","text-2.1.1-e1e4"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"spltmx-0.1.3.1-83c966da","pkg-name":"splitmix","pkg-version":"0.1.3.1","flags":{"optimised-mixer":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"d0002f3fb16a2cc5ba8afd47a6657726386edccfe8853d310e3479fe3b45201b","pkg-src-sha256":"b6bcd0d79bd4fe40975c8ebe803be2f3bfbf6006069a59745a325a0df3f86270","depends":["base-4.20.0.0-8a80","deepseq-1.5.0.0-748c"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"stm-2.5.3.1-4c4f","pkg-name":"stm","pkg-version":"2.5.3.1","depends":["array-0.5.7.0-2002","base-4.20.0.0-8a80"]},{"type":"configured","id":"syb-0.7.2.4-ab2b3439","pkg-name":"syb","pkg-version":"0.7.2.4","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"936d5a92084ad9d88c5a9dd2e622deab57ce48ce85be93e6273b3f8eb64c12ca","pkg-src-sha256":"ec7c1e8822d62ab910386361cdcee40a22a26cd344c34741fadd982302291e60","depends":["base-4.20.0.0-8a80"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"sync-2.2.5-233aee3d","pkg-name":"async","pkg-version":"2.2.5","flags":{"bench":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"b7648c6165729a973d95cb328f9fd874813a81c727707e8b2552b4f03399763b","pkg-src-sha256":"1818473ebab9212afad2ed76297aefde5fae8b5d4404daf36939aece6a8f16f7","depends":["base-4.20.0.0-8a80","hshbl-1.5.0.0-24b9df1a","stm-2.5.3.1-4c4f"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"template-haskell-2.22.0.0-4ff0","pkg-name":"template-haskell","pkg-version":"2.22.0.0","depends":["base-4.20.0.0-8a80","ghc-boot-th-9.10.1-d3c3","ghc-prim-0.11.0-2e13","pretty-1.1.3.6-b893"]},{"type":"configured","id":"tensor-right-0.1.0.0-inplace","pkg-name":"tensor-right","pkg-version":"0.1.0.0","flags":{},"style":"local","pkg-src":{"type":"local","path":"/Users/leo/Work/Research/ADAPT/TensorRight/."},"dist-dir":"/Users/leo/Work/Research/ADAPT/TensorRight/dist-newstyle/build/x86_64-osx/ghc-9.10.1/tensor-right-0.1.0.0","build-info":"/Users/leo/Work/Research/ADAPT/TensorRight/dist-newstyle/build/x86_64-osx/ghc-9.10.1/tensor-right-0.1.0.0/build-info.json","depends":["base-4.20.0.0-8a80","deepseq-1.5.0.0-748c","grstt-0.11.0.0-5bfa7d6b","hshbl-1.5.0.0-24b9df1a","mtl-2.3.1-6c8e","rdrd-cntnrs-0.2.4-2e06bc38","prttyprntr-1.7.1-4c7a96e6","sbv-11.7-ebc47741","template-haskell-2.22.0.0-4ff0","text-2.1.1-e1e4","nrdrd-cntnrs-0.2.20-75d7c1b8"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"tensor-right-0.1.0.0-inplace-rules-debug","pkg-name":"tensor-right","pkg-version":"0.1.0.0","flags":{},"style":"local","pkg-src":{"type":"local","path":"/Users/leo/Work/Research/ADAPT/TensorRight/."},"dist-dir":"/Users/leo/Work/Research/ADAPT/TensorRight/dist-newstyle/build/x86_64-osx/ghc-9.10.1/tensor-right-0.1.0.0/x/rules-debug","build-info":"/Users/leo/Work/Research/ADAPT/TensorRight/dist-newstyle/build/x86_64-osx/ghc-9.10.1/tensor-right-0.1.0.0/x/rules-debug/build-info.json","depends":["base-4.20.0.0-8a80","deepseq-1.5.0.0-748c","grstt-0.11.0.0-5bfa7d6b","hshbl-1.5.0.0-24b9df1a","mtl-2.3.1-6c8e","rdrd-cntnrs-0.2.4-2e06bc38","prttyprntr-1.7.1-4c7a96e6","sbv-11.7-ebc47741","template-haskell-2.22.0.0-4ff0","tensor-right-0.1.0.0-inplace","text-2.1.1-e1e4","nrdrd-cntnrs-0.2.20-75d7c1b8"],"exe-depends":[],"component-name":"exe:rules-debug","bin-file":"/Users/leo/Work/Research/ADAPT/TensorRight/dist-newstyle/build/x86_64-osx/ghc-9.10.1/tensor-right-0.1.0.0/x/rules-debug/build/rules-debug/rules-debug"},{"type":"configured","id":"tensor-right-0.1.0.0-inplace-rules-xla-add","pkg-name":"tensor-right","pkg-version":"0.1.0.0","flags":{},"style":"local","pkg-src":{"type":"local","path":"/Users/leo/Work/Research/ADAPT/TensorRight/."},"dist-dir":"/Users/leo/Work/Research/ADAPT/TensorRight/dist-newstyle/build/x86_64-osx/ghc-9.10.1/tensor-right-0.1.0.0/x/rules-xla-add","build-info":"/Users/leo/Work/Research/ADAPT/TensorRight/dist-newstyle/build/x86_64-osx/ghc-9.10.1/tensor-right-0.1.0.0/x/rules-xla-add/build-info.json","depends":["base-4.20.0.0-8a80","deepseq-1.5.0.0-748c","grstt-0.11.0.0-5bfa7d6b","hshbl-1.5.0.0-24b9df1a","mtl-2.3.1-6c8e","rdrd-cntnrs-0.2.4-2e06bc38","prttyprntr-1.7.1-4c7a96e6","sbv-11.7-ebc47741","template-haskell-2.22.0.0-4ff0","tensor-right-0.1.0.0-inplace","text-2.1.1-e1e4","nrdrd-cntnrs-0.2.20-75d7c1b8"],"exe-depends":[],"component-name":"exe:rules-xla-add","bin-file":"/Users/leo/Work/Research/ADAPT/TensorRight/dist-newstyle/build/x86_64-osx/ghc-9.10.1/tensor-right-0.1.0.0/x/rules-xla-add/build/rules-xla-add/rules-xla-add"},{"type":"configured","id":"tensor-right-0.1.0.0-inplace-rules-xla-broadcast","pkg-name":"tensor-right","pkg-version":"0.1.0.0","flags":{},"style":"local","pkg-src":{"type":"local","path":"/Users/leo/Work/Research/ADAPT/TensorRight/."},"dist-dir":"/Users/leo/Work/Research/ADAPT/TensorRight/dist-newstyle/build/x86_64-osx/ghc-9.10.1/tensor-right-0.1.0.0/x/rules-xla-broadcast","build-info":"/Users/leo/Work/Research/ADAPT/TensorRight/dist-newstyle/build/x86_64-osx/ghc-9.10.1/tensor-right-0.1.0.0/x/rules-xla-broadcast/build-info.json","depends":["base-4.20.0.0-8a80","deepseq-1.5.0.0-748c","grstt-0.11.0.0-5bfa7d6b","hshbl-1.5.0.0-24b9df1a","mtl-2.3.1-6c8e","rdrd-cntnrs-0.2.4-2e06bc38","prttyprntr-1.7.1-4c7a96e6","sbv-11.7-ebc47741","template-haskell-2.22.0.0-4ff0","tensor-right-0.1.0.0-inplace","text-2.1.1-e1e4","nrdrd-cntnrs-0.2.20-75d7c1b8"],"exe-depends":[],"component-name":"exe:rules-xla-broadcast","bin-file":"/Users/leo/Work/Research/ADAPT/TensorRight/dist-newstyle/build/x86_64-osx/ghc-9.10.1/tensor-right-0.1.0.0/x/rules-xla-broadcast/build/rules-xla-broadcast/rules-xla-broadcast"},{"type":"configured","id":"tensor-right-0.1.0.0-inplace-rules-xla-clamp","pkg-name":"tensor-right","pkg-version":"0.1.0.0","flags":{},"style":"local","pkg-src":{"type":"local","path":"/Users/leo/Work/Research/ADAPT/TensorRight/."},"dist-dir":"/Users/leo/Work/Research/ADAPT/TensorRight/dist-newstyle/build/x86_64-osx/ghc-9.10.1/tensor-right-0.1.0.0/x/rules-xla-clamp","build-info":"/Users/leo/Work/Research/ADAPT/TensorRight/dist-newstyle/build/x86_64-osx/ghc-9.10.1/tensor-right-0.1.0.0/x/rules-xla-clamp/build-info.json","depends":["base-4.20.0.0-8a80","deepseq-1.5.0.0-748c","grstt-0.11.0.0-5bfa7d6b","hshbl-1.5.0.0-24b9df1a","mtl-2.3.1-6c8e","rdrd-cntnrs-0.2.4-2e06bc38","prttyprntr-1.7.1-4c7a96e6","sbv-11.7-ebc47741","template-haskell-2.22.0.0-4ff0","tensor-right-0.1.0.0-inplace","text-2.1.1-e1e4","nrdrd-cntnrs-0.2.20-75d7c1b8"],"exe-depends":[],"component-name":"exe:rules-xla-clamp","bin-file":"/Users/leo/Work/Research/ADAPT/TensorRight/dist-newstyle/build/x86_64-osx/ghc-9.10.1/tensor-right-0.1.0.0/x/rules-xla-clamp/build/rules-xla-clamp/rules-xla-clamp"},{"type":"configured","id":"tensor-right-0.1.0.0-inplace-rules-xla-compare","pkg-name":"tensor-right","pkg-version":"0.1.0.0","flags":{},"style":"local","pkg-src":{"type":"local","path":"/Users/leo/Work/Research/ADAPT/TensorRight/."},"dist-dir":"/Users/leo/Work/Research/ADAPT/TensorRight/dist-newstyle/build/x86_64-osx/ghc-9.10.1/tensor-right-0.1.0.0/x/rules-xla-compare","build-info":"/Users/leo/Work/Research/ADAPT/TensorRight/dist-newstyle/build/x86_64-osx/ghc-9.10.1/tensor-right-0.1.0.0/x/rules-xla-compare/build-info.json","depends":["base-4.20.0.0-8a80","deepseq-1.5.0.0-748c","grstt-0.11.0.0-5bfa7d6b","hshbl-1.5.0.0-24b9df1a","mtl-2.3.1-6c8e","rdrd-cntnrs-0.2.4-2e06bc38","prttyprntr-1.7.1-4c7a96e6","sbv-11.7-ebc47741","template-haskell-2.22.0.0-4ff0","tensor-right-0.1.0.0-inplace","text-2.1.1-e1e4","nrdrd-cntnrs-0.2.20-75d7c1b8"],"exe-depends":[],"component-name":"exe:rules-xla-compare","bin-file":"/Users/leo/Work/Research/ADAPT/TensorRight/dist-newstyle/build/x86_64-osx/ghc-9.10.1/tensor-right-0.1.0.0/x/rules-xla-compare/build/rules-xla-compare/rules-xla-compare"},{"type":"configured","id":"tensor-right-0.1.0.0-inplace-rules-xla-concat","pkg-name":"tensor-right","pkg-version":"0.1.0.0","flags":{},"style":"local","pkg-src":{"type":"local","path":"/Users/leo/Work/Research/ADAPT/TensorRight/."},"dist-dir":"/Users/leo/Work/Research/ADAPT/TensorRight/dist-newstyle/build/x86_64-osx/ghc-9.10.1/tensor-right-0.1.0.0/x/rules-xla-concat","build-info":"/Users/leo/Work/Research/ADAPT/TensorRight/dist-newstyle/build/x86_64-osx/ghc-9.10.1/tensor-right-0.1.0.0/x/rules-xla-concat/build-info.json","depends":["base-4.20.0.0-8a80","deepseq-1.5.0.0-748c","grstt-0.11.0.0-5bfa7d6b","hshbl-1.5.0.0-24b9df1a","mtl-2.3.1-6c8e","rdrd-cntnrs-0.2.4-2e06bc38","prttyprntr-1.7.1-4c7a96e6","sbv-11.7-ebc47741","template-haskell-2.22.0.0-4ff0","tensor-right-0.1.0.0-inplace","text-2.1.1-e1e4","nrdrd-cntnrs-0.2.20-75d7c1b8"],"exe-depends":[],"component-name":"exe:rules-xla-concat","bin-file":"/Users/leo/Work/Research/ADAPT/TensorRight/dist-newstyle/build/x86_64-osx/ghc-9.10.1/tensor-right-0.1.0.0/x/rules-xla-concat/build/rules-xla-concat/rules-xla-concat"},{"type":"configured","id":"tensor-right-0.1.0.0-inplace-rules-xla-conv","pkg-name":"tensor-right","pkg-version":"0.1.0.0","flags":{},"style":"local","pkg-src":{"type":"local","path":"/Users/leo/Work/Research/ADAPT/TensorRight/."},"dist-dir":"/Users/leo/Work/Research/ADAPT/TensorRight/dist-newstyle/build/x86_64-osx/ghc-9.10.1/tensor-right-0.1.0.0/x/rules-xla-conv","build-info":"/Users/leo/Work/Research/ADAPT/TensorRight/dist-newstyle/build/x86_64-osx/ghc-9.10.1/tensor-right-0.1.0.0/x/rules-xla-conv/build-info.json","depends":["base-4.20.0.0-8a80","deepseq-1.5.0.0-748c","grstt-0.11.0.0-5bfa7d6b","hshbl-1.5.0.0-24b9df1a","mtl-2.3.1-6c8e","rdrd-cntnrs-0.2.4-2e06bc38","prttyprntr-1.7.1-4c7a96e6","sbv-11.7-ebc47741","template-haskell-2.22.0.0-4ff0","tensor-right-0.1.0.0-inplace","text-2.1.1-e1e4","nrdrd-cntnrs-0.2.20-75d7c1b8"],"exe-depends":[],"component-name":"exe:rules-xla-conv","bin-file":"/Users/leo/Work/Research/ADAPT/TensorRight/dist-newstyle/build/x86_64-osx/ghc-9.10.1/tensor-right-0.1.0.0/x/rules-xla-conv/build/rules-xla-conv/rules-xla-conv"},{"type":"configured","id":"tensor-right-0.1.0.0-inplace-rules-xla-divmod","pkg-name":"tensor-right","pkg-version":"0.1.0.0","flags":{},"style":"local","pkg-src":{"type":"local","path":"/Users/leo/Work/Research/ADAPT/TensorRight/."},"dist-dir":"/Users/leo/Work/Research/ADAPT/TensorRight/dist-newstyle/build/x86_64-osx/ghc-9.10.1/tensor-right-0.1.0.0/x/rules-xla-divmod","build-info":"/Users/leo/Work/Research/ADAPT/TensorRight/dist-newstyle/build/x86_64-osx/ghc-9.10.1/tensor-right-0.1.0.0/x/rules-xla-divmod/build-info.json","depends":["base-4.20.0.0-8a80","deepseq-1.5.0.0-748c","grstt-0.11.0.0-5bfa7d6b","hshbl-1.5.0.0-24b9df1a","mtl-2.3.1-6c8e","rdrd-cntnrs-0.2.4-2e06bc38","prttyprntr-1.7.1-4c7a96e6","sbv-11.7-ebc47741","template-haskell-2.22.0.0-4ff0","tensor-right-0.1.0.0-inplace","text-2.1.1-e1e4","nrdrd-cntnrs-0.2.20-75d7c1b8"],"exe-depends":[],"component-name":"exe:rules-xla-divmod","bin-file":"/Users/leo/Work/Research/ADAPT/TensorRight/dist-newstyle/build/x86_64-osx/ghc-9.10.1/tensor-right-0.1.0.0/x/rules-xla-divmod/build/rules-xla-divmod/rules-xla-divmod"},{"type":"configured","id":"tensor-right-0.1.0.0-inplace-rules-xla-dot","pkg-name":"tensor-right","pkg-version":"0.1.0.0","flags":{},"style":"local","pkg-src":{"type":"local","path":"/Users/leo/Work/Research/ADAPT/TensorRight/."},"dist-dir":"/Users/leo/Work/Research/ADAPT/TensorRight/dist-newstyle/build/x86_64-osx/ghc-9.10.1/tensor-right-0.1.0.0/x/rules-xla-dot","build-info":"/Users/leo/Work/Research/ADAPT/TensorRight/dist-newstyle/build/x86_64-osx/ghc-9.10.1/tensor-right-0.1.0.0/x/rules-xla-dot/build-info.json","depends":["base-4.20.0.0-8a80","deepseq-1.5.0.0-748c","grstt-0.11.0.0-5bfa7d6b","hshbl-1.5.0.0-24b9df1a","mtl-2.3.1-6c8e","rdrd-cntnrs-0.2.4-2e06bc38","prttyprntr-1.7.1-4c7a96e6","sbv-11.7-ebc47741","template-haskell-2.22.0.0-4ff0","tensor-right-0.1.0.0-inplace","text-2.1.1-e1e4","nrdrd-cntnrs-0.2.20-75d7c1b8"],"exe-depends":[],"component-name":"exe:rules-xla-dot","bin-file":"/Users/leo/Work/Research/ADAPT/TensorRight/dist-newstyle/build/x86_64-osx/ghc-9.10.1/tensor-right-0.1.0.0/x/rules-xla-dot/build/rules-xla-dot/rules-xla-dot"},{"type":"configured","id":"tensor-right-0.1.0.0-inplace-rules-xla-dyslice","pkg-name":"tensor-right","pkg-version":"0.1.0.0","flags":{},"style":"local","pkg-src":{"type":"local","path":"/Users/leo/Work/Research/ADAPT/TensorRight/."},"dist-dir":"/Users/leo/Work/Research/ADAPT/TensorRight/dist-newstyle/build/x86_64-osx/ghc-9.10.1/tensor-right-0.1.0.0/x/rules-xla-dyslice","build-info":"/Users/leo/Work/Research/ADAPT/TensorRight/dist-newstyle/build/x86_64-osx/ghc-9.10.1/tensor-right-0.1.0.0/x/rules-xla-dyslice/build-info.json","depends":["base-4.20.0.0-8a80","deepseq-1.5.0.0-748c","grstt-0.11.0.0-5bfa7d6b","hshbl-1.5.0.0-24b9df1a","mtl-2.3.1-6c8e","rdrd-cntnrs-0.2.4-2e06bc38","prttyprntr-1.7.1-4c7a96e6","sbv-11.7-ebc47741","template-haskell-2.22.0.0-4ff0","tensor-right-0.1.0.0-inplace","text-2.1.1-e1e4","nrdrd-cntnrs-0.2.20-75d7c1b8"],"exe-depends":[],"component-name":"exe:rules-xla-dyslice","bin-file":"/Users/leo/Work/Research/ADAPT/TensorRight/dist-newstyle/build/x86_64-osx/ghc-9.10.1/tensor-right-0.1.0.0/x/rules-xla-dyslice/build/rules-xla-dyslice/rules-xla-dyslice"},{"type":"configured","id":"tensor-right-0.1.0.0-inplace-rules-xla-dyupslice","pkg-name":"tensor-right","pkg-version":"0.1.0.0","flags":{},"style":"local","pkg-src":{"type":"local","path":"/Users/leo/Work/Research/ADAPT/TensorRight/."},"dist-dir":"/Users/leo/Work/Research/ADAPT/TensorRight/dist-newstyle/build/x86_64-osx/ghc-9.10.1/tensor-right-0.1.0.0/x/rules-xla-dyupslice","build-info":"/Users/leo/Work/Research/ADAPT/TensorRight/dist-newstyle/build/x86_64-osx/ghc-9.10.1/tensor-right-0.1.0.0/x/rules-xla-dyupslice/build-info.json","depends":["base-4.20.0.0-8a80","deepseq-1.5.0.0-748c","grstt-0.11.0.0-5bfa7d6b","hshbl-1.5.0.0-24b9df1a","mtl-2.3.1-6c8e","rdrd-cntnrs-0.2.4-2e06bc38","prttyprntr-1.7.1-4c7a96e6","sbv-11.7-ebc47741","template-haskell-2.22.0.0-4ff0","tensor-right-0.1.0.0-inplace","text-2.1.1-e1e4","nrdrd-cntnrs-0.2.20-75d7c1b8"],"exe-depends":[],"component-name":"exe:rules-xla-dyupslice","bin-file":"/Users/leo/Work/Research/ADAPT/TensorRight/dist-newstyle/build/x86_64-osx/ghc-9.10.1/tensor-right-0.1.0.0/x/rules-xla-dyupslice/build/rules-xla-dyupslice/rules-xla-dyupslice"},{"type":"configured","id":"tensor-right-0.1.0.0-inplace-rules-xla-generalize","pkg-name":"tensor-right","pkg-version":"0.1.0.0","flags":{},"style":"local","pkg-src":{"type":"local","path":"/Users/leo/Work/Research/ADAPT/TensorRight/."},"dist-dir":"/Users/leo/Work/Research/ADAPT/TensorRight/dist-newstyle/build/x86_64-osx/ghc-9.10.1/tensor-right-0.1.0.0/x/rules-xla-generalize","build-info":"/Users/leo/Work/Research/ADAPT/TensorRight/dist-newstyle/build/x86_64-osx/ghc-9.10.1/tensor-right-0.1.0.0/x/rules-xla-generalize/build-info.json","depends":["base-4.20.0.0-8a80","deepseq-1.5.0.0-748c","grstt-0.11.0.0-5bfa7d6b","hshbl-1.5.0.0-24b9df1a","mtl-2.3.1-6c8e","rdrd-cntnrs-0.2.4-2e06bc38","prttyprntr-1.7.1-4c7a96e6","sbv-11.7-ebc47741","template-haskell-2.22.0.0-4ff0","tensor-right-0.1.0.0-inplace","text-2.1.1-e1e4","nrdrd-cntnrs-0.2.20-75d7c1b8"],"exe-depends":[],"component-name":"exe:rules-xla-generalize","bin-file":"/Users/leo/Work/Research/ADAPT/TensorRight/dist-newstyle/build/x86_64-osx/ghc-9.10.1/tensor-right-0.1.0.0/x/rules-xla-generalize/build/rules-xla-generalize/rules-xla-generalize"},{"type":"configured","id":"tensor-right-0.1.0.0-inplace-rules-xla-iota","pkg-name":"tensor-right","pkg-version":"0.1.0.0","flags":{},"style":"local","pkg-src":{"type":"local","path":"/Users/leo/Work/Research/ADAPT/TensorRight/."},"dist-dir":"/Users/leo/Work/Research/ADAPT/TensorRight/dist-newstyle/build/x86_64-osx/ghc-9.10.1/tensor-right-0.1.0.0/x/rules-xla-iota","build-info":"/Users/leo/Work/Research/ADAPT/TensorRight/dist-newstyle/build/x86_64-osx/ghc-9.10.1/tensor-right-0.1.0.0/x/rules-xla-iota/build-info.json","depends":["base-4.20.0.0-8a80","deepseq-1.5.0.0-748c","grstt-0.11.0.0-5bfa7d6b","hshbl-1.5.0.0-24b9df1a","mtl-2.3.1-6c8e","rdrd-cntnrs-0.2.4-2e06bc38","prttyprntr-1.7.1-4c7a96e6","sbv-11.7-ebc47741","template-haskell-2.22.0.0-4ff0","tensor-right-0.1.0.0-inplace","text-2.1.1-e1e4","nrdrd-cntnrs-0.2.20-75d7c1b8"],"exe-depends":[],"component-name":"exe:rules-xla-iota","bin-file":"/Users/leo/Work/Research/ADAPT/TensorRight/dist-newstyle/build/x86_64-osx/ghc-9.10.1/tensor-right-0.1.0.0/x/rules-xla-iota/build/rules-xla-iota/rules-xla-iota"},{"type":"configured","id":"tensor-right-0.1.0.0-inplace-rules-xla-logical","pkg-name":"tensor-right","pkg-version":"0.1.0.0","flags":{},"style":"local","pkg-src":{"type":"local","path":"/Users/leo/Work/Research/ADAPT/TensorRight/."},"dist-dir":"/Users/leo/Work/Research/ADAPT/TensorRight/dist-newstyle/build/x86_64-osx/ghc-9.10.1/tensor-right-0.1.0.0/x/rules-xla-logical","build-info":"/Users/leo/Work/Research/ADAPT/TensorRight/dist-newstyle/build/x86_64-osx/ghc-9.10.1/tensor-right-0.1.0.0/x/rules-xla-logical/build-info.json","depends":["base-4.20.0.0-8a80","deepseq-1.5.0.0-748c","grstt-0.11.0.0-5bfa7d6b","hshbl-1.5.0.0-24b9df1a","mtl-2.3.1-6c8e","rdrd-cntnrs-0.2.4-2e06bc38","prttyprntr-1.7.1-4c7a96e6","sbv-11.7-ebc47741","template-haskell-2.22.0.0-4ff0","tensor-right-0.1.0.0-inplace","text-2.1.1-e1e4","nrdrd-cntnrs-0.2.20-75d7c1b8"],"exe-depends":[],"component-name":"exe:rules-xla-logical","bin-file":"/Users/leo/Work/Research/ADAPT/TensorRight/dist-newstyle/build/x86_64-osx/ghc-9.10.1/tensor-right-0.1.0.0/x/rules-xla-logical/build/rules-xla-logical/rules-xla-logical"},{"type":"configured","id":"tensor-right-0.1.0.0-inplace-rules-xla-max","pkg-name":"tensor-right","pkg-version":"0.1.0.0","flags":{},"style":"local","pkg-src":{"type":"local","path":"/Users/leo/Work/Research/ADAPT/TensorRight/."},"dist-dir":"/Users/leo/Work/Research/ADAPT/TensorRight/dist-newstyle/build/x86_64-osx/ghc-9.10.1/tensor-right-0.1.0.0/x/rules-xla-max","build-info":"/Users/leo/Work/Research/ADAPT/TensorRight/dist-newstyle/build/x86_64-osx/ghc-9.10.1/tensor-right-0.1.0.0/x/rules-xla-max/build-info.json","depends":["base-4.20.0.0-8a80","deepseq-1.5.0.0-748c","grstt-0.11.0.0-5bfa7d6b","hshbl-1.5.0.0-24b9df1a","mtl-2.3.1-6c8e","rdrd-cntnrs-0.2.4-2e06bc38","prttyprntr-1.7.1-4c7a96e6","sbv-11.7-ebc47741","template-haskell-2.22.0.0-4ff0","tensor-right-0.1.0.0-inplace","text-2.1.1-e1e4","nrdrd-cntnrs-0.2.20-75d7c1b8"],"exe-depends":[],"component-name":"exe:rules-xla-max","bin-file":"/Users/leo/Work/Research/ADAPT/TensorRight/dist-newstyle/build/x86_64-osx/ghc-9.10.1/tensor-right-0.1.0.0/x/rules-xla-max/build/rules-xla-max/rules-xla-max"},{"type":"configured","id":"tensor-right-0.1.0.0-inplace-rules-xla-mul","pkg-name":"tensor-right","pkg-version":"0.1.0.0","flags":{},"style":"local","pkg-src":{"type":"local","path":"/Users/leo/Work/Research/ADAPT/TensorRight/."},"dist-dir":"/Users/leo/Work/Research/ADAPT/TensorRight/dist-newstyle/build/x86_64-osx/ghc-9.10.1/tensor-right-0.1.0.0/x/rules-xla-mul","build-info":"/Users/leo/Work/Research/ADAPT/TensorRight/dist-newstyle/build/x86_64-osx/ghc-9.10.1/tensor-right-0.1.0.0/x/rules-xla-mul/build-info.json","depends":["base-4.20.0.0-8a80","deepseq-1.5.0.0-748c","grstt-0.11.0.0-5bfa7d6b","hshbl-1.5.0.0-24b9df1a","mtl-2.3.1-6c8e","rdrd-cntnrs-0.2.4-2e06bc38","prttyprntr-1.7.1-4c7a96e6","sbv-11.7-ebc47741","template-haskell-2.22.0.0-4ff0","tensor-right-0.1.0.0-inplace","text-2.1.1-e1e4","nrdrd-cntnrs-0.2.20-75d7c1b8"],"exe-depends":[],"component-name":"exe:rules-xla-mul","bin-file":"/Users/leo/Work/Research/ADAPT/TensorRight/dist-newstyle/build/x86_64-osx/ghc-9.10.1/tensor-right-0.1.0.0/x/rules-xla-mul/build/rules-xla-mul/rules-xla-mul"},{"type":"configured","id":"tensor-right-0.1.0.0-inplace-rules-xla-not","pkg-name":"tensor-right","pkg-version":"0.1.0.0","flags":{},"style":"local","pkg-src":{"type":"local","path":"/Users/leo/Work/Research/ADAPT/TensorRight/."},"dist-dir":"/Users/leo/Work/Research/ADAPT/TensorRight/dist-newstyle/build/x86_64-osx/ghc-9.10.1/tensor-right-0.1.0.0/x/rules-xla-not","build-info":"/Users/leo/Work/Research/ADAPT/TensorRight/dist-newstyle/build/x86_64-osx/ghc-9.10.1/tensor-right-0.1.0.0/x/rules-xla-not/build-info.json","depends":["base-4.20.0.0-8a80","deepseq-1.5.0.0-748c","grstt-0.11.0.0-5bfa7d6b","hshbl-1.5.0.0-24b9df1a","mtl-2.3.1-6c8e","rdrd-cntnrs-0.2.4-2e06bc38","prttyprntr-1.7.1-4c7a96e6","sbv-11.7-ebc47741","template-haskell-2.22.0.0-4ff0","tensor-right-0.1.0.0-inplace","text-2.1.1-e1e4","nrdrd-cntnrs-0.2.20-75d7c1b8"],"exe-depends":[],"component-name":"exe:rules-xla-not","bin-file":"/Users/leo/Work/Research/ADAPT/TensorRight/dist-newstyle/build/x86_64-osx/ghc-9.10.1/tensor-right-0.1.0.0/x/rules-xla-not/build/rules-xla-not/rules-xla-not"},{"type":"configured","id":"tensor-right-0.1.0.0-inplace-rules-xla-pad","pkg-name":"tensor-right","pkg-version":"0.1.0.0","flags":{},"style":"local","pkg-src":{"type":"local","path":"/Users/leo/Work/Research/ADAPT/TensorRight/."},"dist-dir":"/Users/leo/Work/Research/ADAPT/TensorRight/dist-newstyle/build/x86_64-osx/ghc-9.10.1/tensor-right-0.1.0.0/x/rules-xla-pad","build-info":"/Users/leo/Work/Research/ADAPT/TensorRight/dist-newstyle/build/x86_64-osx/ghc-9.10.1/tensor-right-0.1.0.0/x/rules-xla-pad/build-info.json","depends":["base-4.20.0.0-8a80","deepseq-1.5.0.0-748c","grstt-0.11.0.0-5bfa7d6b","hshbl-1.5.0.0-24b9df1a","mtl-2.3.1-6c8e","rdrd-cntnrs-0.2.4-2e06bc38","prttyprntr-1.7.1-4c7a96e6","sbv-11.7-ebc47741","template-haskell-2.22.0.0-4ff0","tensor-right-0.1.0.0-inplace","text-2.1.1-e1e4","nrdrd-cntnrs-0.2.20-75d7c1b8"],"exe-depends":[],"component-name":"exe:rules-xla-pad","bin-file":"/Users/leo/Work/Research/ADAPT/TensorRight/dist-newstyle/build/x86_64-osx/ghc-9.10.1/tensor-right-0.1.0.0/x/rules-xla-pad/build/rules-xla-pad/rules-xla-pad"},{"type":"configured","id":"tensor-right-0.1.0.0-inplace-rules-xla-reduce","pkg-name":"tensor-right","pkg-version":"0.1.0.0","flags":{},"style":"local","pkg-src":{"type":"local","path":"/Users/leo/Work/Research/ADAPT/TensorRight/."},"dist-dir":"/Users/leo/Work/Research/ADAPT/TensorRight/dist-newstyle/build/x86_64-osx/ghc-9.10.1/tensor-right-0.1.0.0/x/rules-xla-reduce","build-info":"/Users/leo/Work/Research/ADAPT/TensorRight/dist-newstyle/build/x86_64-osx/ghc-9.10.1/tensor-right-0.1.0.0/x/rules-xla-reduce/build-info.json","depends":["base-4.20.0.0-8a80","deepseq-1.5.0.0-748c","grstt-0.11.0.0-5bfa7d6b","hshbl-1.5.0.0-24b9df1a","mtl-2.3.1-6c8e","rdrd-cntnrs-0.2.4-2e06bc38","prttyprntr-1.7.1-4c7a96e6","sbv-11.7-ebc47741","template-haskell-2.22.0.0-4ff0","tensor-right-0.1.0.0-inplace","text-2.1.1-e1e4","nrdrd-cntnrs-0.2.20-75d7c1b8"],"exe-depends":[],"component-name":"exe:rules-xla-reduce","bin-file":"/Users/leo/Work/Research/ADAPT/TensorRight/dist-newstyle/build/x86_64-osx/ghc-9.10.1/tensor-right-0.1.0.0/x/rules-xla-reduce/build/rules-xla-reduce/rules-xla-reduce"},{"type":"configured","id":"tensor-right-0.1.0.0-inplace-rules-xla-relabel","pkg-name":"tensor-right","pkg-version":"0.1.0.0","flags":{},"style":"local","pkg-src":{"type":"local","path":"/Users/leo/Work/Research/ADAPT/TensorRight/."},"dist-dir":"/Users/leo/Work/Research/ADAPT/TensorRight/dist-newstyle/build/x86_64-osx/ghc-9.10.1/tensor-right-0.1.0.0/x/rules-xla-relabel","build-info":"/Users/leo/Work/Research/ADAPT/TensorRight/dist-newstyle/build/x86_64-osx/ghc-9.10.1/tensor-right-0.1.0.0/x/rules-xla-relabel/build-info.json","depends":["base-4.20.0.0-8a80","deepseq-1.5.0.0-748c","grstt-0.11.0.0-5bfa7d6b","hshbl-1.5.0.0-24b9df1a","mtl-2.3.1-6c8e","rdrd-cntnrs-0.2.4-2e06bc38","prttyprntr-1.7.1-4c7a96e6","sbv-11.7-ebc47741","template-haskell-2.22.0.0-4ff0","tensor-right-0.1.0.0-inplace","text-2.1.1-e1e4","nrdrd-cntnrs-0.2.20-75d7c1b8"],"exe-depends":[],"component-name":"exe:rules-xla-relabel","bin-file":"/Users/leo/Work/Research/ADAPT/TensorRight/dist-newstyle/build/x86_64-osx/ghc-9.10.1/tensor-right-0.1.0.0/x/rules-xla-relabel/build/rules-xla-relabel/rules-xla-relabel"},{"type":"configured","id":"tensor-right-0.1.0.0-inplace-rules-xla-reverse","pkg-name":"tensor-right","pkg-version":"0.1.0.0","flags":{},"style":"local","pkg-src":{"type":"local","path":"/Users/leo/Work/Research/ADAPT/TensorRight/."},"dist-dir":"/Users/leo/Work/Research/ADAPT/TensorRight/dist-newstyle/build/x86_64-osx/ghc-9.10.1/tensor-right-0.1.0.0/x/rules-xla-reverse","build-info":"/Users/leo/Work/Research/ADAPT/TensorRight/dist-newstyle/build/x86_64-osx/ghc-9.10.1/tensor-right-0.1.0.0/x/rules-xla-reverse/build-info.json","depends":["base-4.20.0.0-8a80","deepseq-1.5.0.0-748c","grstt-0.11.0.0-5bfa7d6b","hshbl-1.5.0.0-24b9df1a","mtl-2.3.1-6c8e","rdrd-cntnrs-0.2.4-2e06bc38","prttyprntr-1.7.1-4c7a96e6","sbv-11.7-ebc47741","template-haskell-2.22.0.0-4ff0","tensor-right-0.1.0.0-inplace","text-2.1.1-e1e4","nrdrd-cntnrs-0.2.20-75d7c1b8"],"exe-depends":[],"component-name":"exe:rules-xla-reverse","bin-file":"/Users/leo/Work/Research/ADAPT/TensorRight/dist-newstyle/build/x86_64-osx/ghc-9.10.1/tensor-right-0.1.0.0/x/rules-xla-reverse/build/rules-xla-reverse/rules-xla-reverse"},{"type":"configured","id":"tensor-right-0.1.0.0-inplace-rules-xla-select","pkg-name":"tensor-right","pkg-version":"0.1.0.0","flags":{},"style":"local","pkg-src":{"type":"local","path":"/Users/leo/Work/Research/ADAPT/TensorRight/."},"dist-dir":"/Users/leo/Work/Research/ADAPT/TensorRight/dist-newstyle/build/x86_64-osx/ghc-9.10.1/tensor-right-0.1.0.0/x/rules-xla-select","build-info":"/Users/leo/Work/Research/ADAPT/TensorRight/dist-newstyle/build/x86_64-osx/ghc-9.10.1/tensor-right-0.1.0.0/x/rules-xla-select/build-info.json","depends":["base-4.20.0.0-8a80","deepseq-1.5.0.0-748c","grstt-0.11.0.0-5bfa7d6b","hshbl-1.5.0.0-24b9df1a","mtl-2.3.1-6c8e","rdrd-cntnrs-0.2.4-2e06bc38","prttyprntr-1.7.1-4c7a96e6","sbv-11.7-ebc47741","template-haskell-2.22.0.0-4ff0","tensor-right-0.1.0.0-inplace","text-2.1.1-e1e4","nrdrd-cntnrs-0.2.20-75d7c1b8"],"exe-depends":[],"component-name":"exe:rules-xla-select","bin-file":"/Users/leo/Work/Research/ADAPT/TensorRight/dist-newstyle/build/x86_64-osx/ghc-9.10.1/tensor-right-0.1.0.0/x/rules-xla-select/build/rules-xla-select/rules-xla-select"},{"type":"configured","id":"tensor-right-0.1.0.0-inplace-rules-xla-slice","pkg-name":"tensor-right","pkg-version":"0.1.0.0","flags":{},"style":"local","pkg-src":{"type":"local","path":"/Users/leo/Work/Research/ADAPT/TensorRight/."},"dist-dir":"/Users/leo/Work/Research/ADAPT/TensorRight/dist-newstyle/build/x86_64-osx/ghc-9.10.1/tensor-right-0.1.0.0/x/rules-xla-slice","build-info":"/Users/leo/Work/Research/ADAPT/TensorRight/dist-newstyle/build/x86_64-osx/ghc-9.10.1/tensor-right-0.1.0.0/x/rules-xla-slice/build-info.json","depends":["base-4.20.0.0-8a80","deepseq-1.5.0.0-748c","grstt-0.11.0.0-5bfa7d6b","hshbl-1.5.0.0-24b9df1a","mtl-2.3.1-6c8e","rdrd-cntnrs-0.2.4-2e06bc38","prttyprntr-1.7.1-4c7a96e6","sbv-11.7-ebc47741","template-haskell-2.22.0.0-4ff0","tensor-right-0.1.0.0-inplace","text-2.1.1-e1e4","nrdrd-cntnrs-0.2.20-75d7c1b8"],"exe-depends":[],"component-name":"exe:rules-xla-slice","bin-file":"/Users/leo/Work/Research/ADAPT/TensorRight/dist-newstyle/build/x86_64-osx/ghc-9.10.1/tensor-right-0.1.0.0/x/rules-xla-slice/build/rules-xla-slice/rules-xla-slice"},{"type":"configured","id":"tensor-right-0.1.0.0-inplace-rules-xla-sub","pkg-name":"tensor-right","pkg-version":"0.1.0.0","flags":{},"style":"local","pkg-src":{"type":"local","path":"/Users/leo/Work/Research/ADAPT/TensorRight/."},"dist-dir":"/Users/leo/Work/Research/ADAPT/TensorRight/dist-newstyle/build/x86_64-osx/ghc-9.10.1/tensor-right-0.1.0.0/x/rules-xla-sub","build-info":"/Users/leo/Work/Research/ADAPT/TensorRight/dist-newstyle/build/x86_64-osx/ghc-9.10.1/tensor-right-0.1.0.0/x/rules-xla-sub/build-info.json","depends":["base-4.20.0.0-8a80","deepseq-1.5.0.0-748c","grstt-0.11.0.0-5bfa7d6b","hshbl-1.5.0.0-24b9df1a","mtl-2.3.1-6c8e","rdrd-cntnrs-0.2.4-2e06bc38","prttyprntr-1.7.1-4c7a96e6","sbv-11.7-ebc47741","template-haskell-2.22.0.0-4ff0","tensor-right-0.1.0.0-inplace","text-2.1.1-e1e4","nrdrd-cntnrs-0.2.20-75d7c1b8"],"exe-depends":[],"component-name":"exe:rules-xla-sub","bin-file":"/Users/leo/Work/Research/ADAPT/TensorRight/dist-newstyle/build/x86_64-osx/ghc-9.10.1/tensor-right-0.1.0.0/x/rules-xla-sub/build/rules-xla-sub/rules-xla-sub"},{"type":"pre-existing","id":"text-2.1.1-e1e4","pkg-name":"text","pkg-version":"2.1.1","depends":["array-0.5.7.0-2002","base-4.20.0.0-8a80","binary-0.8.9.2-0dec","bytestring-0.12.1.0-d0da","deepseq-1.5.0.0-748c","ghc-prim-0.11.0-2e13","template-haskell-2.22.0.0-4ff0"]},{"type":"configured","id":"tggd-0.8.9-881c8291","pkg-name":"tagged","pkg-version":"0.8.9","flags":{"deepseq":true,"transformers":true},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"6aad7d2fd594bd51834450d97850b9959305951993ea739fa2bbc18b55d8767d","pkg-src-sha256":"6daad88ebb414ba6a556d2898d2cbe7650e4276010e3a6eed939daf54b956784","depends":["base-4.20.0.0-8a80","deepseq-1.5.0.0-748c","template-haskell-2.22.0.0-4ff0","transformers-0.6.1.1-1df5"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"th-bstrctn-0.7.1.0-d63953d7","pkg-name":"th-abstraction","pkg-version":"0.7.1.0","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"3011403d85b0070630e33d66b9370535ccd1e0e672ae58f847550b2b15bb4fd8","pkg-src-sha256":"f9b6184aba4c6b61dd0d96f7dad41a4c9db0a01d3cdbf993a7d860488f1c04c5","depends":["base-4.20.0.0-8a80","containers-0.7-ed0d","ghc-prim-0.11.0-2e13","template-haskell-2.22.0.0-4ff0"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"th-cmpt-0.1.6-f9185edd","pkg-name":"th-compat","pkg-version":"0.1.6","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"e83d97946f84fe492762ceb3b4753b4770c78b0b70e594078700baa91a5106c2","pkg-src-sha256":"b781a0c059872bc95406d00e98f6fa7d9e81e744730f75186583cb4dcea0a4eb","depends":["base-4.20.0.0-8a80","template-haskell-2.22.0.0-4ff0"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"th-lft-0.8.6-15a50e32","pkg-name":"th-lift","pkg-version":"0.8.6","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"0d1298f0604415e801ee1bc9095d8c26246d911d8d78e86d61b10a2588fab727","pkg-src-sha256":"04309ad70ef80ed054ebda5b7d34a66642017604019f9e44ad321eec04a1ef1f","depends":["base-4.20.0.0-8a80","ghc-prim-0.11.0-2e13","template-haskell-2.22.0.0-4ff0","th-bstrctn-0.7.1.0-d63953d7"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"th-lft-nstncs-0.1.20-aa43253e","pkg-name":"th-lift-instances","pkg-version":"0.1.20","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"c7886eb39760825b8861c68e48b2b5efb5eff8d2cb76201fdd0fb04bcbeff78e","pkg-src-sha256":"f533c3f95addcca461a0ccd1aafef75dd801bfa6599c0d1184d54bfffb61d870","depends":["base-4.20.0.0-8a80","bytestring-0.12.1.0-d0da","containers-0.7-ed0d","template-haskell-2.22.0.0-4ff0","text-2.1.1-e1e4","th-lft-0.8.6-15a50e32","transformers-0.6.1.1-1df5","vctr-0.13.2.0-36843d58"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"time-1.12.2-d1da","pkg-name":"time","pkg-version":"1.12.2","depends":["base-4.20.0.0-8a80","deepseq-1.5.0.0-748c"]},{"type":"configured","id":"tmc-prmps-0.8.8-48b89e4a","pkg-name":"atomic-primops","pkg-version":"0.8.8","flags":{"debug":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"b1c7845aaf0b9b5df44d1f25222b50c54c9e7c9a32ad5ccd00580a282bfed014","pkg-src-sha256":"c040ce4109258776100dd8942d6e746e4c26f918398fb3804e78dbe5bd73e7ea","depends":["base-4.20.0.0-8a80","ghc-prim-0.11.0-2e13","prmtv-0.9.1.0-1d9d3df0"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"tr-vw-0.5.1-54059191","pkg-name":"tree-view","pkg-version":"0.5.1","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"a32b16fdbe24ad21cb6679c2a925bcc7715ae5c5db0ae6b633e35e28e2fefd98","pkg-src-sha256":"4f58284da25f6347f971ff7f4fbcfdc51acb8ffc6b3bf73939f60e1471a843f9","depends":["base-4.20.0.0-8a80","containers-0.7-ed0d","mtl-2.3.1-6c8e"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"transformers-0.6.1.1-1df5","pkg-name":"transformers","pkg-version":"0.6.1.1","depends":["base-4.20.0.0-8a80"]},{"type":"configured","id":"trnsfrmrs-cmpt-0.7.2-4d650876","pkg-name":"transformers-compat","pkg-version":"0.7.2","flags":{"five":false,"five-three":true,"four":false,"generic-deriving":true,"mtl":true,"three":false,"two":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"044fb9955f63ee138fcebedfdcbe54afe741f2d5892a2d0bdf3a8052bd342643","pkg-src-sha256":"b62c7304c9f3cbc9463d0739aa85cb9489f217ea092b9d625d417514fbcc9d6a","depends":["base-4.20.0.0-8a80","ghc-prim-0.11.0-2e13","transformers-0.6.1.1-1df5"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"tsty-1.5.3-0ab52301","pkg-name":"tasty","pkg-version":"1.5.3","flags":{"unix":true},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"6b5dda3f16db1274a0b3e6c4073ac57172a1e96b1dca05666c5cbd1183639412","pkg-src-sha256":"54a0c7b644813af871a3726ac8771b5e17b5158c792a7acf8f9e2d3ae9360780","depends":["ns-trmnl-1.1.2-13be3cb7","base-4.20.0.0-8a80","containers-0.7-ed0d","ptprs-pplctv-0.19.0.0-298cfd6c","stm-2.5.3.1-4c4f","tggd-0.8.9-881c8291","transformers-0.6.1.1-1df5","unix-2.8.5.1-9045"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"unix-2.8.5.1-9045","pkg-name":"unix","pkg-version":"2.8.5.1","depends":["base-4.20.0.0-8a80","bytestring-0.12.1.0-d0da","filepath-1.5.2.0-7209","os-string-2.0.2-e95e","time-1.12.2-d1da"]},{"type":"configured","id":"vctr-0.13.2.0-36843d58","pkg-name":"vector","pkg-version":"0.13.2.0","flags":{"boundschecks":true,"internalchecks":false,"unsafechecks":false,"wall":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"b736a57b73520d2acf4865e3e2b40030d69782f35f870e376dc717ee2508d81f","pkg-src-sha256":"28f203c786cbf8ac6dc3fea3378ec36f34173d505fb4a1dd60fc8418ad91c423","depends":["base-4.20.0.0-8a80","deepseq-1.5.0.0-748c","prmtv-0.9.1.0-1d9d3df0","vctr-strm-0.1.0.1-f96412de"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"vctr-0.13.2.0-f9f4a3bf","pkg-name":"vector","pkg-version":"0.13.2.0","flags":{"boundschecks":true,"internalchecks":false,"unsafechecks":false,"wall":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"b736a57b73520d2acf4865e3e2b40030d69782f35f870e376dc717ee2508d81f","pkg-src-sha256":"28f203c786cbf8ac6dc3fea3378ec36f34173d505fb4a1dd60fc8418ad91c423","depends":["base-4.20.0.0-8a80","rndm-1.3.1-0ab25a30","tsty-1.5.3-0ab52301","vctr-0.13.2.0-36843d58"],"exe-depends":[],"component-name":"lib:benchmarks-O2"},{"type":"configured","id":"vctr-strm-0.1.0.1-f96412de","pkg-name":"vector-stream","pkg-version":"0.1.0.1","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"5ac96695212a45ae7dc16d8031dbf5311da53e052c35f7ad4a8e2db7fafb651e","pkg-src-sha256":"d0f507334bdea5431a2f07f525a97f29e76522c32210f5de6d5a2b4f1d42bf7c","depends":["base-4.20.0.0-8a80","ghc-prim-0.11.0-2e13"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"vd-0.7.3-fb963e7f","pkg-name":"void","pkg-version":"0.7.3","flags":{"safe":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"13d30f62fcdf065e595d679d4ac8b4b0c1bb1a1b73db7b5b5a8f857cb5c8a546","pkg-src-sha256":"53af758ddc37dc63981671e503438d02c6f64a2d8744e9bec557a894431f7317","depends":["base-4.20.0.0-8a80"],"exe-depends":[],"component-name":"lib"}]} \ No newline at end of file diff --git a/dist-newstyle/cache/solver-plan b/dist-newstyle/cache/solver-plan new file mode 100644 index 0000000000000000000000000000000000000000..35be435617af9e54670e0d4b05e7c9332b815779 GIT binary patch literal 751746 zcmeFaU633{k|vf#fcPnp1W17YS?*qG#~agKiMq8Sde-GPAmK zy1KHavI;;LibkN)D_Gyn9ZzdiLQ|BEC4 zP8_MIZ|z1r95=S(-LN|fA2n`9-H|uiYuw<3IBD#9eq*?^<;R0wwAE-W90kZL|8?=Zjz)S%BE`Pf&!PV7d;itHUks1Dq$>5HU8!W- z8-*$9mo>@vZM`n}};xcc}1*Ps9Gzx(pIrv2l?()K-n zI}~*P)A?Wi@9plp|L?!}FaL{wRpH^eY0}-=_9w#z{%v&Xt!BL?x)DEX#!uCvI*nF6 z;0B_(D5g^RH~-n-C;!{ueyO^dKe({71-+nfUfv#$ho3PbXPlCOQ7R4o#-F-v$5hIt zUN}GBT5PtLnoBFqb}#h&)?&EWS_nGbPUx-7_rh?cyVUE2z2(;Y{NloL$7_d6E5XWw z7x+uvCevw!UZ?BLxBbQTQqc1KPRr|pP&b%gS_u8cuoJHM-KFIg@-Hm6R+ihnrLeu! zYkJ}G@_ew+W;#u8(O(XM;|Hy7Yq8gC^%i@JEpL9_3j%LBTv}Z0`psUm+gxfbc0F$; zY%jNZ3qI=B3frxK=`6O8b*a_uG?$vKR(G-OFD;<~%S+vs7k2Qu+zh;>&V0MwYR!A? zg(a`q>8&)E{Uy|_({3@HZn(U-xH#XN_m{g~E9i#p&Pw2|w0bSnues=Vg85Dmtb{>( zskP*HxxVsW;zUns0et*jkvM@2;R89dF5BTImK0t>v)0 zh@M+$uJoEq3-f{RH775A>l}==6W?Xg=WlI^mUZI7s4AZ4_;7 zj~%DtyoCQM%r3>y%1KZ@0=)E(zaPK3cIDdbjcY07nS5)kPR8-BHx2{$%WxF+BHtTF z@xYCH?xv`}`^Cr`Zo7BGN26#QCaTc85_p%|=0=I@4O~wWihOq*$9;Fa?TuX@>D|zs zBp^SI-G@}dUbT>LJ=+{^cs6|>zbiRnxlEe+IR!dpv`8g=$4IKL4aVVU;PvZQ;!#*% zeH?LDTqwu784W^j6n!JQR1sC(DtazMR1#8nKP)FJA$9qIdZ`>gcyf-tVaW4(N<9Q4 z>?x|n&AYmBvwk_A41%>mFC2vfKUC=F3oAkBSK>hs5pOBX4@xnCt#Cdp#kuy->pvOk z@o=P&zE?_VEeHo=Fn;)C)OBy%TYopMQM?q~e47^lmzg4@x8zo6J*s6t(hw*4!>qp6$dD(!HB3;{! zgGpbLH=xmOF7KJz{h>D+M_#{%iPR4anv(%Z|JoR$r-l}g5M}6Vwflp(_87?`t7_~= zB6TvLCTtBN%KXS14XD<=zPH7hpLTG#tB-cQBs>o7`eo-d(LCZfyhh6+n2(&}K^P8` z@K?aqX#z$6I>&W4S9 z!e*uyeAui?YZUUU!(~f78u_Bou!qYvb)v=mlDJJW(5s6CAj(C_Ynr6pgnz@yE5>�zC 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 Ps@49FW+VZ4$)*1PX^dGP literal 0 HcmV?d00001 diff --git a/dist-newstyle/cache/source-hashes b/dist-newstyle/cache/source-hashes new file mode 100644 index 0000000000000000000000000000000000000000..6966adb617a96f6ac7c253c5bf744addf300b09e GIT binary patch literal 31975 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 literal 0 HcmV?d00001 diff --git a/hie.yaml b/hie.yaml index bfee1c0..3bf85fb 100644 --- a/hie.yaml +++ b/hie.yaml @@ -147,5 +147,23 @@ cradle: - path: "./rules/xla/sub/Paths_tensor_right.hs" component: "tensor-right:exe:rules-xla-sub" + - path: "./rules/taso/ewadd/Main.hs" + component: "tensor-right:exe:rules-taso-ewadd" + + - path: "./rules/taso/ewadd/Paths_tensor_right.hs" + component: "tensor-right:exe:rules-taso-ewadd" + + - path: "./rules/taso/ewmul/Main.hs" + component: "tensor-right:exe:rules-taso-ewmul" + + - path: "./rules/taso/ewmul/Paths_tensor_right.hs" + component: "tensor-right:exe:rules-taso-ewmul" + + - path: "./rules/taso/smul/Main.hs" + component: "tensor-right:exe:rules-taso-smul" + + - path: "./rules/taso/smul/Paths_tensor_right.hs" + component: "tensor-right:exe:rules-taso-smul" + - path: "./test" component: "tensor-right:test:spec" diff --git a/package.yaml b/package.yaml index a1d319c..d84a80c 100644 --- a/package.yaml +++ b/package.yaml @@ -189,6 +189,25 @@ executables: dependencies: tensor-right ghc-options: *exe-ghc-options default-extensions: *exe-extensions + # TASO Executables + rules-taso-ewadd: + source-dirs: rules/taso/ewadd + main: Main.hs + dependencies: tensor-right + ghc-options: *exe-ghc-options + default-extensions: *exe-extensions + rules-taso-ewmul: + source-dirs: rules/taso/ewmul + main: Main.hs + dependencies: tensor-right + ghc-options: *exe-ghc-options + default-extensions: *exe-extensions + rules-taso-smul: + source-dirs: rules/taso/smul + main: Main.hs + dependencies: tensor-right + ghc-options: *exe-ghc-options + default-extensions: *exe-extensions # Other Executables rules-debug: source-dirs: rules/debug diff --git a/rules/taso/ewadd/Main.hs b/rules/taso/ewadd/Main.hs new file mode 100644 index 0000000..b789619 --- /dev/null +++ b/rules/taso/ewadd/Main.hs @@ -0,0 +1,45 @@ +module Main (main) where + +import Grisette hiding ((-->)) +import TensorRight +import TensorRight.Internal.DSL.TASO (ewadd) + +rule01 :: forall a. NumRule a -- Verify desugaring +rule01 _ = do + rclass <- newRClass "rclass" + map <- newMap "map" rclass + tA <- newTensor @a "A" [rclass --> map] + tB <- newTensor @a "B" [rclass --> map] + lhs <- ewadd tA tB + rhs <- numBinOp Add tA tB + rewrite "ewadd(A, B) ⇒ Add(A, B)" lhs rhs + +rule02 :: forall a. NumRule a -- Associativity +rule02 _ = do + rclass <- newRClass "rclass" + map <- newMap "map" rclass + x <- newTensor @a "x" [rclass --> map] + y <- newTensor @a "t" [rclass --> map] + z <- newTensor @a "z" [rclass --> map] + lhs <- ewadd x $ ewadd y z + rhs <- ewadd (ewadd x y) z + rewrite "ewadd(x, ewadd(y, z)) ⇒ Add(ewadd(x, y), z)" lhs rhs + +rule03 :: forall a. NumRule a -- Verify commutative +rule03 _ = do + rclass <- newRClass "rclass" + map <- newMap "map" rclass + x <- newTensor @a "x" [rclass --> map] + y <- newTensor @a "y" [rclass --> map] + lhs <- ewadd x y + rhs <- ewadd y x + rewrite "ewadd(x, y) ⇒ ewadd(y, x)" lhs rhs + +main :: IO () +main = do + print "############################## rule01 ##############################" + verifyNumDSL rule01 + print "############################## rule02 ##############################" + verifyNumDSL rule02 + print "############################## rule03 ##############################" + verifyNumDSL rule03 \ No newline at end of file diff --git a/rules/taso/ewmul/Main.hs b/rules/taso/ewmul/Main.hs new file mode 100644 index 0000000..2a43e68 --- /dev/null +++ b/rules/taso/ewmul/Main.hs @@ -0,0 +1,58 @@ +module Main (main) where + +import Grisette hiding ((-->)) +import TensorRight +import TensorRight.Internal.DSL.TASO (ewadd, ewmul) + +rule01 :: forall a. NumRule a -- Verify desugaring +rule01 _ = do + rclass <- newRClass "rclass" + map <- newMap "map" rclass + tA <- newTensor @a "A" [rclass --> map] + tB <- newTensor @a "B" [rclass --> map] + lhs <- ewmul tA tB + rhs <- numBinOp Mul tA tB + rewrite "ewmul(A, B) ⇒ Mul(A, B)" lhs rhs + +rule02 :: forall a. NumRule a -- Associativity +rule02 _ = do + rclass <- newRClass "rclass" + map <- newMap "map" rclass + x <- newTensor @a "x" [rclass --> map] + y <- newTensor @a "t" [rclass --> map] + z <- newTensor @a "z" [rclass --> map] + lhs <- ewmul x $ ewmul y z + rhs <- ewmul (ewmul x y) z + rewrite "ewmul(x, ewmul(y, z)) ⇒ mul(ewmul(x, y), z)" lhs rhs + +rule03 :: forall a. NumRule a -- Verify commutative +rule03 _ = do + rclass <- newRClass "rclass" + map <- newMap "map" rclass + x <- newTensor @a "x" [rclass --> map] + y <- newTensor @a "y" [rclass --> map] + lhs <- ewmul x y + rhs <- ewmul y x + rewrite "ewmul(x, y) ⇒ ewmul(y, x)" lhs rhs + +rule04 :: forall a. NumRule a -- Verify distributivity +rule04 _ = do + rclass <- newRClass "rclass" + map <- newMap "map" rclass + x <- newTensor @a "x" [rclass --> map] + y <- newTensor @a "y" [rclass --> map] + z <- newTensor @a "z" [rclass --> map] + lhs <- ewmul (ewadd x y) z + rhs <- ewadd (ewmul x z) (ewmul y z) + rewrite "ewmul(ewadd(x, y), z) ⇒ ewadd(ewmul(x, z), ewmul(y, z))" lhs rhs + +main :: IO () +main = do + print "############################## rule01 ##############################" + verifyNumDSL rule01 + print "############################## rule02 ##############################" + verifyNumDSL rule02 + print "############################## rule03 ##############################" + verifyNumDSL rule03 + print "############################## rule04 ##############################" + verifyNumDSL rule04 \ No newline at end of file diff --git a/rules/taso/smul/Main.hs b/rules/taso/smul/Main.hs new file mode 100644 index 0000000..8b313a6 --- /dev/null +++ b/rules/taso/smul/Main.hs @@ -0,0 +1,33 @@ +module Main (main) where + +import Grisette hiding ((-->)) +import TensorRight +import TensorRight.Internal.DSL.TASO (smul) + +rule01 :: forall a. NumRule a -- Verify desugaring +rule01 _ = do + let s = ("s" :: a) + rclass <- newRClass "rclass" + map <- newMap "map" rclass + tA <- newTensor @a "A" [rclass --> map] + lhs <- smul tA s + rhs <- numBinScalarOp Mul tA s + rewrite "smul(A, s) ⇒ Mul(A, s)" lhs rhs + +rule02 :: forall a. NumRule a -- Verify associativity +rule02 _ = do + let w = ("w" :: a) + let y = ("y" :: a) + rclass <- newRClass "rclass" + map <- newMap "map" rclass + x <- newTensor @a "x" [rclass --> map] + lhs <- smul (smul x y) w + rhs <- smul x (y * w) -- Multiply the scalars first since smul (y, w) doesn't make sense + rewrite "smul(smul(x, y), w) ⇒ smul(x, smul(y, w))" lhs rhs + +main :: IO () +main = do + print "############################## rule01 ##############################" + verifyNumDSL rule01 + print "############################## rule02 ##############################" + verifyNumDSL rule02 \ No newline at end of file diff --git a/src/TensorRight/Internal/DSL/DSL.hs b/src/TensorRight/Internal/DSL/DSL.hs index 1d78ffb..e381133 100644 --- a/src/TensorRight/Internal/DSL/DSL.hs +++ b/src/TensorRight/Internal/DSL/DSL.hs @@ -82,6 +82,7 @@ module TensorRight.Internal.DSL.DSL checkSIMap, reshapeDegenerate, numTensorAssumption, + ExprInContext, ) where @@ -487,7 +488,7 @@ numBinScalarOp op lhs' rhs = do typeLhs <- typeOf lhs assert "lhs must be int or real" $ typeLhs `elem` [IntType, RealType] assert "lhs and rhs must have the same dtype" $ toDType rhs == typeLhs - return (shapeLhs, IntType) + return (shapeLhs, typeLhs) -- | Boolean binary operation. The lhs and rhs must have the same shape, and -- the dtype of lhs and rhs must be 'BoolType'. diff --git a/src/TensorRight/Internal/DSL/TASO.hs b/src/TensorRight/Internal/DSL/TASO.hs new file mode 100644 index 0000000..aeb8a1c --- /dev/null +++ b/src/TensorRight/Internal/DSL/TASO.hs @@ -0,0 +1,57 @@ +{-# LANGUAGE AllowAmbiguousTypes #-} +{-# LANGUAGE ConstraintKinds #-} +{-# LANGUAGE DerivingVia #-} +{-# LANGUAGE DuplicateRecordFields #-} +{-# LANGUAGE FlexibleContexts #-} +{-# LANGUAGE FlexibleInstances #-} +{-# LANGUAGE MultiParamTypeClasses #-} +{-# LANGUAGE RankNTypes #-} +{-# LANGUAGE ScopedTypeVariables #-} +{-# LANGUAGE TypeFamilies #-} + +module TensorRight.Internal.DSL.TASO + ( ewadd, + ewmul, + smul, + ) +where + +import TensorRight.Internal.Core.Tensor + ( BoolBinOp (And, Or), + DType (BoolType, IntType, RealType), + Elem (BoolElem, IntElem, RealElem), + NumBinOp (Add, Mul), + ToDType (toDType), + ToElem (toElem), + ) +import TensorRight.Internal.DSL.DSL (DSLContext, Expr, ExprInContext, numBinOp, numBinScalarOp) + +-- | TASO's ewadd operator. The lhs and rhs must have the same shape and the type must be either 'IntType' or 'RealType'. +ewadd :: + (ExprInContext lhs, ExprInContext rhs) => + -- | Lhs expression. + lhs -> + -- | Rhs expression. + rhs -> + DSLContext Expr +ewadd = numBinOp Add + +-- | TASO's ewmul operator. The lhs and rhs must have the same shape and the type must be either 'IntType' or 'RealType'. +ewmul :: + (ExprInContext lhs, ExprInContext rhs) => + -- | Lhs expression. + lhs -> + -- | Rhs expression. + rhs -> + DSLContext Expr +ewmul = numBinOp Mul + +-- | TASO's smul operator. The dtype of lhs must be 'IntType' or 'RealType'. +smul :: + (ExprInContext lhs, ToElem a, ToDType a) => + -- | Lhs expression. + lhs -> + -- | Rhs scalar. + a -> + DSLContext Expr +smul = numBinScalarOp Mul \ No newline at end of file diff --git a/tensor-right.cabal b/tensor-right.cabal index 351eae7..4dca77b 100644 --- a/tensor-right.cabal +++ b/tensor-right.cabal @@ -4,803 +4,894 @@ cabal-version: 1.12 -- -- see: https://github.com/sol/hpack -name: tensor-right -version: 0.1.0.0 -synopsis: Automated Verification of Tensor Graph Rewrites -description: TensorRight is an automatic tool that can be used to verify - Tensor Graph Rewrites. -license: Apache-2.0 -license-file: LICENSE -build-type: Simple +name: tensor-right +version: 0.1.0.0 +synopsis: Automated Verification of Tensor Graph Rewrites +description: TensorRight is an automatic tool that can be used to verify + Tensor Graph Rewrites. +license: Apache-2.0 +license-file: LICENSE +build-type: Simple library exposed-modules: - TensorRight - TensorRight.Internal.Core.Axis - TensorRight.Internal.Core.Linearization - TensorRight.Internal.Core.Tensor - TensorRight.Internal.Core.Tensor.TensorInt - TensorRight.Internal.Core.Tensor.Typed - TensorRight.Internal.Core.Verify - TensorRight.Internal.DSL.BoundInference - TensorRight.Internal.DSL.Condition - TensorRight.Internal.DSL.DSL - TensorRight.Internal.DSL.Eval - TensorRight.Internal.DSL.Expr - TensorRight.Internal.DSL.Identifier - TensorRight.Internal.DSL.Parameters - TensorRight.Internal.DSL.RelabelMap - TensorRight.Internal.DSL.Shape - TensorRight.Internal.DSL.Syntax - TensorRight.Internal.DSL.Verify - TensorRight.Internal.Util.Error - TensorRight.Internal.Util.Pretty + TensorRight + TensorRight.Internal.Core.Axis + TensorRight.Internal.Core.Linearization + TensorRight.Internal.Core.Tensor + TensorRight.Internal.Core.Tensor.TensorInt + TensorRight.Internal.Core.Tensor.Typed + TensorRight.Internal.Core.Verify + TensorRight.Internal.DSL.BoundInference + TensorRight.Internal.DSL.Condition + TensorRight.Internal.DSL.DSL + TensorRight.Internal.DSL.Eval + TensorRight.Internal.DSL.Expr + TensorRight.Internal.DSL.Identifier + TensorRight.Internal.DSL.Parameters + TensorRight.Internal.DSL.RelabelMap + TensorRight.Internal.DSL.Shape + TensorRight.Internal.DSL.Syntax + TensorRight.Internal.DSL.TASO + TensorRight.Internal.DSL.Verify + TensorRight.Internal.Util.Error + TensorRight.Internal.Util.Pretty other-modules: - Paths_tensor_right + Paths_tensor_right hs-source-dirs: - src + src ghc-options: -Wextra -Wcompat -Widentities -Wincomplete-record-updates -Wmissing-export-lists -Wmissing-home-modules -Wmissing-import-lists -Wpartial-fields -Wunused-type-patterns -Wno-x-partial -Wno-unrecognised-warning-flags build-depends: - base >=4.14 && <5 - , deepseq - , grisette ==0.11.* - , hashable - , mtl - , ordered-containers - , prettyprinter - , sbv - , template-haskell - , text - , unordered-containers + base >=4.14 && <5, + deepseq, + grisette ==0.11.*, + hashable, + mtl, + ordered-containers, + prettyprinter, + sbv, + template-haskell, + text, + unordered-containers default-language: Haskell2010 executable rules-debug main-is: Main.hs other-modules: - Paths_tensor_right + Paths_tensor_right hs-source-dirs: - rules/debug + rules/debug default-extensions: - DuplicateRecordFields - OverloadedStrings - TypeApplications - AllowAmbiguousTypes - ScopedTypeVariables - FlexibleContexts - RankNTypes + DuplicateRecordFields + OverloadedStrings + TypeApplications + AllowAmbiguousTypes + ScopedTypeVariables + FlexibleContexts + RankNTypes ghc-options: -threaded -rtsopts -with-rtsopts=-N build-depends: - base >=4.14 && <5 - , deepseq - , grisette ==0.11.* - , hashable - , mtl - , ordered-containers - , prettyprinter - , sbv - , template-haskell - , tensor-right - , text - , unordered-containers + base >=4.14 && <5, + deepseq, + grisette ==0.11.*, + hashable, + mtl, + ordered-containers, + prettyprinter, + sbv, + template-haskell, + tensor-right, + text, + unordered-containers + default-language: Haskell2010 + +executable rules-taso-ewadd + main-is: Main.hs + other-modules: + Paths_tensor_right + hs-source-dirs: + rules/taso/ewadd + default-extensions: + DuplicateRecordFields + OverloadedStrings + TypeApplications + AllowAmbiguousTypes + ScopedTypeVariables + FlexibleContexts + RankNTypes + ghc-options: -threaded -rtsopts -with-rtsopts=-N + build-depends: + base >=4.14 && <5, + deepseq, + grisette ==0.11.*, + hashable, + mtl, + ordered-containers, + prettyprinter, + sbv, + template-haskell, + tensor-right, + text, + unordered-containers + default-language: Haskell2010 + +executable rules-taso-ewmul + main-is: Main.hs + other-modules: + Paths_tensor_right + hs-source-dirs: + rules/taso/ewmul + default-extensions: + DuplicateRecordFields + OverloadedStrings + TypeApplications + AllowAmbiguousTypes + ScopedTypeVariables + FlexibleContexts + RankNTypes + ghc-options: -threaded -rtsopts -with-rtsopts=-N + build-depends: + base >=4.14 && <5, + deepseq, + grisette ==0.11.*, + hashable, + mtl, + ordered-containers, + prettyprinter, + sbv, + template-haskell, + tensor-right, + text, + unordered-containers + default-language: Haskell2010 + +executable rules-taso-smul + main-is: Main.hs + other-modules: + Paths_tensor_right + hs-source-dirs: + rules/taso/smul + default-extensions: + DuplicateRecordFields + OverloadedStrings + TypeApplications + AllowAmbiguousTypes + ScopedTypeVariables + FlexibleContexts + RankNTypes + ghc-options: -threaded -rtsopts -with-rtsopts=-N + build-depends: + base >=4.14 && <5, + deepseq, + grisette ==0.11.*, + hashable, + mtl, + ordered-containers, + prettyprinter, + sbv, + template-haskell, + tensor-right, + text, + unordered-containers default-language: Haskell2010 executable rules-xla-add main-is: Main.hs other-modules: - Paths_tensor_right + Paths_tensor_right hs-source-dirs: - rules/xla/add + rules/xla/add default-extensions: - DuplicateRecordFields - OverloadedStrings - TypeApplications - AllowAmbiguousTypes - ScopedTypeVariables - FlexibleContexts - RankNTypes + DuplicateRecordFields + OverloadedStrings + TypeApplications + AllowAmbiguousTypes + ScopedTypeVariables + FlexibleContexts + RankNTypes ghc-options: -threaded -rtsopts -with-rtsopts=-N build-depends: - base >=4.14 && <5 - , deepseq - , grisette ==0.11.* - , hashable - , mtl - , ordered-containers - , prettyprinter - , sbv - , template-haskell - , tensor-right - , text - , unordered-containers + base >=4.14 && <5, + deepseq, + grisette ==0.11.*, + hashable, + mtl, + ordered-containers, + prettyprinter, + sbv, + template-haskell, + tensor-right, + text, + unordered-containers default-language: Haskell2010 executable rules-xla-broadcast main-is: Main.hs other-modules: - Paths_tensor_right + Paths_tensor_right hs-source-dirs: - rules/xla/broadcast + rules/xla/broadcast default-extensions: - DuplicateRecordFields - OverloadedStrings - TypeApplications - AllowAmbiguousTypes - ScopedTypeVariables - FlexibleContexts - RankNTypes + DuplicateRecordFields + OverloadedStrings + TypeApplications + AllowAmbiguousTypes + ScopedTypeVariables + FlexibleContexts + RankNTypes ghc-options: -threaded -rtsopts -with-rtsopts=-N build-depends: - base >=4.14 && <5 - , deepseq - , grisette ==0.11.* - , hashable - , mtl - , ordered-containers - , prettyprinter - , sbv - , template-haskell - , tensor-right - , text - , unordered-containers + base >=4.14 && <5, + deepseq, + grisette ==0.11.*, + hashable, + mtl, + ordered-containers, + prettyprinter, + sbv, + template-haskell, + tensor-right, + text, + unordered-containers default-language: Haskell2010 executable rules-xla-clamp main-is: Main.hs other-modules: - Paths_tensor_right + Paths_tensor_right hs-source-dirs: - rules/xla/clamp + rules/xla/clamp default-extensions: - DuplicateRecordFields - OverloadedStrings - TypeApplications - AllowAmbiguousTypes - ScopedTypeVariables - FlexibleContexts - RankNTypes + DuplicateRecordFields + OverloadedStrings + TypeApplications + AllowAmbiguousTypes + ScopedTypeVariables + FlexibleContexts + RankNTypes ghc-options: -threaded -rtsopts -with-rtsopts=-N build-depends: - base >=4.14 && <5 - , deepseq - , grisette ==0.11.* - , hashable - , mtl - , ordered-containers - , prettyprinter - , sbv - , template-haskell - , tensor-right - , text - , unordered-containers + base >=4.14 && <5, + deepseq, + grisette ==0.11.*, + hashable, + mtl, + ordered-containers, + prettyprinter, + sbv, + template-haskell, + tensor-right, + text, + unordered-containers default-language: Haskell2010 executable rules-xla-compare main-is: Main.hs other-modules: - Paths_tensor_right + Paths_tensor_right hs-source-dirs: - rules/xla/compare + rules/xla/compare default-extensions: - DuplicateRecordFields - OverloadedStrings - TypeApplications - AllowAmbiguousTypes - ScopedTypeVariables - FlexibleContexts - RankNTypes + DuplicateRecordFields + OverloadedStrings + TypeApplications + AllowAmbiguousTypes + ScopedTypeVariables + FlexibleContexts + RankNTypes ghc-options: -threaded -rtsopts -with-rtsopts=-N build-depends: - base >=4.14 && <5 - , deepseq - , grisette ==0.11.* - , hashable - , mtl - , ordered-containers - , prettyprinter - , sbv - , template-haskell - , tensor-right - , text - , unordered-containers + base >=4.14 && <5, + deepseq, + grisette ==0.11.*, + hashable, + mtl, + ordered-containers, + prettyprinter, + sbv, + template-haskell, + tensor-right, + text, + unordered-containers default-language: Haskell2010 executable rules-xla-concat main-is: Main.hs other-modules: - Paths_tensor_right + Paths_tensor_right hs-source-dirs: - rules/xla/concat + rules/xla/concat default-extensions: - DuplicateRecordFields - OverloadedStrings - TypeApplications - AllowAmbiguousTypes - ScopedTypeVariables - FlexibleContexts - RankNTypes + DuplicateRecordFields + OverloadedStrings + TypeApplications + AllowAmbiguousTypes + ScopedTypeVariables + FlexibleContexts + RankNTypes ghc-options: -threaded -rtsopts -with-rtsopts=-N build-depends: - base >=4.14 && <5 - , deepseq - , grisette ==0.11.* - , hashable - , mtl - , ordered-containers - , prettyprinter - , sbv - , template-haskell - , tensor-right - , text - , unordered-containers + base >=4.14 && <5, + deepseq, + grisette ==0.11.*, + hashable, + mtl, + ordered-containers, + prettyprinter, + sbv, + template-haskell, + tensor-right, + text, + unordered-containers default-language: Haskell2010 executable rules-xla-conv main-is: Main.hs other-modules: - Paths_tensor_right + Paths_tensor_right hs-source-dirs: - rules/xla/conv + rules/xla/conv default-extensions: - DuplicateRecordFields - OverloadedStrings - TypeApplications - AllowAmbiguousTypes - ScopedTypeVariables - FlexibleContexts - RankNTypes + DuplicateRecordFields + OverloadedStrings + TypeApplications + AllowAmbiguousTypes + ScopedTypeVariables + FlexibleContexts + RankNTypes ghc-options: -threaded -rtsopts -with-rtsopts=-N build-depends: - base >=4.14 && <5 - , deepseq - , grisette ==0.11.* - , hashable - , mtl - , ordered-containers - , prettyprinter - , sbv - , template-haskell - , tensor-right - , text - , unordered-containers + base >=4.14 && <5, + deepseq, + grisette ==0.11.*, + hashable, + mtl, + ordered-containers, + prettyprinter, + sbv, + template-haskell, + tensor-right, + text, + unordered-containers default-language: Haskell2010 executable rules-xla-divmod main-is: Main.hs other-modules: - Paths_tensor_right + Paths_tensor_right hs-source-dirs: - rules/xla/divmod + rules/xla/divmod default-extensions: - DuplicateRecordFields - OverloadedStrings - TypeApplications - AllowAmbiguousTypes - ScopedTypeVariables - FlexibleContexts - RankNTypes + DuplicateRecordFields + OverloadedStrings + TypeApplications + AllowAmbiguousTypes + ScopedTypeVariables + FlexibleContexts + RankNTypes ghc-options: -threaded -rtsopts -with-rtsopts=-N build-depends: - base >=4.14 && <5 - , deepseq - , grisette ==0.11.* - , hashable - , mtl - , ordered-containers - , prettyprinter - , sbv - , template-haskell - , tensor-right - , text - , unordered-containers + base >=4.14 && <5, + deepseq, + grisette ==0.11.*, + hashable, + mtl, + ordered-containers, + prettyprinter, + sbv, + template-haskell, + tensor-right, + text, + unordered-containers default-language: Haskell2010 executable rules-xla-dot main-is: Main.hs other-modules: - Paths_tensor_right + Paths_tensor_right hs-source-dirs: - rules/xla/dot + rules/xla/dot default-extensions: - DuplicateRecordFields - OverloadedStrings - TypeApplications - AllowAmbiguousTypes - ScopedTypeVariables - FlexibleContexts - RankNTypes + DuplicateRecordFields + OverloadedStrings + TypeApplications + AllowAmbiguousTypes + ScopedTypeVariables + FlexibleContexts + RankNTypes ghc-options: -threaded -rtsopts -with-rtsopts=-N build-depends: - base >=4.14 && <5 - , deepseq - , grisette ==0.11.* - , hashable - , mtl - , ordered-containers - , prettyprinter - , sbv - , template-haskell - , tensor-right - , text - , unordered-containers + base >=4.14 && <5, + deepseq, + grisette ==0.11.*, + hashable, + mtl, + ordered-containers, + prettyprinter, + sbv, + template-haskell, + tensor-right, + text, + unordered-containers default-language: Haskell2010 executable rules-xla-dyslice main-is: Main.hs other-modules: - Paths_tensor_right + Paths_tensor_right hs-source-dirs: - rules/xla/dyslice + rules/xla/dyslice default-extensions: - DuplicateRecordFields - OverloadedStrings - TypeApplications - AllowAmbiguousTypes - ScopedTypeVariables - FlexibleContexts - RankNTypes + DuplicateRecordFields + OverloadedStrings + TypeApplications + AllowAmbiguousTypes + ScopedTypeVariables + FlexibleContexts + RankNTypes ghc-options: -threaded -rtsopts -with-rtsopts=-N build-depends: - base >=4.14 && <5 - , deepseq - , grisette ==0.11.* - , hashable - , mtl - , ordered-containers - , prettyprinter - , sbv - , template-haskell - , tensor-right - , text - , unordered-containers + base >=4.14 && <5, + deepseq, + grisette ==0.11.*, + hashable, + mtl, + ordered-containers, + prettyprinter, + sbv, + template-haskell, + tensor-right, + text, + unordered-containers default-language: Haskell2010 executable rules-xla-dyupslice main-is: Main.hs other-modules: - Paths_tensor_right + Paths_tensor_right hs-source-dirs: - rules/xla/dyupslice + rules/xla/dyupslice default-extensions: - DuplicateRecordFields - OverloadedStrings - TypeApplications - AllowAmbiguousTypes - ScopedTypeVariables - FlexibleContexts - RankNTypes + DuplicateRecordFields + OverloadedStrings + TypeApplications + AllowAmbiguousTypes + ScopedTypeVariables + FlexibleContexts + RankNTypes ghc-options: -threaded -rtsopts -with-rtsopts=-N build-depends: - base >=4.14 && <5 - , deepseq - , grisette ==0.11.* - , hashable - , mtl - , ordered-containers - , prettyprinter - , sbv - , template-haskell - , tensor-right - , text - , unordered-containers + base >=4.14 && <5, + deepseq, + grisette ==0.11.*, + hashable, + mtl, + ordered-containers, + prettyprinter, + sbv, + template-haskell, + tensor-right, + text, + unordered-containers default-language: Haskell2010 executable rules-xla-generalize main-is: Main.hs other-modules: - Paths_tensor_right + Paths_tensor_right hs-source-dirs: - rules/xla/generalize + rules/xla/generalize default-extensions: - DuplicateRecordFields - OverloadedStrings - TypeApplications - AllowAmbiguousTypes - ScopedTypeVariables - FlexibleContexts - RankNTypes + DuplicateRecordFields + OverloadedStrings + TypeApplications + AllowAmbiguousTypes + ScopedTypeVariables + FlexibleContexts + RankNTypes ghc-options: -threaded -rtsopts -with-rtsopts=-N build-depends: - base >=4.14 && <5 - , deepseq - , grisette ==0.11.* - , hashable - , mtl - , ordered-containers - , prettyprinter - , sbv - , template-haskell - , tensor-right - , text - , unordered-containers + base >=4.14 && <5, + deepseq, + grisette ==0.11.*, + hashable, + mtl, + ordered-containers, + prettyprinter, + sbv, + template-haskell, + tensor-right, + text, + unordered-containers default-language: Haskell2010 executable rules-xla-iota main-is: Main.hs other-modules: - Paths_tensor_right + Paths_tensor_right hs-source-dirs: - rules/xla/iota + rules/xla/iota default-extensions: - DuplicateRecordFields - OverloadedStrings - TypeApplications - AllowAmbiguousTypes - ScopedTypeVariables - FlexibleContexts - RankNTypes + DuplicateRecordFields + OverloadedStrings + TypeApplications + AllowAmbiguousTypes + ScopedTypeVariables + FlexibleContexts + RankNTypes ghc-options: -threaded -rtsopts -with-rtsopts=-N build-depends: - base >=4.14 && <5 - , deepseq - , grisette ==0.11.* - , hashable - , mtl - , ordered-containers - , prettyprinter - , sbv - , template-haskell - , tensor-right - , text - , unordered-containers + base >=4.14 && <5, + deepseq, + grisette ==0.11.*, + hashable, + mtl, + ordered-containers, + prettyprinter, + sbv, + template-haskell, + tensor-right, + text, + unordered-containers default-language: Haskell2010 executable rules-xla-logical main-is: Main.hs other-modules: - Paths_tensor_right + Paths_tensor_right hs-source-dirs: - rules/xla/logical + rules/xla/logical default-extensions: - DuplicateRecordFields - OverloadedStrings - TypeApplications - AllowAmbiguousTypes - ScopedTypeVariables - FlexibleContexts - RankNTypes + DuplicateRecordFields + OverloadedStrings + TypeApplications + AllowAmbiguousTypes + ScopedTypeVariables + FlexibleContexts + RankNTypes ghc-options: -threaded -rtsopts -with-rtsopts=-N build-depends: - base >=4.14 && <5 - , deepseq - , grisette ==0.11.* - , hashable - , mtl - , ordered-containers - , prettyprinter - , sbv - , template-haskell - , tensor-right - , text - , unordered-containers + base >=4.14 && <5, + deepseq, + grisette ==0.11.*, + hashable, + mtl, + ordered-containers, + prettyprinter, + sbv, + template-haskell, + tensor-right, + text, + unordered-containers default-language: Haskell2010 executable rules-xla-max main-is: Main.hs other-modules: - Paths_tensor_right + Paths_tensor_right hs-source-dirs: - rules/xla/max + rules/xla/max default-extensions: - DuplicateRecordFields - OverloadedStrings - TypeApplications - AllowAmbiguousTypes - ScopedTypeVariables - FlexibleContexts - RankNTypes + DuplicateRecordFields + OverloadedStrings + TypeApplications + AllowAmbiguousTypes + ScopedTypeVariables + FlexibleContexts + RankNTypes ghc-options: -threaded -rtsopts -with-rtsopts=-N build-depends: - base >=4.14 && <5 - , deepseq - , grisette ==0.11.* - , hashable - , mtl - , ordered-containers - , prettyprinter - , sbv - , template-haskell - , tensor-right - , text - , unordered-containers + base >=4.14 && <5, + deepseq, + grisette ==0.11.*, + hashable, + mtl, + ordered-containers, + prettyprinter, + sbv, + template-haskell, + tensor-right, + text, + unordered-containers default-language: Haskell2010 executable rules-xla-mul main-is: Main.hs other-modules: - Paths_tensor_right + Paths_tensor_right hs-source-dirs: - rules/xla/mul + rules/xla/mul default-extensions: - DuplicateRecordFields - OverloadedStrings - TypeApplications - AllowAmbiguousTypes - ScopedTypeVariables - FlexibleContexts - RankNTypes + DuplicateRecordFields + OverloadedStrings + TypeApplications + AllowAmbiguousTypes + ScopedTypeVariables + FlexibleContexts + RankNTypes ghc-options: -threaded -rtsopts -with-rtsopts=-N build-depends: - base >=4.14 && <5 - , deepseq - , grisette ==0.11.* - , hashable - , mtl - , ordered-containers - , prettyprinter - , sbv - , template-haskell - , tensor-right - , text - , unordered-containers + base >=4.14 && <5, + deepseq, + grisette ==0.11.*, + hashable, + mtl, + ordered-containers, + prettyprinter, + sbv, + template-haskell, + tensor-right, + text, + unordered-containers default-language: Haskell2010 executable rules-xla-not main-is: Main.hs other-modules: - Paths_tensor_right + Paths_tensor_right hs-source-dirs: - rules/xla/not + rules/xla/not default-extensions: - DuplicateRecordFields - OverloadedStrings - TypeApplications - AllowAmbiguousTypes - ScopedTypeVariables - FlexibleContexts - RankNTypes + DuplicateRecordFields + OverloadedStrings + TypeApplications + AllowAmbiguousTypes + ScopedTypeVariables + FlexibleContexts + RankNTypes ghc-options: -threaded -rtsopts -with-rtsopts=-N build-depends: - base >=4.14 && <5 - , deepseq - , grisette ==0.11.* - , hashable - , mtl - , ordered-containers - , prettyprinter - , sbv - , template-haskell - , tensor-right - , text - , unordered-containers + base >=4.14 && <5, + deepseq, + grisette ==0.11.*, + hashable, + mtl, + ordered-containers, + prettyprinter, + sbv, + template-haskell, + tensor-right, + text, + unordered-containers default-language: Haskell2010 executable rules-xla-pad main-is: Main.hs other-modules: - Paths_tensor_right + Paths_tensor_right hs-source-dirs: - rules/xla/pad + rules/xla/pad default-extensions: - DuplicateRecordFields - OverloadedStrings - TypeApplications - AllowAmbiguousTypes - ScopedTypeVariables - FlexibleContexts - RankNTypes + DuplicateRecordFields + OverloadedStrings + TypeApplications + AllowAmbiguousTypes + ScopedTypeVariables + FlexibleContexts + RankNTypes ghc-options: -threaded -rtsopts -with-rtsopts=-N build-depends: - base >=4.14 && <5 - , deepseq - , grisette ==0.11.* - , hashable - , mtl - , ordered-containers - , prettyprinter - , sbv - , template-haskell - , tensor-right - , text - , unordered-containers + base >=4.14 && <5, + deepseq, + grisette ==0.11.*, + hashable, + mtl, + ordered-containers, + prettyprinter, + sbv, + template-haskell, + tensor-right, + text, + unordered-containers default-language: Haskell2010 executable rules-xla-reduce main-is: Main.hs other-modules: - Paths_tensor_right + Paths_tensor_right hs-source-dirs: - rules/xla/reduce + rules/xla/reduce default-extensions: - DuplicateRecordFields - OverloadedStrings - TypeApplications - AllowAmbiguousTypes - ScopedTypeVariables - FlexibleContexts - RankNTypes + DuplicateRecordFields + OverloadedStrings + TypeApplications + AllowAmbiguousTypes + ScopedTypeVariables + FlexibleContexts + RankNTypes ghc-options: -threaded -rtsopts -with-rtsopts=-N build-depends: - base >=4.14 && <5 - , deepseq - , grisette ==0.11.* - , hashable - , mtl - , ordered-containers - , prettyprinter - , sbv - , template-haskell - , tensor-right - , text - , unordered-containers + base >=4.14 && <5, + deepseq, + grisette ==0.11.*, + hashable, + mtl, + ordered-containers, + prettyprinter, + sbv, + template-haskell, + tensor-right, + text, + unordered-containers default-language: Haskell2010 executable rules-xla-relabel main-is: Main.hs other-modules: - Paths_tensor_right + Paths_tensor_right hs-source-dirs: - rules/xla/relabel + rules/xla/relabel default-extensions: - DuplicateRecordFields - OverloadedStrings - TypeApplications - AllowAmbiguousTypes - ScopedTypeVariables - FlexibleContexts - RankNTypes + DuplicateRecordFields + OverloadedStrings + TypeApplications + AllowAmbiguousTypes + ScopedTypeVariables + FlexibleContexts + RankNTypes ghc-options: -threaded -rtsopts -with-rtsopts=-N build-depends: - base >=4.14 && <5 - , deepseq - , grisette ==0.11.* - , hashable - , mtl - , ordered-containers - , prettyprinter - , sbv - , template-haskell - , tensor-right - , text - , unordered-containers + base >=4.14 && <5, + deepseq, + grisette ==0.11.*, + hashable, + mtl, + ordered-containers, + prettyprinter, + sbv, + template-haskell, + tensor-right, + text, + unordered-containers default-language: Haskell2010 executable rules-xla-reverse main-is: Main.hs other-modules: - Paths_tensor_right + Paths_tensor_right hs-source-dirs: - rules/xla/reverse + rules/xla/reverse default-extensions: - DuplicateRecordFields - OverloadedStrings - TypeApplications - AllowAmbiguousTypes - ScopedTypeVariables - FlexibleContexts - RankNTypes + DuplicateRecordFields + OverloadedStrings + TypeApplications + AllowAmbiguousTypes + ScopedTypeVariables + FlexibleContexts + RankNTypes ghc-options: -threaded -rtsopts -with-rtsopts=-N build-depends: - base >=4.14 && <5 - , deepseq - , grisette ==0.11.* - , hashable - , mtl - , ordered-containers - , prettyprinter - , sbv - , template-haskell - , tensor-right - , text - , unordered-containers + base >=4.14 && <5, + deepseq, + grisette ==0.11.*, + hashable, + mtl, + ordered-containers, + prettyprinter, + sbv, + template-haskell, + tensor-right, + text, + unordered-containers default-language: Haskell2010 executable rules-xla-select main-is: Main.hs other-modules: - Paths_tensor_right + Paths_tensor_right hs-source-dirs: - rules/xla/select + rules/xla/select default-extensions: - DuplicateRecordFields - OverloadedStrings - TypeApplications - AllowAmbiguousTypes - ScopedTypeVariables - FlexibleContexts - RankNTypes + DuplicateRecordFields + OverloadedStrings + TypeApplications + AllowAmbiguousTypes + ScopedTypeVariables + FlexibleContexts + RankNTypes ghc-options: -threaded -rtsopts -with-rtsopts=-N build-depends: - base >=4.14 && <5 - , deepseq - , grisette ==0.11.* - , hashable - , mtl - , ordered-containers - , prettyprinter - , sbv - , template-haskell - , tensor-right - , text - , unordered-containers + base >=4.14 && <5, + deepseq, + grisette ==0.11.*, + hashable, + mtl, + ordered-containers, + prettyprinter, + sbv, + template-haskell, + tensor-right, + text, + unordered-containers default-language: Haskell2010 executable rules-xla-slice main-is: Main.hs other-modules: - Paths_tensor_right + Paths_tensor_right hs-source-dirs: - rules/xla/slice + rules/xla/slice default-extensions: - DuplicateRecordFields - OverloadedStrings - TypeApplications - AllowAmbiguousTypes - ScopedTypeVariables - FlexibleContexts - RankNTypes + DuplicateRecordFields + OverloadedStrings + TypeApplications + AllowAmbiguousTypes + ScopedTypeVariables + FlexibleContexts + RankNTypes ghc-options: -threaded -rtsopts -with-rtsopts=-N build-depends: - base >=4.14 && <5 - , deepseq - , grisette ==0.11.* - , hashable - , mtl - , ordered-containers - , prettyprinter - , sbv - , template-haskell - , tensor-right - , text - , unordered-containers + base >=4.14 && <5, + deepseq, + grisette ==0.11.*, + hashable, + mtl, + ordered-containers, + prettyprinter, + sbv, + template-haskell, + tensor-right, + text, + unordered-containers default-language: Haskell2010 executable rules-xla-sub main-is: Main.hs other-modules: - Paths_tensor_right + Paths_tensor_right hs-source-dirs: - rules/xla/sub + rules/xla/sub default-extensions: - DuplicateRecordFields - OverloadedStrings - TypeApplications - AllowAmbiguousTypes - ScopedTypeVariables - FlexibleContexts - RankNTypes + DuplicateRecordFields + OverloadedStrings + TypeApplications + AllowAmbiguousTypes + ScopedTypeVariables + FlexibleContexts + RankNTypes ghc-options: -threaded -rtsopts -with-rtsopts=-N build-depends: - base >=4.14 && <5 - , deepseq - , grisette ==0.11.* - , hashable - , mtl - , ordered-containers - , prettyprinter - , sbv - , template-haskell - , tensor-right - , text - , unordered-containers + base >=4.14 && <5, + deepseq, + grisette ==0.11.*, + hashable, + mtl, + ordered-containers, + prettyprinter, + sbv, + template-haskell, + tensor-right, + text, + unordered-containers default-language: Haskell2010 test-suite spec type: exitcode-stdio-1.0 main-is: Main.hs other-modules: - Core.LinearizationTest - Core.TensorTest - TestUtil - Paths_tensor_right + Core.LinearizationTest + Core.TensorTest + TestUtil + Paths_tensor_right hs-source-dirs: - test + test ghc-options: -threaded -rtsopts -with-rtsopts=-N build-depends: - HUnit >=1.6 - , QuickCheck - , base >=4.14 && <5 - , deepseq - , grisette ==0.11.* - , hashable - , mtl - , ordered-containers - , prettyprinter - , sbv - , template-haskell - , tensor-right - , test-framework >=0.8.2 && <0.9 - , test-framework-hunit >=0.3.0.2 && <0.4 - , test-framework-quickcheck2 >=0.3.0.5 && <0.4 - , text - , unordered-containers + HUnit >=1.6, + QuickCheck, + base >=4.14 && <5, + deepseq, + grisette ==0.11.*, + hashable, + mtl, + ordered-containers, + prettyprinter, + sbv, + template-haskell, + tensor-right, + test-framework >=0.8.2 && <0.9, + test-framework-hunit >=0.3.0.2 && <0.4, + test-framework-quickcheck2 >=0.3.0.5 && <0.4, + text, + unordered-containers default-language: Haskell2010 From c9792695eafa2295bd880ee28e265aa8b0c0cd3a Mon Sep 17 00:00:00 2001 From: lexu27 Date: Fri, 15 Aug 2025 09:05:18 -0700 Subject: [PATCH 02/25] Added associativity and distributive operator properties to smul --- rules/taso/smul/Main.hs | 30 ++++++++++++++++++++++++++-- src/TensorRight/Internal/DSL/TASO.hs | 2 +- 2 files changed, 29 insertions(+), 3 deletions(-) diff --git a/rules/taso/smul/Main.hs b/rules/taso/smul/Main.hs index 8b313a6..8372fc6 100644 --- a/rules/taso/smul/Main.hs +++ b/rules/taso/smul/Main.hs @@ -2,7 +2,7 @@ module Main (main) where import Grisette hiding ((-->)) import TensorRight -import TensorRight.Internal.DSL.TASO (smul) +import TensorRight.Internal.DSL.TASO (ewadd, ewmul, smul) rule01 :: forall a. NumRule a -- Verify desugaring rule01 _ = do @@ -25,9 +25,35 @@ rule02 _ = do rhs <- smul x (y * w) -- Multiply the scalars first since smul (y, w) doesn't make sense rewrite "smul(smul(x, y), w) ⇒ smul(x, smul(y, w))" lhs rhs +rule03 :: forall a. NumRule a -- Distributivity +rule03 _ = do + let w = ("w" :: a) + rclass <- newRClass "rclass" + map <- newMap "map" rclass + x <- newTensor @a "x" [rclass --> map] + y <- newTensor @a "y" [rclass --> map] + lhs <- smul (ewadd x y) w + rhs <- ewadd (smul x w) (smul y w) + rewrite "smul(ewadd(x, y), w) ⇒ ewadd(smul(x, w), smul(y, w))" lhs rhs + +rule04 :: forall a. NumRule a -- Operator commutativity +rule04 _ = do + let w = ("w" :: a) + rclass <- newRClass "rclass" + map <- newMap "map" rclass + x <- newTensor @a "x" [rclass --> map] + y <- newTensor @a "y" [rclass --> map] + lhs <- smul (ewmul x y) w + rhs <- ewmul x (smul y w) + rewrite "smul(ewmul(x, y), w) ⇒ ewmul(x, smul(y, w))" lhs rhs + main :: IO () main = do print "############################## rule01 ##############################" verifyNumDSL rule01 print "############################## rule02 ##############################" - verifyNumDSL rule02 \ No newline at end of file + verifyNumDSL rule02 + print "############################## rule03 ##############################" + verifyNumDSL rule03 + print "############################## rule04 ##############################" + verifyNumDSL rule04 \ No newline at end of file diff --git a/src/TensorRight/Internal/DSL/TASO.hs b/src/TensorRight/Internal/DSL/TASO.hs index aeb8a1c..db2d71e 100644 --- a/src/TensorRight/Internal/DSL/TASO.hs +++ b/src/TensorRight/Internal/DSL/TASO.hs @@ -54,4 +54,4 @@ smul :: -- | Rhs scalar. a -> DSLContext Expr -smul = numBinScalarOp Mul \ No newline at end of file +smul = numBinScalarOp Mul From 34aa319fc85ac9feb28dceaff6a8c3bb9e2f580c Mon Sep 17 00:00:00 2001 From: lexu27 Date: Fri, 15 Aug 2025 10:43:15 -0700 Subject: [PATCH 03/25] Finished TASO Relu --- hie.yaml | 6 ++++++ package.yaml | 6 ++++++ rules/taso/relu/Main.hs | 24 ++++++++++++++++++++++ src/TensorRight/Internal/DSL/TASO.hs | 23 ++++++++++++--------- tensor-right.cabal | 30 ++++++++++++++++++++++++++++ 5 files changed, 80 insertions(+), 9 deletions(-) create mode 100644 rules/taso/relu/Main.hs diff --git a/hie.yaml b/hie.yaml index 3bf85fb..67da438 100644 --- a/hie.yaml +++ b/hie.yaml @@ -165,5 +165,11 @@ cradle: - path: "./rules/taso/smul/Paths_tensor_right.hs" component: "tensor-right:exe:rules-taso-smul" + - path: "./rules/taso/relu/Main.hs" + component: "tensor-right:exe:rules-taso-relu" + + - path: "./rules/taso/relu/Paths_tensor_right.hs" + component: "tensor-right:exe:rules-taso-relu" + - path: "./test" component: "tensor-right:test:spec" diff --git a/package.yaml b/package.yaml index d84a80c..0a406b9 100644 --- a/package.yaml +++ b/package.yaml @@ -208,6 +208,12 @@ executables: dependencies: tensor-right ghc-options: *exe-ghc-options default-extensions: *exe-extensions + rules-taso-relu: + source-dirs: rules/taso/relu + main: Main.hs + dependencies: tensor-right + ghc-options: *exe-ghc-options + default-extensions: *exe-extensions # Other Executables rules-debug: source-dirs: rules/debug diff --git a/rules/taso/relu/Main.hs b/rules/taso/relu/Main.hs new file mode 100644 index 0000000..154e068 --- /dev/null +++ b/rules/taso/relu/Main.hs @@ -0,0 +1,24 @@ +import Grisette hiding ((-->)) +import TensorRight +import TensorRight.Internal.DSL.TASO (relu) + +rule01 :: forall a. NumRule a -- Verify desugaring +rule01 _ = do + rclass <- newRClass "rclass" + map <- newMap "map" rclass + tA <- newTensor @a "A" [rclass --> map] + lhs <- relu @a tA + rhs <- clampScalar @a 0 tA posInf + rewrite "relu(A) ⇒ Clamp(0, A, inf)" lhs rhs + +main :: IO () +main = do + print "############################## rule01 ##############################" + verifyNumDSL rule01 + +-- print "############################## rule02 ##############################" +-- verifyNumDSL rule02 +-- print "############################## rule03 ##############################" +-- verifyNumDSL rule03 +-- print "############################## rule04 ##############################" +-- verifyNumDSL rule04 \ No newline at end of file diff --git a/src/TensorRight/Internal/DSL/TASO.hs b/src/TensorRight/Internal/DSL/TASO.hs index db2d71e..2f630c8 100644 --- a/src/TensorRight/Internal/DSL/TASO.hs +++ b/src/TensorRight/Internal/DSL/TASO.hs @@ -7,24 +7,20 @@ {-# LANGUAGE MultiParamTypeClasses #-} {-# LANGUAGE RankNTypes #-} {-# LANGUAGE ScopedTypeVariables #-} +{-# LANGUAGE TypeApplications #-} {-# LANGUAGE TypeFamilies #-} module TensorRight.Internal.DSL.TASO ( ewadd, ewmul, smul, + relu, ) where -import TensorRight.Internal.Core.Tensor - ( BoolBinOp (And, Or), - DType (BoolType, IntType, RealType), - Elem (BoolElem, IntElem, RealElem), - NumBinOp (Add, Mul), - ToDType (toDType), - ToElem (toElem), - ) -import TensorRight.Internal.DSL.DSL (DSLContext, Expr, ExprInContext, numBinOp, numBinScalarOp) +import TensorRight (NumBinOp (Add, Mul), ToElem, posInf) +import TensorRight.Internal.Core.Tensor (ToDType) +import TensorRight.Internal.DSL.DSL (DSLContext, Expr, ExprInContext, ValidNum, clampScalar, numBinOp, numBinScalarOp) -- | TASO's ewadd operator. The lhs and rhs must have the same shape and the type must be either 'IntType' or 'RealType'. ewadd :: @@ -55,3 +51,12 @@ smul :: a -> DSLContext Expr smul = numBinScalarOp Mul + +-- | TASO's relu operator +relu :: + forall a lhs. + (ExprInContext lhs, ValidNum a) => + -- | The tensor to clamp + lhs -> + DSLContext Expr +relu e = clampScalar @a 0 e posInf \ No newline at end of file diff --git a/tensor-right.cabal b/tensor-right.cabal index 4dca77b..908cec4 100644 --- a/tensor-right.cabal +++ b/tensor-right.cabal @@ -145,6 +145,36 @@ executable rules-taso-ewmul unordered-containers default-language: Haskell2010 +executable rules-taso-relu + main-is: Main.hs + other-modules: + Paths_tensor_right + hs-source-dirs: + rules/taso/relu + default-extensions: + DuplicateRecordFields + OverloadedStrings + TypeApplications + AllowAmbiguousTypes + ScopedTypeVariables + FlexibleContexts + RankNTypes + ghc-options: -threaded -rtsopts -with-rtsopts=-N + build-depends: + base >=4.14 && <5, + deepseq, + grisette ==0.11.*, + hashable, + mtl, + ordered-containers, + prettyprinter, + sbv, + template-haskell, + tensor-right, + text, + unordered-containers + default-language: Haskell2010 + executable rules-taso-smul main-is: Main.hs other-modules: From a8a2103adb0f7c8bd6b2cc602ab3ecd8b5e9e136 Mon Sep 17 00:00:00 2001 From: lexu27 Date: Fri, 15 Aug 2025 20:16:01 -0700 Subject: [PATCH 04/25] finished concat rules --- hie.yaml | 6 ++++++ package.yaml | 6 ++++++ rules/taso/relu/Main.hs | 9 +-------- src/TensorRight/Internal/DSL/TASO.hs | 21 ++++++++++++++++--- tensor-right.cabal | 30 ++++++++++++++++++++++++++++ 5 files changed, 61 insertions(+), 11 deletions(-) diff --git a/hie.yaml b/hie.yaml index 67da438..245ca10 100644 --- a/hie.yaml +++ b/hie.yaml @@ -171,5 +171,11 @@ cradle: - path: "./rules/taso/relu/Paths_tensor_right.hs" component: "tensor-right:exe:rules-taso-relu" + - path: "./rules/taso/concat/Main.hs" + component: "tensor-right:exe:rules-taso-concat" + + - path: "./rules/taso/concat/Paths_tensor_right.hs" + component: "tensor-right:exe:rules-taso-concat" + - path: "./test" component: "tensor-right:test:spec" diff --git a/package.yaml b/package.yaml index 0a406b9..3727b97 100644 --- a/package.yaml +++ b/package.yaml @@ -214,6 +214,12 @@ executables: dependencies: tensor-right ghc-options: *exe-ghc-options default-extensions: *exe-extensions + rules-taso-concat: + source-dirs: rules/taso/concat + main: Main.hs + dependencies: tensor-right + ghc-options: *exe-ghc-options + default-extensions: *exe-extensions # Other Executables rules-debug: source-dirs: rules/debug diff --git a/rules/taso/relu/Main.hs b/rules/taso/relu/Main.hs index 154e068..d344306 100644 --- a/rules/taso/relu/Main.hs +++ b/rules/taso/relu/Main.hs @@ -14,11 +14,4 @@ rule01 _ = do main :: IO () main = do print "############################## rule01 ##############################" - verifyNumDSL rule01 - --- print "############################## rule02 ##############################" --- verifyNumDSL rule02 --- print "############################## rule03 ##############################" --- verifyNumDSL rule03 --- print "############################## rule04 ##############################" --- verifyNumDSL rule04 \ No newline at end of file + verifyNumDSL rule01 \ No newline at end of file diff --git a/src/TensorRight/Internal/DSL/TASO.hs b/src/TensorRight/Internal/DSL/TASO.hs index 2f630c8..da179c1 100644 --- a/src/TensorRight/Internal/DSL/TASO.hs +++ b/src/TensorRight/Internal/DSL/TASO.hs @@ -9,18 +9,21 @@ {-# LANGUAGE ScopedTypeVariables #-} {-# LANGUAGE TypeApplications #-} {-# LANGUAGE TypeFamilies #-} +{-# OPTIONS_GHC -Wno-missing-import-lists #-} module TensorRight.Internal.DSL.TASO ( ewadd, ewmul, smul, relu, + concat, ) where -import TensorRight (NumBinOp (Add, Mul), ToElem, posInf) +import TensorRight (NumBinOp (Add, Mul), ToElem, concatTensor, posInf) import TensorRight.Internal.Core.Tensor (ToDType) -import TensorRight.Internal.DSL.DSL (DSLContext, Expr, ExprInContext, ValidNum, clampScalar, numBinOp, numBinScalarOp) +import TensorRight.Internal.DSL.DSL (DSLContext, Expr, ExprInContext, RClassRef, ValidNum, clampScalar, numBinOp, numBinScalarOp) +import Prelude hiding (concat) -- | TASO's ewadd operator. The lhs and rhs must have the same shape and the type must be either 'IntType' or 'RealType'. ewadd :: @@ -59,4 +62,16 @@ relu :: -- | The tensor to clamp lhs -> DSLContext Expr -relu e = clampScalar @a 0 e posInf \ No newline at end of file +relu e = clampScalar @a 0 e posInf + +-- | TASO's concat operator +concat :: + (ExprInContext lhs, ExprInContext rhs) => + -- | The aggregated-axis to concat on. + RClassRef -> + -- | The left-hand side tensor. + lhs -> + -- | The right-hand side tensor. + rhs -> + DSLContext Expr +concat axis lhs' rhs' = concatTensor lhs' rhs' axis \ No newline at end of file diff --git a/tensor-right.cabal b/tensor-right.cabal index 908cec4..73b155b 100644 --- a/tensor-right.cabal +++ b/tensor-right.cabal @@ -85,6 +85,36 @@ executable rules-debug unordered-containers default-language: Haskell2010 +executable rules-taso-concat + main-is: Main.hs + other-modules: + Paths_tensor_right + hs-source-dirs: + rules/taso/concat + default-extensions: + DuplicateRecordFields + OverloadedStrings + TypeApplications + AllowAmbiguousTypes + ScopedTypeVariables + FlexibleContexts + RankNTypes + ghc-options: -threaded -rtsopts -with-rtsopts=-N + build-depends: + base >=4.14 && <5, + deepseq, + grisette ==0.11.*, + hashable, + mtl, + ordered-containers, + prettyprinter, + sbv, + template-haskell, + tensor-right, + text, + unordered-containers + default-language: Haskell2010 + executable rules-taso-ewadd main-is: Main.hs other-modules: From 60c282e4060442a2611f5093d7f41d5a79100d0e Mon Sep 17 00:00:00 2001 From: lexu27 Date: Fri, 15 Aug 2025 22:21:27 -0700 Subject: [PATCH 05/25] added geometry rule for concat --- rules/taso/concat/Main.hs | 135 +++++++++++++++++++++++++++ src/TensorRight/Internal/DSL/TASO.hs | 13 ++- 2 files changed, 147 insertions(+), 1 deletion(-) create mode 100644 rules/taso/concat/Main.hs diff --git a/rules/taso/concat/Main.hs b/rules/taso/concat/Main.hs new file mode 100644 index 0000000..fc006fd --- /dev/null +++ b/rules/taso/concat/Main.hs @@ -0,0 +1,135 @@ +{-# OPTIONS_GHC -Wno-missing-import-lists #-} + +import Grisette hiding ((-->)) +import TensorRight +import TensorRight.Internal.DSL.TASO (concat, ewadd, ewmul, relu, smul) +import Prelude hiding (concat) + +desugarOneRole :: forall a. NumRule a -- Concate with only one rclass +desugarOneRole _ = do + r <- newRClass "r" + s <- newMap "s" r + a <- newTensor @a "A" [r --> s] + b <- newTensor @a "B" [r --> s] + let d = ByRClass r + lhs <- concat d a b + rhs <- concatTensor a b d + rewrite "concat(d, A, B) ⇒ Concatenate((A, B), d)" lhs rhs + +desugarMultiRole :: forall a. NumRule a -- Concatenate with multiple Rclasses +desugarMultiRole _ = do + [batch, cat, spatial] <- newRClasses ["batch", "cat", "spatial"] + bS <- newMap "bS" batch + cS <- newMap "cS" cat + sS <- newMap "sS" spatial + a <- newTensor @a "A" [batch --> bS, cat --> cS, spatial --> sS] + b <- newTensor @a "B" [batch --> bS, cat --> cS, spatial --> sS] + let d = ByRClass cat + lhs <- concat d a b + rhs <- concatTensor a b d + rewrite "concat(d, A, B) ⇒ Concatenate((A, B), d)" lhs rhs + +desugarLabelledCopy :: forall a. NumRule a -- Concatenate with duplicate RClasses +desugarLabelledCopy _ = do + r <- newRClass "r" + [sL, sR] <- newMaps ["sL", "sR"] r + a <- newTensor @a "A" [r --> sL @@ "L", r --> sR @@ "R"] + b <- newTensor @a "B" [r --> sL @@ "L", r --> sR @@ "R"] + let d = ByLabel "R" + lhs <- concat d a b + rhs <- concatTensor a b d + rewrite "concat(d, A, B) ⇒ Concatenate((A, B), d)" lhs rhs + +desugarConcatList :: forall a. NumRule a +desugarConcatList _ = do + r <- newRClass "r" + s <- newMap "s" r + xs <- traverse (\n -> newTensor @a n [r --> s]) ["X", "Y", "Z"] + lhs1 <- concat (ByRClass r) (xs !! 0) (xs !! 1) + lhs <- concat (ByRClass r) lhs1 (xs !! 2) + rhs <- concatTensorList xs (ByRClass r) + rewrite "concat(concat(X, Y), Z) ⇒ concatTensorList(X, Y, Z)" lhs rhs + +smulAssociativity :: forall a. NumRule a +smulAssociativity _ = do + let w = ("w" :: a) + r <- newRClass "r" + s <- newMap "s" r + x <- newTensor @a "x" [r --> s] + y <- newTensor @a "y" [r --> s] + let d = ByRClass r + lhs <- concat d (smul x w) (smul y w) + rhs <- smul (concat d x y) w + rewrite "concat(d, smul(x, w), smul(y, w)) ⇒ smul(concat(d, x, y), w)" lhs rhs + +ewaddAssociativity :: forall a. NumRule a +ewaddAssociativity _ = do + r <- newRClass "r" + s <- newMap "s" r + x <- newTensor @a "x" [r --> s] + y <- newTensor @a "y" [r --> s] + z <- newTensor @a "z" [r --> s] + w <- newTensor @a "w" [r --> s] + let d = ByRClass r + lhs <- concat d (ewadd x y) (ewadd z w) + rhs <- ewadd (concat d x z) (concat d y w) + rewrite "concat(d, ewadd(x, y), ewadd(z, w)) ⇒ ewadd(concat(d, x, z), concat(d, y, w))" lhs rhs + +ewmulAssociativity :: forall a. NumRule a +ewmulAssociativity _ = do + r <- newRClass "r" + s <- newMap "s" r + x <- newTensor @a "x" [r --> s] + y <- newTensor @a "y" [r --> s] + z <- newTensor @a "z" [r --> s] + w <- newTensor @a "w" [r --> s] + let d = ByRClass r + lhs <- concat d (ewmul x y) (ewmul z w) + rhs <- ewmul (concat d x z) (concat d y w) + rewrite "concat(d, ewmul(x, y), ewmul(z, w)) ⇒ ewmul(concat(d, x, z), concat(d, y, w))" lhs rhs + +reluAssociativity :: forall a. NumRule a +reluAssociativity _ = do + r <- newRClass "r" + s <- newMap "s" r + x <- newTensor @a "x" [r --> s] + y <- newTensor @a "y" [r --> s] + let d = ByRClass r + lhs <- concat d (relu @a x) (relu @a y) + rhs <- relu @a $ concat d x y + rewrite "" lhs rhs + +geometry :: forall a. NumRule a +geometry _ = do + [d0, d1, d2] <- newRClasses ["d0", "d1", "d2"] + d0S <- newMap "d0S" d0 + d1S <- newMap "d1S" d1 + d2S <- newMap "d2S" d2 + x <- newTensor @a "x" [d0 --> d0S, d1 --> d1S, d2 --> d2S] + y <- newTensor @a "y" [d0 --> d0S, d1 --> d1S, d2 --> d2S] + z <- newTensor @a "z" [d0 --> d0S, d1 --> d1S, d2 --> d2S] + w <- newTensor @a "w" [d0 --> d0S, d1 --> d1S, d2 --> d2S] + lhs <- concat (ByRClass d0) (concat (ByRClass d1) x y) (concat (ByRClass d1) z w) + rhs <- concat (ByRClass d1) (concat (ByRClass d0) x z) (concat (ByRClass d0) y w) + rewrite "concat(d0, concat(d1, x, y), concat(d1, z, w)) ⇒ concat(d1, concat(d0, x, z), concat(0, y, w))" lhs rhs + +main :: IO () +main = do + print "######################## desugarOneRole ########################" + verifyNumDSL desugarOneRole + print "######################## desugarMultiRole ######################" + verifyNumDSL desugarMultiRole + print "######################## desugarLabelledCopy ###################" + verifyNumDSL desugarLabelledCopy + print "######################## desugarConcatList #####################" + verifyNumDSL desugarConcatList + print "######################## smulAssociativity #####################" + verifyNumDSL smulAssociativity + print "######################## ewaddAssociativity ####################" + verifyNumDSL ewaddAssociativity + print "######################## ewmulAssociativity ####################" + verifyNumDSL ewmulAssociativity + print "######################## reluAssociativity ####################" + verifyNumDSL reluAssociativity + print "######################## geometry #############################" + verifyNumDSL geometry diff --git a/src/TensorRight/Internal/DSL/TASO.hs b/src/TensorRight/Internal/DSL/TASO.hs index da179c1..761dbbc 100644 --- a/src/TensorRight/Internal/DSL/TASO.hs +++ b/src/TensorRight/Internal/DSL/TASO.hs @@ -23,6 +23,7 @@ where import TensorRight (NumBinOp (Add, Mul), ToElem, concatTensor, posInf) import TensorRight.Internal.Core.Tensor (ToDType) import TensorRight.Internal.DSL.DSL (DSLContext, Expr, ExprInContext, RClassRef, ValidNum, clampScalar, numBinOp, numBinScalarOp) +import TensorRight.Internal.DSL.Parameters (ParamDesc) import Prelude hiding (concat) -- | TASO's ewadd operator. The lhs and rhs must have the same shape and the type must be either 'IntType' or 'RealType'. @@ -74,4 +75,14 @@ concat :: -- | The right-hand side tensor. rhs -> DSLContext Expr -concat axis lhs' rhs' = concatTensor lhs' rhs' axis \ No newline at end of file +concat axis lhs' rhs' = concatTensor lhs' rhs' axis + +-- -- | TASO's enlarge operator +-- enlarge :: +-- (ExprInContext e, ToElem v, ToDType v) => +-- -- | The tensor to enlarge. +-- e -> +-- [ParamDesc] -> +-- DSLContext Expr + +-- enlarge e \ No newline at end of file From 1ecd2d117e7f194def6cbde24c27e944263798a2 Mon Sep 17 00:00:00 2001 From: lexu27 Date: Wed, 20 Aug 2025 15:48:56 -0700 Subject: [PATCH 06/25] Finished transpose implementation and added colored printing to verifyNumDSL --- hie.yaml | 6 + package.yaml | 6 + rules/taso/concat/Main.hs | 18 +- rules/taso/enlarge/Main.hs | 0 rules/taso/transpose/Main.hs | 217 +++++++++++++++++++++++++ src/TensorRight/Internal/DSL/DSL.hs | 43 ++++- src/TensorRight/Internal/DSL/TASO.hs | 27 ++- src/TensorRight/Internal/DSL/Verify.hs | 11 +- tensor-right.cabal | 30 ++++ 9 files changed, 337 insertions(+), 21 deletions(-) create mode 100644 rules/taso/enlarge/Main.hs create mode 100644 rules/taso/transpose/Main.hs diff --git a/hie.yaml b/hie.yaml index 245ca10..adca2a6 100644 --- a/hie.yaml +++ b/hie.yaml @@ -177,5 +177,11 @@ cradle: - path: "./rules/taso/concat/Paths_tensor_right.hs" component: "tensor-right:exe:rules-taso-concat" + - path: "./rules/taso/transpose/Main.hs" + component: "tensor-right:exe:rules-taso-transpose" + + - path: "./rules/taso/transpose/Paths_tensor_right.hs" + component: "tensor-right:exe:rules-taso-transpose" + - path: "./test" component: "tensor-right:test:spec" diff --git a/package.yaml b/package.yaml index 3727b97..f667641 100644 --- a/package.yaml +++ b/package.yaml @@ -220,6 +220,12 @@ executables: dependencies: tensor-right ghc-options: *exe-ghc-options default-extensions: *exe-extensions + rules-taso-transpose: + source-dirs: rules/taso/transpose + main: Main.hs + dependencies: tensor-right + ghc-options: *exe-ghc-options + default-extensions: *exe-extensions # Other Executables rules-debug: source-dirs: rules/debug diff --git a/rules/taso/concat/Main.hs b/rules/taso/concat/Main.hs index fc006fd..ab420fd 100644 --- a/rules/taso/concat/Main.hs +++ b/rules/taso/concat/Main.hs @@ -8,9 +8,9 @@ import Prelude hiding (concat) desugarOneRole :: forall a. NumRule a -- Concate with only one rclass desugarOneRole _ = do r <- newRClass "r" - s <- newMap "s" r - a <- newTensor @a "A" [r --> s] - b <- newTensor @a "B" [r --> s] + [sa, sb] <- newMaps ["sa", "sb"] r + a <- newTensor @a "A" [r --> sa] + b <- newTensor @a "B" [r --> sb] let d = ByRClass r lhs <- concat d a b rhs <- concatTensor a b d @@ -20,10 +20,10 @@ desugarMultiRole :: forall a. NumRule a -- Concatenate with multiple Rclasses desugarMultiRole _ = do [batch, cat, spatial] <- newRClasses ["batch", "cat", "spatial"] bS <- newMap "bS" batch - cS <- newMap "cS" cat + [cSa, cSb] <- newMaps ["cSa", "cSb"] cat sS <- newMap "sS" spatial - a <- newTensor @a "A" [batch --> bS, cat --> cS, spatial --> sS] - b <- newTensor @a "B" [batch --> bS, cat --> cS, spatial --> sS] + a <- newTensor @a "A" [batch --> bS, cat --> cSa, spatial --> sS] + b <- newTensor @a "B" [batch --> bS, cat --> cSb, spatial --> sS] let d = ByRClass cat lhs <- concat d a b rhs <- concatTensor a b d @@ -32,9 +32,9 @@ desugarMultiRole _ = do desugarLabelledCopy :: forall a. NumRule a -- Concatenate with duplicate RClasses desugarLabelledCopy _ = do r <- newRClass "r" - [sL, sR] <- newMaps ["sL", "sR"] r - a <- newTensor @a "A" [r --> sL @@ "L", r --> sR @@ "R"] - b <- newTensor @a "B" [r --> sL @@ "L", r --> sR @@ "R"] + [sL, sRa, sRb] <- newMaps ["sL", "sRa", "sRb"] r + a <- newTensor @a "A" [r --> sL @@ "L", r --> sRa @@ "R"] + b <- newTensor @a "B" [r --> sL @@ "L", r --> sRb @@ "R"] let d = ByLabel "R" lhs <- concat d a b rhs <- concatTensor a b d diff --git a/rules/taso/enlarge/Main.hs b/rules/taso/enlarge/Main.hs new file mode 100644 index 0000000..e69de29 diff --git a/rules/taso/transpose/Main.hs b/rules/taso/transpose/Main.hs new file mode 100644 index 0000000..bdb8b91 --- /dev/null +++ b/rules/taso/transpose/Main.hs @@ -0,0 +1,217 @@ +module Main (main) where + +import Grisette hiding ((-->)) +import TensorRight +import TensorRight.Internal.DSL.DSL (transpose2DSingleton, twoRefsOf, twoSingletonRefsOf) +import TensorRight.Internal.DSL.TASO (concat, ewadd, ewmul, relu, smul, transpose, transposeSingleton) +import Prelude hiding (concat) + +-- ############################# (Rewrite rules not enforcing singleton) ############################ +-- Desugaring for general TASO transpose +desugarTranspose :: forall a. AnyDTypeRule a +desugarTranspose _ = do + rclass <- newRClass "rclass" + s1 <- newMap "s1" rclass + s2 <- newMap "s2" rclass + tA <- newTensor @a "A" [rclass --> s1 @@ "L", rclass --> s2 @@ "R"] + lhs <- transpose tA + (a, b) <- twoRefsOf tA + rhs <- relabel tA [ByLabel "L" --> ByLabel "R", ByLabel "R" --> ByLabel "L"] + rewrite "transpose(A) ⇒ relabel(A, swap)" lhs rhs + +inverse :: forall a. AnyDTypeRule a +inverse _ = do + rclass <- newRClass "rclass" + s1 <- newMap "s1" rclass + s2 <- newMap "s2" rclass + tA <- newTensor @a "A" [rclass --> s1 @@ "L", rclass --> s2 @@ "R"] + lhs <- transpose $ transpose tA + rewrite "transpose(transpose(A)) ⇒ A" lhs tA + +-- transpose(ewadd(x, y)) = ewadd(transpose(x), transpose(y)) +transposeEwadd :: forall a. NumRule a +transposeEwadd _ = do + r <- newRClass "r" + sL <- newMap "sL" r + sR <- newMap "sR" r + x <- newTensor @a "x" [r --> sL @@ "L", r --> sR @@ "R"] + y <- newTensor @a "y" [r --> sL @@ "L", r --> sR @@ "R"] + lhs <- transpose (ewadd x y) + rhs <- ewadd (transpose x) (transpose y) + rewrite "transpose(ewadd(x,y)) ⇒ ewadd(transpose(x), transpose(y))" lhs rhs + +-- transpose(ewmul(x, y)) = ewmul(transpose(x), transpose(y)) +transposeEwmul :: forall a. NumRule a +transposeEwmul _ = do + r <- newRClass "r" + sL <- newMap "sL" r + sR <- newMap "sR" r + x <- newTensor @a "x" [r --> sL @@ "L", r --> sR @@ "R"] + y <- newTensor @a "y" [r --> sL @@ "L", r --> sR @@ "R"] + lhs <- transpose (ewmul x y) + rhs <- ewmul (transpose x) (transpose y) + rewrite "transpose(ewmul(x,y)) ⇒ ewmul(transpose(x), transpose(y))" lhs rhs + +-- transpose(smul(x, w)) = smul(transpose(x), w) +transposeSmul :: forall a. NumRule a +transposeSmul _ = do + r <- newRClass "r" + sL <- newMap "sL" r + sR <- newMap "sR" r + x <- newTensor @a "x" [r --> sL @@ "L", r --> sR @@ "R"] + let w = ("w" :: a) + lhs <- transpose (smul x w) + rhs <- smul (transpose x) w + rewrite "transpose(smul(x,w)) ⇒ smul(transpose(x), w)" lhs rhs + +-- transpose(relu(x)) = relu(transpose(x)) +transposeRelu :: forall a. NumRule a +transposeRelu _ = do + r <- newRClass "r" + sL <- newMap "sL" r + sR <- newMap "sR" r + x <- newTensor @a "x" [r --> sL @@ "L", r --> sR @@ "R"] + lhs <- transpose (relu @a x) + rhs <- relu @a (transpose x) + rewrite "transpose(relu(x)) ⇒ relu(transpose(x))" lhs rhs + +-- concat(1, transpose(x), transpose(y)) = transpose(concat(0, x, y)) +transposeConcat :: forall a. AnyDTypeRule a +transposeConcat _ = do + -- Use same rclass with two labels for 2D + r <- newRClass "r" + sLx <- newMap "sLx" r + sRx <- newMap "sRx" r + sLy <- newMap "sLy" r + sRy <- newMap "sRy" r + x <- newTensor @a "x" [r --> sLx @@ "L", r --> sRx @@ "R"] + y <- newTensor @a "y" [r --> sLy @@ "L", r --> sRy @@ "R"] + -- concat along label "R" (axis 1), then transpose should move concat to axis 0 (label "L") + let axis1 = ByLabel "R" + let axis0 = ByLabel "L" + lhs <- concat axis1 (transpose x) (transpose y) + rhs <- transpose (concat axis0 x y) + rewrite "concat(1, transpose(x), transpose(y)) ⇒ transpose(concat(0, x, y))" lhs rhs + +-- -- ############################# (Rewrite rules enforcing singleton) ############################ +-- ############################# (Rewrite rules enforcing singleton) ############################ +-- Desugaring for TASO singleton transpose +desugarTransposeSingleton :: forall a. AnyDTypeRule a +desugarTransposeSingleton _ = do + rclass <- newRClass "rclassS" + s1 <- newMap "s1S" rclass + s2 <- newMap "s2S" rclass + tA <- newTensor @a "A" [rclass --> s1 @@ "L", rclass --> s2 @@ "R"] + _ <- iota [rclass --> s1] (ByRClass rclass) + lhs <- transposeSingleton tA + rhs <- relabel tA [ByLabel "L" --> ByLabel "R", ByLabel "R" --> ByLabel "L"] + rewrite "transposeSingleton(A) ⇒ relabel(A, swap)" lhs rhs + +inverseSingleton :: forall a. AnyDTypeRule a +inverseSingleton _ = do + rclass <- newRClass "rclassS" + s1 <- newMap "s1S" rclass + s2 <- newMap "s2S" rclass + tA <- newTensor @a "A" [rclass --> s1 @@ "L", rclass --> s2 @@ "R"] + _ <- iota [rclass --> s1] (ByRClass rclass) + lhs <- transposeSingleton $ transposeSingleton tA + rewrite "transposeSingleton(transposeSingleton(A)) ⇒ A" lhs tA + +-- transposeSingleton(ewadd(x, y)) = ewadd(transposeSingleton(x), transposeSingleton(y)) +transposeSingletonEwadd :: forall a. NumRule a +transposeSingletonEwadd _ = do + r <- newRClass "rS" + sL <- newMap "sLS" r + sR <- newMap "sRS" r + _ <- iota [r --> sL] (ByRClass r) + x <- newTensor @a "x" [r --> sL @@ "L", r --> sR @@ "R"] + y <- newTensor @a "y" [r --> sL @@ "L", r --> sR @@ "R"] + lhs <- transposeSingleton (ewadd x y) + rhs <- ewadd (transposeSingleton x) (transposeSingleton y) + rewrite "transposeSingleton(ewadd(x,y)) ⇒ ewadd(transposeSingleton(x), transposeSingleton(y))" lhs rhs + +-- transposeSingleton(ewmul(x, y)) = ewmul(transposeSingleton(x), transposeSingleton(y)) +transposeSingletonEwmul :: forall a. NumRule a +transposeSingletonEwmul _ = do + r <- newRClass "rS" + sL <- newMap "sLS" r + sR <- newMap "sRS" r + _ <- iota [r --> sL] (ByRClass r) + x <- newTensor @a "x" [r --> sL @@ "L", r --> sR @@ "R"] + y <- newTensor @a "y" [r --> sL @@ "L", r --> sR @@ "R"] + lhs <- transposeSingleton (ewmul x y) + rhs <- ewmul (transposeSingleton x) (transposeSingleton y) + rewrite "transposeSingleton(ewmul(x,y)) ⇒ ewmul(transposeSingleton(x), transposeSingleton(y))" lhs rhs + +-- transposeSingleton(smul(x, w)) = smul(transposeSingleton(x), w) +transposeSingletonSmul :: forall a. NumRule a +transposeSingletonSmul _ = do + r <- newRClass "rS" + sL <- newMap "sLS" r + sR <- newMap "sRS" r + _ <- iota [r --> sL] (ByRClass r) + x <- newTensor @a "x" [r --> sL @@ "L", r --> sR @@ "R"] + let w = ("w" :: a) + lhs <- transposeSingleton (smul x w) + rhs <- smul (transposeSingleton x) w + rewrite "transposeSingleton(smul(x,w)) ⇒ smul(transposeSingleton(x), w)" lhs rhs + +-- transposeSingleton(relu(x)) = relu(transposeSingleton(x)) +transposeSingletonRelu :: forall a. NumRule a +transposeSingletonRelu _ = do + r <- newRClass "rS" + sL <- newMap "sLS" r + sR <- newMap "sRS" r + _ <- iota [r --> sL] (ByRClass r) + x <- newTensor @a "x" [r --> sL @@ "L", r --> sR @@ "R"] + lhs <- transposeSingleton (relu @a x) + rhs <- relu @a (transposeSingleton x) + rewrite "transposeSingleton(relu(x)) ⇒ relu(transposeSingleton(x))" lhs rhs + +-- concat(1, transposeSingleton(x), transposeSingleton(y)) = transposeSingleton(concat(0, x, y)) +transposeSingletonConcat :: forall a. AnyDTypeRule a +transposeSingletonConcat _ = do + r <- newRClass "rS" + sLx <- newMap "sLxS" r + sRx <- newMap "sRxS" r + sLy <- newMap "sLyS" r + sRy <- newMap "sRyS" r + _ <- iota [r --> sLx] (ByRClass r) + x <- newTensor @a "x" [r --> sLx @@ "L", r --> sRx @@ "R"] + y <- newTensor @a "y" [r --> sLy @@ "L", r --> sRy @@ "R"] + let axis1 = ByLabel "R" + let axis0 = ByLabel "L" + lhs <- concat axis1 (transposeSingleton x) (transposeSingleton y) + rhs <- transposeSingleton (concat axis0 x y) + rewrite "concat(1, transposeSingleton(x), transposeSingleton(y)) ⇒ transposeSingleton(concat(0, x, y))" lhs rhs + +main :: IO () +main = do + print "######################## desugarTranspose ########################" + verifyNumDSL desugarTranspose + print "######################## inverse #################################" + verifyNumDSL inverse + print "######################## transposeEwadd ##########################" + verifyNumDSL transposeEwadd + print "######################## transposeEwmul ##########################" + verifyNumDSL transposeEwmul + print "######################## transposeSmul ###########################" + verifyNumDSL transposeSmul + print "######################## transposeRelu ###########################" + verifyNumDSL transposeRelu + print "######################## transposeConcat #########################" + verifyNumDSL transposeConcat + print "######################## desugarTransposeSingleton ###############" + verifyNumDSL desugarTransposeSingleton + print "######################## inverseSingleton ########################" + verifyNumDSL inverseSingleton + print "######################## transposeSingletonEwadd #################" + verifyNumDSL transposeSingletonEwadd + print "######################## transposeSingletonEwmul #################" + verifyNumDSL transposeSingletonEwmul + print "######################## transposeSingletonSmul ##################" + verifyNumDSL transposeSingletonSmul + print "######################## transposeSingletonRelu ##################" + verifyNumDSL transposeSingletonRelu + print "######################## transposeSingletonConcat ################" + verifyNumDSL transposeSingletonConcat diff --git a/src/TensorRight/Internal/DSL/DSL.hs b/src/TensorRight/Internal/DSL/DSL.hs index e381133..8720436 100644 --- a/src/TensorRight/Internal/DSL/DSL.hs +++ b/src/TensorRight/Internal/DSL/DSL.hs @@ -70,6 +70,10 @@ module TensorRight.Internal.DSL.DSL newConstMap, newConstMaps, combineMap, + transpose2D, + twoRefsOf, + twoSingletonRefsOf, + transpose2DSingleton, Padding (..), ConvConfig (..), ConvPadding (..), @@ -205,6 +209,7 @@ import TensorRight.Internal.DSL.Shape restrictAbstractShape, toAbstractShape, ) +import TensorRight.Internal.DSL.Syntax (ArrowSyntax ((-->))) import TensorRight.Internal.Util.Error (assert) -- | Create an integer element from a tensor int. @@ -1128,7 +1133,7 @@ relabel :: -- | The tensor to relabel. e -> -- | The relabel map. Should be @[rclass --> 'ByLabel' label]@ or - -- @['ByLabel' label -> 'ByLabel' label, ...]@. + -- @['ByLabel' label --> 'ByLabel' label, ...]@. [RelabelMapDesc] -> DSLContext Expr relabel expr' relabelMapDescs = do @@ -1484,3 +1489,39 @@ checkSIMap lhs rhs = do { lhsSIMaps = HS.union lhsSet $ lhsSIMaps env, rhsSIMaps = HS.union rhsSet $ rhsSIMaps env } + +-- | Gets the two aggregated axes from a 2D tensor. Useful for 2D Transpose +twoRefsOf :: Expr -> DSLContext (RClassRef, RClassRef) +twoRefsOf e = do + shape <- shapeOf e + let refs = HS.toList $ abstractShapeAllRefs shape + if length refs == 2 + then let [a, b] = refs in return (a, b) + else error $ "Expected exactly 2 refs, got " ++ show (length refs) ++ ": " ++ show refs + +-- | Helper function for transpose2D. Ignores singleton +transpose2D :: (ExprInContext e) => e -> DSLContext Expr +transpose2D e' = do + e <- liftInContext e' + (a, b) <- twoRefsOf e + relabel e [a --> b, b --> a] + +-- | Gets the two aggregated axes from a strictly-2D tensor where +-- both underlying RClasses are singleton. +twoSingletonRefsOf :: Expr -> DSLContext (RClassRef, RClassRef) +twoSingletonRefsOf e = do + shape <- shapeOf e + (a, b) <- twoRefsOf e + ra <- getRClassByRClassRef shape a + rb <- getRClassByRClassRef shape b + env <- get + let singletons = singletonRClasses env + assert "transpose2D: both rclasses must be singleton" $ HS.member ra singletons && HS.member rb singletons + return (a, b) + +-- | Strict 2D transpose: only allowed when both axes are singleton. +transpose2DSingleton :: (ExprInContext e) => e -> DSLContext Expr +transpose2DSingleton e' = do + e <- liftInContext e' + (a, b) <- twoSingletonRefsOf e + relabel e [a --> b, b --> a] \ No newline at end of file diff --git a/src/TensorRight/Internal/DSL/TASO.hs b/src/TensorRight/Internal/DSL/TASO.hs index 761dbbc..ccea549 100644 --- a/src/TensorRight/Internal/DSL/TASO.hs +++ b/src/TensorRight/Internal/DSL/TASO.hs @@ -17,13 +17,16 @@ module TensorRight.Internal.DSL.TASO smul, relu, concat, + transpose, + transposeSingleton, ) where import TensorRight (NumBinOp (Add, Mul), ToElem, concatTensor, posInf) import TensorRight.Internal.Core.Tensor (ToDType) -import TensorRight.Internal.DSL.DSL (DSLContext, Expr, ExprInContext, RClassRef, ValidNum, clampScalar, numBinOp, numBinScalarOp) -import TensorRight.Internal.DSL.Parameters (ParamDesc) +import TensorRight.Internal.DSL.DSL (DSLContext, Expr, ExprInContext, RClassRef, ValidNum, clampScalar, numBinOp, numBinScalarOp, transpose2D, transpose2DSingleton) +-- import TensorRight.Internal.DSL.Expr (Expr (Pad)) +-- import TensorRight.Internal.DSL.Parameters (ParamDesc) import Prelude hiding (concat) -- | TASO's ewadd operator. The lhs and rhs must have the same shape and the type must be either 'IntType' or 'RealType'. @@ -77,12 +80,26 @@ concat :: DSLContext Expr concat axis lhs' rhs' = concatTensor lhs' rhs' axis --- -- | TASO's enlarge operator +-- | TASO's transpose operator +transpose :: + (ExprInContext e) => + -- | The tensor to transpose + e -> + DSLContext Expr +transpose = transpose2D + +transposeSingleton :: + (ExprInContext e) => + -- | The tensor to transpose + e -> + DSLContext Expr +transposeSingleton = transpose2DSingleton + +-- -- -- | TASO's enlarge operator -- enlarge :: -- (ExprInContext e, ToElem v, ToDType v) => -- -- | The tensor to enlarge. -- e -> -- [ParamDesc] -> -- DSLContext Expr - --- enlarge e \ No newline at end of file +-- enlarge e descs = pad \ No newline at end of file diff --git a/src/TensorRight/Internal/DSL/Verify.hs b/src/TensorRight/Internal/DSL/Verify.hs index bd2bece..e7f08f5 100644 --- a/src/TensorRight/Internal/DSL/Verify.hs +++ b/src/TensorRight/Internal/DSL/Verify.hs @@ -258,16 +258,15 @@ instance Semigroup Result where printResult :: Maybe String -> Result -> IO () printResult subTheory Result {..} = putStrLn $ - "[" - <> ( if isRight result - then "SUCCESS" - else "FAIL" - ) + ( if isRight result + then "\ESC[32m" <> "[" <> "SUCCESS" + else "\ESC[31m" <> "[" <> "FAIL" + ) <> maybe "" ("-" <>) subTheory <> "]: [" <> show elapsedTime <> "s] Verification " - <> (if isRight result then "succeeded" else "failed") + <> (if isRight result then "succeeded" <> "\ESC[0m" else "failed" <> "\ESC[0m") <> ( case result of Right () -> "." Left e -> " with error: " <> show e diff --git a/tensor-right.cabal b/tensor-right.cabal index 73b155b..a8aca9c 100644 --- a/tensor-right.cabal +++ b/tensor-right.cabal @@ -235,6 +235,36 @@ executable rules-taso-smul unordered-containers default-language: Haskell2010 +executable rules-taso-transpose + main-is: Main.hs + other-modules: + Paths_tensor_right + hs-source-dirs: + rules/taso/transpose + default-extensions: + DuplicateRecordFields + OverloadedStrings + TypeApplications + AllowAmbiguousTypes + ScopedTypeVariables + FlexibleContexts + RankNTypes + ghc-options: -threaded -rtsopts -with-rtsopts=-N + build-depends: + base >=4.14 && <5, + deepseq, + grisette ==0.11.*, + hashable, + mtl, + ordered-containers, + prettyprinter, + sbv, + template-haskell, + tensor-right, + text, + unordered-containers + default-language: Haskell2010 + executable rules-xla-add main-is: Main.hs other-modules: From f10a79275a720947e3aece1286470dde030cac36 Mon Sep 17 00:00:00 2001 From: lexu27 Date: Wed, 20 Aug 2025 16:02:29 -0700 Subject: [PATCH 07/25] Added pretty printing for verification in Verify.hs --- rules/taso/transpose/Main.hs | 29 +++++++++++++------------ src/TensorRight/Internal/Util/Pretty.hs | 4 ++++ 2 files changed, 19 insertions(+), 14 deletions(-) diff --git a/rules/taso/transpose/Main.hs b/rules/taso/transpose/Main.hs index bdb8b91..33d4a00 100644 --- a/rules/taso/transpose/Main.hs +++ b/rules/taso/transpose/Main.hs @@ -4,6 +4,7 @@ import Grisette hiding ((-->)) import TensorRight import TensorRight.Internal.DSL.DSL (transpose2DSingleton, twoRefsOf, twoSingletonRefsOf) import TensorRight.Internal.DSL.TASO (concat, ewadd, ewmul, relu, smul, transpose, transposeSingleton) +import TensorRight.Internal.Util.Pretty (printTitle) import Prelude hiding (concat) -- ############################# (Rewrite rules not enforcing singleton) ############################ @@ -187,31 +188,31 @@ transposeSingletonConcat _ = do main :: IO () main = do - print "######################## desugarTranspose ########################" + printTitle "######################## desugarTranspose ########################" verifyNumDSL desugarTranspose - print "######################## inverse #################################" + printTitle "######################## inverse #################################" verifyNumDSL inverse - print "######################## transposeEwadd ##########################" + printTitle "######################## transposeEwadd ##########################" verifyNumDSL transposeEwadd - print "######################## transposeEwmul ##########################" + printTitle "######################## transposeEwmul ##########################" verifyNumDSL transposeEwmul - print "######################## transposeSmul ###########################" + printTitle "######################## transposeSmul ###########################" verifyNumDSL transposeSmul - print "######################## transposeRelu ###########################" + printTitle "######################## transposeRelu ###########################" verifyNumDSL transposeRelu - print "######################## transposeConcat #########################" + printTitle "######################## transposeConcat #########################" verifyNumDSL transposeConcat - print "######################## desugarTransposeSingleton ###############" + printTitle "######################## desugarTransposeSingleton ###############" verifyNumDSL desugarTransposeSingleton - print "######################## inverseSingleton ########################" + printTitle "######################## inverseSingleton ########################" verifyNumDSL inverseSingleton - print "######################## transposeSingletonEwadd #################" + printTitle "######################## transposeSingletonEwadd #################" verifyNumDSL transposeSingletonEwadd - print "######################## transposeSingletonEwmul #################" + printTitle "######################## transposeSingletonEwmul #################" verifyNumDSL transposeSingletonEwmul - print "######################## transposeSingletonSmul ##################" + printTitle "######################## transposeSingletonSmul ##################" verifyNumDSL transposeSingletonSmul - print "######################## transposeSingletonRelu ##################" + printTitle "######################## transposeSingletonRelu ##################" verifyNumDSL transposeSingletonRelu - print "######################## transposeSingletonConcat ################" + printTitle "######################## transposeSingletonConcat ################" verifyNumDSL transposeSingletonConcat diff --git a/src/TensorRight/Internal/Util/Pretty.hs b/src/TensorRight/Internal/Util/Pretty.hs index 69548f1..10d152b 100644 --- a/src/TensorRight/Internal/Util/Pretty.hs +++ b/src/TensorRight/Internal/Util/Pretty.hs @@ -6,6 +6,7 @@ module TensorRight.Internal.Util.Pretty condEnclose, prettyWithConstructor, gprettyParen, + printTitle, ) where @@ -33,3 +34,6 @@ gprettyParen b = condEnclose b "(" ")" prettyWithConstructor :: Int -> Doc ann -> [Doc ann] -> Doc ann prettyWithConstructor n c l = group $ condEnclose (n > 10) "(" ")" $ align $ nest 2 $ vsep (c : l) + +printTitle :: String -> IO () +printTitle s = putStr $ "\ESC[34m" <> s <> "\ESC[0m" From a6961c52fc6cca2a824cea7b51ba467dc493dea1 Mon Sep 17 00:00:00 2001 From: lexu27 Date: Fri, 22 Aug 2025 13:20:38 -0700 Subject: [PATCH 08/25] finished enlarge --- hie.yaml | 6 ++ package.yaml | 6 ++ rules/taso/concat/Main.hs | 18 ++-- rules/taso/enlarge/Main.hs | 53 ++++++++++++ rules/taso/ewadd/Main.hs | 6 +- rules/taso/ewmul/Main.hs | 8 +- rules/taso/relu/Main.hs | 2 +- rules/taso/smul/Main.hs | 8 +- rules/taso/transpose/Main.hs | 3 +- src/TensorRight.hs | 4 + src/TensorRight/Internal/Core/Tensor.hs | 3 + src/TensorRight/Internal/Core/Tensor/Typed.hs | 2 +- src/TensorRight/Internal/DSL/TASO.hs | 83 ++++++++++++++++--- src/TensorRight/Internal/Util/Pretty.hs | 2 +- tensor-right.cabal | 30 +++++++ 15 files changed, 198 insertions(+), 36 deletions(-) diff --git a/hie.yaml b/hie.yaml index adca2a6..b48fb03 100644 --- a/hie.yaml +++ b/hie.yaml @@ -183,5 +183,11 @@ cradle: - path: "./rules/taso/transpose/Paths_tensor_right.hs" component: "tensor-right:exe:rules-taso-transpose" + - path: "./rules/taso/enlarge/Main.hs" + component: "tensor-right:exe:rules-taso-enlarge" + + - path: "./rules/taso/enlarge/Paths_tensor_right.hs" + component: "tensor-right:exe:rules-taso-enlarge" + - path: "./test" component: "tensor-right:test:spec" diff --git a/package.yaml b/package.yaml index f667641..b6f01e8 100644 --- a/package.yaml +++ b/package.yaml @@ -226,6 +226,12 @@ executables: dependencies: tensor-right ghc-options: *exe-ghc-options default-extensions: *exe-extensions + rules-taso-enlarge: + source-dirs: rules/taso/enlarge + main: Main.hs + dependencies: tensor-right + ghc-options: *exe-ghc-options + default-extensions: *exe-extensions # Other Executables rules-debug: source-dirs: rules/debug diff --git a/rules/taso/concat/Main.hs b/rules/taso/concat/Main.hs index ab420fd..7439b15 100644 --- a/rules/taso/concat/Main.hs +++ b/rules/taso/concat/Main.hs @@ -115,21 +115,21 @@ geometry _ = do main :: IO () main = do - print "######################## desugarOneRole ########################" + printTitle "######################## desugarOneRole ########################" verifyNumDSL desugarOneRole - print "######################## desugarMultiRole ######################" + printTitle "######################## desugarMultiRole ######################" verifyNumDSL desugarMultiRole - print "######################## desugarLabelledCopy ###################" + printTitle "######################## desugarLabelledCopy ###################" verifyNumDSL desugarLabelledCopy - print "######################## desugarConcatList #####################" + printTitle "######################## desugarConcatList #####################" verifyNumDSL desugarConcatList - print "######################## smulAssociativity #####################" + printTitle "######################## smulAssociativity #####################" verifyNumDSL smulAssociativity - print "######################## ewaddAssociativity ####################" + printTitle "######################## ewaddAssociativity ####################" verifyNumDSL ewaddAssociativity - print "######################## ewmulAssociativity ####################" + printTitle "######################## ewmulAssociativity ####################" verifyNumDSL ewmulAssociativity - print "######################## reluAssociativity ####################" + printTitle "######################## reluAssociativity ####################" verifyNumDSL reluAssociativity - print "######################## geometry #############################" + printTitle "######################## geometry #############################" verifyNumDSL geometry diff --git a/rules/taso/enlarge/Main.hs b/rules/taso/enlarge/Main.hs index e69de29..0947627 100644 --- a/rules/taso/enlarge/Main.hs +++ b/rules/taso/enlarge/Main.hs @@ -0,0 +1,53 @@ +module Main (main) where + +import Grisette hiding ((-->)) +import TensorRight +import TensorRight.Internal.DSL.TASO (enlarge) + +desugarEnlarge :: forall a. NumRule a +desugarEnlarge _ = do + rclass <- newRClass "rclass" + [n, c, h, w] <- newMaps ["n", "c", "h", "w"] rclass + tA <- newTensor @a "A" [rclass --> n @@ "N", rclass --> c @@ "C", rclass --> h @@ "H", rclass --> w @@ "W"] + let kx = ssym "kx" :: SymInteger + let ky = ssym "ky" :: SymInteger + + lhs <- enlarge @a (ByLabel "H" --> h) (ByLabel "W" --> w) ky kx tA + + -- Building the rhs + kH <- newConstMap "kH" ky rclass + kW <- newConstMap "kW" kx rclass + + sH' <- combineMap "sH'" (\[a', k'] -> symIte (a' .>= k') a' k') [h, kH] + sW' <- combineMap "sW'" (\[a', k'] -> symIte (a' .>= k') a' k') [w, kW] + + dH <- combineMap "dH" (\[m, a'] -> m - a') [sH', h] + dW <- combineMap "dW" (\[m, a'] -> m - a') [sW', w] + + hLow <- newNonNegMap "hLow" rclass + hHigh <- newNonNegMap "hHigh" rclass + precondition [hLow, hHigh, dH] $ \[l, hv, d] -> l + hv .== d .&& l .<= hv .&& hv .<= l + 1 + + wLow <- newNonNegMap "wLow" rclass + wHigh <- newNonNegMap "wHigh" rclass + precondition [wLow, wHigh, dW] $ \[l, hv, d] -> l + hv .== d .&& l .<= hv .&& hv .<= l + 1 + + z <- newConstMap "zero" 0 rclass + + let hRef = ByLabel "H" + let wRef = ByLabel "W" + + rhs <- + pad tA (0 :: a) $ + Padding + { low = [hRef --> hLow, wRef --> wLow], + interior = [hRef --> z, wRef --> z], + high = [hRef --> hHigh, wRef --> wHigh] + } + + rewrite "enlarge(ky, kx, A) ⇒ Pad(A, 0, symmetric(ky on H, kx on W)))" lhs rhs + +main :: IO () +main = do + printTitle "######################## desugarEnlarge ########################" + verifyNumDSL desugarEnlarge \ No newline at end of file diff --git a/rules/taso/ewadd/Main.hs b/rules/taso/ewadd/Main.hs index b789619..33db154 100644 --- a/rules/taso/ewadd/Main.hs +++ b/rules/taso/ewadd/Main.hs @@ -37,9 +37,9 @@ rule03 _ = do main :: IO () main = do - print "############################## rule01 ##############################" + printTitle "############################## rule01 ##############################" verifyNumDSL rule01 - print "############################## rule02 ##############################" + printTitle "############################## rule02 ##############################" verifyNumDSL rule02 - print "############################## rule03 ##############################" + printTitle "############################## rule03 ##############################" verifyNumDSL rule03 \ No newline at end of file diff --git a/rules/taso/ewmul/Main.hs b/rules/taso/ewmul/Main.hs index 2a43e68..81ae18b 100644 --- a/rules/taso/ewmul/Main.hs +++ b/rules/taso/ewmul/Main.hs @@ -48,11 +48,11 @@ rule04 _ = do main :: IO () main = do - print "############################## rule01 ##############################" + printTitle "############################## rule01 ##############################" verifyNumDSL rule01 - print "############################## rule02 ##############################" + printTitle "############################## rule02 ##############################" verifyNumDSL rule02 - print "############################## rule03 ##############################" + printTitle "############################## rule03 ##############################" verifyNumDSL rule03 - print "############################## rule04 ##############################" + printTitle "############################## rule04 ##############################" verifyNumDSL rule04 \ No newline at end of file diff --git a/rules/taso/relu/Main.hs b/rules/taso/relu/Main.hs index d344306..998866f 100644 --- a/rules/taso/relu/Main.hs +++ b/rules/taso/relu/Main.hs @@ -13,5 +13,5 @@ rule01 _ = do main :: IO () main = do - print "############################## rule01 ##############################" + printTitle "############################## rule01 ##############################" verifyNumDSL rule01 \ No newline at end of file diff --git a/rules/taso/smul/Main.hs b/rules/taso/smul/Main.hs index 8372fc6..6d0d5a9 100644 --- a/rules/taso/smul/Main.hs +++ b/rules/taso/smul/Main.hs @@ -49,11 +49,11 @@ rule04 _ = do main :: IO () main = do - print "############################## rule01 ##############################" + printTitle "############################## rule01 ##############################" verifyNumDSL rule01 - print "############################## rule02 ##############################" + printTitle "############################## rule02 ##############################" verifyNumDSL rule02 - print "############################## rule03 ##############################" + printTitle "############################## rule03 ##############################" verifyNumDSL rule03 - print "############################## rule04 ##############################" + printTitle "############################## rule04 ##############################" verifyNumDSL rule04 \ No newline at end of file diff --git a/rules/taso/transpose/Main.hs b/rules/taso/transpose/Main.hs index 33d4a00..1e0e783 100644 --- a/rules/taso/transpose/Main.hs +++ b/rules/taso/transpose/Main.hs @@ -4,7 +4,6 @@ import Grisette hiding ((-->)) import TensorRight import TensorRight.Internal.DSL.DSL (transpose2DSingleton, twoRefsOf, twoSingletonRefsOf) import TensorRight.Internal.DSL.TASO (concat, ewadd, ewmul, relu, smul, transpose, transposeSingleton) -import TensorRight.Internal.Util.Pretty (printTitle) import Prelude hiding (concat) -- ############################# (Rewrite rules not enforcing singleton) ############################ @@ -215,4 +214,4 @@ main = do printTitle "######################## transposeSingletonRelu ##################" verifyNumDSL transposeSingletonRelu printTitle "######################## transposeSingletonConcat ################" - verifyNumDSL transposeSingletonConcat + verifyNumDSL transposeSingletonConcat \ No newline at end of file diff --git a/src/TensorRight.hs b/src/TensorRight.hs index b5a2de3..572f895 100644 --- a/src/TensorRight.hs +++ b/src/TensorRight.hs @@ -524,6 +524,9 @@ module TensorRight nonInf, posInf, negInf, + + -- * Utils + printTitle, ) where @@ -534,3 +537,4 @@ import TensorRight.Internal.DSL.DSL import TensorRight.Internal.DSL.Expr import TensorRight.Internal.DSL.Syntax import TensorRight.Internal.DSL.Verify +import TensorRight.Internal.Util.Pretty diff --git a/src/TensorRight/Internal/Core/Tensor.hs b/src/TensorRight/Internal/Core/Tensor.hs index c0f3fb4..321fda3 100644 --- a/src/TensorRight/Internal/Core/Tensor.hs +++ b/src/TensorRight/Internal/Core/Tensor.hs @@ -164,6 +164,9 @@ instance ToElem TensorReal where instance ToElem SymBool where toElem = BoolElem . Typed.TensorElemVal +instance ToElem Elem where + toElem = id + tensorAccess :: (TensorOperand t) => t -> Indices -> ErrorEnv Elem tensorAccess to i = do t <- tensor to diff --git a/src/TensorRight/Internal/Core/Tensor/Typed.hs b/src/TensorRight/Internal/Core/Tensor/Typed.hs index 0db33b9..7d80b90 100644 --- a/src/TensorRight/Internal/Core/Tensor/Typed.hs +++ b/src/TensorRight/Internal/Core/Tensor/Typed.hs @@ -1235,4 +1235,4 @@ reshapeDegenerate to introAxes removedAxes = do (fromKVPairs ((,0) <$> HS.toList removedAxes)) originalIndices ) - newShape + newShape \ No newline at end of file diff --git a/src/TensorRight/Internal/DSL/TASO.hs b/src/TensorRight/Internal/DSL/TASO.hs index ccea549..6b62d72 100644 --- a/src/TensorRight/Internal/DSL/TASO.hs +++ b/src/TensorRight/Internal/DSL/TASO.hs @@ -5,6 +5,7 @@ {-# LANGUAGE FlexibleContexts #-} {-# LANGUAGE FlexibleInstances #-} {-# LANGUAGE MultiParamTypeClasses #-} +{-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE RankNTypes #-} {-# LANGUAGE ScopedTypeVariables #-} {-# LANGUAGE TypeApplications #-} @@ -19,14 +20,34 @@ module TensorRight.Internal.DSL.TASO concat, transpose, transposeSingleton, + enlarge, ) where +import Grisette (SymInteger, symIte, (.&&), (.<=), (.==), (.>=)) import TensorRight (NumBinOp (Add, Mul), ToElem, concatTensor, posInf) import TensorRight.Internal.Core.Tensor (ToDType) -import TensorRight.Internal.DSL.DSL (DSLContext, Expr, ExprInContext, RClassRef, ValidNum, clampScalar, numBinOp, numBinScalarOp, transpose2D, transpose2DSingleton) --- import TensorRight.Internal.DSL.Expr (Expr (Pad)) --- import TensorRight.Internal.DSL.Parameters (ParamDesc) +import TensorRight.Internal.DSL.DSL + ( DSLContext, + Expr, + ExprInContext, + Padding (..), + RClassRef, + ValidNum, + clampScalar, + combineMap, + newConstMap, + newNonNegMap, + numBinOp, + numBinScalarOp, + pad, + precondition, + transpose2D, + transpose2DSingleton, + ) +import TensorRight.Internal.DSL.Expr (getRClassByMap) +import TensorRight.Internal.DSL.Parameters (ParamDesc (..)) +import TensorRight.Internal.DSL.Syntax (ArrowSyntax ((-->))) import Prelude hiding (concat) -- | TASO's ewadd operator. The lhs and rhs must have the same shape and the type must be either 'IntType' or 'RealType'. @@ -95,11 +116,51 @@ transposeSingleton :: DSLContext Expr transposeSingleton = transpose2DSingleton --- -- -- | TASO's enlarge operator --- enlarge :: --- (ExprInContext e, ToElem v, ToDType v) => --- -- | The tensor to enlarge. --- e -> --- [ParamDesc] -> --- DSLContext Expr --- enlarge e descs = pad \ No newline at end of file +-- | TASO's enlarge operator +enlarge :: + forall a e. + (ExprInContext e, ValidNum a) => + -- | Size descriptor for H axis: provides the axis ref and the existing size map of A along H. + ParamDesc -> + -- | Size descriptor for W axis: provides the axis ref and the existing size map of A along W. + ParamDesc -> + -- | Target size ky for H (abstract scalar). + SymInteger -> + -- | Target size kx for W (abstract scalar). + SymInteger -> + -- | The tensor to enlarge. + e -> + DSLContext Expr +enlarge (ParamDesc hRef sH) (ParamDesc wRef sW) ky kx e = do + -- Promote scalars kx, ky to constant maps on the corresponding rclasses + rH <- getRClassByMap sH + rW <- getRClassByMap sW + kH <- newConstMap "kH" ky rH + kW <- newConstMap "kW" kx rW + + -- Target sizes via max + sH' <- combineMap "sH'" (\[a, k] -> symIte (a .>= k) a k) [sH, kH] + sW' <- combineMap "sW'" (\[a, k] -> symIte (a .>= k) a k) [sW, kW] + + -- Differences to pad + dH <- combineMap "dH" (\[m, a] -> m - a) [sH', sH] + dW <- combineMap "dW" (\[m, a] -> m - a) [sW', sW] + + -- Odd-difference split: low = floor(d/2), high = ceil(d/2) + hLow <- newNonNegMap "hLow" rH + hHigh <- newNonNegMap "hHigh" rH + precondition [hLow, hHigh, dH] $ \[l, h, d] -> l + h .== d .&& l .<= h .&& h .<= l + 1 -- Make precondition to ensure left over padding on top + wLow <- newNonNegMap "wLow" rW + wHigh <- newNonNegMap "wHigh" rW + precondition [wLow, wHigh, dW] $ \[l, h, d] -> l + h .== d .&& l .<= h .&& h .<= l + 1 + + -- Zero interior paddings + zH <- newConstMap "zeroH" 0 rH + zW <- newConstMap "zeroW" 0 rW + + pad e (0 :: a) $ + Padding + { low = [hRef --> hLow, wRef --> wLow], + interior = [hRef --> zH, wRef --> zW], -- No internal padding + high = [hRef --> hHigh, wRef --> wHigh] + } \ No newline at end of file diff --git a/src/TensorRight/Internal/Util/Pretty.hs b/src/TensorRight/Internal/Util/Pretty.hs index 10d152b..14f27e5 100644 --- a/src/TensorRight/Internal/Util/Pretty.hs +++ b/src/TensorRight/Internal/Util/Pretty.hs @@ -36,4 +36,4 @@ prettyWithConstructor n c l = group $ condEnclose (n > 10) "(" ")" $ align $ nest 2 $ vsep (c : l) printTitle :: String -> IO () -printTitle s = putStr $ "\ESC[34m" <> s <> "\ESC[0m" +printTitle s = putStrLn $ "\ESC[34m" <> s <> "\ESC[0m" diff --git a/tensor-right.cabal b/tensor-right.cabal index a8aca9c..a635300 100644 --- a/tensor-right.cabal +++ b/tensor-right.cabal @@ -115,6 +115,36 @@ executable rules-taso-concat unordered-containers default-language: Haskell2010 +executable rules-taso-enlarge + main-is: Main.hs + other-modules: + Paths_tensor_right + hs-source-dirs: + rules/taso/enlarge + default-extensions: + DuplicateRecordFields + OverloadedStrings + TypeApplications + AllowAmbiguousTypes + ScopedTypeVariables + FlexibleContexts + RankNTypes + ghc-options: -threaded -rtsopts -with-rtsopts=-N + build-depends: + base >=4.14 && <5, + deepseq, + grisette ==0.11.*, + hashable, + mtl, + ordered-containers, + prettyprinter, + sbv, + template-haskell, + tensor-right, + text, + unordered-containers + default-language: Haskell2010 + executable rules-taso-ewadd main-is: Main.hs other-modules: From 9030966f31b7cf42124fa46144c28afc841b97ad Mon Sep 17 00:00:00 2001 From: jaiarora0011 Date: Thu, 4 Sep 2025 13:22:44 -0500 Subject: [PATCH 09/25] Remove extra files --- .gitignore | 3 ++- dist-newstyle/cache/compiler | Bin 15603 -> 0 bytes dist-newstyle/cache/config | Bin 44239 -> 0 bytes dist-newstyle/cache/elaborated-plan | Bin 1566245 -> 0 bytes dist-newstyle/cache/improved-plan | Bin 3073974 -> 0 bytes dist-newstyle/cache/plan.json | 1 - dist-newstyle/cache/solver-plan | Bin 751746 -> 0 bytes dist-newstyle/cache/source-hashes | Bin 31975 -> 0 bytes 8 files changed, 2 insertions(+), 2 deletions(-) delete mode 100644 dist-newstyle/cache/compiler delete mode 100644 dist-newstyle/cache/config delete mode 100644 dist-newstyle/cache/elaborated-plan delete mode 100644 dist-newstyle/cache/improved-plan delete mode 100644 dist-newstyle/cache/plan.json delete mode 100644 dist-newstyle/cache/solver-plan delete mode 100644 dist-newstyle/cache/source-hashes diff --git a/.gitignore b/.gitignore index b3117a5..4fc127e 100644 --- a/.gitignore +++ b/.gitignore @@ -3,4 +3,5 @@ result.txt .stack-work/ .envrc .direnv -.vscode/ \ No newline at end of file +.vscode/ +dist-newstyle/ diff --git a/dist-newstyle/cache/compiler b/dist-newstyle/cache/compiler deleted file mode 100644 index 390fbc2bd4993d5811f88f66e8a60464b6424285..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15603 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 diff --git a/dist-newstyle/cache/config b/dist-newstyle/cache/config deleted file mode 100644 index c5d8102eaba792cf5ae4cacd93ecf93efed054fa..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 44239 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 diff --git a/dist-newstyle/cache/elaborated-plan b/dist-newstyle/cache/elaborated-plan deleted file mode 100644 index 4bed644e0c02a5d44a35ebbc17e7e3b6acfcc891..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1566245 zcmeFaYm6kxb{^Kf^RC(6+4t+da_2r~XVsPU>Z4dJO!tzMY&{GKkO)%OF#Li=K%y){0BwmdZ5T9Un2=;!5((I_43RQn*x(OY zgh5$;kdh($I}vdrBeOE=(bF^2dv7&%r!pf>oH%jf#L0M^bK?L0*?;_Vf2#C9_kZW- zz27Xp^8492`L}RvUOg3a-CjS}=(fG8?>)-hY*u~8-_PCPgl>>)JGETz!EUYFsW*3X zh4S(F-~K1oPo4XnFKHw%=LUhFYc;DO9Dsi9SO3@d-Ht({{NM| zW6vp~z7!=YXgIzXqCTNfejy4MC*Yr0KXdon|M_!_buD)<@cbax^13;@=2SsPBd zcD*3ikPmjl2_AT@mfiJtbNNEH*>Sx+yWebkLEmZjoFp0|5oXHzgeul^)G(#OaI}o&2#tMH1X~>YJ*-5|K?WhLf$S2HsUpF zys8%2)LXX84McNM&HVgt|E111|Nd`%JkKn7YZ!gC*`X>3w)K1e>a#!8o$@skw$^pM z=AfN>1P%oQzn)XYPH6B5YRPSe(beZnltZmk;91C?YM~_R|M~TjuB9|FhLBGul$7xg z^ZJaPdr!&*=fr>K@yBWOJp4zwAp^!vR_49Mk26kw3~96#}|Zq-SZa;5H-N`-R1Sjksb^2NI6)Cy&< zTv&2ftE--~QmT92O0`n2d-df)sZ?HCUUiCIWyM`ta@<;_nrA!(&snWHrDCmIthj|* zZMEQ3fvD=1Dob9i?5%n$wQ6O#fbvVrg_Y%Ez2X%s^}ORPFPGeNqQ2ak)@ms)4qGS1h=Ur(8hMN};-% zujC7bYPndeRM3FsO10p4tN2~cyG~`bR4f(>C8xMlaq_G6mHcw80?Jm41;$hLmdoXG zsa~orSDk`e^@^)2uCr387eHUWTw8TZtFF7^xy4GMQd_OMZoN=0mTS&REno7MRu~WR zy`@UMRIQW>j^h=UN~P)w=vZ|swaQA>T`DYl)iOA@lwYamD@!G}R?9ChmzV2a%_|p~ zKU!--K;sfIM+uyG?ia)hzlIrtAWr6Ak(l^TD88JXP%&rmZ&-+lG%6C03W5t9pFhiw z^V#`V`1!cq>hAK(b0LgOKOSoo1CIU;X=Aua8$|G7>7*ydnDWcan0vnOb%L&+^_#nm zKDFXG{6EiQGC6nt3>bGz_pcyE)pP3R=K99%?TwUb51O1?8}z$vr|-Ge$DZG;H)~G6 z+3i@}y0s(dw?6cpUc;`ZB{d|oQ~y4M9rGj?{-^Ozv1+)8q%wt zH3)#d-?bi64f~ly#CE&|hBU>q#=XxEAsZ^8vA?Ra&KfOJNnbXS?9EQ!^E*zK$j})npqB-v7sUrdDrw1W9kD$K@1r!^jE zujebEucl(!biGa=g71w7-Ew@V?LiK>@6)l~^;%BVYu$2sihyKcBF1btoF239E2(5| z?|1snoKKn^iNNvBV zHS!mb)*+}C1T^b=wXW}G2R+vbmGKNvE6LL$WBU8v7NI zI_OXnb~{Zf{K)Y;M0LI8>~i79?Hp$H@v0Mer?AXAF(;<{$L8kv8!f9~Ihs4=dR{N^ zz7JTPCP4Jt>0KZ6qK$-ae(rh71-|(?y=Xu}2#qCd!>P8sbcDy+{Z@MJ%jjY#UpI>- zWZ%KJ#t+hg7kXkS_xvV($kO4C1=WY?xi9uTNEl=)tJdG?pvU_V;q>fR2c2oi7mUU~ zvuVVe(2}!4JLAvcm5RRQVzGw8#?3Xm>%w}-b zK|VjH=KQ(BTrjsg_rlyuTI8R08=<+x-5luDC%S_2fxWy7RQ}U^LZ8obnSo2Jk{7Z(Cr}IXikEK&H zj=Z9mluJb)X%Y|2nW~TIt7%?lsy@OkmZ+JkH}sj{kmk%x)f=pNrmFr$Q`L81^ru8Q zE&a$VdP%ra^hSeN_GWrMqO7KQnd$imw^*WPdfrfGfTZBARAxL=^==%oy8A(^sXeMwGmgBP zH_l$8P2zz$Q}q#jHOFnZl1~t!Z9n3O~XvmZ+J+H?*4Ikmk%x;Tx=ZrV9Vn@DO&_LzoVy)%=W2D@WxW zd6h4T7YDLK4P!Z+>HLV|n&xGu^CR41iJIwrL$S?tekwDbsm?b{Y?|G^qXaoQ^~mda z!|=vv43Ec|hL5PJX& z`)HGRV9r#1L|;wwGE?;tZm~qoRK20k1cx+dW~$y`%`;W?hM7%U2VqW3Jn|~uu)PVJ z!Xh_Q?-3m}&C5)^N4UijHB;|~4x6d>RAw9*^*-QPys6%G;^#`eYpQuL&eVHEM@{oG zQ|}ROu|&<(d#Xm8&E5^x92NE6NwS;|6F*PtJ*1ik<4nCrbksC2GxZ+f7E9Djy&F1A za7c4zrrr(K92NE6bJ+XUn7xOIpC|PmQq3YaQ|}QSHOt+iXg2u;!WSdE+8LGoDRK@{!l_ z#{Gb1b9hM3lzc=}P4hBS@)2&aM9q}Ep~(b?G-qZ?-eAo$Rq}>WO)#h`IZjMG@(Ny3 zEh5*1O<|FnsrQJEn&xGu-Xq*%iJGZ*Lx%|tY0k{lyTO`gs@}Ovjt4!jW{B}~bDTqo ztlG^q1NfOeGCjxpUckFd#}zfNuXlaVzS-<}j^F&u={LKboe=7r$ldWeLDx5uPt)_g zezT>J9OSF;thjMZReUDfZ}^_$dTbYaI_vj?Zm%CGfETlmn*9bRevrL=NEE-M@SM1D zuhZ;5H#hg(+$jS!ch+3yTZ3lp!Ft21JphnS7NGj=c-0BKQ^-FtcaCz34XJG1ciP^guK$2~Vt(!nbp!sJpUW71q5JIBXqjwd06CB) zkE6^nQSwAm$+u%AzfTfUBMB*nSgHG3XJ(%8QYu!%Yfl}~; zbZ~=0@i-G~$&r_*Vd6s1_xk<)p5N^BJwKh<$Aap^^xPNwUc1+F`d+r-1P{DcD;;zu z*i#Gk++yxtfT56UdEMM680NXVUV!gqt&v;1wzjpClOM>t&D};nXY;W5vU;$L!gj6e zdd)#Q_o&%%gMnYqRhu0J_gVzbsXDE+%-u$9&@(c>np^Aja4&-RdIz~%YdbgBuHL^} z%omp&+v%C0Z|CrZ%Qd=fuj+e`#7k}9n>FPPGOl$Wby{7=4RX$BwQg_!zU%m){Jzt6 zD@*qadAm@y^NRe}jdFIc>-GJ8gG3Xn-P`v%4|BcNV7J)`a^fxfu<7>)PKz>vMzhTy z;Wr{!ML9D&!ZV3BWavxLwuTvBFp+ked)c1ftv6eqLGL>`q~{(wzW7!7LC*E+&Y;yd z0AI)r0zcR4BF2@G`la0VetSP`X|~T_iw5GET?dj~fWih`b;KK9MtCHU(w= zpp&b0+tkA?&kj6vWV63-*JPD0@?3Av4kRJfZnq!weMb@zr+58v5r%|*>v2(u<_K-r ziSYD!(VgEe6bv@Kp1aws`VK@5>_rDsUxcK*qH}k=Z|BerVb&W0RI(vxIKG#|bxR$O zXUFIMc+Qpyxqi3XVrh(sTg~xzyGCu10iYS2Q^UhHWlrX{npFsYztQcK>_RaYG@-tG zPVIrS>v4tO^AjYBn@Kj_pB)~s=;hPv`Y?*Pmjf#vNu+fadhuM;?R zwy>LmapREue}HPnp?W>un!8TN?Y5`q+Gs?t#jDxwW1>ENEhF&^v6L#EzK&6767u#ArwRj& zB$>ZMnQqI?`ev{2_i*kUuXxmgN40gH0Uiehuf3DLkn_B8#uc5qxw*b^dwW9>aI=`t z=d;CpVb%Jm>vgR4mg5D1*IBfXQ9(w2#k%^vU;kCVV_n6XZx^C1vQ}l8+gQ+B+ij=S zs&+dpBmWe6qMVaY~u}GZeNgB7{>uZC4 zw~ggl&FW)ZqT8)*-MS%{>K0ZPyVyWdUxwrVGMsN&&A@Uj%oAziV%598B?p6vMU^Hj zq$itRU}tt39%Dtv)8oUY>k%&6zs7e+E)|K0eh9i~H9O)R6}6F<2~k>)8qHe6s;lpR zU>x!-+O+o0Ov|zGr!R*gV1D61WsM7p*}+{Dn+mw(s=2e!%T_t?Irpq-~R6 z%_6g0ziVN^hg~p(xrmmAXc$_H9MI&UR%v1&V$^|y0zaO2*!83M;4e9622(1Y7RObg4*hK z9}r^M@sQhAtBY-eT?@U{9r!gbxRlAfCrEvt1~oLnqeqYITHx7+uFCy!|9kC5F03Ti zb~@N1up9k$3w(nVH=UM21lmpcm+j1EADnb7%=oSDpr7s5v*;6#Brd?t2Rap7KrKK( zXx*+CbT0HEFK|t;&@lWPR%zAMcwlhQ_uL~BT~ zRlQxmS+55|we`@?K@OjU>%*6-`6|1qFI+0Gmat;J>G}b@TrZD zu(0oAL_q``$hRCSA(iMH>ULdwLoOn1^=Y)b{%%e!EDiOV#pX-j>7X~Pkcu$zat1@8 z=X6N2Rbd`T0XWG;Nhx9b5=g*Z)@WPUiWEwOm$Mlq3N}7rLVKWF9R`UhqaW(PCYxyu{>O53=d=fuy zwwf^g(lfk-JUyox$}{HdBd3(3XSGA^nRcBz)ZXjS#pO_Em|Fx|Fm&ImlxO|J^c)NP zS{f~SVi5HR4td(Jr2d=9yov?-eTckZN|QJf-l&jAH8Q2lc>ait$oC_Kg2#ZCv< zQ17>!dy))-kmqtJtp7B0((%hNS%m`DpwD9ysuPfMVr&M^@$xP2_Z_mNel^5=d#A-?%Eit&y%`1dX{25bGA>d{M zm^*V~=%i%Q5*1C@Im5a*8>mROn^*3-s_QMetl@rvsnVgt?eo#4)h6JJ7 z$g1TQ7A8O+m68SQl;UDWT1m}>!({%me14Kj&~b{M`E#cGa-GFog-(kZ_4j zt9o;9Sh&Q_)b-}xOt_wjBqdb(B(=_KajhfPXG2nPdYhJQGm%K>ovD&|UioD91)ij! z49#q5gT4mSo*-dnyRGwPA~ThIJV9XIU^$FWl(C%znPZ`r#7EzZ2E7_rHSK0lLw910%s8hrwmq6~4Pn}D(zb4xbEfS)fP2DVmqE`6J!>Q= z6xg8W&Uhu^BvV115C_L`B|f46W1nY>TuulLJ;$*i2kmW z3n*GCR9Ewre4$V+7i*OY8n9fc794LCzsq^osjQZY#X_Ov6qhPaezm@mU#?X^*=mt( zjjvR_<#M@Ps+VfZRj1%qz2fSM>#P*&1<;o-*H+!qs_U+JZn09R)K;smTQ8K0<(jin z%a^>R6-mzA736zMm3paKDHR;YD=d{t)fLdO>Qri#m8!c`SoW%AaBeBTQqNbGN^Y%| zUtTUR*S(roE;4_Pu^2>*tZTxBf={4x>7r!JG(tmYMrr-!zxhu4xBsIXU;4E_x%QD` z{lS0wjepeq?LT_QT$(bTs z1S9#R-gc|1B}swds5!7;_58D;R#mF`F5 zd8Q=$s~_Kn)8Zw=*kvK}G0r4mTye=_1GWXjT5Sjeo?pvr2v%O6+;i0(q>>Yxcz zO)>EuENHg}D#e`%~q z!*KuA!Eh=M0U|Gj>=xL3!}3~maf>PQKeT#lLoz2N~L@S4NI#VqO)RC!@lti>wSw9 z;6mmGth0J>f0>l4B#(V>x9jg;QhX!!!fm<^?ssDSS6B zQE!AsRtL1jBqU^9g3YMAxbyZ)U+R}#iqvk1PwQ-4$FE1)|(RXSQAbHI}|HUS>HiS zIjN)&yeDAMNw^QusFTo5XxF)rS;!#tfbV3b0kD_^1VY2grLQ23m%a3&mzQeEJCtTD zcT@AsrEUaBFLNWQyu^(p%H?e|iI=vNs+YC&qL;MPVAWKbDZsZAA1SMWcq0N#%#%pg z;Q>Jj? z4HI>8@my42EtoI|$d_2yYFJ49HR)h|$=dM;9wELZY`Xbf5fHisrPS^0VoC?=dIw)j zFI&JoBX3dYd9YZR>EnZ}JSo(wB3k)%rxiqMR|yLlWh+nB-UwKj-KLLu1}r`)S)M@hW!D9^UArqK{ZuO*7KN>Nm4L#2U}!;TCbNyU;wZOBxkSPxq0pW-L>1- z?%bkmPcdU8UgEHr$rbD+P4*|A<+L6-`vDoP!}mm*RN}krBiuEdJYZGSfH6B#;V!!g#EwQ>0cDA0FQ2TA9?8GMe7Fk znBa%t^uRDA)Zu(!q2ICEMAU*s;ISTgR>L6|jxO2r*B+>PXi~0fCXWfkMWPIFna2CO zv{R+{8)Mh)JNLJ@Zf@?}+WhuNerX1vC$QWXlVjo;Cdry*FbjtthjN=CCl|%QDi&CM zLC*#pLg4d~Rggl7VvZRdZHq+6P^zu1{ZjJ5^Yk3$E}H_NJVjD-mHTT-KK3q!muE^g zwJtSlFD;8K-BU^lAIy}zyTaixB~zQZr{uFYw(d}@@v`i7rDlIYM6R&^qr@uSv++)~ z*+gD;ZcNjdhQ-i0kg(DsyemY|Cwj+19TF!7d^nG*CDWQaO}XB)S+Zm#WY+`qB5{n5tFo0?Vc2+aXr zQDeha4P#heyLoeaXKnqXibzm|~rd^i)DV+_=4QcXJ)J zh;J6kiwSp!3T4p(3+`C0=0oW!gkH61=M#aC+U#F6R3Df|6_T83MiLE`WC>$@x|!SX z?&s-6QWF;~q7d!1g^epQqA9$=C@g?A=)l(twJn)+S?^MB5)tV=vb}aaCJOjGsgJPq z=tHocCVc=g%L)1j9M*5_TX0*fc^IYQ%b<7|G}}$MNYb1EOIg~c5?-LuDMWPa2#!h7 zjwuK|4KV5$D$A{kl?`izBxAP<;(^^jssQotr=Y(WVx~c;Qh) znpp2|U-7Gwk+t+aJ(Rek8&P2n2pYf+;`7Irz&Z)E(*F>SgAo6~TeNUO zhWVlFE#QHlINS-XHjGs;6{P724U=$RggiT2G)-z@XX71NY?#M8o3}RZ+}n}L`}W2s zq#vNf?{0p)dHX||Y7SLWze3ON#I%@9HHBHh0pHryn;Qz%+O-`q(BLx7O~i-MTMYzkYLVdwV0)e>c}|e|T^0!woDCoZYq)zzvj~K*glc>Fm?&5;Iic z(ui4~IsVOQpjxa%K2GafTY6jw`3&hs2aD}8|Sv+hB(I-cjkKN(YB=@bqLf$P8M zb<;0Wty#33sF7^0U4|y-v?%B|+YmB(5)p?&LECB#l<4;oA?kB3uw-k-5wySkz5vkU%R@>cF4m5Zx168 zfvU1W-)(lWR8uPw=55Nlh$N*EU4Tifl)-xkGKIXMv$PRx>?BxF{B&RuS*9%-BTW`1 zSsXFJp}K^gbgFcup%;niEsyx)JQ+3!W(TpRCp-E`pvU6`_WtAgpJxcf9)Uc<9!dpY zP2D~68?Uj1on?OKNAX(wtvpRm>q=qza2O1hIEV|=ikkG=c$#gGyMr7?`;V}IvFF26 zWU=8=F@m``CL+80q~+ffN-lx(g>YS#G`2@6{VbdEKSgdCJ^~}S70$0DP^#8HWQK_C zpr^K?cW9ku}Pa z`G_+Ghq+`=`xN0uAg5km@H48_`0crQHf5hXZo_b$(~pPg^V#`V zxUVG)JEL+c{T`b`9Ki)>O2%Mjj(!e|h6;$1VYxRjwd}X|K%p$VQmU<1Dz3u} z9Ew*%jDI6a@|WZ1H3&Uj#3?U`U#izN8IgE4M9L`;^IS;ETjsG82&#Z21VMA_WhRFE zYHmcQFzhJyGt5X{Gtes|ILk2OxX5r5a*DynbA%yNewktE{2IZgQQR59lrg-Rj0NLc ze!}s62cdo`E-6JNjsLwY@*zfL8%DDfO_hBB7%~Zh@Z4bl{(TLfG=$Ye)VV7S8HkhO z;lQ?A>=ra#OP$l@4&4B~WX3SAAfJ&~iUM|-I!Anik%m90 znNiOzcLm-x%S&FqyyWKVY>YD+$F&VrevMeL18s=e94MiByJu;bI*%h7x~rDTL=Rg$Be^SV(;=GbOIlalQn zE@alUy%Q<$ih*w%)@dZpT`i$xPK#%U}B`EI55! zF!D3RdwHG41l(7}nengQ*iP*nmWgq{j4S=qI1WQRpE3T-0T>5nXntThV#+Da`AJIU z7brK}aG8VWC`WHB439EN5N7K%lh!kAPSwBTJ0b~!h|=1W zas5%ci_p5sJhRrj?KXwQMc~^SaE5uZ4+ zP!m?VN|7JCq&}@MP84RIl7fBprT6Ijh7TQLed9AsR*v}gBaMhvA#>mL>|NXX^eV2H z`R==NMnKQ!FN*p;#fO8F@p%5?#l=jVE`{MH>;V{*p3h%gv_9P#z`TG{#S0_8fS~P>dvY^q%MjP1%;p^c%NvjE%{u`4hV?1R;zA-H zfqnN4Oga@L!s>zH#9$*13f1U4rFvYwTFx@o)9|XU z=DlUdt(2En>TqAKEy2IKTrCyDS={fd60bm@gox7pPa>@SLp_UG(0RV!)sb~yh$vB4gh1HUz#O)2PEu0*q2oVszU=Bh}wuS0q{ zOE*eoi6~zpQ_~`IHt*QDMneSf5!ssEDw~6mGh*GvGC!OSzs8N=4Ev_@nZ8-(?Zn*3 zq*-%2f*^K}&~Pp0q&P-A&C12m6caz3ADth^xb_px9+!+PU-rW*W@P%+CgSkB<}Ck3 zQdD-B&hGtlFK`A$z~^-cWAqLjla671T3$7zT697%i|SZ;c{4q0>qH%xHRQ=*2A@AJD{2qKbP zxH^%Gsp~O*Nw#pR=9U7EMlYX}1PX)gkb|#^s#T(tX-}^TW0^1^gqc4RDS59;k~t`6 zy&XkLqZl6vtg|~B6AG&XhvJ6>o=Zlx*9)bJwdg>}gRA zrYf8uS-lzS$B%ILB}2&Wp(zWe$d*!yeY@M)X!k-wWtC#S!qBqIF&eu~jZ>0w$JYt6 z92&N#+bokr3?4=$lVC#~Hb{;fkrdGsa`h_HqoY^K2vm0y3!;G@nvzTc)t4H~NzU#J z4<<>7n6NQz673G$#%!7(a-EReyh= zWl@Uu$I_jONs%4-vC$1Og}iPU=Ik}EI@q<*zt=`V)qQJxzGsQr5Eg>?*l`*oJWX;l9PR}*GMz7}sKaft3ub$r%wBAamW2cu^(XFbBKg2lgdGveAKkEm`p1+quq>cO=E;S5Z*6(ZMym z-A)_d2d+#o7ZSwpqVXFK4G38YrPw>LH@-8_Wd)%_Ggi?uoodrKWaKIfH`&tc6+T)a zi@zY6g0t-~OYcZ>anTJMdm&FmqpqXvo-Z!gX24eonUNkLLbUKYu07W6cuRm&3TYsk z`+&NLcpDIRJ*RaY8t#?{i+@+kmgpWO+f0TKRF!53x@ZQfY%<)7R6ixyH@p_s%o^$Q zB7-bW;kv@mCn+%$JJAW4L0=ufrd@ZV=ro<`xx?_+aMMnxrUfSf&%(r&y(ufx>0prS zZNYhg0p5rM&ZIIKk#mKF z810P=9?>6^$yaP~DIq$@xPFaOnEP@Fb1EZ{sRlT6OJxk794LOM{F{aj5@QE-t1Mb` zb9JvoOGTK(1a97eKdJ5&77w`LN_<+nnDp&IRc`ojC5$NgRS;soc_*TXGm@MwZ0K-d z#W-W?B}99(Q}1Hhro}-hBV&Fkv11jA0nVtT$jCJNW*6EJ>jA!8563>D^1z&N$^oM% zsbct<`69tw&I@Xz(@?^Co9^Ka^|~PTb~s@cqaE*9aqR*$G*@_qjwh=4CJe+`f3}Q6 zEY+G=8I>vqBVi)>K+`8e6)zOWrKq0{SG38ZJMOexlX+qw-GR=ed*nU$rc;F@CHIx! z?3SVBg%F{~5hKc&DGN>-3Q|Db-PyLU!}~po4BA&uHwAW5$6TGD@2-ap*ibJEdA{of zJxndV>u}m)U?COZ)`95r$l^et-)@9EOG32p(J~IwME}VoinhhLB{K8#CYmHZc=r1G zHp2<#snizk0~L>)DLPbU4v%Q0!?E4q8CMy89K{HW&!q&xJKdff^?FbV@~D=`TvA}5 z)SJd6O6XNi9Qs7-B9I*2bGis64iyo-h7|~T331y6??3SzJp&U8ixTLwj@8a*F;HU_ zatb4dKA4Q_oO&M`ztO$Pxfj$1_xjd7n&)uw*Ekshgt;0#N&9ztTCu&Xaua4&Zw_bK zSK;oY+jN!z;3CDfol$Aw_xhYpu_K-HVwfIN$(#Y@%4iWT3t`FH_N{PFlG}wO>`;+V zn-a{mQm)w#uPa1b2zj!nyHfWwvqNS_#Fp7hyoIMEQ}#u%dAx}&Yhwt>XX`pX0 z&{swQA=U)L;YJGVL~mgg-q)KJXGEH*Hx_h?ebd;35~=2R#|?GBMk(4cUpMp|wGBkp zTks<^mgTR<(qmhP3$m*)i!%4bPAK}{R?JlrNM#2-c`l+LUX4Q-Yp{1>d9n}0ItDUp zh;+Of)mi8lZr&FXQQf^qUaQP&K3F{5<9j-1OSIej(WvejAKyo~uR59;kK_ADcEqTX zg<{Mv8_2&+Ga?L9VKyU7JMwT0&3eWBlEUyRK~U@fvT>xmqE{%5!Jd}QE%@mtdc;4> zoE#+`_6h%RHQc;|p75U}o$F&8WgZuLXUIY~_VDiE={4>oX9VPUAUME8ir>puMJmpm>5kqeU4;!o>$ne>E$$vVE!;$| zE~IYZq{+I9%_X@bsZ{CwU)Wsje7Sd8c(8g`J7j)OPl*Dq4nmza5WaR6LM}^b!LF zbfT-daVIg(r1^Gp_^ul_cN3-zT^TK+AT+u-&LEP=q0FN#CX3GP5d*nROaoQq7EBKD zo{QVQBTR)&Bl*e0CQ#5+us-}wF7Rs7U%%?%W@L3Kx4Vd_Yh-B=@JTb@R1Pu&_@dK1 zM)XkwA!jY@rHHB#cq0=aSS{9yU403$*brZ|XzCHJMPTT$T5%BNd&zT_%kEOXy1KgR z)$-+nyILzCShcp%;g7c5L6@?^@*{2UWEwVR;E5itU-`6-q<|)qTt-^ksWM2{lPd;@ z6x<4DP{$R3JhV^<%=1)v{-ZKzNlC_vs!)Vd6(mJv$wMVoOzfAfJK-@7Yn`7wfKnxE zqh$NBsu&zen&wBPz9%sQSc#gGjWXbic7T!u=KX7!0;G13f*t$A;+ka0Eej`EjLDog ztI)53IAx=G0b680%)Ey$`=$vy1aErA{;URCTD_F;I5twai( zgpazK&HR`)#zZim00(A>iy+I-AKx)OAH$( z*O|#+TLIOo(;=%MXCaCrcvuMU56qcD{6wWRNMtCQVPPIrSGFYL)Slvww=wMz)45NT z{A(nW+2h4aU1X|l#mlde<;J3QRcLQL=UF5h+mO8qmL=G@8h~>O$m4ANFv&0qcbyfg zXa2*@IEJvUX~bypjRVZjy&6w?!tYG(iR>qsgdb96Jcxyj_bI%cfNLhY3fkcW+y%ow zu6<6e6$zGBi>CxEJ)PCS8dj&IJTM@y9hC;i(ia{@qAsGRDc;0UzMuNIB0I6Mse+UU z{R9)4=Z7jr_=1SP(|0Fzg_O9oKql20=j}LD6 zr(sX@v6$MIp!8uq2GHl|v#b9!=!*h08GZy;*k z#?3n)+HE&pW_D%Q?8>gEcx6{?u!idZ7FKKZU;grc@aNzA)(`&6&;Hf_w)Dp3t@D5I z?w|RGfA3eU>VNXj-0xhw@)zO)9DP43S8g2!9ka`^rnnqSiNO)%nUd^N|3CzA$*OgR zx}pIw6^a?y!XpZ0^iR$F)!Zo)EhRz4(%hKLhbRh}Aa;uqm58hfcp))n$(6zN7Lj|J z2+<^KjtrJ$`a&i|8$R4M8?IUb&O=$a5ou3%>6XdJ$en$hG>3gAFJH@0&{MwBjCf6d z{yxS#plOw}djR1pkcuc+{1o^Q*xZoZZtw^UcQXL6fFkh?= zk>ja5B$Ov4#7DSp$o0RicFX`LwkNVMbI`%}5#Jc;Qt~)@E)wXEjvnO`{Y!VAfR~6D zV~LAF5Nt>EmW80}@`y{pQao|$c6omYJs0vBprkO2M({zLEM629MeDYBQNeM^MP=A* zR45D#2re!%R}s2B36o2Ho6-}T_K^ibQjP_MvX~Jvo27FkKBwb-DX}UA(s5lC3I}s) zH~=!x=$OR}W%2qJnZw;pLkSt_{T<~QK0&xvCtBc0#JK}T3rt7)SkVHt-yl$t&A zflgNGZv>OZohN@&U#m@V-wL=!vDw1CW)BvvO*k6m-Ka8=3R#H6q>OHe9|)wPr}$;A$U%M1@?6k9QR&Ntjz+37d8$7+Fea ziSri`RcIUZQN$cg-l*t7vQ=U+R;XOo`)Q9F%^D08rPTnUBMxAzNcIKEOfw7_BQX`F zdw}3JwFZ}8VtWUXlgKPoF+zok5Jn9b$fMzc$h{D@`+_A6S#4`gg|j3(PvDxinORLd zHCn&L8lBONh6);V5Vpi`TWedJiWwv@v6S6-()qX+J_ z$Z_^-S=iSg7$t6;B29q3Nv{?913o6DT%%z!A&z(PUEr^}tU+@##0i8X_HN zj0wc>bTS>4A(iPsFHm1)>psq%$Uh(*@YN__wgI(1qOotsz{AbKVtO6%4q(=usN$>B zKyGv(EL^4Jw&OoI%2q=eLA;h2>ReX}PenT&!2TVx^vU zW+paI(ZptWP)QX^J2b3YtuOt=&%b*4_y3o7KH2`sAN=0W{`i0QjlcRQt>61|%YWg! z|Ly<&*IfVa{%IEdtc%Sm&puf4!R8k>xM(yh=G;D6W@xF20pX>7;$BY*cwx=CSv1J@4$%NC;b-R zkFmmSsKefo$z-s_>-FHX6AlF!I844>3LB{1th^ZoH$1DqDaxxoQ#Mr6CU@qf5J-AzLyF*OfxuvS}G!D|X3zT@u!0((nwq(tu3A zO6xN9N=8X0G+U3aAe-Etnw5Qvo`CRmY>89#0VaMk+Hjx>5XQMFO5IQSX9D>rfmca=Es?= zw*wTP)Y5-EQ`A!FhvhQZ>!!2&sEb4=G9CEl;b1ciy$%awXl2C<*8^C49X>I)4~b!D zUV`1%-NVBkGyaOitT?#X$eX3ON7V1cH?fWuNp))#46L3A-q058-XU>W2I+_yggsH@ zhb7NHDyCt^5egmah)ZpG<7{qjT&NOqc9nnW)>{lQ9+`$re&D*&s~SsgQfr4Q8;eDi zNQWZ^>X>2wS-9qUw{|fSCrp3!aYbmE?g?F8%m^5SR=^^59T6t`0Rths0+>Qs!8o|5 z)4JOobliOgftggkM0ga;Hyy;J@?i_r!L-P?zUd8i`@)n;qJS3;Vu9WAn#j|CbO9$- zQ(}{02s-AGb&fjTU@56S%_a50T58)$)6_sf)1?piYb#wS4G{wEQjeu#3nQLZ? zV?FY9S}BwLOp;}irYTlv?K(V@=^8VHhN$5|?c$KRg|L{R*^@{l;~={G({d1uD?oTJ z3N2OFcR!r`sWq6GarCngUwFN!fl16It#_+f%ET+Yn27}TQq~_Zm03Yh<-Ud6$`Fm6 z!gr8K5v+4|V3`xKZlP(ag*^n{qp)YNwefJ-1qBMBfMa4VNFmW;*l>H;CYnT+IU}Nq zQJ6H$Cy8phuFLb=0%^44dx{L+a(2BroA}pB*cLs_u|Mo?sw7`aUS&V89 z5<&)8xE$gUE^-CiaTE*w?9gecj(P%BAxau}1M)p5*r!cBX;K4r zA#z+s+?6I{&Ry6R)|nRw#^f3?@=-JiWw)L> zgq;*g5Sf9|O>Pux4b)2x31=K?do#ek#sl;S8rhb#cA6AIj$)|va5WT_Cw^*6pmkxz zqy`v>eGgaPA^=~M0=n7^!burILebw!nrk?segN?mR#>uXICDk%dht#aj;!3IM9ScG7gSTZ*U^*a*nWh#gdk9?)2u-+(y}0fY60!I*+#c! z5omRvhNB0UQG^)8#Ta<#2p2jj3M95o7jeBs@7JM?GSL`}Bon^Zr+`2d>KD9}w5U2NuyAXAa>AlGkhnYG8hz`6OAW1zCu=aIxv!CJqDWEe-ahbrvQR3Vj3YbqrTly z+*AaEEEg_b2wwRR*9lqV)+}y;Zg@dPd{4rABDE3(w{VqaCUaTgfaSoAI(1AcMHJWmcv3UsY+J^T77pdpm+q(M_S{m9)Y zDhj0L0o{w}>uY9I(8@43ZZfE1Plf=brMY49W;26Nlo_pHh?N2)Uds@XV(fD@Uye6c z~Jp(Vr%w77s)1f;{@Is*kWq!FSh60^h7L-x1g?jf57#vS9Psv$;8uzPeL0%`cQ z8s@axw33&ip1C1`UG+ha?y1fh_o>rXyYY&clGs2>3(yLhguCKx1Z^D#GNY!d0z*HHq5V`OD7L4_m1pWbDQ`B}c+#J8?HS=) z_o~{zhfiCX0u*GImsV=B@Z6}t@?XXk89fRGnZ^9@f!Atfajqvq9Aua3^}NC`?GLx) z&mMq{Q^a>o>Em43`6(e~x1!Sa_*HU)4;okYRgfHzdRexYvX!dmmRDKxH#NPn;+j7Bz?~TD;&E=17mOXn^^3HjN1J|yvbEvj`T^Hk zv#pQXSXrvt&c~AByZC^zjoms0c`gR2lAp&hJM4_bT8*Q2ifDc0tawZUoxy{CG@K1Z z7+(U3I3{X$MZ<|P;@T*}_);-)gH-VZ$vIMSEDYld05gv7R}%ILWoxAhA(Y17H^zXE za8`T=yOGg7Nwc0<1mKlztT$*COdD5X4XgG7K9h@I_6#%jLu#HMUJAB)(DJ;AE5h3@ zT5|L?Wvz-2tY-|1KhB9bm$9&#`XP+`Z>CN#^35Se7mey$t<8+&!4n$x8Xfsm9+^{T zYuK_4a?PS^^9MOzKZ719FmD{$lYZy9NW=l{WcCx>L%|dAW7#`=>*Pz>PdZ(=r8$1K z8Dwcw<&fxOM>4~ug1yXAywW0pd{5G06jV@3sM1(4M)G1KUmIB_w9lrtaOce#$3+u) zy`7YUR>GbnVgx;j@lZ3g!HM{1@DP>oq89+q$6S)DnwHa;%{6F=7*hV6fKJ99)M)1! zdrLKmUEoQ_4nMrTzJvsjpj+#6L5QZ~cpo1ENdrSZH^7rDWtznfc<`E)~)9#&YxL{;@9fH&Y{G%Oe zSco(9ae&Ul`Itg?)^6Y?$-ceswE6pb)_#bc6M6HDf_ic7-p-9Xceicwv~s(TIx77f zTO3A{Up9;nqdB?}vv{~OXPu|$tP`8&YE5DN`Cs~Xzqa|yFPE;J$^X}@mw)Tzw@&{x zf9vai>(syR{GEUPSAO>||3C|D;zOvsi{|2VlnIZrFSp&Q!gy40%-mq6aD!2OcLaH+ zzJaIzr&zRGv6Nqk8=KSKaBObA5ckcI8wm@>B>j?AScrQBkTU?GuR5(T_U`2mEJWVT zYhaFZszRJD#Lf6)i@*ibSf9*9V)+Tn$pyqOapY|$(pSM;KrY0+DaNe97UJF$W8l@A z4Q$Yk55l-*!bLMxhpW!S#8wb5W7RH1BEbTowwi~T{DQE!6}8Ymi(w|V-qJH+exIHR zQ~mTz#D-1JBp-mZToH~oJrm9a>6r*to1Tf-wdt87$dz06=|w5fEyO7r;rXDe;f09b z8G7oVi0p;TLQ?cyYDYM`6K~)RnH<%x98buvC}`ryXrGSN zU4o}Y*(D3JOnM0;`;OhQAgnkw@nM2PCFMZi__>rK!?Duu@E_C+IY)>;3T$eX7gdo+ zAYHQ{iXaBAh_ot9-to2?Da7GjV})eATO^8lpxn5S-aa-9(6gw?B#t~ZR4KV=iJH&n#A?cx@@=rrHFb2X{r!(jUtYg zXsLxLlC1b+=5arni?3+up{k%^xGH0fr&esLtSAI6Mz69eRU~PxCd(w$!<`haXBB$= zBMKpWGyO&C5q23eJ@&68O(x1BB>BVcL{fhB(XH5FA4$RuYRXp)K8VH+7UjhKgAkdUl1KW| zEc~#A1%7|h)x(I>n=6ll!|)M#JUr0hv6a#RJVOqPglmt*5;P^j3*^S*;*6csUVSWl z*q75=In4LTosbfa35WbV4g*{0-SN@mx0XT?n?Zh`0LsUczt5HbMr7xk&URnJ-pIV( zNF8A$z<1fvwyU`JJS>zHHJ7C`wizzB!m&RYmL7lqsIfUt1*i2KQG4Z7^dv|>9#;Ko z&2Qo0ybQnSQg$`JRIaR4`Q&`g*fyu4A~IQ6bkxT+qZw@zE?Vv{K(_8iUa zV4Q*ZYt}1xOCda_Z$#vRJU-y`7in4t8nGlQX5E6mFL*Ap(M|-OqN>7*-ZE!)AhRN> zEV%VDqfXj*m+ZxUc!=mrh_M{h{k9)uYwcbisFp#>l3OX~SC%V`EO9fQ&>VwY8`!?s z@m(Jq_MLtQ2(gT|i!gF2yUVpgRoiBY{dq|W_U}VdUV7+?>Py*rb+uCRmbHZNU>Y@Q znAA~Ygki>y1cpp^2x18JJ5s_Kc9bkL%ow?4uyGQ~aA^|B`Kc1f0OKW%Atw_hhMq`N z7&u)t7$W7DB`4j%Y=pdw6_at&F-j;#$iiq57}N799iGfhx?F+{>!zN z52abME7?+QwNUbkJo3|Xbbm9FlW-3~*bY+4$Jx9DKzs-2S+V3>S1_vdc=QRyr18DP zWUp^-XiCOoODQVN%|nd#W~()TZx0-_ra(R(i!{Vg_1uPc1DgWirh(KhUEj86Y4iU*5)zK6n{JzQ!bhR#@#^>z#a!Ra~9#~qHj|6&|kRl+}_GQ$Q9=@;oB0VZ6J9zB9lX&8J;JwL)t_BqKh zMw0S-agE%DaLWKWCp89GXu-~l^h=I@;O6BaKv0ivS5pZ7c5>KxM>+>eKP8ltNXSbK zE=aV`*26lpQ`@(3F#@57OB||#XA-PJgr5=tlE-ToPJ4C++e*#ufc)kN*g|RY7A21= z6}=OG39$$6BWc3<>@?|*Nb{}otlc+16m~hPRbK& z^>#)dR;vU(n$>&wGc!M&nIAqy^TYT;M2|;n@xTA>KWJY2#lQaF{Ik=)_)q`X@4CPG zH~z)H{Y$^M{~Q1Be|7fTf9~i1;QOJ-COsV$+rh)2;|SW)DVEPDo5C_u>FzV%q;*>) zTre3u$a!JrV|h7MG+XSfW!8lSVGICP6J$r2xtVZ}x^-)Fhcno|kgBpQzDRv7;nH?1 zzG%qEUY5DimrPz z+ff@eiDKfNfy^~8Kmbp%OAyxbxcdaU9p-~vZjISIFbnACiFOn;wE6HD+YFf<`08`m zWQ|jsU&6L9Lp`AaFlzv1M;F@8Wgwrzv@OxFg~L#-t{_{A!Zk$q>9{IjHw8i>lPg>o zUy^1<6ajcc-B5q4>tYW@fEsIE03`ew0AhDqyLCV` zYSVCY~aob4Au| zh#l&C6KK?UHQ~}ms|hnff25C86VcE(Ra>_|EJ3m_O=<&{de(RO;1~=;$H&2PC}xg_ zL%_ragv0ElI7JC2juV^wC1Z>kI8JO#mw+wFym4Zq&NO^vK&V!BkB=)fZQOhep%m?m z8#W#~!pD)f&y`Ul?;nbt(&>yEx#%P&TuD1JNMjV~wmgZZghSXySl%#fA_LqId+ zYZ&Tqu0a^xE5?B{=Z^V(XDz@E07n}|mlj@ zJOq0KpN@(t7-dUD@D;&Gf((v=AF8wCFwAkRE{g2g8qlrhh(t`WdfQHqBKC4r;>8SN z&QiEwI+GS>!xY?;0(Lrxp4xiQ$3fp${FRkYD?o!QJUanM} zlCxSaIF6ThSIVB3*W&&qRpKo*m*H3ln1BX-5owR5EF&O3q*HrNlE-YAj@@#4oFfhtwTEf1ll#Wg%!PM(=XvcVSIgv|i*P+0*) zv*ZQmk*p!obz8SRjZ(K2X+s503w{}#k*9V@7y^}NkY-MlCku=!(qa*!$EH%l+>oI` z!@OvF<)J3!M$;t^!}K9SB_Z2t%ra+X&v5EcAsL8tDBIp9;n%@8=On)j?n-_ovG$DM z#}4!blW<-Jga78&$-dm~MuPkM|!CsbJ4^`~dXa^{vXWqYdV>_B}b`THKalhiU z8bB|LxclhlGQ1Gz%8GnZ6-}S>jf$!HWaDQ3sRM}lo}r*t|PguoQG(P(IA`?U`;R2-(g%= z(Za0K-rU&OST1Wfp^0c7jU!%n7`SgTj*KcVxyIe{vWR>lt}w`oJ!g+UFbtumu%kdv zsJ@8z^0^iM(GqAC`V0+^In_j2m_|eNsF!jz%yypt-e@SSEt~Bo)@9<34iQoU*Dui0v8h&jw4%ZiE9g@2;|wmy#q=Z>M9Julkf10LwG^_*&bBr+Q zdL`QQe;H8OCv%9~sD1J&G6KQzBm<|Td%8JH&j~t@XrzQgF^~DTk(*Z|V$)*KZ?ygn;!Z&{RzxerA&iV+@{W_xSO0AHGc&NTfjO=7O<2*)k;&>8GDGVKx29Ob;Qb4!^9pY zSh2x4nefJfqUvm6eg>=NScplTKYCRf zk7cThO|aIEM-63Q1l~tPy-eDz$Ykm*XII{%8`-4-D%?G(Ewk|o z3qY@in?32?RZpA(;}S@5M{CFGw&oMh3!(l3KhSBly_Xap^ zc5sa;-RGHz!xq)cf5jocAQ}$wZE^o*zq^ZDX|W43=u0PBk&2^ei!Q|^UvVPyClN76 z$I0aSf0775PBtkE?Lz?H7CGg%_UUri4$kPCeWF7dsa~?KcsCBgrm1N|F_ti;qVy7^7{#r-e67 zz{i(W{MY6 zN1UroZt0p3WzaB8emp#fVw!wdBus8#o5Yf2^W=#muqJgCnLOvD0imZBjguQtC()Q> zqCB|)bt*=~Nck|Zg=WeVhf7W5UZSD$6F~WR^7pwiR*oLQ(22%L#1@_BZQD`SCUXZc zaDL3#sgDr^l_$N_#OGzE;&p`fOOi+g48pzAeSo`0nZ z)90xvFOM$W_S2PQ=kM~<_cEPunM+fYczrO-HTT;*jP{yx?VQ5I8J4l!;l3Q zQ~fZBs2yFS2z@ZfP1L`}H%F&^t{+&@7$?7?Gm(Bu_a?Pacd>b>%cUa#BBHi9l|5^) zMwd6zrh3$!!kEt7-B`PJYh!j)yIfdab(WS3E6c@t#Vc0od1rQ1`xK9A6Tgvqz*z5p z_S*m1_{uN-Sp6UW53k=Z{9oNa9K1bv?{B|+`R{-Fo8P(o3uTT&mogZR%314S&~XIM z9u?PTludDxtQ7ExjcgV+wJ_s!T51X;=3t2XiyICt>BmSOkyRW^h@>WfZObA*!}`D% zr!yJgfP>#aTwhNff#jv=abO_B4>KoFj-uSm=EPLnZyHQV>+FDWUMCc$%l#u zou@?(^z@eDL9xkGB#nk2Qj({bATp-N?}W3)NEv=fA&DlK3=;VrH|vZ5^GniHH2H8h z;bb>?rN9OOVK^tMYzK|0luSd64ODK^h7Cs`KYYw@&_Vv*tp}{_|fg;tTqlBhYps+2#GFiAvoYl;(ooE zg{HzgfE?#UA0jL9s3bg(RAFo?c7D-H7EU%bk;i8^-cJMT(?U>$y1|jCAUE+S09lFW zLpNkVb8(=mmO(!(p-ZOPmK?E-GS#+t5+38U;PG)C%89{Yk}=f|e{i z;Pz54M_ZH9i!fXCimSP_U9g1HgQ<4s6KPF4LHMTWvv(j$^-jH-1RfT~@Fd~R;n8T` z=k|oqKE8Z@u1*zr^Wp#}1VbKfdhs^WRdL$8#+brMBCU+9n8{1IQHZnCewmK+qk~bk z$1COioAWh)zt_jzZrPwwE);1$o#r8!du1!d)q1J4Qd0y?4yjwfmAoV>>0%*4)i|h! zwz8g|+turH-MDokr)%Te+_1NAtd&+mXU^#fcsUhYJV%gp;D)ASdnHBz>d~<@=B97Z zNOYR*@`3mLMlgSzPw0h@aRTji`mjCge1G75wrJh({3;wmt&bfX6g0cm-KK|IT~y6q zOU||4Z#?v`>~;or*WYF5(HOB12K;5j6^SA%1HVjcU(#PD^w!K^KlBu*p5RMUGB^fN z_flmbQA(E10D}rqVO(l+2IZAE4*7tp6P7b5#3DF1mrs~ft3_}YO~F@}WHchpk|y=< z^0ei1%^(@O8LCs~>nSIn_Acijp4ix%P-c_PkG&vy{>r-rQojIJ!iF&5fLHsQ?A zuEBVfAt3|^)B`y{DLU%tcD!uQ2@ttRpk3SAgu`iu&R{-ONEZn^kmq2ni2{_0k!(rE zscUd7VjxUD5i}Uiw(TH{LgaO9x>=~_xlM;;CMWJ0A|%C&mQ$;BeL7O1qmfUqZ*FZ{ zg_V4ENfyWPl)GoU-KHo98@@`uxRSfQxxHf(s4YM*W*(tNx^oC;N0=wnaCp?BC{Msh zt*C=#upNqV21cU~VZi9%CLx?Y$(0dKeLA}X;s2V+?9d?;W@(zUx@{B=Nk@>vUJQz_ z3&tQFe#Qtqwb%1%*rlO1;j$ulKobr0OZ3o5m+Sbh^{G^z!Jz$a;UcK*wnC=0nwVW{BssD6Cz51hr|BSjcXK%6&k0Nohi*2Qu}a z$tjQ=crYaeLHiJZmPe7De6J3JT*W>T0*+G^($|oIt0LD(sbE$)6u4+#%w*PF7aLjR z&fNm;(UvUGZa92foVc@bGl1`%bQ}YsB-Ds+0^TXjsspC5^DV*Vik>k{Vug{7Yho zP+(raF2-1+-)`mndX0cCE(-XiVyO^zdH(Sj8_48@bNLFOYYz66HlcKNa3w)NKuX)Fn#|mx3vmPw z@eRXzJj@5+TB zbACNKGX`7d~5vF5M@dfKM_IAG(O{#skmjBL_{3 zZGH?m^cb;(sFh5@hYI9Unn|))IxK@$u0@p#;814KApu71I;2X(QiGdBOv8gF=;P*Y zM^c2(AjH9?Zy+xH^Siw)2D$I`TDYQ*<|3jeQ%Fz*fDlsmn63a#wfoSc8bwG&`u=Ae z>(d%OUp_=LAny=#S-sos!)XWD(LMw(q2Puk$S_=1L~O;jvy0OcL^KQ468b1xXRYIq|p@sV3BgJwwG3BYL33>oJ@W**_#8E4=Fgd^NAe#TIXpPJMS)f`LU zj*kf1nJfa=Vv*qu1#gIzp7fRDOdi8GS>6D5N{4FUJi?`=MaUs&(+Q#`{q_=lk_#2X zk56J1MxT(R(8wZ!)i6jNf!mleN=ZwHJ<-P+Z(r6e_8~;wYI`F}@>v0zZQ!HPrvmfX z+rXa~FkS%3gb_6#z+&7&kL6#*$&#aijF62DZ&#=<<16FoOuU% z=YE+DDCXYq?&arsKJ%)1B8SU^&h|WSAY38u6+3W{#$ST)35y9 zKf4$o3eop)=~SH5=tgbt+HO^$Ix0A3*634MqpQ9}_{l<#0PRpvGL2PhLHpa>J z>+v)GR4aC6E@SMxGIAXJlo5|9>C)RNPvxU_?LUQ+(%JER?4Www@w`1dpMTu*d3)*u zdfPlQ$Fg>ILXTs#$F)MRKPN}@_7rFIBq*~(dT-dY%o^HIzMPSaJ&L?z1b2S&?Yp%P4;w~#2j~G2R>!i zkZb@8Z@66;9#A9;=?8`uTf%=d7BFNa7G(yT?sOM5eHiJ27l|AT4=@!l7S1!cYCZA} zvla6lVPehKid`{Zm+TeuwHSS+n6kR66$(JPY`#ZOuh8JZ!_d!#F)7=fjuX$yRMRf~J5&mI@Y^b(=nqK_Mx_!87F^C5nvg zp@dMG2~jfBI4i9fP)|a1NaO4nTk?QO=Kz}%04Tw?bZCAAu%SPQ2=sYMjuxIUq@;mB z7LAw-kk2Vaox=Z0F0luYj2tEl1}=IOWh;m+i$5XL1)(J9HSz~rH8Kx~q=~Ykq%KR^ zY3NUtH9~rddOOFdq%E>d)kAL=UUJl|M&auB2K$ z0%9dk=E2sPwu%Ulb>y{`I9F{uus=6XgAY?#C4A(}s-!kbo`PfrAc%Rw-?wO=i8q9W z=VMdO722RIJ`(h8`XLLAFol2lgpRSdCq3#CQP zK0e$UVnLa=4iP)%*zv|p|(J)FYW8cw;M*MmC~8AhK(bHkQ$ zrK2uW9}Ppe?l1`dz9u(U;BIzB?Zl7^Cg+a%J%0_|-PyY&Hi^f5BHipDTy-u=#b;*JLCcD{4|qK$ijB5CA^ z)~zFgl=Sry&UtX9f^#>BYS#K4cy)9V2|)+y?pC?MkXZszU~iiXoedE45A&o|DITW~3a zix%3LK}EP1nViE~OahRg2!dXbOFdWnh&&tJF8lyH-M-asf>ye!MEH|u9wFE=oN0wu z1bpDg^N((Z!Y-M(ZAiGu8HX}>eAsk^d));kVHXgpuLHk*aVv91vi3XY%^Q#|Kn^c( z3$zP29N*xV*zfjelONuQ7j9ptP+u1^w6Rlb!H3^MN8J{;BT+=awunRg9e5DN`cq!Y z)B#^Qs?*^ENWOw_u7i);MO^gMtTkxm-$b90NTL0^CIvmDPG9&6CY69EZ zM$AFwpcsipNZoxNo`VQl-Lgr7w!QD47l_+%w})*+AAb4z2I^A^QVj>oU3IFMfV+vIf14StlbTistk5?BX%}v=#=H3}>rz12+*N3O=bGWl{+%J7;3;z4iyX`F8mEpqNtXZ-{_N6v%;s(5Z zgg9wiU3hp)SARupQ+)avT7UW-+CK*xaa`xG!`Q)~sL{)DUoqEa3=j-*QTFtF{#Zqn6DOXp@EBTcQzT#D_thpCn zl;!PfVK+%!Z^bk0O?bQe2t}akntLY|!rt<|7QDO}@{J+LJHeLIZ*acw-owk+hv2wQ zd;R{P--JIn0urcF)(Bv@j%x?*k#L=Qljnb5NyoR<4VrtZ+7Ye(q}g%1k2nmGW_4}K zp+l+x5|pN5xucTC3Xj$wjVhnS$L`0X%5&t$F5VMLLbwy&#OE#!lBC#FG5y2kA3O!Q ziS5QP4Ll&z7k96bp2FE{L(I1*+}(09zpBc=+6}U_0O{;f5MtaeU* zP|Ugo*HL9&f^Y5~z*jJRD`Z#mOJycz%3o&RpE&^grubGS_H0gfc*?i=c2v9`w?1y` zLBG!bKYQ;QBT1H}2}M@q)ALbPUGM6bbxn6yRZqHyyGOW3L~d1eL`FtFx-%=YGoq?y zW*chE&CMgc)5AU5ADJ1&unde~R|~9Iu`48A0v3r~B!m`$009~egS0ym`~V@Xc>F*} z3j!oq_yH^u3*Wi-o@@7-T{Abch^(ra&gklNce8WPJ@?%Ac_Jk)U-zU_wCNAde1AOx zqIfDW%D^ZNIaAO)C?ZjB&o{S5hewELgRn90AuJR^2QOFgPs`ixKA`|zn>FvJxF%0w zKNW*(dbdU+q@G2r_JH@kcVeZy55h-OdSef|gaL&U;b?g;#vm2Z7sUom!9Mh^_Iy?Y>- zqXT$r%k|YxJ*e0H7H($k)kffl?N-NcG{SCYy&mX&h$S|!@cm4nscrewK<~tFI^H4S zX+o?TxyqmHRui$yG1Pdp|7ukE74L3|o>1eLI{~{}0>rg0#O6xk=lrea%E5GijbRzv zLOWQ~`^aQ^fTu0-d?i@vDa_x&xg0@`reT$ht+3J1E`%6|y&kVxZ$ZE^oX{DcGBF^` zA&gNP)ke2>++F7%d#1aNo8!jPbkf_7yFwlVWw)L4e0Y$OUpon#?8nUW1rMSWAZyF1 ze;guf_Pst9If~BMtk+xEa+-*q{}bd?fK2Z`8b67{tY+N|_szYn4i) z1~K%WAAlTn`h=z421!3XrpEiw+Yu+vjY_3i;|n_O)f0JR_d6t8rC6a64)47Uc^}<) z{~B)E@|Fwn{A_sGA5!qMjh%g5y|2U2P2u+5V@6gvh}~4@szV@7DF}z)L&PvcC?67K zQ*=JA2=ZPC?J<-l6eXXUr5kNEK8wKNpb>#_f4=NL`n~442iZW?kN6GLU9Ov zeaHu-W0nnYiF z?}-So8$Vw{Xg(QamF@zNZ;-Sf(jEj%b&;WN$PPmE8j?t(uc1T3@U6cD1>Vv@TESe#o1&=2wjZqIy{R_Go%cKO$d>ZV0`Uk8NG) zLx?3#N;Czw&9zv#^}1TsxM&)E#7FIzB(2eaZ~02F)?BTJjm~nX>#wh_tV09RY&IJ3 zJJ-i*juZZ3Y|imQ{aWm~oOAq^MPquV#)L?hRcTvb_PX`7wym;cGSb*<7NYU%SM1Va zZQys`a=c4O{$dDrN&UnKxVdV9i8bdtHhT3oQ2`^y>qixFp9pJ1IIAUysM86t+HE6e=*26ExOgxR0IdllvmKI~fj!MoyU|1Rw#d*S$9aeC190Gg5>}-Qm`0USzlfCTPuzAPII+eUk`m;x49o#^7tYO*MPEi z9l^SccQ8Ek7d$75f2Be(GthEQ#*-MaUHOEb)GmzcQeJ6-zt{Z*;&S?qCZ_DYtu z$JrgAI-7a_+U*_ty=#Ht0m7eLc>h@sloZ_%*Z(YRDW2`F<>0ljypX#<%C7ZOyRY-_ zT8`S7b!GRgivlMMaS$Sy^7`l$KRh7NFq>4)}VG!SXl_$Lc@>{u9~>C8rF))NHBHKNJ$Qm6agteV3dg4 zy$bnH5@xYOz^pGybb!>rloZO7k{(>FDFp(_hbp*FE5NQdgJB@W(1!qE3`tNoi2xVVpFF<1C%-hwLGKvOziM?pi~Z~adySjB zpIM!udY}8@Ew!gvFjdF;qeo537e<(VZ%Zkd`j|2Pxe~*(;JTk|z1(T!^OUXTzTFMS zu9DkZcDuPm8wssY((0?S_&@6v#pLnZCYYF^b$E7H!)86oJt*O`Ac@$-uJhw9l7veY z2bsaa-yer=Bwg`7piE&^9DJpnWR)cC;*Dw9&l(z&TG#g%uM6uujZMM)4eK(cHyhee zb~vTjZI$)w9cA+Nj?{wCHZ(gVgS}{bxmqCwiI1FT<2@4Z!zf-#S0Vb9=JFA&hs^_d ze_#$c9vui{aL_|s0%RzHP+nQ?5Iom4F ztB0*tv(fJKx-0c?x#&8n)piCjab#Azt1b4Z36(odu$<9t`4W z#7zPj>4|2KE?JL+sA1wx*a~^U?q&<_4sx4Kp*-hGGf;kl#aauJ>_teRymS9y$QCXO z4*uL>^W@kXBMRTeHHK+$;J)V{bu{lBeTOM9>gyHI!MXc`u35!v)@T+KVCl{v;K6wG zR5Qsz;LfhmczZSr?Bacm)R%#7r@ekju#o)9Mzce`hcQi#MoVQV1K4YWz_vT~DHg6d z?i{4=A{&|Jt-ZcWEVzAPhlysVV~o%Sg)xUI3OzAXlm@r`%bB=dGn`|(2z*A5q=1+$ zb1>)=k$;V=ag2&j!5xEO$DIGv7*??w=oC`}i=$O3Ht562Y%kh?>?W`}wD!sF%{8Xb zJ}{Weja~Kj@NpmhhLn1ai`wU&?daTNA2qfg8)ae?(W}}nET8YsG+LV@iQSR}BYLFP z^lKp(CleMutn3*P0b-e&hEH{M_UMbi5&{5y0@;2V1~^5IhB)nNFQWx}X4x>BUS?g4 z>rbPTip}+#ILn4(kvfoz+H=kTu*4B|7u-bZKiyz^Wfre!=~fY}trgb=`VfX5H^Jw7 z(ruT?vL~Jrrqs6Nrtn~@_m6K`-50@O_(Ypbtc_AK17!BJ9R1zwo{ZFgeI_Rb} zL!a-mo2zIrnrol!n8pasJioZxW59j_H=mv!-?7e7OuB~)&^}#51~}m}wR1pColG{U z)l2r7kK4usJTO-8Y{(s>QEq-Q&LRx326AjxDP9@K~fN1$&9Wtm$)cdsCq|wcFu>YA@aTb=b|oa05w0qZQfi1z_MEiL0>3i2;CRqzkLfJw5pCUBHB- zD~@59Z+EN-cqhQ3$2HsY-UPc#{)Y{QOGjrdBk5q+dmHWf*Z{WNWH5WwnZ%hpxjifh zDt^(lHw8f4yuno@`d;3z`E>%fd~F~|bcllBai&L~z2AZe1$fsGNTk8+8vC|Ai6T5! zKO~xU=l(s6ByLt>NbgL$k{nHLqUAfYjx^R{B#AogRmwh~-MMc`fQ06oSp<>E14zag zZ@jmR!@fPg?;x={?h1M=$GE57isON9mVI^u1zc;4TpX2f0O6OhSt4K7?v8Ne#6|W% zV~;g!VyRWGFBk~z;)i} zx&(dEZNQ%B@pFbf9hC{G&%^mt6d-XLk^d)5NnR`55Qj1*Goixl6!%fk%$bNl}eCHSO(5zpmX4^{VN>U``vG&AX#Rxx48F z-R>)50b12l3K*u+W^fFsX76?}dVtXCc6&S%s=J1S);=}yTiuIHPZ9~%VBN(@B=k0c z#9rJWwIOQ)uEA!!Y@rl2X%Ks<`V3K^+=b~)4YzbipT0;djCGX@$IS7f;9pLAN?9sa zMxlyZ@Z~}kFBHe6HoIcD>>cs~O%x&ji?C$bOhxdDnD3}hdsu3*AuSK_-nLhh=&VR* zPV}o06(ey2F;1u0QKK`eE$)e-6i!0-_31k8Y%Hq(cyyn2BX)~oIBk!C*h0ozO1$Cr zbQF>}LqTb;^!lwf(6kSd@;x6`RVUc|vO%m9X9})elTC&z~1|TJB?FMepkHaqM-Ek(vU7Iw>s^V69F@-}6PH_$Q2QiJ}2l)!` z2;=0tKZjmWxh>g>dZlr-SgAI6i?Rqk|56H(~zS0`HpDUdLHPN=|857@=_N z1z8RalH($Bo9YDDSl)gBV}gv)@zbBp!Wl2ht}5>NL&zL>x3o7?NyMBQc13VLMS?wN zWqFc)kL_x-eZgJ{dz@^O=e{yha9X3VS;MbZwa>zC?8mmj(mcDdM6amv!X5H0X*!kw zGfjyY_6*K3kyJ||;tvKIeMtjrN#zcSwdefp37It1IJ(B7dY^H`$vhw+IS{;15Ko8O zS@4tD@=ugtOEF_KcNYp1IDVC41NYD#QYTR@H@mDE+RP%j8#PVZDNk`vk!EB@ggUZg8}wnK40B}K)0A_& zFIU87bxN@ z!S<)$^SnDf?`SkbC|LD~Fbyfe5NzctoiQ#M!s=}w=5a*o6y|nE9)*+=4%wsG6p;B)+)p0luA>psUa1Q4SvdY__rohB`vLQ|Egq3&)vvq@81Gi>GUhunYKDUSx zisxRdfp~h2P6MvNE8R|aZMD9#(pnDul}5WAb{kPl)XS>GMXGMgR_n=U6hu~^uolE6 z;09^GxqHQvd;VTzUL&qS;t8VmMHUZ2x`{n8d|Jwt}v;d~#ek&lGU8^e0cJlMM#TQh{g_GJF|B+|DH_~!z4ok5s(!-P;v2-|B7kims zMfXB3_x9d!98|mG#|Yhkh)FB8c6HV7wpV*=Y@IeALU$=6eQ8fBZV^ibmrrrsdtu?l zg>xG4CH3uP*6_+}YIHGNSjb;(Dw5X|*e#3H0##&VdOKMUu6QKr)yrjpy5?hh%T?du z2nR9E;QZX1i_8IVBkcLJ!3ou7BXe-tH0>(D$81cmCV3d`jRk7S!sF=4xMgdBn&xA3 z^i<3Swm@}rk$p4C!8w9I%Wt&c_MaTiT35erqRkTXVmZX{qNLi1;Sh9 zIhE~LJzhcZREk>HSoT1=uxy+n9G3UV6w0^#>DB1z5naXZKgHdQRWPsaDRU{)V@lzD z{U@WzAO1D(LD(ISJX|&W!Tulq6+KTc(RB<57TC0EdjN6Kxd4%#5^`L?7yb3jf@9MA`BIjzrat=L|@PG!JrahFkGQ4B5RIn$HK2W;_P+d|N1l> zEUESzrw%S9KAQ!Ks?5u(Jn4IM+MbdWwA7T~tSN9V-s4yw;)X4#hq7&gn>nAG)K#^z zXI=IWVKUS2;RBO&Z`1!hc0RzvxZ`;!Ao;lfUCxIX)1_*hedVo#($p|m3i zcJ~Ah&^_eModUrG3Gq50N<;-irWPM#MFgeumNsRD{lHO=Xq2jGsaC-N46X6!Q-s0I z=@+4QqyLLX6VQMNjw8_M{Un@GI5ipFZF7k3op^Ug;eM^6(7lV8#WHOS$7_p4Kp~lw z$T*|o!VxDZz8Eg8p6UmgUPXpDLwMkLG{b%A2Kc1^s4tW&TyQbJSiO7uoha7M#7p#fVm=}jkGud0*^@XL5s%DTMP1v7%O@C& zXah8GC~9St&`AxUC}bW`z`}^UMrF5)o`S?J#)~SkmKGCnTBkHk)Ga*BMr0xjiJJ#U ztqz7FkgAB26*G5{RV(#;G(2EWq{1euDkA2H#!MH>9#J%iV3<62uAyOSZ;Ltu5yk1sgVapUm-7Dg&Q(`Yx>2~xZU53;g3s;lQtFiL zE-H_x?t=PA=`Kp=KX*anG=-w%hU{PhAAa7!7{i*5zDHIr1ogyHh2^dPg`E6yW?*r) zIZx@hFnehw74a<4m6gyKrU-_PaE`QHKnW-gBSuHl@WoF9DJ>!gP>sr5@RTX*K**Lc zYP&q5{`=qkOEh3qG{>u$Cd2?G&vmpdN49SpmilB*>s_8@LlPC`SBcwkYQ3PxyHkXr&CahQm1fRJ{ z@Q6b!e#*X9fz@V+sI=p-Mw!eawo*UEs1=(Nvs-6v>xBDoi9<>OgxAGT81zBv26M@i zee;AQ{xrU%n4dT{2}2>%w-@HvVkBy`mXrQa?FGod3yVw~aK=y>$T1pLHbf*)Y}8o+ zQ*}>L7C-aHM;pBCr7i6@~p>Pmsh@c$TUM)CsRL&cR!tJQs7SWu5T*5&=%~eIg3EiX}Y%rt< zs;x77HHFZ(w$`b_mRES)D*J9m{x#Cs0uPtG7_8vY=c z;GnRwCa!$}2MrNX3@2TJKZTTa68@AdDZ!%^Oq&J(C8t-3p?oPG(u@!k+c-oWk+q=l@Zz=% zI&M5Vx7%K`ey-K+pH1WEm0jF_?hNT)q0isTKxxEqwt#CbD3p&VK zh4L$_jkVQguN^kqy}D1~47)3A?Y4mgSHWrsn4k;On^v#h=phYp!(U!T8dQH3Nv~R+ zpx&!@>g@*dU-@fcbG3m)n4ql@HXF?GjaCCiVZF0nZ$o+8L>`fAVyW$R6Lk=>v)$gS3LZ#h^+wyka_Y_6|$5sk6e0DbjV zu-;u>?{?S1ZnKSC0_&Y_x7TPjTYbHPEq+ zECcPePIslT8g^RX+)90|S8uN@cY~n5y4qUpg+bWT32PR47}QJ?hQROmgC%94HE~^s zR5vB26KxPu3D1bV|NSrj!9VnN^RN8Tzw-Nkw)5}(-M{wl{GacB_h0<&+28!L|9bmE zd+XDG>)+(D=6i-QNOPU(u5~*K<<|wr;&Ix-6Z@XQ2E>eh zwDb_N34a{yFKyn~e6YK;i+kQ^{E)8bNGv#+R&mD^30asg-HyRA#i8ev72uf~*>4Ak zUj->@@=qP0wXo-MMai2Jz|tD#vT^6V<~1%?D96g-q>nsB_MbY#7gO(ChJcvVD?;9L z?Q-RE#q&;3)kEkYl2BR`k{6fM_7I{P{qrNQh|-5j;O`_IPF`HOvM8DM}adbst-H}Ak7kzYxswbg9GU`1cJ(8^2W>idm zn_HPAah;S#Nn$%GwGy{8AyUn$TS_gTtzb$m#==6k&PQvRQp@L5HKmpp3Kge5&C)l? z@^h6=5=_hpxB;Ai{z)P<<<`eiLP>Ndr-_pIj;W54NE~XTu2S$9&`C*L>cn$g#gs&L zV%jN*?u1lS3fX);l?3D=c>*dciBN7#F1?j{&qoW##h;J-Bk>kJuQ5K4q zEBMmn5gnp5L#fkcY=hZJm65{5$0-0hDj`USz# zNfAnC-qutB(y_yUfdJgoS1s%WM?mgB%Mc&~EHVv92U5lY8359JAPYbk6l4HcCI$qT zK1I{8U@A$GmZ9cwGv_J}7T})wlBN#*7J~%W0`pz;JvrwhQl|)@jhZP%p6F8B(Bzu^ zlZv?yH^S0`ULSXWdfM{AW0MC$+wTc`_4lys(9~F~wcn@5?y;V*jksJ<)@`Rwu{t%< zlCnZ@5xCXUw+!824UcDsONhrv>OKW<4qvN>k2p?5wnMinO7JR$UQ~I>Z`Vx%rIy*P z!=39fe)IU4h&QSoCxHzI=@?gjJui(>(UT?QCwU1-XZI3lL*7OnK-|KQPX_an9Run1 z31AiRq?ksRcC(q0?v7I1&Pu?NrFsfsCs zo@#Y^{%W_)d)S=Uy4{TK{N5N|#mKVBLzG|qfdV~$O9QAUIje{le2Ec>q((UZXjcwsIT#QUC` z42U`q2Hb~N+#no4x)S9g%iH*(h?m@i{ERZ3^$?M+W>Irv#7xdhPf7gmYqD4Z!^5`* z(vb0wXxlNP@8>0`Fy`;2ld>}!$WTg(D>(;fZjA3_RDE=Cy^qMfMf)Q^%4j6%E})4{ zNw`G9(?mv?ygg79aWsV7gosH~+q!;lOOjNSB_;9KlbvJnN0CKt)`)9gVk(!d;77R# zD@9Uq)Q;&UxFn)jZwclguPU5EqR>@2XHj9yzn;Puo0Lxx1T#t=mv>B;z+IhB&ery= zJ3F+oz1UN+o!)Xa> z${xv|E4e|8JXjU&r=o~+z~9;4-oE+Z84zM2&N0&O>~8BM4Y{Xt zLA*JZBP81D2mYWqDJ5{{C~_|x?}bMGhTNPffjh@QzXyE?c*A~pxv43RI>*p`fC$1y zAjzEjV^PF8R-*?4+>J^d9LgZiv4v5#&yvT7QrL6sA4JlPzRsVQcZ)2HImbvNQf_vO z(^4FDj_wu2Ai7lXHMk7&#{7Mo2tsZhID>6c!oi|DL+KiF4m_;SMjVdZ3s5QSX*VEa zA17|%i1ToSsAGkNJtgti@^vD}+S%{-3SS_~p-;P&nY`-n4RK3WW(h?HR@n;j3`pUN zReGx}T|=G)1-G0s+kbJ?IrhbJSFWOn^N>D+hM>gFqB!at2TahR!|LQ-j|$?=vr-%# zAO#-GTCnjKKA)AupJ(KQENpLdaYmR+)+FZUQ|TIVoPW`A)+Hr3Q6+HanFL1%_s4|= z>_rjhqrKdIRswgP8Ch~4D~>wHq}&~02P?XD6~vnhyu|8P5N{6t?T(Mcu33~J#Zmtt z>&%0kwWCj_{V4Tw-rGeXtPb@=B(mLsW{v|BHH*#Vv%imK`-9D=pgEqKLnr&T7<7;aEXWQ6h>Ubxa551ddKP(mm;Si(keIVRfts zOo9;mJq%AmtD1t+ap`18G0h{ziyt70Y|*YLhkiYMRM-E7l(u6aIXx%Pq5DIvgDIW6*^3RP^JMVTI;RSO^BocWg2n9_1-Pn3@JH~;>>9u z;o{4*NZPqS_)Un(0yVxZj>ZlC=|+2eo__w zxH#cENFt165@DClY()=dCsf~ZUb10UI_>*|GH1wR)Zvh_x=-IbNDTlB*e?pJx=PpJ z&~my-D>Ev~AkTf3_ykFp28HFh<^1si^Ns!&F=qH`}V zLWgdTE8an(wkfX6a3-6T@g^va+Ht^RVxYMqXQ^Y5QwF(X*91YgHgD|KuJ?z?ZF>K( zT=x`3?CwrMNI3%XB6L`EG6$42r7Q~yV|L7GCPm~x3pWR)G<*f|IutK98O6Zkw-AM zO-vD_4vR^9B*-wYrRPUU{BtMxPD#_*qKF-)2QmJXF`F%fb^bstWpP;y?OcjWSrit+ zngbZO)1vdW5Z3m*#ao@mk2z_MSB?8TZ=6Ax$TB0h404Cu)t*BUK_&K`QrI&NQ?%mB z{ioaoqB!b|Gv+79xl0wqn{kv;9rO%tG;YjqIp-P4cZ*K%xtJUqf}#mVP}e_|cR3^f za_(KYDB?``n-885Ar8b@gdj?-lr+Fow6I53QN)fDrS2LKA|h}U9S;R?I&^(py^L(3 zewBAuDP4m@N9rc+7%nTvsKc>IILRyJD_;h=V@-AvRKhm2IO=9{adQ$wKA9!GpUYR_ z(A%aGSHcgv9D2tkB9*8z9?>Q7=bgUgeWOd);5b31a_ksh(#NZ2rNBhM$-bO3*KsPz zy96rl=~8aW$EYJW_mAfne7tIM&#jUk!X@$N-9<3&ii@qwAa`72+%vY+Wxo`5hxDCE zB568Vz7#!vZFDFtvkMBBV7sLv8M z5k-*BAG9UyQi>v;-)m*;Qwm}IPWt(+jHo6bIu{iAOv?mBg*T*p=v-_Ol~VZJgK!FS z;xCE^6)uGJWzFon{f$!$V{*gqP9d!c5JJ@NKJ2TyZJ6 z&U{pn>6O_^8OF6-WZB#pBUMYXYD77nBI+)MN-f%<#n8GtMYbOa!iI&b&xwqWF^}OmRH=Wb{-;oc^0kVl#E5YcRs2} z=R>_IE0eh#i`F$4)3=ih!~v9yLTfv-!n){O*c?52w_iNIb~c(flI^Kg#HQYPS41>tSw;SM(??<&>3HTn1>qywC6H{5vv-)TvXa)hjN1PGwHfPhi@L01ea8uoiY_?)#U=hKz@Ty?Rz$)t`FLUB zJx6Bj0kT_vvBa$TwJ}m_A4ChIEIGg2Qhzd;X^AAI3)3C*y}6Y#dHD3Oav~yFKk!0G zn`a`Sx93kh-y8HhWB3?I*u}Fv*1SHw9EUTpdw3H^aaGdmjmDnJw_5YAA62Gw0UC&q z8s6b}gb)HgX;>;1NOnCv*Wba@?rac>#N*>B z+Bq1A6uAL_z0C)ACZb6qaVb^c>(*Bc<`Eq=Z`0fF@9kFyM74*sxZ}tD@CgVP_*6C0 zwPiLAQ4=cgAN&0QZOIin91?Y#$Pqfl!>~(i8iP0y&;w14m_*&d1wAC=)vbYyVI00w z^X}mTDc5^&YFB*TLrQ2Wyz;$Y>YPfI z%1sO}>PE#RbSzF7l;IgcpMpoD*;MdaX11q3ul(uh3};68q)-07920Ch4#OqN;Jc)Y zyHPsC-Wj%>ZN_E|3nZ**B zjvSUR7J0HdOiJyf=U}QRA&w-jY(ddg-X_g1VCD3QF59U^l6iL`5lU(yGc!((cG&Jl z4ux>M;R(l}H1-;87gx=Qy=mjcC}HJm$pLQ#7S6#X)1oU!=f$&>xh?-57voi091u#i_xF$Ly#dZ5NSWZ0nOuK+_94 zBd)JDBguf#Rt}D_#*|@u=7_3M>|ckm0mCN(YdBcMu;{Z`G+hVh8CYz9k!`bMtz<~S z(P%uFL2B2NE3CT|w>cg~_IhyyDY0FTf$3RCJ>4qVNJl`=5)8M)m~NM)#TA|NR%v9; zIGJ}#qRWa``B6!ncF4%GSe{W(#Yp<0r{%n9Cq_X$#Nm&NGshKi&|$9ZCMOvI&~XBA z7mY{fa~xXT1t|!a+7ENDaaMRc$BETllPT5CSkc9DDpp@bmSb19Du@Mhb6Cb%;6{Tp z_8~z9f##$-5ywo6^lFJQXoVch-~`Cdy-@?!P<3a=tkQdRHkjV7Gdcj(CU)TL77;i0 zw6Z+o=%G4o{vZHgBCb*f4GCCBPr=nT87|3jTx7VE=tho7$R(8A6=JDaL?p+UWXE4; zlpr_t$zVQ?i!$Q{5s-3DW1gyxUgrX?2sw_Ulnt&gLvs<^av(R`4cF|16v)x}HYr97 zmkf40!>wen(H#{fvhmUDfK7}QyTq}0+0c=*_guu5aAhuZ=@1)^yRA*K+p&Kx<73e( z9OwF2HO75=erwIE>|E659Ww_o79_Q5wUY-3n`pHRxLM?0K8%sirHz(5c4K#qCId32 zSc+$V#vFFJ-)GDk)rQ#O6B!Yiv&OKHb_^edN!aVVXZ{Sb6})lo&sgOcm?Qqq$4dfz#k=`<^<}|v_+mDz&&bOs!hD+P+NNlBd8tS%hMKXDxS*1*F|LYJeOX@Cn?BiI7y{Yos7^0fBb_wsv#oU* z&fKD+YmGAEpqtg))B@}PUf?9Qu!>U&S7$(*ZDh;D( zht02P&FrWF{3c@=!wT7fBaglBMLmJExo%`SqZSd>&}aqWMaJx=$Mm0t z`wW#w5{u%caj4XyLWeLud%UlB+yz#H@@_8{H40O%?ZqlsV0*F3Iky*m zt2%D3xAWD{0(hMG>_300`Wak&hSUBuk|=%?&xQmwfcH&x z90sFtw>mrQB1Q(sr+B^k*#SJv;N?_>TMvA1ssp$`JKpXi8(Q^1xJ^0UV(`SvzEu6} zQ0A?y!jEXsHA>Bfvq{*kPLB@5Dq27e9{l!7^|Rrq`V@~v%1hPu?~13hAvIxdi0t0o z>JxuV-eA?$KDr`Qcq z6fi*H=N3q;ixMUNWv@$u)u31W>FA&zR1YBm9UV?2`U?ar&{tfPobJHCiXhKun%UV? zf@|z&J0e37W4*9&Djn;Y&JjkQ1pNj%QVP&lTm)1EC;~(b_ayv9_*+W&D=zr60X*sa zfrLE^FU}Xzd3RC5R;QRxvcL=A)}knYfApVjV+A7v?s-GVuq3>22Nm$jb5xYk@aMW= zcsL1vNx(0Fg|a7KaQEa(dm#{`f4cbhv1;!NV7uhc3kxr4f{ac*zps+L$T}7=UWhv> zb(|UWJJ)YY+Ry2p7f!JXc|`kQ6zo^0`x2Ok)+zVUT0EEvmJ=9i7yk*~#Ic^oe1?-{ zD4-YQhXK#M7ijrOFLntu4JUBp zJkSIFER9`J!Z~POoei0F%7J`O3qhiuMej9)no#X_lgra7j0 znDPa^D*n!OM*-Fu+8JqLM}Oz;VG`H&C+4&0?N|4W=`jc=V)*fu2mW+_^7)>2vbQPy z+MHCl)1IGH=AKk8V1=cC06NUw`6~R-5rKh^94}R$AaoEv{IL45>hrJ55$C&#p65p# z!3dtJ3(t=@(c+|;!t0t`B(UjpxJ-C&P6y>>yT`>RHuDYD^WO-ga|~i3rOBWBMTk|xjTA-OV)7Dgo>2(3`Ncz z55p&8h*E}ok*{H7>f{78aYm+2!d;UkqdLTd2^*QrSg_Kz212pX(1eamW+F#WDSK1N zO-$g(QXv5hiKhvfj#degP2kA1B91mv<(u#^ZV3AaNi&!W(XR;`S^30qYjL;> zbijm9Cq*iGOxSduD6NbM99aX!=_X*q8-lh~$o@&u7$e;{T zJ3~)lRudbPMwhYiy$K!7j090+#c6_OG}&}>H;bhAnN;$au<66c$<2&rDtB`ed3rMm z>QhA3(qh#N&=FRHoLEWwW`d@Z%jz-{I$GGGUJ>gF84j3$k+YWogjaxYSP`L&sOQy+ zn*~Pb6j)>`$k+_$MZ@Yg>edv)ECXlMa1++FYBbvujj<%OVcM9t2&~tJ6B$+6ED{+q zCu@;K?0j<_aV6qSOB zkWRQJOp-%@b$52MdlXs|Uy?R=8zO67Dov)LwU0;Q9HiFTs5TAoK#0!KEjs>sM7;(A zO(GWL=41l*&d3fd!pC}DR<2S}RcVBefz+os(}iMCE6`{=j)O+3HUsk?7eOa$WS$E; zpPiudjp}DmC(MRjf5@6ya@ym&-Pc79`i>guXKrJJ3vHrO!9l?F0!Nz_Fj^}0Tx4qV z$@*)-QN88*7n`|w`vDn zwU%6v;gF*TdW~7+Vz2BY*08@9)|7oiZ8Y9fP-iHz_%*#4sizqQ82hOu{>GnLJI(e( z8@+IOxzVaO+x7NZz1a)>pwS9jjg{_tXFc@SmV05i)@dW!bZ@n>yxdw@UH6+|d#$^+ z;&+2~r>-z>G(vy9<1aUZR5Zllv^_3DjYtJiAy%gcVZ>#v6GR;v@#d-YDe-Dq`u ze=TgTHhL=oXlsPc26KF))j-j9qqAOb*Bgyas~NQ0XuxW_)9}M}e6H5JetUhn*=#hH z{pL#Budnyk>Z?H;l&v=#+^$Zz+G@3yd&|LU$8U5yVRL=0>#sF>4bWF_1?%1A^=@}9 z>^9qtcCg;*c6*IhvlaMjL47$~Sz|nSAFi}}%boUe!}r6+%JOn&4Royg?V!EZ>8>g|=~ZV=R0S6i#SFbG>s=FcJzgWA$3xGhYU2H|L_7Wf^1uyiO#&}1on zD4l1;9Bpow@c+n}&HFRAAKd@xzxp5jz0?2U_P779Kl=U0|I3BH^N(KpPk#IF{M9Re z@%Ki5_z(a4Jcit#FW`VB|C&k4CNL@qm-hC9>UynFuOZg}*vRzOx*b*W>w;tPIBj7z z+%wql8TOE+hv6jj$HD&6=8equX-4)@W8L)vAno-$S5(4~wqX3B#ecN9KPpGwXUiMCb6- zl&T&12LrEj8$BMEesi#j*k;dcT!7qS6f~!MKm)A=Fa*u~_XG2_zzVsauc_Jd|^&3>>Ff6%VAZHTqniv57jTd^liJQ3b2)yZf!4nonE zi6qawy`Y%q>8nenqM)feCw(00uph!|5>Vtja?RW8Pw^cV>q1xH+zah7QmK%?h{vg} zP}thND2EGe&cr+Kev{z@cEBF^L!_m-=G{bQnNXDN`LhAKb9X!oE9fVYNC_{+CMMOK6L!{3TRwm)r#+E35oPgl;l7IGIls9p1`5t56*`k=CVH0g=_EP!Yon ztXR3x9@*>^Dua0;t;dR%5(Z@X3t0(W3KX+U&+?a3!2}Bx2*>%sRltP&1<1gy2=vW9 zWb`zmCxuEGfjf(oE4U(I(7=zpNCid5m@=!&U4@9AQ2@HgcECn+Ine72E;(RD0+&2+ z;(nL|P@Dxa7XY+c7~-e^k*PQ%IFY<%F5LA`=YrgPFdxLq+%gwDGOU>kisL0_(vyC7 zx<40I7%3ql?OZ^?NqunL5?Nac7D^;-DP2CEv*p-`IAzQ65Fz9l_(@EXCSv3Ca~qF2 zo2?OtWR{h|2$w7}%s)1!`QtI05-VNH@wjx;ShbJeGH0@u;}NKGwHyx#c8udUjxF7f z+x1RY{ytE6QODe$gZo>ej=&yND=GcjWEyrdIr~(@-pv5AeafAklSWwkxp2kGh zu5+PtfWlwFNXe3lk-_2_S>_hN@rx2+OHmpUb0fWVOq8Y%3!G5F&c`wr9AZb9`{w|& zva!sCmuW{-$i|$|8J8JuoJ6bq!t$b>FRZcAQ!a~~xNoaSC^^CBOGRu-WEPg3$g^%w zHd^U#mJ_Yq9r6P2kDlZOwLQS{mYR1-wp)sYA@`^PY8tHr!mhoN@jyR-=fZSFA|Z)z(Q}9?5EIL0kZfkw>*<%2-pYqFYqP!6vm_9%*Z8 zVJt**L|a)!vt_96k~x=Rcj0+rQFp1#H7c!0*80q4*lTF+5Me;%SD6cI$7`Gm&e>Jw z0xF{C9oo5V>NE4;9*0dAqs1Uer;sP?wC9p0nE5$odek$^>)nKM8=Ebnl&usAjkv&j*G>>oB1i zNY*XDq)&2AoPr5?Ve>Xkk|7$H7q#RD`6?GHA-$AcWrQBwH64j<;^j8XIg&S6{hFPY zQ<19-Df8Y_29;D8a%N6_De|YJz6F=r$vGWnMy5Zpduhs*eD`)7P|fO;$2D{OWy~R7 z8%%KLTrvSg2c`8u5>PshCkUnW0S`yi&uLaSQMz4yU!RkYBwmd!r@uH6%(>cS7tX%a zWS5<%_nuRF-nA~fc=in|yKMFqF}v(sEnar=wctO_y%NzUSGDXYzsX4&NO`k_8Egs9o&vV^qml6H9boQ-61txIH) zxsiq->&)(^-zFjF-6RL9?2D}%fofI8dDmTzFBb*5pYxuf>%0R~mW-rU^J{k^$h(O+ z3+LQKoMm%wBJR?;HxXy?oSTTVY|e?|ESrB5aTd?JiMR{r+(g`k`}qv1vPWxyO~gq> z?oA|C8Z$fZCK8n_wTX!0g*OpViWgP&nP(Gmmdmw?SS5>YB35C01eeODwfzp_9yK6(Cv?v=Y!`VeIoV;a#JOj1Q_dI z^HiD-e9B1g_!1@dpdV=&J@C$z%ENd}E;W2RG9II2bn*^7MyUR2-yf)~9eChM*MY}o zo(}mlJsON^Bz*09MoVKUIlRnV96%u*Ub^97IP7W`MmaXTk3NK-$%^;GA9^3)OIz%` zS3Qwb1Mlj!R!zRF3l|o0gz+hhhA7vpHC4f7E@!395D3<4%L1rgTUS6G*yZBY3fJ4> z=OQbHDzsLs$BR)S4Dq(HT5G764RXC9s-oN%5(NGSPWJ@xE1qYmdUgjW$wT zNF3zqqhQG8hpGv53P0P^8tEMbOsgh|mF{5# z;>zbBKryc*Kcaq+860F~c&+JbP{X^SaFMDG{NdhAc=JJBPuVn@^+p}<`#q05vfg8l ztoH>!>;>^YF)5TTSMkO2e!U_b-l~%s%&I+=`2q0KK`eaQp9XMhs7|Kc{-_EMXS^ck zy(&34t8@@}2@yB$nS0h}uVNFkPy|U%r3v~1W$(iR{gBl{ww}xlGHBjVxu=@n|g}C2tEs8uZ z`ZMX-TeAYsrvZ`Gsu_1a7u+tqy-D>!f0{72v+I0NLoS;REHpOqa;O~h^1*T-TPLvw zQYB2tg)|m$ejaLAzCs3&3$qr9}OEW%y^cIIG6@lW7vxHu11fFzWr8Ix z8AU#gECB=YyBS126P5(aI);2Eq;MLV-wci*pNWfosiFY#nc$I&NoM_#r%)!C5j{Sw zRtZ)wbRMw0fA16w`Hv-3}!hjw-ZhRb)#q}&TC+ul33RavXWz_h2kao~` z1)Wn$GnJG)7tu_ROcFvVXK;0}^jV2+M0|7zP9Z_og45@s`>(g?{<*kDXp|h1d^1$H z5Q{}pG1d&xf)mB_ma(}7=(3@TiF5-Nun~@17mhy;cMpprx6AS7ij;y_uga^Qq3{uQRtA~&F zRNUgI@{-?vY*r|vHoIdZ?~NzZX_dpkR$HB(zuIkcpyaJ%qM@d#791PZpwCn>Pkucw zby3k1q~ccI+EZA(1ggTPA}=R5h(3RM0%(_DEijmMLxp$yxG15@9Wyef_0EYPU4oK9 zVLTy(h}NhOetcpSF6~bb2G11hvBzaN6@0W;FaGtysf*lgr)z`J9zQ=FJwH`F^@0Ej!pMU{%%4Tl9b@VKhIoNxtyM$d>}s=K=eYJLL&hIe-6BdE4S9v0 zqb}(9t4(A92*YI#^1pD!x2!^_*aiI0DE;R2fRvvHhZEGgR$HsCtRd`vxZ*QgPLs{Z z!orz_*HFqNm7Z5uYE4Ap2B~ZQ8mBr~IE&TOA0NruDhoO!|H8s6@{Oo!z1FPOyU{u# z6YEf+Z=g1V#8;t`BCdLZEBCXc(+eSsGYIGvB1L)2Cv8qT^Gwfy4_f ze_3+~!F5$YUSxM#4toE2i>oHDARVl?s%YF`@!`_S*B zAjW=mrM}+A6l-%^7GZBgljSs;X%xDG$CxY2G%15My*KE*J+w|xJqBA}KO7GRgQ_yk zsdnmNJE*r;xuVOKbq=xRyj|s6hvO;Kc;n%84BkMeUR^;W*V|!4D~xv*kZs~T;f%WD zWjwAT%smD`Cs#R*=B)%Py4PNc+x$@BH&B()%X#E z0)ha7>5xXdoTBaJ_11D%Gx-8wq+JRzNaQSw5WG$=4-VyQYgc>gjkQ+T)iWlUBVFQn z&E)mBfn(4^j)}>17>LCN3tQFqSC*TtWj#zTp&7$TZ!|tYf&(gkj@S@U@|O8tjA&v< zquXmSJ6?5}DiNkdtgraszi$o4-Ep@X45z~}k%PX#d~S7DgGNVBj zzVKwMH}jU6^wlL}QOR0M<}D#vE62PABV(P&S{~-F3fYT6#u|`0_1!Z*d!o;s->K6& zZ8qnd#3^$($CS;UsktWT+KM9&J1jgx_5^7YJ!?4*~U*{9eoY#8p zGP<)89i2F~7xdj+gYg#zzX;1^5-3i`A=k*S^jXIVb4Fo`*LR99_l)M8$}XbdU&oEP zeifF|*47l1+B0v7P{ z0$qdY?*hu7<*#R=r{Y2+0W<~)X8rq~Bc+UDz>@4wl~P8PB8i7SOa5SP;TqDK81-## zdbkn6oH__6$VKK&_x&l-pbQQtGEd2qai2oxvLxJtM4*e`6K^{5w&3K!(!Uo5lq<`2BUA0iEzH$%1(f=3FR(E)P!coVn^ksrl$;*EN!GOQ>9=;!Wz`B zW#ak6ia$6QLBXM9^*~NJU_6lrO{7{04K;l=}g#k9?DnK#x`a`;D2(tih>OVsAHIZ^nv~^2lmccCq zq!XWT`5OBMLTdkGIAZC#gVBtVn`j3Ml zUpVlQ6KK4IZpP(jZ-#a(%|uKcl4t&!>d&eg!&TTOhU1dOlYubxs1cl^~e`^~IBQ~eA+ zVJB1#@1{bOO9_+DKyHMZ7U|m?MkQSPf+3%j36{?&_*2;LqCX9P0bZi$YGk}3a1sqk z^e^ycCCX^<^RyD83-={7L>Gb>m5W~C*U;zG;uuG*HcA_HM4bG_SWeSgjYqZ$;M@+L z*7he16)*i&{Z^-l1#fmCucy#wQ-q zpa%BrI3&@QSld_NXSxX8$AgJ`;!>~=zentUdr>0pOJdadlY^xn)p*&~RX$J7{X9AM zmzbPepQ-rv$z$9beZ2Cw{@mZY`mbI1&VTnWFP{5f|NQTqt$g#Z{!{A>F`iCwgtN+n7jF6)ekauq9|?K*=4rfg^3YjGwjj;K5bz z;}QHaM+c+v;eLMtr+SD{`$AyJ<*tj|={Hm;DIp@Jdhz$shu#Y8ePlQwd~G(bMzl&0 z@o!{OMnzzk&qWX%%3VT>bVMaMc5n&AS8|tNsg5KIp>?7XZFdRYB)No9$11lSF?U9j z_ntsaFnTh1pBq=LdLP%W*Sw#MI^L-B3kaXQ$?TAJe(#At@%m%vAP`rnGdS`(;}HqZ z5668{M~po3=~+`dfad|x4kXhVhXqBXIxQ?U+N-*7tY36*WS}~ZCrAd`vYsGmD39d{l8Lm8CrCEJ5}qL02;r+z$`hmz)?-h! zufHb<#P{M)$swbaRtqM@YfIf$%yYufyOF9uC?Z(M3Ga#M5QpW?_6vwKaHQ5a4Vw|e zm*I7NmV*WQvhZktIk2yqv!K;+RP?NEN&Ffg>V#cC856HI>+4*SRdZDE+`_Ao*~r4e zYw9qBa_w4U9R=6heuoP(j~3D`@fb9-*$gzNg$$P68V!|6Izy#=a?8>imeGyb&B&zQ z&2Jt&*`|KkZ*@Z%S<(qaf$#*mEJB#Tenx~+)#dY5<1GA|g|Q|AQuKp@m@|>QYS(bL z--8sSU&q-dC9YncDH|ckU0uJ;ZVghvV7A`(T7$wLST3qyMO1>-E`e?#K7~h^y-D zz*6av?|sl4J>8fEPinyzA60%bg67fNg=6Vp;C=85`c<2XUmJV4$_#43=z!5&d_bm6 zbba>OK!TjN$P!PO$;q$6{Eoju2`s;|eI6O@F#{JCR+U8(geCj44%M~9wnZ*?4SH!0 zY{`osr{5u~nRqhH?}P|)0&A(Fw8gCQRyVz1;KN`GCS}s{3xY)$<|%_ZY%IvxgaI$C z>O5+oGz^n1Tm0581QRf@3mzfzAw|jU4`CAqgEPW;)q9tx`ny+)R#2-5)RH*d2@%mv zqJRLtgP_g5{**-ML=lY9s=_!<$TmG`Yc?B)6T(5}f08;Z-Xvs(3_uvO!7NN5M9F@j znvU58;-C0O)Le8oY!D#<(2WMdO4K9|EhiJRAzA!|PvM|E!IXtufmjI>H4^vX(tZ#^ zesh#0&BW9lftaP?Xu5>j9*3Zz*MCZOgfP16`s1!*24n&db$Dnw$U`(bG${1&fAn1c zAOvyO!@w6cPZ2^GD1p(9@T%AC_j)0wBf1(^Q!`k~!BlT-{umlCl(>uJQp9qylOt0) zm~CQGjykZ?0vQoLi(i`)h+l$z3|>S*`2vl=IP1(#C4mL9 zy9Qv#kqfcz6v8?Tr%y)XN1{XUlSHtGhXWKAaq7J%`~6_wJEZ1Kh*y(+uw9xy)`YDh zx`3j7(;G5+B<>EOW9v#-5^?VP%~l&>$j8BQ^Q!mssc1hAt!z7Znl=!%D)K6A=;8QH z1Mm1XoBb{n-}CZpHK<3|q^kd_KbW3H$eR=`Y-0C{y#b3rOA6#=`_;{xchrmT+Aq|x z0IAbxMq%bFu-L|r)CZ&?R4-q*aUk~TT`~f7SADPlRK56yUF$^dDtGS4ceD>F*6^2NE79A!TaG_Y{ki z^8^n;`2j|arjH<^Ul&G54FdhdaE~yO=_ZI3|M5t(z=gkX91`IA&#p#4PJZD+S1>5V z*sPM=n?_E|rjt}w88)3<;l=8W+nb+me}3=Y=7VHyU&<3EMVNN-9N>0VaL&bsHSOzV z?A$|yCxq3#qV1CUS-W@OAI9lTU3*R~{3s6ljDPdEuoi-st3707dE$?URZ@Gwt@?zh z;3+8$KGVms5yL}__1I!Wkjs}hRu!^jg$rBMe}XO!V$;%W&K7w#h<-OLMMZb zcl^2VRnE9L&tBHsZ1~iti0H+4+BnKD>o@cByg|9M?$k}v3H`_5A)g(@fK4BZIgWWb z_M3V9IK?+(40!QZ*}A>?@vZHh$h+WGbtzeL+&I1wy^GyEE);$Q#2-+i>Y z|HFUgH(&ne|E2%zzxhS>)H(@2fv*dWuc7U|V*Yc=3V2eek^RQoF@FV^GDJAf9&*Lx^3 zqZw0N#(F5Ky{tfU0~2X`#eiE0j7a={7K*%vw!<7p4On=ay9&uwqi=hawK+zTMK>=yJ z_DDlvIe9Ss(%HlE^Zj(`ctojf{hIGk7`-CVfP~=8_Afju?8ALQhd5h3P;W47x>o5y(wfmv4 z9)X5h*^eNAi_qq(pB|Z$cnB~P`p}6&m5&fLWX7o+MEb+W%E3giL~Ms38qybE`5!Q!TdNi6r(~CNR_r2k0SQWZ_Fi@t*)x(#S`NU;JU!fy_*Q10;q;{5U zkDdZ9msw!aY9U~xM}Bw{oqe0n%STpi9QPKyKlUob&xJRFlx*v!cB zMw$mv2im6c4p5=UbUcR^)A2N+!gRnW{iWj#D=!_dpt*EBCAB5BLe0)93D5n>(}D`% zk5X^IyNtfdgzimhGn`9g{&$)dT5(1{h9Q;_T5@4)F&rGx$Omu)f{6iZkG=gV(uxyg z2l1Q4q>WS#SJ|ooafvX|D6J+?z&ZsBQ3uciGI5Xw9isXHEmc$_Rc3RY$d2mfwy4bX zsv&S}^9Pd=7P|?iAsKJL)dnUau;JJXry@KSg>)f1QPCtB?hExHHw1MUXd~aS5Nn}W zj_@y*6-ty{#UveKDH6f8s6PXksd(__;dZ+TX3JFYp85-J%{rZXThV+6b~}5(LZ%{P ztaHSpWXmHZsX!$M5Ks~lxaGV@3;KJGwfBAMYT7B@1BUnILKpMYxxKk_d-M9;?av=> zethHpz0Y^Hw{Lui4U-sdJ2r_&rYo5zJjjr)dI)3q{EF=%J)BoJJ$~M(qc)MkM8+<{eTu@0eWvXnD!A0%0HmW#2Ok(IGx$7OZzX33DLRo z%}xM?X_w$X^~Zf8P(H`DIw9+z=|1fQxM=|5J_Z+pc!yo-9UYuaMVOPv z5^>@XbOKxYxp7HmN9j){2;a7}zE*FDG8WZDfAFDo0`kPO>cMn24Ar4XwTK5Y<^Zg< zb$c*pag3toPT*B`UrgVPvkm;o82?Y2f9^+lvs7hfg}Ht_EQWXPaWS2UbMDCz zar2mrL313gxj#8R)|hARjbmcO*({Nw?en@+X%3Uz`{aSZii#I>>4KF+VV51 z^cC8SrNKC^LCe)vSl79WwAB!`k<2pbKlLX<>(j{!4h3{LuQtQRGQW%rQ?@3EV>A%ZB3t3&jK$+~;Kv|q+pp*<4 z{5tKE8J+IsJdeE@UeH<0%;aGP>#{iZY6hd?{NaI{ksT%Dm1ZZSi6zBT@7av+%w3r> zPd(0o*eY>Z6tCTriXB~d4m8e^2oQ-xeYN|C+I0#c2{Ll`sR~`i7 zX3;4Y`JG;4+(2wR9_J&9pZZ;HG2=?{V1BdjKOT*1-9D+c9`z%SV^#jj9eVHGQ12P* zoX@L{%fc;xFzQe43H|WC`o}JWbytO*#gE8`XQr7AY861ceb~;z17wVB!VN{i~xB!f&kWo zhfxQ*2Cl$#h6JOy2gp%K{8{5PIYOM{PZcF>8lQT`zwJOA>Q}-JRwH^wU$~Lq17kZq zDeC&g1le4hjcR?l+FV_NuC+gy)B;5S^?(~tywGqj$)Iu)dOs>3ZwIr(@Uo19n4vln z?@sgq6Z2+TBUNn-H;)9-P--5O@1xSi7&pbLA*F|&^7ACi6-HQ)r!%v`!+9hfI*U(Xh8(}%hBwBuo!4hx2 zK9BmFe*TPVEDs;rdvYvrwc@n+~2g{ z0GGHV4T!Q!C`k!0%e~DK8j)SHcir#AnA9`j`Lw?`;0yeB(b} z{jLA;((nBXf9ZpN;M>!m@BbHn!AzT@$8PlH>tc?75_CK_oG)NFuZFD2{u-O|)G zkFAz%>w|lDcKL;6&dfO%*q&KeDZbd3Qm2`+mv*tOz_J9kGDl-FFuUfo9hSz!P*{(B z72I0TM#h2WZVba@83&wfohNaxh8Y& zbwnlhU_V2lvxR-P$hJu_w%9-rf$F!mR9G$Kghcg-g5Mt!nLsAPCXs;-^1DsI%%Knt z_eHCo~n8GU@SU)`tNpp3yki zBu^0%j2qP49gVTz;V?(x*gm({_qIq=x9rSDA6DuI@&uM z_+!Bggcth-?BYC<_`nEtCgQA7yE~(&)D&3Oe9tf=ps^(F2%L6{ct~t`@9A3m^R@z{ zX(U$=IY1D}=8U^Q9 zmBfW8c&v>oEo%$~58|D|86rp9Z>ZS{i-8nq68Uv{(n5nuVK5=Ek*Y6$X~D7dN|azp z*nyY^qH~&}1yb|iWFyEFi2f3s#Pg&v69A>~?ltSM9yCo(P#23L zfH!GulG|<%g-K!oBuSGI*lO8Ajg%&2wZLpZd|wcJ5(yjR$}fML|B7a&y_A+na+eTx zITRZ{6WEMT-%ugsNhkLw&Hm(11dt$+6I&_oG{&_*Nn&{0UKzJA}7` zrL?>`3{G-~m`_0&vo_g0PLH`vO}3AX(6BQ(0c4SpNp4de7w1G%i89l|@ zvMsU1_Qh;VSbksF#Dgyhj)HR{X*0EX%pkIq?RsUJQ=fukd9BvMsXU!&f%4x-Nid+R zm0wO6ZSGYrg*s#9XFjJ}L1b|^g{j=!*KiXZLB$8j$I@m~t|N4y({>ru8u^)srPA|55TjQ~7YX^S^PgZ>0p+a=8? zhIM{^yrWW0;WnvsiD;X<10d) zB6XU&isH`gdx>%+X6SkcA?2$>zA#+7D^q{Z>mg7&g~OJ*d%DRnF?@kl5b)U>3~C5; z0XKSO-wbS%3B~s23yHh||j`l>H9AlSqPbB=s)g4{Uzrh zNox2R=~wm1Ez!!UuZoZ_tzMp>hNfE7jpr$v>a#EtnNE+=wTdsn%17lQmv_E&(6Y@; z@1N(2!sm*@FHupL*w^$L=>4Z>{^{{w|IyLvZ@u`#fAZh`Z-49kN&O4&^u~Yra;^8L z|Je`!xr0B<9{VSuqWikw_!_Fc6!V``RzQiVHpj&u$h739bPM0rnJUUsZoU_%TO$d$ z@$O^~Syqy7UCS|!TpEY@rR+J(#G${JKAdR`<`+J(Rc<@tG`Vzg_K_Gyn#qt%9;J%s zH*V!6=ZiN<@$6%|l_g%ona6u0-L-yC>5Gx4VRT4gdXV|OKj>CtLShx?NVw!zV?pM~ zp%Y;u?rMeLb}T}SsK|XWf{a+!$C^4tl+gcuNEvy51SitiS%*AN>3H-fO%VHGZV_6> zeKx;f&xORek{=V%iHKuQjE4LIMJHF>BH25~>MxS>#)PuD1u9N~#*#}cn_q0~Y`7MG zs?GdF&_$xzyT{|8rp^@3J`0@39EV?f0WF`CZSho0QpOi|E%p-k*NDik!w19*KTi#+b$W!zJY7Nsi^#S;=2T#;F`jCq`K1U)wzYb0Ds|6 z2GExa{UH7&s&w&SitI*+9{vt>&YvmFF5jZ;RpeA zK6o_xqBh324eX%f5t4Z$g5Bt#HvEE<0$$i0c8|PUK*&U>&u^2g&zV1ONwC2J|L`7? z3PQw1S?wT4Bk3OOpN12BL8uxex|6}RI9?sa`4Of%;V_7@wEV?;yLY8$4Mb%FB&J7X zI}*Shn7FT!VFZkP*w*A-vz~V=D!A*M3I&0CNRo$$SrE|mggeftR}nSgk*}iasWzUY z2uh%A!_x3?@B-wq~V6j*Ly}*8d-tFGi?%m!3d(%Ci7|ejXOAKZP3*2IW zIn3;W$1k|LyJn^j-CccM-2i4uia|5N43S||At|I_1Vfe`CTZCeLzXRGm=1|yDkRf1 z9jDMAB5g~eElYMdf)TQ5%R$i*3jbbazO1b5tm>-n26lFd-aAZpW#-G5nXmHW<$J%U zUuCPiMOu=y#k9>II7&qOjTqc?WV^z)>%(1bWsIr(X z_+qkyRgPp6xHI*O@I&Up4?~xJM*vx^2zVp0Ga~C3<7cHJo=T&rav0q&8yTDvEl=#9 z&#Dr;oN+r)4bQ??f2?z7uN#KFpO`^^%iYzG9#=)Vv!A)L?Hmj(07Jg;I+}hD_^LU- z<4O-9v9Z9;)pxab{g5i`WM=)|2qKAI(j7%M0)|ZP_gYO7S(tNTMWZFs*bC54Ai331 zhOgF`jmybF7_|l_H&d`xT<(Q-r`f}14Bfj>UiKH~{9w1Lx-KhC_bwAU0r)R*Q$c&a z<5L_|YzhGzT9O{= ze#le75F)R->VO$>yh!D0#!xa}bkws0h(E%AEYzMHgk*><-EZ69x>Tr!)Z%tRPj3Wr z^-*eZ8QWCz3+GKG)CI&en}*eCTtlU>H02=lR&t~hbycpCMXeF@6#yz3lK~G~A(ArM z>_Bgdw%!1UFB8pGb53Hfr?t8Go0N;x8!7ckyi@||F4W500#zWFJBKD zO$3Gj)(0XBdq9m|B4h?uwR|<1{BFArut<^BP+%x#isWVfh3Uje=^{oG2HQY)_Tl(#38Saw)3#oW&H)m;CTF3ygvcqNo{a~95kCwV7d^%g$K%9Wtm@$TWk zN1Bg_{7c}PQwyO$f$J367wrOj6M*7UsX+m7rQ3@F7J2;7vOJTDMQ&6P8UTu#Bu!Zurdp%@S7pJ z9(HqGv`6wHi@-Aq0|nS;sjWhDB?o9!1_NS&A{KnOD51-00bSIIvC3q+Bw^qa9l8%k zMfi?E8b}ohW+^ASk_kkr8m&cL8^QFI0UNfkj}bQg0&N?8>Wc z4@WD!7-5_Ivs!@~3Ig4}2hpOTZ25P@W0njp6HGl*Cgi#%hvXBn#tA1zIDWN3yhB8} z1=2x@wo|S_#=e)RNKp|dTfsJo$8I--K_Yr6<*iY#tc$8V;|wJ%v+=v{BE*f*8?%@u zI*_;o=hWINjnYMWgD#49_2Rk^+KVN0H87tVb$Vlk)N3)qRJDuXM8H2$6Z8q*531ih zMH_+3IAsoLoU9L$seAXV^P62rpF>jCQgb{0Ahx_|+aKAVs{NDR3#L_?*uG_-UdG-_ zrS!MC3CcX?Te~cI5I48>Rs|x1wI?2O4p+TTqNjyVKl^mQFhAO8lWk7FnzE`a;gO*YXjeblF`LU!>V7pV8lJ&1)F?GJ+2$$(HeOO&NHnP<`sh zBA5Q9;X*UAu!{?_(A6s4Nm^AMjSi~m1YYR35lsU@W$I;2%rZ<{B(lf$dp3irh9ZBo ze1f$2yhAcK!!!R3FE}$SIWv?FoIikMsS>lpO2pEcD5r|+tJ;Cs$4_#Uwch>SBNOLG zCe9Dh#Ch=Wt>*&of4}$NUOuz_(Z|2?<>!C!()YUm@O!`UyT9=RSAX}?|Mzcx`)|Hd zx$qBJuHAnRi+%DW_=snsdGl67hVO}hm=YKlFu+ZoUzt(Y|CKsTed1%HgWm#R!^}-Y zMJeHX(wQkyvRCj93?JzbElnnKzY2CmPQyJ&=w^?eq8(>dX8vDB-!jyc( zPD2-5EH z-MokK3@f6G@6fxdnRjn|sWO5insM<$*BU42h1VA@ znSsjmZ44DC61+_Z7a0MD44Xa4=FzERF`F;oF-+jkWACkUEKP#d+lx{F|uaM=g-y8*XF9rOpJRv4-Q&JJTfLXl@&xxXG($f(&_3; zW-oB&T&?8HDSx>W(w!4Bnx56-?1pBwFSA)JD4Cg5Tl3`6-NJ;kMNDPq0C)2C{tALC zZ~7g*`_eRvFpx<~-t*h_R93qPzco^AIS8g?5ts*)tkWd;1#uP|Xy-NDS&UTWaC)z~ zYs6syW;`R+nTMjZ(BXEPo@Y}I8DA2Am)2)zeC4^V{sXVwkP*JA`Qs>*BdZ?;9b&`n(yE3MeF^#Ij+E|F@Ng5<-w!82GsB?y$|UGp=FV?#?Cv(;8xHGDG@sD;Rj37Rts-#E zm66C}Pv*>C@d&(;%%+uI4b)*}S`C7BDUP5(R?()#Y>lk00sTnUkFb^{+ectjLY>eO zrme7!1^#0ls)^Ef`ee%7g9o56izMq?FY3VO9@dsrvAir0K^kB&3`5GmukFV+v2=A6 zK=lcWT?7}vWps_=Vuan24{!e-MR#ChUBY9Jyt{rArj`KnX;aXFsMqb+dIHE2p}}E^ zjDM-(neCv~M-vWahzV4oZpl47?V^Wa;Vk1ffa`Wh*AciArxvJS6*K^ZUI|zu^2qml zJ->D*Dn)&;4jXWqs@KEqO6enE0DW&i^x9}K-5rTbdh}HX2FAj^wGTgfgib)JRL-Ij zaO&6Z!iZgzKo6IMU1fJc9h%`>d3o1YHOzYUYq%8jCh9f0QvE_WM#j@by6gN0yJwQL{o>Cq4Y5!q8aAH(v+1dKOGA9`g3M6nyd>PD`>@kbBI0MHAv9-VqM&Y54} znC2H;3t~!G&f}YyMKi*2GR>3a_0{d|jhj2$24@fRD>IUa&na{m;Nr=f!5+YiX>Mk5 zDQ$H_EMT+_DK=kB&xv(hn1D7sG@DaKKxB#XDfmdbd7l;M>R zgZNCQ5>j7KmHyEFurw!L%aZ{ACO@#C&h037dl9w@+^%QDT_rz!uY7$%{Bi)$r`E9i zV*3NX7~uLz6J4_k7LBQ6S8&zQ!<(s}h-~^->6`sV?atbMP`iUn&?_M$z9ch=sUU+! zyzYujPv{lXs8&w_>2yxCv4`rn@5ttuk#{w_PXP7=NJZ&1WS~`~(@bJH0k`Q;`$FWR;mK@Xustnb`;VcOAOcPOFAuM zTGAvR@)vgthzahir^QQt>7W)StPm0HhM{+vAot)i8V5K3N;sqH&2i;5!^JVd#LfIr#TF&p-Wl|NS5TbN|=tT7I2hCSmh`SZF-5@GoHDucYA+_L-WBpZ+GIp9ZEq zyX%xV=t>|k)?rI{zuXO=qQVL5g10zm=$=#gIB2wAFiw6=vyU zs4$7f7+OrtLafZxk0z(nB$BpTlb%gTvq_}JRBmb)3@yxV#|-V1;rDy{VOQr)T&E1W zwG_HUIXwV~KZ%QgK@XNmP}ROIwmXjdqKQT-`ElGl4Z5h%wcnsC)3yL>q1;u!X`ty7 zkp3KI7gwzCcTk-bw|w(Sp+-|8enisR9=ru&sVBR?eG0=PPit zic>MS#Xrf&+RVKS(wOKt_cCw+&zV0Llc|7SCN?R)Fs=`9Sx9;7L4=DFgr%lg)7xkh ztei~6JJul_51DJ%?>Bo&Kt)h;B4rp=yRDP;4Xdf47cAn&4@S#M$)&GJr9nVe2BDqL z%0T+9taPdKa^xUQo8z%FKU8a0R#PJ{ZC_m$WI=&kUby*5_*OzhORPVPsI2a2o7J>Bxh({S!U9vW9HWz9HsAx%@| zs1HnH&$YjjT6iL|AC;AJM!nI+5Q!+$l%T^*E6qGTldc-UeV~bj^`IQ}>WvUcrI&^N>B4cYvaC}0WmZ3hDp-Aw)xJ~+mV*@pwN`0T$Eto95wj@|dyz;5DYUf+doLVE zuu|Bm0w_zUPjwbJqA0p9QILHA>7uvh4BjUyhgC+2n5%O<+)YcRv8sa>JL=gXlaUoz zU4$d|v{v6^EuLrT=&lp#bWztzT-Xke-=9a3J zvSFi2mn&}DT_wg+s2->VM*Xrxk$yt8rxKyY zQ{M(fuPpjXR)`=9Dqp(vj5O}F3aASld&Eg$OT9QCm2RM@DoXhkX1ppk`k(yX7sIWm z^Lt%n&@!A{CPQx`&MuQ?B>`)n1?-V!w4UPpvSrHLIJ7M%nB39eGkJD7!(5*T$J+5k zy$zG38au~qPnK6RqSFH;JsJ7^OgYW4S;GiUGkm#6*VIqomf#5AYyl!%E&AAqpTl+# z9wdv)JlRj_D?dlUY~P2e0gE8ITplg-6E{4M4@+iqcvTs~I%mrnnToTg{AKRbolmlO z&SrH8hdjzJx1(~e+iEvOkgoai+(I>2s8!D^j)x@cb}_lruv}~44A^ba$(TeVHnNCK z2%g_QfUc`mS;K)Bx`N8;_3f*gRL&|hXuRqmkGi0%Dq6`W!?(O5jeH`O;AP0V|@A?MP+4ePMn1)&GbN6j*Hh{E?0A;XA zYkBW>`c;6wUhK%YRS6kl#aI-+zow0<^q9A|Lo>tFs^VmEmQI|4FTK4O& zNu{qx;wvo0g*Hg(JyqrZi8E2)JYSKU@(To;9Nvq_QXBViz$(5gu%M?)P_4pd9Rb&X zWrp4%sE8&qg#8|DtpOIXF95H}etN&bvC>MC%Cv;|hF1kpx}};6eS}xdBYZSiw70#F zu3!BDk?R)v5cRWV!_#yT;t5asUBFUnL56f`0ps2OI4_|lHdO3~W}qQ;4)&+_kbCH8 z)a51fai~}BD~_1m*IZMT=zB4JCi&N5%a4yty}(}|@?YjZVK_A|4@VV&=M(R-2wN=8 z=(tlUA9FBeST>U#)Dci2=bQMWb3Q@uPrnN)bc?MY8{gtW;u~jqG09MJ)-7$wNjOF` zwWxfGKe+)%{Z1#1jRC1j%lM$5GqV$wsiI74Cj&MOJSA`GuHE>cqD{O8U}j%H{YJB1CS8NUBAX$d#;z2hXUf~y@74m*6-t!M?M%wJfFTRMQ4W3b zUvuZeTb^`+W^TO+%9nj$TSPZws$qzo6h;legdceO@ZchX88>6aPy1BWWwLluoBWt# z`)w1$A?!)i@xa5L8)^|@17j95O`$wb8$(?aVPy>z!z&Sw9^%9p^8gN%F}V%IN`hB) zc~b?w;vsSzE8{|($^PpoB-Li}Vp(R#Rp+h12-8F{pD6T`srQpdHgXR4;kqt&vyEz_ z3HNl;e8il97*r4N>4y7VOGZpm(8yHT%|M2NvfJn4Q|R1GK5vkR{XoBXo~tk)xXtqN z^;#DZ?2X=M1W$RDUXduCp0t~@`_uSM`WQnosygVs_h?awyTd48e3g11#8(rh9m*(1 zrsEnrjLzT%Aq9@Qz~+)J`9aQPZLVH&_0TP)BZBQz(AcwxaE<2QEFvI=Baj*~vykii za6+4n_Rh|?lI;RGZL<$UBJWb4Vzg7{s5SLYni4^DYs%J%4}Zoh z>S`1{OBCbkjB-IU5>{hzdDn=NPRSJ8^+3!oWlaBAAEj{|QCQpBGP8YvoA?`SJQvp> z?dam(VQSZ)N9_B1dZkgSOR|?GsvGwKJ^@d5*nTF(Tup^BL01!~dd!t^CR%*USIsV# z9L9>4IPU{}P2*~eE;7FIn;GZJ*{^tS-w-x;s)MXoS2T*c(^%QnLcz7?8X2V){k+(3 ze1Goi=*&Bk0wZ|ITIliG5`w8nTaRL7Rf&y)>D_U(mIGO><(YAVOI@Ceo%>WYJI zI36cBmbkv>YRzsLxbc;x@nEr0lJ($oF$+Z2VmT?gwiUUP;$PeikB{H~cxU)ocL%jcOVwNC$Snz*VCFek2rU8SXv;&`mH1@HuhJ zkG$=TYa44j-Ul~Vx2{}Wg97RL`qiDQH?Eh?pv`Bgas!l3x_fb?Y+~E*dGfF?A^)f& zOF28Th~YwkH&DGahtITt+hCX$ST8tc8qUNipEFYdwgh;9m;c;z!~W_UW9BK>jj^Ws z=uY?1o$f=t)6HD-^#;ZJqkpmR{&)Y~U;2Ok$->jWbLyvl>CfN&-4{<)KmOpq_x{z7 z{p8tCe&j7JzRoZ4u4jaxo{HjOq4DVcw7~tT8oNW-XKFn>_UmKa>`J|T`u*-$x4VUR zkSSNb*ya`8P{s;O)-Q^`BX2WP=#8}bOrbT#mNbRp$Q#uZdU?06k1n$x-evYfy*Pg0 zSGx8c+N3W-q`j=;-jQz~oVQFoh2*>oVOp7YOrNuxjQlaSSc}_B@g2z@4J(zBai1{> zY7@EAm@Fgty*bl6$$ha=TyZ`ykdC{J{2q+y{JO3;@_XVAp=;c5Opa!J$??s?*D!;< z>b&Q8V1y?jub-*g4pw$NtUC&>FOQ?AL-p@GrVc*jT1L87_+q=a*Db>*uD9PJKfhT7 za9gScE3;Lf-6?Zq(M+)h?>X`c*n=%oGu(q87!j9{((IuyrE#%e2WD7>jG2(Va!qH4 z5f}LrXvzh+$VKtBO~1Eax!!M8gDwsqFvc?~AEnkj1iisZx59f+gL4OrQgL3Q>G`hv z2+l&Duj*5vuk#a?v{_hB2~eJLHSD+R?5)SbGxa1(&t8i?fV6ISbOJ1TS+aSAy|9>< zBGHLnDXnesO);R`O-B9sP6S+3{5|imBF-$I5%6goUY=KTkQYx`d`a`iZw|h<@l5rmxIlAcNxs@|mPDW- zy04NmV%XpaK?sGk+Kj?D*wLGrbE2rQlvZIyz0GgJDYxDya5}nUy9Xp4`WuCl~IIvp2^8?QoO=gzYgA|!@Q-v z7hoS@cwbYjrdAL?(4-#Sr9Zk$e~5SKj#pkTIrNIM%zNMd3;#{?tyliLfA)Lt{AWM$ z%fEK{_kZXAc=tEI`}cn7uiyIVe|_}7UjO+GExpb!hvgc45_}xOYhl&rk2ouE$*&~) zRLPFFK^H%RXVlW&q!+cg9unHI0kC{Zl7RUoJEQ?6B@geV808;cpW`bNO2DHZ^eNuF zy2H-}jyHScC|yR0(0*-4;o<6tQdKzbLThcf_(d*7Qsi(|cPIc#us7AQ0x)8ZL-z=Z051+0Jg5plL=#k0 zTp!?MPN*PqXawNQmRBcG!W%FM1~5cJkO&lk=5eG55x+tFma!p3c!$JqfO;<)4_2U| zo=^Nn^oYc7z(ps1FIAQjzY#wo@f#J)B_GV=fh+a}a+y0j{M4Jek_<7y6AAQ|NHt|g z&oM|M@H5UCi4Ytjv*BaC)9nX%hRY>bP^(u;_|mC*Oy#Lv(M^EY0Rjy`_mRI#x+a{L z<3Qff1VMx2iKGw^@OI6z7OQH(4oAL-OO%`1!_x4rMEbskqL0`$-5Q?D38b#vlktE) zl0o|R{(G~)>|B6$uBXVd2yhEQW?F&+va#%EA+|MHb#aWR%$%ohWdy$;NEAxUZATLyTqc|kbRa&(Ijnhn0OTgwil_YtS zIt95@s0PkK5=9>ES;aBNtpj)oP{S z?_I$cS1P^Nx1qnG(h_BOn6@aQhZUiJ3)1DCe3i=@ zAT_mGMrReX**yLH+SllnT~PJONE&fA`bK-#MV*t0n!zIUg%seZ<7)z;t%;DEh=taKImz!Kp3zTk8?76;t%Q@Z$c~P-H1AVvkq&X`8l%Y;n8{%$qhimtK@fKpwi!kNySAV zne~FOQV-Z#Cx1?^`a-%6YeqM2rrHdvGc6yrb!Rlt9g|Rh=dVdTHi6WR8L!bnqv&kt z-RNLjE51b{iUGW`yL4t`3y+^ncsh5;w1_;d**XL}Vu^xADv6lt#T$_f>2=Y=sT2|W zB!WA9rlb8v2SF00vf*8B;JthID$2B{5_b0}%F+yl41J&3ctQeaspfdqTCh8NzCOD! zTU%TTs>|o+sw=gc@2~96o|~`Lef_HOz1`Cac#HYs{&~xKUJ;QvFCFv($$w=Vp=hGslMIgIX?jSTvQ7<}9R^i-HIUmv$i)qt&h^~VsktQ&^CpP0c2$gNneF;E1!`(L`U zoiRvSJcfJ`1_Q{GzNows#{#6~6$fH0u=QEY3i6W~g(kRP3nY>pl|_W%@hcON)11?pg&5Q8 zJ?DI5-N#Y~6%!yLy>|&;^EW;`gBQR268A^RJPz>v>2lX#unXYbKeLE@%OcK3(``$h1 z{sG4l_)(*I04k`JLa|6d6l`~VC`N&}h+RdyR|05C3y>xtb^ruk+;xPQ_}hC51_i4+ zpka3Vuo=bu1?f`(RZIXb?KdphY6@hsj z_6F4hiuvC5uJrfzgXnEZ3BBi`(ppfeQWzQFnGfdu>Qc2{TUyzzo|{{&o?of&>dgb$In(DEDqWES zv_(B79|QHuPN=9r(LtTFd?h_gMYeD28=Ut{j=Vy($OT>Qv$vJCbP7Z(?ZSMOQuWTpNT@$C4kd!a5k`tfw zWjSlv%{=U-)R^{|oAr|;h;aS|&e3CPVozC0KTM9+ST%7Ii>{TYLZCpx(HXf^|Q2|bR(I3363hehHUx?bsq%?jO*$c!pSzM9g? zf6=B(VWi0d0oxtTWxgtMkb079+YY`{kh-&|rXj!Zwsx>L^Fr6XD3?_<{-SY|wyNQu z!U~q$b<|+RK0I*ZIZ5`l^eMr9UYX^VVCAlm_LOgs%%F8ICt;bZjFC?wr)rP#IikGu zOg|+#5g!V2#eyQAnE$@R3Ig0$?)R&-?V8csC?!o9UO#W=C~hI&y~aXHJ~wcBX(9CE zo|oK={d!_EW^Af>V?+BOek)8m*Z^Hd5;ofX7WP#FOdr>DJ%s#=4S(KbL1Rt~v3|28 zue}h$9YOXKxfW2&yz)OhOGMmR%8SkX+U z*4eMn$-(2=#WoHsA-n~g(0XLNrMm_D#49rF-}|(;3t?JP$Ig##JVm9nt*kW=(lG+V z`%njnr>d9G@E|BBHlmhF^yz_H&zx&H` zZ*717z3=?qKm9wuzS4Q}fBf6Ockp*Nf42SqYMFI@nS_7AVWIKJo1lO?r>p=IoM z>e#(`l^JvLXGa9>7(nsP_@VYrNb^i^9(D#C0dnmB)9n8B{?Ty`7%+5qZ7B!5BA}kc zR#;k2A_x?jTVH_P8Ll}!gigXe7tZ2|-?)G0Ot%c>G`AAydn@^So^1!OwA|!b+OOaQA?VRBy@wyA0*vR;h{4QV^I_A-hXe5ts z^dzQzNX~IFQzISdsQ5!X)RmkL8A*4Hbc5(YljwX#(Kwb$RTdqf$<>N(*$#x146{UL z`&HXsoce9RW}F_f-8g-ZZO7>seLiYe!}~#fr%$JBvW^|JU>6T5LCsPXoSp}s@pPA( zU}zy^HBJ*|(`y5kz8>ClVQGvnOVgUR;Sqs6i=2m?HsVb2iANGzWJ1evo_Y{;0Oe1O z10mcm$UJj!5D}Hpb*MJ4FSAv>u&Xy5IJ_koVX<3<*{xzqxh z&g3Uq!Qk0avH>%Gv%2%px*GK*J5u|reBR8E-#7K~ViN+b4iq@XZ7+WUV!Zwuq1lVc(`W?xFjfG0<&tK3+V=~OL4#PHOB(_w`^+iQ^TG>JpbFtQLbQahwXv zqx0ne7E3(8ur`l0cu%0{k+@jat?HCk>`{HE@PGQB`ea_Ya?ec41UaK^njf{6!+Pf& zxp9`yFD})Gh30*!JtNX3_Z-v3xZSAp=OloW@HGN z7wua5z2dFNBx3g>3F;(9!>03+)e=fC-jr-A&)IeKiVk=>g;y=w+vMyyN=FSPWWPJ) z;aXIzvT3mJslNi^3*Q}++Aw1Xft+$P#MTSIs?mN8m(J0h#sS?_0F~_bznZ^=t zI|#hnZC$TYCbumm@pf zp4f)I&*^hY=ER(__GHh3-0|pk-SPUF{KC(lDX(8y{dnW{hZ`GPtJki6ykX_zpDgpw zly`gGASmBO2uhg0e1hGN_&iZ=!2zFNb}lvQU*_(WTD8%GjSLH3nIyOqRR*@Hsv<6@ zFTt7ZH?6r_yW1#lELdJE60fD@yb07myFJFSKqeiTnpSy^3nPqWpufH~b$;rMU2@Fd z+|Xm9gHnibrsoFwZ(o(*90pWu3a#9ag;@o1OUPIB|1k|9nPO?dXRTb86VLPl-09$M ztE{ZjP{UC@s}Psmrm0h~U}{ICL4-Y%wBZmd0u~E(7F3PWCDiZKKb-M+4=@NkYLTky1bv?YOpyA`OrM~6 z@0vg8UpDX-JXoI7sWYb&6lZp496)=0ir9cCjfVDmiWKtYP$KDK5SVk>HvKE!kEQ2% zIR^VE*CY%|nW#&N7sjON68}Wc-`fl7>C{c+SdbA-PBCg40D?`Yns_xuHun6WDs=Oo zH{am0#0^R(N=3~NlQ~um+BKT-tap{5_cGp9lhnifKEO6r&Z?A`#J;7n)Ah-mAgHW0 z!>HfoMfgQ4^&^2hrkHG;k7p970n$)#r~mD`5DjB>U8i9g&!f+OGR80~y$hRX3%Nv2SREZEXXn zZbM4fEbwAs8>k+ZFT=l>O0aEUX|>-2Oot}o<<#Gm=zL_t9ZNeN%Y&-47IqHcrM%x$ z6%aVHqXw;FEM2iMjq|A3N|%6P41`vVVVtKB+b*t=Zwz#4+ykUEC~aFn#_B zGBD9-*2|>em86u(;<|x#jDAnCrYoYDE0s3xV>?~mhCg{N5F-lc=7f1DRb+qkdan&| z%pB(84|gP-8)0U7D`{p4Bg&-tqGjA@nLbLZL~Z&=fDou!{btBv{nIkKv`jKBgH6kv zlR!^OkbAZy8w@0?9GRfSCNoh^M?WTTN2x<-0HrD^>=JO~4OnG%%dVWJ#o08OnoWZ+ za4iE8AtFPN2C==Bwm+K|bzJsa!1g9|pM)72{cJXN(fgM#Ulq3nWCpdNpk6m+@Tu5_ zD&=AlMdT-`0!w*Z*;MykY3Y&=H%)n^m{wAsRMIl&gGpM3_--aG$5yYKmb59Z*iut* zXO)&ld{Hver34IgeX?sca8M=IL#ENzDoavCQVnwIz>Q;oxP2ES=&>;F128CIjl#@N zK{E3g;O{g*AEX7JZN6t@qOX7wHPmO)An+U;1kx*+_#n5Xm!lFex)TV+mNni=W!?#? zn^Z(o6U~C}!eDz*mb2{l>UeX?KHX85tGG#)yeh*)yyFrj`2!dx-jFym7d$}z68WnV zkg>ep=+azBx@Ped{*-XmR;fto@I=n~=Y3?Wl_N2ga!H4lTDIVgFgg>3OT$KnSLp85&9u<7q37kDZ*>Y;<5MiDLFg zO!X2woD?VJ2HLH(oyeV(cDSrcO(9ZxVrg^Y5?jMaN-Mi!2{_J*vcXh6GJ{DeYB4Dt zOG1+6+LCB#0`FIfu(GGsFuz8Ag||yI0aPBF!WvoV>mV%eAiGi#=XgH&7G`HsdNPu4 z3$j|gU$M#=8Is1d^il}j0{oQkz<(H8Gvp~MKU_{r34M{6(HXKZzzJJzOZ)vuE?$;? zOKHDEe^^OU^(9jDYQpL*@svbVmRTb_@~#xU_$h0=kU1%*qI3c}IyO}jY18q1p?<3= zSN)Qx%iK*VGwp;i#pB88PqC46hA~b7D@+%a(Ttp(lwwO|Rzy5lBj+JZ6fkm5qcon8 za~jprjhvkn$24+Ir#YIDa|XSUjGQy*5r`e(PbhIKVC0;i=(w-fXUfPqaRW|QH!ngP zd4v^_SvZPQd`(c)?0Dc-obKsfPF9-}N-=SJKzh{UxHo$&=KfXlSO8mEc=A-{U`xBJ zVVJr78Gw;IwM}K&^6E@EIp_StIpmxvf4KppA#3I1b~uyAVSj~K7`SMm`_>mQ687gs zl>-Lc7zOA?$}3BL)ykEUiKq=AFlO55S#$?};u=x#tDt){B-D{_B&^ERW+{rZ3GkSD z0AOR_{>YF>5*S%E51@hsV+d3o93|=iUX;~z04D-q5f2t?zQCmc^daJ}!Ts641AkZo zROGAxWSlPD+i%qN2{$o<%dBDM28E=6=4~ESysPk`4*VW&R0%&vfZSApl?X?}sNW$? z;k3YS1ojP@A@O-?2NG#n@j#cmb1 zTiWf^!kI)yY2II2oI9sQhi~?v zsf4DkRatA*c^IEkkJKRYV+Jx-kF~ynum2#M^212QoDrL903NBt7m~y)2^3?N>#FId zgyXscyf`qRz&2Y@;#Svhh;Af%ywIl?Ujog~~Ew8!Xh%`Krw??&1cf zxSgY-IlkKI0s^?x1;`@C1K`kb~iv<|pfwjHtQjF{9oKLFCuMcJYqh5o6XWNYt=A;p*FXUrL-m7Dxr2Z^E z@MF|6pOZmDK#TJ?dL7{+AHmaGBDjFw1*m#*&*IMVFC~bMv36$@dd*$UsB3f{a$iiTa;w5CnwJZm<*OTq$3P)bEa?yi}21TP$3r1zMwJD2;T!C22_oTQAm)c0RHt_*= z3NB=N$FFZYiWg)pO3H!w2xF2-~{}ZKJID&$aP+klTxg zup&RuRW5yo%{9wgz0XUFxt2{(oA-dVV;RRnmsouo8lg{7S@NkU8uA@Z3m>90M%pF9 zdI3pCt@)w?okH%i{103i*kDYQ%AVJJcU6>L+<96~GznQJaTa75zwz&!NdY%Z* zVK~a4DBqF}*6!kkpYqPnz=2@&1$L~JG`SIS1Bqgf8G8?75wtnra!>CCZHlNI+)nIE zpZ!2RzKNUnRuFrv+H^j>-`s+uey5|j;73nx_M6Z%k+Pbv7d4-$f_8LjZt9h(Rh{wk z@r4EHICgJjgpO8Oj{M3Do%`;vG@JR6F49mvEAE~Ar4Fhy_XB*$#!rcP;$*qEPj8ow zvU#H1?M1+OW;>8)1h_swe6M_cLL4$T2K)x(;V46UiCVayO~{!Ol!7TQWvXFW0xfbB zjz5}K^7tw8#kn$OCE*|+^&36XQh&DO^eN%uv4dBP`KK0hk32^=iyc_S)2y_&4eP5| z53hRW(8=(~Vw(_t)w+@YaJZ;pI1=Q$6p8EGba6Y?+3S?=A#8mUfr3Rg{G&fSR#SPU z_XWdA28s`ak;6GukmVPTXlt?(3`V3gVqhX&;Zy9x9z`Z8Z} z(fsfO{>yuuCwBYfpp5NaK1SOUlBBd!EZS|T+jS&eFsd?Y8C*ZtQ z4_hFV6hvLk5CKmZV+&@T@1^Jj{PWzd54+B88IYO&ZctVV*<{tvUlw_!e-tU4K7Vfm zcgMr}i-8dzTl^F6#<xNNf zK!NZGmg^BL*F%KmO1>|&6_TdS{N8#$+WzG~H}}GyJp1#%d+skS{K0qs@SptQe>wfc zZ*TvDckX@n>u-Je$qjx(+=c9V32s?@8zD3~6cx5Dn7nVSd@ zNC*-$tLv*rG9o&n02h9L6)`Uw{y=p{=Ql0*YvjTmlB>RgW z+95tY`Xp}62ZDWyEW)V(F)yor6G+<$z%B{fGCL3uQA&mr7(E|8_eO^HI>G zf5xYqa%;|kN*QuX)(Dugc}~$GOhr;`7gEA02gp|vu0>=5c1e64uK*n+J@qe;nT)m8 zog>G}Tk6ZM(KB@?rQ8HoHUsw!mkQQEg)+X|2vi1o@XrGT%b zN8@;};yL{T%&_;~BLK0vY583QWnI)i06eC@1CvaD2V9x{4kR=E9Z^`-cNtw(|A+~l zhhOf3eonDehX=-_@Rr1GGpzYN0o0e<3-Ws zcxVP`g_-sd-%DH9YfxsO2bPiCub$G!YzH!V<^f`SXfq z0ZPNfbSNpO$mT1RCcZgKyG1#@ur1cdH1(Q9Snr%8-7VAm;d zIr#NryFr@;@lw=-T_1P*<)+`>>jS^wf|rD2W85puZv!ZkDe;O0jHL0#-N2Ty8PaX7 z^adnQJNY53Nm2cFW3Mf74ve(zS_pszdRc&B*dPo872ntifJGEZLqp(aixmY8cuvj^ z!0p>@`g>VSHjWk$1Ml|~a++WwXd3u$2r$0t?GloM$fiyvFxzbP5&eUZB7m^z zMS!^_oCUzd0aKxh<4aKYst2BIw{Dtah=g)nX9xvcr(>O@MruLP+36`6@*?maz4(=@ zH&TvX%8}>Vq#L%0IQ6R0HySOBlVnO>YiAK4I5cJL}Y4;SfYEily zHtL{+5c3MKZ<#hZmmymcl}#G=fNlaXS9GZm5NQ(RDHEZPfIHP2AdeB3eG)oJkOa-9 zbPHDAfEek$O&}vR#7_3^`prJzMRvW5iF4dVuNM-yhqQWvh?nN}F}ng`xJ7*!9@CEQ5Bk@&mRlQLOAiDN)WIoB8A@mX)g+q4=^VNll0Z@xm`@B^zH(fCG;-JclTmN4277i zcV5Cfp3{kh z^Jng&jRYl1l0+Id>WV0kcRk?A$ulg&1OYjBVKjNU@Y3gh$q=)(qaa(=0;Ks*=K5ye zj~d_XhY&B3gXeb9W%B(yOI?#T;nPrE@Wkj5;lwO2XvhreO-z88DvK{sEu36H#)%_3 zxCYa!FrzH4L}@+z%2rG~%pP>v3u19|483BFG9e2<)CEQQX^RCtqt76+s1zk@au!<) zwzl%vqRO-Ft3-9fWk&(%dS_4z5P=?Q9I#;gaW-Y5OZEWy_z)GR_8LN$+gl$evty?ufx_r2&xOppc-&sH|GP zw9Sy9mOW>P*+OrH<=70)2!aqLPJ6-%h4ZO#oHx>8g%YQVbifcB>C(PLXF>glY;C05 z3y}#Xtg16*FKK5Zg=R^RbInr91XQGFivls2XPpwHNMv%2w=vwprp2^-5tJUtV2Rh! z93#=kqCR``A;!faQhL1b#bJ&kXeBzF3&hJo#yg12_K{M)158Ezb*!bM_P=TRF-FfD z7yghvicBK0x1qB&J3P7V;#Lt1pJ^p#>Z#;wHZXGE>^Ew6*7k$i9TN3<5otn_n8wpGmEqCthl~-_Ft&DGNxoR?)dA~aZYHVX{ zLI!yC1c*%pzj~s4TphoM&?pCrwRzEA8EFh>KzK$e3YB1fFg~{~Eb9*^MAm?_o*2m( z(RyowT$-TP4~p&tSFybo)ZLQ!T$c_Y5;z|5zT2ldDNhs36T(HQ~I#-nk zMLLZJ(@OcvRip!U+Ju?yHw^&Dc2w?lTkR&0AOYN2UOvB4KfiQtLDiW*r)H8X`C?+9 zQx>}$Sa-JoNDKff>PEH+Mzn2JI>Sd--EHk?3L|q^xRT-MWXzSm6V$y?yaPwC&2q+{ zT#w}K@WobqEJVsatY>P0cv^P0qk-0AZ@*t9G@Kb1u#1JTvb=hI z`zn-qaw3wKZtc1Nai=S}-}WY@+U zG4_Z?deUF)xVkZktF}peI=`8pN8a_L_djod4WFE`9p`Os^f;M1LS#xx*(3KbyWht7 zeN+`rz`G;?8z$(Ch!X7Gvj^!{Puo2|gaVY87zRQqph;`%Fo8>8asPWJ%p%noAk9lMmRX zY(&L?+mS4xCSVt@hvfW~$F+;^osGYi*O=4!%b|{XIDwVnwS` zg?-B6fc+L{7xr2RGjFifiKPNi(kM@k!?W73!nEc{SoSCSn}I(C-Er*o<`U+f%0gC9 zEo6f?A>&=q=NXo}qPL~luGJlf%mf$4^}+yG7~Vq9PTnE|mbMg76d>cR$h%NJQ!2%# zai-cuj77G{ie7VAFy=JPa#~HXnG_2$n>~sVNEPQaF}F55G0`k*uJLU2a+_)0m^Uo8 zAB>6K=gbc38zWeJWZ$@7pBzQQGHQ}kCt@P?U>LeN!On9VO?^Ds8Z7InQ4D=j#A(K5 zMzu3R?q%FuER*UCI(gbHpD-}#^Q{NLw`pPZz$=)fynm)_uH09QQUeA>KP$kdre016 z@_c!2p&BgIs^_Hyz($DH@M1<=$xBG8Q$RPxbq(~Q+^lr#EzU7DoJ-DX z8+`HeA%B_aAw!VP>QD}C#&`(6)aiA)5r9#fwcgz_ER%)DZFzoWxwczh;;AKHF5O5b z{sPWq9lsj|Ww=o`8w5yl7ZP*?m;ABa!n3N_^Ec!HuCi+8Rf)wI$RPCvM=h1rZa2Kg zP~=ln#VQ+4@l98qm;7jdEhNPS9b0wR6{|ZxLI>p#)!X)p#Xna+r#u z@7OSUUrMX5vIZ~5J0mtTAJx~>>xRGoh*jqz>XbX`<;t}HzV^|6FKCP^RYhojIkg9* z3U90qJ?gBUkLqi#mXA4`$ zY+FGgi=Q6F-dlVq7NoN9p;(aW=|hMGc>>j{ipdm_M`mhj zo?!o?WUR)H?#!9cxr>yIQU9(Kr;rgja;Z2q%gFfxAxt%T1Ze;Se>j7--~;IQLMUE$ zfu2H}VuC=xbDXj3fLH+t3Ytk57_vo=opH6Apj3Qs-;eGN0#(=)c`B>+I;A;Pl=x*&kKrV1~qRVkI6Z1n)NL~t%Z zs{wKhf#!$`P#xfI8g&i0R04>5zXc4K2wf0G09yiL%OIcoV3eZ72!^{sC+repQz^hU zy^AoH3b#dM0A>zAutW!>n0N{AI0E7j7>D}UT_kKma0k3Z#0JO4&E97f{ zv$`Q=34nc4()eY;^u{yXRE~p}bGMo}EluwdcjP=A_} z2-uf*O?IrtFHwm$?g_&-lr+sU4x@g(tOGi6ZDaoBSZetVc$4Zwis3*CM0~J|cnp!J z;}4Horf-=fARHY80sNysngDMgWoGeMWLDcGQ9x%N;yjTEze5C%$bfPnc!c*|NrIZ6 zlrLQKF}mcY;Y^yrAE(EMIXnupP0c%{+W6vzS|Tf}O>8}|O~QK2qWY9hTq87dRpi)%z)` zir-UtX(HZylLMXXJe8(rH)*)OYh(UbRjSJ%e;_W*v*N9s@teI0w%C>4eG0!spXX(Q zfTl=G>UIyTq?c4F^=4YBuP0M)?^9UNu9fLcXQtaYsx+;fs<|Q`m8u$mb3ik+ zl3tZn&=CO$l%zMYGQ2jBA%c@@vV#+t!FT!q1GO@|B8lM4rzRsS9SFCW$7ka7 zGSLFyT@@!8njx(GFUb6D@#

sw?CP(6>A4YqF%cj_KYOIIOo}s3gAyc0Ceo4*@-B z?o+vOLTc2kI?p<&D$ZpoyF(Tn1?oJ--OeofR#s8Fo;MtsoxP^yQKsEa={z-z7#7(h zc5U)?!M~4uTpszjJVYNC=kh_TkGx>zWybs7OTYFnfB%i>)V<~PpZt}-|J}d-E5GyF zFaFlf)IYlZM?ZabbMXhhqvhB6WfD#$hlR!=bktCN{)n>zZZ}G@U;0~4=N6Za((Tp4 z1`qBSN24oo6D}#j64k|1eswNcsgADFrPA4IUCKd-*{H>#Z1-~OcZtGSI$k0$o}O2* zFs81TXvppuSLsWXhAVz4*GS6WRKKPLPH_gcN{K6#ywytHMY)}f+?QJjq}e&>Qh+$q z->Uc(nmb5YrlLDDu9G;(qylI)vrPYaPi76iFP=vdY=VwXD2}!`qOI_E9cpcH>}|Rl;%1%gP=f>iE!-F^Le8uRfOZJ3sCYq#T>CH(na{h(QSe%9^c=3-VGX(+l;uHzGtYh<$H<0)t zg7Z;;8THE`w~VNI6gokr803~K2+$X&AVMGikRkfwUj{i5q%TgPD1D0dd6OLc>cDq; z{66X8Mhk-N4O;wCn2ZrhCBi_b>wYqq0Za7&H{lI&FMI(%DUeMkz&=TBD^*5DTNAh1 z&|~j=@InspCMrW!K}bbakr7p54^$_7xpcHlc*s%Z^x;4NgV^s#R1oAV2-qV6O3+43 z_r!j!qKqIaVRvr^3wMpMnP=`b?lfjL5oHK>2w{5$K8s($)Dx5!0R@ggLZGAqT8MZS z@E_A&jY$U6Z_vOrb%x)=m#jN8(ZgnC@1m|{#=}n3<|0H9km3tC>ViS%UUbrpL6d1w zG4*cZqb&kV>uP29T%-g^#F{A#iCW|jcU_lMm?}pB3S{7D2}iby4TTGFD(g%72@h26 zt{5%E6=;##grz`{0=R?f6wNP$Q^1i zlGCN5*Lkr@)M@+>#Aoq9G#5_oig+^0Kq`47Qk_9G{wjKN4)j%T&c`8D;!OB9jR=H@ zWS8-Ij~x3~D(@sb-^F1Ny%BE-3<~b38#>yIkyG5^z!-qqo>*`=kHScZL-vsSvFi?% zC^#2)$thBYFX2{bCCP)nmo{(yLC*1+_H<@p2{1gDI{FUH7+VSq&5BvO84k^*ED46@ z+j3eK6e@=GxFO?$4s@B(VP-|NwrR_QLUn1gf(ej_gQ6t(PT~2wxb7q=bj$@ZifCF( zTBZh!my9{oe9TfX+!CL=aZKl}WC{MlUFKK7HPi-}lW{(UsbzMvQ@ zrf>ZNB|a&6{!IDQCrnu%x=Va6WJ|vLpPDKV0fUWS$*%M`84<)(UQ~N-geieG4(gQh z%9794k`i>5jNrsQe_YCTJ7@cXgk>xlERfIAV{y4x%>xbG(orSiyUf*h&oKoaf;{nE zhI+>{(IS1tWwJYlbES0zrw?y1=S=y_{V@hcKz>2VY;#Ie(_6^H{)KM6TQAqzy*3aD zpnRq3capmr=uR~Ke|ixlTYajGxAh<7j8NC z{BFC9@biwZu zZ~e?)`JaC-`rrQY&)@lzPUHKY|Aim@%`3n8-Cz3`mu(?V{yr=QvXkKBktu5dQ&uGg zhp^AoRDAT3+sJlcU!7)Ri;cY7zIHNuE4FkrZ4Eu|()Ri&Hjs(^rrYMx+@`uM6lr6U zX^7~yH8d8yG@yN)f&tGQh5c?VfQv6dGXPZL07wUZ9cpdojgf6n!s=}NEwCppp_>_M z+-ZxTcVp`Cq|n2Sc?$#2Uz0aG*|59Fc<{@<~NVJJBtOTH>5hwmhzXmNmn*!@Q_k9cj5EhcD;puSb)NR z*00W=^A~0n8yQKOQ6}>QETZb9N2D<4tWzSjh5VeBUL=*9Dp&p*oF!jMkkk7V%~cN0 zvq@N~+daP*z#V>!3I<4MTJj64cI}SLtIqvu4R(jnn9`;ZIB3wnw_1%}F9V~UI+cFALB2F^3pKnu?dIFwZZ~X| zEDnfq)j@7Ppr*%lfCnhN0ZvQF4hCwU(EeNXZ};jS1nsxc{#AndgPFE~d&7A`sQ)8x zKfLE1gnfYHwY{j(>NoM?dfl+uj0h^v$1?zyV1(*ky%C`G==zdXhid=Lw=a}R@4x@P z2S_?W!F$i+B=5}Jw6}DYk9HR>cyeL`Z{D8w-uw8c{JwYQ7Vap3pLaGvCK7ZgE=<=u z^NoJg^D2V;Sucgm4-uIk(KM**sGj${)*aa$-r~GSCAU!zc9LggdsRlwCAdWmirNp& zP0vj)OwUg*PM^cy#p$K#`5%#>d-kA07`zrH7g!w<>Yh{haMqMFB&1NlS)~boQV=<7 zsw^^D7RpT_mG+3)xo#pG$*1*(#7vrkT5`QGT2ProS0wX6S zOAl059WA${cGD2sO-pWBen~Evk`&>V7UGsi;+I4Ey8X7G0Rp$h`%RS2Kxrb7=z~p? zOeyJ`Le#SbaR)biR!7?N6mwiLYkr%YyfLZO<&1y{soB`=mFU87aL%zNb;$We_0n7< z2X29tnJQ~sJ(~G816*RPO~$pbi|Gh(HKA9fNeA4Cc@W0M5kY3@mL{ZZU`C889wzS| ztv7n!yC>+$3sHcYs`ZC}F~y3ay`1;u0+sONQH$10>t2mlx%lh*yrwC6LU1zRf_llN zV)NFT=SLp?XaS+QCqw4)NtzmYlAw3XM7{!4QA{wRmZV6D$!?Q-5G90gUA>_vx_L}* zOZaaQ|1DtBJ2$=Poal_%VPM8n+mI(@>v>axy)SQndAl?_)X~ zoO(VfC%`cE87TX?WD*?B_`vpJGUbEIjdr6KaBuTp;}FM>KApeZ)&v^l7t6N*SSww& zNM(#&dA;24)FHfl2mNXy3$_$x__q-fA7>c1IeZgsTvC^aCK%=+#QBx^f3g|u`L%;GbqO*iF&|G}6N!fy_3=sKyDZzF z+Nn-jQ^$7BuPiL7ho^UtPwrc<-eB1~6+gVm&q^}W-2C!_DtZ!6_5#YP9_T-Z=Ivx1 z#B*g@YRlbT1mA?{z4GSDregM4;dWXNfM89bax@mWZp)}&SdPT|2R^jO3WEBVq1ck* zD_%|^zD}%Fr5Q*kX!HAc)Cp>Mm=xgS+jx42#TOv2TC5n9vLtvGLZ=#eLO$uUMfXYZ z+gMCa%LlgNMioCaV#?BxSVZiBEc%5QE*)16|-5 zSs=-;GQ$$3#41Te@X@6b>r6W1vQ+%<(-B@X@+rq3np}|Leh=d!hvOSJ9CpQ6MiLDm z26eJ{zpk3?OYr~se!~(?HGV)o#OIXSLWsb=c#<6YXSXTTb8z$e2bY3&ZT}EY#-~IB zlA8&ZfRmRR?QId|ST$PzIW%L>+ug+MYG4=-;2WRdje=^+GuH0mx_bV=_71#L8!~kd zot2Mu>%FL!K3yFXdu=&wV(wGZrgOr6yw_+cYgFD~KjuCbsLq)><`(_DjY148!FE44dB zTS9ZU4&ZgWK)p4UN2bw_Orsy7X|#G}XhR{d*?BSce*faH{`4OOf8%@q;V<9+<3GG# z{WE{-)W7~aGf({Z&ENiyzVeG_zxxI4$fqSY@nsTb$cKf-AvEn(ef@~D0*2a3vS04G zU_{Ak6sEZ@OX;q-Gj|$C3o93={c@`LvWiRSG)>N9ap6Sv8)}NcIDXMVJM2V_$h5WI z%C;#OghHO6fr5um0V4&*R`NWG9R$%zwS}O>havcm?vOB?vT{>yGj6MiTlpD& zZ%z4_Y_=Gi_6h|oC8&a75^Y)^DEpICK{44#F`J+&$1t6s;%Q>a1C%tMpb~O~%$AI4 zM?pmG>3IZO3L-NRdkP{Hi{UWC3d+rLHMVgD6H7I);0(o#EU45EISnl+MYfd?Ws{R_ zJbMcGTg%1_cXGiVoUP2gk2DZ)`g%!~YRTd1B_{Bj8>{P^8}MxwzY;j}q~``;1zi)y zbpfr|!=?p*wE|$6nvwWS6P~fmAwi52sr19hAu*4$a!82etQ-;oIV;Cp3eKcvgg|)- zEqUN$Mnv$ffY6#uWg)%Aeqg@D- zS7aD$1Y{>*=cFH=u8T3IDFY!+r`p0K(@Y~6$yw6DP}3LaujFF5B3ud2O~)zPfnsYwjW$j)@sR|5CVoE7!`3UZepR`A-;&7G zE0sk?rcO4~gPD+D_Q_bPOn0*hm{P+iMKpTQ`P6|`N~16cR;o={1ffBwQE~Gp>k~Or zfK`+o8;%D8}z|upJA29R~&y#(x zIUx~?2Q_vt62p2<4eN58L+Kj?<~||`!eR}^`+-CW9b=5d^(xS0X$0LPB$85wMwAwP zs@o+W_1nn@$(e#IL-b4}G8P*MVm1bvx7~zw&B-o~tq|-^jeo~?_810s7=}8>$kA)X zKg319$T=$p3?OP&VmUz(F3DKO%RDpbO;Ra@o5c_JWFc znGEF-i3kR)WDF=`)eDo~T6j0;!c*h|<;|-HnwgtDZ_Af)GcWq}fr^@4*?3ZsC9|hAbhR?4^Q>=#GOu?_jTV;S9kp2VE z1pqwoSy0(8gX{w=z=Idm(N{wroL^jKS)3wU9x?$FHU;sN{}djV=LIytQf)clTC`aX zu_z1?;vz3&mFcza6MLfE@&<^7!W%dqdO6d+x9@ccumyXQK zIfndY`AUa_7}oBr=DJ%sq;bRBbQD`gX$O1M(Y%vLg=AuDXC)d5BxEZ}T9|=xf6ko>f6q0z(UaR{y=$7g?vv9$TvUN@3%B)l*ds5|dtE|rXpmtrhXkgnckwNzVlua8T2tI=)`baFnSO-fgS+s!^8&++CaXN$Z-wgsGr z+x4&y3O9js8cT4JTs~1)1Nu3v7K|6+lg1_7u-ry8*PWn?nNPUhTC9GYt6$S;iyQsb zUf62XAlC;L^{ct4Z`?&(0ZhUBK%S`IRziHEeaWw1UbhIY<{}7oYo9c>585@FV73wM z`%YvL$|p~f5N7e9O^d7@v#+l@V1G0~N3iHx>-_LP!O9d5m8#gu;>^79f?*^h4fVqv-M*XtZ8>1Ai?93ySGlNVUm;Z9y!RPVl{>Zo7M zs2ZtRRUjpIm0)kw{%8p&BzBUxAN=#;im_bY=vPRY9RlyqHtO1iH8#Xx%3IU5lNds~GG|+RAaG2D^h&b#?A!U8y@+S3Q_a z`n-Va9+W*}v@CuV9FFxk~`?p92NYyX|+P{jg{4`ec(L z;qZSOh*cP$-9}eKwR}xf`O)<4+qdg}_g*vcGT0VKRIpL*>e`3Wah6kI%7~aejpe78 zRy2OTE=O(@lF6b^bFWo4V2N!+pBvifl#)+rf|r}2A0t%_rROgAoF>QmImXAzF}~@A z;}N?CFv$Gf=qwj=zUd!SSxuOOKX<`rb(3$3Q@YRU+#D2B%f_R1GuYd>AHVEF$0eoY zDa|EfoaFC7SFyMTsZGpJEu~~U?&5l*a%podKh5;QGFTr?4~p!^H=tx}H9jdYoq{;qwbn;08uUOne{n%$9CRxW&c^gLJb*qXG+x^;|X0Q(X zPH1EDHzXIGFI$ye_j~=W-yES?IVs7wr?HH&t~r0ZhET8ta4T%W-MQ5$GRq95@q*QD zHwm~fe-pBb+iBZ7-CzvTX7R6BT+;;w-i$;sOAXQcjVPe6JBTHGr$FzF zNO?XdL*4LBU_)^Ym5R}cPv>Kcyi9tmz|65@7=>)kj@=Bpd%-sDHS&wdh?H{{+uHbn zo!eXM8(R}+$flf^p)M}x?r-<`>ORMKjYxSmLweK}10E7I#Z^}8_3b{}e&pb2RMJ_m zg2mF>&9&PfZC{GvbjEtmvWYL`@2Sg;YS{K`wb;mFC|_exFXw0MgSGYiB0dt`mHfv=a@CTmBnE9pwkO0s~g+-d#n(> zGs7$2f^kQ!zzScKWDb6Bt}RZq{V}~9m2Y2JooMATy{u(-J!tm)ZNFFHFZp>Gg>2T8 zv_Y{lus6f;AgZi4!Vbc>B6darkr;z|*20oJ^;KZp(5MyI8jebODdU~7S%Q&8_rQW` z9Xg?mS3y>1TkNgD9AulqUF8?9F{o$FlNMv}MGU&MS`^zkj#)zif%vc)1V!F}QAua* z^sGK3C1wHXACYo_@gHI9KL+)={BPxT95r!_%rEpK(=O1SZ}xGpEhg?`P%rSNZ0`rV zyFnLfS)6tA_t}^=d|&?I-2P6tH-9y{3h)M+GKwg%CQwV(2Gx2)sSDeCBj^pst|M!E zZ!x*!7f>9GL^rFDn8YfVa7KUyEQ~3G`}rkqB)W?kaweG(2bLTC-fFupG;??t^7Awf z`FDo0Hp1DnIMK5iY-~27T4l9=AHg%R&&l5{g=v0$7!&K#!Wr*>fi-XhszW*70NxpC zQ3_0zg=uE3-C{^ClX<|6ZawH;3-^kwbR$yEI`c_}=pGpMvH3-$D9NE?dChNC>%JKe zEr(uf1gcrbFVPp9xXo*B+y}5xt-!{66tY9Pzb?(SjTmv0=#xRJLkIJEaF1YA3cR~T zNq%kE401hOZ`|bo+&Q|T7{Q@K5#PZT=!6ld4wa*=Zn)R=TU%sjl>c=dg>2SZB;FKQ z6|6S*0tD91&q#5iS^EabM!4I9{Z528wo%{`ek8hC3Ms*i@C?h}9fjy+opY3#gS;LX zVUZh|cGl53$<+PcEp2e`btUXh=p|33o3-IH3KcS0DoitLt7kAV!Wm;k%2{ut z!4OW-L3jUnK z58I8s{ays!=Z9_oZjtl(7}PUYYc;E0^Xmtsk!`@0?{I+;>~=;Wo3%D+RsgNi@8U#WEAZluMmS5nnH^G07LbvmB=hv*<*?tS z{}*6m6ta2x@PmF3MX+|M7MVpxBb=r4;lUB!o1L%;^T7h0Ga}_Yefm*5@}b!;vR@m8 zY?ewF+ALg)MiqEu2KU#xVHDj197z88Wn|h}-O5aDfAiYa_P2wA&U+(L&N7vdh8Hr{ zLuLD*RSlbs+Q!`?rat44&l>cE(RgL`qs#fnZWOXvottE3Js@Dz{M?L4IZFVO3^9^h zewIe2oxk8_zu9YangtfGk!fdbSCc)p4GU|awB_%pQAuYVEG(7^xp0j{_gsdCD#^@8 zSIJOvwcu84Ec#hC*)AW^%4(;BQ%(LM9It}HrHdNNk5@sKGRWC`xOK|kbz@L3T(po^ z)fm(Z_cu0IuwTjFY2#IpW!>u>P_RdKy7~DVvxdUWyCyCb^Yb@e1%)M}&=uoY)MXbi z+Rk(Jutq`YZZ{$Vd?buZ)kmB|gPdn&J*5gI!Fz~=#+7G!$5r5WRpRAqfGltKyp8Ui z@XoYHK@iKh>Ez3jFPq8UnSgRNFYY1oUbBMuUuPASQ)V`P1_%`B7KGb5!>b4;N>fiF zxB`FPpjcrSW@Zq{a=%|CqBD}1;Alpm5piDe_sq}&D#*MlMG=2=sEMzln#{^5I;K(G zH?}u-Jc4ztdmp1QyMSFKBlrs*?~*l!J#Nf#(rFQ5J`kZ)oMg#h^0cAPh$ZJ_Q#*6iNm6 zae?Z@bPX)46ug|6XVbzg&YXY@iko7C>)5a$mu!5TVbCrH?gWJ;0C0tgePgF4k!L0e z=Q1vYij7fn(||v*(?$d!F@}sVK9ryvT|`eUyT@dOh8uT zWYTsp%UNtfI1O26E(={Cfu@kvl~y?m@*rzjw@TVpTUiG(t7yE#&2l@k3c3CJv-WTn zfy4n%NphC$>YD8tpCj{4?M9xZ_f?b=ZtppWkLT8%HMB$gud^;sqz6+GVMukr%F>?= zbCk+@RV??j#JMzUk8PJ5^t8_EQ>(Onp^_!IR#BI$a)I_H9Er0gFsoY8{VB69MulnrpbuNtjie}I8{%h4kSO5x z49l7iWwE6H*3hO5I$LG!14I=Lx2U1j40;+3?J?V1v6vgr(2lYknTEDt(CuevN8uD? zJLqJs0itsUJZZ8dSe9@&y<{zeqL6uX$eLObhX1w?%(C20?nNFUQ>ej-QCzPRuTOE&cmMsCBm=3xwWKEh} z%JMMCnwPnV=?jo4u`a{?tT&x2NE+GaY5Sl(e6D&DX6t!+%d#-fV<>Fcg6HY1gynYD z62_fnTUqDf$uNh`5=yQj#dtY$mdh|N&NHBcHo$p0FJY>ir}J!k);v;^G{wzahtf<{ z^Hh^GDb3T@F6+-cy_PW1%rgO)=9GEf8q4-EtMzQ+l(bUJYK1Og-ePBsJr}TzmhzOb zZPKztnd=!e9?MhH|Igmr#mI4FYhp!_6v>h(Q4;kxKbjoP9Z}LUtGlYZtGhWPEy*TD z@eWB*?ACDSuJ3BIs#Qu;e~(J zez3hZY{LuK@IDx88!)^u;A_CfeK7o;h&YiES(#ax)lIRwCVED!%8C;wPM$a?BJ;%g ziN8r_%?poYI_+gWxiGvipWA+9d2R?M{g|s_))OQ9KqWe6Wl_l;6P%~AY$(%QoU)j2 z8P5zKq%1P+K9;jk7F+CYF_)hF9b;}cS<8eyqU{=!wTi|1MgA*?@&n=1Bs#Ox-{<2C z({qB)(R@W$bcnOn?cgj`{Tv+>$e$^JB1#%gw&K{Zf;jLtZ5Xj+L5P9y%Q-%(3kb&2SRnrf;onzX3xUa+r2 z$RZh`cJuBcw&I&sd*F@gKZ*S}ou=kyG)dh14^}1y zmS?rUx>5NRid=_Gn5S0;?OrN3CZ zQtFmAN?(^YOAkuFEuAmDQF^m2&FX z(qAiGE0LdxUwW{WxIw%fReIPI2C zHNH{gme<6?67#M?P!{I`TYF*i5eVSTOE&7O(*fnC%4#2?sxR74;(sq|(sch*4eV)W z(0&?ob&|jgC<51zZxCd)?l+#1yAwI(r;l3B1=K{zFC+}Y0+x>Hjixxq+zW<#{%|i? ztJczC&$PnuU>JUv4sov4L7ftK#bj{oY#aLp6_HCva~k#Au74rg&p?p*PqXUe{-~SY z`(?_XKFXlr%)y|Kl`DfQFT-)6)!$Daf(!tIlV@c>g?u1X$Va|?wa6<>p=^#80X`iQ5!x@xMQT3c& zisT!OWz|sG8|t}CL-sxY&h)&hNZcNyW}~8kw~%+_Dy|^DfCpNLSeZu(>V3Lp(XAqK z{0%F&d!5m*qes?vCjjn-`%o3t|DB0u^J(q9iPo*4xfeZT8px%w84t`xpx_Up?%X_R zSWlWCBtXF7@Lqo#-g!EF>qp5@7EA&uL&~PD?(@eJD6V6T4Z9Ee@SJ0o|1bdv$<^ss z-UbYgs9S<-990INxI@J9!JYMC7c{(QL>gzEj`EPfydnrmLX?+mFo-*t_W~sS2 z!H}pd;N%F~aPjPJ?{(T*q!M6|O<}lazIaYfxU{z@A`?i^kD!wr*g;xf)p1f%%(KkN zR)nDFFyObM`zAk2vv8<6H|ce(Ol^puESI=sL~(bHWGFoMS`~(VV$dt!3=_-#c&T7p zyVS&j@zZoTyJXLYseti=$aD&=Mbi+Nm^)c?@b+=)pvgXKAEm-u1|=mn=F~sfs%&lD z-r1Sd7x?kXrf-1*&u9w55J-Z+@$s;!7rWuWW*p)EOeM+qnZBGfeV;wIg(6NJ;3|cqGI($4~nAj1L zAq{+(A!Ocs)HH@-81X=RE2O7cH9N+R!9dr87D<>68#VSU2DuUKS;q8ot9cBQfd2~w zh3x%0(9Z(~*BJv2X1q zVLs6$+=OVp$>kWV{wQ1`%s7>=*$(@&Xi=Vau4T-dMW}I%Wz0(qR?o8eda{kzwz9RkZuN z{VsAlrlWa9g6)lAwn>M&AfdjaYDvv(+p(H`{qY(sM>weK$$TcXVA|%fi&i_WV8_f* zrtg%${0=NOkQDJ}EjG_>Md8u%FBTN=oG#5gQT$03T4cc>*~3q^c%F~ioLssyH5M81 z$y;uIxtx9oQ%rKtLOQ>MWBsJuzQQd|YMs0djLiR0GNg6vkTPie+#v-le(+$jfh{c7IjKn!1H?Uw&AHPs z6Ry3c&@z;1;7S@P?j@Zx(xg|kdG9QPO~MSME=Y8A%E286tCZ z)KqB8{{FLRxTCnJsi4tu%v2h{x+ss;rD-$(+DI!k6}c7HG?nToj_Icc9hMm%(cjjD zqyol+9L<%(!iaMV^TZ+*VLXV@)O!md&Wr7!MRQrRAa#(UDXW&n%P`8BVsFD(zT_tT zHdxFomkt>76*oC&W3+w4e{9TI3@-8o|9L79?49u(gXZ!jPvJ#|nkekjCZgB@sFiZWl#Li%EX9ba6EVp6U6}lhfkx_Xu4pl!7*^27CprLyWjLe`+7p+xND2uHCt#en0o%=CvDlZ&vmh!MUxk?*Hb&?OR{6w@i8K z%WL;;-P{JqNwy2TwI@B#E6Rl@3pb{I6PYvEdTwYAyU41g{&eUazjKtgWtZ2DPxh(b`xITFrWc zYY1PhhQVedSgAGFYV}sN+1#uK4IpZ?R_d!^b1mEqH=2$5dKLXw*Q*=rwRSzM)!WNK zxW2y9TIEQZtINS!b3Fu1vsGRN5B8EiC{SHjf|#)I~7wccK7)K{uO5LQ=LRvH_iV>75X>l=;M zYIQwqtbuc@%NyDP+9s0j;_O{ZrER{G=oOaUE5@fA!z^*B}3bPv3jJ@}GQj<=&tC z-zWY@brUHcFX;rLwMn9e@X!yJcK4e8W~I7Zsrof=kV&ny8VcvU;5d1hdtqI^Yp~%V zytbDfghQ0ZZSE~yyK(LQ&e9H?wfchxRBddj1vgs1hmuXBXWfwb(rOqSQyg-X72uiD zlE&jL(hUFC&=ip%t5z%PWt46Vci}Nlzg_W;G)ZfD z`&qAlFzgH^ZiKxZQBvFTjd0i;bcACRh(7Y%wt_#=KeH78!f5qSG1_;w)2%o}x6h@%Cy>;{6_RaG4h;#4i!2~aK`s4Do zF>>t=bgLY|q^A63e;;u}yNp~yOiguMzCPad2jKzUrN!Ll?4~j#m+vBgN(NDB(rhLr zqq~KOCdeb_X#*VVQy*eepzNwq-r?ltri_MVd$bu6XMC=CY@sY%Y8HnFe3= z(@eQcPg4k^BR5zc^NM%t%dO8olgod(-0lXu-ejWfvgfrT>Am8K{BR+%D??3Wmodeu zaZeBVxkZ)n*rAv)Z!Zj5fc3l) zSa(GLdmhqFi{H9^&MYl{o0_A#Tt=qs{eI7rAN~+QVIX!$$XcNw(MKhq-7!S!3a6H) z?A`=Gdt+bdtQ49no(N5(riPf@R!G$qsPT%|K;WMD`Dfm0rMg+Ec^`e`{nA?_&_41| z4}1i8Nk`z}6|5<}-TT1^#@U`A1VFLBt^4<>>*OCiM}`RZf;dvpdP;ASuB>Kx-xMVy z{6^ETKrJ7K*Lu&O+QUp38js|hJOq=;z9Dc4TU&pS1p=3DfHt#0@bXLH*i#0>B;&oC zwhH9-PDW?EaI?d-6s~0OFS_B=4(^bm>@k}uNEu3-WK)ohd!n9E(7hpK2ro~mbl$pl zV<%-a!7c>zAen%&$_P&5=97oLjn${qL~utynbT8Xlrb6dkpe-oHBEYCj1rxiB#$D@ zse%mQsYoK0Hc#|afY-mU+qyqaQzaX>eP);H7|oB%E78U1XMzbf_oj0`e2vq;GIy6N2y)e~*XXrvN=oTHP;u6mp;31Eg@UeF}gIvrlXts{ng6;w`XG znJxCI5DChg;L#cnQWaP}6MJ$amr}?EQWZk7fo|euAWV85yR1p6h!dl1G&ugoqipi7 zYha?yEgR9@;8`P?>-y#&h}Aeq7A_5i6Qt~sC_*+HLhk9=Fk&0Y29X6zvSD=fl3ZZA zlt~_F1e&8>F;>$&!0Mzk52y;g%mZp?BG1#~9=($pbAjm77lkGDi$6NuFHE!{x(axOp7{jr0LK z1On|Kb_g80PRn6%aOitc95LSm=}vJ-BaRWaX6hZQqca;0Ra9rD&PIiunfjalhBF~B zYVXX{U%OP!)LXhb&ek=2GJ-j-@cJ&KE_#ERvA&M0u>oLb0nx{d!9_B3T!?Sl4f}MOQZ)DNQCPg2}wXju{=kD zO9uKJ391?7i32H((ndu|VH6yTIct9rs5yIQisGELwXF0M2y0;;q$Yu|X;rCISrz^5gnuJP2~WE zznv&Pl>?MW&H+YlmN~$L2`vX)RIn-sFvkh!02TGB^1{g!$9bTi?Kk>xzMBRri&o*) z7B$22!P1IK?rQNr!&8M^d z3kV*4dEsh#0Y%NN>A*R-2ty6If2(R-*(ezn*?{u_>a4&y!Bx?&e9)9jI5%XnpP^pt z_|8OauY5>Vp|5PvcqOce z(rJ#StwjFy-I>()Uu_I50 z+QeOV0i@isRj3V}gjnnG6%WA{qb8O=e>iG&`hK-SAvu;iGIfBD@MK0`02X!zp5npV zd?8-9X->3wnMPr%#Hpj8NsE)>0{*O&9XGv2<;Bea5E*eZ+M`^!0NNY+DzFQ6CJ-NW zg(XIa4*>QN!sN?1OF^IpK>9m0Pd?^Ju~l-XlglO2qw@yDOEBewmi3tO!KOb;Oc0?e zHBG@QZS<;aQ%+c};glB~PQP5xsX!N5-6>}WQE?+5tXcOdZx1d4l@DH3gvtjj%0uM@ zecB9Vq(VM;_{@qNE>t)wUk_PDDjzHyA;PCQL1lfZe83q`mywJsu}$^xo`4iDEnJ2w zA0fIXRX%Wephx9la>AR{s`7RD8l|gpLPmA0@^#Qft@44V`MXc>-6(gJ6Z3bv_EpXf zqH1MM*px%k39_j~Rz8&JegP9mMJDR8+Rs0}LOHMa5(k?m}jID}4uIc1dm z9>>uzu|BFUSFwRIy^>Rh%0BK-??x_9)7FL9U8NmWrw)?GEjhKbWm}xaNv`Xa7f#jx z$^nioi(HLzK+4KsIRL3l*fg+gFKUBn5-`nadIB)b%{c;8aV@&E*c3`FFP@1yV?{b= zIA=uES;HYtSX3Y@G74T#jdEl~dS)2zQs@(f%8CpT#V!}=B}$kT=^%E9Y0A&xL}qcb zX@kHl)$aD63@bP(n!36e9(-omvngZnac;UlMKl=^Y^wXjB(RYXJ0~fb?g^6vOgjmm z?2&cyJPFMe)pAlV(_iNVHfpWq?2&nD8xhZkd}0yE^G?YfjFN0qDB>QvK3h(BD%O@0 zH2r*Y@=kRbx16|f{7E(43P5L@awjRG5mGI*$>6H=TLGfdEv3mLq?k(+fpx0yob;qe zJxrok$G8BY_XH=Xp*cu zO+Cm?g%{Q9rjTY2k$Fs=HV);nE;NcY=9He374PEaY8>ft$t{5^ZnsV{TTjn9kz{CQ z3+z-IXo?jyqLf%E?V)xuENS0OFp!HRUy+F(zKMk5Ip6QWK%{NBEb{dcY58xQvwNWv zEW3)_!`!i`{c~jZD-cbdB&Zt}t@-a&P8$9drfxx~d8fKrKqSqrwjC0$#04nGBgXO5 zmuZJDInQ45AH8JdB+1M=VshGK5INpHhcgh7!dOged@z*_ByqOIRAioO2#Bc%8v-i( zWFs2Ntf7-gu>s020+~+S3GnGJ8HvEDZy5>D(_S+Yx@5j*B*165E+;@w_wr5XH0@m` zp-a}wOal0HuhpbZ>0YV{(3!6&27GP{XG))GDIt=(Wu$;e?vQO7P41Iz8#VgybE2#k zG)?aqI@@tH0X?1on&Sb2kebPsw}dX~?_LSO+1|7X9j1BDCUlwVubR*&+fCT$kP-u= zir`F}m&D!~aaPj?&M@6g>zWovHLYKoF?w1*%t~6ERF1BxaZ%IyX2d~F>zWq#Wc0JF zqFD*_E}NBVtX|o%plM^lnkv##P7^q5sO(tJw4rdCnU%;Xty@YgrvYxgWu?A6rgq5i zdQR<=`TCgJE7PkvwO5uGb9$$=SJl)WF)wBN@sXZZjh>jwemgtmS2A?=VOMgWDY2|6 zol=fv4d~e6SVm%^^iG*ae(BwEvmr)fjx{sZBhLw5I-QngOtjlAk{S12~sjrHpKB7XEeD`Pf3apN54Ha z2|~O_x^sg8nKPl$M33BhRUj6~7=(LGjr}qD6iN|g^h>v-o{*(@Pn_UtEm7qZt`Tw) zPNwSD_l-X`&s_;#m0XDipYhwKIiRdH zlU&vXMoFKlXZT^Gxw^i-%2jken;8M!j-vVyNRU@HcI$sGFGW$;BN_i%-f<^bxdckW zryA7Yn<_~^m(#WI#oI!t1NB; zq<>cnqX2kUft8~K+JyT8*3Orhwo>W+ubYpy_L`6UTBW*Hp#oC%<>h8$V};k2(rJ-l zo2s9`TsmvkB79Rc_{){G%6etluPrZg6)p6k+}kwVN%WGdwIJs$`W<5-1-D;A&9N|C z;gVt{QF5Xr0*ATk@ z4&|U0|KH}*0Wm63yk1+@Y(I^4_xcxf$7e92$+9kf$9*Cd+L`(%q z*C{F|77_Uxeui+ZkQ6sJ^m6&~fryhK(&)a=CeEg+0;s_s+CIGz?R$w=MKlrEZV zd|Mr9pkJK|#Vq@q^+0cds#2q5qD9|ZgI;T2@UQAG2aVcVu%bozBr>4Wy`05uosKBH zh@VMfAhN4Ix-?c+S2XV~#IvIlPu>L*W6D2>!;to25aKYoIKYv{GMy1ceo-PB9i*|EykF6Z(!t7Gq= zJCYN*g0*E844$UI+@7ki3@}|W z88TA`HBgqmF;L1UtK-y%mUJb|(7kk(%cp766f8rp@~cyp7G*0>rp{!jO0tGzC`P6} zWT-)w^yd@$6j@Ib@u`xXCD0d>B51<}3a_6hYCLKYHZ-@^Phw&kA0EuI?fZw_8EL_U8)rRTGr^t514z zD&a}{41LP4=kU&@zP>^)F7#^|_XOFJUr*ALx%_%M`g#U9)UO&tx%3J>mk9*)2E~6L zQ*qCsUFZ>{<96sSmQ4BPF5(l0fPDQ_kx$i`-h=fs@a4QXDyUCsjP4_{zkwtb9!ic5 zP+=Gn(DKGZs*)Me>-G90kqKLNJpD*&O{8@ndU#oQ+(Ge86x$3vWRC()Q5Dm>6hU38 zc+rId8ltvUSPlk_4jzqBQWHcpJ5*=a1J}GE%29`2*v6VbYeU7`*$bahk4bXNzf`4F z!(Qb{=TQfx+ByLhKwqM(rD))9`DT)C@bgL;Lx@6Up)NoIe&EIeWDC%gcvqX=l`GyQ z@*RN2T)HaA4Mb^8zq*W+00$`l)*F?th75PZnyK!pwk(ntHU%@I-6%~b!DjuWLwDm&JA#M<*V5xX2z_d1A z`uQdA$zG?q=k3vrgXt)~I2KbLdY5*atxLoLV#p;-A}UM5#&LJGHG>l5DfRcXDFvz#9JO7p9u91?GPK`R5RppyhpN zj`<-C8fkVJ<|>0CF(ut$9~mXU6}gm*hg6Umi~@r(vs7SrQYD8Ve&XK2^72(F#VGi6 zX?WH9xZ8PzO1wg`KJmbqtCuLkOB^7Y?Kk>kluN|)47^LS@sqOPPSAZ4JR6ccH&BrS zr9M%dPtZD&B2B4ADr&7hMUM%3;g?^^Pf?8cu~;p+rH1{Lw^-WR#NVNxaSA_C(9Wa= zpO+7&=j3qER5bC<{U&NlSJc9avQ+yA0q>BfMJ|u{E$B@*-f*(?PHCg`F#hv%zUFB@ zElNJC!QMsr>>dic3{bU?)Z3Tt*F)9(L;vA^XGp81Y{i=LDC~Brz#l*N9hT~{LLe;O zXU>4xr^SO5iREb+@bD*oyI>5&lT>;cM|OA|pk61$bKD8^I)Mka=ug8MHf;(23VNIr z@GyeuzX(1uQ%m?W!2FVc#}lCb)9`F+Cg7Jq`sor8L-x|>PXnI?C-@VhBLLabrs+8?5>bhEs63$LpKgCewEH64lo%>;^|&CR zqMTDxL5C)7;ssT+OOGvdQ()3<_@bN5AL%egOx^`AT%(1ea76is`kgw-X z+fMpl=>uaXa>h^AD6yfY&;7Y3Hj;3FS7-r477hMmF(?@(nsh|mi$72BvnZoEC*S+9 zcQFWmo&;9$_tu^)DPK_!81zD}nof)Nb;hNBEM;_HkP}P%jX(9Q^UYpuhbt@9wdGoU zxxTSnYllIzx)!cgS6eVqhQY>4I}A4(^>#aKuUA)A)>hXygIZYMXl<+pt!BN!Cx&># z2{s$SO0Bt8tGBAn=4Lf$08yj0QeO?5YvE?N(QMS$tLVSFUfo!)wd-N6-d+yE_4Sq3 zDo_2@sy3=??d58Ft-V$a;2qFv1?ypbZLQH(#YJ5Nw3C^=f;y z3EHY*t;#mlt7}zstydeH%k|}IwXs%f*6X-|^?CzGdYkxM$7y|ibEQ_RR#$@BYCTxq zY;P>DH|wBmv&M&oR~zB_+S=Mmd!@PF2&%0{Slira1sm0N74$8yH8)!;o2}MH*s9g5 z_2y=y)oNGQYHQ74qq)2iuJRf6RkVkz_4Z1mzETZ>u)4akLdVNsN4;6!XtY+V>tSOJ zoLgPqXfM}SS6a>H^7{JPdOK`}Yc=N2Nfv|3q+bn8K#%BEd?{U&3~{Elj!yNX7ZC5Q ze`o9O{hR;RNB`)%zwzLI{qTSJ*WNqb-u|cm_J97L{TKgWm<{rPWX<=LH8He9ONX?uEPFHQ4YFuj)$=U^of}&Ap{-H?G~^S=vF`mj2*D zXLoP3)IuF?zZX71LdR~nr1;WmkXxedSLi4!z%!*RZ}`1n9|j2fFWTG7lzbT5fCZrr zYYfvt)LbjWajAbW>8H_zxmWrEXF&$jG&G3zql`L!c8 zF@pg|W@PrH5k8lhxm@1s?}rC?&@$KlyoZYA#&{RD=mSKfMSDly&gxXNj1mfXbg;(v zu5aI1;Rc^vESWlWd|VF3qrLusf0bLIc`#h2HDQGRLIcPINI7IKHv?Ga;3jIKCL26% z6+Q<(+2*6BZE;|ZK8>L3+uQEvpTWg%xs3DuLBN@&=|;dO{rXfU0}>3ibnHO8ChXDP zXP<4r?^5I+{Nq0sR~wa8itSNXRrpKlOL%8iM1cd*xCuYX4Wn(Y=97f? z4bCR%6o>7l(nA3!e&XE#KZAcb9m2s5L+tJ!2qf)b+#Si8`XcC}G#c&T_8d-BcdYoIu2d$ z2P3@et5Rh*@Yer0Bq7~_bdnKTpxL1lP8_O@_MQ@8_SbR@UU@M<02=gx9*Pu5sCuX8Q<|zJ31LGW>(;m1WN(=;g|$APc~7Y9Ovu8MP351hFa?@CXv$NE27_KSc-JniXa?*_+U* zz${;p#a?2j2Wv$J6kcK0W_klP-683#W(QUWYQ`~T2)7$7JH9fO(666=1|0;=04L_b z;aDsJ0{ZEQAk06anq0&6Ev|_5f{^I`Bm*7j3C8*uvVajl%_o8cTL9$L(_B~AsFUbM zy81EmKx(1v8y6oaA}U>VTE1Kqsh>YYB?rv*5JEr*LsG{X@S09ak}!=afeHyt%K^qR zZ~T`Vl5(k#hIVD@c;^Mi3U`S9uf~az(JlY;xrjL z?r+deKsStT#uC{L8m4`W-j2n8{u0jdcf)T7;df&w%5Z6=wkZ?RS~{F^(&uFy@zEXG z8G>kq#K|ar&(6Ulwkm%(hKUjKYMtAlZ?q%OUD97ddZ?tK2^IR&X6;+ApVT1p5oOag z)4GNcN$=#M#TR-}Qa?nIMFdTMN+)^EGv2tV71_nK0iUkvkMvS&IhD7NKdXP`T7y+g zjcA-JXb3EcR%>*gK-lB0CI!^Wq*9zixhyQ`l-eJz2ljCQhM0K@1uh_%oI}wv^CW&n z#M>*A;Dp?o#MjGkDN#0W!E6LbsNapbQ5L~PiKopUW|`@wn?EKp8I2KJduUWqm@J!O zXNa&pLMm<Zbp&W*F}L{xcvC1%ioCsjSULq#BmVY?5JpkB_l}H0 zGZy#xU_G>49;>)qcGQ_6+*P>&&_T{QIQ;0Np;GBBxltqFU;|Ik2oG&Vk?e+V0QLO- z0$bTTh};N@1fpt3p@fd_AOyD2MZBJjU#+b+HgWzI@T!>LH6)!F;Ni{(X{FK+d!t=A z7VYA_Z+{3}%ZRP4H^a^4MzGG9B0nPPStd`22*EoCgZ0*T@RA0aGQ$j)XAT*5%5*VUz91upE~P{p z>GqT_JVWUdl%dSirXyn(vY4OE^Bk+ z!%DF?Zcz9Y+%SZzFx*v_SjaNsl0MCcAr_T%@e8~pdqOBjWXJUGKe%^G(st^`eTp1W zrkVKBD-6Ia%F2M;fLnd1S1#WgKlAP&&R`TG=H#;X`-2LqDEG&^-kmVGEKZQO_6BfQ zz)6AkB?29~{eG+Bq3Gvor7WlsH!G<*5Czy|T4xn6;q8VvVxSNUL`mH4dG{&RI6{zM z?J9#PvRxA{@7mT~G?UF%*oK0xx78;+KRurUaNRFzPf!yhD}k>TC3j?;Zm@^R;#OPOSL*&j5b#)@^kHT8KZL$ z93UV@+U6S~Dhlo$i0{Br3ArzOOU(Wy5hNo;L~w1XoXIw@2%$@e@PTCmwxu=%;EK2D z)mLGj8R1l!u!o~ga|wo5+;F$t2O;Xdi6jX)$wq z!2qE@6x@cH2UY>(3G)`%d7}dp-~a)pB93MU{l8hRQaA~)i4&hFM6BOKpp*=@qPa$Z z5Nvm!2)QEi4`7c+kev+f30g4d!MrFq^kIneqGzq(*@qO>1mn@Txkte-cTvVQ^tOUQ zw;!<=VKIoGk%HIxEySY*V?XGpNFiti0$27RN{Dr#NFqrjjFE_C0y7|#2#~^Ej=RC& zvInZZ{dTz5A9q_6-lwCgD6~oDYJuDxAmE7NR)!(6{B~frGNQAF-+p@;rle*7vLmho z6vj#j^H4-&nTi5)FwB_bAOJq}DblaiX$sLOe@r~XN=-)r?Qu`UzDY=ghjqYN7?TmL z6SkzLirE`CF~|@H9$tSuLL}6%JRDP?AYn(WkUsSmxP@)yS?-6)@SUt7weJx zl2M=CR`WQeC&RzlgzgP}n)DDBht8PX${nNu=$23M!CP0J7u6*{Btjz`z|kYu>VlpvL9 ztPy#g0CZM``cc%7?Ii!oO&J6@oM%sQTJSmGY2ua_TY%VC{PdT|?K+Y|L19iZhKJ{u zn4%?Uid(sU5{5MDK7y^;?x72->!C%_! zu{j!dF8Pwmm^kEfzGga(bcy2Vx1*CV3VN2FIwA<}1O?iusJ6t&n%DM&(Vnj#7f8s- z_ge<4QSa!FIZ(26(NUg zo%P`p3v*=ZgJ{8Fc`KCJXK9b2@N4mbPfoK$NLhTR#oZc5XL8G$56lMbNN#=kM#9sehYj94?91_$5Ve>N`AlIxRY-k(&Fx ziP4GZeaWXZoJaBdi_yk3%8?@t=^5bv_*-G31eh%&Z;(wRYIloq8YA=m{$i$IkNP5C zvyByLPrPYQNZVV{nk6BeyycavGν-|ObjqaOa{V#0ePegBQKfQi8SI*hwGGwb&z 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 diff --git a/dist-newstyle/cache/improved-plan b/dist-newstyle/cache/improved-plan deleted file mode 100644 index 2c28ee028e4c6674ad4171887115583c3132ffbb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3073974 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 diff --git a/dist-newstyle/cache/plan.json b/dist-newstyle/cache/plan.json deleted file mode 100644 index 33863c4..0000000 --- a/dist-newstyle/cache/plan.json +++ /dev/null @@ -1 +0,0 @@ -{"cabal-version":"3.12.1.0","cabal-lib-version":"3.12.1.0","compiler-id":"ghc-9.10.1","os":"osx","arch":"x86_64","install-plan":[{"type":"configured","id":"QckChck-2.15.0.1-600cb831","pkg-name":"QuickCheck","pkg-version":"2.15.0.1","flags":{"old-random":false,"templatehaskell":true},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"0cfd337bb9e6fbf09255bd24bb498a156f1d9bcd465396ac8657b25034b9ee31","pkg-src-sha256":"a3b2216ddbaf481dbc82414b6120f8b726d969db3f0b51f20a7a45425ef36e7f","depends":["base-4.20.0.0-8a80","containers-0.7-ed0d","deepseq-1.5.0.0-748c","rndm-1.3.1-0ab25a30","spltmx-0.1.3.1-83c966da","template-haskell-2.22.0.0-4ff0","transformers-0.6.1.1-1df5"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"array-0.5.7.0-2002","pkg-name":"array","pkg-version":"0.5.7.0","depends":["base-4.20.0.0-8a80"]},{"type":"pre-existing","id":"base-4.20.0.0-8a80","pkg-name":"base","pkg-version":"4.20.0.0","depends":["ghc-internal-9.1001.0-e204","ghc-prim-0.11.0-2e13"]},{"type":"pre-existing","id":"binary-0.8.9.2-0dec","pkg-name":"binary","pkg-version":"0.8.9.2","depends":["array-0.5.7.0-2002","base-4.20.0.0-8a80","bytestring-0.12.1.0-d0da","containers-0.7-ed0d"]},{"type":"configured","id":"bnry-rphns-1.0.5-a7543e3b","pkg-name":"binary-orphans","pkg-version":"1.0.5","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"1217df567aae672d09979480c362d27559d226081b9b9bc4107d4af008da1f5f","pkg-src-sha256":"39fbae9e8c2a5193c07afeea34173e5022f82885d6cbb32062b5f1645c44408d","depends":["base-4.20.0.0-8a80","binary-0.8.9.2-0dec"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"bs16-bytstrng-1.0.2.0-af45b779","pkg-name":"base16-bytestring","pkg-version":"1.0.2.0","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"a694e88f9ec9fc79f0b03f233d3fea592b68f70a34aac2ddb5bcaecb6562e2fd","pkg-src-sha256":"1d5a91143ef0e22157536093ec8e59d226a68220ec89378d5dcaeea86472c784","depends":["base-4.20.0.0-8a80","bytestring-0.12.1.0-d0da"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"bytestring-0.12.1.0-d0da","pkg-name":"bytestring","pkg-version":"0.12.1.0","depends":["base-4.20.0.0-8a80","deepseq-1.5.0.0-748c","ghc-prim-0.11.0-2e13","template-haskell-2.22.0.0-4ff0"]},{"type":"configured","id":"byts-0.17.4-6bed59cf","pkg-name":"bytes","pkg-version":"0.17.4","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"27b117394065d8b8bd845c54dc0128f88f4b0c1a1242699f7603a80963ba1f4a","pkg-src-sha256":"8ca99a2449ae1233440930c8393eda065108a8725025bf079c61c6f3a4e5a393","depends":["base-4.20.0.0-8a80","binary-0.8.9.2-0dec","bnry-rphns-1.0.5-a7543e3b","bytestring-0.12.1.0-d0da","crl-0.5.8.3-904568bf","containers-0.7-ed0d","hshbl-1.5.0.0-24b9df1a","scntfc-0.3.8.0-c99b9a9d","text-2.1.1-e1e4","time-1.12.2-d1da","transformers-0.6.1.1-1df5","trnsfrmrs-cmpt-0.7.2-4d650876","nrdrd-cntnrs-0.2.20-75d7c1b8","vd-0.7.3-fb963e7f"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"clr-2.3.6-3c913e2f","pkg-name":"colour","pkg-version":"2.3.6","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"ebdcbf15023958838a527e381ab3c3b1e99ed12d1b25efeb7feaa4ad8c37664a","pkg-src-sha256":"2cd35dcd6944a5abc9f108a5eb5ee564b6b1fa98a9ec79cefcc20b588991f871","depends":["base-4.20.0.0-8a80"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"containers-0.7-ed0d","pkg-name":"containers","pkg-version":"0.7","depends":["array-0.5.7.0-2002","base-4.20.0.0-8a80","deepseq-1.5.0.0-748c","template-haskell-2.22.0.0-4ff0"]},{"type":"configured","id":"crl-0.5.8.3-904568bf","pkg-name":"cereal","pkg-version":"0.5.8.3","flags":{"bytestring-builder":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"87a227c7b510217ea059db3dd59d9665edd8f0d1d3d8de39458e371a1d9402fb","pkg-src-sha256":"99905220661b26e5bd91130bd9772554938608a5b1d717240a6eb331121e0f6a","depends":["array-0.5.7.0-2002","base-4.20.0.0-8a80","bytestring-0.12.1.0-d0da","containers-0.7-ed0d","ghc-prim-0.11.0-2e13"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"crl-txt-0.1.0.2-121d5a30","pkg-name":"cereal-text","pkg-version":"0.1.0.2","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"dc10e00d9e5047d16a129682aac42c95da188d22e9f85856add051b9ace539c3","pkg-src-sha256":"3c7a15f4681fa53b66dcd5165f31f56ff9751a752ac5123ecc5bcf5c3ea0354c","depends":["base-4.20.0.0-8a80","crl-0.5.8.3-904568bf","text-2.1.1-e1e4"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"crypthsh-sh512-0.11.102.0-629f338c","pkg-name":"cryptohash-sha512","pkg-version":"0.11.102.0","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"0d06f9b272fbc1cbb542a4506c96b0ab278f6c33f0c567f66f5900224b9db6db","pkg-src-sha256":"bfa421a0de9f5af9903d41948431b207b019a6aece4047f0721919eb1fc7882c","depends":["base-4.20.0.0-8a80","bytestring-0.12.1.0-d0da"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"deepseq-1.5.0.0-748c","pkg-name":"deepseq","pkg-version":"1.5.0.0","depends":["array-0.5.7.0-2002","base-4.20.0.0-8a80","ghc-prim-0.11.0-2e13"]},{"type":"pre-existing","id":"directory-1.3.8.3-3d5a","pkg-name":"directory","pkg-version":"1.3.8.3","depends":["base-4.20.0.0-8a80","filepath-1.5.2.0-7209","os-string-2.0.2-e95e","time-1.12.2-d1da","unix-2.8.5.1-9045"]},{"type":"pre-existing","id":"exceptions-0.10.7-3de0","pkg-name":"exceptions","pkg-version":"0.10.7","depends":["base-4.20.0.0-8a80","mtl-2.3.1-6c8e","stm-2.5.3.1-4c4f","template-haskell-2.22.0.0-4ff0","transformers-0.6.1.1-1df5"]},{"type":"pre-existing","id":"filepath-1.5.2.0-7209","pkg-name":"filepath","pkg-version":"1.5.2.0","depends":["base-4.20.0.0-8a80","bytestring-0.12.1.0-d0da","deepseq-1.5.0.0-748c","exceptions-0.10.7-3de0","os-string-2.0.2-e95e","template-haskell-2.22.0.0-4ff0"]},{"type":"pre-existing","id":"ghc-bignum-1.3-5e05","pkg-name":"ghc-bignum","pkg-version":"1.3","depends":["ghc-prim-0.11.0-2e13"]},{"type":"pre-existing","id":"ghc-boot-th-9.10.1-d3c3","pkg-name":"ghc-boot-th","pkg-version":"9.10.1","depends":["base-4.20.0.0-8a80"]},{"type":"pre-existing","id":"ghc-internal-9.1001.0-e204","pkg-name":"ghc-internal","pkg-version":"9.1001.0","depends":["ghc-bignum-1.3-5e05","ghc-prim-0.11.0-2e13","rts-1.0.2"]},{"type":"pre-existing","id":"ghc-prim-0.11.0-2e13","pkg-name":"ghc-prim","pkg-version":"0.11.0","depends":["rts-1.0.2"]},{"type":"configured","id":"gnrc-drvng-1.14.6-7ad67f8f","pkg-name":"generic-deriving","pkg-version":"1.14.6","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"f47c071d90370e0eee27dad6139964bed29b2d896b404b3a9516138f0d92ac55","pkg-src-sha256":"f195c17f1a32a3c9a2bf8762b8f9a9b5f6271f9e6075c887aa3609364356b2af","depends":["base-4.20.0.0-8a80","containers-0.7-ed0d","ghc-prim-0.11.0-2e13","template-haskell-2.22.0.0-4ff0","th-bstrctn-0.7.1.0-d63953d7"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"grstt-0.11.0.0-5bfa7d6b","pkg-name":"grisette","pkg-version":"0.11.0.0","flags":{"optimize":true},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"9daeea607f2ddaea81c0245c0919c2768d59fdb70bff497ace3e3e701af53170","pkg-src-sha256":"7e48504f4ba4bdfe04bc451df7c9bf76eb09f0853ac460f0a80e91836fc381b9","depends":["QckChck-2.15.0.1-600cb831","array-0.5.7.0-2002","sync-2.2.5-233aee3d","tmc-prmps-0.8.8-48b89e4a","base-4.20.0.0-8a80","binary-0.8.9.2-0dec","byts-0.17.4-6bed59cf","bytestring-0.12.1.0-d0da","crl-0.5.8.3-904568bf","crl-txt-0.1.0.2-121d5a30","containers-0.7-ed0d","deepseq-1.5.0.0-748c","gnrc-drvng-1.14.6-7ad67f8f","hshbl-1.5.0.0-24b9df1a","lbBF-0.6.8-6c7a3a38","lch-th-0.2.2-4096b836","mtl-2.3.1-6c8e","prlll-3.2.2.0-b0e6c067","prttyprntr-1.7.1-4c7a96e6","sbv-11.7-ebc47741","stm-2.5.3.1-4c4f","template-haskell-2.22.0.0-4ff0","text-2.1.1-e1e4","th-bstrctn-0.7.1.0-d63953d7","th-cmpt-0.1.6-f9185edd","th-lft-nstncs-0.1.20-aa43253e","transformers-0.6.1.1-1df5","nrdrd-cntnrs-0.2.20-75d7c1b8","vctr-0.13.2.0-36843d58"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"hsc2hs-0.68.10-3ee2f99e","pkg-name":"hsc2hs","pkg-version":"0.68.10","flags":{"in-ghc-tree":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"725ef6da03d3d6e332db4de0a35bee45d72e4d31decc5ec7f153e6837af5f03e","pkg-src-sha256":"6f4e34d788fe2ca7091ee0a10307ee8a7c060a1ba890f2bffad16a7d4d5cef76","depends":["base-4.20.0.0-8a80","containers-0.7-ed0d","directory-1.3.8.3-3d5a","filepath-1.5.2.0-7209","process-1.6.19.0-96ab"],"exe-depends":[],"component-name":"exe:hsc2hs","bin-file":"/Users/leo/.cabal/store/ghc-9.10.1-2e29/hsc2hs-0.68.10-3ee2f99e/bin/hsc2hs"},{"type":"configured","id":"hshbl-1.5.0.0-24b9df1a","pkg-name":"hashable","pkg-version":"1.5.0.0","flags":{"arch-native":false,"random-initial-seed":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"2f23146cbe0325029927b221647695a4c7d6e97548ff731110979e34361f58ef","pkg-src-sha256":"e58b3a8e18da5f6cd7e937e5fd683e500bb1f8276b3768269759119ca0cddb6a","depends":["base-4.20.0.0-8a80","bytestring-0.12.1.0-d0da","containers-0.7-ed0d","deepseq-1.5.0.0-748c","filepath-1.5.2.0-7209","ghc-bignum-1.3-5e05","ghc-prim-0.11.0-2e13","os-string-2.0.2-e95e","text-2.1.1-e1e4"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"lbBF-0.6.8-6c7a3a38","pkg-name":"libBF","pkg-version":"0.6.8","flags":{"system-libbf":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"076f8dc0d33299c40afa2d0bfe51e93420c9c3e326ebfcac4f0e856152aa4f87","pkg-src-sha256":"d98021132f28e674958a7c41250831c2375ae70c839d943c7b1d745c68d28e0a","depends":["base-4.20.0.0-8a80","deepseq-1.5.0.0-748c","hshbl-1.5.0.0-24b9df1a"],"exe-depends":["hsc2hs-0.68.10-3ee2f99e"],"component-name":"lib"},{"type":"configured","id":"lch-th-0.2.2-4096b836","pkg-name":"loch-th","pkg-version":"0.2.2","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"262a1f2190decd5e24c9368008a6fc87d83515f5f3a8488e384bd8acc0a5529c","pkg-src-sha256":"cc059372b12a79375a0f268db7dc5a2973307a200440d4112e665b9a3d9b6dc3","components":{"lib":{"depends":["base-4.20.0.0-8a80","pretty-1.1.3.6-b893","template-haskell-2.22.0.0-4ff0"],"exe-depends":[]}}},{"type":"pre-existing","id":"mtl-2.3.1-6c8e","pkg-name":"mtl","pkg-version":"2.3.1","depends":["base-4.20.0.0-8a80","transformers-0.6.1.1-1df5"]},{"type":"configured","id":"nplt-1.6.13-8a41aefb","pkg-name":"uniplate","pkg-version":"1.6.13","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"c8b715570d0b4baa72512e677552dd3f98372a64bf9de000e779bd4162fd7be7","pkg-src-sha256":"e777c94628445556a71f135a42cf72d2cfbaccba5849cc42fbfec8b2182e3ad2","depends":["base-4.20.0.0-8a80","containers-0.7-ed0d","ghc-prim-0.11.0-2e13","hshbl-1.5.0.0-24b9df1a","syb-0.7.2.4-ab2b3439","nrdrd-cntnrs-0.2.20-75d7c1b8"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"nrdrd-cntnrs-0.2.20-75d7c1b8","pkg-name":"unordered-containers","pkg-version":"0.2.20","flags":{"debug":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"233cbcdda6c2698932bb391ce0935fb44f80c115621ee815a21ed33ac8ede422","pkg-src-sha256":"d9cfb287cf00592d39dc9c3cac8b99627ea08f2c01798e70130fc39f7c90f11d","depends":["base-4.20.0.0-8a80","deepseq-1.5.0.0-748c","hshbl-1.5.0.0-24b9df1a","template-haskell-2.22.0.0-4ff0"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"ns-trmnl-1.1.2-13be3cb7","pkg-name":"ansi-terminal","pkg-version":"1.1.2","flags":{"example":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"8e669f090aa3b9a62ef78f687dda12a19231ee163d2084522464036980a322ea","pkg-src-sha256":"a8d04a3e0451e22a6499a92311f0df1196dc65b687df7d10e3f30d92420156b0","depends":["ns-trmnl-typs-1.1-31b4aff9","base-4.20.0.0-8a80","clr-2.3.6-3c913e2f"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"ns-trmnl-typs-1.1-31b4aff9","pkg-name":"ansi-terminal-types","pkg-version":"1.1","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"135f6a381afa19d53d0a3fe40b6dd47e6666c538b09e4300fbb1438759df3248","pkg-src-sha256":"f2e5333eb78da5f4dd330fca0c81a59276cc150c625647cd20f57b7f297a5d25","depends":["base-4.20.0.0-8a80","clr-2.3.6-3c913e2f"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"ntgr-lgrthms-1.0.4-6ce90ba7","pkg-name":"integer-logarithms","pkg-version":"1.0.4","flags":{"check-bounds":false,"integer-gmp":true},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"caa8eaf9e69fe19f0d356b3f3185df628131407413c182b314ac5dfe2217e4d1","pkg-src-sha256":"6a93c76c2518cbe2d72ab17da6ae46d8cae93cbfb7c5a5ad5783f903c1448f45","depends":["array-0.5.7.0-2002","base-4.20.0.0-8a80","ghc-bignum-1.3-5e05","ghc-prim-0.11.0-2e13"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"os-string-2.0.2-e95e","pkg-name":"os-string","pkg-version":"2.0.2","depends":["base-4.20.0.0-8a80","bytestring-0.12.1.0-d0da","deepseq-1.5.0.0-748c","exceptions-0.10.7-3de0","template-haskell-2.22.0.0-4ff0"]},{"type":"pre-existing","id":"pretty-1.1.3.6-b893","pkg-name":"pretty","pkg-version":"1.1.3.6","depends":["base-4.20.0.0-8a80","deepseq-1.5.0.0-748c","ghc-prim-0.11.0-2e13"]},{"type":"configured","id":"prlll-3.2.2.0-b0e6c067","pkg-name":"parallel","pkg-version":"3.2.2.0","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"9d7b34ac537940f67732eca31d48a43bd78fb65a91baebddf63bee4fc3813d81","pkg-src-sha256":"170453a71a2a8b31cca63125533f7771d7debeb639700bdabdd779c34d8a6ef6","depends":["array-0.5.7.0-2002","base-4.20.0.0-8a80","containers-0.7-ed0d","deepseq-1.5.0.0-748c","ghc-prim-0.11.0-2e13"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"prmtv-0.9.1.0-1d9d3df0","pkg-name":"primitive","pkg-version":"0.9.1.0","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"dfdd6572944c11e69208237dd32a2eb9d975b4f4e9064a7b8dc952cb0e256846","pkg-src-sha256":"44b4de41813c7bc5db8a57f87c3612a069b65086946268ba165097252ebd3d76","depends":["base-4.20.0.0-8a80","deepseq-1.5.0.0-748c","template-haskell-2.22.0.0-4ff0","transformers-0.6.1.1-1df5"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"process-1.6.19.0-96ab","pkg-name":"process","pkg-version":"1.6.19.0","depends":["base-4.20.0.0-8a80","deepseq-1.5.0.0-748c","directory-1.3.8.3-3d5a","filepath-1.5.2.0-7209","unix-2.8.5.1-9045"]},{"type":"configured","id":"prttyprntr-1.7.1-4c7a96e6","pkg-name":"prettyprinter","pkg-version":"1.7.1","flags":{"buildreadme":false,"text":true},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"9c43c9d8c3cd9f445596e5a2379574bba87f935a4d1fa41b5407ee3cf4edc743","pkg-src-sha256":"5e6ea6903114fa118fcc359633dfb7ecddecb92c06c853d02a77b72b251f0b45","depends":["base-4.20.0.0-8a80","text-2.1.1-e1e4"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"prttyprntr-ns-trmnl-1.1.3-879d7653","pkg-name":"prettyprinter-ansi-terminal","pkg-version":"1.1.3","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"b00f727b964cf13adff7acf575a71fa7e405f5240aff50b07f10df76ab89f8d3","pkg-src-sha256":"813739308ad6050620578994effe21058a170a341716acf52573fae42b5b1db3","depends":["ns-trmnl-1.1.2-13be3cb7","base-4.20.0.0-8a80","prttyprntr-1.7.1-4c7a96e6","text-2.1.1-e1e4"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"ptprs-pplctv-0.19.0.0-298cfd6c","pkg-name":"optparse-applicative","pkg-version":"0.19.0.0","flags":{"process":true},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"0b47b3ff7eb4a855b5f7d401690365fc62a32057374927ce0d478b620996222d","pkg-src-sha256":"cf16aeefd821730c7738447fa7c6b7ada7ca1c9cc25400d64ef283294d345871","depends":["base-4.20.0.0-8a80","prttyprntr-1.7.1-4c7a96e6","prttyprntr-ns-trmnl-1.1.3-879d7653","process-1.6.19.0-96ab","text-2.1.1-e1e4","transformers-0.6.1.1-1df5"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"rdrd-cntnrs-0.2.4-2e06bc38","pkg-name":"ordered-containers","pkg-version":"0.2.4","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"b232b6fbaad48611ffacf0bb606fbf63367014bbb7c59ff942138524347bbe22","pkg-src-sha256":"3da1673e24e12902c2879ee08b73e6978f6bfa70693b13995ebf48bfb7aee546","depends":["base-4.20.0.0-8a80","containers-0.7-ed0d","hshbl-1.5.0.0-24b9df1a"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"rndm-1.3.1-0ab25a30","pkg-name":"random","pkg-version":"1.3.1","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"0b4f649c3e78713b2ccad1535251ee34b148237fb2229d7058c2b1d9ccc324b8","pkg-src-sha256":"d840ac83f265b0cfa2a678f8ec78627eb50cf9be2f067c52c8a4239c29b71a35","depends":["base-4.20.0.0-8a80","bytestring-0.12.1.0-d0da","deepseq-1.5.0.0-748c","mtl-2.3.1-6c8e","spltmx-0.1.3.1-83c966da","transformers-0.6.1.1-1df5"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"rts-1.0.2","pkg-name":"rts","pkg-version":"1.0.2","depends":[]},{"type":"configured","id":"sbv-11.7-ebc47741","pkg-name":"sbv","pkg-version":"11.7","flags":{"doctest_is_running":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"b615f6236dd0118f429c83076734630cd18ad68cc96711a46957faa086963f79","pkg-src-sha256":"fa7b847fea55c661a2f27ade2ae4b57da7a476c52a180f2ec4553a4e98f401db","depends":["QckChck-2.15.0.1-600cb831","array-0.5.7.0-2002","sync-2.2.5-233aee3d","base-4.20.0.0-8a80","bs16-bytstrng-1.0.2.0-af45b779","bytestring-0.12.1.0-d0da","containers-0.7-ed0d","crypthsh-sh512-0.11.102.0-629f338c","deepseq-1.5.0.0-748c","directory-1.3.8.3-3d5a","filepath-1.5.2.0-7209","lbBF-0.6.8-6c7a3a38","mtl-2.3.1-6c8e","pretty-1.1.3.6-b893","process-1.6.19.0-96ab","rndm-1.3.1-0ab25a30","syb-0.7.2.4-ab2b3439","template-haskell-2.22.0.0-4ff0","text-2.1.1-e1e4","time-1.12.2-d1da","transformers-0.6.1.1-1df5","tr-vw-0.5.1-54059191","nplt-1.6.13-8a41aefb"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"scntfc-0.3.8.0-c99b9a9d","pkg-name":"scientific","pkg-version":"0.3.8.0","flags":{"integer-simple":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"ba83a6701dd0110138443757aca4a42786afa94272b73045ef878fd860d1732e","pkg-src-sha256":"13b343bca8aa26d7718e52e622e5a118056653edafcbc7ccc5333be7217218cf","depends":["base-4.20.0.0-8a80","binary-0.8.9.2-0dec","bytestring-0.12.1.0-d0da","containers-0.7-ed0d","deepseq-1.5.0.0-748c","hshbl-1.5.0.0-24b9df1a","ntgr-lgrthms-1.0.4-6ce90ba7","prmtv-0.9.1.0-1d9d3df0","template-haskell-2.22.0.0-4ff0","text-2.1.1-e1e4"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"spltmx-0.1.3.1-83c966da","pkg-name":"splitmix","pkg-version":"0.1.3.1","flags":{"optimised-mixer":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"d0002f3fb16a2cc5ba8afd47a6657726386edccfe8853d310e3479fe3b45201b","pkg-src-sha256":"b6bcd0d79bd4fe40975c8ebe803be2f3bfbf6006069a59745a325a0df3f86270","depends":["base-4.20.0.0-8a80","deepseq-1.5.0.0-748c"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"stm-2.5.3.1-4c4f","pkg-name":"stm","pkg-version":"2.5.3.1","depends":["array-0.5.7.0-2002","base-4.20.0.0-8a80"]},{"type":"configured","id":"syb-0.7.2.4-ab2b3439","pkg-name":"syb","pkg-version":"0.7.2.4","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"936d5a92084ad9d88c5a9dd2e622deab57ce48ce85be93e6273b3f8eb64c12ca","pkg-src-sha256":"ec7c1e8822d62ab910386361cdcee40a22a26cd344c34741fadd982302291e60","depends":["base-4.20.0.0-8a80"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"sync-2.2.5-233aee3d","pkg-name":"async","pkg-version":"2.2.5","flags":{"bench":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"b7648c6165729a973d95cb328f9fd874813a81c727707e8b2552b4f03399763b","pkg-src-sha256":"1818473ebab9212afad2ed76297aefde5fae8b5d4404daf36939aece6a8f16f7","depends":["base-4.20.0.0-8a80","hshbl-1.5.0.0-24b9df1a","stm-2.5.3.1-4c4f"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"template-haskell-2.22.0.0-4ff0","pkg-name":"template-haskell","pkg-version":"2.22.0.0","depends":["base-4.20.0.0-8a80","ghc-boot-th-9.10.1-d3c3","ghc-prim-0.11.0-2e13","pretty-1.1.3.6-b893"]},{"type":"configured","id":"tensor-right-0.1.0.0-inplace","pkg-name":"tensor-right","pkg-version":"0.1.0.0","flags":{},"style":"local","pkg-src":{"type":"local","path":"/Users/leo/Work/Research/ADAPT/TensorRight/."},"dist-dir":"/Users/leo/Work/Research/ADAPT/TensorRight/dist-newstyle/build/x86_64-osx/ghc-9.10.1/tensor-right-0.1.0.0","build-info":"/Users/leo/Work/Research/ADAPT/TensorRight/dist-newstyle/build/x86_64-osx/ghc-9.10.1/tensor-right-0.1.0.0/build-info.json","depends":["base-4.20.0.0-8a80","deepseq-1.5.0.0-748c","grstt-0.11.0.0-5bfa7d6b","hshbl-1.5.0.0-24b9df1a","mtl-2.3.1-6c8e","rdrd-cntnrs-0.2.4-2e06bc38","prttyprntr-1.7.1-4c7a96e6","sbv-11.7-ebc47741","template-haskell-2.22.0.0-4ff0","text-2.1.1-e1e4","nrdrd-cntnrs-0.2.20-75d7c1b8"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"tensor-right-0.1.0.0-inplace-rules-debug","pkg-name":"tensor-right","pkg-version":"0.1.0.0","flags":{},"style":"local","pkg-src":{"type":"local","path":"/Users/leo/Work/Research/ADAPT/TensorRight/."},"dist-dir":"/Users/leo/Work/Research/ADAPT/TensorRight/dist-newstyle/build/x86_64-osx/ghc-9.10.1/tensor-right-0.1.0.0/x/rules-debug","build-info":"/Users/leo/Work/Research/ADAPT/TensorRight/dist-newstyle/build/x86_64-osx/ghc-9.10.1/tensor-right-0.1.0.0/x/rules-debug/build-info.json","depends":["base-4.20.0.0-8a80","deepseq-1.5.0.0-748c","grstt-0.11.0.0-5bfa7d6b","hshbl-1.5.0.0-24b9df1a","mtl-2.3.1-6c8e","rdrd-cntnrs-0.2.4-2e06bc38","prttyprntr-1.7.1-4c7a96e6","sbv-11.7-ebc47741","template-haskell-2.22.0.0-4ff0","tensor-right-0.1.0.0-inplace","text-2.1.1-e1e4","nrdrd-cntnrs-0.2.20-75d7c1b8"],"exe-depends":[],"component-name":"exe:rules-debug","bin-file":"/Users/leo/Work/Research/ADAPT/TensorRight/dist-newstyle/build/x86_64-osx/ghc-9.10.1/tensor-right-0.1.0.0/x/rules-debug/build/rules-debug/rules-debug"},{"type":"configured","id":"tensor-right-0.1.0.0-inplace-rules-xla-add","pkg-name":"tensor-right","pkg-version":"0.1.0.0","flags":{},"style":"local","pkg-src":{"type":"local","path":"/Users/leo/Work/Research/ADAPT/TensorRight/."},"dist-dir":"/Users/leo/Work/Research/ADAPT/TensorRight/dist-newstyle/build/x86_64-osx/ghc-9.10.1/tensor-right-0.1.0.0/x/rules-xla-add","build-info":"/Users/leo/Work/Research/ADAPT/TensorRight/dist-newstyle/build/x86_64-osx/ghc-9.10.1/tensor-right-0.1.0.0/x/rules-xla-add/build-info.json","depends":["base-4.20.0.0-8a80","deepseq-1.5.0.0-748c","grstt-0.11.0.0-5bfa7d6b","hshbl-1.5.0.0-24b9df1a","mtl-2.3.1-6c8e","rdrd-cntnrs-0.2.4-2e06bc38","prttyprntr-1.7.1-4c7a96e6","sbv-11.7-ebc47741","template-haskell-2.22.0.0-4ff0","tensor-right-0.1.0.0-inplace","text-2.1.1-e1e4","nrdrd-cntnrs-0.2.20-75d7c1b8"],"exe-depends":[],"component-name":"exe:rules-xla-add","bin-file":"/Users/leo/Work/Research/ADAPT/TensorRight/dist-newstyle/build/x86_64-osx/ghc-9.10.1/tensor-right-0.1.0.0/x/rules-xla-add/build/rules-xla-add/rules-xla-add"},{"type":"configured","id":"tensor-right-0.1.0.0-inplace-rules-xla-broadcast","pkg-name":"tensor-right","pkg-version":"0.1.0.0","flags":{},"style":"local","pkg-src":{"type":"local","path":"/Users/leo/Work/Research/ADAPT/TensorRight/."},"dist-dir":"/Users/leo/Work/Research/ADAPT/TensorRight/dist-newstyle/build/x86_64-osx/ghc-9.10.1/tensor-right-0.1.0.0/x/rules-xla-broadcast","build-info":"/Users/leo/Work/Research/ADAPT/TensorRight/dist-newstyle/build/x86_64-osx/ghc-9.10.1/tensor-right-0.1.0.0/x/rules-xla-broadcast/build-info.json","depends":["base-4.20.0.0-8a80","deepseq-1.5.0.0-748c","grstt-0.11.0.0-5bfa7d6b","hshbl-1.5.0.0-24b9df1a","mtl-2.3.1-6c8e","rdrd-cntnrs-0.2.4-2e06bc38","prttyprntr-1.7.1-4c7a96e6","sbv-11.7-ebc47741","template-haskell-2.22.0.0-4ff0","tensor-right-0.1.0.0-inplace","text-2.1.1-e1e4","nrdrd-cntnrs-0.2.20-75d7c1b8"],"exe-depends":[],"component-name":"exe:rules-xla-broadcast","bin-file":"/Users/leo/Work/Research/ADAPT/TensorRight/dist-newstyle/build/x86_64-osx/ghc-9.10.1/tensor-right-0.1.0.0/x/rules-xla-broadcast/build/rules-xla-broadcast/rules-xla-broadcast"},{"type":"configured","id":"tensor-right-0.1.0.0-inplace-rules-xla-clamp","pkg-name":"tensor-right","pkg-version":"0.1.0.0","flags":{},"style":"local","pkg-src":{"type":"local","path":"/Users/leo/Work/Research/ADAPT/TensorRight/."},"dist-dir":"/Users/leo/Work/Research/ADAPT/TensorRight/dist-newstyle/build/x86_64-osx/ghc-9.10.1/tensor-right-0.1.0.0/x/rules-xla-clamp","build-info":"/Users/leo/Work/Research/ADAPT/TensorRight/dist-newstyle/build/x86_64-osx/ghc-9.10.1/tensor-right-0.1.0.0/x/rules-xla-clamp/build-info.json","depends":["base-4.20.0.0-8a80","deepseq-1.5.0.0-748c","grstt-0.11.0.0-5bfa7d6b","hshbl-1.5.0.0-24b9df1a","mtl-2.3.1-6c8e","rdrd-cntnrs-0.2.4-2e06bc38","prttyprntr-1.7.1-4c7a96e6","sbv-11.7-ebc47741","template-haskell-2.22.0.0-4ff0","tensor-right-0.1.0.0-inplace","text-2.1.1-e1e4","nrdrd-cntnrs-0.2.20-75d7c1b8"],"exe-depends":[],"component-name":"exe:rules-xla-clamp","bin-file":"/Users/leo/Work/Research/ADAPT/TensorRight/dist-newstyle/build/x86_64-osx/ghc-9.10.1/tensor-right-0.1.0.0/x/rules-xla-clamp/build/rules-xla-clamp/rules-xla-clamp"},{"type":"configured","id":"tensor-right-0.1.0.0-inplace-rules-xla-compare","pkg-name":"tensor-right","pkg-version":"0.1.0.0","flags":{},"style":"local","pkg-src":{"type":"local","path":"/Users/leo/Work/Research/ADAPT/TensorRight/."},"dist-dir":"/Users/leo/Work/Research/ADAPT/TensorRight/dist-newstyle/build/x86_64-osx/ghc-9.10.1/tensor-right-0.1.0.0/x/rules-xla-compare","build-info":"/Users/leo/Work/Research/ADAPT/TensorRight/dist-newstyle/build/x86_64-osx/ghc-9.10.1/tensor-right-0.1.0.0/x/rules-xla-compare/build-info.json","depends":["base-4.20.0.0-8a80","deepseq-1.5.0.0-748c","grstt-0.11.0.0-5bfa7d6b","hshbl-1.5.0.0-24b9df1a","mtl-2.3.1-6c8e","rdrd-cntnrs-0.2.4-2e06bc38","prttyprntr-1.7.1-4c7a96e6","sbv-11.7-ebc47741","template-haskell-2.22.0.0-4ff0","tensor-right-0.1.0.0-inplace","text-2.1.1-e1e4","nrdrd-cntnrs-0.2.20-75d7c1b8"],"exe-depends":[],"component-name":"exe:rules-xla-compare","bin-file":"/Users/leo/Work/Research/ADAPT/TensorRight/dist-newstyle/build/x86_64-osx/ghc-9.10.1/tensor-right-0.1.0.0/x/rules-xla-compare/build/rules-xla-compare/rules-xla-compare"},{"type":"configured","id":"tensor-right-0.1.0.0-inplace-rules-xla-concat","pkg-name":"tensor-right","pkg-version":"0.1.0.0","flags":{},"style":"local","pkg-src":{"type":"local","path":"/Users/leo/Work/Research/ADAPT/TensorRight/."},"dist-dir":"/Users/leo/Work/Research/ADAPT/TensorRight/dist-newstyle/build/x86_64-osx/ghc-9.10.1/tensor-right-0.1.0.0/x/rules-xla-concat","build-info":"/Users/leo/Work/Research/ADAPT/TensorRight/dist-newstyle/build/x86_64-osx/ghc-9.10.1/tensor-right-0.1.0.0/x/rules-xla-concat/build-info.json","depends":["base-4.20.0.0-8a80","deepseq-1.5.0.0-748c","grstt-0.11.0.0-5bfa7d6b","hshbl-1.5.0.0-24b9df1a","mtl-2.3.1-6c8e","rdrd-cntnrs-0.2.4-2e06bc38","prttyprntr-1.7.1-4c7a96e6","sbv-11.7-ebc47741","template-haskell-2.22.0.0-4ff0","tensor-right-0.1.0.0-inplace","text-2.1.1-e1e4","nrdrd-cntnrs-0.2.20-75d7c1b8"],"exe-depends":[],"component-name":"exe:rules-xla-concat","bin-file":"/Users/leo/Work/Research/ADAPT/TensorRight/dist-newstyle/build/x86_64-osx/ghc-9.10.1/tensor-right-0.1.0.0/x/rules-xla-concat/build/rules-xla-concat/rules-xla-concat"},{"type":"configured","id":"tensor-right-0.1.0.0-inplace-rules-xla-conv","pkg-name":"tensor-right","pkg-version":"0.1.0.0","flags":{},"style":"local","pkg-src":{"type":"local","path":"/Users/leo/Work/Research/ADAPT/TensorRight/."},"dist-dir":"/Users/leo/Work/Research/ADAPT/TensorRight/dist-newstyle/build/x86_64-osx/ghc-9.10.1/tensor-right-0.1.0.0/x/rules-xla-conv","build-info":"/Users/leo/Work/Research/ADAPT/TensorRight/dist-newstyle/build/x86_64-osx/ghc-9.10.1/tensor-right-0.1.0.0/x/rules-xla-conv/build-info.json","depends":["base-4.20.0.0-8a80","deepseq-1.5.0.0-748c","grstt-0.11.0.0-5bfa7d6b","hshbl-1.5.0.0-24b9df1a","mtl-2.3.1-6c8e","rdrd-cntnrs-0.2.4-2e06bc38","prttyprntr-1.7.1-4c7a96e6","sbv-11.7-ebc47741","template-haskell-2.22.0.0-4ff0","tensor-right-0.1.0.0-inplace","text-2.1.1-e1e4","nrdrd-cntnrs-0.2.20-75d7c1b8"],"exe-depends":[],"component-name":"exe:rules-xla-conv","bin-file":"/Users/leo/Work/Research/ADAPT/TensorRight/dist-newstyle/build/x86_64-osx/ghc-9.10.1/tensor-right-0.1.0.0/x/rules-xla-conv/build/rules-xla-conv/rules-xla-conv"},{"type":"configured","id":"tensor-right-0.1.0.0-inplace-rules-xla-divmod","pkg-name":"tensor-right","pkg-version":"0.1.0.0","flags":{},"style":"local","pkg-src":{"type":"local","path":"/Users/leo/Work/Research/ADAPT/TensorRight/."},"dist-dir":"/Users/leo/Work/Research/ADAPT/TensorRight/dist-newstyle/build/x86_64-osx/ghc-9.10.1/tensor-right-0.1.0.0/x/rules-xla-divmod","build-info":"/Users/leo/Work/Research/ADAPT/TensorRight/dist-newstyle/build/x86_64-osx/ghc-9.10.1/tensor-right-0.1.0.0/x/rules-xla-divmod/build-info.json","depends":["base-4.20.0.0-8a80","deepseq-1.5.0.0-748c","grstt-0.11.0.0-5bfa7d6b","hshbl-1.5.0.0-24b9df1a","mtl-2.3.1-6c8e","rdrd-cntnrs-0.2.4-2e06bc38","prttyprntr-1.7.1-4c7a96e6","sbv-11.7-ebc47741","template-haskell-2.22.0.0-4ff0","tensor-right-0.1.0.0-inplace","text-2.1.1-e1e4","nrdrd-cntnrs-0.2.20-75d7c1b8"],"exe-depends":[],"component-name":"exe:rules-xla-divmod","bin-file":"/Users/leo/Work/Research/ADAPT/TensorRight/dist-newstyle/build/x86_64-osx/ghc-9.10.1/tensor-right-0.1.0.0/x/rules-xla-divmod/build/rules-xla-divmod/rules-xla-divmod"},{"type":"configured","id":"tensor-right-0.1.0.0-inplace-rules-xla-dot","pkg-name":"tensor-right","pkg-version":"0.1.0.0","flags":{},"style":"local","pkg-src":{"type":"local","path":"/Users/leo/Work/Research/ADAPT/TensorRight/."},"dist-dir":"/Users/leo/Work/Research/ADAPT/TensorRight/dist-newstyle/build/x86_64-osx/ghc-9.10.1/tensor-right-0.1.0.0/x/rules-xla-dot","build-info":"/Users/leo/Work/Research/ADAPT/TensorRight/dist-newstyle/build/x86_64-osx/ghc-9.10.1/tensor-right-0.1.0.0/x/rules-xla-dot/build-info.json","depends":["base-4.20.0.0-8a80","deepseq-1.5.0.0-748c","grstt-0.11.0.0-5bfa7d6b","hshbl-1.5.0.0-24b9df1a","mtl-2.3.1-6c8e","rdrd-cntnrs-0.2.4-2e06bc38","prttyprntr-1.7.1-4c7a96e6","sbv-11.7-ebc47741","template-haskell-2.22.0.0-4ff0","tensor-right-0.1.0.0-inplace","text-2.1.1-e1e4","nrdrd-cntnrs-0.2.20-75d7c1b8"],"exe-depends":[],"component-name":"exe:rules-xla-dot","bin-file":"/Users/leo/Work/Research/ADAPT/TensorRight/dist-newstyle/build/x86_64-osx/ghc-9.10.1/tensor-right-0.1.0.0/x/rules-xla-dot/build/rules-xla-dot/rules-xla-dot"},{"type":"configured","id":"tensor-right-0.1.0.0-inplace-rules-xla-dyslice","pkg-name":"tensor-right","pkg-version":"0.1.0.0","flags":{},"style":"local","pkg-src":{"type":"local","path":"/Users/leo/Work/Research/ADAPT/TensorRight/."},"dist-dir":"/Users/leo/Work/Research/ADAPT/TensorRight/dist-newstyle/build/x86_64-osx/ghc-9.10.1/tensor-right-0.1.0.0/x/rules-xla-dyslice","build-info":"/Users/leo/Work/Research/ADAPT/TensorRight/dist-newstyle/build/x86_64-osx/ghc-9.10.1/tensor-right-0.1.0.0/x/rules-xla-dyslice/build-info.json","depends":["base-4.20.0.0-8a80","deepseq-1.5.0.0-748c","grstt-0.11.0.0-5bfa7d6b","hshbl-1.5.0.0-24b9df1a","mtl-2.3.1-6c8e","rdrd-cntnrs-0.2.4-2e06bc38","prttyprntr-1.7.1-4c7a96e6","sbv-11.7-ebc47741","template-haskell-2.22.0.0-4ff0","tensor-right-0.1.0.0-inplace","text-2.1.1-e1e4","nrdrd-cntnrs-0.2.20-75d7c1b8"],"exe-depends":[],"component-name":"exe:rules-xla-dyslice","bin-file":"/Users/leo/Work/Research/ADAPT/TensorRight/dist-newstyle/build/x86_64-osx/ghc-9.10.1/tensor-right-0.1.0.0/x/rules-xla-dyslice/build/rules-xla-dyslice/rules-xla-dyslice"},{"type":"configured","id":"tensor-right-0.1.0.0-inplace-rules-xla-dyupslice","pkg-name":"tensor-right","pkg-version":"0.1.0.0","flags":{},"style":"local","pkg-src":{"type":"local","path":"/Users/leo/Work/Research/ADAPT/TensorRight/."},"dist-dir":"/Users/leo/Work/Research/ADAPT/TensorRight/dist-newstyle/build/x86_64-osx/ghc-9.10.1/tensor-right-0.1.0.0/x/rules-xla-dyupslice","build-info":"/Users/leo/Work/Research/ADAPT/TensorRight/dist-newstyle/build/x86_64-osx/ghc-9.10.1/tensor-right-0.1.0.0/x/rules-xla-dyupslice/build-info.json","depends":["base-4.20.0.0-8a80","deepseq-1.5.0.0-748c","grstt-0.11.0.0-5bfa7d6b","hshbl-1.5.0.0-24b9df1a","mtl-2.3.1-6c8e","rdrd-cntnrs-0.2.4-2e06bc38","prttyprntr-1.7.1-4c7a96e6","sbv-11.7-ebc47741","template-haskell-2.22.0.0-4ff0","tensor-right-0.1.0.0-inplace","text-2.1.1-e1e4","nrdrd-cntnrs-0.2.20-75d7c1b8"],"exe-depends":[],"component-name":"exe:rules-xla-dyupslice","bin-file":"/Users/leo/Work/Research/ADAPT/TensorRight/dist-newstyle/build/x86_64-osx/ghc-9.10.1/tensor-right-0.1.0.0/x/rules-xla-dyupslice/build/rules-xla-dyupslice/rules-xla-dyupslice"},{"type":"configured","id":"tensor-right-0.1.0.0-inplace-rules-xla-generalize","pkg-name":"tensor-right","pkg-version":"0.1.0.0","flags":{},"style":"local","pkg-src":{"type":"local","path":"/Users/leo/Work/Research/ADAPT/TensorRight/."},"dist-dir":"/Users/leo/Work/Research/ADAPT/TensorRight/dist-newstyle/build/x86_64-osx/ghc-9.10.1/tensor-right-0.1.0.0/x/rules-xla-generalize","build-info":"/Users/leo/Work/Research/ADAPT/TensorRight/dist-newstyle/build/x86_64-osx/ghc-9.10.1/tensor-right-0.1.0.0/x/rules-xla-generalize/build-info.json","depends":["base-4.20.0.0-8a80","deepseq-1.5.0.0-748c","grstt-0.11.0.0-5bfa7d6b","hshbl-1.5.0.0-24b9df1a","mtl-2.3.1-6c8e","rdrd-cntnrs-0.2.4-2e06bc38","prttyprntr-1.7.1-4c7a96e6","sbv-11.7-ebc47741","template-haskell-2.22.0.0-4ff0","tensor-right-0.1.0.0-inplace","text-2.1.1-e1e4","nrdrd-cntnrs-0.2.20-75d7c1b8"],"exe-depends":[],"component-name":"exe:rules-xla-generalize","bin-file":"/Users/leo/Work/Research/ADAPT/TensorRight/dist-newstyle/build/x86_64-osx/ghc-9.10.1/tensor-right-0.1.0.0/x/rules-xla-generalize/build/rules-xla-generalize/rules-xla-generalize"},{"type":"configured","id":"tensor-right-0.1.0.0-inplace-rules-xla-iota","pkg-name":"tensor-right","pkg-version":"0.1.0.0","flags":{},"style":"local","pkg-src":{"type":"local","path":"/Users/leo/Work/Research/ADAPT/TensorRight/."},"dist-dir":"/Users/leo/Work/Research/ADAPT/TensorRight/dist-newstyle/build/x86_64-osx/ghc-9.10.1/tensor-right-0.1.0.0/x/rules-xla-iota","build-info":"/Users/leo/Work/Research/ADAPT/TensorRight/dist-newstyle/build/x86_64-osx/ghc-9.10.1/tensor-right-0.1.0.0/x/rules-xla-iota/build-info.json","depends":["base-4.20.0.0-8a80","deepseq-1.5.0.0-748c","grstt-0.11.0.0-5bfa7d6b","hshbl-1.5.0.0-24b9df1a","mtl-2.3.1-6c8e","rdrd-cntnrs-0.2.4-2e06bc38","prttyprntr-1.7.1-4c7a96e6","sbv-11.7-ebc47741","template-haskell-2.22.0.0-4ff0","tensor-right-0.1.0.0-inplace","text-2.1.1-e1e4","nrdrd-cntnrs-0.2.20-75d7c1b8"],"exe-depends":[],"component-name":"exe:rules-xla-iota","bin-file":"/Users/leo/Work/Research/ADAPT/TensorRight/dist-newstyle/build/x86_64-osx/ghc-9.10.1/tensor-right-0.1.0.0/x/rules-xla-iota/build/rules-xla-iota/rules-xla-iota"},{"type":"configured","id":"tensor-right-0.1.0.0-inplace-rules-xla-logical","pkg-name":"tensor-right","pkg-version":"0.1.0.0","flags":{},"style":"local","pkg-src":{"type":"local","path":"/Users/leo/Work/Research/ADAPT/TensorRight/."},"dist-dir":"/Users/leo/Work/Research/ADAPT/TensorRight/dist-newstyle/build/x86_64-osx/ghc-9.10.1/tensor-right-0.1.0.0/x/rules-xla-logical","build-info":"/Users/leo/Work/Research/ADAPT/TensorRight/dist-newstyle/build/x86_64-osx/ghc-9.10.1/tensor-right-0.1.0.0/x/rules-xla-logical/build-info.json","depends":["base-4.20.0.0-8a80","deepseq-1.5.0.0-748c","grstt-0.11.0.0-5bfa7d6b","hshbl-1.5.0.0-24b9df1a","mtl-2.3.1-6c8e","rdrd-cntnrs-0.2.4-2e06bc38","prttyprntr-1.7.1-4c7a96e6","sbv-11.7-ebc47741","template-haskell-2.22.0.0-4ff0","tensor-right-0.1.0.0-inplace","text-2.1.1-e1e4","nrdrd-cntnrs-0.2.20-75d7c1b8"],"exe-depends":[],"component-name":"exe:rules-xla-logical","bin-file":"/Users/leo/Work/Research/ADAPT/TensorRight/dist-newstyle/build/x86_64-osx/ghc-9.10.1/tensor-right-0.1.0.0/x/rules-xla-logical/build/rules-xla-logical/rules-xla-logical"},{"type":"configured","id":"tensor-right-0.1.0.0-inplace-rules-xla-max","pkg-name":"tensor-right","pkg-version":"0.1.0.0","flags":{},"style":"local","pkg-src":{"type":"local","path":"/Users/leo/Work/Research/ADAPT/TensorRight/."},"dist-dir":"/Users/leo/Work/Research/ADAPT/TensorRight/dist-newstyle/build/x86_64-osx/ghc-9.10.1/tensor-right-0.1.0.0/x/rules-xla-max","build-info":"/Users/leo/Work/Research/ADAPT/TensorRight/dist-newstyle/build/x86_64-osx/ghc-9.10.1/tensor-right-0.1.0.0/x/rules-xla-max/build-info.json","depends":["base-4.20.0.0-8a80","deepseq-1.5.0.0-748c","grstt-0.11.0.0-5bfa7d6b","hshbl-1.5.0.0-24b9df1a","mtl-2.3.1-6c8e","rdrd-cntnrs-0.2.4-2e06bc38","prttyprntr-1.7.1-4c7a96e6","sbv-11.7-ebc47741","template-haskell-2.22.0.0-4ff0","tensor-right-0.1.0.0-inplace","text-2.1.1-e1e4","nrdrd-cntnrs-0.2.20-75d7c1b8"],"exe-depends":[],"component-name":"exe:rules-xla-max","bin-file":"/Users/leo/Work/Research/ADAPT/TensorRight/dist-newstyle/build/x86_64-osx/ghc-9.10.1/tensor-right-0.1.0.0/x/rules-xla-max/build/rules-xla-max/rules-xla-max"},{"type":"configured","id":"tensor-right-0.1.0.0-inplace-rules-xla-mul","pkg-name":"tensor-right","pkg-version":"0.1.0.0","flags":{},"style":"local","pkg-src":{"type":"local","path":"/Users/leo/Work/Research/ADAPT/TensorRight/."},"dist-dir":"/Users/leo/Work/Research/ADAPT/TensorRight/dist-newstyle/build/x86_64-osx/ghc-9.10.1/tensor-right-0.1.0.0/x/rules-xla-mul","build-info":"/Users/leo/Work/Research/ADAPT/TensorRight/dist-newstyle/build/x86_64-osx/ghc-9.10.1/tensor-right-0.1.0.0/x/rules-xla-mul/build-info.json","depends":["base-4.20.0.0-8a80","deepseq-1.5.0.0-748c","grstt-0.11.0.0-5bfa7d6b","hshbl-1.5.0.0-24b9df1a","mtl-2.3.1-6c8e","rdrd-cntnrs-0.2.4-2e06bc38","prttyprntr-1.7.1-4c7a96e6","sbv-11.7-ebc47741","template-haskell-2.22.0.0-4ff0","tensor-right-0.1.0.0-inplace","text-2.1.1-e1e4","nrdrd-cntnrs-0.2.20-75d7c1b8"],"exe-depends":[],"component-name":"exe:rules-xla-mul","bin-file":"/Users/leo/Work/Research/ADAPT/TensorRight/dist-newstyle/build/x86_64-osx/ghc-9.10.1/tensor-right-0.1.0.0/x/rules-xla-mul/build/rules-xla-mul/rules-xla-mul"},{"type":"configured","id":"tensor-right-0.1.0.0-inplace-rules-xla-not","pkg-name":"tensor-right","pkg-version":"0.1.0.0","flags":{},"style":"local","pkg-src":{"type":"local","path":"/Users/leo/Work/Research/ADAPT/TensorRight/."},"dist-dir":"/Users/leo/Work/Research/ADAPT/TensorRight/dist-newstyle/build/x86_64-osx/ghc-9.10.1/tensor-right-0.1.0.0/x/rules-xla-not","build-info":"/Users/leo/Work/Research/ADAPT/TensorRight/dist-newstyle/build/x86_64-osx/ghc-9.10.1/tensor-right-0.1.0.0/x/rules-xla-not/build-info.json","depends":["base-4.20.0.0-8a80","deepseq-1.5.0.0-748c","grstt-0.11.0.0-5bfa7d6b","hshbl-1.5.0.0-24b9df1a","mtl-2.3.1-6c8e","rdrd-cntnrs-0.2.4-2e06bc38","prttyprntr-1.7.1-4c7a96e6","sbv-11.7-ebc47741","template-haskell-2.22.0.0-4ff0","tensor-right-0.1.0.0-inplace","text-2.1.1-e1e4","nrdrd-cntnrs-0.2.20-75d7c1b8"],"exe-depends":[],"component-name":"exe:rules-xla-not","bin-file":"/Users/leo/Work/Research/ADAPT/TensorRight/dist-newstyle/build/x86_64-osx/ghc-9.10.1/tensor-right-0.1.0.0/x/rules-xla-not/build/rules-xla-not/rules-xla-not"},{"type":"configured","id":"tensor-right-0.1.0.0-inplace-rules-xla-pad","pkg-name":"tensor-right","pkg-version":"0.1.0.0","flags":{},"style":"local","pkg-src":{"type":"local","path":"/Users/leo/Work/Research/ADAPT/TensorRight/."},"dist-dir":"/Users/leo/Work/Research/ADAPT/TensorRight/dist-newstyle/build/x86_64-osx/ghc-9.10.1/tensor-right-0.1.0.0/x/rules-xla-pad","build-info":"/Users/leo/Work/Research/ADAPT/TensorRight/dist-newstyle/build/x86_64-osx/ghc-9.10.1/tensor-right-0.1.0.0/x/rules-xla-pad/build-info.json","depends":["base-4.20.0.0-8a80","deepseq-1.5.0.0-748c","grstt-0.11.0.0-5bfa7d6b","hshbl-1.5.0.0-24b9df1a","mtl-2.3.1-6c8e","rdrd-cntnrs-0.2.4-2e06bc38","prttyprntr-1.7.1-4c7a96e6","sbv-11.7-ebc47741","template-haskell-2.22.0.0-4ff0","tensor-right-0.1.0.0-inplace","text-2.1.1-e1e4","nrdrd-cntnrs-0.2.20-75d7c1b8"],"exe-depends":[],"component-name":"exe:rules-xla-pad","bin-file":"/Users/leo/Work/Research/ADAPT/TensorRight/dist-newstyle/build/x86_64-osx/ghc-9.10.1/tensor-right-0.1.0.0/x/rules-xla-pad/build/rules-xla-pad/rules-xla-pad"},{"type":"configured","id":"tensor-right-0.1.0.0-inplace-rules-xla-reduce","pkg-name":"tensor-right","pkg-version":"0.1.0.0","flags":{},"style":"local","pkg-src":{"type":"local","path":"/Users/leo/Work/Research/ADAPT/TensorRight/."},"dist-dir":"/Users/leo/Work/Research/ADAPT/TensorRight/dist-newstyle/build/x86_64-osx/ghc-9.10.1/tensor-right-0.1.0.0/x/rules-xla-reduce","build-info":"/Users/leo/Work/Research/ADAPT/TensorRight/dist-newstyle/build/x86_64-osx/ghc-9.10.1/tensor-right-0.1.0.0/x/rules-xla-reduce/build-info.json","depends":["base-4.20.0.0-8a80","deepseq-1.5.0.0-748c","grstt-0.11.0.0-5bfa7d6b","hshbl-1.5.0.0-24b9df1a","mtl-2.3.1-6c8e","rdrd-cntnrs-0.2.4-2e06bc38","prttyprntr-1.7.1-4c7a96e6","sbv-11.7-ebc47741","template-haskell-2.22.0.0-4ff0","tensor-right-0.1.0.0-inplace","text-2.1.1-e1e4","nrdrd-cntnrs-0.2.20-75d7c1b8"],"exe-depends":[],"component-name":"exe:rules-xla-reduce","bin-file":"/Users/leo/Work/Research/ADAPT/TensorRight/dist-newstyle/build/x86_64-osx/ghc-9.10.1/tensor-right-0.1.0.0/x/rules-xla-reduce/build/rules-xla-reduce/rules-xla-reduce"},{"type":"configured","id":"tensor-right-0.1.0.0-inplace-rules-xla-relabel","pkg-name":"tensor-right","pkg-version":"0.1.0.0","flags":{},"style":"local","pkg-src":{"type":"local","path":"/Users/leo/Work/Research/ADAPT/TensorRight/."},"dist-dir":"/Users/leo/Work/Research/ADAPT/TensorRight/dist-newstyle/build/x86_64-osx/ghc-9.10.1/tensor-right-0.1.0.0/x/rules-xla-relabel","build-info":"/Users/leo/Work/Research/ADAPT/TensorRight/dist-newstyle/build/x86_64-osx/ghc-9.10.1/tensor-right-0.1.0.0/x/rules-xla-relabel/build-info.json","depends":["base-4.20.0.0-8a80","deepseq-1.5.0.0-748c","grstt-0.11.0.0-5bfa7d6b","hshbl-1.5.0.0-24b9df1a","mtl-2.3.1-6c8e","rdrd-cntnrs-0.2.4-2e06bc38","prttyprntr-1.7.1-4c7a96e6","sbv-11.7-ebc47741","template-haskell-2.22.0.0-4ff0","tensor-right-0.1.0.0-inplace","text-2.1.1-e1e4","nrdrd-cntnrs-0.2.20-75d7c1b8"],"exe-depends":[],"component-name":"exe:rules-xla-relabel","bin-file":"/Users/leo/Work/Research/ADAPT/TensorRight/dist-newstyle/build/x86_64-osx/ghc-9.10.1/tensor-right-0.1.0.0/x/rules-xla-relabel/build/rules-xla-relabel/rules-xla-relabel"},{"type":"configured","id":"tensor-right-0.1.0.0-inplace-rules-xla-reverse","pkg-name":"tensor-right","pkg-version":"0.1.0.0","flags":{},"style":"local","pkg-src":{"type":"local","path":"/Users/leo/Work/Research/ADAPT/TensorRight/."},"dist-dir":"/Users/leo/Work/Research/ADAPT/TensorRight/dist-newstyle/build/x86_64-osx/ghc-9.10.1/tensor-right-0.1.0.0/x/rules-xla-reverse","build-info":"/Users/leo/Work/Research/ADAPT/TensorRight/dist-newstyle/build/x86_64-osx/ghc-9.10.1/tensor-right-0.1.0.0/x/rules-xla-reverse/build-info.json","depends":["base-4.20.0.0-8a80","deepseq-1.5.0.0-748c","grstt-0.11.0.0-5bfa7d6b","hshbl-1.5.0.0-24b9df1a","mtl-2.3.1-6c8e","rdrd-cntnrs-0.2.4-2e06bc38","prttyprntr-1.7.1-4c7a96e6","sbv-11.7-ebc47741","template-haskell-2.22.0.0-4ff0","tensor-right-0.1.0.0-inplace","text-2.1.1-e1e4","nrdrd-cntnrs-0.2.20-75d7c1b8"],"exe-depends":[],"component-name":"exe:rules-xla-reverse","bin-file":"/Users/leo/Work/Research/ADAPT/TensorRight/dist-newstyle/build/x86_64-osx/ghc-9.10.1/tensor-right-0.1.0.0/x/rules-xla-reverse/build/rules-xla-reverse/rules-xla-reverse"},{"type":"configured","id":"tensor-right-0.1.0.0-inplace-rules-xla-select","pkg-name":"tensor-right","pkg-version":"0.1.0.0","flags":{},"style":"local","pkg-src":{"type":"local","path":"/Users/leo/Work/Research/ADAPT/TensorRight/."},"dist-dir":"/Users/leo/Work/Research/ADAPT/TensorRight/dist-newstyle/build/x86_64-osx/ghc-9.10.1/tensor-right-0.1.0.0/x/rules-xla-select","build-info":"/Users/leo/Work/Research/ADAPT/TensorRight/dist-newstyle/build/x86_64-osx/ghc-9.10.1/tensor-right-0.1.0.0/x/rules-xla-select/build-info.json","depends":["base-4.20.0.0-8a80","deepseq-1.5.0.0-748c","grstt-0.11.0.0-5bfa7d6b","hshbl-1.5.0.0-24b9df1a","mtl-2.3.1-6c8e","rdrd-cntnrs-0.2.4-2e06bc38","prttyprntr-1.7.1-4c7a96e6","sbv-11.7-ebc47741","template-haskell-2.22.0.0-4ff0","tensor-right-0.1.0.0-inplace","text-2.1.1-e1e4","nrdrd-cntnrs-0.2.20-75d7c1b8"],"exe-depends":[],"component-name":"exe:rules-xla-select","bin-file":"/Users/leo/Work/Research/ADAPT/TensorRight/dist-newstyle/build/x86_64-osx/ghc-9.10.1/tensor-right-0.1.0.0/x/rules-xla-select/build/rules-xla-select/rules-xla-select"},{"type":"configured","id":"tensor-right-0.1.0.0-inplace-rules-xla-slice","pkg-name":"tensor-right","pkg-version":"0.1.0.0","flags":{},"style":"local","pkg-src":{"type":"local","path":"/Users/leo/Work/Research/ADAPT/TensorRight/."},"dist-dir":"/Users/leo/Work/Research/ADAPT/TensorRight/dist-newstyle/build/x86_64-osx/ghc-9.10.1/tensor-right-0.1.0.0/x/rules-xla-slice","build-info":"/Users/leo/Work/Research/ADAPT/TensorRight/dist-newstyle/build/x86_64-osx/ghc-9.10.1/tensor-right-0.1.0.0/x/rules-xla-slice/build-info.json","depends":["base-4.20.0.0-8a80","deepseq-1.5.0.0-748c","grstt-0.11.0.0-5bfa7d6b","hshbl-1.5.0.0-24b9df1a","mtl-2.3.1-6c8e","rdrd-cntnrs-0.2.4-2e06bc38","prttyprntr-1.7.1-4c7a96e6","sbv-11.7-ebc47741","template-haskell-2.22.0.0-4ff0","tensor-right-0.1.0.0-inplace","text-2.1.1-e1e4","nrdrd-cntnrs-0.2.20-75d7c1b8"],"exe-depends":[],"component-name":"exe:rules-xla-slice","bin-file":"/Users/leo/Work/Research/ADAPT/TensorRight/dist-newstyle/build/x86_64-osx/ghc-9.10.1/tensor-right-0.1.0.0/x/rules-xla-slice/build/rules-xla-slice/rules-xla-slice"},{"type":"configured","id":"tensor-right-0.1.0.0-inplace-rules-xla-sub","pkg-name":"tensor-right","pkg-version":"0.1.0.0","flags":{},"style":"local","pkg-src":{"type":"local","path":"/Users/leo/Work/Research/ADAPT/TensorRight/."},"dist-dir":"/Users/leo/Work/Research/ADAPT/TensorRight/dist-newstyle/build/x86_64-osx/ghc-9.10.1/tensor-right-0.1.0.0/x/rules-xla-sub","build-info":"/Users/leo/Work/Research/ADAPT/TensorRight/dist-newstyle/build/x86_64-osx/ghc-9.10.1/tensor-right-0.1.0.0/x/rules-xla-sub/build-info.json","depends":["base-4.20.0.0-8a80","deepseq-1.5.0.0-748c","grstt-0.11.0.0-5bfa7d6b","hshbl-1.5.0.0-24b9df1a","mtl-2.3.1-6c8e","rdrd-cntnrs-0.2.4-2e06bc38","prttyprntr-1.7.1-4c7a96e6","sbv-11.7-ebc47741","template-haskell-2.22.0.0-4ff0","tensor-right-0.1.0.0-inplace","text-2.1.1-e1e4","nrdrd-cntnrs-0.2.20-75d7c1b8"],"exe-depends":[],"component-name":"exe:rules-xla-sub","bin-file":"/Users/leo/Work/Research/ADAPT/TensorRight/dist-newstyle/build/x86_64-osx/ghc-9.10.1/tensor-right-0.1.0.0/x/rules-xla-sub/build/rules-xla-sub/rules-xla-sub"},{"type":"pre-existing","id":"text-2.1.1-e1e4","pkg-name":"text","pkg-version":"2.1.1","depends":["array-0.5.7.0-2002","base-4.20.0.0-8a80","binary-0.8.9.2-0dec","bytestring-0.12.1.0-d0da","deepseq-1.5.0.0-748c","ghc-prim-0.11.0-2e13","template-haskell-2.22.0.0-4ff0"]},{"type":"configured","id":"tggd-0.8.9-881c8291","pkg-name":"tagged","pkg-version":"0.8.9","flags":{"deepseq":true,"transformers":true},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"6aad7d2fd594bd51834450d97850b9959305951993ea739fa2bbc18b55d8767d","pkg-src-sha256":"6daad88ebb414ba6a556d2898d2cbe7650e4276010e3a6eed939daf54b956784","depends":["base-4.20.0.0-8a80","deepseq-1.5.0.0-748c","template-haskell-2.22.0.0-4ff0","transformers-0.6.1.1-1df5"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"th-bstrctn-0.7.1.0-d63953d7","pkg-name":"th-abstraction","pkg-version":"0.7.1.0","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"3011403d85b0070630e33d66b9370535ccd1e0e672ae58f847550b2b15bb4fd8","pkg-src-sha256":"f9b6184aba4c6b61dd0d96f7dad41a4c9db0a01d3cdbf993a7d860488f1c04c5","depends":["base-4.20.0.0-8a80","containers-0.7-ed0d","ghc-prim-0.11.0-2e13","template-haskell-2.22.0.0-4ff0"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"th-cmpt-0.1.6-f9185edd","pkg-name":"th-compat","pkg-version":"0.1.6","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"e83d97946f84fe492762ceb3b4753b4770c78b0b70e594078700baa91a5106c2","pkg-src-sha256":"b781a0c059872bc95406d00e98f6fa7d9e81e744730f75186583cb4dcea0a4eb","depends":["base-4.20.0.0-8a80","template-haskell-2.22.0.0-4ff0"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"th-lft-0.8.6-15a50e32","pkg-name":"th-lift","pkg-version":"0.8.6","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"0d1298f0604415e801ee1bc9095d8c26246d911d8d78e86d61b10a2588fab727","pkg-src-sha256":"04309ad70ef80ed054ebda5b7d34a66642017604019f9e44ad321eec04a1ef1f","depends":["base-4.20.0.0-8a80","ghc-prim-0.11.0-2e13","template-haskell-2.22.0.0-4ff0","th-bstrctn-0.7.1.0-d63953d7"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"th-lft-nstncs-0.1.20-aa43253e","pkg-name":"th-lift-instances","pkg-version":"0.1.20","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"c7886eb39760825b8861c68e48b2b5efb5eff8d2cb76201fdd0fb04bcbeff78e","pkg-src-sha256":"f533c3f95addcca461a0ccd1aafef75dd801bfa6599c0d1184d54bfffb61d870","depends":["base-4.20.0.0-8a80","bytestring-0.12.1.0-d0da","containers-0.7-ed0d","template-haskell-2.22.0.0-4ff0","text-2.1.1-e1e4","th-lft-0.8.6-15a50e32","transformers-0.6.1.1-1df5","vctr-0.13.2.0-36843d58"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"time-1.12.2-d1da","pkg-name":"time","pkg-version":"1.12.2","depends":["base-4.20.0.0-8a80","deepseq-1.5.0.0-748c"]},{"type":"configured","id":"tmc-prmps-0.8.8-48b89e4a","pkg-name":"atomic-primops","pkg-version":"0.8.8","flags":{"debug":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"b1c7845aaf0b9b5df44d1f25222b50c54c9e7c9a32ad5ccd00580a282bfed014","pkg-src-sha256":"c040ce4109258776100dd8942d6e746e4c26f918398fb3804e78dbe5bd73e7ea","depends":["base-4.20.0.0-8a80","ghc-prim-0.11.0-2e13","prmtv-0.9.1.0-1d9d3df0"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"tr-vw-0.5.1-54059191","pkg-name":"tree-view","pkg-version":"0.5.1","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"a32b16fdbe24ad21cb6679c2a925bcc7715ae5c5db0ae6b633e35e28e2fefd98","pkg-src-sha256":"4f58284da25f6347f971ff7f4fbcfdc51acb8ffc6b3bf73939f60e1471a843f9","depends":["base-4.20.0.0-8a80","containers-0.7-ed0d","mtl-2.3.1-6c8e"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"transformers-0.6.1.1-1df5","pkg-name":"transformers","pkg-version":"0.6.1.1","depends":["base-4.20.0.0-8a80"]},{"type":"configured","id":"trnsfrmrs-cmpt-0.7.2-4d650876","pkg-name":"transformers-compat","pkg-version":"0.7.2","flags":{"five":false,"five-three":true,"four":false,"generic-deriving":true,"mtl":true,"three":false,"two":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"044fb9955f63ee138fcebedfdcbe54afe741f2d5892a2d0bdf3a8052bd342643","pkg-src-sha256":"b62c7304c9f3cbc9463d0739aa85cb9489f217ea092b9d625d417514fbcc9d6a","depends":["base-4.20.0.0-8a80","ghc-prim-0.11.0-2e13","transformers-0.6.1.1-1df5"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"tsty-1.5.3-0ab52301","pkg-name":"tasty","pkg-version":"1.5.3","flags":{"unix":true},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"6b5dda3f16db1274a0b3e6c4073ac57172a1e96b1dca05666c5cbd1183639412","pkg-src-sha256":"54a0c7b644813af871a3726ac8771b5e17b5158c792a7acf8f9e2d3ae9360780","depends":["ns-trmnl-1.1.2-13be3cb7","base-4.20.0.0-8a80","containers-0.7-ed0d","ptprs-pplctv-0.19.0.0-298cfd6c","stm-2.5.3.1-4c4f","tggd-0.8.9-881c8291","transformers-0.6.1.1-1df5","unix-2.8.5.1-9045"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"unix-2.8.5.1-9045","pkg-name":"unix","pkg-version":"2.8.5.1","depends":["base-4.20.0.0-8a80","bytestring-0.12.1.0-d0da","filepath-1.5.2.0-7209","os-string-2.0.2-e95e","time-1.12.2-d1da"]},{"type":"configured","id":"vctr-0.13.2.0-36843d58","pkg-name":"vector","pkg-version":"0.13.2.0","flags":{"boundschecks":true,"internalchecks":false,"unsafechecks":false,"wall":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"b736a57b73520d2acf4865e3e2b40030d69782f35f870e376dc717ee2508d81f","pkg-src-sha256":"28f203c786cbf8ac6dc3fea3378ec36f34173d505fb4a1dd60fc8418ad91c423","depends":["base-4.20.0.0-8a80","deepseq-1.5.0.0-748c","prmtv-0.9.1.0-1d9d3df0","vctr-strm-0.1.0.1-f96412de"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"vctr-0.13.2.0-f9f4a3bf","pkg-name":"vector","pkg-version":"0.13.2.0","flags":{"boundschecks":true,"internalchecks":false,"unsafechecks":false,"wall":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"b736a57b73520d2acf4865e3e2b40030d69782f35f870e376dc717ee2508d81f","pkg-src-sha256":"28f203c786cbf8ac6dc3fea3378ec36f34173d505fb4a1dd60fc8418ad91c423","depends":["base-4.20.0.0-8a80","rndm-1.3.1-0ab25a30","tsty-1.5.3-0ab52301","vctr-0.13.2.0-36843d58"],"exe-depends":[],"component-name":"lib:benchmarks-O2"},{"type":"configured","id":"vctr-strm-0.1.0.1-f96412de","pkg-name":"vector-stream","pkg-version":"0.1.0.1","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"5ac96695212a45ae7dc16d8031dbf5311da53e052c35f7ad4a8e2db7fafb651e","pkg-src-sha256":"d0f507334bdea5431a2f07f525a97f29e76522c32210f5de6d5a2b4f1d42bf7c","depends":["base-4.20.0.0-8a80","ghc-prim-0.11.0-2e13"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"vd-0.7.3-fb963e7f","pkg-name":"void","pkg-version":"0.7.3","flags":{"safe":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"13d30f62fcdf065e595d679d4ac8b4b0c1bb1a1b73db7b5b5a8f857cb5c8a546","pkg-src-sha256":"53af758ddc37dc63981671e503438d02c6f64a2d8744e9bec557a894431f7317","depends":["base-4.20.0.0-8a80"],"exe-depends":[],"component-name":"lib"}]} \ No newline at end of file diff --git a/dist-newstyle/cache/solver-plan b/dist-newstyle/cache/solver-plan deleted file mode 100644 index 35be435617af9e54670e0d4b05e7c9332b815779..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 751746 zcmeFaU633{k|vf#fcPnp1W17YS?*qG#~agKiMq8Sde-GPAmK zy1KHavI;;LibkN)D_Gyn9ZzdiLQ|BEC4 zP8_MIZ|z1r95=S(-LN|fA2n`9-H|uiYuw<3IBD#9eq*?^<;R0wwAE-W90kZL|8?=Zjz)S%BE`Pf&!PV7d;itHUks1Dq$>5HU8!W- z8-*$9mo>@vZM`n}};xcc}1*Ps9Gzx(pIrv2l?()K-n zI}~*P)A?Wi@9plp|L?!}FaL{wRpH^eY0}-=_9w#z{%v&Xt!BL?x)DEX#!uCvI*nF6 z;0B_(D5g^RH~-n-C;!{ueyO^dKe({71-+nfUfv#$ho3PbXPlCOQ7R4o#-F-v$5hIt zUN}GBT5PtLnoBFqb}#h&)?&EWS_nGbPUx-7_rh?cyVUE2z2(;Y{NloL$7_d6E5XWw z7x+uvCevw!UZ?BLxBbQTQqc1KPRr|pP&b%gS_u8cuoJHM-KFIg@-Hm6R+ihnrLeu! zYkJ}G@_ew+W;#u8(O(XM;|Hy7Yq8gC^%i@JEpL9_3j%LBTv}Z0`psUm+gxfbc0F$; zY%jNZ3qI=B3frxK=`6O8b*a_uG?$vKR(G-OFD;<~%S+vs7k2Qu+zh;>&V0MwYR!A? zg(a`q>8&)E{Uy|_({3@HZn(U-xH#XN_m{g~E9i#p&Pw2|w0bSnues=Vg85Dmtb{>( zskP*HxxVsW;zUns0et*jkvM@2;R89dF5BTImK0t>v)0 zh@M+$uJoEq3-f{RH775A>l}==6W?Xg=WlI^mUZI7s4AZ4_;7 zj~%DtyoCQM%r3>y%1KZ@0=)E(zaPK3cIDdbjcY07nS5)kPR8-BHx2{$%WxF+BHtTF z@xYCH?xv`}`^Cr`Zo7BGN26#QCaTc85_p%|=0=I@4O~wWihOq*$9;Fa?TuX@>D|zs zBp^SI-G@}dUbT>LJ=+{^cs6|>zbiRnxlEe+IR!dpv`8g=$4IKL4aVVU;PvZQ;!#*% zeH?LDTqwu784W^j6n!JQR1sC(DtazMR1#8nKP)FJA$9qIdZ`>gcyf-tVaW4(N<9Q4 z>?x|n&AYmBvwk_A41%>mFC2vfKUC=F3oAkBSK>hs5pOBX4@xnCt#Cdp#kuy->pvOk z@o=P&zE?_VEeHo=Fn;)C)OBy%TYopMQM?q~e47^lmzg4@x8zo6J*s6t(hw*4!>qp6$dD(!HB3;{! zgGpbLH=xmOF7KJz{h>D+M_#{%iPR4anv(%Z|JoR$r-l}g5M}6Vwflp(_87?`t7_~= zB6TvLCTtBN%KXS14XD<=zPH7hpLTG#tB-cQBs>o7`eo-d(LCZfyhh6+n2(&}K^P8` z@K?aqX#z$6I>&W4S9 z!e*uyeAui?YZUUU!(~f78u_Bou!qYvb)v=mlDJJW(5s6CAj(C_Ynr6pgnz@yE5>�zC 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 Ps@49FW+VZ4$)*1PX^dGP diff --git a/dist-newstyle/cache/source-hashes b/dist-newstyle/cache/source-hashes deleted file mode 100644 index 6966adb617a96f6ac7c253c5bf744addf300b09e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 31975 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 From 8ec47fc53505183c52702de0397d8ef4cc9efe7e Mon Sep 17 00:00:00 2001 From: jaiarora0011 Date: Thu, 4 Sep 2025 13:23:09 -0500 Subject: [PATCH 10/25] Update hie.yaml --- hie.yaml | 84 ++++++++++++++++++++++++++++---------------------------- 1 file changed, 42 insertions(+), 42 deletions(-) diff --git a/hie.yaml b/hie.yaml index b48fb03..3cceaf5 100644 --- a/hie.yaml +++ b/hie.yaml @@ -9,6 +9,48 @@ cradle: - path: "./rules/debug/Paths_tensor_right.hs" component: "tensor-right:exe:rules-debug" + - path: "./rules/taso/concat/Main.hs" + component: "tensor-right:exe:rules-taso-concat" + + - path: "./rules/taso/concat/Paths_tensor_right.hs" + component: "tensor-right:exe:rules-taso-concat" + + - path: "./rules/taso/enlarge/Main.hs" + component: "tensor-right:exe:rules-taso-enlarge" + + - path: "./rules/taso/enlarge/Paths_tensor_right.hs" + component: "tensor-right:exe:rules-taso-enlarge" + + - path: "./rules/taso/ewadd/Main.hs" + component: "tensor-right:exe:rules-taso-ewadd" + + - path: "./rules/taso/ewadd/Paths_tensor_right.hs" + component: "tensor-right:exe:rules-taso-ewadd" + + - path: "./rules/taso/ewmul/Main.hs" + component: "tensor-right:exe:rules-taso-ewmul" + + - path: "./rules/taso/ewmul/Paths_tensor_right.hs" + component: "tensor-right:exe:rules-taso-ewmul" + + - path: "./rules/taso/relu/Main.hs" + component: "tensor-right:exe:rules-taso-relu" + + - path: "./rules/taso/relu/Paths_tensor_right.hs" + component: "tensor-right:exe:rules-taso-relu" + + - path: "./rules/taso/smul/Main.hs" + component: "tensor-right:exe:rules-taso-smul" + + - path: "./rules/taso/smul/Paths_tensor_right.hs" + component: "tensor-right:exe:rules-taso-smul" + + - path: "./rules/taso/transpose/Main.hs" + component: "tensor-right:exe:rules-taso-transpose" + + - path: "./rules/taso/transpose/Paths_tensor_right.hs" + component: "tensor-right:exe:rules-taso-transpose" + - path: "./rules/xla/add/Main.hs" component: "tensor-right:exe:rules-xla-add" @@ -147,47 +189,5 @@ cradle: - path: "./rules/xla/sub/Paths_tensor_right.hs" component: "tensor-right:exe:rules-xla-sub" - - path: "./rules/taso/ewadd/Main.hs" - component: "tensor-right:exe:rules-taso-ewadd" - - - path: "./rules/taso/ewadd/Paths_tensor_right.hs" - component: "tensor-right:exe:rules-taso-ewadd" - - - path: "./rules/taso/ewmul/Main.hs" - component: "tensor-right:exe:rules-taso-ewmul" - - - path: "./rules/taso/ewmul/Paths_tensor_right.hs" - component: "tensor-right:exe:rules-taso-ewmul" - - - path: "./rules/taso/smul/Main.hs" - component: "tensor-right:exe:rules-taso-smul" - - - path: "./rules/taso/smul/Paths_tensor_right.hs" - component: "tensor-right:exe:rules-taso-smul" - - - path: "./rules/taso/relu/Main.hs" - component: "tensor-right:exe:rules-taso-relu" - - - path: "./rules/taso/relu/Paths_tensor_right.hs" - component: "tensor-right:exe:rules-taso-relu" - - - path: "./rules/taso/concat/Main.hs" - component: "tensor-right:exe:rules-taso-concat" - - - path: "./rules/taso/concat/Paths_tensor_right.hs" - component: "tensor-right:exe:rules-taso-concat" - - - path: "./rules/taso/transpose/Main.hs" - component: "tensor-right:exe:rules-taso-transpose" - - - path: "./rules/taso/transpose/Paths_tensor_right.hs" - component: "tensor-right:exe:rules-taso-transpose" - - - path: "./rules/taso/enlarge/Main.hs" - component: "tensor-right:exe:rules-taso-enlarge" - - - path: "./rules/taso/enlarge/Paths_tensor_right.hs" - component: "tensor-right:exe:rules-taso-enlarge" - - path: "./test" component: "tensor-right:test:spec" From 51347fdd8f9b9e8806ed5b5d5f7b21a68dd6dbb4 Mon Sep 17 00:00:00 2001 From: jaiarora0011 Date: Thu, 4 Sep 2025 23:47:27 -0500 Subject: [PATCH 11/25] Pretty print warnings; fix runall.sh --- plot/timing_plot.py | 2 +- runall.sh | 25 +++++++++++++------------ src/TensorRight/Internal/Core/Verify.hs | 25 +++++++++++-------------- src/TensorRight/Internal/DSL/Verify.hs | 24 +++++++++--------------- src/TensorRight/Internal/Util/Pretty.hs | 12 ++++++++++++ 5 files changed, 46 insertions(+), 42 deletions(-) diff --git a/plot/timing_plot.py b/plot/timing_plot.py index ca65779..e6004db 100644 --- a/plot/timing_plot.py +++ b/plot/timing_plot.py @@ -28,7 +28,7 @@ def first_num_of_tasks(self) -> int: def overall_time(self) -> float: return sum(x.time for x in self.results) - +# TODO: Handle ANSI color escape codes def parse_file(lines: Sequence[str]) -> list[Rule]: """ The file looks like this: diff --git a/runall.sh b/runall.sh index dd92a72..5b447e3 100755 --- a/runall.sh +++ b/runall.sh @@ -10,30 +10,31 @@ run_and_capture() { LOCAL_SUCCESS=0 while IFS= read -r line; do echo "$line" 1>&2 - if [[ $line =~ ^\[SUCCESS\].* ]]; then + clean_line=$(sed -r 's/\x1B\[[0-9;]*[mK]//g' <<<"$line") + if [[ $clean_line =~ ^\[SUCCESS\].* ]]; then export LOCAL_SUCCESS=$((LOCAL_SUCCESS + 1)) - elif [[ $line =~ ^\[SUCCESS-Overall\].* ]]; then + elif [[ $clean_line =~ ^\[SUCCESS-Overall\].* ]]; then export LOCAL_SUCCESS=$((LOCAL_SUCCESS + 1)) - elif [[ $line =~ ^\[SUCCESS-.*\].* ]]; then + elif [[ $clean_line =~ ^\[SUCCESS-.*\].* ]]; then true - elif [[ $line =~ ^\[FAIL\].* ]]; then + elif [[ $clean_line =~ ^\[FAIL\].* ]]; then export LOCAL_FAILED=$((LOCAL_FAILED + 1)) - elif [[ $line =~ ^\[FAIL-Overall\].* ]]; then + elif [[ $clean_line =~ ^\[FAIL-Overall\].* ]]; then export LOCAL_FAILED=$((LOCAL_FAILED + 1)) - elif [[ $line =~ ^\[FAIL-.*\].* ]]; then + elif [[ $clean_line =~ ^\[FAIL-.*\].* ]]; then true - elif [[ $line =~ ^\[WARNING\].* ]]; then + elif [[ $clean_line =~ ^\[WARNING\].* ]]; then true - elif [[ $line =~ ^\[INFO-.*\].* ]]; then + elif [[ $clean_line =~ ^\[INFO-.*\].* ]]; then true - elif [[ $line =~ ^\[INFO\].* ]]; then + elif [[ $clean_line =~ ^\[INFO\].* ]]; then true - elif [[ $line =~ ^====\>.* ]]; then + elif [[ $clean_line =~ ^====\>.* ]]; then true - elif [[ $line =~ ^\>\>\>.* ]]; then + elif [[ $clean_line =~ ^\>\>\>.* ]]; then true else - echo "Unknown line: $line" + echo "Unknown line: $clean_line" exit 1 fi done diff --git a/src/TensorRight/Internal/Core/Verify.hs b/src/TensorRight/Internal/Core/Verify.hs index 48d6145..d4a0f24 100644 --- a/src/TensorRight/Internal/Core/Verify.hs +++ b/src/TensorRight/Internal/Core/Verify.hs @@ -66,6 +66,7 @@ import TensorRight.Internal.Core.Tensor ) import qualified TensorRight.Internal.Core.Tensor.Typed as Typed import TensorRight.Internal.Util.Error (Error, ErrorEnv, splitWithError) +import TensorRight.Internal.Util.Pretty (printWarning) getTensorWithValidityCondition :: forall a. @@ -304,11 +305,11 @@ verifyRule bil2r <- case soll2r of Left Unsat -> return True Left err -> do - putStrLn $ "[WARNING]: Verification for forall right si there do not exist multiple left si fails due to unexpected solver failure" <> show err + printWarning $ "Verification for forall right si there do not exist multiple left si fails due to unexpected solver failure" <> show err return False Right m -> do pprint m - putStrLn "[WARNING]: SI-relation is not bijective. (There exist multiple left SI for a right SI.)" + printWarning $ "SI-relation is not bijective. (There exist multiple left SI for a right SI.)" return False condr2l <- @@ -326,11 +327,11 @@ verifyRule bir2l <- case solr2l of Left Unsat -> return True Left err -> do - putStrLn $ "[WARNING]: Verification for forall left si there do not exist multiple right si fails due to unexpected solver failure" <> show err + printWarning $ "Verification for forall left si there do not exist multiple right si fails due to unexpected solver failure" <> show err return False Right m -> do pprint m - putStrLn "[WARNING]: SI-relation is not bijective. (There exist multiple right SI for a left SI.)" + printWarning $ "SI-relation is not bijective. (There exist multiple right SI for a left SI.)" return False if bil2r && bir2l @@ -351,13 +352,11 @@ verifyRule allokl <- case r of Left Unsat -> return True Left err -> do - putStrLn $ - "[WARNING]: Verification that all left si can be accessed fails due to unexpected solver failure" - <> show err + printWarning $ "Verification that all left si can be accessed fails due to unexpected solver failure" <> show err return False Right m -> do pprint m - putStrLn "[WARNING]: Some left si cannot be accessed." + printWarning $ "Some left si cannot be accessed." return False condr <- evaluate $ @@ -375,17 +374,15 @@ verifyRule allokr <- case r of Left Unsat -> return True Left err -> do - putStrLn $ - "[WARNING]: Verification that all right si can be accessed fails due to unexpected solver failure" - <> show err + printWarning $ "Verification that all right si can be accessed fails due to unexpected solver failure" <> show err return False Right m -> do pprint m - putStrLn "[WARNING]: Some right si cannot be accessed." + printWarning $ "Some right si cannot be accessed." return False unless (allokl && allokr) $ - putStrLn "[WARNING]: Some SI cannot be accessed." - else putStrLn "[WARNING]: SI-relation is not bijective." + printWarning $ "Some SI cannot be accessed." + else printWarning $ "SI-relation is not bijective." cond1 <- evaluate $ diff --git a/src/TensorRight/Internal/DSL/Verify.hs b/src/TensorRight/Internal/DSL/Verify.hs index e7f08f5..23673a8 100644 --- a/src/TensorRight/Internal/DSL/Verify.hs +++ b/src/TensorRight/Internal/DSL/Verify.hs @@ -97,6 +97,7 @@ import TensorRight.Internal.DSL.Identifier (RClassIdentifier) import TensorRight.Internal.DSL.Shape ( AbstractShape, ) +import TensorRight.Internal.Util.Pretty (printTitle, printSuccess, printFailure) verifyDSLWithNDim :: GrisetteSMTConfig -> @@ -244,7 +245,7 @@ printRewriteNameLine :: DSLContext Rewrite -> IO () printRewriteNameLine rewrite = do case getRewriteName rewrite of Left err -> fail $ T.unpack err - Right name -> putStrLn $ "====> " <> T.unpack name + Right name -> printTitle $ "====> " <> T.unpack name data Result = Result { elapsedTime :: Double, @@ -257,20 +258,13 @@ instance Semigroup Result where printResult :: Maybe String -> Result -> IO () printResult subTheory Result {..} = - putStrLn $ - ( if isRight result - then "\ESC[32m" <> "[" <> "SUCCESS" - else "\ESC[31m" <> "[" <> "FAIL" - ) - <> maybe "" ("-" <>) subTheory - <> "]: [" - <> show elapsedTime - <> "s] Verification " - <> (if isRight result then "succeeded" <> "\ESC[0m" else "failed" <> "\ESC[0m") - <> ( case result of - Right () -> "." - Left e -> " with error: " <> show e - ) + if isRight result + then printSuccess theory $ time <> " Verification succeeded." + else printFailure theory $ time <> " Verification failed with error: " <> showError result + where showError (Left e) = show e + showError (Right _) = "" + time = "[" <> show elapsedTime <> "s]" + theory = (maybe "" ("-" <>) subTheory) bracketFailure :: DSLContext Rewrite -> IO () -> IO Result diff --git a/src/TensorRight/Internal/Util/Pretty.hs b/src/TensorRight/Internal/Util/Pretty.hs index 14f27e5..3648f12 100644 --- a/src/TensorRight/Internal/Util/Pretty.hs +++ b/src/TensorRight/Internal/Util/Pretty.hs @@ -7,6 +7,9 @@ module TensorRight.Internal.Util.Pretty prettyWithConstructor, gprettyParen, printTitle, + printSuccess, + printFailure, + printWarning, ) where @@ -37,3 +40,12 @@ prettyWithConstructor n c l = printTitle :: String -> IO () printTitle s = putStrLn $ "\ESC[34m" <> s <> "\ESC[0m" + +printSuccess :: String -> String -> IO () +printSuccess theory s = putStrLn $ "\ESC[32m[SUCCESS" <> theory <> "]: " <> s <> "\ESC[0m" + +printFailure :: String -> String -> IO () +printFailure theory s = putStrLn $ "\ESC[31m[FAIL" <> theory <> "]: " <> s <> "\ESC[0m" + +printWarning :: String -> IO () +printWarning s = putStrLn $ "\ESC[33m[WARNING]: " <> s <> "\ESC[0m" From 581fb6ff9830970c1ba7e48a7ebaba30492af7dd Mon Sep 17 00:00:00 2001 From: jaiarora0011 Date: Fri, 5 Sep 2025 16:53:25 -0500 Subject: [PATCH 12/25] PrintTitle for XLA rules --- rules/xla/add/Main.hs | 8 ++++---- rules/xla/broadcast/Main.hs | 16 ++++++++-------- rules/xla/clamp/Main.hs | 6 +++--- rules/xla/compare/Main.hs | 12 ++++++------ rules/xla/concat/Main.hs | 14 +++++++------- rules/xla/conv/Main.hs | 6 +++--- rules/xla/divmod/Main.hs | 16 ++++++++-------- rules/xla/dot/Main.hs | 12 ++++++------ rules/xla/dyslice/Main.hs | 10 +++++----- rules/xla/dyupslice/Main.hs | 8 ++++---- rules/xla/iota/Main.hs | 2 +- rules/xla/logical/Main.hs | 22 +++++++++++----------- rules/xla/max/Main.hs | 4 ++-- rules/xla/mul/Main.hs | 20 ++++++++++---------- rules/xla/not/Main.hs | 4 ++-- rules/xla/pad/Main.hs | 8 ++++---- rules/xla/reduce/Main.hs | 16 ++++++++-------- rules/xla/relabel/Main.hs | 4 ++-- rules/xla/reverse/Main.hs | 8 ++++---- rules/xla/select/Main.hs | 8 ++++---- rules/xla/slice/Main.hs | 26 +++++++++++++------------- rules/xla/sub/Main.hs | 6 +++--- 22 files changed, 118 insertions(+), 118 deletions(-) diff --git a/rules/xla/add/Main.hs b/rules/xla/add/Main.hs index 722bbc7..45673bc 100644 --- a/rules/xla/add/Main.hs +++ b/rules/xla/add/Main.hs @@ -46,11 +46,11 @@ rule04 _ = do main :: IO () main = do - print "############################## rule01 ##############################" + printTitle "############################## rule01 ##############################" verifyNumDSL rule01 - print "############################## rule02 ##############################" + printTitle "############################## rule02 ##############################" verifyNumDSL rule02 - print "############################## rule03 ##############################" + printTitle "############################## rule03 ##############################" verifyNumDSL rule03 - print "############################## rule04 ##############################" + printTitle "############################## rule04 ##############################" verifyNumDSL rule04 diff --git a/rules/xla/broadcast/Main.hs b/rules/xla/broadcast/Main.hs index 4ab0a5c..444f4a9 100644 --- a/rules/xla/broadcast/Main.hs +++ b/rules/xla/broadcast/Main.hs @@ -103,19 +103,19 @@ rule08 _ = do main :: IO () main = do - print "############################## rule01 ##############################" + printTitle "############################## rule01 ##############################" verifyNumDSL rule01 - print "############################## rule02 ##############################" + printTitle "############################## rule02 ##############################" verifyNumDSL rule02 - print "############################## rule03 ##############################" + printTitle "############################## rule03 ##############################" verifyAnyDTypeDSL rule03 - print "############################## rule04 ##############################" + printTitle "############################## rule04 ##############################" verifyAnyDTypeDSL rule04 - print "############################## rule05 ##############################" + printTitle "############################## rule05 ##############################" verifyAnyDTypeDSL rule05 - print "############################## rule06 ##############################" + printTitle "############################## rule06 ##############################" verifyAnyDTypeDSL rule06 - print "############################## rule07 ##############################" + printTitle "############################## rule07 ##############################" verifyDSL rule07 - print "############################## rule08 ##############################" + printTitle "############################## rule08 ##############################" verifyAnyDTypeDSL rule08 diff --git a/rules/xla/clamp/Main.hs b/rules/xla/clamp/Main.hs index 7d3722f..0b31d79 100644 --- a/rules/xla/clamp/Main.hs +++ b/rules/xla/clamp/Main.hs @@ -52,9 +52,9 @@ rule03 _ = do main :: IO () main = do - print "############################## rule01 ##############################" + printTitle "############################## rule01 ##############################" verifyNumDSL rule01 - print "############################## rule02 ##############################" + printTitle "############################## rule02 ##############################" verifyNumDSL rule02 - print "############################## rule03 ##############################" + printTitle "############################## rule03 ##############################" verifyNumDSL rule03 diff --git a/rules/xla/compare/Main.hs b/rules/xla/compare/Main.hs index 2c0cad3..f00defc 100644 --- a/rules/xla/compare/Main.hs +++ b/rules/xla/compare/Main.hs @@ -33,15 +33,15 @@ rule06 = constructRule "Eqv(A, A) ⇒ True" Eqv True main :: IO () main = do - print "############################## rule01 ##############################" + printTitle "############################## rule01 ##############################" verifyNumDSL rule01 - print "############################## rule02 ##############################" + printTitle "############################## rule02 ##############################" verifyNumDSL rule02 - print "############################## rule03 ##############################" + printTitle "############################## rule03 ##############################" verifyNumDSL rule03 - print "############################## rule04 ##############################" + printTitle "############################## rule04 ##############################" verifyNumDSL rule04 - print "############################## rule05 ##############################" + printTitle "############################## rule05 ##############################" verifyNumDSL rule05 - print "############################## rule06 ##############################" + printTitle "############################## rule06 ##############################" verifyNumDSL rule06 diff --git a/rules/xla/concat/Main.hs b/rules/xla/concat/Main.hs index 1b1e4aa..b2be1e9 100644 --- a/rules/xla/concat/Main.hs +++ b/rules/xla/concat/Main.hs @@ -143,17 +143,17 @@ rule07 _ = do main :: IO () main = do - print "############################## rule01 ##############################" + printTitle "############################## rule01 ##############################" verifyAnyDTypeDSL rule01 - print "############################## rule02 ##############################" + printTitle "############################## rule02 ##############################" verifyAnyDTypeDSL rule02 - print "############################## rule03 ##############################" + printTitle "############################## rule03 ##############################" verifyAnyDTypeDSL rule03 - print "############################## rule04 ##############################" + printTitle "############################## rule04 ##############################" verifyAnyDTypeDSL rule04 - print "############################## rule05 ##############################" + printTitle "############################## rule05 ##############################" verifyAnyDTypeDSL rule05 - print "############################## rule06 ##############################" + printTitle "############################## rule06 ##############################" verifyAnyDTypeDSL rule06 - print "############################## rule07 ##############################" + printTitle "############################## rule07 ##############################" verifyAnyDTypeDSL rule07 diff --git a/rules/xla/conv/Main.hs b/rules/xla/conv/Main.hs index c73002e..4876bb1 100644 --- a/rules/xla/conv/Main.hs +++ b/rules/xla/conv/Main.hs @@ -459,9 +459,9 @@ rule03 _ = do main :: IO () main = do - print "############################## rule00 ##############################" + printTitle "############################## rule00 ##############################" verifyNumDSL rule00 - print "############################## rule01 ##############################" + printTitle "############################## rule01 ##############################" verifyNumDSL rule01 - print "############################## rule03 ##############################" + printTitle "############################## rule03 ##############################" verifyNumDSL rule03 diff --git a/rules/xla/divmod/Main.hs b/rules/xla/divmod/Main.hs index 8fcb094..c4f5a44 100644 --- a/rules/xla/divmod/Main.hs +++ b/rules/xla/divmod/Main.hs @@ -104,19 +104,19 @@ rule08 = do main :: IO () main = do - print "############################## rule01 ##############################" + printTitle "############################## rule01 ##############################" verifyNumDSL rule01 - print "############################## rule02 ##############################" + printTitle "############################## rule02 ##############################" verifyDSL rule02 - print "############################## rule03 ##############################" + printTitle "############################## rule03 ##############################" verifyDSL rule03 - print "############################## rule04 ##############################" + printTitle "############################## rule04 ##############################" verifyDSL rule04 - print "############################## rule05 ##############################" + printTitle "############################## rule05 ##############################" verifyDSL rule05 - print "############################## rule06 ##############################" + printTitle "############################## rule06 ##############################" verifyDSL rule06 - print "############################## rule07 ##############################" + printTitle "############################## rule07 ##############################" verifyDSLWith (withTimeout 10000000 z3) rule07 - print "############################## rule08 ##############################" + printTitle "############################## rule08 ##############################" verifyDSLWith (withTimeout 10000000 z3) rule08 diff --git a/rules/xla/dot/Main.hs b/rules/xla/dot/Main.hs index 0a12434..17f494f 100644 --- a/rules/xla/dot/Main.hs +++ b/rules/xla/dot/Main.hs @@ -207,15 +207,15 @@ rule06 _ = do main :: IO () main = do - print "############################## rule01 ##############################" + printTitle "############################## rule01 ##############################" verifyNumDSLWith cvc5 rule01 - print "############################## rule02 ##############################" + printTitle "############################## rule02 ##############################" verifyNumDSL rule02 - print "############################## rule03 ##############################" + printTitle "############################## rule03 ##############################" verifyNumDSL rule03 - print "############################## rule04 ##############################" + printTitle "############################## rule04 ##############################" verifyNumDSL rule04 - print "############################## rule05 ##############################" + printTitle "############################## rule05 ##############################" verifyNumDSL rule05 - print "############################## rule06 ##############################" + printTitle "############################## rule06 ##############################" verifyNumDSL rule06 diff --git a/rules/xla/dyslice/Main.hs b/rules/xla/dyslice/Main.hs index a1f9f91..3f32482 100644 --- a/rules/xla/dyslice/Main.hs +++ b/rules/xla/dyslice/Main.hs @@ -144,13 +144,13 @@ rule06 = do main :: IO () main = do - print "############################## rule01 ##############################" + printTitle "############################## rule01 ##############################" verifyAnyDTypeDSL rule01 - print "############################## rule02 ##############################" + printTitle "############################## rule02 ##############################" verifyAnyDTypeDSL rule02 - print "############################## rule03 ##############################" + printTitle "############################## rule03 ##############################" verifyAnyDTypeDSL rule03 - print "############################## rule04 ##############################" + printTitle "############################## rule04 ##############################" verifyAnyDTypeDSL rule04 - print "############################## rule05 ##############################" + printTitle "############################## rule05 ##############################" verifyAnyDTypeDSL rule05 diff --git a/rules/xla/dyupslice/Main.hs b/rules/xla/dyupslice/Main.hs index 3ef8446..f65cb21 100644 --- a/rules/xla/dyupslice/Main.hs +++ b/rules/xla/dyupslice/Main.hs @@ -98,11 +98,11 @@ rule04 _ = do main :: IO () main = do - print "############################## rule01 ##############################" + printTitle "############################## rule01 ##############################" verifyNumDSL rule01 - print "############################## rule02 ##############################" + printTitle "############################## rule02 ##############################" verifyAnyDTypeDSL rule02 - print "############################## rule03 ##############################" + printTitle "############################## rule03 ##############################" verifyAnyDTypeDSL rule03 - print "############################## rule04 ##############################" + printTitle "############################## rule04 ##############################" verifyAnyDTypeDSL rule04 diff --git a/rules/xla/iota/Main.hs b/rules/xla/iota/Main.hs index 4c9bc9f..a5f19c5 100644 --- a/rules/xla/iota/Main.hs +++ b/rules/xla/iota/Main.hs @@ -17,5 +17,5 @@ rule01 = do main :: IO () main = do - print "############################## rule01 ##############################" + printTitle "############################## rule01 ##############################" verifyDSL rule01 diff --git a/rules/xla/logical/Main.hs b/rules/xla/logical/Main.hs index 6a5c39a..1ac04c3 100644 --- a/rules/xla/logical/Main.hs +++ b/rules/xla/logical/Main.hs @@ -108,25 +108,25 @@ rule11 _ = do main :: IO () main = do - print "############################## rule01 ##############################" + printTitle "############################## rule01 ##############################" verifyDSL rule01 - print "############################## rule02 ##############################" + printTitle "############################## rule02 ##############################" verifyDSL rule02 - print "############################## rule03 ##############################" + printTitle "############################## rule03 ##############################" verifyDSL rule03 - print "############################## rule04 ##############################" + printTitle "############################## rule04 ##############################" verifyDSL rule04 - print "############################## rule05 ##############################" + printTitle "############################## rule05 ##############################" verifyDSL rule05 - print "############################## rule06 ##############################" + printTitle "############################## rule06 ##############################" verifyDSL rule06 - print "############################## rule07 ##############################" + printTitle "############################## rule07 ##############################" verifyDSL rule07 - print "############################## rule08 ##############################" + printTitle "############################## rule08 ##############################" verifyDSL rule08 - print "############################## rule09 ##############################" + printTitle "############################## rule09 ##############################" verifyNumDSL rule09 - print "############################## rule10 ##############################" + printTitle "############################## rule10 ##############################" verifyNumDSL rule10 - print "############################## rule11 ##############################" + printTitle "############################## rule11 ##############################" verifyNumDSL rule11 diff --git a/rules/xla/max/Main.hs b/rules/xla/max/Main.hs index eea3080..7a9a353 100644 --- a/rules/xla/max/Main.hs +++ b/rules/xla/max/Main.hs @@ -24,7 +24,7 @@ rule02 _ = do main :: IO () main = do - print "############################## rule01 ##############################" + printTitle "############################## rule01 ##############################" verifyNumDSL rule01 - print "############################## rule02 ##############################" + printTitle "############################## rule02 ##############################" verifyNumDSL rule02 diff --git a/rules/xla/mul/Main.hs b/rules/xla/mul/Main.hs index 5519bc0..2af2a82 100644 --- a/rules/xla/mul/Main.hs +++ b/rules/xla/mul/Main.hs @@ -109,23 +109,23 @@ rule10 = do main :: IO () main = do - print "############################## rule01 ##############################" + printTitle "############################## rule01 ##############################" verifyNumDSL rule01 - print "############################## rule02 ##############################" + printTitle "############################## rule02 ##############################" verifyNumDSL rule02 - print "############################## rule03 ##############################" + printTitle "############################## rule03 ##############################" verifyNumDSL rule03 - print "############################## rule04 ##############################" + printTitle "############################## rule04 ##############################" verifyNumDSL rule04 - print "############################## rule05 ##############################" + printTitle "############################## rule05 ##############################" verifyNumDSL rule05 - print "############################## rule06 ##############################" + printTitle "############################## rule06 ##############################" verifyNumDSL rule06 - print "############################## rule07 ##############################" + printTitle "############################## rule07 ##############################" verifyNumDSL rule07 - print "############################## rule08 ##############################" + printTitle "############################## rule08 ##############################" verifyNumDSL rule08 - print "############################## rule09 ##############################" + printTitle "############################## rule09 ##############################" verifyNumDSL rule09 - print "############################## rule10 ##############################" + printTitle "############################## rule10 ##############################" verifyDSLWith cvc5 rule10 diff --git a/rules/xla/not/Main.hs b/rules/xla/not/Main.hs index 35fcdc6..7c23bbb 100644 --- a/rules/xla/not/Main.hs +++ b/rules/xla/not/Main.hs @@ -23,7 +23,7 @@ rule02 _ = do main :: IO () main = do - print "############################## rule01 ##############################" + printTitle "############################## rule01 ##############################" verifyDSL rule01 - print "############################## rule02 ##############################" + printTitle "############################## rule02 ##############################" verifyNumDSL rule02 diff --git a/rules/xla/pad/Main.hs b/rules/xla/pad/Main.hs index c1f681d..fbd80f7 100644 --- a/rules/xla/pad/Main.hs +++ b/rules/xla/pad/Main.hs @@ -174,11 +174,11 @@ rule04 _ = do main :: IO () main = do - print "############################## rule01 ##############################" + printTitle "############################## rule01 ##############################" verifyAnyDTypeDSL rule01 - print "############################## rule02 ##############################" + printTitle "############################## rule02 ##############################" verifyAnyDTypeDSL rule02 - print "############################## rule03 ##############################" + printTitle "############################## rule03 ##############################" verifyAnyDTypeDSL rule03 - print "############################## rule04 ##############################" + printTitle "############################## rule04 ##############################" verifyAnyDTypeDSL rule04 diff --git a/rules/xla/reduce/Main.hs b/rules/xla/reduce/Main.hs index fd57526..7490b18 100644 --- a/rules/xla/reduce/Main.hs +++ b/rules/xla/reduce/Main.hs @@ -222,19 +222,19 @@ rule08 _ = do main :: IO () main = do - print "############################## rule01 ##############################" + printTitle "############################## rule01 ##############################" verifyNumDSL rule01 - print "############################## rule02 ##############################" + printTitle "############################## rule02 ##############################" verifyNumDSL rule02 - print "############################## rule03 ##############################" + printTitle "############################## rule03 ##############################" verifyNumDSL rule03 - print "############################## rule04 ##############################" + printTitle "############################## rule04 ##############################" verifyNumDSL rule04 - print "############################## rule05 ##############################" + printTitle "############################## rule05 ##############################" verifyNumDSL rule05 - print "############################## rule06 ##############################" + printTitle "############################## rule06 ##############################" verifyNumDSL rule06 - print "############################## rule07 ##############################" + printTitle "############################## rule07 ##############################" verifyNumDSL rule07 - print "############################## rule08 ##############################" + printTitle "############################## rule08 ##############################" verifyNumDSL rule08 diff --git a/rules/xla/relabel/Main.hs b/rules/xla/relabel/Main.hs index 86defbe..0b2ea8c 100644 --- a/rules/xla/relabel/Main.hs +++ b/rules/xla/relabel/Main.hs @@ -25,7 +25,7 @@ rule02 _ = do main :: IO () main = do - print "############################## rule01 ##############################" + printTitle "############################## rule01 ##############################" verifyAnyDTypeDSL rule01 - print "############################## rule02 ##############################" + printTitle "############################## rule02 ##############################" verifyAnyDTypeDSL rule02 diff --git a/rules/xla/reverse/Main.hs b/rules/xla/reverse/Main.hs index c3a7074..aa19231 100644 --- a/rules/xla/reverse/Main.hs +++ b/rules/xla/reverse/Main.hs @@ -63,11 +63,11 @@ rule04 _ = do main :: IO () main = do - print "############################## rule01 ##############################" + printTitle "############################## rule01 ##############################" verifyAnyDTypeDSL rule01 - print "############################## rule02 ##############################" + printTitle "############################## rule02 ##############################" verifyAnyDTypeDSL rule02 - print "############################## rule03 ##############################" + printTitle "############################## rule03 ##############################" verifyAnyDTypeDSL rule03 - print "############################## rule04 ##############################" + printTitle "############################## rule04 ##############################" verifyNumDSL rule04 diff --git a/rules/xla/select/Main.hs b/rules/xla/select/Main.hs index 498b055..3ecdc0d 100644 --- a/rules/xla/select/Main.hs +++ b/rules/xla/select/Main.hs @@ -48,11 +48,11 @@ rule04 _ = do main :: IO () main = do - print "############################## rule01 ##############################" + printTitle "############################## rule01 ##############################" verifyAnyDTypeDSL rule01 - print "############################## rule02 ##############################" + printTitle "############################## rule02 ##############################" verifyAnyDTypeDSL rule02 - print "############################## rule03 ##############################" + printTitle "############################## rule03 ##############################" verifyAnyDTypeDSL rule03 - print "############################## rule04 ##############################" + printTitle "############################## rule04 ##############################" verifyAnyDTypeDSL rule04 diff --git a/rules/xla/slice/Main.hs b/rules/xla/slice/Main.hs index 9e30457..7968f53 100644 --- a/rules/xla/slice/Main.hs +++ b/rules/xla/slice/Main.hs @@ -408,29 +408,29 @@ rule13 _ = do main :: IO () main = do - print "############################## rule01 ##############################" + printTitle "############################## rule01 ##############################" verifyAnyDTypeDSL rule01 - print "############################## rule02 ##############################" + printTitle "############################## rule02 ##############################" verifyAnyDTypeDSL rule02 - print "############################## rule03 ##############################" + printTitle "############################## rule03 ##############################" verifyAnyDTypeDSL rule03 - print "############################## rule04 ##############################" + printTitle "############################## rule04 ##############################" verifyAnyDTypeDSLWith cvc5 rule04 - print "############################## rule05 ##############################" + printTitle "############################## rule05 ##############################" verifyAnyDTypeDSL rule05 - print "############################## rule06 ##############################" + printTitle "############################## rule06 ##############################" verifyAnyDTypeDSL rule06 - print "############################## rule07 ##############################" + printTitle "############################## rule07 ##############################" verifyAnyDTypeDSL rule07 - print "############################## rule08 ##############################" + printTitle "############################## rule08 ##############################" verifyAnyDTypeDSL rule08 - print "############################## rule09 ##############################" + printTitle "############################## rule09 ##############################" verifyAnyDTypeDSL rule09 - print "############################## rule10 ##############################" + printTitle "############################## rule10 ##############################" verifyAnyDTypeDSL rule10 - print "############################## rule11 ##############################" + printTitle "############################## rule11 ##############################" verifyAnyDTypeDSL rule11 - print "############################## rule12 ##############################" + printTitle "############################## rule12 ##############################" verifyAnyDTypeDSL rule12 - print "############################## rule13 ##############################" + printTitle "############################## rule13 ##############################" verifyAnyDTypeDSLWith cvc5 rule13 diff --git a/rules/xla/sub/Main.hs b/rules/xla/sub/Main.hs index 3f47fb8..77fb35e 100644 --- a/rules/xla/sub/Main.hs +++ b/rules/xla/sub/Main.hs @@ -35,9 +35,9 @@ rule02 _ = do main :: IO () main = do - print "############################## rule00 ##############################" + printTitle "############################## rule00 ##############################" verifyNumDSL rule00 - print "############################## rule01 ##############################" + printTitle "############################## rule01 ##############################" verifyNumDSL rule01 - print "############################## rule02 ##############################" + printTitle "############################## rule02 ##############################" verifyNumDSL rule02 From 44bbbbd7998da30d4e02cfb9a23c27ddc8d94eb4 Mon Sep 17 00:00:00 2001 From: lexu27 Date: Mon, 15 Sep 2025 12:23:23 -0500 Subject: [PATCH 13/25] Merging to new branch changes --- hie.yaml | 6 + package.yaml | 6 + rules/taso/matmul/Main.hs | 206 ++++++++++++++++++ src/TensorRight/Internal/Core/Tensor/Typed.hs | 8 +- src/TensorRight/Internal/DSL/DSL.hs | 57 ++++- src/TensorRight/Internal/DSL/Shape.hs | 2 + src/TensorRight/Internal/DSL/TASO.hs | 15 +- tensor-right.cabal | 30 +++ 8 files changed, 326 insertions(+), 4 deletions(-) create mode 100644 rules/taso/matmul/Main.hs diff --git a/hie.yaml b/hie.yaml index b48fb03..275afe7 100644 --- a/hie.yaml +++ b/hie.yaml @@ -189,5 +189,11 @@ cradle: - path: "./rules/taso/enlarge/Paths_tensor_right.hs" component: "tensor-right:exe:rules-taso-enlarge" + - path: "./rules/taso/matmul/Main.hs" + component: "tensor-right:exe:rules-taso-matmul" + + - path: "./rules/taso/matmul/Paths_tensor_right.hs" + component: "tensor-right:exe:rules-taso-matmul" + - path: "./test" component: "tensor-right:test:spec" diff --git a/package.yaml b/package.yaml index b6f01e8..300f03c 100644 --- a/package.yaml +++ b/package.yaml @@ -232,6 +232,12 @@ executables: dependencies: tensor-right ghc-options: *exe-ghc-options default-extensions: *exe-extensions + rules-taso-matmul: + source-dirs: rules/taso/matmul + main: Main.hs + dependencies: tensor-right + ghc-options: *exe-ghc-options + default-extensions: *exe-extensions # Other Executables rules-debug: source-dirs: rules/debug diff --git a/rules/taso/matmul/Main.hs b/rules/taso/matmul/Main.hs new file mode 100644 index 0000000..f38ef0b --- /dev/null +++ b/rules/taso/matmul/Main.hs @@ -0,0 +1,206 @@ +module Main (main) where + +import Grisette hiding (dot, (-->)) +import TensorRight +import TensorRight.Internal.DSL.DSL (checkSIMap, siRelation) +import TensorRight.Internal.DSL.TASO (concat, ewadd, ewmul, matmul2D, relu, smul, transpose) +import Prelude hiding (concat) + +-- | Rule 1: Matrix multiplication associativity +-- ∀x, y, z. matmul(x, matmul(y, z)) = matmul(matmul(x, y), z) +matmulAssociativity :: forall a. NumRule a +matmulAssociativity _ = do + [rclassM, rclassK, rclassN, rclassP] <- newRClasses ["rclassM", "rclassK", "rclassN", "rclassP"] + sizeM <- newMap "sizeM" rclassM + sizeK <- newMap "sizeK" rclassK + sizeN <- newMap "sizeN" rclassN + sizeP <- newMap "sizeP" rclassP + + x <- newTensor @a "x" [rclassM --> sizeM, rclassK --> sizeK] + y <- newTensor @a "y" [rclassK --> sizeK, rclassN --> sizeN] -- Shared K and N + z <- newTensor @a "z" [rclassN --> sizeN, rclassP --> sizeP] -- Shared N + (yzExpr, nL) <- matmul2D y z + (xyExpr, kR) <- matmul2D x y + + (lhs, kL) <- matmul2D x yzExpr + (rhs, nR) <- matmul2D xyExpr z + + siRelation [kL, kR] $ \[l, r] -> l .== r + siRelation [nL, nR] $ \[l, r] -> l .== r + checkSIMap [kL, nL] [kR, nR] + + rewrite "matmul(x, matmul(y, z)) ⇒ matmul(matmul(x, y), z)" lhs rhs + +-- | Rule 2: Matrix multiplication is linear (scalar multiplication) +-- ∀x, y, w. smul(matmul(x, y), w) = matmul(x, smul(y, w)) +matmulScalarLinear :: forall a. NumRule a +matmulScalarLinear _ = do + let w = ("w" :: a) + [rclassM, rclassK, rclassN] <- newRClasses ["rclassM", "rclassK", "rclassN"] + sizeM <- newMap "sizeM" rclassM + sizeK <- newMap "sizeK" rclassK + sizeN <- newMap "sizeN" rclassN + + x <- newTensor @a "x" [rclassM --> sizeM, rclassK --> sizeK] + y <- newTensor @a "y" [rclassK --> sizeK, rclassN --> sizeN] + + (xy, kL) <- matmul2D x y + lhs <- smul xy w + yw <- smul y w + (rhs, kR) <- matmul2D x yw + + siRelation [kL, kR] $ \[l, r] -> l .== r + checkSIMap [kL] [kR] + + rewrite "smul(matmul(x, y), w) ⇒ matmul(x, smul(y, w))" lhs rhs + +-- | Rule 3: Matrix multiplication distributes over addition +-- ∀x, y, z. matmul(x, ewadd(y, z)) = ewadd(matmul(x, y), matmul(x, z)) +matmulDistributive :: forall a. NumRule a +matmulDistributive _ = do + [rclassM, rclassK, rclassN] <- newRClasses ["rclassM", "rclassK", "rclassN"] + sizeM <- newMap "sizeM" rclassM + sizeK <- newMap "sizeK" rclassK + sizeN <- newMap "sizeN" rclassN + + x <- newTensor @a "x" [rclassM --> sizeM, rclassK --> sizeK] + y <- newTensor @a "y" [rclassK --> sizeK, rclassN --> sizeN] + z <- newTensor @a "z" [rclassK --> sizeK, rclassN --> sizeN] + + yz <- ewadd y z + (lhs, kL) <- matmul2D x yz + (xy, kR1) <- matmul2D x y + (xz, kR2) <- matmul2D x z + rhs <- ewadd xy xz + + siRelation [kL, kR1] $ \[l, r] -> l .== r + siRelation [kL, kR2] $ \[l, r] -> l .== r + checkSIMap [kL] [kR1, kR2] + + rewrite "matmul(x, ewadd(y, z)) ⇒ ewadd(matmul(x, y), matmul(x, z))" lhs rhs + +-- | Rule 4: Matrix multiplication and transpose interaction +-- ∀x, y. transpose(matmul(x, y)) = matmul(transpose(y), transpose(x)) +matmulTranspose :: forall a. NumRule a +matmulTranspose _ = do + [rclassM, rclassK, rclassN] <- newRClasses ["rclassM", "rclassK", "rclassN"] + sizeM <- newMap "sizeM" rclassM + sizeK <- newMap "sizeK" rclassK + sizeN <- newMap "sizeN" rclassN + + -- Label axes so transpose works via label swap instead of ByRClass swap + x <- newTensor @a "x" [rclassM --> sizeM @@ "L", rclassK --> sizeK @@ "K"] + y <- newTensor @a "y" [rclassK --> sizeK @@ "K", rclassN --> sizeN @@ "R"] + (xy, kL) <- matmul2D x y -- TODO: Pass the rclass explicitly instead of inferring + lhs <- transpose xy + yt <- transpose y + xt <- transpose x + (rhs, kR) <- matmul2D yt xt + + siRelation [kL, kR] $ \[l, r] -> l .== r + checkSIMap [kL] [kR] + + rewrite "transpose(matmul(x, y)) ⇒ matmul(transpose(y), transpose(x))" lhs rhs + +-- | Rule 5: Identity matrix property +-- ∀x. matmul(x, I) = x (where I is identity matrix) +matmulIdentity :: forall a. NumRule a +matmulIdentity _ = do + [rclassM, rclassN] <- newRClasses ["rclassM", "rclassN"] + sizeM <- newMap "sizeM" rclassM + sizeN <- newMap "sizeN" rclassN + + x <- newTensor @a "x" [rclassM --> sizeM, rclassN --> sizeN] + identityRow <- iota [rclassM --> sizeM, rclassN --> sizeN] (ByRClass rclassM) + identityCol <- iota [rclassM --> sizeM, rclassN --> sizeN] (ByRClass rclassN) + identityMask <- compareOp Eqv identityRow identityCol + ones <- constant @a 1 [rclassM --> sizeM, rclassN --> sizeN] + zeros <- constant @a 0 [rclassM --> sizeM, rclassN --> sizeN] + identityMatrix <- select identityMask ones zeros + + -- Precondition: matrix must be square + precondition [sizeM, sizeN] $ \[m, n] -> m .== n + + (lhs, _) <- matmul2D x identityMatrix + let rhs = x + + monitorExprOnFailure "x" x + monitorExprOnFailure "I" identityMatrix + + rewrite "matmul(x, I) ⇒ x" lhs rhs + +-- -- | Rule 6: Concatenation and matrix multiplication (right distributive) +-- -- ∀x, y, z. concat(1, matmul(x, y), matmul(x, z)) = matmul(x, concat(1, y, z)) +matmulConcatRight :: forall a. NumRule a +matmulConcatRight _ = do + [rclassM, rclassK, rclassN] <- newRClasses ["rclassM", "rclassK", "rclassN"] + sizeM <- newMap "sizeM" rclassM + sizeK <- newMap "sizeK" rclassK + [sizeN1, sizeN2] <- newMaps ["sizeN1", "sizeN2"] rclassN + + x <- newTensor @a "x" [rclassM --> sizeM, rclassK --> sizeK] + y <- newTensor @a "y" [rclassK --> sizeK, rclassN --> sizeN1] + z <- newTensor @a "z" [rclassK --> sizeK, rclassN --> sizeN2] + + (xy, kL1) <- matmul2D x y + (xz, kL2) <- matmul2D x z + lhs <- concat (ByRClass rclassN) xy xz + yz <- concat (ByRClass rclassN) y z + (rhs, kR) <- matmul2D x yz + + siRelation [kL1, kR] $ \[l, r] -> l .== r + siRelation [kL2, kR] $ \[l, r] -> l .== r + checkSIMap [kL1, kL2] [kR] + + rewrite "concat(1, matmul(x, y), matmul(x, z)) ⇒ matmul(x, concat(1, y, z))" lhs rhs + +-- | Rule 7: Concatenation and matrix multiplication (mixed) +-- ∀x, y, z, w. matmul(concat(1, x, z), concat(0, y, w)) = ewadd(matmul(x, y), matmul(z, w)) +matmulConcatMixed :: forall a. NumRule a +matmulConcatMixed _ = do + [rclassM, rclassK, rclassN] <- newRClasses ["rclassM", "rclassK", "rclassN"] + [sizeM1, sizeM2] <- newMaps ["sizeM1", "sizeM2"] rclassM + [sizeK1, sizeK2] <- newMaps ["sizeK1", "sizeK2"] rclassK + sizeN <- newMap "sizeN" rclassN + + x <- newTensor @a "x" [rclassM --> sizeM1, rclassK --> sizeK1] + y <- newTensor @a "y" [rclassK --> sizeK1, rclassN --> sizeN] + z <- newTensor @a "z" [rclassM --> sizeM2, rclassK --> sizeK2] + w <- newTensor @a "w" [rclassK --> sizeK2, rclassN --> sizeN] + + -- Dimensions must match appropriately for concatenation and matmul + precondition [sizeM1, sizeM2] $ \[m1, m2] -> m1 .== m2 + precondition [sizeK1, sizeK2] $ \[k1, k2] -> k1 .== k2 + + xz <- concat (ByRClass rclassM) x z + yw <- concat (ByRClass rclassK) y w + (lhs, kL) <- matmul2D xz yw + (xy, kR1) <- matmul2D x y + (zw, kR2) <- matmul2D z w + rhs <- ewadd xy zw + + siRelation [kL, kR1] $ \[l, r] -> l .== r + siRelation [kL, kR2] $ \[l, r] -> l .== r + checkSIMap [kL] [kR1, kR2] + + rewrite "matmul(concat(1, x, z), concat(0, y, w)) ⇒ ewadd(matmul(x, y), matmul(z, w))" lhs rhs + +main :: IO () +main = do + printTitle "#################### matmulAssociativity ####################" + verifyNumDSL matmulAssociativity + printTitle "#################### matmulScalarLinear #####################" + verifyNumDSL matmulScalarLinear + printTitle "#################### matmulDistributive #####################" + verifyNumDSL matmulDistributive + +-- printTitle "###################### matmulTranspose ######################" +-- verifyNumDSL matmulTranspose + +-- printTitle "###################### matmulIdentity #######################" +-- verifyNumDSL matmulIdentity + +-- printTitle "#################### matmulConcatRight ######################" +-- verifyNumDSL matmulConcatRight +-- printTitle "##################### matmulConcatMixed #####################" +-- verifyNumDSL matmulConcatMixed diff --git a/src/TensorRight/Internal/Core/Tensor/Typed.hs b/src/TensorRight/Internal/Core/Tensor/Typed.hs index 7d80b90..97ec95f 100644 --- a/src/TensorRight/Internal/Core/Tensor/Typed.hs +++ b/src/TensorRight/Internal/Core/Tensor/Typed.hs @@ -381,6 +381,12 @@ numBinOp op xo yo = do case (op, xElem, yElem) of (_, TensorElemVal xSym, TensorElemVal ySym) -> do mrgReturn $ TensorElemVal $ func xSym ySym + (Add, TensorElemSum xSym, TensorElemVal ySym) -> + mrgReturn $ TensorElemSum (xSym + ySym) + (Add, TensorElemVal xSym, TensorElemSum ySym) -> + mrgReturn $ TensorElemSum (xSym + ySym) + (Add, TensorElemSum xSym, TensorElemSum ySym) -> + mrgReturn $ TensorElemSum (xSym + ySym) (Mul, TensorElemSum xSym, TensorElemVal ySym) -> mrgReturn $ TensorElemSum (xSym * ySym) (Mul, TensorElemVal xSym, TensorElemSum ySym) -> @@ -1235,4 +1241,4 @@ reshapeDegenerate to introAxes removedAxes = do (fromKVPairs ((,0) <$> HS.toList removedAxes)) originalIndices ) - newShape \ No newline at end of file + newShape diff --git a/src/TensorRight/Internal/DSL/DSL.hs b/src/TensorRight/Internal/DSL/DSL.hs index 8720436..6796e6c 100644 --- a/src/TensorRight/Internal/DSL/DSL.hs +++ b/src/TensorRight/Internal/DSL/DSL.hs @@ -71,6 +71,8 @@ module TensorRight.Internal.DSL.DSL newConstMaps, combineMap, transpose2D, + matmul2DHelper, + matmul3DHelper, twoRefsOf, twoSingletonRefsOf, transpose2DSingleton, @@ -1194,7 +1196,7 @@ dot lhs rhs contractingSIMapsDesc batchRClasses = do let lhsAllRefs = abstractShapeAllRefs shapeLhs let rhsAllRefs = abstractShapeAllRefs shapeRhs assert - ( "Contracion + batch rclasses must be exactly the interaction of lhs and " + ( "Contraction + batch rclasses must be exactly the interaction of lhs and " <> "rhs rclasses" ) $ dotAllRefs == HS.intersection lhsAllRefs rhsAllRefs @@ -1499,6 +1501,57 @@ twoRefsOf e = do then let [a, b] = refs in return (a, b) else error $ "Expected exactly 2 refs, got " ++ show (length refs) ++ ": " ++ show refs +-- | Helper function to get three aggregated axes from a 3D tensor. +-- Useful for 3D batched matrix multiplication. +threeRefsOf :: Expr -> DSLContext (RClassRef, RClassRef, RClassRef) +threeRefsOf e = do + shape <- shapeOf e + let refs = HS.toList $ abstractShapeAllRefs shape + if length refs == 3 + then let [a, b, c] = refs in return (a, b, c) + else error $ "Expected exactly 3 refs, got " ++ show (length refs) ++ ": " ++ show refs + +matmul2DHelper :: + (ExprInContext lhs, ExprInContext rhs) => + -- | The left-hand side tensor (shape [M, K]) + lhs -> + -- | The right-hand side tensor (shape [K, N]) + rhs -> + DSLContext (Expr, MapIdentifier) +matmul2DHelper lhs' rhs' = do + lhs <- liftInContext lhs' + rhs <- liftInContext rhs' + shapeLhs <- shapeOf lhs + shapeRhs <- shapeOf rhs + let shared = HS.toList $ abstractShapeAllRefs shapeLhs `HS.intersection` abstractShapeAllRefs shapeRhs + assert "matmul2D: tensors must share exactly one rclass" $ length shared == 1 + let [kRef] = shared + kRClass <- getRClassByRClassRef shapeLhs kRef + kSI <- newMap "contract" kRClass + expr <- dot lhs rhs [kRef --> kSI] [] + return (expr, kSI) + +matmul3DHelper :: + (ExprInContext lhs, ExprInContext rhs) => + -- | The left-hand side tensor (shape [B, M, K]) + lhs -> + -- | The right-hand side tensor (shape [B, K, N]) + rhs -> + DSLContext Expr +matmul3DHelper lhs' rhs' = do + lhs <- liftInContext lhs' + rhs <- liftInContext rhs' + -- Get the three axes from each tensor + (lhsBatch, _, lhsK) <- threeRefsOf lhs -- B, M, K + (_, _, _) <- threeRefsOf rhs -- B, K, N + -- Create contracting SI map for the shared K dimension + shapeLhs <- shapeOf lhs + rclassK <- getRClassByRClassRef shapeLhs lhsK + contractSI <- newMap "contractSI" rclassK + -- Contract on K dimension, batch on B dimension + -- lhsBatch should match rhsBatch, lhsK should match rhsK + dot lhs rhs [lhsK --> contractSI] [lhsBatch] + -- | Helper function for transpose2D. Ignores singleton transpose2D :: (ExprInContext e) => e -> DSLContext Expr transpose2D e' = do @@ -1524,4 +1577,4 @@ transpose2DSingleton :: (ExprInContext e) => e -> DSLContext Expr transpose2DSingleton e' = do e <- liftInContext e' (a, b) <- twoSingletonRefsOf e - relabel e [a --> b, b --> a] \ No newline at end of file + relabel e [a --> b, b --> a] diff --git a/src/TensorRight/Internal/DSL/Shape.hs b/src/TensorRight/Internal/DSL/Shape.hs index eaed752..f2ff3cb 100644 --- a/src/TensorRight/Internal/DSL/Shape.hs +++ b/src/TensorRight/Internal/DSL/Shape.hs @@ -4,6 +4,7 @@ {-# LANGUAGE DuplicateRecordFields #-} {-# LANGUAGE FlexibleContexts #-} {-# LANGUAGE FlexibleInstances #-} +{-# LANGUAGE InstanceSigs #-} {-# LANGUAGE MultiParamTypeClasses #-} {-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE RecordWildCards #-} @@ -154,6 +155,7 @@ class TensorShapeLike a where toTensorShape :: (MonadError Error m) => a -> m TensorShape instance TensorShapeLike TensorShape where + toTensorShape :: (MonadError Error m) => TensorShape -> m TensorShape toTensorShape = return instance TensorShapeLike [TensorShapeDesc] where diff --git a/src/TensorRight/Internal/DSL/TASO.hs b/src/TensorRight/Internal/DSL/TASO.hs index 6b62d72..3a5963c 100644 --- a/src/TensorRight/Internal/DSL/TASO.hs +++ b/src/TensorRight/Internal/DSL/TASO.hs @@ -21,6 +21,7 @@ module TensorRight.Internal.DSL.TASO transpose, transposeSingleton, enlarge, + matmul2D, ) where @@ -36,6 +37,7 @@ import TensorRight.Internal.DSL.DSL ValidNum, clampScalar, combineMap, + matmul2DHelper, newConstMap, newNonNegMap, numBinOp, @@ -46,6 +48,7 @@ import TensorRight.Internal.DSL.DSL transpose2DSingleton, ) import TensorRight.Internal.DSL.Expr (getRClassByMap) +import TensorRight.Internal.DSL.Identifier (MapIdentifier) import TensorRight.Internal.DSL.Parameters (ParamDesc (..)) import TensorRight.Internal.DSL.Syntax (ArrowSyntax ((-->))) import Prelude hiding (concat) @@ -163,4 +166,14 @@ enlarge (ParamDesc hRef sH) (ParamDesc wRef sW) ky kx e = do { low = [hRef --> hLow, wRef --> wLow], interior = [hRef --> zH, wRef --> zW], -- No internal padding high = [hRef --> hHigh, wRef --> wHigh] - } \ No newline at end of file + } + +-- | TASO's 2D matrix multiplication operator +matmul2D :: + (ExprInContext lhs, ExprInContext rhs) => + -- | The left-hand side tensor (shape [M, K]) + lhs -> + -- | The right-hand side tensor (shape [K, N]) + rhs -> + DSLContext (Expr, MapIdentifier) +matmul2D = matmul2DHelper \ No newline at end of file diff --git a/tensor-right.cabal b/tensor-right.cabal index a635300..65499e3 100644 --- a/tensor-right.cabal +++ b/tensor-right.cabal @@ -205,6 +205,36 @@ executable rules-taso-ewmul unordered-containers default-language: Haskell2010 +executable rules-taso-matmul + main-is: Main.hs + other-modules: + Paths_tensor_right + hs-source-dirs: + rules/taso/matmul + default-extensions: + DuplicateRecordFields + OverloadedStrings + TypeApplications + AllowAmbiguousTypes + ScopedTypeVariables + FlexibleContexts + RankNTypes + ghc-options: -threaded -rtsopts -with-rtsopts=-N + build-depends: + base >=4.14 && <5, + deepseq, + grisette ==0.11.*, + hashable, + mtl, + ordered-containers, + prettyprinter, + sbv, + template-haskell, + tensor-right, + text, + unordered-containers + default-language: Haskell2010 + executable rules-taso-relu main-is: Main.hs other-modules: From a611d29c34302b218e6869e4f54d8fc5a5262514 Mon Sep 17 00:00:00 2001 From: lexu27 Date: Tue, 16 Sep 2025 05:03:09 -0500 Subject: [PATCH 14/25] Added rank precondition --- rules/taso/transpose/Main.hs | 112 +----------------- src/TensorRight/Internal/Core/Verify.hs | 3 +- .../Internal/DSL/BoundInference.hs | 18 ++- src/TensorRight/Internal/DSL/DSL.hs | 57 ++++----- src/TensorRight/Internal/DSL/Expr.hs | 4 +- src/TensorRight/Internal/DSL/TASO.hs | 9 -- src/TensorRight/Internal/DSL/Verify.hs | 35 +++--- test/Core/TensorTest.hs | 2 +- 8 files changed, 57 insertions(+), 183 deletions(-) diff --git a/rules/taso/transpose/Main.hs b/rules/taso/transpose/Main.hs index 1e0e783..12c910b 100644 --- a/rules/taso/transpose/Main.hs +++ b/rules/taso/transpose/Main.hs @@ -2,8 +2,8 @@ module Main (main) where import Grisette hiding ((-->)) import TensorRight -import TensorRight.Internal.DSL.DSL (transpose2DSingleton, twoRefsOf, twoSingletonRefsOf) -import TensorRight.Internal.DSL.TASO (concat, ewadd, ewmul, relu, smul, transpose, transposeSingleton) +import TensorRight.Internal.DSL.DSL (twoRefsOf) +import TensorRight.Internal.DSL.TASO (concat, ewadd, ewmul, relu, smul, transpose) import Prelude hiding (concat) -- ############################# (Rewrite rules not enforcing singleton) ############################ @@ -93,98 +93,6 @@ transposeConcat _ = do rhs <- transpose (concat axis0 x y) rewrite "concat(1, transpose(x), transpose(y)) ⇒ transpose(concat(0, x, y))" lhs rhs --- -- ############################# (Rewrite rules enforcing singleton) ############################ --- ############################# (Rewrite rules enforcing singleton) ############################ --- Desugaring for TASO singleton transpose -desugarTransposeSingleton :: forall a. AnyDTypeRule a -desugarTransposeSingleton _ = do - rclass <- newRClass "rclassS" - s1 <- newMap "s1S" rclass - s2 <- newMap "s2S" rclass - tA <- newTensor @a "A" [rclass --> s1 @@ "L", rclass --> s2 @@ "R"] - _ <- iota [rclass --> s1] (ByRClass rclass) - lhs <- transposeSingleton tA - rhs <- relabel tA [ByLabel "L" --> ByLabel "R", ByLabel "R" --> ByLabel "L"] - rewrite "transposeSingleton(A) ⇒ relabel(A, swap)" lhs rhs - -inverseSingleton :: forall a. AnyDTypeRule a -inverseSingleton _ = do - rclass <- newRClass "rclassS" - s1 <- newMap "s1S" rclass - s2 <- newMap "s2S" rclass - tA <- newTensor @a "A" [rclass --> s1 @@ "L", rclass --> s2 @@ "R"] - _ <- iota [rclass --> s1] (ByRClass rclass) - lhs <- transposeSingleton $ transposeSingleton tA - rewrite "transposeSingleton(transposeSingleton(A)) ⇒ A" lhs tA - --- transposeSingleton(ewadd(x, y)) = ewadd(transposeSingleton(x), transposeSingleton(y)) -transposeSingletonEwadd :: forall a. NumRule a -transposeSingletonEwadd _ = do - r <- newRClass "rS" - sL <- newMap "sLS" r - sR <- newMap "sRS" r - _ <- iota [r --> sL] (ByRClass r) - x <- newTensor @a "x" [r --> sL @@ "L", r --> sR @@ "R"] - y <- newTensor @a "y" [r --> sL @@ "L", r --> sR @@ "R"] - lhs <- transposeSingleton (ewadd x y) - rhs <- ewadd (transposeSingleton x) (transposeSingleton y) - rewrite "transposeSingleton(ewadd(x,y)) ⇒ ewadd(transposeSingleton(x), transposeSingleton(y))" lhs rhs - --- transposeSingleton(ewmul(x, y)) = ewmul(transposeSingleton(x), transposeSingleton(y)) -transposeSingletonEwmul :: forall a. NumRule a -transposeSingletonEwmul _ = do - r <- newRClass "rS" - sL <- newMap "sLS" r - sR <- newMap "sRS" r - _ <- iota [r --> sL] (ByRClass r) - x <- newTensor @a "x" [r --> sL @@ "L", r --> sR @@ "R"] - y <- newTensor @a "y" [r --> sL @@ "L", r --> sR @@ "R"] - lhs <- transposeSingleton (ewmul x y) - rhs <- ewmul (transposeSingleton x) (transposeSingleton y) - rewrite "transposeSingleton(ewmul(x,y)) ⇒ ewmul(transposeSingleton(x), transposeSingleton(y))" lhs rhs - --- transposeSingleton(smul(x, w)) = smul(transposeSingleton(x), w) -transposeSingletonSmul :: forall a. NumRule a -transposeSingletonSmul _ = do - r <- newRClass "rS" - sL <- newMap "sLS" r - sR <- newMap "sRS" r - _ <- iota [r --> sL] (ByRClass r) - x <- newTensor @a "x" [r --> sL @@ "L", r --> sR @@ "R"] - let w = ("w" :: a) - lhs <- transposeSingleton (smul x w) - rhs <- smul (transposeSingleton x) w - rewrite "transposeSingleton(smul(x,w)) ⇒ smul(transposeSingleton(x), w)" lhs rhs - --- transposeSingleton(relu(x)) = relu(transposeSingleton(x)) -transposeSingletonRelu :: forall a. NumRule a -transposeSingletonRelu _ = do - r <- newRClass "rS" - sL <- newMap "sLS" r - sR <- newMap "sRS" r - _ <- iota [r --> sL] (ByRClass r) - x <- newTensor @a "x" [r --> sL @@ "L", r --> sR @@ "R"] - lhs <- transposeSingleton (relu @a x) - rhs <- relu @a (transposeSingleton x) - rewrite "transposeSingleton(relu(x)) ⇒ relu(transposeSingleton(x))" lhs rhs - --- concat(1, transposeSingleton(x), transposeSingleton(y)) = transposeSingleton(concat(0, x, y)) -transposeSingletonConcat :: forall a. AnyDTypeRule a -transposeSingletonConcat _ = do - r <- newRClass "rS" - sLx <- newMap "sLxS" r - sRx <- newMap "sRxS" r - sLy <- newMap "sLyS" r - sRy <- newMap "sRyS" r - _ <- iota [r --> sLx] (ByRClass r) - x <- newTensor @a "x" [r --> sLx @@ "L", r --> sRx @@ "R"] - y <- newTensor @a "y" [r --> sLy @@ "L", r --> sRy @@ "R"] - let axis1 = ByLabel "R" - let axis0 = ByLabel "L" - lhs <- concat axis1 (transposeSingleton x) (transposeSingleton y) - rhs <- transposeSingleton (concat axis0 x y) - rewrite "concat(1, transposeSingleton(x), transposeSingleton(y)) ⇒ transposeSingleton(concat(0, x, y))" lhs rhs - main :: IO () main = do printTitle "######################## desugarTranspose ########################" @@ -200,18 +108,4 @@ main = do printTitle "######################## transposeRelu ###########################" verifyNumDSL transposeRelu printTitle "######################## transposeConcat #########################" - verifyNumDSL transposeConcat - printTitle "######################## desugarTransposeSingleton ###############" - verifyNumDSL desugarTransposeSingleton - printTitle "######################## inverseSingleton ########################" - verifyNumDSL inverseSingleton - printTitle "######################## transposeSingletonEwadd #################" - verifyNumDSL transposeSingletonEwadd - printTitle "######################## transposeSingletonEwmul #################" - verifyNumDSL transposeSingletonEwmul - printTitle "######################## transposeSingletonSmul ##################" - verifyNumDSL transposeSingletonSmul - printTitle "######################## transposeSingletonRelu ##################" - verifyNumDSL transposeSingletonRelu - printTitle "######################## transposeSingletonConcat ################" - verifyNumDSL transposeSingletonConcat \ No newline at end of file + verifyNumDSL transposeConcat \ No newline at end of file diff --git a/src/TensorRight/Internal/Core/Verify.hs b/src/TensorRight/Internal/Core/Verify.hs index d4a0f24..86ddb67 100644 --- a/src/TensorRight/Internal/Core/Verify.hs +++ b/src/TensorRight/Internal/Core/Verify.hs @@ -381,7 +381,8 @@ verifyRule printWarning $ "Some right si cannot be accessed." return False unless (allokl && allokr) $ - printWarning $ "Some SI cannot be accessed." + printWarning $ + "Some SI cannot be accessed." else printWarning $ "SI-relation is not bijective." cond1 <- diff --git a/src/TensorRight/Internal/DSL/BoundInference.hs b/src/TensorRight/Internal/DSL/BoundInference.hs index d30e9b7..ccbafd5 100644 --- a/src/TensorRight/Internal/DSL/BoundInference.hs +++ b/src/TensorRight/Internal/DSL/BoundInference.hs @@ -229,15 +229,13 @@ groupAccessByTensors = groupBy (on (==) termTensor) . sortOn termTensor inferBound :: GrisetteSMTConfig -> VerifyTask -> - HS.HashSet RClassIdentifier -> - HS.HashSet RClassIdentifier -> + HM.HashMap RClassIdentifier Int -> AbstractShape -> - IO (HM.HashMap RClassIdentifier Int) + IO (HM.HashMap RClassIdentifier (Int, Int)) inferBound solverConfig (VerifyTask _ lhs rhs pre siRelation _ _ _ _ _ _ _ _ _) - nonSingletonRClasses - singletonRClasses + rankConditions sp = do let preCond = pre when (preCond == con False) $ @@ -291,12 +289,10 @@ inferBound max 1 $ kFromAllAccesses rclass + numHasRClassInGroup rclass (HS.toList filteredConditions) - return $ - HM.fromList $ - ( (\rclass -> (rclass, kForRClass rclass)) - <$> HS.toList (nonSingletonRClasses `HS.difference` singletonRClasses) - ) - <> ((,1) <$> HS.toList singletonRClasses) + let rclassesInShape = HS.toList $ unlabelled sp <> HS.fromList (HM.elems (labelled sp)) + let baseBounds = HM.fromList $ (\rclass -> (rclass, (1, kForRClass rclass))) <$> rclassesInShape + let applyExact acc (r, k) = HM.insert r (k, k) acc + return $ foldl applyExact baseBounds (HM.toList rankConditions) abstractShapeAccess :: AbstractShape -> Indices abstractShapeAccess AbstractShape {..} = do diff --git a/src/TensorRight/Internal/DSL/DSL.hs b/src/TensorRight/Internal/DSL/DSL.hs index 6796e6c..063924f 100644 --- a/src/TensorRight/Internal/DSL/DSL.hs +++ b/src/TensorRight/Internal/DSL/DSL.hs @@ -36,6 +36,7 @@ module TensorRight.Internal.DSL.DSL newTensor, numBinOp, boolBinOp, + rankPrecondition, reduce, siRelation, precondition, @@ -60,6 +61,7 @@ module TensorRight.Internal.DSL.DSL boolUnaryOp, convBase, conv, + newSingletonRClass, monitorExprOnFailure, monitorMapOnFailure, clamp, @@ -74,8 +76,6 @@ module TensorRight.Internal.DSL.DSL matmul2DHelper, matmul3DHelper, twoRefsOf, - twoSingletonRefsOf, - transpose2DSingleton, Padding (..), ConvConfig (..), ConvPadding (..), @@ -131,7 +131,7 @@ import TensorRight.Internal.DSL.Expr ConvPaddingArgsExpr (ConvPaddingArgsExpr, high, ldilation, low, rdilation), DSLContext, DySliceArgsExpr (DySliceArgsExpr, sizes, start), - Env (Env, lhsSIMaps, numTensorAssumptions), + Env (..), Expr, NumTensorAssumption (NumTensorAssumption), PaddingArgsExpr (PaddingArgsExpr, high, interior, low), @@ -185,7 +185,6 @@ import TensorRight.Internal.DSL.Expr rhsSIMaps, runDSLContext, siRelations, - singletonRClasses, tensorDTypes, tensorShapes, validTensorShape, @@ -399,6 +398,23 @@ precondition :: DSLContext () precondition maps = precondition' maps . zipCondition +-- | Declare an exact rank for an RClass. Sets rankConditions[rclass] = k. +rankPrecondition :: + RClassIdentifier -> + Int -> + DSLContext () +rankPrecondition rclass k = do + assert "rankPrecondition: k must be >= 1" (k >= 1) + env <- get + case HM.lookup rclass (rankConditions env) of + Just k' -> assert "Conflicting rankPrecondition for the same RClass" (k' == k) + Nothing -> return () + put $ env {rankConditions = HM.insert rclass k (rankConditions env)} + +-- | Mark an existing RClass as singleton (exact rank 1). +newSingletonRClass :: RClassIdentifier -> DSLContext () +newSingletonRClass r = rankPrecondition r 1 + -- | Add an SI relation to rewriting rule. -- It is similar to 'precondition', but it is used to specify the SI relations. siRelation' :: @@ -680,8 +696,7 @@ iota shapeDesc d = do validTensorShape shape let abstractShape = toAbstractShape shape rclass <- getRClassByRClassRef abstractShape d - env <- get - put $ env {singletonRClasses = HS.insert rclass (singletonRClasses env)} + newSingletonRClass rclass return (abstractShape, IntType) -- | The named arguments to the 'slice' operation. @@ -1104,8 +1119,7 @@ concatTensor lhs' rhs' d = do assert "lhs and rhs must have the same rclasses" $ shapeLhs == shapeRhs assert "lhs and rhs must have the same type" $ tyLhs == tyRhs rclass <- getRClassByRClassRef shapeLhs d - env <- get - put $ env {singletonRClasses = HS.insert rclass (singletonRClasses env)} + newSingletonRClass rclass return (shapeLhs, tyLhs) -- | Concatenate a list of tensors. @@ -1125,8 +1139,7 @@ concatTensorList exprs' d = do assert "All tensors in concatList must have the same RClasses" $ all (== head shapes) shapes assert "All tensors in concatList must have the same type" $ all (== head tys) tys rclass <- getRClassByRClassRef (head shapes) d - env <- get - put $ env {singletonRClasses = HS.insert rclass (singletonRClasses env)} + newSingletonRClass rclass return (head shapes, head tys) -- | Relabel operation. @@ -1552,29 +1565,9 @@ matmul3DHelper lhs' rhs' = do -- lhsBatch should match rhsBatch, lhsK should match rhsK dot lhs rhs [lhsK --> contractSI] [lhsBatch] --- | Helper function for transpose2D. Ignores singleton +-- | Helper function for transpose2D. transpose2D :: (ExprInContext e) => e -> DSLContext Expr transpose2D e' = do e <- liftInContext e' (a, b) <- twoRefsOf e - relabel e [a --> b, b --> a] - --- | Gets the two aggregated axes from a strictly-2D tensor where --- both underlying RClasses are singleton. -twoSingletonRefsOf :: Expr -> DSLContext (RClassRef, RClassRef) -twoSingletonRefsOf e = do - shape <- shapeOf e - (a, b) <- twoRefsOf e - ra <- getRClassByRClassRef shape a - rb <- getRClassByRClassRef shape b - env <- get - let singletons = singletonRClasses env - assert "transpose2D: both rclasses must be singleton" $ HS.member ra singletons && HS.member rb singletons - return (a, b) - --- | Strict 2D transpose: only allowed when both axes are singleton. -transpose2DSingleton :: (ExprInContext e) => e -> DSLContext Expr -transpose2DSingleton e' = do - e <- liftInContext e' - (a, b) <- twoSingletonRefsOf e - relabel e [a --> b, b --> a] + relabel e [a --> b, b --> a] \ No newline at end of file diff --git a/src/TensorRight/Internal/DSL/Expr.hs b/src/TensorRight/Internal/DSL/Expr.hs index 02d91dc..8dae974 100644 --- a/src/TensorRight/Internal/DSL/Expr.hs +++ b/src/TensorRight/Internal/DSL/Expr.hs @@ -617,10 +617,10 @@ data Env = Env exprAbstractShapes :: HM.HashMap Int AbstractShape, exprDTypes :: HM.HashMap Int DType, preConditions :: [Condition], + rankConditions :: HM.HashMap RClassIdentifier Int, numTensorAssumptions :: [NumTensorAssumption], siMaps :: HS.HashSet MapIdentifier, siRelations :: [Condition], - singletonRClasses :: HS.HashSet RClassIdentifier, monitoringExprs :: [(T.Text, Expr)], monitoringMaps :: [(T.Text, RClassRef, MapIdentifier)], lhsSIMaps :: HS.HashSet MapIdentifier, @@ -643,10 +643,10 @@ emptyEnv = HM.empty HM.empty [] + HM.empty [] HS.empty [] - HS.empty [] [] HS.empty diff --git a/src/TensorRight/Internal/DSL/TASO.hs b/src/TensorRight/Internal/DSL/TASO.hs index 3a5963c..421d905 100644 --- a/src/TensorRight/Internal/DSL/TASO.hs +++ b/src/TensorRight/Internal/DSL/TASO.hs @@ -19,7 +19,6 @@ module TensorRight.Internal.DSL.TASO relu, concat, transpose, - transposeSingleton, enlarge, matmul2D, ) @@ -45,7 +44,6 @@ import TensorRight.Internal.DSL.DSL pad, precondition, transpose2D, - transpose2DSingleton, ) import TensorRight.Internal.DSL.Expr (getRClassByMap) import TensorRight.Internal.DSL.Identifier (MapIdentifier) @@ -112,13 +110,6 @@ transpose :: DSLContext Expr transpose = transpose2D -transposeSingleton :: - (ExprInContext e) => - -- | The tensor to transpose - e -> - DSLContext Expr -transposeSingleton = transpose2DSingleton - -- | TASO's enlarge operator enlarge :: forall a e. diff --git a/src/TensorRight/Internal/DSL/Verify.hs b/src/TensorRight/Internal/DSL/Verify.hs index 23673a8..18c803a 100644 --- a/src/TensorRight/Internal/DSL/Verify.hs +++ b/src/TensorRight/Internal/DSL/Verify.hs @@ -57,8 +57,8 @@ import TensorRight.Internal.DSL.DSL lhsSIMaps, numTensorAssumptions, preConditions, + rankConditions, rhsSIMaps, - singletonRClasses, tensorShapes ), ValidElem, @@ -97,7 +97,7 @@ import TensorRight.Internal.DSL.Identifier (RClassIdentifier) import TensorRight.Internal.DSL.Shape ( AbstractShape, ) -import TensorRight.Internal.Util.Pretty (printTitle, printSuccess, printFailure) +import TensorRight.Internal.Util.Pretty (printFailure, printSuccess, printTitle) verifyDSLWithNDim :: GrisetteSMTConfig -> @@ -211,6 +211,9 @@ verifyDSLWithNDim solverConfig rewrite Env {..} ndim = do else mempty ) maps + + let singletonRClasses = HS.fromList [r | (r, k) <- HM.toList rankConditions, k == 1] + let nonSingletonRClasses = declaredRClasses `HS.difference` singletonRClasses return ( VerifyTask solverConfig @@ -227,7 +230,7 @@ verifyDSLWithNDim solverConfig rewrite Env {..} ndim = do otherSISymbols monitoringTensors monitoringSizes, - declaredRClasses `HS.difference` singletonRClasses, + nonSingletonRClasses, singletonRClasses, exprAbstractShapes HM.! exprId (lhs rewrite) ) @@ -261,10 +264,11 @@ printResult subTheory Result {..} = if isRight result then printSuccess theory $ time <> " Verification succeeded." else printFailure theory $ time <> " Verification failed with error: " <> showError result - where showError (Left e) = show e - showError (Right _) = "" - time = "[" <> show elapsedTime <> "s]" - theory = (maybe "" ("-" <>) subTheory) + where + showError (Left e) = show e + showError (Right _) = "" + time = "[" <> show elapsedTime <> "s]" + theory = maybe "" ("-" <>) subTheory bracketFailure :: DSLContext Rewrite -> IO () -> IO Result @@ -295,15 +299,10 @@ verifyDSLWithImpl solverConfig theoryInfo rewrite = do Right (rewrite, env) -> do putStrLn $ "Verifying rule " <> T.unpack (name rewrite) let bound0 = baseRClassBound0 rewrite env - (task, nonSingletonRClasses, singletonRClasses, shape) <- + (_task, _nonSingletonRClasses, _singletonRClasses, shape) <- verifyDSLWithNDim solverConfig rewrite env bound0 inferredBound <- - inferBound - solverConfig - task - nonSingletonRClasses - singletonRClasses - shape + inferBound solverConfig _task (rankConditions env) shape putStrLn $ "Inferred bounds: " <> show inferredBound putStrLn $ "[INFO" @@ -314,19 +313,19 @@ verifyDSLWithImpl solverConfig theoryInfo rewrite = do "[INFO" <> maybe "" ("-" <>) theoryInfo <> "]: Number of bounded verification tasks: " - <> show (product inferredBound) + <> show (product $ fmap (\(l, u) -> u - l + 1) inferredBound) let ndims = allNdims $ HM.toList inferredBound let fst4 (a, _, _, _) = a traverse_ (verifyDSLWithNDim solverConfig rewrite env >=> verifyRule . fst4) ndims where - allNdims :: [(RClassIdentifier, Int)] -> [HM.HashMap RClassIdentifier Int] + allNdims :: [(RClassIdentifier, (Int, Int))] -> [HM.HashMap RClassIdentifier Int] allNdims inferredBoundList = HM.fromList <$> traverse - ( \(rclassIdent, bound) -> - [(rclassIdent, i) | i <- [1 .. bound]] + ( \(rclassIdent, (lower, upper)) -> + [(rclassIdent, i) | i <- [lower .. upper]] ) inferredBoundList diff --git a/test/Core/TensorTest.hs b/test/Core/TensorTest.hs index 3e3d75b..50f00f6 100644 --- a/test/Core/TensorTest.hs +++ b/test/Core/TensorTest.hs @@ -17,7 +17,7 @@ import Grisette ITEOp (symIte), LogicalOp ((.&&)), SimpleMergeable, - Solvable (con, isym, ssym), + Solvable (con, ssym), SymBool, SymEq ((.==)), SymInteger, From 220cdac94de4a1f1b18d3c5474bd3117eab1c3b1 Mon Sep 17 00:00:00 2001 From: lexu27 Date: Tue, 16 Sep 2025 07:27:00 -0500 Subject: [PATCH 15/25] Fixed a bug in rankConditions --- .../Internal/DSL/BoundInference.hs | 13 +++++++---- src/TensorRight/Internal/DSL/Verify.hs | 22 +++++++++---------- 2 files changed, 20 insertions(+), 15 deletions(-) diff --git a/src/TensorRight/Internal/DSL/BoundInference.hs b/src/TensorRight/Internal/DSL/BoundInference.hs index ccbafd5..63ba9a2 100644 --- a/src/TensorRight/Internal/DSL/BoundInference.hs +++ b/src/TensorRight/Internal/DSL/BoundInference.hs @@ -229,12 +229,14 @@ groupAccessByTensors = groupBy (on (==) termTensor) . sortOn termTensor inferBound :: GrisetteSMTConfig -> VerifyTask -> + HS.HashSet RClassIdentifier -> HM.HashMap RClassIdentifier Int -> AbstractShape -> IO (HM.HashMap RClassIdentifier (Int, Int)) inferBound solverConfig (VerifyTask _ lhs rhs pre siRelation _ _ _ _ _ _ _ _ _) + nonFixedRClasses rankConditions sp = do let preCond = pre @@ -289,10 +291,13 @@ inferBound max 1 $ kFromAllAccesses rclass + numHasRClassInGroup rclass (HS.toList filteredConditions) - let rclassesInShape = HS.toList $ unlabelled sp <> HS.fromList (HM.elems (labelled sp)) - let baseBounds = HM.fromList $ (\rclass -> (rclass, (1, kForRClass rclass))) <$> rclassesInShape - let applyExact acc (r, k) = HM.insert r (k, k) acc - return $ foldl applyExact baseBounds (HM.toList rankConditions) + + let fixedRClasses = HM.keysSet rankConditions + let inferredBounds = + HM.fromList $ + (\rclass -> (rclass, (1, kForRClass rclass))) + <$> HS.toList (nonFixedRClasses `HS.difference` fixedRClasses) + return $ HM.union inferredBounds (HM.map (\k -> (k, k)) rankConditions) abstractShapeAccess :: AbstractShape -> Indices abstractShapeAccess AbstractShape {..} = do diff --git a/src/TensorRight/Internal/DSL/Verify.hs b/src/TensorRight/Internal/DSL/Verify.hs index 18c803a..3b6ff41 100644 --- a/src/TensorRight/Internal/DSL/Verify.hs +++ b/src/TensorRight/Internal/DSL/Verify.hs @@ -212,8 +212,8 @@ verifyDSLWithNDim solverConfig rewrite Env {..} ndim = do ) maps - let singletonRClasses = HS.fromList [r | (r, k) <- HM.toList rankConditions, k == 1] - let nonSingletonRClasses = declaredRClasses `HS.difference` singletonRClasses + let fixedRClasses = HM.keysSet rankConditions + let nonFixedRClasses = declaredRClasses `HS.difference` fixedRClasses return ( VerifyTask solverConfig @@ -230,8 +230,8 @@ verifyDSLWithNDim solverConfig rewrite Env {..} ndim = do otherSISymbols monitoringTensors monitoringSizes, - nonSingletonRClasses, - singletonRClasses, + nonFixedRClasses, + fixedRClasses, exprAbstractShapes HM.! exprId (lhs rewrite) ) @@ -299,22 +299,22 @@ verifyDSLWithImpl solverConfig theoryInfo rewrite = do Right (rewrite, env) -> do putStrLn $ "Verifying rule " <> T.unpack (name rewrite) let bound0 = baseRClassBound0 rewrite env - (_task, _nonSingletonRClasses, _singletonRClasses, shape) <- + (task, nonSingletonRClasses, _singletonRClasses, shape) <- verifyDSLWithNDim solverConfig rewrite env bound0 - inferredBound <- - inferBound solverConfig _task (rankConditions env) shape - putStrLn $ "Inferred bounds: " <> show inferredBound + inferredBounds <- + inferBound solverConfig task nonSingletonRClasses (rankConditions env) shape + putStrLn $ "Inferred bounds: " <> show inferredBounds putStrLn $ "[INFO" <> maybe "" ("-" <>) theoryInfo <> "]: Inferred bounds: " - <> show inferredBound + <> show inferredBounds putStrLn $ "[INFO" <> maybe "" ("-" <>) theoryInfo <> "]: Number of bounded verification tasks: " - <> show (product $ fmap (\(l, u) -> u - l + 1) inferredBound) - let ndims = allNdims $ HM.toList inferredBound + <> show (product $ fmap (\(l, u) -> u - l + 1) inferredBounds) + let ndims = allNdims $ HM.toList inferredBounds let fst4 (a, _, _, _) = a traverse_ (verifyDSLWithNDim solverConfig rewrite env >=> verifyRule . fst4) From 1c8d22d6b6340aec41ebe88cb58998d006016bcc Mon Sep 17 00:00:00 2001 From: lexu27 Date: Wed, 1 Oct 2025 19:55:21 -0500 Subject: [PATCH 16/25] Fixed intractible verification for enlarge --- rules/taso/concat/Main.hs | 46 +------ rules/taso/enlarge/Main.hs | 25 ++-- rules/taso/matmul/Main.hs | 117 +++++++++++------- rules/taso/transpose/Main.hs | 16 +-- src/TensorRight/Internal/Core/Tensor/Typed.hs | 3 + src/TensorRight/Internal/DSL/DSL.hs | 65 ++++++---- src/TensorRight/Internal/DSL/TASO.hs | 72 ++++++++--- 7 files changed, 195 insertions(+), 149 deletions(-) diff --git a/rules/taso/concat/Main.hs b/rules/taso/concat/Main.hs index 7439b15..eb854e0 100644 --- a/rules/taso/concat/Main.hs +++ b/rules/taso/concat/Main.hs @@ -5,8 +5,8 @@ import TensorRight import TensorRight.Internal.DSL.TASO (concat, ewadd, ewmul, relu, smul) import Prelude hiding (concat) -desugarOneRole :: forall a. NumRule a -- Concate with only one rclass -desugarOneRole _ = do +desugar :: forall a. NumRule a +desugar _ = do r <- newRClass "r" [sa, sb] <- newMaps ["sa", "sb"] r a <- newTensor @a "A" [r --> sa] @@ -16,40 +16,6 @@ desugarOneRole _ = do rhs <- concatTensor a b d rewrite "concat(d, A, B) ⇒ Concatenate((A, B), d)" lhs rhs -desugarMultiRole :: forall a. NumRule a -- Concatenate with multiple Rclasses -desugarMultiRole _ = do - [batch, cat, spatial] <- newRClasses ["batch", "cat", "spatial"] - bS <- newMap "bS" batch - [cSa, cSb] <- newMaps ["cSa", "cSb"] cat - sS <- newMap "sS" spatial - a <- newTensor @a "A" [batch --> bS, cat --> cSa, spatial --> sS] - b <- newTensor @a "B" [batch --> bS, cat --> cSb, spatial --> sS] - let d = ByRClass cat - lhs <- concat d a b - rhs <- concatTensor a b d - rewrite "concat(d, A, B) ⇒ Concatenate((A, B), d)" lhs rhs - -desugarLabelledCopy :: forall a. NumRule a -- Concatenate with duplicate RClasses -desugarLabelledCopy _ = do - r <- newRClass "r" - [sL, sRa, sRb] <- newMaps ["sL", "sRa", "sRb"] r - a <- newTensor @a "A" [r --> sL @@ "L", r --> sRa @@ "R"] - b <- newTensor @a "B" [r --> sL @@ "L", r --> sRb @@ "R"] - let d = ByLabel "R" - lhs <- concat d a b - rhs <- concatTensor a b d - rewrite "concat(d, A, B) ⇒ Concatenate((A, B), d)" lhs rhs - -desugarConcatList :: forall a. NumRule a -desugarConcatList _ = do - r <- newRClass "r" - s <- newMap "s" r - xs <- traverse (\n -> newTensor @a n [r --> s]) ["X", "Y", "Z"] - lhs1 <- concat (ByRClass r) (xs !! 0) (xs !! 1) - lhs <- concat (ByRClass r) lhs1 (xs !! 2) - rhs <- concatTensorList xs (ByRClass r) - rewrite "concat(concat(X, Y), Z) ⇒ concatTensorList(X, Y, Z)" lhs rhs - smulAssociativity :: forall a. NumRule a smulAssociativity _ = do let w = ("w" :: a) @@ -116,13 +82,7 @@ geometry _ = do main :: IO () main = do printTitle "######################## desugarOneRole ########################" - verifyNumDSL desugarOneRole - printTitle "######################## desugarMultiRole ######################" - verifyNumDSL desugarMultiRole - printTitle "######################## desugarLabelledCopy ###################" - verifyNumDSL desugarLabelledCopy - printTitle "######################## desugarConcatList #####################" - verifyNumDSL desugarConcatList + verifyNumDSL desugar printTitle "######################## smulAssociativity #####################" verifyNumDSL smulAssociativity printTitle "######################## ewaddAssociativity ####################" diff --git a/rules/taso/enlarge/Main.hs b/rules/taso/enlarge/Main.hs index 0947627..fe0b744 100644 --- a/rules/taso/enlarge/Main.hs +++ b/rules/taso/enlarge/Main.hs @@ -2,35 +2,42 @@ module Main (main) where import Grisette hiding ((-->)) import TensorRight -import TensorRight.Internal.DSL.TASO (enlarge) +import TensorRight.Internal.DSL.DSL (newSingletonRClass) +import TensorRight.Internal.DSL.TASO desugarEnlarge :: forall a. NumRule a desugarEnlarge _ = do - rclass <- newRClass "rclass" + rclass <- newSingletonRClass "rclass" [n, c, h, w] <- newMaps ["n", "c", "h", "w"] rclass tA <- newTensor @a "A" [rclass --> n @@ "N", rclass --> c @@ "C", rclass --> h @@ "H", rclass --> w @@ "W"] let kx = ssym "kx" :: SymInteger let ky = ssym "ky" :: SymInteger - lhs <- enlarge @a (ByLabel "H" --> h) (ByLabel "W" --> w) ky kx tA + -- Prepare shared low padding maps to be used by both LHS and RHS + hLow <- newNonNegMap "hLow" rclass + wLow <- newNonNegMap "wLow" rclass + + lhs <- enlarge @a (ByLabel "H" --> h) (ByLabel "W" --> w) hLow wLow ky kx tA -- Building the rhs kH <- newConstMap "kH" ky rclass kW <- newConstMap "kW" kx rclass + precondition [kH] $ \[k] -> k .>= 0 + precondition [kW] $ \[k] -> k .>= 0 + sH' <- combineMap "sH'" (\[a', k'] -> symIte (a' .>= k') a' k') [h, kH] sW' <- combineMap "sW'" (\[a', k'] -> symIte (a' .>= k') a' k') [w, kW] dH <- combineMap "dH" (\[m, a'] -> m - a') [sH', h] dW <- combineMap "dW" (\[m, a'] -> m - a') [sW', w] - hLow <- newNonNegMap "hLow" rclass - hHigh <- newNonNegMap "hHigh" rclass - precondition [hLow, hHigh, dH] $ \[l, hv, d] -> l + hv .== d .&& l .<= hv .&& hv .<= l + 1 + -- Deterministic split on RHS: low = floor(d/2), high = d - low + precondition [hLow, dH] $ \[l, d] -> (l + l) .<= d .&& d .<= (l + l + 1) + hHigh <- combineMap "hHigh" (\[d, l] -> d - l) [dH, hLow] - wLow <- newNonNegMap "wLow" rclass - wHigh <- newNonNegMap "wHigh" rclass - precondition [wLow, wHigh, dW] $ \[l, hv, d] -> l + hv .== d .&& l .<= hv .&& hv .<= l + 1 + precondition [wLow, dW] $ \[l, d] -> (l + l) .<= d .&& d .<= (l + l + 1) + wHigh <- combineMap "wHigh" (\[d, l] -> d - l) [dW, wLow] z <- newConstMap "zero" 0 rclass diff --git a/rules/taso/matmul/Main.hs b/rules/taso/matmul/Main.hs index f38ef0b..b253903 100644 --- a/rules/taso/matmul/Main.hs +++ b/rules/taso/matmul/Main.hs @@ -2,7 +2,7 @@ module Main (main) where import Grisette hiding (dot, (-->)) import TensorRight -import TensorRight.Internal.DSL.DSL (checkSIMap, siRelation) +import TensorRight.Internal.DSL.DSL (checkSIMap, monitorExprOnFailure, newSingletonRClass, newSingletonRClasses, siRelation) import TensorRight.Internal.DSL.TASO (concat, ewadd, ewmul, matmul2D, relu, smul, transpose) import Prelude hiding (concat) @@ -10,7 +10,7 @@ import Prelude hiding (concat) -- ∀x, y, z. matmul(x, matmul(y, z)) = matmul(matmul(x, y), z) matmulAssociativity :: forall a. NumRule a matmulAssociativity _ = do - [rclassM, rclassK, rclassN, rclassP] <- newRClasses ["rclassM", "rclassK", "rclassN", "rclassP"] + [rclassM, rclassK, rclassN, rclassP] <- newSingletonRClasses ["rclassM", "rclassK", "rclassN", "rclassP"] sizeM <- newMap "sizeM" rclassM sizeK <- newMap "sizeK" rclassK sizeN <- newMap "sizeN" rclassN @@ -19,16 +19,19 @@ matmulAssociativity _ = do x <- newTensor @a "x" [rclassM --> sizeM, rclassK --> sizeK] y <- newTensor @a "y" [rclassK --> sizeK, rclassN --> sizeN] -- Shared K and N z <- newTensor @a "z" [rclassN --> sizeN, rclassP --> sizeP] -- Shared N - (yzExpr, nL) <- matmul2D y z - (xyExpr, kR) <- matmul2D x y + nL <- newMap "contractSI" rclassN + nR <- newMap "contractSI" rclassN - (lhs, kL) <- matmul2D x yzExpr - (rhs, nR) <- matmul2D xyExpr z + kL <- newMap "contractSI" rclassK + kR <- newMap "contractSI" rclassK siRelation [kL, kR] $ \[l, r] -> l .== r siRelation [nL, nR] $ \[l, r] -> l .== r checkSIMap [kL, nL] [kR, nR] + lhs <- matmul2D x (matmul2D y z [rclassN --> nL]) [rclassK --> kL] + rhs <- matmul2D (matmul2D x y [rclassK --> kR]) z [rclassN --> nR] + rewrite "matmul(x, matmul(y, z)) ⇒ matmul(matmul(x, y), z)" lhs rhs -- | Rule 2: Matrix multiplication is linear (scalar multiplication) @@ -36,7 +39,7 @@ matmulAssociativity _ = do matmulScalarLinear :: forall a. NumRule a matmulScalarLinear _ = do let w = ("w" :: a) - [rclassM, rclassK, rclassN] <- newRClasses ["rclassM", "rclassK", "rclassN"] + [rclassM, rclassK, rclassN] <- newSingletonRClasses ["rclassM", "rclassK", "rclassN"] sizeM <- newMap "sizeM" rclassM sizeK <- newMap "sizeK" rclassK sizeN <- newMap "sizeN" rclassN @@ -44,10 +47,12 @@ matmulScalarLinear _ = do x <- newTensor @a "x" [rclassM --> sizeM, rclassK --> sizeK] y <- newTensor @a "y" [rclassK --> sizeK, rclassN --> sizeN] - (xy, kL) <- matmul2D x y + kL <- newMap "contractSI" rclassK + kR <- newMap "contractSI" rclassK + xy <- matmul2D x y [rclassK --> kL] lhs <- smul xy w yw <- smul y w - (rhs, kR) <- matmul2D x yw + rhs <- matmul2D x yw [rclassK --> kR] siRelation [kL, kR] $ \[l, r] -> l .== r checkSIMap [kL] [kR] @@ -58,7 +63,7 @@ matmulScalarLinear _ = do -- ∀x, y, z. matmul(x, ewadd(y, z)) = ewadd(matmul(x, y), matmul(x, z)) matmulDistributive :: forall a. NumRule a matmulDistributive _ = do - [rclassM, rclassK, rclassN] <- newRClasses ["rclassM", "rclassK", "rclassN"] + [rclassM, rclassK, rclassN] <- newSingletonRClasses ["rclassM", "rclassK", "rclassN"] sizeM <- newMap "sizeM" rclassM sizeK <- newMap "sizeK" rclassK sizeN <- newMap "sizeN" rclassN @@ -68,9 +73,12 @@ matmulDistributive _ = do z <- newTensor @a "z" [rclassK --> sizeK, rclassN --> sizeN] yz <- ewadd y z - (lhs, kL) <- matmul2D x yz - (xy, kR1) <- matmul2D x y - (xz, kR2) <- matmul2D x z + kL <- newMap "contractSI" rclassK + kR1 <- newMap "contractSI" rclassK + kR2 <- newMap "contractSI" rclassK + lhs <- matmul2D x yz [rclassK --> kL] + xy <- matmul2D x y [rclassK --> kR1] + xz <- matmul2D x z [rclassK --> kR2] rhs <- ewadd xy xz siRelation [kL, kR1] $ \[l, r] -> l .== r @@ -83,21 +91,30 @@ matmulDistributive _ = do -- ∀x, y. transpose(matmul(x, y)) = matmul(transpose(y), transpose(x)) matmulTranspose :: forall a. NumRule a matmulTranspose _ = do - [rclassM, rclassK, rclassN] <- newRClasses ["rclassM", "rclassK", "rclassN"] + [rclassM, rclassK, rclassN] <- newSingletonRClasses ["rclassM", "rclassK", "rclassN"] sizeM <- newMap "sizeM" rclassM sizeK <- newMap "sizeK" rclassK sizeN <- newMap "sizeN" rclassN - -- Label axes so transpose works via label swap instead of ByRClass swap + -- Labelled inputs x <- newTensor @a "x" [rclassM --> sizeM @@ "L", rclassK --> sizeK @@ "K"] y <- newTensor @a "y" [rclassK --> sizeK @@ "K", rclassN --> sizeN @@ "R"] - (xy, kL) <- matmul2D x y -- TODO: Pass the rclass explicitly instead of inferring + + -- LHS: transpose(matmul(x, y)) + kL <- newMap "contractSI" rclassK + -- xy should be [rclassM @@ "L" rclassN @@ "R"] + xy <- matmul2D x y [ByLabel "K" --> kL] + -- lhs should be [rclassM @@ "R" rclassN @@ "L"] lhs <- transpose xy - yt <- transpose y - xt <- transpose x - (rhs, kR) <- matmul2D yt xt - siRelation [kL, kR] $ \[l, r] -> l .== r + -- RHS: matmul(transpose(y), transpose(x)) + yt <- transpose y -- [rclassK @@ "R", rclassN @@ "K"] + xt0 <- transpose x -- [rclassM @@ "K", rclassK @@ "L"] + xt <- relabel xt0 [ByLabel "L" --> ByLabel "R", ByLabel "K" --> ByLabel "K'"] -- [rclassM @@ "K'", rclassK @@ "R"] + kR <- newMap "contractSI" rclassK + rhs <- matmul2D yt xt [ByLabel "R" --> kR] + + siRelation [kL, kR] $ \[i, j] -> i .== j checkSIMap [kL] [kR] rewrite "transpose(matmul(x, y)) ⇒ matmul(transpose(y), transpose(x))" lhs rhs @@ -106,34 +123,29 @@ matmulTranspose _ = do -- ∀x. matmul(x, I) = x (where I is identity matrix) matmulIdentity :: forall a. NumRule a matmulIdentity _ = do - [rclassM, rclassN] <- newRClasses ["rclassM", "rclassN"] + [rclassM, rclassN] <- newSingletonRClasses ["rclassM", "rclassN"] sizeM <- newMap "sizeM" rclassM sizeN <- newMap "sizeN" rclassN x <- newTensor @a "x" [rclassM --> sizeM, rclassN --> sizeN] - identityRow <- iota [rclassM --> sizeM, rclassN --> sizeN] (ByRClass rclassM) - identityCol <- iota [rclassM --> sizeM, rclassN --> sizeN] (ByRClass rclassN) + identityRow <- iota [rclassN --> sizeN @@ "L", rclassN --> sizeN @@ "R"] (ByLabel "L") + identityCol <- iota [rclassN --> sizeN @@ "L", rclassN --> sizeN @@ "R"] (ByLabel "R") identityMask <- compareOp Eqv identityRow identityCol - ones <- constant @a 1 [rclassM --> sizeM, rclassN --> sizeN] - zeros <- constant @a 0 [rclassM --> sizeM, rclassN --> sizeN] + ones <- constant @a 1 [rclassN --> sizeN @@ "L", rclassN --> sizeN @@ "R"] + zeros <- constant @a 0 [rclassN --> sizeN @@ "L", rclassN --> sizeN @@ "R"] identityMatrix <- select identityMask ones zeros - -- Precondition: matrix must be square - precondition [sizeM, sizeN] $ \[m, n] -> m .== n - - (lhs, _) <- matmul2D x identityMatrix + nL <- newMap "contractSI" rclassN + lhs <- matmul2D x identityMatrix [rclassN --> nL] let rhs = x - monitorExprOnFailure "x" x - monitorExprOnFailure "I" identityMatrix - rewrite "matmul(x, I) ⇒ x" lhs rhs -- -- | Rule 6: Concatenation and matrix multiplication (right distributive) -- -- ∀x, y, z. concat(1, matmul(x, y), matmul(x, z)) = matmul(x, concat(1, y, z)) matmulConcatRight :: forall a. NumRule a matmulConcatRight _ = do - [rclassM, rclassK, rclassN] <- newRClasses ["rclassM", "rclassK", "rclassN"] + [rclassM, rclassK, rclassN] <- newSingletonRClasses ["rclassM", "rclassK", "rclassN"] sizeM <- newMap "sizeM" rclassM sizeK <- newMap "sizeK" rclassK [sizeN1, sizeN2] <- newMaps ["sizeN1", "sizeN2"] rclassN @@ -142,11 +154,14 @@ matmulConcatRight _ = do y <- newTensor @a "y" [rclassK --> sizeK, rclassN --> sizeN1] z <- newTensor @a "z" [rclassK --> sizeK, rclassN --> sizeN2] - (xy, kL1) <- matmul2D x y - (xz, kL2) <- matmul2D x z + kL1 <- newMap "contractSI" rclassK + kL2 <- newMap "contractSI" rclassK + xy <- matmul2D x y [rclassK --> kL1] + xz <- matmul2D x z [rclassK --> kL2] lhs <- concat (ByRClass rclassN) xy xz yz <- concat (ByRClass rclassN) y z - (rhs, kR) <- matmul2D x yz + kR <- newMap "contractSI" rclassK + rhs <- matmul2D x yz [rclassK --> kR] siRelation [kL1, kR] $ \[l, r] -> l .== r siRelation [kL2, kR] $ \[l, r] -> l .== r @@ -158,7 +173,7 @@ matmulConcatRight _ = do -- ∀x, y, z, w. matmul(concat(1, x, z), concat(0, y, w)) = ewadd(matmul(x, y), matmul(z, w)) matmulConcatMixed :: forall a. NumRule a matmulConcatMixed _ = do - [rclassM, rclassK, rclassN] <- newRClasses ["rclassM", "rclassK", "rclassN"] + [rclassM, rclassK, rclassN] <- newSingletonRClasses ["rclassM", "rclassK", "rclassN"] [sizeM1, sizeM2] <- newMaps ["sizeM1", "sizeM2"] rclassM [sizeK1, sizeK2] <- newMaps ["sizeK1", "sizeK2"] rclassK sizeN <- newMap "sizeN" rclassN @@ -174,9 +189,12 @@ matmulConcatMixed _ = do xz <- concat (ByRClass rclassM) x z yw <- concat (ByRClass rclassK) y w - (lhs, kL) <- matmul2D xz yw - (xy, kR1) <- matmul2D x y - (zw, kR2) <- matmul2D z w + kL <- newMap "contractSI" rclassK + kR1 <- newMap "contractSI" rclassK + kR2 <- newMap "contractSI" rclassK + lhs <- matmul2D xz yw [rclassK --> kL] + xy <- matmul2D x y [rclassK --> kR1] + zw <- matmul2D z w [rclassK --> kR2] rhs <- ewadd xy zw siRelation [kL, kR1] $ \[l, r] -> l .== r @@ -187,20 +205,23 @@ matmulConcatMixed _ = do main :: IO () main = do - printTitle "#################### matmulAssociativity ####################" - verifyNumDSL matmulAssociativity - printTitle "#################### matmulScalarLinear #####################" - verifyNumDSL matmulScalarLinear - printTitle "#################### matmulDistributive #####################" - verifyNumDSL matmulDistributive + -- printTitle "#################### matmulAssociativity ####################" + -- verifyNumDSL matmulAssociativity + + -- printTitle "#################### matmulScalarLinear #####################" + -- verifyNumDSL matmulScalarLinear --- printTitle "###################### matmulTranspose ######################" --- verifyNumDSL matmulTranspose + -- printTitle "#################### matmulDistributive #####################" + -- verifyNumDSL matmulDistributive + + printTitle "###################### matmulTranspose ######################" + verifyNumDSL matmulTranspose -- printTitle "###################### matmulIdentity #######################" -- verifyNumDSL matmulIdentity -- printTitle "#################### matmulConcatRight ######################" -- verifyNumDSL matmulConcatRight + -- printTitle "##################### matmulConcatMixed #####################" -- verifyNumDSL matmulConcatMixed diff --git a/rules/taso/transpose/Main.hs b/rules/taso/transpose/Main.hs index 12c910b..4e3aba8 100644 --- a/rules/taso/transpose/Main.hs +++ b/rules/taso/transpose/Main.hs @@ -2,7 +2,7 @@ module Main (main) where import Grisette hiding ((-->)) import TensorRight -import TensorRight.Internal.DSL.DSL (twoRefsOf) +import TensorRight.Internal.DSL.DSL (newSingletonRClass, twoRefsOf) import TensorRight.Internal.DSL.TASO (concat, ewadd, ewmul, relu, smul, transpose) import Prelude hiding (concat) @@ -10,7 +10,7 @@ import Prelude hiding (concat) -- Desugaring for general TASO transpose desugarTranspose :: forall a. AnyDTypeRule a desugarTranspose _ = do - rclass <- newRClass "rclass" + rclass <- newSingletonRClass "rclass" s1 <- newMap "s1" rclass s2 <- newMap "s2" rclass tA <- newTensor @a "A" [rclass --> s1 @@ "L", rclass --> s2 @@ "R"] @@ -21,7 +21,7 @@ desugarTranspose _ = do inverse :: forall a. AnyDTypeRule a inverse _ = do - rclass <- newRClass "rclass" + rclass <- newSingletonRClass "rclass" s1 <- newMap "s1" rclass s2 <- newMap "s2" rclass tA <- newTensor @a "A" [rclass --> s1 @@ "L", rclass --> s2 @@ "R"] @@ -31,7 +31,7 @@ inverse _ = do -- transpose(ewadd(x, y)) = ewadd(transpose(x), transpose(y)) transposeEwadd :: forall a. NumRule a transposeEwadd _ = do - r <- newRClass "r" + r <- newSingletonRClass "r" sL <- newMap "sL" r sR <- newMap "sR" r x <- newTensor @a "x" [r --> sL @@ "L", r --> sR @@ "R"] @@ -43,7 +43,7 @@ transposeEwadd _ = do -- transpose(ewmul(x, y)) = ewmul(transpose(x), transpose(y)) transposeEwmul :: forall a. NumRule a transposeEwmul _ = do - r <- newRClass "r" + r <- newSingletonRClass "r" sL <- newMap "sL" r sR <- newMap "sR" r x <- newTensor @a "x" [r --> sL @@ "L", r --> sR @@ "R"] @@ -55,7 +55,7 @@ transposeEwmul _ = do -- transpose(smul(x, w)) = smul(transpose(x), w) transposeSmul :: forall a. NumRule a transposeSmul _ = do - r <- newRClass "r" + r <- newSingletonRClass "r" sL <- newMap "sL" r sR <- newMap "sR" r x <- newTensor @a "x" [r --> sL @@ "L", r --> sR @@ "R"] @@ -67,7 +67,7 @@ transposeSmul _ = do -- transpose(relu(x)) = relu(transpose(x)) transposeRelu :: forall a. NumRule a transposeRelu _ = do - r <- newRClass "r" + r <- newSingletonRClass "r" sL <- newMap "sL" r sR <- newMap "sR" r x <- newTensor @a "x" [r --> sL @@ "L", r --> sR @@ "R"] @@ -79,7 +79,7 @@ transposeRelu _ = do transposeConcat :: forall a. AnyDTypeRule a transposeConcat _ = do -- Use same rclass with two labels for 2D - r <- newRClass "r" + r <- newSingletonRClass "r" sLx <- newMap "sLx" r sRx <- newMap "sRx" r sLy <- newMap "sLy" r diff --git a/src/TensorRight/Internal/Core/Tensor/Typed.hs b/src/TensorRight/Internal/Core/Tensor/Typed.hs index 97ec95f..fcd02c1 100644 --- a/src/TensorRight/Internal/Core/Tensor/Typed.hs +++ b/src/TensorRight/Internal/Core/Tensor/Typed.hs @@ -71,6 +71,7 @@ import qualified Data.HashMap.Lazy as HM import qualified Data.HashSet as HS import Data.Hashable (Hashable (hashWithSalt)) import Data.Tuple (swap) +import Debug.Trace import GHC.Generics (Generic) import Grisette ( Apply (apply), @@ -263,6 +264,8 @@ indicesNonNegative dims = indicesInRange :: (MonadError Error m, MonadUnion m) => Sizes -> Indices -> m () indicesInRange dims indices = do + traceM $ "Axes" ++ show (allAxes dims) + traceM $ "Indices" ++ show (allAxes indices) assert "Axes does not match." $ allAxes dims == allAxes indices let assertInRange axis = assert diff --git a/src/TensorRight/Internal/DSL/DSL.hs b/src/TensorRight/Internal/DSL/DSL.hs index 063924f..b7a82ef 100644 --- a/src/TensorRight/Internal/DSL/DSL.hs +++ b/src/TensorRight/Internal/DSL/DSL.hs @@ -62,6 +62,7 @@ module TensorRight.Internal.DSL.DSL convBase, conv, newSingletonRClass, + newSingletonRClasses, monitorExprOnFailure, monitorMapOnFailure, clamp, @@ -99,6 +100,7 @@ import qualified Data.HashMap.Lazy as HM import qualified Data.HashSet as HS import Data.String (IsString) import qualified Data.Text as T +import Debug.Trace (traceM) import Grisette ( Mergeable, SymBool, @@ -412,8 +414,19 @@ rankPrecondition rclass k = do put $ env {rankConditions = HM.insert rclass k (rankConditions env)} -- | Mark an existing RClass as singleton (exact rank 1). -newSingletonRClass :: RClassIdentifier -> DSLContext () -newSingletonRClass r = rankPrecondition r 1 +markSingleton :: RClassIdentifier -> DSLContext () +markSingleton r = rankPrecondition r 1 + +-- | Create a new singleton RClass +newSingletonRClass :: T.Text -> DSLContext RClassIdentifier +newSingletonRClass label = do + rclass <- newRClass label + markSingleton rclass + return rclass + +-- | Create singleton RClasses +newSingletonRClasses :: [T.Text] -> DSLContext [RClassIdentifier] +newSingletonRClasses = traverse newSingletonRClass -- | Add an SI relation to rewriting rule. -- It is similar to 'precondition', but it is used to specify the SI relations. @@ -696,7 +709,7 @@ iota shapeDesc d = do validTensorShape shape let abstractShape = toAbstractShape shape rclass <- getRClassByRClassRef abstractShape d - newSingletonRClass rclass + markSingleton rclass return (abstractShape, IntType) -- | The named arguments to the 'slice' operation. @@ -1119,7 +1132,7 @@ concatTensor lhs' rhs' d = do assert "lhs and rhs must have the same rclasses" $ shapeLhs == shapeRhs assert "lhs and rhs must have the same type" $ tyLhs == tyRhs rclass <- getRClassByRClassRef shapeLhs d - newSingletonRClass rclass + markSingleton rclass return (shapeLhs, tyLhs) -- | Concatenate a list of tensors. @@ -1139,7 +1152,7 @@ concatTensorList exprs' d = do assert "All tensors in concatList must have the same RClasses" $ all (== head shapes) shapes assert "All tensors in concatList must have the same type" $ all (== head tys) tys rclass <- getRClassByRClassRef (head shapes) d - newSingletonRClass rclass + markSingleton rclass return (head shapes, head tys) -- | Relabel operation. @@ -1208,6 +1221,14 @@ dot lhs rhs contractingSIMapsDesc batchRClasses = do let dotAllRefs = HM.keysSet contractingSIMaps <> HS.fromList batchRClasses let lhsAllRefs = abstractShapeAllRefs shapeLhs let rhsAllRefs = abstractShapeAllRefs shapeRhs + + traceM $ "batchRClasses" ++ show batchRClasses + traceM $ "contractingSIMaps" ++ show contractingSIMaps + traceM $ "lhsRefs" ++ show lhsAllRefs + traceM $ "rhsRefs" ++ show rhsAllRefs + traceM $ "dotAllRefs" ++ show dotAllRefs + traceM $ "intersection" ++ show (HS.intersection lhsAllRefs rhsAllRefs) + assert ( "Contraction + batch rclasses must be exactly the interaction of lhs and " <> "rhs rclasses" @@ -1530,19 +1551,15 @@ matmul2DHelper :: lhs -> -- | The right-hand side tensor (shape [K, N]) rhs -> - DSLContext (Expr, MapIdentifier) -matmul2DHelper lhs' rhs' = do + -- | The contracting SI maps. + [ParamDesc] -> + DSLContext Expr +matmul2DHelper lhs' rhs' contract = do lhs <- liftInContext lhs' rhs <- liftInContext rhs' - shapeLhs <- shapeOf lhs - shapeRhs <- shapeOf rhs - let shared = HS.toList $ abstractShapeAllRefs shapeLhs `HS.intersection` abstractShapeAllRefs shapeRhs - assert "matmul2D: tensors must share exactly one rclass" $ length shared == 1 - let [kRef] = shared - kRClass <- getRClassByRClassRef shapeLhs kRef - kSI <- newMap "contract" kRClass - expr <- dot lhs rhs [kRef --> kSI] [] - return (expr, kSI) + (_, _) <- twoRefsOf lhs + (_, _) <- twoRefsOf rhs + dot lhs rhs contract [] matmul3DHelper :: (ExprInContext lhs, ExprInContext rhs) => @@ -1550,20 +1567,18 @@ matmul3DHelper :: lhs -> -- | The right-hand side tensor (shape [B, K, N]) rhs -> + -- | The contracting SI maps. + [ParamDesc] -> + -- | The batch rclasses. + [RClassRef] -> DSLContext Expr -matmul3DHelper lhs' rhs' = do +matmul3DHelper lhs' rhs' contract batch = do lhs <- liftInContext lhs' rhs <- liftInContext rhs' -- Get the three axes from each tensor - (lhsBatch, _, lhsK) <- threeRefsOf lhs -- B, M, K + (_, _, _) <- threeRefsOf lhs -- B, M, K (_, _, _) <- threeRefsOf rhs -- B, K, N - -- Create contracting SI map for the shared K dimension - shapeLhs <- shapeOf lhs - rclassK <- getRClassByRClassRef shapeLhs lhsK - contractSI <- newMap "contractSI" rclassK - -- Contract on K dimension, batch on B dimension - -- lhsBatch should match rhsBatch, lhsK should match rhsK - dot lhs rhs [lhsK --> contractSI] [lhsBatch] + dot lhs rhs contract batch -- | Helper function for transpose2D. transpose2D :: (ExprInContext e) => e -> DSLContext Expr diff --git a/src/TensorRight/Internal/DSL/TASO.hs b/src/TensorRight/Internal/DSL/TASO.hs index 421d905..26cfb49 100644 --- a/src/TensorRight/Internal/DSL/TASO.hs +++ b/src/TensorRight/Internal/DSL/TASO.hs @@ -38,14 +38,13 @@ import TensorRight.Internal.DSL.DSL combineMap, matmul2DHelper, newConstMap, - newNonNegMap, numBinOp, numBinScalarOp, pad, precondition, transpose2D, ) -import TensorRight.Internal.DSL.Expr (getRClassByMap) +import TensorRight.Internal.DSL.Expr (checkMapHasRClass, getRClassByMap) import TensorRight.Internal.DSL.Identifier (MapIdentifier) import TensorRight.Internal.DSL.Parameters (ParamDesc (..)) import TensorRight.Internal.DSL.Syntax (ArrowSyntax ((-->))) @@ -110,7 +109,8 @@ transpose :: DSLContext Expr transpose = transpose2D --- | TASO's enlarge operator +-- TASO's enlarge operator! +-- Split policy: low = floor(d/2), high = d - low, where d = max(s, k) - s per axis. enlarge :: forall a e. (ExprInContext e, ValidNum a) => @@ -118,6 +118,10 @@ enlarge :: ParamDesc -> -- | Size descriptor for W axis: provides the axis ref and the existing size map of A along W. ParamDesc -> + -- | Pre-allocated low padding map for H. + MapIdentifier -> + -- | Pre-allocated low padding map for W. + MapIdentifier -> -- | Target size ky for H (abstract scalar). SymInteger -> -- | Target size kx for W (abstract scalar). @@ -125,28 +129,32 @@ enlarge :: -- | The tensor to enlarge. e -> DSLContext Expr -enlarge (ParamDesc hRef sH) (ParamDesc wRef sW) ky kx e = do - -- Promote scalars kx, ky to constant maps on the corresponding rclasses +enlarge (ParamDesc hRef sH) (ParamDesc wRef sW) hLow wLow ky kx e = do rH <- getRClassByMap sH rW <- getRClassByMap sW + -- Ensure provided low maps match rclasses + checkMapHasRClass rH hLow + checkMapHasRClass rW wLow + + -- Promote scalars kH <- newConstMap "kH" ky rH kW <- newConstMap "kW" kx rW + precondition [kH] $ \[k] -> k .>= 0 + precondition [kW] $ \[k] -> k .>= 0 -- Target sizes via max sH' <- combineMap "sH'" (\[a, k] -> symIte (a .>= k) a k) [sH, kH] sW' <- combineMap "sW'" (\[a, k] -> symIte (a .>= k) a k) [sW, kW] - -- Differences to pad + -- Differences dH <- combineMap "dH" (\[m, a] -> m - a) [sH', sH] dW <- combineMap "dW" (\[m, a] -> m - a) [sW', sW] - -- Odd-difference split: low = floor(d/2), high = ceil(d/2) - hLow <- newNonNegMap "hLow" rH - hHigh <- newNonNegMap "hHigh" rH - precondition [hLow, hHigh, dH] $ \[l, h, d] -> l + h .== d .&& l .<= h .&& h .<= l + 1 -- Make precondition to ensure left over padding on top - wLow <- newNonNegMap "wLow" rW - wHigh <- newNonNegMap "wHigh" rW - precondition [wLow, wHigh, dW] $ \[l, h, d] -> l + h .== d .&& l .<= h .&& h .<= l + 1 + -- Determine splits and construct high end based on them + precondition [hLow, dH] $ \[l, d] -> (l + l) .<= d .&& d .<= (l + l + 1) + precondition [wLow, dW] $ \[l, d] -> (l + l) .<= d .&& d .<= (l + l + 1) + hHigh <- combineMap "hHigh" (\[d, l] -> d - l) [dH, hLow] + wHigh <- combineMap "wHigh" (\[d, l] -> d - l) [dW, wLow] -- Zero interior paddings zH <- newConstMap "zeroH" 0 rH @@ -155,7 +163,7 @@ enlarge (ParamDesc hRef sH) (ParamDesc wRef sW) ky kx e = do pad e (0 :: a) $ Padding { low = [hRef --> hLow, wRef --> wLow], - interior = [hRef --> zH, wRef --> zW], -- No internal padding + interior = [hRef --> zH, wRef --> zW], high = [hRef --> hHigh, wRef --> wHigh] } @@ -166,5 +174,37 @@ matmul2D :: lhs -> -- | The right-hand side tensor (shape [K, N]) rhs -> - DSLContext (Expr, MapIdentifier) -matmul2D = matmul2DHelper \ No newline at end of file + -- | The contracting SI maps. + [ParamDesc] -> + DSLContext Expr +matmul2D = matmul2DHelper + +-- -- | TASO's 2D matrix multiplication operator +-- tasoConv :: +-- (ExprInContext input, ExprInContext weights, ValidNum a) => +-- -- | The input tensor. +-- input -> +-- -- | The weights (kernel) tensor. +-- weights -> +-- a -> +-- ConvRes a + +-- -- | TASO's split0 operator +-- split0 :: +-- (ExprInContext e) => +-- -- | The aggregated-axis to split on. +-- RClassRef -> +-- -- | The tensor to split. +-- e -> +-- DSLContext Expr +-- split0 = undefined + +-- -- | TASO's split0 operator +-- split1 :: +-- (ExprInContext e) => +-- -- | The aggregated-axis to split on. +-- RClassRef -> +-- -- | The tensor to split. +-- e -> +-- DSLContext Expr +-- split1 = undefined \ No newline at end of file From fe1ebcaf62d7346a551990ae735907346984486c Mon Sep 17 00:00:00 2001 From: lexu27 Date: Wed, 1 Oct 2025 22:02:03 -0500 Subject: [PATCH 17/25] added ewadd identity matrix rule --- rules/taso/ewmul/Main.hs | 18 ++++++++++- rules/taso/matmul/Main.hs | 31 ++++++++++++------- src/TensorRight/Internal/Core/Tensor/Typed.hs | 3 -- 3 files changed, 36 insertions(+), 16 deletions(-) diff --git a/rules/taso/ewmul/Main.hs b/rules/taso/ewmul/Main.hs index 81ae18b..9d6458f 100644 --- a/rules/taso/ewmul/Main.hs +++ b/rules/taso/ewmul/Main.hs @@ -2,6 +2,7 @@ module Main (main) where import Grisette hiding ((-->)) import TensorRight +import TensorRight.Internal.DSL.DSL (newRClass) import TensorRight.Internal.DSL.TASO (ewadd, ewmul) rule01 :: forall a. NumRule a -- Verify desugaring @@ -46,6 +47,19 @@ rule04 _ = do rhs <- ewadd (ewmul x z) (ewmul y z) rewrite "ewmul(ewadd(x, y), z) ⇒ ewadd(ewmul(x, z), ewmul(y, z))" lhs rhs +rule05 :: forall a. NumRule a -- Verify identity +rule05 _ = do + rclassN <- newRClass "rclassN" + sizeN <- newMap "sizeN" rclassN + + x <- newTensor @a "x" [rclassN --> sizeN @@ "L", rclassN --> sizeN @@ "R"] + ones <- constant @a 1 [rclassN --> sizeN @@ "L", rclassN --> sizeN @@ "R"] + + lhs <- ewmul x ones + let rhs = x + + rewrite "ewmul(x, I) ⇒ x" lhs rhs + main :: IO () main = do printTitle "############################## rule01 ##############################" @@ -55,4 +69,6 @@ main = do printTitle "############################## rule03 ##############################" verifyNumDSL rule03 printTitle "############################## rule04 ##############################" - verifyNumDSL rule04 \ No newline at end of file + verifyNumDSL rule04 + printTitle "############################## rule05 ##############################" + verifyNumDSL rule05 \ No newline at end of file diff --git a/rules/taso/matmul/Main.hs b/rules/taso/matmul/Main.hs index b253903..51f82a2 100644 --- a/rules/taso/matmul/Main.hs +++ b/rules/taso/matmul/Main.hs @@ -1,5 +1,6 @@ module Main (main) where +import Debug.Trace import Grisette hiding (dot, (-->)) import TensorRight import TensorRight.Internal.DSL.DSL (checkSIMap, monitorExprOnFailure, newSingletonRClass, newSingletonRClasses, siRelation) @@ -112,7 +113,9 @@ matmulTranspose _ = do xt0 <- transpose x -- [rclassM @@ "K", rclassK @@ "L"] xt <- relabel xt0 [ByLabel "L" --> ByLabel "R", ByLabel "K" --> ByLabel "K'"] -- [rclassM @@ "K'", rclassK @@ "R"] kR <- newMap "contractSI" rclassK - rhs <- matmul2D yt xt [ByLabel "R" --> kR] + rhs0 <- matmul2D yt xt [ByLabel "R" --> kR] -- [rclassN @@ "K", rclassM @@ "K'"] + -- rhs should now also be [rclassM @@ "R" rclassN @@ "L"] + rhs <- relabel rhs0 [ByLabel "K'" --> ByLabel "R", ByLabel "K" --> ByLabel "L"] siRelation [kL, kR] $ \[i, j] -> i .== j checkSIMap [kL] [kR] @@ -127,7 +130,7 @@ matmulIdentity _ = do sizeM <- newMap "sizeM" rclassM sizeN <- newMap "sizeN" rclassN - x <- newTensor @a "x" [rclassM --> sizeM, rclassN --> sizeN] + x <- newTensor @a "x" [rclassM --> sizeM, rclassN --> sizeN @@ "L"] identityRow <- iota [rclassN --> sizeN @@ "L", rclassN --> sizeN @@ "R"] (ByLabel "L") identityCol <- iota [rclassN --> sizeN @@ "L", rclassN --> sizeN @@ "R"] (ByLabel "R") identityMask <- compareOp Eqv identityRow identityCol @@ -136,8 +139,12 @@ matmulIdentity _ = do identityMatrix <- select identityMask ones zeros nL <- newMap "contractSI" rclassN - lhs <- matmul2D x identityMatrix [rclassN --> nL] - let rhs = x + -- lhs should be [rclassM, rclassN @@ "R"] + lhs <- matmul2D x identityMatrix [ByLabel "L" --> nL] + rhs <- relabel x [ByLabel "L" --> ByLabel "R"] + + siRelation [sizeN] $ \[i, j] -> i .== j + checkSIMap [sizeN] [nL] rewrite "matmul(x, I) ⇒ x" lhs rhs @@ -214,14 +221,14 @@ main = do -- printTitle "#################### matmulDistributive #####################" -- verifyNumDSL matmulDistributive - printTitle "###################### matmulTranspose ######################" - verifyNumDSL matmulTranspose + -- printTitle "###################### matmulTranspose ######################" + -- verifyNumDSL matmulTranspose --- printTitle "###################### matmulIdentity #######################" --- verifyNumDSL matmulIdentity + -- printTitle "###################### matmulIdentity #######################" + -- verifyNumDSL matmulIdentity --- printTitle "#################### matmulConcatRight ######################" --- verifyNumDSL matmulConcatRight + -- printTitle "#################### matmulConcatRight ######################" + -- verifyNumDSL matmulConcatRight --- printTitle "##################### matmulConcatMixed #####################" --- verifyNumDSL matmulConcatMixed + printTitle "##################### matmulConcatMixed #####################" + verifyNumDSL matmulConcatMixed diff --git a/src/TensorRight/Internal/Core/Tensor/Typed.hs b/src/TensorRight/Internal/Core/Tensor/Typed.hs index fcd02c1..97ec95f 100644 --- a/src/TensorRight/Internal/Core/Tensor/Typed.hs +++ b/src/TensorRight/Internal/Core/Tensor/Typed.hs @@ -71,7 +71,6 @@ import qualified Data.HashMap.Lazy as HM import qualified Data.HashSet as HS import Data.Hashable (Hashable (hashWithSalt)) import Data.Tuple (swap) -import Debug.Trace import GHC.Generics (Generic) import Grisette ( Apply (apply), @@ -264,8 +263,6 @@ indicesNonNegative dims = indicesInRange :: (MonadError Error m, MonadUnion m) => Sizes -> Indices -> m () indicesInRange dims indices = do - traceM $ "Axes" ++ show (allAxes dims) - traceM $ "Indices" ++ show (allAxes indices) assert "Axes does not match." $ allAxes dims == allAxes indices let assertInRange axis = assert From d0baf855670f112d02579969b7858f71e149c1c5 Mon Sep 17 00:00:00 2001 From: lexu27 Date: Wed, 8 Oct 2025 12:39:26 -0500 Subject: [PATCH 18/25] finished split --- hie.yaml | 19 +++ package.yaml | 16 +- rules/taso/{matmul => matmul2D}/Main.hs | 54 ++----- rules/taso/matmul3D/Main.hs | 186 ++++++++++++++++++++++++ rules/taso/split/Main.hs | 48 ++++++ rules/xla/dot/Main.hs | 1 - src/TensorRight/Internal/DSL/DSL.hs | 9 +- src/TensorRight/Internal/DSL/TASO.hs | 92 +++++++++--- tensor-right.cabal | 64 +++++++- 9 files changed, 410 insertions(+), 79 deletions(-) rename rules/taso/{matmul => matmul2D}/Main.hs (79%) create mode 100644 rules/taso/matmul3D/Main.hs create mode 100644 rules/taso/split/Main.hs diff --git a/hie.yaml b/hie.yaml index 3cceaf5..6ce109c 100644 --- a/hie.yaml +++ b/hie.yaml @@ -51,6 +51,19 @@ cradle: - path: "./rules/taso/transpose/Paths_tensor_right.hs" component: "tensor-right:exe:rules-taso-transpose" + - path: "./rules/taso/matmul2D/Main.hs" + component: "tensor-right:exe:rules-taso-matmul2D" + + - path: "./rules/taso/matmul2D/Paths_tensor_right.hs" + component: "tensor-right:exe:rules-taso-matmul2D" + + - path: "./rules/taso/matmul3D/Main.hs" + component: "tensor-right:exe:rules-taso-matmul3D" + + - path: "./rules/taso/matmul3D/Paths_tensor_right.hs" + component: "tensor-right:exe:rules-taso-matmul3D" + + - path: "./rules/xla/add/Main.hs" component: "tensor-right:exe:rules-xla-add" @@ -189,5 +202,11 @@ cradle: - path: "./rules/xla/sub/Paths_tensor_right.hs" component: "tensor-right:exe:rules-xla-sub" + - path: "./rules/xla/split/Main.hs" + component: "tensor-right:exe:rules-xla-split" + + - path: "./rules/xla/split/Paths_tensor_right.hs" + component: "tensor-right:exe:rules-xla-split" + - path: "./test" component: "tensor-right:test:spec" diff --git a/package.yaml b/package.yaml index 300f03c..a15a436 100644 --- a/package.yaml +++ b/package.yaml @@ -232,8 +232,20 @@ executables: dependencies: tensor-right ghc-options: *exe-ghc-options default-extensions: *exe-extensions - rules-taso-matmul: - source-dirs: rules/taso/matmul + rules-taso-matmul2D: + source-dirs: rules/taso/matmul2D + main: Main.hs + dependencies: tensor-right + ghc-options: *exe-ghc-options + default-extensions: *exe-extensions + rules-taso-matmul3D: + source-dirs: rules/taso/matmul3D + main: Main.hs + dependencies: tensor-right + ghc-options: *exe-ghc-options + default-extensions: *exe-extensions + rules-taso-split: + source-dirs: rules/taso/split main: Main.hs dependencies: tensor-right ghc-options: *exe-ghc-options diff --git a/rules/taso/matmul/Main.hs b/rules/taso/matmul2D/Main.hs similarity index 79% rename from rules/taso/matmul/Main.hs rename to rules/taso/matmul2D/Main.hs index 51f82a2..9f55fc3 100644 --- a/rules/taso/matmul/Main.hs +++ b/rules/taso/matmul2D/Main.hs @@ -1,6 +1,5 @@ module Main (main) where -import Debug.Trace import Grisette hiding (dot, (-->)) import TensorRight import TensorRight.Internal.DSL.DSL (checkSIMap, monitorExprOnFailure, newSingletonRClass, newSingletonRClasses, siRelation) @@ -122,32 +121,6 @@ matmulTranspose _ = do rewrite "transpose(matmul(x, y)) ⇒ matmul(transpose(y), transpose(x))" lhs rhs --- | Rule 5: Identity matrix property --- ∀x. matmul(x, I) = x (where I is identity matrix) -matmulIdentity :: forall a. NumRule a -matmulIdentity _ = do - [rclassM, rclassN] <- newSingletonRClasses ["rclassM", "rclassN"] - sizeM <- newMap "sizeM" rclassM - sizeN <- newMap "sizeN" rclassN - - x <- newTensor @a "x" [rclassM --> sizeM, rclassN --> sizeN @@ "L"] - identityRow <- iota [rclassN --> sizeN @@ "L", rclassN --> sizeN @@ "R"] (ByLabel "L") - identityCol <- iota [rclassN --> sizeN @@ "L", rclassN --> sizeN @@ "R"] (ByLabel "R") - identityMask <- compareOp Eqv identityRow identityCol - ones <- constant @a 1 [rclassN --> sizeN @@ "L", rclassN --> sizeN @@ "R"] - zeros <- constant @a 0 [rclassN --> sizeN @@ "L", rclassN --> sizeN @@ "R"] - identityMatrix <- select identityMask ones zeros - - nL <- newMap "contractSI" rclassN - -- lhs should be [rclassM, rclassN @@ "R"] - lhs <- matmul2D x identityMatrix [ByLabel "L" --> nL] - rhs <- relabel x [ByLabel "L" --> ByLabel "R"] - - siRelation [sizeN] $ \[i, j] -> i .== j - checkSIMap [sizeN] [nL] - - rewrite "matmul(x, I) ⇒ x" lhs rhs - -- -- | Rule 6: Concatenation and matrix multiplication (right distributive) -- -- ∀x, y, z. concat(1, matmul(x, y), matmul(x, z)) = matmul(x, concat(1, y, z)) matmulConcatRight :: forall a. NumRule a @@ -212,23 +185,20 @@ matmulConcatMixed _ = do main :: IO () main = do - -- printTitle "#################### matmulAssociativity ####################" - -- verifyNumDSL matmulAssociativity - - -- printTitle "#################### matmulScalarLinear #####################" - -- verifyNumDSL matmulScalarLinear + printTitle "#################### matmulAssociativity ####################" + verifyNumDSL matmulAssociativity - -- printTitle "#################### matmulDistributive #####################" - -- verifyNumDSL matmulDistributive + printTitle "#################### matmulScalarLinear #####################" + verifyNumDSL matmulScalarLinear - -- printTitle "###################### matmulTranspose ######################" - -- verifyNumDSL matmulTranspose + printTitle "#################### matmulDistributive #####################" + verifyNumDSL matmulDistributive - -- printTitle "###################### matmulIdentity #######################" - -- verifyNumDSL matmulIdentity + printTitle "###################### matmulTranspose ######################" + verifyNumDSL matmulTranspose - -- printTitle "#################### matmulConcatRight ######################" - -- verifyNumDSL matmulConcatRight + printTitle "#################### matmulConcatRight ######################" + verifyNumDSL matmulConcatRight - printTitle "##################### matmulConcatMixed #####################" - verifyNumDSL matmulConcatMixed +-- printTitle "##################### matmulConcatMixed #####################" +-- verifyNumDSL matmulConcatMixed diff --git a/rules/taso/matmul3D/Main.hs b/rules/taso/matmul3D/Main.hs new file mode 100644 index 0000000..ace03f2 --- /dev/null +++ b/rules/taso/matmul3D/Main.hs @@ -0,0 +1,186 @@ +module Main (main) where + +import Grisette hiding (dot, (-->)) +import TensorRight +import TensorRight.Internal.DSL.DSL (checkSIMap, monitorExprOnFailure, newSingletonRClass, newSingletonRClasses, siRelation) +import TensorRight.Internal.DSL.TASO (concat, ewadd, ewmul, matmul3D, relu, smul, transpose) +import Prelude hiding (concat) + +-- | Rule 1: Matrix multiplication associativity (batched) +-- ∀x, y, z. matmul3D(x, matmul3D(y, z)) = matmul3D(matmul3D(x, y), z) +matmulAssociativity :: forall a. NumRule a +matmulAssociativity _ = do + [rclassB, rclassM, rclassK, rclassN, rclassP] <- newSingletonRClasses ["rclassB", "rclassM", "rclassK", "rclassN", "rclassP"] + sizeM <- newMap "sizeM" rclassM + sizeK <- newMap "sizeK" rclassK + sizeN <- newMap "sizeN" rclassN + sizeP <- newMap "sizeP" rclassP + [sizeB1, sizeB2, sizeB3] <- newMaps ["sizeB1", "sizeB2", "sizeB3"] rclassB + + -- x:[B,M,K], y:[B,K,N], z:[B,N,P] + x <- newTensor @a "x" [rclassB --> sizeB1, rclassM --> sizeM, rclassK --> sizeK] + y <- newTensor @a "y" [rclassB --> sizeB2, rclassK --> sizeK, rclassN --> sizeN] + z <- newTensor @a "z" [rclassB --> sizeB3, rclassN --> sizeN, rclassP --> sizeP] + + -- independent contraction maps for K and N + kL <- newMap "kL" rclassK + kR <- newMap "kR" rclassK + nL <- newMap "nL" rclassN + nR <- newMap "nR" rclassN + + siRelation [kL, kR] $ \[l, r] -> l .== r + siRelation [nL, nR] $ \[l, r] -> l .== r + checkSIMap [kL, nL] [kR, nR] + + -- LHS: x · (y · z), inner contracts N + yz <- matmul3D y z [rclassN --> nL] [ByRClass rclassB] + lhs <- matmul3D x yz [rclassK --> kL] [ByRClass rclassB] + + -- RHS: (x · y) · z, inner contracts K + xy <- matmul3D x y [rclassK --> kR] [ByRClass rclassB] + rhs <- matmul3D xy z [rclassN --> nR] [ByRClass rclassB] + + rewrite "matmul3D associativity" lhs rhs + +-- | Rule 2: Scalar linearity (batched) +-- ∀x, y, w. smul(matmul3D(x, y), w) = matmul3D(x, smul(y, w)) +matmulScalarLinear :: forall a. NumRule a +matmulScalarLinear _ = do + let w = ("w" :: a) + [rclassB, rclassM, rclassK, rclassN] <- newSingletonRClasses ["rclassB", "rclassM", "rclassK", "rclassN"] + sizeM <- newMap "sizeM" rclassM + sizeK <- newMap "sizeK" rclassK + sizeN <- newMap "sizeN" rclassN + [sizeB1, sizeB2] <- newMaps ["sizeB1", "sizeB2"] rclassB + + x <- newTensor @a "x" [rclassB --> sizeB1, rclassM --> sizeM, rclassK --> sizeK] + y <- newTensor @a "y" [rclassB --> sizeB2, rclassK --> sizeK, rclassN --> sizeN] + + kL <- newMap "kL" rclassK + kR <- newMap "kR" rclassK + + xy <- matmul3D x y [rclassK --> kL] [ByRClass rclassB] + lhs <- smul xy w + yw <- smul y w + rhs <- matmul3D x yw [rclassK --> kR] [ByRClass rclassB] + + siRelation [kL, kR] $ \[l, r] -> l .== r + checkSIMap [kL] [kR] + + rewrite "smul distributes over matmul3D (right)" lhs rhs + +-- | Rule 3: Distributivity over addition (batched) +matmulDistributive :: forall a. NumRule a +matmulDistributive _ = do + [rclassB, rclassM, rclassK, rclassN] <- newSingletonRClasses ["rclassB", "rclassM", "rclassK", "rclassN"] + sizeM <- newMap "sizeM" rclassM + sizeK <- newMap "sizeK" rclassK + sizeN <- newMap "sizeN" rclassN + [sizeB1, sizeB2, sizeB3] <- newMaps ["sizeB1", "sizeB2", "sizeB3"] rclassB + + x <- newTensor @a "x" [rclassB --> sizeB1, rclassM --> sizeM, rclassK --> sizeK] + y <- newTensor @a "y" [rclassB --> sizeB2, rclassK --> sizeK, rclassN --> sizeN] + z <- newTensor @a "z" [rclassB --> sizeB3, rclassK --> sizeK, rclassN --> sizeN] + + yz <- ewadd y z + kL <- newMap "kL" rclassK + kR1 <- newMap "kR1" rclassK + kR2 <- newMap "kR2" rclassK + + lhs <- matmul3D x yz [rclassK --> kL] [ByRClass rclassB] + xy <- matmul3D x y [rclassK --> kR1] [ByRClass rclassB] + xz <- matmul3D x z [rclassK --> kR2] [ByRClass rclassB] + rhs <- ewadd xy xz + + siRelation [kL, kR1] $ \[l, r] -> l .== r + siRelation [kL, kR2] $ \[l, r] -> l .== r + checkSIMap [kL] [kR1, kR2] + + rewrite "matmul3D distributes over ewadd" lhs rhs + +-- | Rule 6: Right concatenation (batched) +matmulConcatRight :: forall a. NumRule a +matmulConcatRight _ = do + [rclassB, rclassM, rclassK, rclassN] <- newSingletonRClasses ["rclassB", "rclassM", "rclassK", "rclassN"] + sizeM <- newMap "sizeM" rclassM + sizeK <- newMap "sizeK" rclassK + [sizeN1, sizeN2] <- newMaps ["sizeN1", "sizeN2"] rclassN + [sizeB1, sizeB2, sizeB3] <- newMaps ["sizeB1", "sizeB2", "sizeB3"] rclassB + + x <- newTensor @a "x" [rclassB --> sizeB1, rclassM --> sizeM, rclassK --> sizeK] + y <- newTensor @a "y" [rclassB --> sizeB2, rclassK --> sizeK, rclassN --> sizeN1] + z <- newTensor @a "z" [rclassB --> sizeB3, rclassK --> sizeK, rclassN --> sizeN2] + + kL1 <- newMap "kL1" rclassK + kL2 <- newMap "kL2" rclassK + xy <- matmul3D x y [rclassK --> kL1] [ByRClass rclassB] + xz <- matmul3D x z [rclassK --> kL2] [ByRClass rclassB] + lhs <- concat (ByRClass rclassN) xy xz + + yz <- concat (ByRClass rclassN) y z + kR <- newMap "kR" rclassK + rhs <- matmul3D x yz [rclassK --> kR] [ByRClass rclassB] + + siRelation [kL1, kR] $ \[l, r] -> l .== r + siRelation [kL2, kR] $ \[l, r] -> l .== r + checkSIMap [kL1, kL2] [kR] + + rewrite "concat along N moves through matmul3D(x, ·)" lhs rhs + +-- -- | Rule 7: Concatenation and matrix multiplication (mixed) +-- -- ∀x, y, z, w. matmul(concat(1, x, z), concat(0, y, w)) = ewadd(matmul(x, y), matmul(z, w)) + +-- -- | Rule 7: Mixed concatenation (batched) +-- matmulConcatMixed :: forall a. NumRule a +-- matmulConcatMixed _ = do +-- [rclassB, rclassM, rclassK, rclassN] <- newSingletonRClasses ["rclassB", "rclassM", "rclassK", "rclassN"] +-- sizeM <- newMap "sizeM" rclassM +-- [sizeK1, sizeK2] <- newMaps ["sizeK1", "sizeK2"] rclassK +-- sizeN <- newMap "sizeN" rclassN +-- [sizeB1, sizeB2, sizeB3, sizeB4] <- newMaps ["sizeB1", "sizeB2", "sizeB3", "sizeB4"] rclassB + +-- x <- newTensor @a "x" [rclassB --> sizeB1, rclassM --> sizeM, rclassK --> sizeK1] +-- y <- newTensor @a "y" [rclassB --> sizeB2, rclassK --> sizeK1, rclassN --> sizeN] +-- z <- newTensor @a "z" [rclassB --> sizeB3, rclassM --> sizeM, rclassK --> sizeK2] +-- w <- newTensor @a "w" [rclassB --> sizeB4, rclassK --> sizeK2, rclassN --> sizeN] + +-- -- M and N must match across pairs; K is split into K1 and K2 (no equality needed) +-- siRelation [sizeM] $ \[_] -> true +-- siRelation [sizeN] $ \[_] -> true +-- -- All batch sizes must match so that B is a proper batch axis +-- precondition [sizeB1, sizeB2] $ \[b1, b2] -> b1 .== b2 +-- precondition [sizeB1, sizeB3] $ \[b1, b3] -> b1 .== b3 +-- precondition [sizeB1, sizeB4] $ \[b1, b4] -> b1 .== b4 + +-- xk <- concat (ByRClass rclassK) x z +-- yk <- concat (ByRClass rclassK) y w + +-- kL <- newMap "kL" rclassK +-- lhs <- matmul3D xk yk [rclassK --> kL] [ByRClass rclassB] +-- -- Use the SAME SI map on RHS terms so each RHS SI has a corresponding LHS SI +-- xy <- matmul3D x y [rclassK --> kL] [ByRClass rclassB] +-- zw <- matmul3D z w [rclassK --> kL] [ByRClass rclassB] + +-- rhs <- ewadd xy zw + +-- -- Register only LHS SI map to satisfy verifier subset condition +-- checkSIMap [kL] [] + +-- rewrite "matmul3D(concat_K x z, concat_K y w) ⇒ matmul3D(x,y) + matmul3D(z,w)" lhs rhs + +main :: IO () +main = do + printTitle "#################### matmulAssociativity ####################" + verifyNumDSL matmulAssociativity + + printTitle "#################### matmulScalarLinear #####################" + verifyNumDSL matmulScalarLinear + + printTitle "#################### matmulDistributive #####################" + verifyNumDSL matmulDistributive + + printTitle "#################### matmulConcatRight ######################" + verifyNumDSL matmulConcatRight + +-- printTitle "##################### matmulConcatMixed #####################" +-- verifyNumDSL matmulConcatMixed diff --git a/rules/taso/split/Main.hs b/rules/taso/split/Main.hs new file mode 100644 index 0000000..ec70b42 --- /dev/null +++ b/rules/taso/split/Main.hs @@ -0,0 +1,48 @@ +module Main (main) where + +import Grisette hiding (dot, (-->)) +import TensorRight +import TensorRight.Internal.DSL.DSL (checkSIMap, monitorExprOnFailure, newRClasses, siRelation) +import TensorRight.Internal.DSL.TASO (concat, split0, split1) +import Prelude hiding (concat) + +rule_split0 :: forall a. NumRule a -- Verify desugaring +rule_split0 _ = do + [rclassM, rclassN] <- newRClasses ["rclassM", "rclassN"] + sizeM1 <- newMap "sizeM1" rclassM + sizeM2 <- newMap "sizeM2" rclassM + + sizeN <- newMap "sizeN" rclassN + + x <- newTensor @a "x" [rclassM --> sizeM1, rclassN --> sizeN] + y <- newTensor @a "y" [rclassM --> sizeM2, rclassN --> sizeN] + + let concatAxis = ByRClass rclassN + lhs <- split0 concatAxis $ concat concatAxis x y + let rhs = x + + rewrite "split_0(a, concat(a, x, y)) ⇒ x" lhs rhs + +rule_split1 :: forall a. NumRule a -- Verify desugaring +rule_split1 _ = do + [rclassM, rclassN] <- newRClasses ["rclassM", "rclassN"] + sizeM1 <- newMap "sizeM1" rclassM + sizeM2 <- newMap "sizeM2" rclassM + + sizeN <- newMap "sizeN" rclassN + + x <- newTensor @a "x" [rclassM --> sizeM1, rclassN --> sizeN] + y <- newTensor @a "y" [rclassM --> sizeM2, rclassN --> sizeN] + + let concatAxis = ByRClass rclassN + lhs <- split1 concatAxis $ concat concatAxis x y + let rhs = y + + rewrite "split_1(a, concat(a, x, y)) ⇒ y" lhs rhs + +main :: IO () +main = do + printTitle "#################### split0 ####################" + verifyNumDSL rule_split0 + printTitle "#################### split1 ####################" + verifyNumDSL rule_split1 \ No newline at end of file diff --git a/rules/xla/dot/Main.hs b/rules/xla/dot/Main.hs index 17f494f..3e2e00c 100644 --- a/rules/xla/dot/Main.hs +++ b/rules/xla/dot/Main.hs @@ -1,6 +1,5 @@ module Main (main) where -import Debug.Trace (traceShow) import Grisette hiding (dot, (-->)) import TensorRight diff --git a/src/TensorRight/Internal/DSL/DSL.hs b/src/TensorRight/Internal/DSL/DSL.hs index b7a82ef..ee7f2a5 100644 --- a/src/TensorRight/Internal/DSL/DSL.hs +++ b/src/TensorRight/Internal/DSL/DSL.hs @@ -90,6 +90,7 @@ module TensorRight.Internal.DSL.DSL reshapeDegenerate, numTensorAssumption, ExprInContext, + liftInContext, ) where @@ -100,7 +101,6 @@ import qualified Data.HashMap.Lazy as HM import qualified Data.HashSet as HS import Data.String (IsString) import qualified Data.Text as T -import Debug.Trace (traceM) import Grisette ( Mergeable, SymBool, @@ -1222,13 +1222,6 @@ dot lhs rhs contractingSIMapsDesc batchRClasses = do let lhsAllRefs = abstractShapeAllRefs shapeLhs let rhsAllRefs = abstractShapeAllRefs shapeRhs - traceM $ "batchRClasses" ++ show batchRClasses - traceM $ "contractingSIMaps" ++ show contractingSIMaps - traceM $ "lhsRefs" ++ show lhsAllRefs - traceM $ "rhsRefs" ++ show rhsAllRefs - traceM $ "dotAllRefs" ++ show dotAllRefs - traceM $ "intersection" ++ show (HS.intersection lhsAllRefs rhsAllRefs) - assert ( "Contraction + batch rclasses must be exactly the interaction of lhs and " <> "rhs rclasses" diff --git a/src/TensorRight/Internal/DSL/TASO.hs b/src/TensorRight/Internal/DSL/TASO.hs index 26cfb49..61f335d 100644 --- a/src/TensorRight/Internal/DSL/TASO.hs +++ b/src/TensorRight/Internal/DSL/TASO.hs @@ -18,17 +18,23 @@ module TensorRight.Internal.DSL.TASO smul, relu, concat, + split0, + split1, transpose, enlarge, matmul2D, + matmul3D, ) where +import Control.Monad.Except (MonadError (throwError)) import Grisette (SymInteger, symIte, (.&&), (.<=), (.==), (.>=)) import TensorRight (NumBinOp (Add, Mul), ToElem, concatTensor, posInf) import TensorRight.Internal.Core.Tensor (ToDType) import TensorRight.Internal.DSL.DSL - ( DSLContext, + ( ConvConfig, + ConvPadding, + DSLContext, Expr, ExprInContext, Padding (..), @@ -36,7 +42,10 @@ import TensorRight.Internal.DSL.DSL ValidNum, clampScalar, combineMap, + conv, + liftInContext, matmul2DHelper, + matmul3DHelper, newConstMap, numBinOp, numBinScalarOp, @@ -44,12 +53,17 @@ import TensorRight.Internal.DSL.DSL precondition, transpose2D, ) -import TensorRight.Internal.DSL.Expr (checkMapHasRClass, getRClassByMap) +import TensorRight.Internal.DSL.Expr (Expr, UExpr, checkMapHasRClass, getRClassByMap) +import qualified TensorRight.Internal.DSL.Expr as E import TensorRight.Internal.DSL.Identifier (MapIdentifier) import TensorRight.Internal.DSL.Parameters (ParamDesc (..)) import TensorRight.Internal.DSL.Syntax (ArrowSyntax ((-->))) import Prelude hiding (concat) +data Activation = Relu | None + +data PaddingMode = Same | Valid + -- | TASO's ewadd operator. The lhs and rhs must have the same shape and the type must be either 'IntType' or 'RealType'. ewadd :: (ExprInContext lhs, ExprInContext rhs) => @@ -179,32 +193,62 @@ matmul2D :: DSLContext Expr matmul2D = matmul2DHelper +-- | TASO's 2D matrix multiplication operator +matmul3D :: + (ExprInContext lhs, ExprInContext rhs) => + -- | The left-hand side tensor (shape [M, K]) + lhs -> + -- | The right-hand side tensor (shape [K, N]) + rhs -> + -- | The contracting SI maps. + [ParamDesc] -> + -- | Batch RClasses + [RClassRef] -> + DSLContext Expr +matmul3D = matmul3DHelper + -- -- | TASO's 2D matrix multiplication operator -- tasoConv :: -- (ExprInContext input, ExprInContext weights, ValidNum a) => --- -- | The input tensor. +-- ConvConfig -> +-- -- | Convolution padding config +-- PaddingMode -> +-- -- | Choice of activation function +-- Activation -> +-- -- | Input tensor -- input -> -- -- | The weights (kernel) tensor. -- weights -> --- a -> --- ConvRes a - --- -- | TASO's split0 operator --- split0 :: --- (ExprInContext e) => --- -- | The aggregated-axis to split on. --- RClassRef -> --- -- | The tensor to split. --- e -> --- DSLContext Expr --- split0 = undefined - --- -- | TASO's split0 operator --- split1 :: --- (ExprInContext e) => --- -- | The aggregated-axis to split on. --- RClassRef -> --- -- | The tensor to split. --- e -> -- DSLContext Expr --- split1 = undefined \ No newline at end of file +-- tasoConv convConfig padConfig act input weights = do +-- -- Construct padding config based on inputs +-- let out_expr = conv input weights padConfig +-- case act of +-- Relu -> relu out_expr +-- _ -> out_expr + +-- | TASO's split0 operator +split0 :: + (ExprInContext e) => + RClassRef -> + e -> + DSLContext Expr +split0 axis e' = do + e <- liftInContext e' + case e of + E.Concat _ l _ d | d == axis -> return l + E.Concat {} -> throwError "split0: expected Concat on the given axis" + _ -> throwError "split0: input is not a Concat" + +-- | TASO's split1 operator +split1 :: + (ExprInContext e) => + RClassRef -> + e -> + DSLContext Expr +split1 axis e' = do + e <- liftInContext e' + case e of + E.Concat _ _ r d | d == axis -> return r + E.Concat {} -> throwError "split1: expected Concat on the given axis" + _ -> throwError "split1: input is not a Concat" \ No newline at end of file diff --git a/tensor-right.cabal b/tensor-right.cabal index 65499e3..1f44dce 100644 --- a/tensor-right.cabal +++ b/tensor-right.cabal @@ -205,12 +205,42 @@ executable rules-taso-ewmul unordered-containers default-language: Haskell2010 -executable rules-taso-matmul +executable rules-taso-matmul2D main-is: Main.hs other-modules: Paths_tensor_right hs-source-dirs: - rules/taso/matmul + rules/taso/matmul2D + default-extensions: + DuplicateRecordFields + OverloadedStrings + TypeApplications + AllowAmbiguousTypes + ScopedTypeVariables + FlexibleContexts + RankNTypes + ghc-options: -threaded -rtsopts -with-rtsopts=-N + build-depends: + base >=4.14 && <5, + deepseq, + grisette ==0.11.*, + hashable, + mtl, + ordered-containers, + prettyprinter, + sbv, + template-haskell, + tensor-right, + text, + unordered-containers + default-language: Haskell2010 + +executable rules-taso-matmul3D + main-is: Main.hs + other-modules: + Paths_tensor_right + hs-source-dirs: + rules/taso/matmul3D default-extensions: DuplicateRecordFields OverloadedStrings @@ -295,6 +325,36 @@ executable rules-taso-smul unordered-containers default-language: Haskell2010 +executable rules-taso-split + main-is: Main.hs + other-modules: + Paths_tensor_right + hs-source-dirs: + rules/taso/split + default-extensions: + DuplicateRecordFields + OverloadedStrings + TypeApplications + AllowAmbiguousTypes + ScopedTypeVariables + FlexibleContexts + RankNTypes + ghc-options: -threaded -rtsopts -with-rtsopts=-N + build-depends: + base >=4.14 && <5, + deepseq, + grisette ==0.11.*, + hashable, + mtl, + ordered-containers, + prettyprinter, + sbv, + template-haskell, + tensor-right, + text, + unordered-containers + default-language: Haskell2010 + executable rules-taso-transpose main-is: Main.hs other-modules: From 95103006a293a7ac59c36d743fd0a453fc74ecb7 Mon Sep 17 00:00:00 2001 From: lexu27 Date: Sat, 18 Oct 2025 23:15:10 -0500 Subject: [PATCH 19/25] Finished convolution operator --- hie.yaml | 6 + package.yaml | 6 + rules/taso/conv/Main.hs | 696 ++++++++++++++++++ rules/taso/ewadd/Main.hs | 26 +- rules/taso/ewmul/Main.hs | 44 +- rules/taso/matmul2D/Main.hs | 62 +- rules/taso/matmul3D/Main.hs | 93 +-- rules/taso/relu/Main.hs | 8 +- rules/taso/smul/Main.hs | 32 +- rules/taso/split/Main.hs | 16 +- src/TensorRight/Internal/Core/Tensor/Typed.hs | 7 +- src/TensorRight/Internal/Core/Verify.hs | 12 +- src/TensorRight/Internal/DSL/Eval.hs | 2 +- src/TensorRight/Internal/DSL/TASO.hs | 206 +++++- tensor-right.cabal | 30 + 15 files changed, 1073 insertions(+), 173 deletions(-) create mode 100644 rules/taso/conv/Main.hs diff --git a/hie.yaml b/hie.yaml index 6ce109c..8683628 100644 --- a/hie.yaml +++ b/hie.yaml @@ -63,6 +63,12 @@ cradle: - path: "./rules/taso/matmul3D/Paths_tensor_right.hs" component: "tensor-right:exe:rules-taso-matmul3D" + - path: "./rules/taso/conv/Main.hs" + component: "tensor-right:exe:rules-taso-conv" + + - path: "./rules/taso/conv/Paths_tensor_right.hs" + component: "tensor-right:exe:rules-taso-conv" + - path: "./rules/xla/add/Main.hs" component: "tensor-right:exe:rules-xla-add" diff --git a/package.yaml b/package.yaml index a15a436..fd426fc 100644 --- a/package.yaml +++ b/package.yaml @@ -250,6 +250,12 @@ executables: dependencies: tensor-right ghc-options: *exe-ghc-options default-extensions: *exe-extensions + rules-taso-conv: + source-dirs: rules/taso/conv + main: Main.hs + dependencies: tensor-right + ghc-options: *exe-ghc-options + default-extensions: *exe-extensions # Other Executables rules-debug: source-dirs: rules/debug diff --git a/rules/taso/conv/Main.hs b/rules/taso/conv/Main.hs new file mode 100644 index 0000000..b74ee46 --- /dev/null +++ b/rules/taso/conv/Main.hs @@ -0,0 +1,696 @@ +module Main (main) where + +import Data.Proxy +import Grisette hiding (dot, (-->)) +import TensorRight +import TensorRight.Internal.DSL.DSL (ConvConfig (..), ConvPadding (..), Padding (..), checkSIMap, combineMap, monitorExprOnFailure, newConstMap, newNonNegMap, newSingletonRClass, newSingletonRClasses, pad, precondition, siRelation) +import TensorRight.Internal.DSL.Identifier (MapIdentifier, RClassIdentifier) +import TensorRight.Internal.DSL.TASO (Activation (..), PaddingMode (..), concat, enlarge, ewadd, ewmul, matmul3D, relu, smul, tasoConv) +import Prelude hiding (concat) + +-- Helper to create standard 2D conv config (explicit H and W) +mkConvConfig :: + RClassIdentifier -> -- B + RClassIdentifier -> -- C (input feature) + RClassIdentifier -> -- F (output feature) + RClassIdentifier -> -- H + RClassIdentifier -> -- W + MapIdentifier -> -- strideH + MapIdentifier -> -- strideW + MapIdentifier -> -- siC + MapIdentifier -> -- siH + MapIdentifier -> -- siW + ConvConfig +mkConvConfig rclassB rclassC rclassF rclassH rclassW stridesH stridesW siC siH siW = + ConvConfig + { batchRClasses = [ByRClass rclassB], + featureRClasses = [ByRClass rclassC], + outputFeatureRClasses = [ByRClass rclassF], + strides = [ByRClass rclassH --> stridesH, ByRClass rclassW --> stridesW], + contractingSIMaps = [ByRClass rclassC --> siC, ByRClass rclassH --> siH, ByRClass rclassW --> siW] + } + +-- | Rule 1: Convolution bilinearity - scalar multiplication swaps between input and kernel +convBilinearScalarSwapSame :: forall a. NumRule a +convBilinearScalarSwapSame _ = do + let w = ("w" :: a) + [rclassB, rclassC, rclassF, rclassH, rclassW] <- newSingletonRClasses ["rclassB", "rclassC", "rclassF", "rclassH", "rclassW"] + sizeC <- newMap "sizeC" rclassC + sizeF <- newMap "sizeF" rclassF + inputH <- newMap "inputH" rclassH + inputW <- newMap "inputW" rclassW + kernelH <- newMap "kernelH" rclassH + kernelW <- newMap "kernelW" rclassW + sizeB <- newMap "sizeB" rclassB + + x <- newTensor @a "x" [rclassB --> sizeB, rclassC --> sizeC, rclassH --> inputH, rclassW --> inputW] + y <- newTensor @a "y" [rclassF --> sizeF, rclassC --> sizeC, rclassH --> kernelH, rclassW --> kernelW] + + stridesH <- newMap "stridesH" rclassH + stridesW <- newMap "stridesW" rclassW + siC <- newMap "siC" rclassC + siH <- newMap "siH" rclassH + siW <- newMap "siW" rclassW + + let config = mkConvConfig rclassB rclassC rclassF rclassH rclassW stridesH stridesW siC siH siW + + xw <- smul x w + let inputSizes = [ByRClass rclassH --> inputH, ByRClass rclassW --> inputW] + let kernelSizes = [ByRClass rclassH --> kernelH, ByRClass rclassW --> kernelW] + lhs <- tasoConv @a config Same None inputSizes kernelSizes xw y + + yw <- smul y w + rhs <- tasoConv @a config Same None inputSizes kernelSizes x yw + + rewrite "∀s, p, c, x, y, w. conv(s, p, c, smul(x, w), y) = conv(s, p, c, x, smul(y, w))" lhs rhs + +-- | Rule 1: Convolution bilinearity - scalar multiplication swaps between input and kernel +convBilinearScalarSwapValid :: forall a. NumRule a +convBilinearScalarSwapValid _ = do + let w = ("w" :: a) + [rclassB, rclassC, rclassF, rclassH, rclassW] <- newSingletonRClasses ["rclassB", "rclassC", "rclassF", "rclassH", "rclassW"] + sizeC <- newMap "sizeC" rclassC + sizeF <- newMap "sizeF" rclassF + inputH <- newMap "inputH" rclassH + inputW <- newMap "inputW" rclassW + kernelH <- newMap "kernelH" rclassH + kernelW <- newMap "kernelW" rclassW + sizeB <- newMap "sizeB" rclassB + + x <- newTensor @a "x" [rclassB --> sizeB, rclassC --> sizeC, rclassH --> inputH, rclassW --> inputW] + y <- newTensor @a "y" [rclassF --> sizeF, rclassC --> sizeC, rclassH --> kernelH, rclassW --> kernelW] + + stridesH <- newMap "stridesH" rclassH + stridesW <- newMap "stridesW" rclassW + siC <- newMap "siC" rclassC + siH <- newMap "siH" rclassH + siW <- newMap "siW" rclassW + + let config = mkConvConfig rclassB rclassC rclassF rclassH rclassW stridesH stridesW siC siH siW + + xw <- smul x w + let inputSizes = [ByRClass rclassH --> inputH, ByRClass rclassW --> inputW] + let kernelSizes = [ByRClass rclassH --> kernelH, ByRClass rclassW --> kernelW] + lhs <- tasoConv @a config Valid None inputSizes kernelSizes xw y + + yw <- smul y w + rhs <- tasoConv @a config Valid None inputSizes kernelSizes x yw + + rewrite "∀s, p, c, x, y, w. conv(s, p, c, smul(x, w), y) = conv(s, p, c, x, smul(y, w))" lhs rhs + +-- | Rule 2: Convolution bilinearity - scalar multiplication on output +convBilinearScalarOutputSame :: forall a. NumRule a +convBilinearScalarOutputSame _ = do + let w = ("w" :: a) + [rclassB, rclassC, rclassF, rclassH, rclassW] <- newSingletonRClasses ["rclassB", "rclassC", "rclassF", "rclassH", "rclassW"] + sizeC <- newMap "sizeC" rclassC + sizeF <- newMap "sizeF" rclassF + inputH <- newMap "inputH" rclassH + inputW <- newMap "inputW" rclassW + kernelH <- newMap "kernelH" rclassH + kernelW <- newMap "kernelW" rclassW + sizeB <- newMap "sizeB" rclassB + + x <- newTensor @a "x" [rclassB --> sizeB, rclassC --> sizeC, rclassH --> inputH, rclassW --> inputW] + y <- newTensor @a "y" [rclassF --> sizeF, rclassC --> sizeC, rclassH --> kernelH, rclassW --> kernelW] + + stridesH <- newMap "stridesH" rclassH + stridesW <- newMap "stridesW" rclassW + siC <- newMap "siC" rclassC + siH <- newMap "siH" rclassH + siW <- newMap "siW" rclassW + + let config = mkConvConfig rclassB rclassC rclassF rclassH rclassW stridesH stridesW siC siH siW + + let inputSizes = [ByRClass rclassH --> inputH, ByRClass rclassW --> inputW] + let kernelSizes = [ByRClass rclassH --> kernelH, ByRClass rclassW --> kernelW] + convXY <- tasoConv @a config Same None inputSizes kernelSizes x y + lhs <- smul convXY w + + xw <- smul x w + rhs <- tasoConv @a config Same None inputSizes kernelSizes xw y + + rewrite "∀s, p, x, y, w. smul(conv(s, p, Anone, x, y), w) = conv(s, p, Anone, smul(x, w), y)" lhs rhs + +-- | Rule 2: Convolution bilinearity - scalar multiplication on output +convBilinearScalarOutputValid :: forall a. NumRule a +convBilinearScalarOutputValid _ = do + let w = ("w" :: a) + [rclassB, rclassC, rclassF, rclassH, rclassW] <- newSingletonRClasses ["rclassB", "rclassC", "rclassF", "rclassH", "rclassW"] + sizeC <- newMap "sizeC" rclassC + sizeF <- newMap "sizeF" rclassF + inputH <- newMap "inputH" rclassH + inputW <- newMap "inputW" rclassW + kernelH <- newMap "kernelH" rclassH + kernelW <- newMap "kernelW" rclassW + sizeB <- newMap "sizeB" rclassB + + x <- newTensor @a "x" [rclassB --> sizeB, rclassC --> sizeC, rclassH --> inputH, rclassW --> inputW] + y <- newTensor @a "y" [rclassF --> sizeF, rclassC --> sizeC, rclassH --> kernelH, rclassW --> kernelW] + + stridesH <- newMap "stridesH" rclassH + stridesW <- newMap "stridesW" rclassW + siC <- newMap "siC" rclassC + siH <- newMap "siH" rclassH + siW <- newMap "siW" rclassW + + let config = mkConvConfig rclassB rclassC rclassF rclassH rclassW stridesH stridesW siC siH siW + + let inputSizes = [ByRClass rclassH --> inputH, ByRClass rclassW --> inputW] + let kernelSizes = [ByRClass rclassH --> kernelH, ByRClass rclassW --> kernelW] + convXY <- tasoConv @a config Valid None inputSizes kernelSizes x y + lhs <- smul convXY w + + xw <- smul x w + rhs <- tasoConv @a config Valid None inputSizes kernelSizes xw y + + rewrite "∀s, p, x, y, w. smul(conv(s, p, Anone, x, y), w) = conv(s, p, Anone, smul(x, w), y)" lhs rhs + +-- | Rule 3: Convolution bilinearity - addition on kernel +convBilinearKernelAddSame :: forall a. NumRule a +convBilinearKernelAddSame _ = do + [rclassB, rclassC, rclassF, rclassH, rclassW] <- newSingletonRClasses ["rclassB", "rclassC", "rclassF", "rclassH", "rclassW"] + sizeC <- newMap "sizeC" rclassC + sizeF <- newMap "sizeF" rclassF + inputH <- newMap "inputH" rclassH + inputW <- newMap "inputW" rclassW + kernelH <- newMap "kernelH" rclassH + kernelW <- newMap "kernelW" rclassW + sizeB <- newMap "sizeB" rclassB + + x <- newTensor @a "x" [rclassB --> sizeB, rclassC --> sizeC, rclassH --> inputH, rclassW --> inputW] + y <- newTensor @a "y" [rclassF --> sizeF, rclassC --> sizeC, rclassH --> kernelH, rclassW --> kernelW] + z <- newTensor @a "z" [rclassF --> sizeF, rclassC --> sizeC, rclassH --> kernelH, rclassW --> kernelW] + + stridesH <- newMap "stridesH" rclassH + stridesW <- newMap "stridesW" rclassW + siC <- newMap "siC" rclassC + siH <- newMap "siH" rclassH + siW <- newMap "siW" rclassW + + let config = mkConvConfig rclassB rclassC rclassF rclassH rclassW stridesH stridesW siC siH siW + + yz <- ewadd y z + let inputSizes = [ByRClass rclassH --> inputH, ByRClass rclassW --> inputW] + let kernelSizes = [ByRClass rclassH --> kernelH, ByRClass rclassW --> kernelW] + lhs <- tasoConv @a config Same None inputSizes kernelSizes x yz + + convXY <- tasoConv @a config Same None inputSizes kernelSizes x y + convXZ <- tasoConv @a config Same None inputSizes kernelSizes x z + rhs <- ewadd convXY convXZ + + rewrite "∀s, p, x, y, z. conv(s, p, Anone, x, ewadd(y, z)) = ewadd(conv(s, p, Anone, x, y), conv(s, p, Anone, x, z))" lhs rhs + +-- | Rule 3: Convolution bilinearity - addition on kernel +convBilinearKernelAddValid :: forall a. NumRule a +convBilinearKernelAddValid _ = do + [rclassB, rclassC, rclassF, rclassH, rclassW] <- newSingletonRClasses ["rclassB", "rclassC", "rclassF", "rclassH", "rclassW"] + sizeC <- newMap "sizeC" rclassC + sizeF <- newMap "sizeF" rclassF + inputH <- newMap "inputH" rclassH + inputW <- newMap "inputW" rclassW + kernelH <- newMap "kernelH" rclassH + kernelW <- newMap "kernelW" rclassW + sizeB <- newMap "sizeB" rclassB + + x <- newTensor @a "x" [rclassB --> sizeB, rclassC --> sizeC, rclassH --> inputH, rclassW --> inputW] + y <- newTensor @a "y" [rclassF --> sizeF, rclassC --> sizeC, rclassH --> kernelH, rclassW --> kernelW] + z <- newTensor @a "z" [rclassF --> sizeF, rclassC --> sizeC, rclassH --> kernelH, rclassW --> kernelW] + + stridesH <- newMap "stridesH" rclassH + stridesW <- newMap "stridesW" rclassW + siC <- newMap "siC" rclassC + siH <- newMap "siH" rclassH + siW <- newMap "siW" rclassW + + let config = mkConvConfig rclassB rclassC rclassF rclassH rclassW stridesH stridesW siC siH siW + + yz <- ewadd y z + let inputSizes = [ByRClass rclassH --> inputH, ByRClass rclassW --> inputW] + let kernelSizes = [ByRClass rclassH --> kernelH, ByRClass rclassW --> kernelW] + lhs <- tasoConv @a config Valid None inputSizes kernelSizes x yz + + convXY <- tasoConv @a config Valid None inputSizes kernelSizes x y + convXZ <- tasoConv @a config Valid None inputSizes kernelSizes x z + rhs <- ewadd convXY convXZ + + rewrite "∀s, p, x, y, z. conv(s, p, Anone, x, ewadd(y, z)) = ewadd(conv(s, p, Anone, x, y), conv(s, p, Anone, x, z))" lhs rhs + +-- | Rule 4: Convolution bilinearity - addition on input +convBilinearInputAddSame :: forall a. NumRule a +convBilinearInputAddSame _ = do + [rclassB, rclassC, rclassF, rclassH, rclassW] <- newSingletonRClasses ["rclassB", "rclassC", "rclassF", "rclassH", "rclassW"] + sizeC <- newMap "sizeC" rclassC + sizeF <- newMap "sizeF" rclassF + inputH <- newMap "inputH" rclassH + inputW <- newMap "inputW" rclassW + kernelH <- newMap "kernelH" rclassH + kernelW <- newMap "kernelW" rclassW + [sizeB1, sizeB2] <- newMaps ["sizeB1", "sizeB2"] rclassB + + x <- newTensor @a "x" [rclassB --> sizeB1, rclassC --> sizeC, rclassH --> inputH, rclassW --> inputW] + y <- newTensor @a "y" [rclassB --> sizeB2, rclassC --> sizeC, rclassH --> inputH, rclassW --> inputW] + z <- newTensor @a "z" [rclassF --> sizeF, rclassC --> sizeC, rclassH --> kernelH, rclassW --> kernelW] + + stridesH <- newMap "stridesH" rclassH + stridesW <- newMap "stridesW" rclassW + siC <- newMap "siC" rclassC + siH <- newMap "siH" rclassH + siW <- newMap "siW" rclassW + + let config = mkConvConfig rclassB rclassC rclassF rclassH rclassW stridesH stridesW siC siH siW + + xy <- ewadd x y + let inputSizes = [ByRClass rclassH --> inputH, ByRClass rclassW --> inputW] + let kernelSizes = [ByRClass rclassH --> kernelH, ByRClass rclassW --> kernelW] + lhs <- tasoConv @a config Same None inputSizes kernelSizes xy z + + convXZ <- tasoConv @a config Same None inputSizes kernelSizes x z + convYZ <- tasoConv @a config Same None inputSizes kernelSizes y z + rhs <- ewadd convXZ convYZ + + rewrite "∀s, p, x, y, z. conv(s, p, Anone, ewadd(x, y), z) = ewadd(conv(s, p, Anone, x, z), conv(s, p, Anone, y, z))" lhs rhs + +-- | Rule 4: Convolution bilinearity - addition on input +convBilinearInputAddValid :: forall a. NumRule a +convBilinearInputAddValid _ = do + [rclassB, rclassC, rclassF, rclassH, rclassW] <- newSingletonRClasses ["rclassB", "rclassC", "rclassF", "rclassH", "rclassW"] + sizeC <- newMap "sizeC" rclassC + sizeF <- newMap "sizeF" rclassF + inputH <- newMap "inputH" rclassH + inputW <- newMap "inputW" rclassW + kernelH <- newMap "kernelH" rclassH + kernelW <- newMap "kernelW" rclassW + [sizeB1, sizeB2] <- newMaps ["sizeB1", "sizeB2"] rclassB + + x <- newTensor @a "x" [rclassB --> sizeB1, rclassC --> sizeC, rclassH --> inputH, rclassW --> inputW] + y <- newTensor @a "y" [rclassB --> sizeB2, rclassC --> sizeC, rclassH --> inputH, rclassW --> inputW] + z <- newTensor @a "z" [rclassF --> sizeF, rclassC --> sizeC, rclassH --> kernelH, rclassW --> kernelW] + + stridesH <- newMap "stridesH" rclassH + stridesW <- newMap "stridesW" rclassW + siC <- newMap "siC" rclassC + siH <- newMap "siH" rclassH + siW <- newMap "siW" rclassW + + let config = mkConvConfig rclassB rclassC rclassF rclassH rclassW stridesH stridesW siC siH siW + + xy <- ewadd x y + let inputSizes = [ByRClass rclassH --> inputH, ByRClass rclassW --> inputW] + let kernelSizes = [ByRClass rclassH --> kernelH, ByRClass rclassW --> kernelW] + lhs <- tasoConv @a config Valid None inputSizes kernelSizes xy z + + convXZ <- tasoConv @a config Valid None inputSizes kernelSizes x z + convYZ <- tasoConv @a config Valid None inputSizes kernelSizes y z + rhs <- ewadd convXZ convYZ + + rewrite "∀s, p, x, y, z. conv(s, p, Anone, ewadd(x, y), z) = ewadd(conv(s, p, Anone, x, z), conv(s, p, Anone, y, z))" lhs rhs + +-- | Rule 5: Convolution with SAME padding and kernel enlarge (2D) +convSameEnlarge :: forall a. NumRule a +convSameEnlarge _ = do + [rclassB, rclassC, rclassF, rclassH, rclassW] <- newSingletonRClasses ["rclassB", "rclassC", "rclassF", "rclassH", "rclassW"] + sizeC <- newMap "sizeC" rclassC + sizeF <- newMap "sizeF" rclassF + inputH <- newMap "inputH" rclassH + inputW <- newMap "inputW" rclassW + kernelH <- newMap "kernelH" rclassH + kernelW <- newMap "kernelW" rclassW + sizeB <- newMap "sizeB" rclassB + + x <- newTensor @a "x" [rclassB --> sizeB, rclassC --> sizeC, rclassH --> inputH, rclassW --> inputW] + y <- newTensor @a "y" [rclassF --> sizeF, rclassC --> sizeC, rclassH --> kernelH, rclassW --> kernelW] + + stridesH <- newMap "stridesH" rclassH + stridesW <- newMap "stridesW" rclassW + siC <- newMap "siC" rclassC + siH <- newMap "siH" rclassH + siW <- newMap "siW" rclassW + + let config = + ConvConfig + { batchRClasses = [ByRClass rclassB], + featureRClasses = [ByRClass rclassC], + outputFeatureRClasses = [ByRClass rclassF], + strides = [ByRClass rclassH --> stridesH, ByRClass rclassW --> stridesW], + contractingSIMaps = [ByRClass rclassC --> siC, ByRClass rclassH --> siH, ByRClass rclassW --> siW] + } + + let inputSizes = [ByRClass rclassH --> inputH, ByRClass rclassW --> inputW] + let kernelSizes = [ByRClass rclassH --> kernelH, ByRClass rclassW --> kernelW] + lhs <- tasoConv @a config Same None inputSizes kernelSizes x y + + -- Enlarge kernel along H and W using built-in 2D enlarge + hLow <- newNonNegMap "hLow" rclassH + wLow <- newNonNegMap "wLow" rclassW + let kHy = ssym "kHy" :: SymInteger + let kWx = ssym "kWx" :: SymInteger + yEnlarged <- enlarge @a (ByRClass rclassH --> kernelH) (ByRClass rclassW --> kernelW) hLow wLow kHy kWx y + + -- Compute enlarged kernel size maps (max with kHy/kWx) for SAME conv sizes + kHMap <- newConstMap "kHMap" kHy rclassH + kWMap <- newConstMap "kWMap" kWx rclassW + precondition [kHMap] $ \[k] -> k .>= 0 + precondition [kWMap] $ \[k] -> k .>= 0 + kernelH' <- combineMap "kernelH'" (\[s, k] -> symIte (s .>= k) s k) [kernelH, kHMap] + kernelW' <- combineMap "kernelW'" (\[s, k] -> symIte (s .>= k) s k) [kernelW, kWMap] + let kernelSizesRHS = [ByRClass rclassH --> kernelH', ByRClass rclassW --> kernelW'] + rhs <- tasoConv @a config Same None inputSizes kernelSizesRHS x yEnlarged + + rewrite "conv(SAME, x, y) = conv(SAME, x, enlargeKernel2D(y))" lhs rhs + +-- convIdentitySame :: forall a. NumRule a +-- convIdentitySame _ = do +-- -- RClasses: batch, channel/feature (shared!), spatial H/W +-- [rclassB, rclassCF, rclassH, rclassW] <- newSingletonRClasses ["rclassB", "rclassCF", "rclassH", "rclassW"] + +-- -- Size maps +-- sizeB <- newMap "sizeB" rclassB +-- sizeCF <- newMap "sizeCF" rclassCF -- ONE map for both input C and output F +-- inputH <- newMap "inputH" rclassH +-- inputW <- newMap "inputW" rclassW +-- kernelH <- newMap "kernelH" rclassH +-- kernelW <- newMap "kernelW" rclassW + +-- -- Input tensor [B, CF, H, W] +-- x <- newTensor @a "x" [rclassB --> sizeB, rclassCF --> sizeCF, rclassH --> inputH, rclassW --> inputW] + +-- -- Strides and SI maps +-- stridesH <- newMap "stridesH" rclassH +-- stridesW <- newMap "stridesW" rclassW +-- siCF <- newMap "siCF" rclassCF -- ONE SI map for channel/feature +-- siH <- newMap "siH" rclassH +-- siW <- newMap "siW" rclassW + +-- let config = +-- ConvConfig +-- { batchRClasses = [ByRClass rclassB], +-- featureRClasses = [ByRClass rclassCF], -- Same RClass for input/output! +-- outputFeatureRClasses = [ByRClass rclassCF], -- Same RClass for input/output! +-- strides = [ByRClass rclassH --> stridesH, ByRClass rclassW --> stridesW], +-- contractingSIMaps = [ByRClass rclassCF --> siCF, ByRClass rclassH --> siH, ByRClass rclassW --> siW] +-- } + +-- -- SAME padding + stride=1 preconditions +-- precondition [stridesH] $ \[s] -> s .== 1 +-- precondition [stridesW] $ \[s] -> s .== 1 + +-- -- Odd kernel sizes via centers: k = 2*c + 1 +-- let cH = ssym "centerH" :: SymInteger +-- let cW = ssym "centerW" :: SymInteger +-- precondition [kernelH] $ \[k] -> k .== (2 * cH + 1) +-- precondition [kernelW] $ \[k] -> k .== (2 * cW + 1) + +-- -- Build explicit identity kernel: 1 when (CF_out==CF_in && H==cH && W==cW), else 0 +-- -- Since kernel has rclassCF twice, we MUST use labels to disambiguate +-- let kShape = [rclassCF --> sizeCF @@ "CFout", rclassCF --> sizeCF @@ "CFin", rclassH --> kernelH, rclassW --> kernelW] +-- iCF_out <- iota kShape (ByLabel "CFout") -- Output feature index +-- iCF_in <- iota kShape (ByLabel "CFin") -- Input feature index +-- iH <- iota kShape (ByRClass rclassH) +-- iW <- iota kShape (ByRClass rclassW) + +-- cHTensor <- constant @TensorInt (nonInf cH) kShape +-- cWTensor <- constant @TensorInt (nonInf cW) kShape + +-- condCF <- compareOp Eqv iCF_out iCF_in -- Diagonal: channel i maps to channel i +-- condH <- compareOp Eqv iH cHTensor +-- condW <- compareOp Eqv iW cWTensor +-- condHW <- boolBinOp And condH condW +-- condAll <- boolBinOp And condCF condHW + +-- one <- constant @a 1 kShape +-- zero <- constant @a 0 kShape +-- idKernel <- select condAll one zero + +-- let inputSizes = [ByRClass rclassH --> inputH, ByRClass rclassW --> inputW] +-- let kernelSizes = [ByRClass rclassH --> kernelH, ByRClass rclassW --> kernelW] + +-- lhs <- tasoConv @a config Same None inputSizes kernelSizes x idKernel +-- let rhs = x -- No transformation needed! Shapes already match: [B, CF, H, W] +-- rewrite "∀x. conv(SAME, stride=1; identity-kernel) = x" lhs rhs + +-- | Rule 6: Convolution with ReLU activation +convReluActivation :: forall a. NumRule a +convReluActivation _ = do + [rclassB, rclassC, rclassF, rclassH, rclassW] <- newSingletonRClasses ["rclassB", "rclassC", "rclassF", "rclassH", "rclassW"] + sizeC <- newMap "sizeC" rclassC + sizeF <- newMap "sizeF" rclassF + inputH <- newMap "inputH" rclassH + inputW <- newMap "inputW" rclassW + kernelH <- newMap "kernelH" rclassH + kernelW <- newMap "kernelW" rclassW + sizeB <- newMap "sizeB" rclassB + + x <- newTensor @a "x" [rclassB --> sizeB, rclassC --> sizeC, rclassH --> inputH, rclassW --> inputW] + y <- newTensor @a "y" [rclassF --> sizeF, rclassC --> sizeC, rclassH --> kernelH, rclassW --> kernelW] + + stridesH <- newMap "stridesH" rclassH + stridesW <- newMap "stridesW" rclassW + siC <- newMap "siC" rclassC + siH <- newMap "siH" rclassH + siW <- newMap "siW" rclassW + + let config = mkConvConfig rclassB rclassC rclassF rclassH rclassW stridesH stridesW siC siH siW + + let inputSizes = [ByRClass rclassH --> inputH, ByRClass rclassW --> inputW] + let kernelSizes = [ByRClass rclassH --> kernelH, ByRClass rclassW --> kernelW] + lhs <- tasoConv @a config Valid Relu inputSizes kernelSizes x y + + convXY <- tasoConv @a config Valid None inputSizes kernelSizes x y + rhs <- relu @a convXY + + rewrite "∀s, p, x, y. conv(s, p, Arelu, x, y) = relu(conv(s, p, Anone, x, y))" lhs rhs + +-- | Rule 7: Concatenation along batch dimension distributes over conv +convConcatInputBatchSame :: forall a. NumRule a +convConcatInputBatchSame _ = do + [rclassB, rclassC, rclassF, rclassH, rclassW] <- newSingletonRClasses ["rclassB", "rclassC", "rclassF", "rclassH", "rclassW"] + sizeC <- newMap "sizeC" rclassC + sizeF <- newMap "sizeF" rclassF + inputH <- newMap "inputH" rclassH + inputW <- newMap "inputW" rclassW + kernelH <- newMap "kernelH" rclassH + kernelW <- newMap "kernelW" rclassW + [sizeB1, sizeB2] <- newMaps ["sizeB1", "sizeB2"] rclassB + + x <- newTensor @a "x" [rclassB --> sizeB1, rclassC --> sizeC, rclassH --> inputH, rclassW --> inputW] + y <- newTensor @a "y" [rclassB --> sizeB2, rclassC --> sizeC, rclassH --> inputH, rclassW --> inputW] + z <- newTensor @a "z" [rclassF --> sizeF, rclassC --> sizeC, rclassH --> kernelH, rclassW --> kernelW] + + stridesH <- newMap "stridesH" rclassH + stridesW <- newMap "stridesW" rclassW + siC <- newMap "siC" rclassC + siH <- newMap "siH" rclassH + siW <- newMap "siW" rclassW + + let config = mkConvConfig rclassB rclassC rclassF rclassH rclassW stridesH stridesW siC siH siW + + let inputSizes = [ByRClass rclassH --> inputH, ByRClass rclassW --> inputW] + let kernelSizes = [ByRClass rclassH --> kernelH, ByRClass rclassW --> kernelW] + convXZ <- tasoConv @a config Same None inputSizes kernelSizes x z + convYZ <- tasoConv @a config Same None inputSizes kernelSizes y z + lhs <- concat (ByRClass rclassB) convXZ convYZ + + xy <- concat (ByRClass rclassB) x y + rhs <- tasoConv @a config Same None inputSizes kernelSizes xy z + + rewrite "∀s, p, c, x, y, z. concat(0, conv(s, p, c, x, z), conv(s, p, c, y, z)) = conv(s, p, c, concat(0, x, y), z)" lhs rhs + +-- | Rule 7: Concatenation along batch dimension distributes over conv +convConcatInputBatchValid :: forall a. NumRule a +convConcatInputBatchValid _ = do + [rclassB, rclassC, rclassF, rclassH, rclassW] <- newSingletonRClasses ["rclassB", "rclassC", "rclassF", "rclassH", "rclassW"] + sizeC <- newMap "sizeC" rclassC + sizeF <- newMap "sizeF" rclassF + inputH <- newMap "inputH" rclassH + inputW <- newMap "inputW" rclassW + kernelH <- newMap "kernelH" rclassH + kernelW <- newMap "kernelW" rclassW + [sizeB1, sizeB2] <- newMaps ["sizeB1", "sizeB2"] rclassB + + x <- newTensor @a "x" [rclassB --> sizeB1, rclassC --> sizeC, rclassH --> inputH, rclassW --> inputW] + y <- newTensor @a "y" [rclassB --> sizeB2, rclassC --> sizeC, rclassH --> inputH, rclassW --> inputW] + z <- newTensor @a "z" [rclassF --> sizeF, rclassC --> sizeC, rclassH --> kernelH, rclassW --> kernelW] + + stridesH <- newMap "stridesH" rclassH + stridesW <- newMap "stridesW" rclassW + siC <- newMap "siC" rclassC + siH <- newMap "siH" rclassH + siW <- newMap "siW" rclassW + + let config = mkConvConfig rclassB rclassC rclassF rclassH rclassW stridesH stridesW siC siH siW + + let inputSizes = [ByRClass rclassH --> inputH, ByRClass rclassW --> inputW] + let kernelSizes = [ByRClass rclassH --> kernelH, ByRClass rclassW --> kernelW] + convXZ <- tasoConv @a config Valid None inputSizes kernelSizes x z + convYZ <- tasoConv @a config Valid None inputSizes kernelSizes y z + lhs <- concat (ByRClass rclassB) convXZ convYZ + + xy <- concat (ByRClass rclassB) x y + rhs <- tasoConv @a config Valid None inputSizes kernelSizes xy z + + rewrite "∀s, p, c, x, y, z. concat(0, conv(s, p, c, x, z), conv(s, p, c, y, z)) = conv(s, p, c, concat(0, x, y), z)" lhs rhs + +-- | Rule 8: Concatenation along output feature dimension distributes over conv +convConcatKernelSame :: forall a. NumRule a +convConcatKernelSame _ = do + [rclassB, rclassC, rclassF, rclassH, rclassW] <- newSingletonRClasses ["rclassB", "rclassC", "rclassF", "rclassH", "rclassW"] + sizeC <- newMap "sizeC" rclassC + [sizeF1, sizeF2] <- newMaps ["sizeF1", "sizeF2"] rclassF + inputH <- newMap "inputH" rclassH + inputW <- newMap "inputW" rclassW + kernelH <- newMap "kernelH" rclassH + kernelW <- newMap "kernelW" rclassW + sizeB <- newMap "sizeB" rclassB + + x <- newTensor @a "x" [rclassB --> sizeB, rclassC --> sizeC, rclassH --> inputH, rclassW --> inputW] + y <- newTensor @a "y" [rclassF --> sizeF1, rclassC --> sizeC, rclassH --> kernelH, rclassW --> kernelW] + z <- newTensor @a "z" [rclassF --> sizeF2, rclassC --> sizeC, rclassH --> kernelH, rclassW --> kernelW] + + stridesH <- newMap "stridesH" rclassH + stridesW <- newMap "stridesW" rclassW + siC <- newMap "siC" rclassC + siH <- newMap "siH" rclassH + siW <- newMap "siW" rclassW + + let config = mkConvConfig rclassB rclassC rclassF rclassH rclassW stridesH stridesW siC siH siW + + let inputSizes = [ByRClass rclassH --> inputH, ByRClass rclassW --> inputW] + let kernelSizes = [ByRClass rclassH --> kernelH, ByRClass rclassW --> kernelW] + convXY <- tasoConv @a config Same None inputSizes kernelSizes x y + convXZ <- tasoConv @a config Same None inputSizes kernelSizes x z + lhs <- concat (ByRClass rclassF) convXY convXZ + + yz <- concat (ByRClass rclassF) y z + rhs <- tasoConv @a config Same None inputSizes kernelSizes x yz + + rewrite "∀s, p, c, x, y, z. concat(1, conv(s, p, c, x, y), conv(s, p, c, x, z)) = conv(s, p, c, x, concat(0, y, z))" lhs rhs + +-- | Rule 8: Concatenation along output feature dimension distributes over conv +convConcatKernelValid :: forall a. NumRule a +convConcatKernelValid _ = do + [rclassB, rclassC, rclassF, rclassH, rclassW] <- newSingletonRClasses ["rclassB", "rclassC", "rclassF", "rclassH", "rclassW"] + sizeC <- newMap "sizeC" rclassC + [sizeF1, sizeF2] <- newMaps ["sizeF1", "sizeF2"] rclassF + inputH <- newMap "inputH" rclassH + inputW <- newMap "inputW" rclassW + kernelH <- newMap "kernelH" rclassH + kernelW <- newMap "kernelW" rclassW + sizeB <- newMap "sizeB" rclassB + + x <- newTensor @a "x" [rclassB --> sizeB, rclassC --> sizeC, rclassH --> inputH, rclassW --> inputW] + y <- newTensor @a "y" [rclassF --> sizeF1, rclassC --> sizeC, rclassH --> kernelH, rclassW --> kernelW] + z <- newTensor @a "z" [rclassF --> sizeF2, rclassC --> sizeC, rclassH --> kernelH, rclassW --> kernelW] + + stridesH <- newMap "stridesH" rclassH + stridesW <- newMap "stridesW" rclassW + siC <- newMap "siC" rclassC + siH <- newMap "siH" rclassH + siW <- newMap "siW" rclassW + + let config = mkConvConfig rclassB rclassC rclassF rclassH rclassW stridesH stridesW siC siH siW + + let inputSizes = [ByRClass rclassH --> inputH, ByRClass rclassW --> inputW] + let kernelSizes = [ByRClass rclassH --> kernelH, ByRClass rclassW --> kernelW] + convXY <- tasoConv @a config Valid None inputSizes kernelSizes x y + convXZ <- tasoConv @a config Valid None inputSizes kernelSizes x z + lhs <- concat (ByRClass rclassF) convXY convXZ + + yz <- concat (ByRClass rclassF) y z + rhs <- tasoConv @a config Valid None inputSizes kernelSizes x yz + + rewrite "∀s, p, c, x, y, z. concat(1, conv(s, p, c, x, y), conv(s, p, c, x, z)) = conv(s, p, c, x, concat(0, y, z))" lhs rhs + +-- | Rule 9: Concatenation on input channels with matching concatenation on kernel features +-- convConcatMixed :: forall a. NumRule a +-- convConcatMixed _ = do +-- [rclassB, rclassC, rclassF, rclassSpatial] <- newSingletonRClasses ["rclassB", "rclassC", "rclassF", "rclassSpatial"] +-- [sizeC1, sizeC2] <- newMaps ["sizeC1", "sizeC2"] rclassC +-- sizeF <- newMap "sizeF" rclassF +-- inputSpatial <- newMap "inputSpatial" rclassSpatial +-- kernelSpatial <- newMap "kernelSpatial" rclassSpatial +-- [sizeB1, sizeB2] <- newMaps ["sizeB1", "sizeB2"] rclassB + +-- x <- newTensor @a "x" [rclassB --> sizeB1, rclassC --> sizeC1, rclassSpatial --> inputSpatial] +-- z <- newTensor @a "z" [rclassB --> sizeB2, rclassC --> sizeC2, rclassSpatial --> inputSpatial] +-- y <- newTensor @a "y" [rclassF --> sizeF, rclassC --> sizeC1, rclassSpatial --> kernelSpatial] +-- w <- newTensor @a "w" [rclassF --> sizeF, rclassC --> sizeC2, rclassSpatial --> kernelSpatial] + +-- strides <- newMap "strides" rclassSpatial +-- siSpatial <- newMap "siSpatial" rclassSpatial + +-- let inputSizes = [ByRClass rclassSpatial --> inputSpatial] +-- let kernelSizes = [ByRClass rclassSpatial --> kernelSpatial] + +-- -- LHS: concat on channels then convolve with one SI map +-- xz <- concat (ByRClass rclassC) x z +-- yw <- concat (ByRClass rclassC) y w +-- siC_LHS <- newMap "siC_LHS" rclassC +-- let configLHS = mkConvConfig rclassB rclassC rclassF rclassSpatial strides siC_LHS siSpatial +-- lhs <- tasoConv @a configLHS Valid None inputSizes kernelSizes xz yw + +-- -- RHS: separate convs with separate SI maps, then add +-- siC_RHS1 <- newMap "siC_RHS1" rclassC +-- siC_RHS2 <- newMap "siC_RHS2" rclassC +-- let configRHS1 = mkConvConfig rclassB rclassC rclassF rclassSpatial strides siC_RHS1 siSpatial +-- let configRHS2 = mkConvConfig rclassB rclassC rclassF rclassSpatial strides siC_RHS2 siSpatial +-- convXY <- tasoConv @a configRHS1 Valid None inputSizes kernelSizes x y +-- convZW <- tasoConv @a configRHS2 Valid None inputSizes kernelSizes z w +-- rhs <- ewadd convXY convZW + +-- -- SI relation: LHS channel SI maps to the same value in both RHS convs +-- siRelation [siC_LHS, siC_RHS1] $ \[l, r] -> l .== r +-- siRelation [siC_LHS, siC_RHS2] $ \[l, r] -> l .== r +-- checkSIMap [siC_LHS] [siC_RHS1, siC_RHS2] + +-- rewrite "concat on channels splits convolution" lhs rhs + +main :: IO () +main = do + printTitle "#################### convBilinearScalarSwapSame ####################" + verifyNumDSLWith (withTimeout 15000000 z3) convBilinearScalarSwapSame + + printTitle "#################### convBilinearScalarSwapValid ####################" + verifyNumDSLWith (withTimeout 15000000 z3) convBilinearScalarSwapValid + + printTitle "#################### convBilinearScalarOutputSame ####################" + verifyNumDSLWith (withTimeout 15000000 z3) convBilinearScalarOutputSame + + printTitle "#################### convBilinearScalarOutputValid ####################" + verifyNumDSLWith (withTimeout 15000000 z3) convBilinearScalarOutputValid + + printTitle "#################### convBilinearKernelAddSame ####################" + verifyNumDSLWith (withTimeout 15000000 z3) convBilinearKernelAddSame + + printTitle "#################### convBilinearKernelAddValid ####################" + verifyNumDSLWith (withTimeout 15000000 z3) convBilinearKernelAddValid + + printTitle "#################### convBilinearInputAddSame ####################" + verifyNumDSLWith (withTimeout 15000000 z3) convBilinearInputAddSame + + printTitle "#################### convBilinearInputAddValid ####################" + verifyNumDSLWith (withTimeout 15000000 z3) convBilinearInputAddValid + + printTitle "#################### convSameEnlarge ####################" + verifyNumDSLWith (withTimeout 15000000 z3) convSameEnlarge + + -- printTitle "#################### convIdentitySame ####################" + -- verifyNumDSLWith (withTimeout 15000000 z3) convIdentitySame + + printTitle "#################### convReluActivation ####################" + verifyNumDSLWith (withTimeout 15000000 z3) convReluActivation + + printTitle "#################### convConcatInputBatchSame ####################" + verifyNumDSLWith (withTimeout 15000000 z3) convConcatInputBatchSame + + printTitle "#################### convConcatInputBatchValid ####################" + verifyNumDSLWith (withTimeout 15000000 z3) convConcatInputBatchValid + + printTitle "#################### convConcatKernelSame ####################" + verifyNumDSLWith (withTimeout 15000000 z3) convConcatKernelSame + + printTitle "#################### convConcatKernelValid ####################" + verifyNumDSLWith (withTimeout 15000000 z3) convConcatKernelValid + +-- printTitle "#################### convConcatMixed ####################" +-- verifyNumDSL convConcatMixed diff --git a/rules/taso/ewadd/Main.hs b/rules/taso/ewadd/Main.hs index 33db154..c7a033d 100644 --- a/rules/taso/ewadd/Main.hs +++ b/rules/taso/ewadd/Main.hs @@ -4,8 +4,8 @@ import Grisette hiding ((-->)) import TensorRight import TensorRight.Internal.DSL.TASO (ewadd) -rule01 :: forall a. NumRule a -- Verify desugaring -rule01 _ = do +desugar :: forall a. NumRule a -- Verify desugaring +desugar _ = do rclass <- newRClass "rclass" map <- newMap "map" rclass tA <- newTensor @a "A" [rclass --> map] @@ -14,19 +14,19 @@ rule01 _ = do rhs <- numBinOp Add tA tB rewrite "ewadd(A, B) ⇒ Add(A, B)" lhs rhs -rule02 :: forall a. NumRule a -- Associativity -rule02 _ = do +associativity :: forall a. NumRule a -- Associativity +associativity _ = do rclass <- newRClass "rclass" map <- newMap "map" rclass x <- newTensor @a "x" [rclass --> map] - y <- newTensor @a "t" [rclass --> map] + y <- newTensor @a "y" [rclass --> map] z <- newTensor @a "z" [rclass --> map] lhs <- ewadd x $ ewadd y z rhs <- ewadd (ewadd x y) z rewrite "ewadd(x, ewadd(y, z)) ⇒ Add(ewadd(x, y), z)" lhs rhs -rule03 :: forall a. NumRule a -- Verify commutative -rule03 _ = do +commutativity :: forall a. NumRule a -- Verify commutative +commutativity _ = do rclass <- newRClass "rclass" map <- newMap "map" rclass x <- newTensor @a "x" [rclass --> map] @@ -37,9 +37,9 @@ rule03 _ = do main :: IO () main = do - printTitle "############################## rule01 ##############################" - verifyNumDSL rule01 - printTitle "############################## rule02 ##############################" - verifyNumDSL rule02 - printTitle "############################## rule03 ##############################" - verifyNumDSL rule03 \ No newline at end of file + printTitle "############################## desugar ##############################" + verifyNumDSL desugar + printTitle "############################## associativity ##############################" + verifyNumDSL associativity + printTitle "############################## commutativity ##############################" + verifyNumDSL commutativity \ No newline at end of file diff --git a/rules/taso/ewmul/Main.hs b/rules/taso/ewmul/Main.hs index 9d6458f..a196406 100644 --- a/rules/taso/ewmul/Main.hs +++ b/rules/taso/ewmul/Main.hs @@ -5,8 +5,8 @@ import TensorRight import TensorRight.Internal.DSL.DSL (newRClass) import TensorRight.Internal.DSL.TASO (ewadd, ewmul) -rule01 :: forall a. NumRule a -- Verify desugaring -rule01 _ = do +desugar :: forall a. NumRule a -- Verify desugaring +desugar _ = do rclass <- newRClass "rclass" map <- newMap "map" rclass tA <- newTensor @a "A" [rclass --> map] @@ -15,8 +15,8 @@ rule01 _ = do rhs <- numBinOp Mul tA tB rewrite "ewmul(A, B) ⇒ Mul(A, B)" lhs rhs -rule02 :: forall a. NumRule a -- Associativity -rule02 _ = do +associativity :: forall a. NumRule a -- Associativity +associativity _ = do rclass <- newRClass "rclass" map <- newMap "map" rclass x <- newTensor @a "x" [rclass --> map] @@ -26,8 +26,8 @@ rule02 _ = do rhs <- ewmul (ewmul x y) z rewrite "ewmul(x, ewmul(y, z)) ⇒ mul(ewmul(x, y), z)" lhs rhs -rule03 :: forall a. NumRule a -- Verify commutative -rule03 _ = do +commutativity :: forall a. NumRule a -- Verify commutative +commutativity _ = do rclass <- newRClass "rclass" map <- newMap "map" rclass x <- newTensor @a "x" [rclass --> map] @@ -36,8 +36,8 @@ rule03 _ = do rhs <- ewmul y x rewrite "ewmul(x, y) ⇒ ewmul(y, x)" lhs rhs -rule04 :: forall a. NumRule a -- Verify distributivity -rule04 _ = do +distributivity :: forall a. NumRule a -- Verify distributivity +distributivity _ = do rclass <- newRClass "rclass" map <- newMap "map" rclass x <- newTensor @a "x" [rclass --> map] @@ -47,13 +47,13 @@ rule04 _ = do rhs <- ewadd (ewmul x z) (ewmul y z) rewrite "ewmul(ewadd(x, y), z) ⇒ ewadd(ewmul(x, z), ewmul(y, z))" lhs rhs -rule05 :: forall a. NumRule a -- Verify identity -rule05 _ = do +identity :: forall a. NumRule a -- Verify identity +identity _ = do rclassN <- newRClass "rclassN" sizeN <- newMap "sizeN" rclassN - x <- newTensor @a "x" [rclassN --> sizeN @@ "L", rclassN --> sizeN @@ "R"] - ones <- constant @a 1 [rclassN --> sizeN @@ "L", rclassN --> sizeN @@ "R"] + x <- newTensor @a "x" [rclassN --> sizeN] + ones <- constant @a 1 [rclassN --> sizeN] lhs <- ewmul x ones let rhs = x @@ -62,13 +62,13 @@ rule05 _ = do main :: IO () main = do - printTitle "############################## rule01 ##############################" - verifyNumDSL rule01 - printTitle "############################## rule02 ##############################" - verifyNumDSL rule02 - printTitle "############################## rule03 ##############################" - verifyNumDSL rule03 - printTitle "############################## rule04 ##############################" - verifyNumDSL rule04 - printTitle "############################## rule05 ##############################" - verifyNumDSL rule05 \ No newline at end of file + printTitle "############################## desugar ##############################" + verifyNumDSL desugar + printTitle "############################## associativity ##############################" + verifyNumDSL associativity + printTitle "############################## commutativity ##############################" + verifyNumDSL commutativity + printTitle "############################## distributivity ##############################" + verifyNumDSL distributivity + printTitle "############################## identity ##############################" + verifyNumDSL identity \ No newline at end of file diff --git a/rules/taso/matmul2D/Main.hs b/rules/taso/matmul2D/Main.hs index 9f55fc3..1817ee8 100644 --- a/rules/taso/matmul2D/Main.hs +++ b/rules/taso/matmul2D/Main.hs @@ -151,37 +151,37 @@ matmulConcatRight _ = do -- | Rule 7: Concatenation and matrix multiplication (mixed) -- ∀x, y, z, w. matmul(concat(1, x, z), concat(0, y, w)) = ewadd(matmul(x, y), matmul(z, w)) -matmulConcatMixed :: forall a. NumRule a -matmulConcatMixed _ = do - [rclassM, rclassK, rclassN] <- newSingletonRClasses ["rclassM", "rclassK", "rclassN"] - [sizeM1, sizeM2] <- newMaps ["sizeM1", "sizeM2"] rclassM - [sizeK1, sizeK2] <- newMaps ["sizeK1", "sizeK2"] rclassK - sizeN <- newMap "sizeN" rclassN - - x <- newTensor @a "x" [rclassM --> sizeM1, rclassK --> sizeK1] - y <- newTensor @a "y" [rclassK --> sizeK1, rclassN --> sizeN] - z <- newTensor @a "z" [rclassM --> sizeM2, rclassK --> sizeK2] - w <- newTensor @a "w" [rclassK --> sizeK2, rclassN --> sizeN] - - -- Dimensions must match appropriately for concatenation and matmul - precondition [sizeM1, sizeM2] $ \[m1, m2] -> m1 .== m2 - precondition [sizeK1, sizeK2] $ \[k1, k2] -> k1 .== k2 - - xz <- concat (ByRClass rclassM) x z - yw <- concat (ByRClass rclassK) y w - kL <- newMap "contractSI" rclassK - kR1 <- newMap "contractSI" rclassK - kR2 <- newMap "contractSI" rclassK - lhs <- matmul2D xz yw [rclassK --> kL] - xy <- matmul2D x y [rclassK --> kR1] - zw <- matmul2D z w [rclassK --> kR2] - rhs <- ewadd xy zw - - siRelation [kL, kR1] $ \[l, r] -> l .== r - siRelation [kL, kR2] $ \[l, r] -> l .== r - checkSIMap [kL] [kR1, kR2] - - rewrite "matmul(concat(1, x, z), concat(0, y, w)) ⇒ ewadd(matmul(x, y), matmul(z, w))" lhs rhs +-- matmulConcatMixed :: forall a. NumRule a +-- matmulConcatMixed _ = do +-- [rclassM, rclassK, rclassN] <- newSingletonRClasses ["rclassM", "rclassK", "rclassN"] +-- [sizeM1, sizeM2] <- newMaps ["sizeM1", "sizeM2"] rclassM +-- [sizeK1, sizeK2] <- newMaps ["sizeK1", "sizeK2"] rclassK +-- sizeN <- newMap "sizeN" rclassN + +-- x <- newTensor @a "x" [rclassM --> sizeM1, rclassK --> sizeK1] +-- y <- newTensor @a "y" [rclassK --> sizeK1, rclassN --> sizeN] +-- z <- newTensor @a "z" [rclassM --> sizeM2, rclassK --> sizeK2] +-- w <- newTensor @a "w" [rclassK --> sizeK2, rclassN --> sizeN] + +-- -- Dimensions must match appropriately for concatenation and matmul +-- precondition [sizeM1, sizeM2] $ \[m1, m2] -> m1 .== m2 +-- precondition [sizeK1, sizeK2] $ \[k1, k2] -> k1 .== k2 + +-- xz <- concat (ByRClass rclassM) x z +-- yw <- concat (ByRClass rclassK) y w +-- kL <- newMap "contractSI" rclassK +-- kR1 <- newMap "contractSI" rclassK +-- kR2 <- newMap "contractSI" rclassK +-- lhs <- matmul2D xz yw [rclassK --> kL] +-- xy <- matmul2D x y [rclassK --> kR1] +-- zw <- matmul2D z w [rclassK --> kR2] +-- rhs <- ewadd xy zw + +-- siRelation [kL, kR1] $ \[l, r] -> l .== r +-- siRelation [kL, kR2] $ \[l, r] -> l .== r +-- checkSIMap [kL] [kR1, kR2] + +-- rewrite "matmul(concat(1, x, z), concat(0, y, w)) ⇒ ewadd(matmul(x, y), matmul(z, w))" lhs rhs main :: IO () main = do diff --git a/rules/taso/matmul3D/Main.hs b/rules/taso/matmul3D/Main.hs index ace03f2..681dd9c 100644 --- a/rules/taso/matmul3D/Main.hs +++ b/rules/taso/matmul3D/Main.hs @@ -7,7 +7,6 @@ import TensorRight.Internal.DSL.TASO (concat, ewadd, ewmul, matmul3D, relu, smul import Prelude hiding (concat) -- | Rule 1: Matrix multiplication associativity (batched) --- ∀x, y, z. matmul3D(x, matmul3D(y, z)) = matmul3D(matmul3D(x, y), z) matmulAssociativity :: forall a. NumRule a matmulAssociativity _ = do [rclassB, rclassM, rclassK, rclassN, rclassP] <- newSingletonRClasses ["rclassB", "rclassM", "rclassK", "rclassN", "rclassP"] @@ -40,10 +39,9 @@ matmulAssociativity _ = do xy <- matmul3D x y [rclassK --> kR] [ByRClass rclassB] rhs <- matmul3D xy z [rclassN --> nR] [ByRClass rclassB] - rewrite "matmul3D associativity" lhs rhs + rewrite "∀x, y, z. matmul3D(x, matmul3D(y, z)) = matmul3D(matmul3D(x, y), z)" lhs rhs -- | Rule 2: Scalar linearity (batched) --- ∀x, y, w. smul(matmul3D(x, y), w) = matmul3D(x, smul(y, w)) matmulScalarLinear :: forall a. NumRule a matmulScalarLinear _ = do let w = ("w" :: a) @@ -67,7 +65,7 @@ matmulScalarLinear _ = do siRelation [kL, kR] $ \[l, r] -> l .== r checkSIMap [kL] [kR] - rewrite "smul distributes over matmul3D (right)" lhs rhs + rewrite "∀x, y, w. smul(matmul3D(x, y), w) = matmul3D(x, smul(y, w))" lhs rhs -- | Rule 3: Distributivity over addition (batched) matmulDistributive :: forall a. NumRule a @@ -96,9 +94,9 @@ matmulDistributive _ = do siRelation [kL, kR2] $ \[l, r] -> l .== r checkSIMap [kL] [kR1, kR2] - rewrite "matmul3D distributes over ewadd" lhs rhs + rewrite "∀x, y, z. matmul(x, ewadd(y, z)) = ewadd(matmul(x, y), matmul(x, z))" lhs rhs --- | Rule 6: Right concatenation (batched) +-- | Rule 4: Right concatenation (batched) matmulConcatRight :: forall a. NumRule a matmulConcatRight _ = do [rclassB, rclassM, rclassK, rclassN] <- newSingletonRClasses ["rclassB", "rclassM", "rclassK", "rclassN"] @@ -127,46 +125,49 @@ matmulConcatRight _ = do rewrite "concat along N moves through matmul3D(x, ·)" lhs rhs --- -- | Rule 7: Concatenation and matrix multiplication (mixed) --- -- ∀x, y, z, w. matmul(concat(1, x, z), concat(0, y, w)) = ewadd(matmul(x, y), matmul(z, w)) - --- -- | Rule 7: Mixed concatenation (batched) --- matmulConcatMixed :: forall a. NumRule a --- matmulConcatMixed _ = do --- [rclassB, rclassM, rclassK, rclassN] <- newSingletonRClasses ["rclassB", "rclassM", "rclassK", "rclassN"] --- sizeM <- newMap "sizeM" rclassM --- [sizeK1, sizeK2] <- newMaps ["sizeK1", "sizeK2"] rclassK --- sizeN <- newMap "sizeN" rclassN --- [sizeB1, sizeB2, sizeB3, sizeB4] <- newMaps ["sizeB1", "sizeB2", "sizeB3", "sizeB4"] rclassB - --- x <- newTensor @a "x" [rclassB --> sizeB1, rclassM --> sizeM, rclassK --> sizeK1] --- y <- newTensor @a "y" [rclassB --> sizeB2, rclassK --> sizeK1, rclassN --> sizeN] --- z <- newTensor @a "z" [rclassB --> sizeB3, rclassM --> sizeM, rclassK --> sizeK2] --- w <- newTensor @a "w" [rclassB --> sizeB4, rclassK --> sizeK2, rclassN --> sizeN] - --- -- M and N must match across pairs; K is split into K1 and K2 (no equality needed) --- siRelation [sizeM] $ \[_] -> true --- siRelation [sizeN] $ \[_] -> true --- -- All batch sizes must match so that B is a proper batch axis --- precondition [sizeB1, sizeB2] $ \[b1, b2] -> b1 .== b2 --- precondition [sizeB1, sizeB3] $ \[b1, b3] -> b1 .== b3 --- precondition [sizeB1, sizeB4] $ \[b1, b4] -> b1 .== b4 - --- xk <- concat (ByRClass rclassK) x z --- yk <- concat (ByRClass rclassK) y w - --- kL <- newMap "kL" rclassK --- lhs <- matmul3D xk yk [rclassK --> kL] [ByRClass rclassB] --- -- Use the SAME SI map on RHS terms so each RHS SI has a corresponding LHS SI --- xy <- matmul3D x y [rclassK --> kL] [ByRClass rclassB] --- zw <- matmul3D z w [rclassK --> kL] [ByRClass rclassB] - --- rhs <- ewadd xy zw - --- -- Register only LHS SI map to satisfy verifier subset condition --- checkSIMap [kL] [] - --- rewrite "matmul3D(concat_K x z, concat_K y w) ⇒ matmul3D(x,y) + matmul3D(z,w)" lhs rhs +-- | Rule 5: Concatenation and matrix multiplication (mixed) +-- ∀x, y, z, w. matmul(concat(1, x, z), concat(0, y, w)) = ewadd(matmul(x, y), matmul(z, w)) + +-- | Rule 5: Mixed concatenation (batched) +matmulConcatMixed :: forall a. NumRule a +matmulConcatMixed _ = do + [rclassB, rclassM, rclassK, rclassN] <- newSingletonRClasses ["rclassB", "rclassM", "rclassK", "rclassN"] + [sizeM1, sizeM2] <- newMaps ["sizeM1", "sizeM2"] rclassM + [sizeK1, sizeK2] <- newMaps ["sizeK1", "sizeK2"] rclassK + sizeN <- newMap "sizeN" rclassN + [sizeB1, sizeB2, sizeB3, sizeB4] <- newMaps ["sizeB1", "sizeB2", "sizeB3", "sizeB4"] rclassB + + x <- newTensor @a "x" [rclassB --> sizeB1, rclassM --> sizeM1, rclassK --> sizeK1] + y <- newTensor @a "y" [rclassB --> sizeB2, rclassK --> sizeK1, rclassN --> sizeN] + z <- newTensor @a "z" [rclassB --> sizeB3, rclassM --> sizeM2, rclassK --> sizeK2] + w <- newTensor @a "w" [rclassB --> sizeB4, rclassK --> sizeK2, rclassN --> sizeN] + + -- All batch sizes must match so that B is a proper batch axis + precondition [sizeB1, sizeB2] $ \[b1, b2] -> b1 .== b2 + precondition [sizeB1, sizeB3] $ \[b1, b3] -> b1 .== b3 + precondition [sizeB1, sizeB4] $ \[b1, b4] -> b1 .== b4 + -- Mixed: equal splits on M and K so SI equality is valid on both branches + precondition [sizeM1, sizeM2] $ \[m1, m2] -> m1 .== m2 + precondition [sizeK1, sizeK2] $ \[k1, k2] -> k1 .== k2 + + xm <- concat (ByRClass rclassM) x z + yk <- concat (ByRClass rclassK) y w + + -- Contract along K with equal SI maps across sides + kL <- newMap "kL" rclassK + kR1 <- newMap "kR1" rclassK + kR2 <- newMap "kR2" rclassK + + lhs <- matmul3D xm yk [rclassK --> kL] [ByRClass rclassB] + xy <- matmul3D x y [rclassK --> kR1] [ByRClass rclassB] + zw <- matmul3D z w [rclassK --> kR2] [ByRClass rclassB] + rhs <- ewadd xy zw + + siRelation [kL, kR1] $ \[l, r] -> l .== r + siRelation [kL, kR2] $ \[l, r] -> l .== r + checkSIMap [kL] [kR1, kR2] + + rewrite "matmul3D(concat_M x z, concat_K y w) ⇒ ewadd(matmul3D(x,y), matmul3D(z,w))" lhs rhs main :: IO () main = do diff --git a/rules/taso/relu/Main.hs b/rules/taso/relu/Main.hs index 998866f..ad62359 100644 --- a/rules/taso/relu/Main.hs +++ b/rules/taso/relu/Main.hs @@ -2,8 +2,8 @@ import Grisette hiding ((-->)) import TensorRight import TensorRight.Internal.DSL.TASO (relu) -rule01 :: forall a. NumRule a -- Verify desugaring -rule01 _ = do +desugar :: forall a. NumRule a -- Verify desugaring +desugar _ = do rclass <- newRClass "rclass" map <- newMap "map" rclass tA <- newTensor @a "A" [rclass --> map] @@ -13,5 +13,5 @@ rule01 _ = do main :: IO () main = do - printTitle "############################## rule01 ##############################" - verifyNumDSL rule01 \ No newline at end of file + printTitle "############################## desugar ##############################" + verifyNumDSL desugar \ No newline at end of file diff --git a/rules/taso/smul/Main.hs b/rules/taso/smul/Main.hs index 6d0d5a9..5a3e693 100644 --- a/rules/taso/smul/Main.hs +++ b/rules/taso/smul/Main.hs @@ -4,8 +4,8 @@ import Grisette hiding ((-->)) import TensorRight import TensorRight.Internal.DSL.TASO (ewadd, ewmul, smul) -rule01 :: forall a. NumRule a -- Verify desugaring -rule01 _ = do +desugar :: forall a. NumRule a -- Verify desugaring +desugar _ = do let s = ("s" :: a) rclass <- newRClass "rclass" map <- newMap "map" rclass @@ -14,8 +14,8 @@ rule01 _ = do rhs <- numBinScalarOp Mul tA s rewrite "smul(A, s) ⇒ Mul(A, s)" lhs rhs -rule02 :: forall a. NumRule a -- Verify associativity -rule02 _ = do +associativity :: forall a. NumRule a -- Verify associativity +associativity _ = do let w = ("w" :: a) let y = ("y" :: a) rclass <- newRClass "rclass" @@ -25,8 +25,8 @@ rule02 _ = do rhs <- smul x (y * w) -- Multiply the scalars first since smul (y, w) doesn't make sense rewrite "smul(smul(x, y), w) ⇒ smul(x, smul(y, w))" lhs rhs -rule03 :: forall a. NumRule a -- Distributivity -rule03 _ = do +distributivity :: forall a. NumRule a -- Distributivity +distributivity _ = do let w = ("w" :: a) rclass <- newRClass "rclass" map <- newMap "map" rclass @@ -36,8 +36,8 @@ rule03 _ = do rhs <- ewadd (smul x w) (smul y w) rewrite "smul(ewadd(x, y), w) ⇒ ewadd(smul(x, w), smul(y, w))" lhs rhs -rule04 :: forall a. NumRule a -- Operator commutativity -rule04 _ = do +commutativity :: forall a. NumRule a -- Operator commutativity +commutativity _ = do let w = ("w" :: a) rclass <- newRClass "rclass" map <- newMap "map" rclass @@ -49,11 +49,11 @@ rule04 _ = do main :: IO () main = do - printTitle "############################## rule01 ##############################" - verifyNumDSL rule01 - printTitle "############################## rule02 ##############################" - verifyNumDSL rule02 - printTitle "############################## rule03 ##############################" - verifyNumDSL rule03 - printTitle "############################## rule04 ##############################" - verifyNumDSL rule04 \ No newline at end of file + printTitle "############################## desugar ##############################" + verifyNumDSL desugar + printTitle "############################## associativity ##############################" + verifyNumDSL associativity + printTitle "############################## distributivity ##############################" + verifyNumDSL distributivity + printTitle "############################## commutativity ##############################" + verifyNumDSL commutativity \ No newline at end of file diff --git a/rules/taso/split/Main.hs b/rules/taso/split/Main.hs index ec70b42..60a94fd 100644 --- a/rules/taso/split/Main.hs +++ b/rules/taso/split/Main.hs @@ -6,8 +6,8 @@ import TensorRight.Internal.DSL.DSL (checkSIMap, monitorExprOnFailure, newRClass import TensorRight.Internal.DSL.TASO (concat, split0, split1) import Prelude hiding (concat) -rule_split0 :: forall a. NumRule a -- Verify desugaring -rule_split0 _ = do +split0_desugar :: forall a. NumRule a -- Verify desugaring +split0_desugar _ = do [rclassM, rclassN] <- newRClasses ["rclassM", "rclassN"] sizeM1 <- newMap "sizeM1" rclassM sizeM2 <- newMap "sizeM2" rclassM @@ -23,8 +23,8 @@ rule_split0 _ = do rewrite "split_0(a, concat(a, x, y)) ⇒ x" lhs rhs -rule_split1 :: forall a. NumRule a -- Verify desugaring -rule_split1 _ = do +split1_desugar :: forall a. NumRule a -- Verify desugaring +split1_desugar _ = do [rclassM, rclassN] <- newRClasses ["rclassM", "rclassN"] sizeM1 <- newMap "sizeM1" rclassM sizeM2 <- newMap "sizeM2" rclassM @@ -42,7 +42,7 @@ rule_split1 _ = do main :: IO () main = do - printTitle "#################### split0 ####################" - verifyNumDSL rule_split0 - printTitle "#################### split1 ####################" - verifyNumDSL rule_split1 \ No newline at end of file + printTitle "#################### split0 desguar ####################" + verifyNumDSL split0_desugar + printTitle "#################### split1 desugar ####################" + verifyNumDSL split1_desugar \ No newline at end of file diff --git a/src/TensorRight/Internal/Core/Tensor/Typed.hs b/src/TensorRight/Internal/Core/Tensor/Typed.hs index 97ec95f..2a379f3 100644 --- a/src/TensorRight/Internal/Core/Tensor/Typed.hs +++ b/src/TensorRight/Internal/Core/Tensor/Typed.hs @@ -637,9 +637,9 @@ sliceStartEndStrides to SliceArgs {..} = do restrictAxes diffDims (fromHashMap valMap) return $ unionAxisMap indices emptyIndices let defaultMap val = HM.fromList . map (,val) . HS.toList - filledStart <- checkAndFillInAxes "start" start $ (defaultMap 0 axes) + filledStart <- checkAndFillInAxes "start" start $ defaultMap 0 axes filledEnd <- checkAndFillInAxes "end" end $ asHashMap (tensorShape t) - filledStrides <- checkAndFillInAxes "strides" strides $ (defaultMap 1 axes) + filledStrides <- checkAndFillInAxes "strides" strides $ defaultMap 1 axes assert "start must be non-negative" $ symAll (.>= 0) $ asHashMap filledStart -- The original Rosette implementation may be buggy here. @@ -1138,6 +1138,9 @@ clamp mino to maxo = do case (minElem, tElem, maxElem) of (TensorElemVal minSym, TensorElemVal tSym, TensorElemVal maxSym) -> mrgReturn $ TensorElemVal $ tensorValSymMin maxSym $ tensorValSymMax tSym minSym + (TensorElemVal minSym, TensorElemSum tSym, TensorElemVal maxSym) -> + -- Special case with contraction + mrgReturn $ TensorElemSum $ tensorValSymMin maxSym $ tensorValSymMax tSym minSym _ -> error "Not implemented" ) (tensorShape t) diff --git a/src/TensorRight/Internal/Core/Verify.hs b/src/TensorRight/Internal/Core/Verify.hs index 86ddb67..ba99f32 100644 --- a/src/TensorRight/Internal/Core/Verify.hs +++ b/src/TensorRight/Internal/Core/Verify.hs @@ -309,7 +309,7 @@ verifyRule return False Right m -> do pprint m - printWarning $ "SI-relation is not bijective. (There exist multiple left SI for a right SI.)" + printWarning "SI-relation is not bijective. (There exist multiple left SI for a right SI.)" return False condr2l <- @@ -331,7 +331,7 @@ verifyRule return False Right m -> do pprint m - printWarning $ "SI-relation is not bijective. (There exist multiple right SI for a left SI.)" + printWarning "SI-relation is not bijective. (There exist multiple right SI for a left SI.)" return False if bil2r && bir2l @@ -356,7 +356,7 @@ verifyRule return False Right m -> do pprint m - printWarning $ "Some left si cannot be accessed." + printWarning "Some left si cannot be accessed." return False condr <- evaluate $ @@ -378,12 +378,12 @@ verifyRule return False Right m -> do pprint m - printWarning $ "Some right si cannot be accessed." + printWarning "Some right si cannot be accessed." return False unless (allokl && allokr) $ - printWarning $ + printWarning "Some SI cannot be accessed." - else printWarning $ "SI-relation is not bijective." + else printWarning "SI-relation is not bijective." cond1 <- evaluate $ diff --git a/src/TensorRight/Internal/DSL/Eval.hs b/src/TensorRight/Internal/DSL/Eval.hs index 1ec2fc2..d4a0951 100644 --- a/src/TensorRight/Internal/DSL/Eval.hs +++ b/src/TensorRight/Internal/DSL/Eval.hs @@ -176,7 +176,7 @@ freshMapBase name mapBase = HM.map ( \(SymInteger (SymTerm (TypedSymbol s :: TypedSymbol knd a))) -> SymInteger $ - SymTerm $ + SymTerm ( TypedSymbol $ mapIdentifier (mapMetadata (\m -> List [Atom "fresh", Atom $ T.pack name, m])) diff --git a/src/TensorRight/Internal/DSL/TASO.hs b/src/TensorRight/Internal/DSL/TASO.hs index 61f335d..4f51710 100644 --- a/src/TensorRight/Internal/DSL/TASO.hs +++ b/src/TensorRight/Internal/DSL/TASO.hs @@ -22,23 +22,26 @@ module TensorRight.Internal.DSL.TASO split1, transpose, enlarge, + tasoConv, matmul2D, matmul3D, + PaddingMode (..), + Activation (..), ) where import Control.Monad.Except (MonadError (throwError)) -import Grisette (SymInteger, symIte, (.&&), (.<=), (.==), (.>=)) +import Grisette (SymInteger, symIte, (.&&), (.<), (.<=), (.==), (.>=)) import TensorRight (NumBinOp (Add, Mul), ToElem, concatTensor, posInf) import TensorRight.Internal.Core.Tensor (ToDType) import TensorRight.Internal.DSL.DSL - ( ConvConfig, - ConvPadding, + ( ConvConfig (..), + ConvPadding (..), DSLContext, Expr, ExprInContext, Padding (..), - RClassRef, + RClassRef (..), ValidNum, clampScalar, combineMap, @@ -47,13 +50,14 @@ import TensorRight.Internal.DSL.DSL matmul2DHelper, matmul3DHelper, newConstMap, + newNonNegMap, numBinOp, numBinScalarOp, pad, precondition, transpose2D, ) -import TensorRight.Internal.DSL.Expr (Expr, UExpr, checkMapHasRClass, getRClassByMap) +import TensorRight.Internal.DSL.Expr (checkMapHasRClass, getRClassByMap) import qualified TensorRight.Internal.DSL.Expr as E import TensorRight.Internal.DSL.Identifier (MapIdentifier) import TensorRight.Internal.DSL.Parameters (ParamDesc (..)) @@ -64,6 +68,10 @@ data Activation = Relu | None data PaddingMode = Same | Valid +-- Helper function to get MapIdentifier from stride ParamDesc +getStrideMap :: ParamDesc -> MapIdentifier +getStrideMap (ParamDesc _ map) = map + -- | TASO's ewadd operator. The lhs and rhs must have the same shape and the type must be either 'IntType' or 'RealType'. ewadd :: (ExprInContext lhs, ExprInContext rhs) => @@ -207,25 +215,175 @@ matmul3D :: DSLContext Expr matmul3D = matmul3DHelper --- -- | TASO's 2D matrix multiplication operator --- tasoConv :: --- (ExprInContext input, ExprInContext weights, ValidNum a) => --- ConvConfig -> --- -- | Convolution padding config --- PaddingMode -> --- -- | Choice of activation function --- Activation -> --- -- | Input tensor --- input -> --- -- | The weights (kernel) tensor. --- weights -> --- DSLContext Expr --- tasoConv convConfig padConfig act input weights = do --- -- Construct padding config based on inputs --- let out_expr = conv input weights padConfig --- case act of --- Relu -> relu out_expr --- _ -> out_expr +-- | TASO's 2D matrix multiplication operator +tasoConv :: + forall a input weights. + (ExprInContext input, ExprInContext weights, ValidNum a) => + -- | Convolution config + ConvConfig -> + -- | Padding config + PaddingMode -> + -- | Choice of activation function + Activation -> + -- | Input spatial size maps (per spatial RClass) + [ParamDesc] -> + -- | Kernel spatial size maps (per spatial RClass) + [ParamDesc] -> + -- | Input tensor + input -> + -- | The weights (kernel) tensor. + weights -> + DSLContext Expr +tasoConv config padConfig act inputSizePDs kernelSizePDs input weights = do + -- Determine spatial refs from the stride descriptors in the config + let strideRefs = + case config of + ConvConfig {strides = ss} -> [ref | ParamDesc ref _ <- ss] + + let toRClassId ref = case ref of + ByRClass r -> return r + ByLabel _ -> throwError "tasoConv requires strides specified with ByRClass refs" + + -- Build padding parameters per mode + (lowPDs, ldilPDs, highPDs, rdilPDs) <- case padConfig of + Valid -> do + -- VALID: low=0, high=0, ldilation=1, rdilation=1 + lowPDs <- + traverse + ( \ref -> do + r <- toRClassId ref + z <- newConstMap "low0" 0 r + return (ref --> z) + ) + strideRefs + highPDs <- + traverse + ( \ref -> do + r <- toRClassId ref + z <- newConstMap "high0" 0 r + return (ref --> z) + ) + strideRefs + ldilPDs <- + traverse + ( \ref -> do + r <- toRClassId ref + o <- newConstMap "ldilation1" 1 r + return (ref --> o) + ) + strideRefs + rdilPDs <- + traverse + ( \ref -> do + r <- toRClassId ref + o <- newConstMap "rdilation1" 1 r + return (ref --> o) + ) + strideRefs + return (lowPDs, ldilPDs, highPDs, rdilPDs) + Same -> do + -- SAME: compute padding using the formula: p_total = max(0, (ceil(n_in/s) - 1) * s + k - n_in) + -- For each spatial dimension, we need input size, kernel size, and stride + let strideMaps = [getStrideMap pd | pd <- strides config] + + -- Use provided input/kernel size maps (deterministic SAME) + let lookupSize :: RClassRef -> [ParamDesc] -> MapIdentifier + lookupSize ref pds = + case [m | ParamDesc r m <- pds, r == ref] of + (m : _) -> m + [] -> error "tasoConv(Same): missing spatial size map" + + let inputSizePairs = [(ref, lookupSize ref inputSizePDs) | ref <- strideRefs] + let kernelSizePairs = [(ref, lookupSize ref kernelSizePDs) | ref <- strideRefs] + + -- Create symbolic output size maps for SAME padding + -- For SAME padding, output_size = ceil(input_size / stride) + outputSizePairs <- + traverse + ( \((ref, inputSize), strideMap) -> do + r <- toRClassId ref + outputSize <- newNonNegMap "outputSize" r + -- Constrain: outputSize * stride >= inputSize (ceiling property) + precondition [outputSize, inputSize, strideMap] $ \[out, inp, str] -> out * str .>= inp + -- Constrain: (outputSize - 1) * stride < inputSize (minimal ceiling) + precondition [outputSize, inputSize, strideMap] $ \[out, inp, str] -> (out - 1) * str .< inp + return (ref, outputSize) + ) + (zip inputSizePairs strideMaps) + + -- Compute total padding using the SAME formula + -- p_total = max(0, (outputSize - 1) * stride + kernelSize - inputSize) + totalPaddingPairs <- + traverse + ( \((ref, outputSize), (_, kernelSize), ((_, inputSize), strideMap)) -> do + -- Compute total padding: (outputSize - 1) * stride + kernelSize - inputSize + totalPadding <- combineMap "totalPadding" (\[out, s, k, n] -> (out - 1) * s + k - n) [outputSize, strideMap, kernelSize, inputSize] + -- Constrain total padding to be non-negative + precondition [totalPadding] $ \[p] -> p .>= 0 + return (ref, totalPadding) + ) + (zip3 outputSizePairs kernelSizePairs (zip inputSizePairs strideMaps)) + + -- Split total padding into low and high: low = floor(p_total / 2), high = p_total - low + lowPairs <- + traverse + ( \(ref, totalPadding) -> do + r <- toRClassId ref + low <- newNonNegMap "sameLow" r + -- Constrain: low + low <= totalPadding <= low + low + 1 + precondition [low, totalPadding] $ \[l, p] -> (l + l) .<= p .&& p .<= (l + l + 1) + return (ref, low) + ) + totalPaddingPairs + + highPairs <- + traverse + ( \((ref, totalPadding), (_, low)) -> do + r <- toRClassId ref + high <- newNonNegMap "sameHigh" r + -- Constrain: low + high = totalPadding + precondition [low, high, totalPadding] $ \[l, h, p] -> l + h .== p + return (ref, high) + ) + (zip totalPaddingPairs lowPairs) + + let lowPDs = [ref --> l | (ref, l) <- lowPairs] + let highPDs = [ref --> h | (ref, h) <- highPairs] + + -- Unit dilations + ldilPDs <- + traverse + ( \ref -> do + r <- toRClassId ref + o <- newConstMap "ldilation1" 1 r + return (ref --> o) + ) + strideRefs + rdilPDs <- + traverse + ( \ref -> do + r <- toRClassId ref + o <- newConstMap "rdilation1" 1 r + return (ref --> o) + ) + strideRefs + return (lowPDs, ldilPDs, highPDs, rdilPDs) + + outExpr <- + conv + input + weights + config + ConvPadding + { low = lowPDs, + ldilation = ldilPDs, + high = highPDs, + rdilation = rdilPDs + } + + case act of + Relu -> relu @a outExpr + None -> return outExpr -- | TASO's split0 operator split0 :: diff --git a/tensor-right.cabal b/tensor-right.cabal index 1f44dce..b2ab461 100644 --- a/tensor-right.cabal +++ b/tensor-right.cabal @@ -115,6 +115,36 @@ executable rules-taso-concat unordered-containers default-language: Haskell2010 +executable rules-taso-conv + main-is: Main.hs + other-modules: + Paths_tensor_right + hs-source-dirs: + rules/taso/conv + default-extensions: + DuplicateRecordFields + OverloadedStrings + TypeApplications + AllowAmbiguousTypes + ScopedTypeVariables + FlexibleContexts + RankNTypes + ghc-options: -threaded -rtsopts -with-rtsopts=-N + build-depends: + base >=4.14 && <5, + deepseq, + grisette ==0.11.*, + hashable, + mtl, + ordered-containers, + prettyprinter, + sbv, + template-haskell, + tensor-right, + text, + unordered-containers + default-language: Haskell2010 + executable rules-taso-enlarge main-is: Main.hs other-modules: From 3e858e068b8313d32885df3dbe41d290532a136e Mon Sep 17 00:00:00 2001 From: lexu27 Date: Sat, 18 Oct 2025 23:20:23 -0500 Subject: [PATCH 20/25] Fixed haskell formatting and hie.yaml --- hie.yaml | 181 +++++++++++++-------------- rules/taso/enlarge/Main.hs | 2 +- rules/taso/ewadd/Main.hs | 2 +- rules/taso/ewmul/Main.hs | 2 +- rules/taso/relu/Main.hs | 2 +- rules/taso/smul/Main.hs | 2 +- rules/taso/split/Main.hs | 2 +- rules/taso/transpose/Main.hs | 2 +- src/TensorRight/Internal/DSL/DSL.hs | 2 +- src/TensorRight/Internal/DSL/TASO.hs | 2 +- 10 files changed, 99 insertions(+), 100 deletions(-) diff --git a/hie.yaml b/hie.yaml index 8683628..70bbd68 100644 --- a/hie.yaml +++ b/hie.yaml @@ -1,218 +1,217 @@ cradle: - stack: - - path: "./src" - component: "tensor-right:lib" + cabal: + - path: "src" + component: "lib:tensor-right" - - path: "./rules/debug/Main.hs" + - path: "rules/debug/Main.hs" component: "tensor-right:exe:rules-debug" - - path: "./rules/debug/Paths_tensor_right.hs" + - path: "rules/debug/Paths_tensor_right.hs" component: "tensor-right:exe:rules-debug" - - path: "./rules/taso/concat/Main.hs" + - path: "rules/taso/concat/Main.hs" component: "tensor-right:exe:rules-taso-concat" - - path: "./rules/taso/concat/Paths_tensor_right.hs" + - path: "rules/taso/concat/Paths_tensor_right.hs" component: "tensor-right:exe:rules-taso-concat" - - path: "./rules/taso/enlarge/Main.hs" + - path: "rules/taso/conv/Main.hs" + component: "tensor-right:exe:rules-taso-conv" + + - path: "rules/taso/conv/Paths_tensor_right.hs" + component: "tensor-right:exe:rules-taso-conv" + + - path: "rules/taso/enlarge/Main.hs" component: "tensor-right:exe:rules-taso-enlarge" - - path: "./rules/taso/enlarge/Paths_tensor_right.hs" + - path: "rules/taso/enlarge/Paths_tensor_right.hs" component: "tensor-right:exe:rules-taso-enlarge" - - path: "./rules/taso/ewadd/Main.hs" + - path: "rules/taso/ewadd/Main.hs" component: "tensor-right:exe:rules-taso-ewadd" - - path: "./rules/taso/ewadd/Paths_tensor_right.hs" + - path: "rules/taso/ewadd/Paths_tensor_right.hs" component: "tensor-right:exe:rules-taso-ewadd" - - path: "./rules/taso/ewmul/Main.hs" + - path: "rules/taso/ewmul/Main.hs" component: "tensor-right:exe:rules-taso-ewmul" - - path: "./rules/taso/ewmul/Paths_tensor_right.hs" + - path: "rules/taso/ewmul/Paths_tensor_right.hs" component: "tensor-right:exe:rules-taso-ewmul" - - path: "./rules/taso/relu/Main.hs" - component: "tensor-right:exe:rules-taso-relu" - - - path: "./rules/taso/relu/Paths_tensor_right.hs" - component: "tensor-right:exe:rules-taso-relu" + - path: "rules/taso/matmul2D/Main.hs" + component: "tensor-right:exe:rules-taso-matmul2D" - - path: "./rules/taso/smul/Main.hs" - component: "tensor-right:exe:rules-taso-smul" + - path: "rules/taso/matmul2D/Paths_tensor_right.hs" + component: "tensor-right:exe:rules-taso-matmul2D" - - path: "./rules/taso/smul/Paths_tensor_right.hs" - component: "tensor-right:exe:rules-taso-smul" + - path: "rules/taso/matmul3D/Main.hs" + component: "tensor-right:exe:rules-taso-matmul3D" - - path: "./rules/taso/transpose/Main.hs" - component: "tensor-right:exe:rules-taso-transpose" + - path: "rules/taso/matmul3D/Paths_tensor_right.hs" + component: "tensor-right:exe:rules-taso-matmul3D" - - path: "./rules/taso/transpose/Paths_tensor_right.hs" - component: "tensor-right:exe:rules-taso-transpose" + - path: "rules/taso/relu/Main.hs" + component: "tensor-right:exe:rules-taso-relu" - - path: "./rules/taso/matmul2D/Main.hs" - component: "tensor-right:exe:rules-taso-matmul2D" + - path: "rules/taso/relu/Paths_tensor_right.hs" + component: "tensor-right:exe:rules-taso-relu" - - path: "./rules/taso/matmul2D/Paths_tensor_right.hs" - component: "tensor-right:exe:rules-taso-matmul2D" + - path: "rules/taso/smul/Main.hs" + component: "tensor-right:exe:rules-taso-smul" - - path: "./rules/taso/matmul3D/Main.hs" - component: "tensor-right:exe:rules-taso-matmul3D" + - path: "rules/taso/smul/Paths_tensor_right.hs" + component: "tensor-right:exe:rules-taso-smul" - - path: "./rules/taso/matmul3D/Paths_tensor_right.hs" - component: "tensor-right:exe:rules-taso-matmul3D" + - path: "rules/taso/split/Main.hs" + component: "tensor-right:exe:rules-taso-split" - - path: "./rules/taso/conv/Main.hs" - component: "tensor-right:exe:rules-taso-conv" + - path: "rules/taso/split/Paths_tensor_right.hs" + component: "tensor-right:exe:rules-taso-split" - - path: "./rules/taso/conv/Paths_tensor_right.hs" - component: "tensor-right:exe:rules-taso-conv" + - path: "rules/taso/transpose/Main.hs" + component: "tensor-right:exe:rules-taso-transpose" + - path: "rules/taso/transpose/Paths_tensor_right.hs" + component: "tensor-right:exe:rules-taso-transpose" - - path: "./rules/xla/add/Main.hs" + - path: "rules/xla/add/Main.hs" component: "tensor-right:exe:rules-xla-add" - - path: "./rules/xla/add/Paths_tensor_right.hs" + - path: "rules/xla/add/Paths_tensor_right.hs" component: "tensor-right:exe:rules-xla-add" - - path: "./rules/xla/broadcast/Main.hs" + - path: "rules/xla/broadcast/Main.hs" component: "tensor-right:exe:rules-xla-broadcast" - - path: "./rules/xla/broadcast/Paths_tensor_right.hs" + - path: "rules/xla/broadcast/Paths_tensor_right.hs" component: "tensor-right:exe:rules-xla-broadcast" - - path: "./rules/xla/clamp/Main.hs" + - path: "rules/xla/clamp/Main.hs" component: "tensor-right:exe:rules-xla-clamp" - - path: "./rules/xla/clamp/Paths_tensor_right.hs" + - path: "rules/xla/clamp/Paths_tensor_right.hs" component: "tensor-right:exe:rules-xla-clamp" - - path: "./rules/xla/compare/Main.hs" + - path: "rules/xla/compare/Main.hs" component: "tensor-right:exe:rules-xla-compare" - - path: "./rules/xla/compare/Paths_tensor_right.hs" + - path: "rules/xla/compare/Paths_tensor_right.hs" component: "tensor-right:exe:rules-xla-compare" - - path: "./rules/xla/concat/Main.hs" + - path: "rules/xla/concat/Main.hs" component: "tensor-right:exe:rules-xla-concat" - - path: "./rules/xla/concat/Paths_tensor_right.hs" + - path: "rules/xla/concat/Paths_tensor_right.hs" component: "tensor-right:exe:rules-xla-concat" - - path: "./rules/xla/conv/Main.hs" + - path: "rules/xla/conv/Main.hs" component: "tensor-right:exe:rules-xla-conv" - - path: "./rules/xla/conv/Paths_tensor_right.hs" + - path: "rules/xla/conv/Paths_tensor_right.hs" component: "tensor-right:exe:rules-xla-conv" - - path: "./rules/xla/divmod/Main.hs" + - path: "rules/xla/divmod/Main.hs" component: "tensor-right:exe:rules-xla-divmod" - - path: "./rules/xla/divmod/Paths_tensor_right.hs" + - path: "rules/xla/divmod/Paths_tensor_right.hs" component: "tensor-right:exe:rules-xla-divmod" - - path: "./rules/xla/dot/Main.hs" + - path: "rules/xla/dot/Main.hs" component: "tensor-right:exe:rules-xla-dot" - - path: "./rules/xla/dot/Paths_tensor_right.hs" + - path: "rules/xla/dot/Paths_tensor_right.hs" component: "tensor-right:exe:rules-xla-dot" - - path: "./rules/xla/dyslice/Main.hs" + - path: "rules/xla/dyslice/Main.hs" component: "tensor-right:exe:rules-xla-dyslice" - - path: "./rules/xla/dyslice/Paths_tensor_right.hs" + - path: "rules/xla/dyslice/Paths_tensor_right.hs" component: "tensor-right:exe:rules-xla-dyslice" - - path: "./rules/xla/dyupslice/Main.hs" + - path: "rules/xla/dyupslice/Main.hs" component: "tensor-right:exe:rules-xla-dyupslice" - - path: "./rules/xla/dyupslice/Paths_tensor_right.hs" + - path: "rules/xla/dyupslice/Paths_tensor_right.hs" component: "tensor-right:exe:rules-xla-dyupslice" - - path: "./rules/xla/generalize/Main.hs" + - path: "rules/xla/generalize/Main.hs" component: "tensor-right:exe:rules-xla-generalize" - - path: "./rules/xla/generalize/Paths_tensor_right.hs" + - path: "rules/xla/generalize/Paths_tensor_right.hs" component: "tensor-right:exe:rules-xla-generalize" - - path: "./rules/xla/iota/Main.hs" + - path: "rules/xla/iota/Main.hs" component: "tensor-right:exe:rules-xla-iota" - - path: "./rules/xla/iota/Paths_tensor_right.hs" + - path: "rules/xla/iota/Paths_tensor_right.hs" component: "tensor-right:exe:rules-xla-iota" - - path: "./rules/xla/logical/Main.hs" + - path: "rules/xla/logical/Main.hs" component: "tensor-right:exe:rules-xla-logical" - - path: "./rules/xla/logical/Paths_tensor_right.hs" + - path: "rules/xla/logical/Paths_tensor_right.hs" component: "tensor-right:exe:rules-xla-logical" - - path: "./rules/xla/max/Main.hs" + - path: "rules/xla/max/Main.hs" component: "tensor-right:exe:rules-xla-max" - - path: "./rules/xla/max/Paths_tensor_right.hs" + - path: "rules/xla/max/Paths_tensor_right.hs" component: "tensor-right:exe:rules-xla-max" - - path: "./rules/xla/mul/Main.hs" + - path: "rules/xla/mul/Main.hs" component: "tensor-right:exe:rules-xla-mul" - - path: "./rules/xla/mul/Paths_tensor_right.hs" + - path: "rules/xla/mul/Paths_tensor_right.hs" component: "tensor-right:exe:rules-xla-mul" - - path: "./rules/xla/not/Main.hs" + - path: "rules/xla/not/Main.hs" component: "tensor-right:exe:rules-xla-not" - - path: "./rules/xla/not/Paths_tensor_right.hs" + - path: "rules/xla/not/Paths_tensor_right.hs" component: "tensor-right:exe:rules-xla-not" - - path: "./rules/xla/pad/Main.hs" + - path: "rules/xla/pad/Main.hs" component: "tensor-right:exe:rules-xla-pad" - - path: "./rules/xla/pad/Paths_tensor_right.hs" + - path: "rules/xla/pad/Paths_tensor_right.hs" component: "tensor-right:exe:rules-xla-pad" - - path: "./rules/xla/reduce/Main.hs" + - path: "rules/xla/reduce/Main.hs" component: "tensor-right:exe:rules-xla-reduce" - - path: "./rules/xla/reduce/Paths_tensor_right.hs" + - path: "rules/xla/reduce/Paths_tensor_right.hs" component: "tensor-right:exe:rules-xla-reduce" - - path: "./rules/xla/relabel/Main.hs" + - path: "rules/xla/relabel/Main.hs" component: "tensor-right:exe:rules-xla-relabel" - - path: "./rules/xla/relabel/Paths_tensor_right.hs" + - path: "rules/xla/relabel/Paths_tensor_right.hs" component: "tensor-right:exe:rules-xla-relabel" - - path: "./rules/xla/reverse/Main.hs" + - path: "rules/xla/reverse/Main.hs" component: "tensor-right:exe:rules-xla-reverse" - - path: "./rules/xla/reverse/Paths_tensor_right.hs" + - path: "rules/xla/reverse/Paths_tensor_right.hs" component: "tensor-right:exe:rules-xla-reverse" - - path: "./rules/xla/select/Main.hs" + - path: "rules/xla/select/Main.hs" component: "tensor-right:exe:rules-xla-select" - - path: "./rules/xla/select/Paths_tensor_right.hs" + - path: "rules/xla/select/Paths_tensor_right.hs" component: "tensor-right:exe:rules-xla-select" - - path: "./rules/xla/slice/Main.hs" + - path: "rules/xla/slice/Main.hs" component: "tensor-right:exe:rules-xla-slice" - - path: "./rules/xla/slice/Paths_tensor_right.hs" + - path: "rules/xla/slice/Paths_tensor_right.hs" component: "tensor-right:exe:rules-xla-slice" - - path: "./rules/xla/sub/Main.hs" + - path: "rules/xla/sub/Main.hs" component: "tensor-right:exe:rules-xla-sub" - - path: "./rules/xla/sub/Paths_tensor_right.hs" + - path: "rules/xla/sub/Paths_tensor_right.hs" component: "tensor-right:exe:rules-xla-sub" - - path: "./rules/xla/split/Main.hs" - component: "tensor-right:exe:rules-xla-split" - - - path: "./rules/xla/split/Paths_tensor_right.hs" - component: "tensor-right:exe:rules-xla-split" - - - path: "./test" + - path: "test" component: "tensor-right:test:spec" diff --git a/rules/taso/enlarge/Main.hs b/rules/taso/enlarge/Main.hs index fe0b744..1ea5604 100644 --- a/rules/taso/enlarge/Main.hs +++ b/rules/taso/enlarge/Main.hs @@ -57,4 +57,4 @@ desugarEnlarge _ = do main :: IO () main = do printTitle "######################## desugarEnlarge ########################" - verifyNumDSL desugarEnlarge \ No newline at end of file + verifyNumDSL desugarEnlarge diff --git a/rules/taso/ewadd/Main.hs b/rules/taso/ewadd/Main.hs index c7a033d..a680ce1 100644 --- a/rules/taso/ewadd/Main.hs +++ b/rules/taso/ewadd/Main.hs @@ -42,4 +42,4 @@ main = do printTitle "############################## associativity ##############################" verifyNumDSL associativity printTitle "############################## commutativity ##############################" - verifyNumDSL commutativity \ No newline at end of file + verifyNumDSL commutativity diff --git a/rules/taso/ewmul/Main.hs b/rules/taso/ewmul/Main.hs index a196406..7ca7744 100644 --- a/rules/taso/ewmul/Main.hs +++ b/rules/taso/ewmul/Main.hs @@ -71,4 +71,4 @@ main = do printTitle "############################## distributivity ##############################" verifyNumDSL distributivity printTitle "############################## identity ##############################" - verifyNumDSL identity \ No newline at end of file + verifyNumDSL identity diff --git a/rules/taso/relu/Main.hs b/rules/taso/relu/Main.hs index ad62359..9f107d0 100644 --- a/rules/taso/relu/Main.hs +++ b/rules/taso/relu/Main.hs @@ -14,4 +14,4 @@ desugar _ = do main :: IO () main = do printTitle "############################## desugar ##############################" - verifyNumDSL desugar \ No newline at end of file + verifyNumDSL desugar diff --git a/rules/taso/smul/Main.hs b/rules/taso/smul/Main.hs index 5a3e693..54a8f4d 100644 --- a/rules/taso/smul/Main.hs +++ b/rules/taso/smul/Main.hs @@ -56,4 +56,4 @@ main = do printTitle "############################## distributivity ##############################" verifyNumDSL distributivity printTitle "############################## commutativity ##############################" - verifyNumDSL commutativity \ No newline at end of file + verifyNumDSL commutativity diff --git a/rules/taso/split/Main.hs b/rules/taso/split/Main.hs index 60a94fd..2f83166 100644 --- a/rules/taso/split/Main.hs +++ b/rules/taso/split/Main.hs @@ -45,4 +45,4 @@ main = do printTitle "#################### split0 desguar ####################" verifyNumDSL split0_desugar printTitle "#################### split1 desugar ####################" - verifyNumDSL split1_desugar \ No newline at end of file + verifyNumDSL split1_desugar diff --git a/rules/taso/transpose/Main.hs b/rules/taso/transpose/Main.hs index 4e3aba8..bc1a8ab 100644 --- a/rules/taso/transpose/Main.hs +++ b/rules/taso/transpose/Main.hs @@ -108,4 +108,4 @@ main = do printTitle "######################## transposeRelu ###########################" verifyNumDSL transposeRelu printTitle "######################## transposeConcat #########################" - verifyNumDSL transposeConcat \ No newline at end of file + verifyNumDSL transposeConcat diff --git a/src/TensorRight/Internal/DSL/DSL.hs b/src/TensorRight/Internal/DSL/DSL.hs index ee7f2a5..fb8d511 100644 --- a/src/TensorRight/Internal/DSL/DSL.hs +++ b/src/TensorRight/Internal/DSL/DSL.hs @@ -1578,4 +1578,4 @@ transpose2D :: (ExprInContext e) => e -> DSLContext Expr transpose2D e' = do e <- liftInContext e' (a, b) <- twoRefsOf e - relabel e [a --> b, b --> a] \ No newline at end of file + relabel e [a --> b, b --> a] diff --git a/src/TensorRight/Internal/DSL/TASO.hs b/src/TensorRight/Internal/DSL/TASO.hs index 4f51710..b23b9d8 100644 --- a/src/TensorRight/Internal/DSL/TASO.hs +++ b/src/TensorRight/Internal/DSL/TASO.hs @@ -409,4 +409,4 @@ split1 axis e' = do case e of E.Concat _ _ r d | d == axis -> return r E.Concat {} -> throwError "split1: expected Concat on the given axis" - _ -> throwError "split1: input is not a Concat" \ No newline at end of file + _ -> throwError "split1: input is not a Concat" From 3282deee7692908632d010e93c956c4a4948175c Mon Sep 17 00:00:00 2001 From: jaiarora0011 Date: Wed, 5 Nov 2025 13:11:50 -0600 Subject: [PATCH 21/25] Use stack config for gen-hie --- hie.yaml | 148 +++++++++++++++++++++++++++---------------------------- 1 file changed, 74 insertions(+), 74 deletions(-) diff --git a/hie.yaml b/hie.yaml index 70bbd68..241b30e 100644 --- a/hie.yaml +++ b/hie.yaml @@ -1,217 +1,217 @@ cradle: - cabal: - - path: "src" - component: "lib:tensor-right" + stack: + - path: "./src" + component: "tensor-right:lib" - - path: "rules/debug/Main.hs" + - path: "./rules/debug/Main.hs" component: "tensor-right:exe:rules-debug" - - path: "rules/debug/Paths_tensor_right.hs" + - path: "./rules/debug/Paths_tensor_right.hs" component: "tensor-right:exe:rules-debug" - - path: "rules/taso/concat/Main.hs" + - path: "./rules/taso/concat/Main.hs" component: "tensor-right:exe:rules-taso-concat" - - path: "rules/taso/concat/Paths_tensor_right.hs" + - path: "./rules/taso/concat/Paths_tensor_right.hs" component: "tensor-right:exe:rules-taso-concat" - - path: "rules/taso/conv/Main.hs" + - path: "./rules/taso/conv/Main.hs" component: "tensor-right:exe:rules-taso-conv" - - path: "rules/taso/conv/Paths_tensor_right.hs" + - path: "./rules/taso/conv/Paths_tensor_right.hs" component: "tensor-right:exe:rules-taso-conv" - - path: "rules/taso/enlarge/Main.hs" + - path: "./rules/taso/enlarge/Main.hs" component: "tensor-right:exe:rules-taso-enlarge" - - path: "rules/taso/enlarge/Paths_tensor_right.hs" + - path: "./rules/taso/enlarge/Paths_tensor_right.hs" component: "tensor-right:exe:rules-taso-enlarge" - - path: "rules/taso/ewadd/Main.hs" + - path: "./rules/taso/ewadd/Main.hs" component: "tensor-right:exe:rules-taso-ewadd" - - path: "rules/taso/ewadd/Paths_tensor_right.hs" + - path: "./rules/taso/ewadd/Paths_tensor_right.hs" component: "tensor-right:exe:rules-taso-ewadd" - - path: "rules/taso/ewmul/Main.hs" + - path: "./rules/taso/ewmul/Main.hs" component: "tensor-right:exe:rules-taso-ewmul" - - path: "rules/taso/ewmul/Paths_tensor_right.hs" + - path: "./rules/taso/ewmul/Paths_tensor_right.hs" component: "tensor-right:exe:rules-taso-ewmul" - - path: "rules/taso/matmul2D/Main.hs" + - path: "./rules/taso/matmul2D/Main.hs" component: "tensor-right:exe:rules-taso-matmul2D" - - path: "rules/taso/matmul2D/Paths_tensor_right.hs" + - path: "./rules/taso/matmul2D/Paths_tensor_right.hs" component: "tensor-right:exe:rules-taso-matmul2D" - - path: "rules/taso/matmul3D/Main.hs" + - path: "./rules/taso/matmul3D/Main.hs" component: "tensor-right:exe:rules-taso-matmul3D" - - path: "rules/taso/matmul3D/Paths_tensor_right.hs" + - path: "./rules/taso/matmul3D/Paths_tensor_right.hs" component: "tensor-right:exe:rules-taso-matmul3D" - - path: "rules/taso/relu/Main.hs" + - path: "./rules/taso/relu/Main.hs" component: "tensor-right:exe:rules-taso-relu" - - path: "rules/taso/relu/Paths_tensor_right.hs" + - path: "./rules/taso/relu/Paths_tensor_right.hs" component: "tensor-right:exe:rules-taso-relu" - - path: "rules/taso/smul/Main.hs" + - path: "./rules/taso/smul/Main.hs" component: "tensor-right:exe:rules-taso-smul" - - path: "rules/taso/smul/Paths_tensor_right.hs" + - path: "./rules/taso/smul/Paths_tensor_right.hs" component: "tensor-right:exe:rules-taso-smul" - - path: "rules/taso/split/Main.hs" + - path: "./rules/taso/split/Main.hs" component: "tensor-right:exe:rules-taso-split" - - path: "rules/taso/split/Paths_tensor_right.hs" + - path: "./rules/taso/split/Paths_tensor_right.hs" component: "tensor-right:exe:rules-taso-split" - - path: "rules/taso/transpose/Main.hs" + - path: "./rules/taso/transpose/Main.hs" component: "tensor-right:exe:rules-taso-transpose" - - path: "rules/taso/transpose/Paths_tensor_right.hs" + - path: "./rules/taso/transpose/Paths_tensor_right.hs" component: "tensor-right:exe:rules-taso-transpose" - - path: "rules/xla/add/Main.hs" + - path: "./rules/xla/add/Main.hs" component: "tensor-right:exe:rules-xla-add" - - path: "rules/xla/add/Paths_tensor_right.hs" + - path: "./rules/xla/add/Paths_tensor_right.hs" component: "tensor-right:exe:rules-xla-add" - - path: "rules/xla/broadcast/Main.hs" + - path: "./rules/xla/broadcast/Main.hs" component: "tensor-right:exe:rules-xla-broadcast" - - path: "rules/xla/broadcast/Paths_tensor_right.hs" + - path: "./rules/xla/broadcast/Paths_tensor_right.hs" component: "tensor-right:exe:rules-xla-broadcast" - - path: "rules/xla/clamp/Main.hs" + - path: "./rules/xla/clamp/Main.hs" component: "tensor-right:exe:rules-xla-clamp" - - path: "rules/xla/clamp/Paths_tensor_right.hs" + - path: "./rules/xla/clamp/Paths_tensor_right.hs" component: "tensor-right:exe:rules-xla-clamp" - - path: "rules/xla/compare/Main.hs" + - path: "./rules/xla/compare/Main.hs" component: "tensor-right:exe:rules-xla-compare" - - path: "rules/xla/compare/Paths_tensor_right.hs" + - path: "./rules/xla/compare/Paths_tensor_right.hs" component: "tensor-right:exe:rules-xla-compare" - - path: "rules/xla/concat/Main.hs" + - path: "./rules/xla/concat/Main.hs" component: "tensor-right:exe:rules-xla-concat" - - path: "rules/xla/concat/Paths_tensor_right.hs" + - path: "./rules/xla/concat/Paths_tensor_right.hs" component: "tensor-right:exe:rules-xla-concat" - - path: "rules/xla/conv/Main.hs" + - path: "./rules/xla/conv/Main.hs" component: "tensor-right:exe:rules-xla-conv" - - path: "rules/xla/conv/Paths_tensor_right.hs" + - path: "./rules/xla/conv/Paths_tensor_right.hs" component: "tensor-right:exe:rules-xla-conv" - - path: "rules/xla/divmod/Main.hs" + - path: "./rules/xla/divmod/Main.hs" component: "tensor-right:exe:rules-xla-divmod" - - path: "rules/xla/divmod/Paths_tensor_right.hs" + - path: "./rules/xla/divmod/Paths_tensor_right.hs" component: "tensor-right:exe:rules-xla-divmod" - - path: "rules/xla/dot/Main.hs" + - path: "./rules/xla/dot/Main.hs" component: "tensor-right:exe:rules-xla-dot" - - path: "rules/xla/dot/Paths_tensor_right.hs" + - path: "./rules/xla/dot/Paths_tensor_right.hs" component: "tensor-right:exe:rules-xla-dot" - - path: "rules/xla/dyslice/Main.hs" + - path: "./rules/xla/dyslice/Main.hs" component: "tensor-right:exe:rules-xla-dyslice" - - path: "rules/xla/dyslice/Paths_tensor_right.hs" + - path: "./rules/xla/dyslice/Paths_tensor_right.hs" component: "tensor-right:exe:rules-xla-dyslice" - - path: "rules/xla/dyupslice/Main.hs" + - path: "./rules/xla/dyupslice/Main.hs" component: "tensor-right:exe:rules-xla-dyupslice" - - path: "rules/xla/dyupslice/Paths_tensor_right.hs" + - path: "./rules/xla/dyupslice/Paths_tensor_right.hs" component: "tensor-right:exe:rules-xla-dyupslice" - - path: "rules/xla/generalize/Main.hs" + - path: "./rules/xla/generalize/Main.hs" component: "tensor-right:exe:rules-xla-generalize" - - path: "rules/xla/generalize/Paths_tensor_right.hs" + - path: "./rules/xla/generalize/Paths_tensor_right.hs" component: "tensor-right:exe:rules-xla-generalize" - - path: "rules/xla/iota/Main.hs" + - path: "./rules/xla/iota/Main.hs" component: "tensor-right:exe:rules-xla-iota" - - path: "rules/xla/iota/Paths_tensor_right.hs" + - path: "./rules/xla/iota/Paths_tensor_right.hs" component: "tensor-right:exe:rules-xla-iota" - - path: "rules/xla/logical/Main.hs" + - path: "./rules/xla/logical/Main.hs" component: "tensor-right:exe:rules-xla-logical" - - path: "rules/xla/logical/Paths_tensor_right.hs" + - path: "./rules/xla/logical/Paths_tensor_right.hs" component: "tensor-right:exe:rules-xla-logical" - - path: "rules/xla/max/Main.hs" + - path: "./rules/xla/max/Main.hs" component: "tensor-right:exe:rules-xla-max" - - path: "rules/xla/max/Paths_tensor_right.hs" + - path: "./rules/xla/max/Paths_tensor_right.hs" component: "tensor-right:exe:rules-xla-max" - - path: "rules/xla/mul/Main.hs" + - path: "./rules/xla/mul/Main.hs" component: "tensor-right:exe:rules-xla-mul" - - path: "rules/xla/mul/Paths_tensor_right.hs" + - path: "./rules/xla/mul/Paths_tensor_right.hs" component: "tensor-right:exe:rules-xla-mul" - - path: "rules/xla/not/Main.hs" + - path: "./rules/xla/not/Main.hs" component: "tensor-right:exe:rules-xla-not" - - path: "rules/xla/not/Paths_tensor_right.hs" + - path: "./rules/xla/not/Paths_tensor_right.hs" component: "tensor-right:exe:rules-xla-not" - - path: "rules/xla/pad/Main.hs" + - path: "./rules/xla/pad/Main.hs" component: "tensor-right:exe:rules-xla-pad" - - path: "rules/xla/pad/Paths_tensor_right.hs" + - path: "./rules/xla/pad/Paths_tensor_right.hs" component: "tensor-right:exe:rules-xla-pad" - - path: "rules/xla/reduce/Main.hs" + - path: "./rules/xla/reduce/Main.hs" component: "tensor-right:exe:rules-xla-reduce" - - path: "rules/xla/reduce/Paths_tensor_right.hs" + - path: "./rules/xla/reduce/Paths_tensor_right.hs" component: "tensor-right:exe:rules-xla-reduce" - - path: "rules/xla/relabel/Main.hs" + - path: "./rules/xla/relabel/Main.hs" component: "tensor-right:exe:rules-xla-relabel" - - path: "rules/xla/relabel/Paths_tensor_right.hs" + - path: "./rules/xla/relabel/Paths_tensor_right.hs" component: "tensor-right:exe:rules-xla-relabel" - - path: "rules/xla/reverse/Main.hs" + - path: "./rules/xla/reverse/Main.hs" component: "tensor-right:exe:rules-xla-reverse" - - path: "rules/xla/reverse/Paths_tensor_right.hs" + - path: "./rules/xla/reverse/Paths_tensor_right.hs" component: "tensor-right:exe:rules-xla-reverse" - - path: "rules/xla/select/Main.hs" + - path: "./rules/xla/select/Main.hs" component: "tensor-right:exe:rules-xla-select" - - path: "rules/xla/select/Paths_tensor_right.hs" + - path: "./rules/xla/select/Paths_tensor_right.hs" component: "tensor-right:exe:rules-xla-select" - - path: "rules/xla/slice/Main.hs" + - path: "./rules/xla/slice/Main.hs" component: "tensor-right:exe:rules-xla-slice" - - path: "rules/xla/slice/Paths_tensor_right.hs" + - path: "./rules/xla/slice/Paths_tensor_right.hs" component: "tensor-right:exe:rules-xla-slice" - - path: "rules/xla/sub/Main.hs" + - path: "./rules/xla/sub/Main.hs" component: "tensor-right:exe:rules-xla-sub" - - path: "rules/xla/sub/Paths_tensor_right.hs" + - path: "./rules/xla/sub/Paths_tensor_right.hs" component: "tensor-right:exe:rules-xla-sub" - - path: "test" + - path: "./test" component: "tensor-right:test:spec" From 29aeda08fdad98347b77acabe650838d82df625c Mon Sep 17 00:00:00 2001 From: jaiarora0011 Date: Thu, 6 Nov 2025 00:03:55 -0600 Subject: [PATCH 22/25] Remove addition lemmas for TensorElemSum These lemmas are not necessarily correct and may lead to unsoundness --- src/TensorRight/Internal/Core/Tensor/Typed.hs | 6 ------ 1 file changed, 6 deletions(-) diff --git a/src/TensorRight/Internal/Core/Tensor/Typed.hs b/src/TensorRight/Internal/Core/Tensor/Typed.hs index 2a379f3..d9c1388 100644 --- a/src/TensorRight/Internal/Core/Tensor/Typed.hs +++ b/src/TensorRight/Internal/Core/Tensor/Typed.hs @@ -381,12 +381,6 @@ numBinOp op xo yo = do case (op, xElem, yElem) of (_, TensorElemVal xSym, TensorElemVal ySym) -> do mrgReturn $ TensorElemVal $ func xSym ySym - (Add, TensorElemSum xSym, TensorElemVal ySym) -> - mrgReturn $ TensorElemSum (xSym + ySym) - (Add, TensorElemVal xSym, TensorElemSum ySym) -> - mrgReturn $ TensorElemSum (xSym + ySym) - (Add, TensorElemSum xSym, TensorElemSum ySym) -> - mrgReturn $ TensorElemSum (xSym + ySym) (Mul, TensorElemSum xSym, TensorElemVal ySym) -> mrgReturn $ TensorElemSum (xSym * ySym) (Mul, TensorElemVal xSym, TensorElemSum ySym) -> From 64094e62903ba1bd1cda4a1159c9ccd3d8cc6f71 Mon Sep 17 00:00:00 2001 From: jaiarora0011 Date: Thu, 6 Nov 2025 00:19:25 -0600 Subject: [PATCH 23/25] Remove incorrect clamp operation with TensorElemSum --- src/TensorRight/Internal/Core/Tensor/Typed.hs | 3 --- 1 file changed, 3 deletions(-) diff --git a/src/TensorRight/Internal/Core/Tensor/Typed.hs b/src/TensorRight/Internal/Core/Tensor/Typed.hs index d9c1388..3da0089 100644 --- a/src/TensorRight/Internal/Core/Tensor/Typed.hs +++ b/src/TensorRight/Internal/Core/Tensor/Typed.hs @@ -1132,9 +1132,6 @@ clamp mino to maxo = do case (minElem, tElem, maxElem) of (TensorElemVal minSym, TensorElemVal tSym, TensorElemVal maxSym) -> mrgReturn $ TensorElemVal $ tensorValSymMin maxSym $ tensorValSymMax tSym minSym - (TensorElemVal minSym, TensorElemSum tSym, TensorElemVal maxSym) -> - -- Special case with contraction - mrgReturn $ TensorElemSum $ tensorValSymMin maxSym $ tensorValSymMax tSym minSym _ -> error "Not implemented" ) (tensorShape t) From 4d2bb55a7d73000ad05e92e7edbaea48c84eecd9 Mon Sep 17 00:00:00 2001 From: jaiarora0011 Date: Sat, 8 Nov 2025 19:06:58 -0600 Subject: [PATCH 24/25] Remove helper functions --- rules/taso/transpose/Main.hs | 3 +- src/TensorRight/Internal/DSL/DSL.hs | 47 +--------------------------- src/TensorRight/Internal/DSL/TASO.hs | 33 ++++++++++++++----- 3 files changed, 28 insertions(+), 55 deletions(-) diff --git a/rules/taso/transpose/Main.hs b/rules/taso/transpose/Main.hs index bc1a8ab..5646b57 100644 --- a/rules/taso/transpose/Main.hs +++ b/rules/taso/transpose/Main.hs @@ -2,7 +2,7 @@ module Main (main) where import Grisette hiding ((-->)) import TensorRight -import TensorRight.Internal.DSL.DSL (newSingletonRClass, twoRefsOf) +import TensorRight.Internal.DSL.DSL (newSingletonRClass) import TensorRight.Internal.DSL.TASO (concat, ewadd, ewmul, relu, smul, transpose) import Prelude hiding (concat) @@ -15,7 +15,6 @@ desugarTranspose _ = do s2 <- newMap "s2" rclass tA <- newTensor @a "A" [rclass --> s1 @@ "L", rclass --> s2 @@ "R"] lhs <- transpose tA - (a, b) <- twoRefsOf tA rhs <- relabel tA [ByLabel "L" --> ByLabel "R", ByLabel "R" --> ByLabel "L"] rewrite "transpose(A) ⇒ relabel(A, swap)" lhs rhs diff --git a/src/TensorRight/Internal/DSL/DSL.hs b/src/TensorRight/Internal/DSL/DSL.hs index fb8d511..9f97eb4 100644 --- a/src/TensorRight/Internal/DSL/DSL.hs +++ b/src/TensorRight/Internal/DSL/DSL.hs @@ -73,10 +73,8 @@ module TensorRight.Internal.DSL.DSL newConstMap, newConstMaps, combineMap, - transpose2D, - matmul2DHelper, - matmul3DHelper, twoRefsOf, + threeRefsOf, Padding (..), ConvConfig (..), ConvPadding (..), @@ -212,7 +210,6 @@ import TensorRight.Internal.DSL.Shape restrictAbstractShape, toAbstractShape, ) -import TensorRight.Internal.DSL.Syntax (ArrowSyntax ((-->))) import TensorRight.Internal.Util.Error (assert) -- | Create an integer element from a tensor int. @@ -1537,45 +1534,3 @@ threeRefsOf e = do if length refs == 3 then let [a, b, c] = refs in return (a, b, c) else error $ "Expected exactly 3 refs, got " ++ show (length refs) ++ ": " ++ show refs - -matmul2DHelper :: - (ExprInContext lhs, ExprInContext rhs) => - -- | The left-hand side tensor (shape [M, K]) - lhs -> - -- | The right-hand side tensor (shape [K, N]) - rhs -> - -- | The contracting SI maps. - [ParamDesc] -> - DSLContext Expr -matmul2DHelper lhs' rhs' contract = do - lhs <- liftInContext lhs' - rhs <- liftInContext rhs' - (_, _) <- twoRefsOf lhs - (_, _) <- twoRefsOf rhs - dot lhs rhs contract [] - -matmul3DHelper :: - (ExprInContext lhs, ExprInContext rhs) => - -- | The left-hand side tensor (shape [B, M, K]) - lhs -> - -- | The right-hand side tensor (shape [B, K, N]) - rhs -> - -- | The contracting SI maps. - [ParamDesc] -> - -- | The batch rclasses. - [RClassRef] -> - DSLContext Expr -matmul3DHelper lhs' rhs' contract batch = do - lhs <- liftInContext lhs' - rhs <- liftInContext rhs' - -- Get the three axes from each tensor - (_, _, _) <- threeRefsOf lhs -- B, M, K - (_, _, _) <- threeRefsOf rhs -- B, K, N - dot lhs rhs contract batch - --- | Helper function for transpose2D. -transpose2D :: (ExprInContext e) => e -> DSLContext Expr -transpose2D e' = do - e <- liftInContext e' - (a, b) <- twoRefsOf e - relabel e [a --> b, b --> a] diff --git a/src/TensorRight/Internal/DSL/TASO.hs b/src/TensorRight/Internal/DSL/TASO.hs index b23b9d8..4b21d5a 100644 --- a/src/TensorRight/Internal/DSL/TASO.hs +++ b/src/TensorRight/Internal/DSL/TASO.hs @@ -32,7 +32,7 @@ where import Control.Monad.Except (MonadError (throwError)) import Grisette (SymInteger, symIte, (.&&), (.<), (.<=), (.==), (.>=)) -import TensorRight (NumBinOp (Add, Mul), ToElem, concatTensor, posInf) +import TensorRight (NumBinOp (Add, Mul), ToElem, posInf) import TensorRight.Internal.Core.Tensor (ToDType) import TensorRight.Internal.DSL.DSL ( ConvConfig (..), @@ -47,15 +47,17 @@ import TensorRight.Internal.DSL.DSL combineMap, conv, liftInContext, - matmul2DHelper, - matmul3DHelper, newConstMap, newNonNegMap, numBinOp, numBinScalarOp, pad, precondition, - transpose2D, + twoRefsOf, + threeRefsOf, + relabel, + dot, + concatTensor, ) import TensorRight.Internal.DSL.Expr (checkMapHasRClass, getRClassByMap) import qualified TensorRight.Internal.DSL.Expr as E @@ -129,8 +131,12 @@ transpose :: -- | The tensor to transpose e -> DSLContext Expr -transpose = transpose2D +transpose e' = do + e <- liftInContext e' + (a, b) <- twoRefsOf e + relabel e [a --> b, b --> a] +-- TODO: Semantics of enlarge should be implemented in TensorRight/Internal/Core -- TASO's enlarge operator! -- Split policy: low = floor(d/2), high = d - low, where d = max(s, k) - s per axis. enlarge :: @@ -199,7 +205,13 @@ matmul2D :: -- | The contracting SI maps. [ParamDesc] -> DSLContext Expr -matmul2D = matmul2DHelper +matmul2D lhs' rhs' contract = do + lhs <- liftInContext lhs' + rhs <- liftInContext rhs' + (_, _) <- twoRefsOf lhs + (_, _) <- twoRefsOf rhs + -- TODO: do we need to check the length of contract? + dot lhs rhs contract [] -- | TASO's 2D matrix multiplication operator matmul3D :: @@ -213,7 +225,14 @@ matmul3D :: -- | Batch RClasses [RClassRef] -> DSLContext Expr -matmul3D = matmul3DHelper +matmul3D lhs' rhs' contract batch = do + lhs <- liftInContext lhs' + rhs <- liftInContext rhs' + -- Get the three axes from each tensor + (_, _, _) <- threeRefsOf lhs -- B, M, K + (_, _, _) <- threeRefsOf rhs -- B, K, N + -- TODO: do we need to check the length of contract and batch? + dot lhs rhs contract batch -- | TASO's 2D matrix multiplication operator tasoConv :: From f6c7574067591c7ac0228d615655d5eb494b2c6a Mon Sep 17 00:00:00 2001 From: jaiarora0011 Date: Sun, 9 Nov 2025 00:35:18 -0600 Subject: [PATCH 25/25] Add checks on number of contraction and batch rclasses --- src/TensorRight/Internal/DSL/DSL.hs | 14 +++++++------- src/TensorRight/Internal/DSL/TASO.hs | 17 +++++++++++------ src/TensorRight/Internal/Util/Error.hs | 4 ++++ 3 files changed, 22 insertions(+), 13 deletions(-) diff --git a/src/TensorRight/Internal/DSL/DSL.hs b/src/TensorRight/Internal/DSL/DSL.hs index 9f97eb4..1ce3665 100644 --- a/src/TensorRight/Internal/DSL/DSL.hs +++ b/src/TensorRight/Internal/DSL/DSL.hs @@ -210,7 +210,7 @@ import TensorRight.Internal.DSL.Shape restrictAbstractShape, toAbstractShape, ) -import TensorRight.Internal.Util.Error (assert) +import TensorRight.Internal.Util.Error (assert, tshow) -- | Create an integer element from a tensor int. intElem :: TensorInt -> Elem @@ -1521,9 +1521,9 @@ twoRefsOf :: Expr -> DSLContext (RClassRef, RClassRef) twoRefsOf e = do shape <- shapeOf e let refs = HS.toList $ abstractShapeAllRefs shape - if length refs == 2 - then let [a, b] = refs in return (a, b) - else error $ "Expected exactly 2 refs, got " ++ show (length refs) ++ ": " ++ show refs + assert ("Expected exactly 2 refs, got " <> tshow (length refs) <> ": " <> tshow refs) $ + length refs == 2 + let [a, b] = refs in return (a, b) -- | Helper function to get three aggregated axes from a 3D tensor. -- Useful for 3D batched matrix multiplication. @@ -1531,6 +1531,6 @@ threeRefsOf :: Expr -> DSLContext (RClassRef, RClassRef, RClassRef) threeRefsOf e = do shape <- shapeOf e let refs = HS.toList $ abstractShapeAllRefs shape - if length refs == 3 - then let [a, b, c] = refs in return (a, b, c) - else error $ "Expected exactly 3 refs, got " ++ show (length refs) ++ ": " ++ show refs + assert ("Expected exactly 3 refs, got " <> tshow (length refs) <> ": " <> tshow refs) $ + length refs == 3 + let [a, b, c] = refs in return (a, b, c) diff --git a/src/TensorRight/Internal/DSL/TASO.hs b/src/TensorRight/Internal/DSL/TASO.hs index 4b21d5a..b57d6ec 100644 --- a/src/TensorRight/Internal/DSL/TASO.hs +++ b/src/TensorRight/Internal/DSL/TASO.hs @@ -64,6 +64,7 @@ import qualified TensorRight.Internal.DSL.Expr as E import TensorRight.Internal.DSL.Identifier (MapIdentifier) import TensorRight.Internal.DSL.Parameters (ParamDesc (..)) import TensorRight.Internal.DSL.Syntax (ArrowSyntax ((-->))) +import TensorRight.Internal.Util.Error (assert, tshow) import Prelude hiding (concat) data Activation = Relu | None @@ -208,9 +209,10 @@ matmul2D :: matmul2D lhs' rhs' contract = do lhs <- liftInContext lhs' rhs <- liftInContext rhs' - (_, _) <- twoRefsOf lhs - (_, _) <- twoRefsOf rhs - -- TODO: do we need to check the length of contract? + twoRefsOf lhs + twoRefsOf rhs + assert ("matmul2D: expected 1 contraction rclass, got " <> tshow (length contract)) $ + length contract == 1 dot lhs rhs contract [] -- | TASO's 2D matrix multiplication operator @@ -229,9 +231,12 @@ matmul3D lhs' rhs' contract batch = do lhs <- liftInContext lhs' rhs <- liftInContext rhs' -- Get the three axes from each tensor - (_, _, _) <- threeRefsOf lhs -- B, M, K - (_, _, _) <- threeRefsOf rhs -- B, K, N - -- TODO: do we need to check the length of contract and batch? + threeRefsOf lhs -- B, M, K + threeRefsOf rhs -- B, K, N + assert ("matmul3D: expected 1 contraction rclass, got " <> tshow (length contract)) $ + length contract == 1 + assert ("matmul3D: expected 1 batch rclass, got " <> tshow (length batch)) $ + length batch == 1 dot lhs rhs contract batch -- | TASO's 2D matrix multiplication operator diff --git a/src/TensorRight/Internal/Util/Error.hs b/src/TensorRight/Internal/Util/Error.hs index 5021d39..69e94ce 100644 --- a/src/TensorRight/Internal/Util/Error.hs +++ b/src/TensorRight/Internal/Util/Error.hs @@ -8,6 +8,7 @@ module TensorRight.Internal.Util.Error ErrorEnv, assert, splitWithError, + tshow, ) where @@ -32,6 +33,9 @@ assert :: (UnifiedBranching mode m, MonadError Error m) => Error -> GetBool mode -> m () assert err cond = mrgIf cond (return ()) $ throwError err +tshow :: Show a => a -> T.Text +tshow = T.pack . show + -- May introduce this into Grisette library in the future splitWithError :: forall a. (Mergeable a) => ExceptT Error Union a -> Maybe (SymBool, Union a)