0.02 s
$ /nix/store/vzx1mi9c0xfadmsm9dhd83d005cb1qs9-coreutils-9.8/bin/timeout --kill-after=15s 7200s /nix/store/99b1z08awpxj8b6mzggn59gp1shljnff-nix-2.34.5/bin/nix --extra-experimental-features nix-command --extra-experimental-features flakes --log-format internal-json build --no-link git+https://github.com/NorfairKing/sydtest?ref=mutation-testing&rev=f65777c0537c8094028e8af851150d01fcc726a9#checks.x86_64-linux.mutation-really-safe-money --print-build-logs
0.14 s
warning: ignoring untrusted flake configuration setting 'extra-substituters'.
0.14 s
Pass '--accept-flake-config' to trust it
0.14 s
warning: ignoring untrusted flake configuration setting 'extra-trusted-public-keys'.
0.14 s
Pass '--accept-flake-config' to trust it
0.17 s
2.15 s
Building really-safe-money
2.22 s
Building genvalidity-sydtest-source
2.39 s
[really-safe-money] Phase: setupCompilerEnvironmentPhase
2.39 s
[really-safe-money] Build with /nix/store/s9jd43rkwc2syl9cvgj6f786avy8bgzy-ghc-9.10.3.
2.58 s
[genvalidity-sydtest-source] Phase: setupCompilerEnvironmentPhase
2.58 s
[genvalidity-sydtest-source] Build with /nix/store/s9jd43rkwc2syl9cvgj6f786avy8bgzy-ghc-9.10.3.
2.76 s
[really-safe-money] Phase: unpackPhase
2.76 s
[really-safe-money] unpacking source archive /nix/store/pxkha6z3d3bjfgkdar4ma3wx2c1f8pmm-really-safe-money-source-0.0.0.0/really-safe-money-0.0.0.0.tar.gz
2.77 s
[really-safe-money] source root is really-safe-money-0.0.0.0
2.77 s
[really-safe-money] setting SOURCE_DATE_EPOCH to timestamp 1778737784 of file "really-safe-money-0.0.0.0/src/Numeric/DecimalLiteral.hs"
2.78 s
[really-safe-money] Phase: patchPhase
2.82 s
[really-safe-money] Phase: compileBuildDriverPhase
2.84 s
[really-safe-money] setupCompileFlags: -package-db=/build/tmp.CUn6si3UhI/setup-package.conf.d -threaded
2.91 s
[really-safe-money] [1 of 2] Compiling Main ( Setup.hs, /build/tmp.CUn6si3UhI/Main.o )
2.98 s
[really-safe-money] [2 of 2] Linking Setup
3.17 s
[genvalidity-sydtest-source] Phase: unpackPhase
3.18 s
[genvalidity-sydtest-source] unpacking source archive /nix/store/dqdpwym3w17fcyylxh144v7wvc1c621z-genvalidity-sydtest
3.19 s
[genvalidity-sydtest-source] source root is genvalidity-sydtest
3.20 s
[genvalidity-sydtest-source] Phase: patchPhase
3.21 s
[genvalidity-sydtest-source] Phase: compileBuildDriverPhase
3.22 s
[genvalidity-sydtest-source] setupCompileFlags: -package-db=/build/tmp.KtY2VVTtHh/setup-package.conf.d -threaded
3.28 s
[genvalidity-sydtest-source] [1 of 2] Compiling Main ( /nix/store/4mdp8nhyfddh7bllbi7xszz7k9955n79-Setup.hs, /build/tmp.KtY2VVTtHh/Main.o )
3.35 s
[genvalidity-sydtest-source] [2 of 2] Linking Setup
4.57 s
[really-safe-money] Phase: updateAutotoolsGnuConfigScriptsPhase
4.58 s
[really-safe-money] Phase: configurePhase
4.59 s
[really-safe-money] configureFlags: --verbose --prefix=/nix/store/1gl3lasa6falk232fgkm3d5vl9rn4w5g-really-safe-money-0.0.0.0 --libdir=$prefix/lib/$compiler/lib --libsubdir=$abi/$libname --with-gcc=gcc --package-db=/build/tmp.CUn6si3UhI/package.conf.d --ghc-option=-j16 --ghc-option=+RTS --ghc-option=-A64M --ghc-option=-RTS --enable-library-profiling --profiling-detail=exported-functions --disable-profiling --enable-shared --disable-coverage --disable-static --disable-executable-dynamic --disable-tests --enable-benchmarks --enable-library-vanilla --disable-library-for-ghci --enable-split-sections --enable-library-stripping --enable-executable-stripping --ghc-options=-O2 --ghc-options=-Wall --ghc-options=-Wincomplete-uni-patterns --ghc-options=-Wincomplete-record-updates --ghc-options=-Wpartial-fields --ghc-options=-Widentities --ghc-options=-Wredundant-constraints --ghc-options=-Wcpp-undef --ghc-options=-Werror --ghc-options=-fplugin-opt=Test.Syd.Mutation.Plugin:--debug --disable-optimization --ghc-option=-j1 --ghc-option=+RTS --ghc-option=-A32M --ghc-option=-M16g --ghc-option=-RTS --extra-lib-dirs=/nix/store/ffyzkisqs4vc4mg28bwwlyqjf8i9ph6b-ncurses-6.5/lib --extra-lib-dirs=/nix/store/n28qgdj8c1q41kf7n4y1jxa6ckp85m3c-libffi-3.5.2/lib --extra-lib-dirs=/nix/store/1b6h99dw7bk4wbn77kbalih42zbc67m1-elfutils-0.194/lib --extra-lib-dirs=/nix/store/hi0ar880110k6jsmmili7dh1gq3cg2a9-gmp-with-cxx-6.3.0/lib --extra-lib-dirs=/nix/store/g09cflpnp4g80q56sj9dng1qzv4v4ybc-numactl-2.0.18/lib --extra-lib-dirs=/nix/store/s9jd43rkwc2syl9cvgj6f786avy8bgzy-ghc-9.10.3/lib
4.59 s
[really-safe-money] Using Parsec parser
4.59 s
[really-safe-money] Configuring really-safe-money-0.0.0.0...
4.88 s
[genvalidity-sydtest-source] Phase: updateAutotoolsGnuConfigScriptsPhase
4.89 s
[genvalidity-sydtest-source] Phase: configurePhase
4.89 s
[genvalidity-sydtest-source] configureFlags: --verbose --prefix=/nix/store/lyv72sqbmk32ji756sxqib3ijnm8v7fw-genvalidity-sydtest-source-1.0.1.0 --libdir=$prefix/lib/$compiler/lib --libsubdir=$abi/$libname --docdir=/share/doc/genvalidity-sydtest-1.0.1.0 --with-gcc=gcc --package-db=/build/tmp.KtY2VVTtHh/package.conf.d --ghc-option=-j16 --ghc-option=+RTS --ghc-option=-A64M --ghc-option=-RTS --enable-library-profiling --profiling-detail=exported-functions --disable-profiling --enable-shared --disable-coverage --enable-static --disable-executable-dynamic --enable-tests --disable-benchmarks --enable-library-vanilla --disable-library-for-ghci --enable-split-sections --enable-library-stripping --enable-executable-stripping --ghc-option=-haddock --ghc-option=-Wall --ghc-option=-Werror --extra-lib-dirs=/nix/store/ffyzkisqs4vc4mg28bwwlyqjf8i9ph6b-ncurses-6.5/lib --extra-lib-dirs=/nix/store/n28qgdj8c1q41kf7n4y1jxa6ckp85m3c-libffi-3.5.2/lib --extra-lib-dirs=/nix/store/1b6h99dw7bk4wbn77kbalih42zbc67m1-elfutils-0.194/lib --extra-lib-dirs=/nix/store/hi0ar880110k6jsmmili7dh1gq3cg2a9-gmp-with-cxx-6.3.0/lib --extra-lib-dirs=/nix/store/g09cflpnp4g80q56sj9dng1qzv4v4ybc-numactl-2.0.18/lib
4.90 s
[genvalidity-sydtest-source] Using Parsec parser
4.90 s
[genvalidity-sydtest-source] Configuring genvalidity-sydtest-1.0.1.0...
5.34 s
[really-safe-money] Dependency base >=4.7 && <5: using base-4.20.2.0
5.50 s
[really-safe-money] Dependency containers: using containers-0.7
5.50 s
[really-safe-money] Dependency deepseq: using deepseq-1.5.0.0
5.50 s
[really-safe-money] Dependency validity: using validity-0.12.1.0
5.50 s
[really-safe-money] Dependency validity-containers: using validity-containers-0.5.0.5
5.50 s
[really-safe-money] Dependency validity-scientific: using validity-scientific-0.2.0.3
5.50 s
[really-safe-money] Source component graph: component lib
5.50 s
[really-safe-money] Configured component graph:
5.50 s
[really-safe-money] component really-safe-money-0.0.0.0-KH9ltLBvnn0Cn1rgifGPh9
5.50 s
[really-safe-money] include base-4.20.2.0-64da
5.50 s
[really-safe-money] include containers-0.7-504a
5.50 s
[really-safe-money] include deepseq-1.5.0.0-9a2c
5.50 s
[really-safe-money] include validity-0.12.1.0-2vJMqyxn6Ae2B1jlP90HgP
5.50 s
[really-safe-money] include validity-containers-0.5.0.5-JMisIHg6jT0HAhS7h7vTA4
5.50 s
[really-safe-money] include validity-scientific-0.2.0.3-6oQtdkDOQFR80MBRT1UQ1R
5.50 s
[really-safe-money] Linked component graph:
5.50 s
[really-safe-money] unit really-safe-money-0.0.0.0-KH9ltLBvnn0Cn1rgifGPh9
5.50 s
[really-safe-money] include base-4.20.2.0-64da
5.50 s
[really-safe-money] include containers-0.7-504a
5.50 s
[really-safe-money] include deepseq-1.5.0.0-9a2c
5.50 s
[really-safe-money] include validity-0.12.1.0-2vJMqyxn6Ae2B1jlP90HgP
5.50 s
[really-safe-money] include validity-containers-0.5.0.5-JMisIHg6jT0HAhS7h7vTA4
5.50 s
[really-safe-money] include validity-scientific-0.2.0.3-6oQtdkDOQFR80MBRT1UQ1R
5.50 s
[really-safe-money] Money.Account=really-safe-money-0.0.0.0-KH9ltLBvnn0Cn1rgifGPh9:Money.Account,Money.AccountOf=really-safe-money-0.0.0.0-KH9ltLBvnn0Cn1rgifGPh9:Money.AccountOf,Money.Amount=really-safe-money-0.0.0.0-KH9ltLBvnn0Cn1rgifGPh9:Money.Amount,Money.AmountOf=really-safe-money-0.0.0.0-KH9ltLBvnn0Cn1rgifGPh9:Money.AmountOf,Money.ConversionRate=really-safe-money-0.0.0.0-KH9ltLBvnn0Cn1rgifGPh9:Money.ConversionRate,Money.ConversionRateOf=really-safe-money-0.0.0.0-KH9ltLBvnn0Cn1rgifGPh9:Money.ConversionRateOf,Money.Currency=really-safe-money-0.0.0.0-KH9ltLBvnn0Cn1rgifGPh9:Money.Currency,Money.MultiAccount=really-safe-money-0.0.0.0-KH9ltLBvnn0Cn1rgifGPh9:Money.MultiAccount,Money.MultiAmount=really-safe-money-0.0.0.0-KH9ltLBvnn0Cn1rgifGPh9:Money.MultiAmount,Money.QuantisationFactor=really-safe-money-0.0.0.0-KH9ltLBvnn0Cn1rgifGPh9:Money.QuantisationFactor,Numeric.DecimalLiteral=really-safe-money-0.0.0.0-KH9ltLBvnn0Cn1rgifGPh9:Numeric.DecimalLiteral
5.50 s
[really-safe-money] Ready component graph:
5.50 s
[really-safe-money] definite really-safe-money-0.0.0.0-KH9ltLBvnn0Cn1rgifGPh9
5.50 s
[really-safe-money] depends base-4.20.2.0-64da
5.50 s
[really-safe-money] depends containers-0.7-504a
5.50 s
[really-safe-money] depends deepseq-1.5.0.0-9a2c
5.50 s
[really-safe-money] depends validity-0.12.1.0-2vJMqyxn6Ae2B1jlP90HgP
5.50 s
[really-safe-money] depends validity-containers-0.5.0.5-JMisIHg6jT0HAhS7h7vTA4
5.50 s
[really-safe-money] depends validity-scientific-0.2.0.3-6oQtdkDOQFR80MBRT1UQ1R
5.50 s
[really-safe-money] Using Cabal-3.12.1.0 compiled by ghc-9.10
5.50 s
[really-safe-money] Using compiler: ghc-9.10.3
5.50 s
[really-safe-money] Using install prefix:
5.50 s
[really-safe-money] /nix/store/1gl3lasa6falk232fgkm3d5vl9rn4w5g-really-safe-money-0.0.0.0
5.50 s
[really-safe-money] Executables installed in:
5.50 s
[really-safe-money] /nix/store/1gl3lasa6falk232fgkm3d5vl9rn4w5g-really-safe-money-0.0.0.0/bin
5.50 s
[really-safe-money] Libraries installed in:
5.50 s
[really-safe-money] /nix/store/1gl3lasa6falk232fgkm3d5vl9rn4w5g-really-safe-money-0.0.0.0/lib/ghc-9.10.3/lib/x86_64-linux-ghc-9.10.3-05f6/really-safe-money-0.0.0.0-KH9ltLBvnn0Cn1rgifGPh9
5.50 s
[really-safe-money] Dynamic Libraries installed in:
5.50 s
[really-safe-money] /nix/store/1gl3lasa6falk232fgkm3d5vl9rn4w5g-really-safe-money-0.0.0.0/lib/ghc-9.10.3/lib/x86_64-linux-ghc-9.10.3-05f6
5.50 s
[really-safe-money] Private executables installed in:
5.50 s
[really-safe-money] /nix/store/1gl3lasa6falk232fgkm3d5vl9rn4w5g-really-safe-money-0.0.0.0/libexec/x86_64-linux-ghc-9.10.3-05f6/really-safe-money-0.0.0.0
5.50 s
[really-safe-money] Data files installed in:
5.50 s
[really-safe-money] /nix/store/1gl3lasa6falk232fgkm3d5vl9rn4w5g-really-safe-money-0.0.0.0/share/x86_64-linux-ghc-9.10.3-05f6/really-safe-money-0.0.0.0
5.50 s
[really-safe-money] Documentation installed in:
5.50 s
[really-safe-money] /nix/store/1gl3lasa6falk232fgkm3d5vl9rn4w5g-really-safe-money-0.0.0.0/share/doc/x86_64-linux-ghc-9.10.3-05f6/really-safe-money-0.0.0.0
5.50 s
[really-safe-money] Configuration files installed in:
5.50 s
[really-safe-money] /nix/store/1gl3lasa6falk232fgkm3d5vl9rn4w5g-really-safe-money-0.0.0.0/etc
5.50 s
[really-safe-money] No alex found
5.50 s
[really-safe-money] Using ar found on system at:
5.50 s
[really-safe-money] /nix/store/iz5lckcsg66r223si2gck7csk2hihj0m-binutils-wrapper-2.44/bin/ar
5.50 s
[really-safe-money] No c2hs found
5.50 s
[really-safe-money] No cpphs found
5.50 s
[really-safe-money] No doctest found
5.50 s
[really-safe-money] Using gcc version 14.3.0 given by user at:
5.50 s
[really-safe-money] /nix/store/8v97ngkcpfzgghwnnr7fsz33p2x22gy9-gcc-wrapper-14.3.0/bin/gcc
5.50 s
[really-safe-money] Using ghc version 9.10.3 found on system at:
5.50 s
[really-safe-money] /nix/store/s9jd43rkwc2syl9cvgj6f786avy8bgzy-ghc-9.10.3/bin/ghc
5.50 s
[really-safe-money] Using ghc-pkg version 9.10.3 found on system at:
5.50 s
[really-safe-money] /nix/store/s9jd43rkwc2syl9cvgj6f786avy8bgzy-ghc-9.10.3/bin/ghc-pkg-9.10.3
5.50 s
[really-safe-money] No ghcjs found
5.50 s
[really-safe-money] No ghcjs-pkg found
5.50 s
[really-safe-money] No greencard found
5.50 s
[really-safe-money] Using haddock version 2.31.1 found on system at:
5.50 s
[really-safe-money] /nix/store/s9jd43rkwc2syl9cvgj6f786avy8bgzy-ghc-9.10.3/bin/haddock-ghc-9.10.3
5.50 s
[really-safe-money] No happy found
5.50 s
[really-safe-money] Using haskell-suite found on system at: haskell-suite-dummy-location
5.50 s
[really-safe-money] Using haskell-suite-pkg found on system at: haskell-suite-pkg-dummy-location
5.50 s
[really-safe-money] No hmake found
5.50 s
[really-safe-money] Using hpc version 0.69 found on system at:
5.50 s
[really-safe-money] /nix/store/s9jd43rkwc2syl9cvgj6f786avy8bgzy-ghc-9.10.3/bin/hpc-ghc-9.10.3
5.50 s
[really-safe-money] Using hsc2hs version 0.68.10 found on system at:
5.50 s
[really-safe-money] /nix/store/s9jd43rkwc2syl9cvgj6f786avy8bgzy-ghc-9.10.3/bin/hsc2hs-ghc-9.10.3
5.50 s
[really-safe-money] Using hscolour version 1.25 found on system at:
5.50 s
[really-safe-money] /nix/store/f755skyzf4jvfx3crwq9mmh3x4lsaz8i-hscolour-1.25/bin/HsColour
5.50 s
[really-safe-money] No jhc found
5.50 s
[really-safe-money] Using ld found on system at:
5.50 s
[really-safe-money] /nix/store/8v97ngkcpfzgghwnnr7fsz33p2x22gy9-gcc-wrapper-14.3.0/bin/ld
5.50 s
[really-safe-money] No pkg-config found
5.50 s
[really-safe-money] Using runghc version 9.10.3 found on system at:
5.50 s
[really-safe-money] /nix/store/s9jd43rkwc2syl9cvgj6f786avy8bgzy-ghc-9.10.3/bin/runghc-9.10.3
5.50 s
[really-safe-money] Using strip version 2.44 found on system at:
5.50 s
[really-safe-money] /nix/store/8v97ngkcpfzgghwnnr7fsz33p2x22gy9-gcc-wrapper-14.3.0/bin/strip
5.50 s
[really-safe-money] Using tar found on system at:
5.50 s
[really-safe-money] /nix/store/xl6pd2spjajwcpq09fnmnjv5psqmlmma-gnutar-1.35/bin/tar
5.50 s
[really-safe-money] No uhc found
5.52 s
[really-safe-money] Phase: buildPhase
5.52 s
[really-safe-money] mutation-nix: setting MUTATION_MANIFEST_DIR=/nix/store/p3np2rm8adi6q345jjkb37x401bhg4ca-really-safe-money-0.0.0.0-manifest
5.58 s
[really-safe-money] Preprocessing library for really-safe-money-0.0.0.0...
5.58 s
[really-safe-money] Building library for really-safe-money-0.0.0.0...
5.62 s
[genvalidity-sydtest-source] Dependency QuickCheck: using QuickCheck-2.15.0.1
5.62 s
[genvalidity-sydtest-source] Dependency base >=4.7 && <5: using base-4.20.2.0
5.62 s
[genvalidity-sydtest-source] Dependency genvalidity >=1.0: using genvalidity-1.1.1.0
5.62 s
[genvalidity-sydtest-source] Dependency sydtest: using sydtest-0.23.0.2
5.62 s
[genvalidity-sydtest-source] Dependency QuickCheck: using QuickCheck-2.15.0.1
5.62 s
[genvalidity-sydtest-source] Dependency base >=4.7 && <5: using base-4.20.2.0
5.62 s
[genvalidity-sydtest-source] Dependency genvalidity: using genvalidity-1.1.1.0
5.62 s
[genvalidity-sydtest-source] Dependency genvalidity-sydtest: using genvalidity-sydtest-1.0.1.0
5.62 s
[genvalidity-sydtest-source] Dependency sydtest: using sydtest-0.23.0.2
5.62 s
[genvalidity-sydtest-source] Source component graph:
5.62 s
[genvalidity-sydtest-source] component lib
5.62 s
[genvalidity-sydtest-source] component test:genvalidity-sydtest-test dependency lib
5.62 s
[genvalidity-sydtest-source] Configured component graph:
5.62 s
[genvalidity-sydtest-source] component genvalidity-sydtest-1.0.1.0-4MUjvMP5f0h4Td7V6rG94v
5.62 s
[genvalidity-sydtest-source] include QuickCheck-2.15.0.1-8fVC1qSJKj9H9pvMjJXUwU
5.62 s
[genvalidity-sydtest-source] include base-4.20.2.0-64da
5.62 s
[genvalidity-sydtest-source] include genvalidity-1.1.1.0-KJOcA1wEUno9vXRiVdno1L
5.62 s
[genvalidity-sydtest-source] include sydtest-0.23.0.2-2pBpKNR1Siz5MducBHcrJ7
5.62 s
[genvalidity-sydtest-source] component genvalidity-sydtest-1.0.1.0-19nAOlA0K1r7uCV4LDDx2N-genvalidity-sydtest-test
5.62 s
[genvalidity-sydtest-source] include QuickCheck-2.15.0.1-8fVC1qSJKj9H9pvMjJXUwU
5.62 s
[genvalidity-sydtest-source] include base-4.20.2.0-64da
5.62 s
[genvalidity-sydtest-source] include genvalidity-1.1.1.0-KJOcA1wEUno9vXRiVdno1L
5.62 s
[genvalidity-sydtest-source] include genvalidity-sydtest-1.0.1.0-4MUjvMP5f0h4Td7V6rG94v
5.62 s
[genvalidity-sydtest-source] include sydtest-0.23.0.2-2pBpKNR1Siz5MducBHcrJ7
5.62 s
[genvalidity-sydtest-source] Linked component graph:
5.62 s
[genvalidity-sydtest-source] unit genvalidity-sydtest-1.0.1.0-4MUjvMP5f0h4Td7V6rG94v
5.62 s
[genvalidity-sydtest-source] include QuickCheck-2.15.0.1-8fVC1qSJKj9H9pvMjJXUwU
5.62 s
[genvalidity-sydtest-source] include base-4.20.2.0-64da
5.62 s
[genvalidity-sydtest-source] include genvalidity-1.1.1.0-KJOcA1wEUno9vXRiVdno1L
5.62 s
[genvalidity-sydtest-source] include sydtest-0.23.0.2-2pBpKNR1Siz5MducBHcrJ7
5.62 s
[genvalidity-sydtest-source] Test.Syd.Validity=genvalidity-sydtest-1.0.1.0-4MUjvMP5f0h4Td7V6rG94v:Test.Syd.Validity,Test.Syd.Validity.Applicative=genvalidity-sydtest-1.0.1.0-4MUjvMP5f0h4Td7V6rG94v:Test.Syd.Validity.Applicative,Test.Syd.Validity.Arbitrary=genvalidity-sydtest-1.0.1.0-4MUjvMP5f0h4Td7V6rG94v:Test.Syd.Validity.Arbitrary,Test.Syd.Validity.Eq=genvalidity-sydtest-1.0.1.0-4MUjvMP5f0h4Td7V6rG94v:Test.Syd.Validity.Eq,Test.Syd.Validity.Functions=genvalidity-sydtest-1.0.1.0-4MUjvMP5f0h4Td7V6rG94v:Test.Syd.Validity.Functions,Test.Syd.Validity.Functions.CanFail=genvalidity-sydtest-1.0.1.0-4MUjvMP5f0h4Td7V6rG94v:Test.Syd.Validity.Functions.CanFail,Test.Syd.Validity.Functions.Equivalence=genvalidity-sydtest-1.0.1.0-4MUjvMP5f0h4Td7V6rG94v:Test.Syd.Validity.Functions.Equivalence,Test.Syd.Validity.Functions.Idempotence=genvalidity-sydtest-1.0.1.0-4MUjvMP5f0h4Td7V6rG94v:Test.Syd.Validity.Functions.Idempotence,Test.Syd.Validity.Functions.Inverse=genvalidity-sydtest-1.0.1.0-4MUjvMP5f0h4Td7V6rG94v:Test.Syd.Validity.Functions.Inverse,Test.Syd.Validity.Functions.Validity=genvalidity-sydtest-1.0.1.0-4MUjvMP5f0h4Td7V6rG94v:Test.Syd.Validity.Functions.Validity,Test.Syd.Validity.Functor=genvalidity-sydtest-1.0.1.0-4MUjvMP5f0h4Td7V6rG94v:Test.Syd.Validity.Functor,Test.Syd.Validity.GenValidity=genvalidity-sydtest-1.0.1.0-4MUjvMP5f0h4Td7V6rG94v:Test.Syd.Validity.GenValidity,Test.Syd.Validity.GenValidity.Property=genvalidity-sydtest-1.0.1.0-4MUjvMP5f0h4Td7V6rG94v:Test.Syd.Validity.GenValidity.Property,Test.Syd.Validity.Monad=genvalidity-sydtest-1.0.1.0-4MUjvMP5f0h4Td7V6rG94v:Test.Syd.Validity.Monad,Test.Syd.Validity.Monoid=genvalidity-sydtest-1.0.1.0-4MUjvMP5f0h4Td7V6rG94v:Test.Syd.Validity.Monoid,Test.Syd.Validity.Operations=genvalidity-sydtest-1.0.1.0-4MUjvMP5f0h4Td7V6rG94v:Test.Syd.Validity.Operations,Test.Syd.Validity.Operations.Associativity=genvalidity-sydtest-1.0.1.0-4MUjvMP5f0h4Td7V6rG94v:Test.Syd.Validity.Operations.Associativity,Test.Syd.Validity.Operations.Commutativity=genvalidity-sydtest-1.0.1.0-4MUjvMP5f0h4Td7V6rG94v:Test.Syd.Validity.Operations.Commutativity,Test.Syd.Validity.Operations.Identity=genvalidity-sydtest-1.0.1.0-4MUjvMP5f0h4Td7V6rG94v:Test.Syd.Validity.Operations.Identity,Test.Syd.Validity.Ord=genvalidity-sydtest-1.0.1.0-4MUjvMP5f0h4Td7V6rG94v:Test.Syd.Validity.Ord,Test.Syd.Validity.Property=genvalidity-sydtest-1.0.1.0-4MUjvMP5f0h4Td7V6rG94v:Test.Syd.Validity.Property,Test.Syd.Validity.Property.Utils=genvalidity-sydtest-1.0.1.0-4MUjvMP5f0h4Td7V6rG94v:Test.Syd.Validity.Property.Utils,Test.Syd.Validity.Relations=genvalidity-sydtest-1.0.1.0-4MUjvMP5f0h4Td7V6rG94v:Test.Syd.Validity.Relations,Test.Syd.Validity.Relations.Antireflexivity=genvalidity-sydtest-1.0.1.0-4MUjvMP5f0h4Td7V6rG94v:Test.Syd.Validity.Relations.Antireflexivity,Test.Syd.Validity.Relations.Antisymmetry=genvalidity-sydtest-1.0.1.0-4MUjvMP5f0h4Td7V6rG94v:Test.Syd.Validity.Relations.Antisymmetry,Test.Syd.Validity.Relations.Reflexivity=genvalidity-sydtest-1.0.1.0-4MUjvMP5f0h4Td7V6rG94v:Test.Syd.Validity.Relations.Reflexivity,Test.Syd.Validity.Relations.Symmetry=genvalidity-sydtest-1.0.1.0-4MUjvMP5f0h4Td7V6rG94v:Test.Syd.Validity.Relations.Symmetry,Test.Syd.Validity.Relations.Transitivity=genvalidity-sydtest-1.0.1.0-4MUjvMP5f0h4Td7V6rG94v:Test.Syd.Validity.Relations.Transitivity,Test.Syd.Validity.Show=genvalidity-sydtest-1.0.1.0-4MUjvMP5f0h4Td7V6rG94v:Test.Syd.Validity.Show,Test.Syd.Validity.Shrinking=genvalidity-sydtest-1.0.1.0-4MUjvMP5f0h4Td7V6rG94v:Test.Syd.Validity.Shrinking,Test.Syd.Validity.Shrinking.Property=genvalidity-sydtest-1.0.1.0-4MUjvMP5f0h4Td7V6rG94v:Test.Syd.Validity.Shrinking.Property,Test.Syd.Validity.Types=genvalidity-sydtest-1.0.1.0-4MUjvMP5f0h4Td7V6rG94v:Test.Syd.Validity.Types,Test.Syd.Validity.Utils=genvalidity-sydtest-1.0.1.0-4MUjvMP5f0h4Td7V6rG94v:Test.Syd.Validity.Utils
5.62 s
[genvalidity-sydtest-source] unit genvalidity-sydtest-1.0.1.0-19nAOlA0K1r7uCV4LDDx2N-genvalidity-sydtest-test
5.62 s
[genvalidity-sydtest-source] include QuickCheck-2.15.0.1-8fVC1qSJKj9H9pvMjJXUwU
5.62 s
[genvalidity-sydtest-source] include base-4.20.2.0-64da
5.62 s
[genvalidity-sydtest-source] include genvalidity-1.1.1.0-KJOcA1wEUno9vXRiVdno1L
5.62 s
[genvalidity-sydtest-source] include genvalidity-sydtest-1.0.1.0-4MUjvMP5f0h4Td7V6rG94v
5.62 s
[genvalidity-sydtest-source] include sydtest-0.23.0.2-2pBpKNR1Siz5MducBHcrJ7
5.62 s
[genvalidity-sydtest-source] Ready component graph:
5.62 s
[genvalidity-sydtest-source] definite genvalidity-sydtest-1.0.1.0-4MUjvMP5f0h4Td7V6rG94v
5.62 s
[genvalidity-sydtest-source] depends QuickCheck-2.15.0.1-8fVC1qSJKj9H9pvMjJXUwU
5.62 s
[genvalidity-sydtest-source] depends base-4.20.2.0-64da
5.62 s
[genvalidity-sydtest-source] depends genvalidity-1.1.1.0-KJOcA1wEUno9vXRiVdno1L
5.62 s
[genvalidity-sydtest-source] depends sydtest-0.23.0.2-2pBpKNR1Siz5MducBHcrJ7
5.62 s
[genvalidity-sydtest-source] definite genvalidity-sydtest-1.0.1.0-19nAOlA0K1r7uCV4LDDx2N-genvalidity-sydtest-test
5.62 s
[genvalidity-sydtest-source] depends QuickCheck-2.15.0.1-8fVC1qSJKj9H9pvMjJXUwU
5.62 s
[genvalidity-sydtest-source] depends base-4.20.2.0-64da
5.62 s
[genvalidity-sydtest-source] depends genvalidity-1.1.1.0-KJOcA1wEUno9vXRiVdno1L
5.62 s
[genvalidity-sydtest-source] depends genvalidity-sydtest-1.0.1.0-4MUjvMP5f0h4Td7V6rG94v
5.62 s
[genvalidity-sydtest-source] depends sydtest-0.23.0.2-2pBpKNR1Siz5MducBHcrJ7
5.62 s
[genvalidity-sydtest-source] Using Cabal-3.12.1.0 compiled by ghc-9.10
5.62 s
[genvalidity-sydtest-source] Using compiler: ghc-9.10.3
5.62 s
[genvalidity-sydtest-source] Using install prefix:
5.62 s
[genvalidity-sydtest-source] /nix/store/lyv72sqbmk32ji756sxqib3ijnm8v7fw-genvalidity-sydtest-source-1.0.1.0
5.62 s
[genvalidity-sydtest-source] Executables installed in:
5.62 s
[genvalidity-sydtest-source] /nix/store/lyv72sqbmk32ji756sxqib3ijnm8v7fw-genvalidity-sydtest-source-1.0.1.0/bin
5.62 s
[genvalidity-sydtest-source] Libraries installed in:
5.62 s
[genvalidity-sydtest-source] /nix/store/lyv72sqbmk32ji756sxqib3ijnm8v7fw-genvalidity-sydtest-source-1.0.1.0/lib/ghc-9.10.3/lib/x86_64-linux-ghc-9.10.3-05f6/genvalidity-sydtest-1.0.1.0-4MUjvMP5f0h4Td7V6rG94v
5.62 s
[genvalidity-sydtest-source] Dynamic Libraries installed in:
5.62 s
[genvalidity-sydtest-source] /nix/store/lyv72sqbmk32ji756sxqib3ijnm8v7fw-genvalidity-sydtest-source-1.0.1.0/lib/ghc-9.10.3/lib/x86_64-linux-ghc-9.10.3-05f6
5.62 s
[genvalidity-sydtest-source] Private executables installed in:
5.62 s
[genvalidity-sydtest-source] /nix/store/lyv72sqbmk32ji756sxqib3ijnm8v7fw-genvalidity-sydtest-source-1.0.1.0/libexec/x86_64-linux-ghc-9.10.3-05f6/genvalidity-sydtest-1.0.1.0
5.62 s
[genvalidity-sydtest-source] Data files installed in:
5.62 s
[genvalidity-sydtest-source] /nix/store/lyv72sqbmk32ji756sxqib3ijnm8v7fw-genvalidity-sydtest-source-1.0.1.0/share/x86_64-linux-ghc-9.10.3-05f6/genvalidity-sydtest-1.0.1.0
5.62 s
[genvalidity-sydtest-source] Documentation installed in: /share/doc/genvalidity-sydtest-1.0.1.0
5.62 s
[genvalidity-sydtest-source] Configuration files installed in:
5.62 s
[genvalidity-sydtest-source] /nix/store/lyv72sqbmk32ji756sxqib3ijnm8v7fw-genvalidity-sydtest-source-1.0.1.0/etc
5.62 s
[genvalidity-sydtest-source] No alex found
5.62 s
[genvalidity-sydtest-source] Using ar found on system at:
5.62 s
[genvalidity-sydtest-source] /nix/store/iz5lckcsg66r223si2gck7csk2hihj0m-binutils-wrapper-2.44/bin/ar
5.62 s
[genvalidity-sydtest-source] No c2hs found
5.62 s
[genvalidity-sydtest-source] No cpphs found
5.62 s
[genvalidity-sydtest-source] No doctest found
5.62 s
[genvalidity-sydtest-source] Using gcc version 14.3.0 given by user at:
5.62 s
[genvalidity-sydtest-source] /nix/store/8v97ngkcpfzgghwnnr7fsz33p2x22gy9-gcc-wrapper-14.3.0/bin/gcc
5.62 s
[genvalidity-sydtest-source] Using ghc version 9.10.3 found on system at:
5.62 s
[genvalidity-sydtest-source] /nix/store/s9jd43rkwc2syl9cvgj6f786avy8bgzy-ghc-9.10.3/bin/ghc
5.62 s
[genvalidity-sydtest-source] Using ghc-pkg version 9.10.3 found on system at:
5.62 s
[genvalidity-sydtest-source] /nix/store/s9jd43rkwc2syl9cvgj6f786avy8bgzy-ghc-9.10.3/bin/ghc-pkg-9.10.3
5.62 s
[genvalidity-sydtest-source] No ghcjs found
5.62 s
[genvalidity-sydtest-source] No ghcjs-pkg found
5.62 s
[genvalidity-sydtest-source] No greencard found
5.62 s
[genvalidity-sydtest-source] Using haddock version 2.31.1 found on system at:
5.65 s
[genvalidity-sydtest-source] /nix/store/s9jd43rkwc2syl9cvgj6f786avy8bgzy-ghc-9.10.3/bin/haddock-ghc-9.10.3
5.65 s
[genvalidity-sydtest-source] No happy found
5.65 s
[genvalidity-sydtest-source] Using haskell-suite found on system at: haskell-suite-dummy-location
5.65 s
[genvalidity-sydtest-source] Using haskell-suite-pkg found on system at: haskell-suite-pkg-dummy-location
5.65 s
[genvalidity-sydtest-source] No hmake found
5.65 s
[genvalidity-sydtest-source] Using hpc version 0.69 found on system at:
5.65 s
[genvalidity-sydtest-source] /nix/store/s9jd43rkwc2syl9cvgj6f786avy8bgzy-ghc-9.10.3/bin/hpc-ghc-9.10.3
5.65 s
[genvalidity-sydtest-source] Using hsc2hs version 0.68.10 found on system at:
5.65 s
[genvalidity-sydtest-source] /nix/store/s9jd43rkwc2syl9cvgj6f786avy8bgzy-ghc-9.10.3/bin/hsc2hs-ghc-9.10.3
5.65 s
[genvalidity-sydtest-source] Using hscolour version 1.25 found on system at:
5.65 s
[genvalidity-sydtest-source] /nix/store/f755skyzf4jvfx3crwq9mmh3x4lsaz8i-hscolour-1.25/bin/HsColour
5.65 s
[genvalidity-sydtest-source] No jhc found
5.65 s
[genvalidity-sydtest-source] Using ld found on system at:
5.65 s
[genvalidity-sydtest-source] /nix/store/8v97ngkcpfzgghwnnr7fsz33p2x22gy9-gcc-wrapper-14.3.0/bin/ld
5.65 s
[genvalidity-sydtest-source] No pkg-config found
5.65 s
[genvalidity-sydtest-source] Using runghc version 9.10.3 found on system at:
5.65 s
[genvalidity-sydtest-source] /nix/store/s9jd43rkwc2syl9cvgj6f786avy8bgzy-ghc-9.10.3/bin/runghc-9.10.3
5.65 s
[genvalidity-sydtest-source] Using strip version 2.44 found on system at:
5.65 s
[genvalidity-sydtest-source] /nix/store/8v97ngkcpfzgghwnnr7fsz33p2x22gy9-gcc-wrapper-14.3.0/bin/strip
5.65 s
[genvalidity-sydtest-source] Using tar found on system at:
5.65 s
[genvalidity-sydtest-source] /nix/store/xl6pd2spjajwcpq09fnmnjv5psqmlmma-gnutar-1.35/bin/tar
5.65 s
[genvalidity-sydtest-source] No uhc found
5.77 s
[really-safe-money] [ 1 of 12] Compiling Numeric.DecimalLiteral ( src/Numeric/DecimalLiteral.hs, dist/build/Numeric/DecimalLiteral.o, dist/build/Numeric/DecimalLiteral.dyn_o )
6.07 s
[genvalidity-sydtest-source] Phase: buildPhase
6.08 s
[genvalidity-sydtest-source] Distribution quality warnings:
6.08 s
[genvalidity-sydtest-source] [no-description] No 'description' field.
6.08 s
[genvalidity-sydtest-source] [missing-upper-bounds] On library, these packages miss upper bounds:
6.08 s
[genvalidity-sydtest-source] - QuickCheck
6.08 s
[genvalidity-sydtest-source] - genvalidity
6.08 s
[genvalidity-sydtest-source] - sydtest
6.08 s
[genvalidity-sydtest-source] Please add them. There is more information at https://pvp.haskell.org/
6.08 s
[genvalidity-sydtest-source] Building source dist for genvalidity-sydtest-1.0.1.0...
6.10 s
[genvalidity-sydtest-source] Source tarball created: dist/genvalidity-sydtest-1.0.1.0.tar.gz
6.11 s
[genvalidity-sydtest-source] Phase: checkPhase
6.11 s
[genvalidity-sydtest-source] Phase: haddockPhase
6.12 s
[genvalidity-sydtest-source] Phase: installPhase
6.12 s
[really-safe-money] mutation: instrumenting Numeric.DecimalLiteral
6.12 s
[really-safe-money] added mutation BoolLit at src/Numeric/DecimalLiteral.hs:396:23-27
6.12 s
[really-safe-money] added mutation MaybeOp at src/Numeric/DecimalLiteral.hs:396:18-27
6.12 s
[really-safe-money] added mutation Cmp at src/Numeric/DecimalLiteral.hs:368:10-39
6.12 s
[really-safe-money] added mutation Cmp at src/Numeric/DecimalLiteral.hs:368:10-39
6.12 s
[really-safe-money] added mutation Cmp at src/Numeric/DecimalLiteral.hs:368:10-39
6.12 s
[really-safe-money] added mutation ConstBool at src/Numeric/DecimalLiteral.hs:368:10-39
6.12 s
[really-safe-money] added mutation ConstBool at src/Numeric/DecimalLiteral.hs:368:10-39
6.12 s
[really-safe-money] added mutation Negate at src/Numeric/DecimalLiteral.hs:368:10-39
6.12 s
[really-safe-money] added mutation Arith at src/Numeric/DecimalLiteral.hs:370:30-58
6.12 s
[really-safe-money] added mutation Arith at src/Numeric/DecimalLiteral.hs:370:30-58
6.12 s
[genvalidity-sydtest-source] Phase: fixupPhase
6.17 s
[post-build-hook] Uploading to cachix cache "sydtest": /nix/store/lyv72sqbmk32ji756sxqib3ijnm8v7fw-genvalidity-sydtest-source-1.0.1.0
6.57 s
[post-build-hook] Pushing 1 paths (0 are already present) using zstd to cache sydtest ⏳
6.57 s
[post-build-hook]
6.93 s
[post-build-hook] Pushing /nix/store/lyv72sqbmk32ji756sxqib3ijnm8v7fw-genvalidity-sydtest-source-1.0.1.0 (17.74 KiB)
8.22 s
[post-build-hook]
8.22 s
[post-build-hook] All done.
8.24 s
[post-build-hook] Uploading to the NixCI staging cache: /nix/store/lyv72sqbmk32ji756sxqib3ijnm8v7fw-genvalidity-sydtest-source-1.0.1.0
8.28 s
[post-build-hook] warning: 'warn-short-path-literals' is deprecated, use 'lint-short-path-literals = ignore' instead
8.29 s
[post-build-hook] copying 1 paths...
8.29 s
[post-build-hook] copying path '/nix/store/lyv72sqbmk32ji756sxqib3ijnm8v7fw-genvalidity-sydtest-source-1.0.1.0' to 'https://cache.staging.nix-ci.com'...
10.31 s
[post-build-hook] warning: 'warn-short-path-literals' is deprecated, use 'lint-short-path-literals = ignore' instead
10.53 s
[post-build-hook] copying 1 paths...
10.59 s
[post-build-hook] copying path '/nix/store/bfgxawc6qp9wx22agas39fr235zra3pc-genvalidity-sydtest-source-1.0.1.0.drv' to 'https://cache.staging.nix-ci.com'...
11.94 s
Progress: 1 of 9 built (1 building)
12.00 s
Building genvalidity-sydtest
12.00 s
[really-safe-money] added mutation IntLit at src/Numeric/DecimalLiteral.hs:375:80-82
12.00 s
[really-safe-money] added mutation IntLit at src/Numeric/DecimalLiteral.hs:375:80-82
12.00 s
[really-safe-money] added mutation Arith at src/Numeric/DecimalLiteral.hs:375:76-82
12.00 s
[really-safe-money] added mutation Arith at src/Numeric/DecimalLiteral.hs:375:76-82
12.00 s
[really-safe-money] added mutation IntLit at src/Numeric/DecimalLiteral.hs:337:21-22
12.00 s
[really-safe-money] added mutation Cmp at src/Numeric/DecimalLiteral.hs:337:16-22
12.00 s
[really-safe-money] added mutation Cmp at src/Numeric/DecimalLiteral.hs:337:16-22
12.00 s
[really-safe-money] added mutation Cmp at src/Numeric/DecimalLiteral.hs:337:16-22
12.00 s
[really-safe-money] added mutation ConstBool at src/Numeric/DecimalLiteral.hs:337:16-22
12.00 s
[really-safe-money] added mutation ConstBool at src/Numeric/DecimalLiteral.hs:337:16-22
12.00 s
[really-safe-money] added mutation Negate at src/Numeric/DecimalLiteral.hs:337:16-22
12.00 s
[really-safe-money] added mutation BoolLit at src/Numeric/DecimalLiteral.hs:337:46-51
12.00 s
[really-safe-money] added mutation MaybeOp at src/Numeric/DecimalLiteral.hs:337:41-51
12.00 s
[really-safe-money] added mutation Cmp at src/Numeric/DecimalLiteral.hs:332:11-46
12.00 s
[really-safe-money] added mutation Cmp at src/Numeric/DecimalLiteral.hs:332:11-46
12.00 s
[really-safe-money] added mutation Cmp at src/Numeric/DecimalLiteral.hs:332:11-46
12.00 s
[really-safe-money] added mutation ConstBool at src/Numeric/DecimalLiteral.hs:332:11-46
12.00 s
[really-safe-money] added mutation ConstBool at src/Numeric/DecimalLiteral.hs:332:11-46
12.00 s
[really-safe-money] added mutation Negate at src/Numeric/DecimalLiteral.hs:332:11-46
12.00 s
[really-safe-money] added mutation Cmp at src/Numeric/DecimalLiteral.hs:333:11-46
12.00 s
[really-safe-money] added mutation Cmp at src/Numeric/DecimalLiteral.hs:333:11-46
12.00 s
[really-safe-money] added mutation Cmp at src/Numeric/DecimalLiteral.hs:333:11-46
12.00 s
[really-safe-money] added mutation ConstBool at src/Numeric/DecimalLiteral.hs:333:11-46
12.00 s
[really-safe-money] added mutation ConstBool at src/Numeric/DecimalLiteral.hs:333:11-46
12.00 s
[really-safe-money] added mutation Negate at src/Numeric/DecimalLiteral.hs:333:11-46
12.00 s
[really-safe-money] added mutation RemoveAction at src/Numeric/DecimalLiteral.hs:333:3-46
12.00 s
[really-safe-money] added mutation RemoveAction at src/Numeric/DecimalLiteral.hs:332:3-46
12.00 s
[really-safe-money] added mutation IntLit at src/Numeric/DecimalLiteral.hs:315:67-68
12.00 s
[really-safe-money] added mutation MaybeOp at src/Numeric/DecimalLiteral.hs:310:27-33
12.00 s
[really-safe-money] added mutation IntLit at src/Numeric/DecimalLiteral.hs:304:42-43
12.00 s
[really-safe-money] added mutation Cmp at src/Numeric/DecimalLiteral.hs:299:11-47
12.00 s
[really-safe-money] added mutation Cmp at src/Numeric/DecimalLiteral.hs:299:11-47
12.00 s
[really-safe-money] added mutation Cmp at src/Numeric/DecimalLiteral.hs:299:11-47
12.00 s
[really-safe-money] added mutation ConstBool at src/Numeric/DecimalLiteral.hs:299:11-47
12.00 s
[really-safe-money] added mutation ConstBool at src/Numeric/DecimalLiteral.hs:299:11-47
12.00 s
[really-safe-money] added mutation Negate at src/Numeric/DecimalLiteral.hs:299:11-47
12.00 s
[really-safe-money] added mutation RemoveAction at src/Numeric/DecimalLiteral.hs:299:3-47
12.00 s
[really-safe-money] added mutation IntLit at src/Numeric/DecimalLiteral.hs:289:33-35
12.00 s
[really-safe-money] added mutation IntLit at src/Numeric/DecimalLiteral.hs:289:33-35
12.00 s
[really-safe-money] added mutation IntLit at src/Numeric/DecimalLiteral.hs:289:33-35
12.00 s
[really-safe-money] added mutation RemoveCase at src/Numeric/DecimalLiteral.hs:287:38-40
12.00 s
[really-safe-money] added mutation RemoveCase at src/Numeric/DecimalLiteral.hs:287:38-40
12.00 s
[really-safe-money] added mutation IntLit at src/Numeric/DecimalLiteral.hs:236:41-44
12.00 s
[really-safe-money] added mutation IntLit at src/Numeric/DecimalLiteral.hs:236:41-44
12.00 s
[really-safe-money] added mutation IntLit at src/Numeric/DecimalLiteral.hs:236:41-44
12.00 s
[really-safe-money] added mutation IntLit at src/Numeric/DecimalLiteral.hs:244:14-15
12.00 s
[really-safe-money] added mutation ConstBool at src/Numeric/DecimalLiteral.hs:244:9-15
12.00 s
[really-safe-money] added mutation Negate at src/Numeric/DecimalLiteral.hs:244:9-15
12.00 s
[really-safe-money] added mutation MaybeOp at src/Numeric/DecimalLiteral.hs:261:11-22
12.00 s
[really-safe-money] added mutation ConstBool at src/Numeric/DecimalLiteral.hs:264:13-26
12.00 s
[really-safe-money] added mutation Negate at src/Numeric/DecimalLiteral.hs:264:13-26
12.00 s
[really-safe-money] added mutation Cmp at src/Numeric/DecimalLiteral.hs:266:13-19
12.00 s
[really-safe-money] added mutation Cmp at src/Numeric/DecimalLiteral.hs:266:13-19
12.00 s
[really-safe-money] added mutation Cmp at src/Numeric/DecimalLiteral.hs:266:13-19
12.00 s
[really-safe-money] added mutation ConstBool at src/Numeric/DecimalLiteral.hs:266:13-19
12.00 s
[really-safe-money] added mutation Negate at src/Numeric/DecimalLiteral.hs:266:13-19
12.00 s
[really-safe-money] added mutation Cmp at src/Numeric/DecimalLiteral.hs:267:13-18
12.00 s
[really-safe-money] added mutation Cmp at src/Numeric/DecimalLiteral.hs:267:13-18
12.00 s
[really-safe-money] added mutation Cmp at src/Numeric/DecimalLiteral.hs:267:13-18
12.00 s
[really-safe-money] added mutation ConstBool at src/Numeric/DecimalLiteral.hs:267:13-18
12.00 s
[really-safe-money] added mutation Negate at src/Numeric/DecimalLiteral.hs:267:13-18
12.00 s
[really-safe-money] added mutation IntLit at src/Numeric/DecimalLiteral.hs:269:41-43
12.00 s
[really-safe-money] added mutation IntLit at src/Numeric/DecimalLiteral.hs:269:41-43
12.00 s
[really-safe-money] added mutation Arith at src/Numeric/DecimalLiteral.hs:269:37-43
12.00 s
[really-safe-money] added mutation Arith at src/Numeric/DecimalLiteral.hs:269:37-43
12.00 s
[really-safe-money] added mutation IntLit at src/Numeric/DecimalLiteral.hs:269:63-65
12.00 s
[really-safe-money] added mutation IntLit at src/Numeric/DecimalLiteral.hs:269:63-65
12.00 s
[really-safe-money] added mutation Arith at src/Numeric/DecimalLiteral.hs:269:59-65
12.00 s
[really-safe-money] added mutation Arith at src/Numeric/DecimalLiteral.hs:269:59-65
12.00 s
[really-safe-money] added mutation Arith at src/Numeric/DecimalLiteral.hs:272:37-42
12.00 s
[really-safe-money] added mutation Arith at src/Numeric/DecimalLiteral.hs:272:37-42
12.00 s
[really-safe-money] added mutation IntLit at src/Numeric/DecimalLiteral.hs:252:36-37
12.00 s
[really-safe-money] added mutation IntLit at src/Numeric/DecimalLiteral.hs:252:38-39
12.00 s
[really-safe-money] added mutation IntLit at src/Numeric/DecimalLiteral.hs:223:39-41
12.00 s
[really-safe-money] added mutation IntLit at src/Numeric/DecimalLiteral.hs:223:39-41
12.00 s
[really-safe-money] added mutation IntLit at src/Numeric/DecimalLiteral.hs:223:39-41
12.00 s
[really-safe-money] added mutation IntLit at src/Numeric/DecimalLiteral.hs:208:9-10
12.00 s
[really-safe-money] added mutation Cmp at src/Numeric/DecimalLiteral.hs:208:5-10
12.00 s
[really-safe-money] added mutation Cmp at src/Numeric/DecimalLiteral.hs:208:5-10
12.00 s
[really-safe-money] added mutation Cmp at src/Numeric/DecimalLiteral.hs:208:5-10
12.00 s
[really-safe-money] added mutation ConstBool at src/Numeric/DecimalLiteral.hs:208:5-10
12.00 s
[really-safe-money] added mutation Negate at src/Numeric/DecimalLiteral.hs:208:5-10
12.00 s
[really-safe-money] added mutation BoolLit at src/Numeric/DecimalLiteral.hs:208:62-67
12.00 s
[really-safe-money] added mutation MaybeOp at src/Numeric/DecimalLiteral.hs:208:57-67
12.00 s
[really-safe-money] added mutation ListLit at src/Numeric/DecimalLiteral.hs:186:15-25
12.00 s
[really-safe-money] added mutation ListLit at src/Numeric/DecimalLiteral.hs:186:15-25
12.00 s
[really-safe-money] added mutation IntLit at src/Numeric/DecimalLiteral.hs:145:28-30
12.00 s
[really-safe-money] added mutation IntLit at src/Numeric/DecimalLiteral.hs:145:28-30
12.00 s
[really-safe-money] added mutation IntLit at src/Numeric/DecimalLiteral.hs:145:28-30
12.00 s
[really-safe-money] added mutation Arith at src/Numeric/DecimalLiteral.hs:145:15-30
12.00 s
[really-safe-money] added mutation Arith at src/Numeric/DecimalLiteral.hs:145:15-30
12.00 s
[really-safe-money] added mutation ConstBool at src/Numeric/DecimalLiteral.hs:152:9-23
12.01 s
[really-safe-money] added mutation Negate at src/Numeric/DecimalLiteral.hs:152:9-23
12.01 s
[really-safe-money] added mutation IntLit at src/Numeric/DecimalLiteral.hs:154:36-38
12.01 s
[really-safe-money] added mutation IntLit at src/Numeric/DecimalLiteral.hs:154:36-38
12.01 s
[really-safe-money] added mutation IntLit at src/Numeric/DecimalLiteral.hs:154:36-38
12.01 s
[really-safe-money] added mutation Arith at src/Numeric/DecimalLiteral.hs:154:23-38
12.01 s
[really-safe-money] added mutation Arith at src/Numeric/DecimalLiteral.hs:154:23-38
12.01 s
[really-safe-money] added mutation IntLit at src/Numeric/DecimalLiteral.hs:139:27-29
12.01 s
[really-safe-money] added mutation IntLit at src/Numeric/DecimalLiteral.hs:139:27-29
12.01 s
[really-safe-money] added mutation Arith at src/Numeric/DecimalLiteral.hs:139:23-29
12.01 s
[really-safe-money] added mutation Arith at src/Numeric/DecimalLiteral.hs:139:23-29
12.01 s
[really-safe-money] added mutation Arith at src/Numeric/DecimalLiteral.hs:139:23-50
12.01 s
[really-safe-money] added mutation Arith at src/Numeric/DecimalLiteral.hs:139:23-50
12.01 s
[really-safe-money] added mutation IntLit at src/Numeric/DecimalLiteral.hs:136:39-41
12.01 s
[really-safe-money] added mutation IntLit at src/Numeric/DecimalLiteral.hs:136:39-41
12.01 s
[really-safe-money] added mutation Arith at src/Numeric/DecimalLiteral.hs:136:35-41
12.01 s
[really-safe-money] added mutation Arith at src/Numeric/DecimalLiteral.hs:136:35-41
12.01 s
[really-safe-money] added mutation Arith at src/Numeric/DecimalLiteral.hs:136:35-62
12.01 s
[really-safe-money] added mutation Arith at src/Numeric/DecimalLiteral.hs:136:35-62
12.01 s
[really-safe-money] added mutation MaybeOp at src/Numeric/DecimalLiteral.hs:136:29-71
12.01 s
[really-safe-money] added mutation ConstBool at src/Numeric/DecimalLiteral.hs:119:22-30
12.01 s
[really-safe-money] added mutation ConstBool at src/Numeric/DecimalLiteral.hs:119:22-30
12.01 s
[really-safe-money] added mutation Negate at src/Numeric/DecimalLiteral.hs:119:22-30
12.01 s
[really-safe-money] added mutation ConstBool at src/Numeric/DecimalLiteral.hs:119:34-42
12.01 s
[really-safe-money] added mutation ConstBool at src/Numeric/DecimalLiteral.hs:119:34-42
12.01 s
[really-safe-money] added mutation Negate at src/Numeric/DecimalLiteral.hs:119:34-42
12.01 s
[really-safe-money] added mutation ConstBool at src/Numeric/DecimalLiteral.hs:119:22-42
12.01 s
[really-safe-money] added mutation ConstBool at src/Numeric/DecimalLiteral.hs:119:22-42
12.01 s
[really-safe-money] added mutation LogicOp at src/Numeric/DecimalLiteral.hs:119:22-42
12.01 s
[really-safe-money] added mutation Negate at src/Numeric/DecimalLiteral.hs:119:22-42
12.01 s
[really-safe-money] added mutation ConstBool at src/Numeric/DecimalLiteral.hs:123:19-34
12.01 s
[really-safe-money] added mutation ConstBool at src/Numeric/DecimalLiteral.hs:123:19-34
12.01 s
[really-safe-money] added mutation Negate at src/Numeric/DecimalLiteral.hs:123:19-34
12.01 s
[really-safe-money] added mutation IntLit at src/Numeric/DecimalLiteral.hs:125:29-30
12.01 s
[really-safe-money] added mutation IntLit at src/Numeric/DecimalLiteral.hs:127:44-45
12.01 s
[really-safe-money] added mutation IntLit at src/Numeric/DecimalLiteral.hs:130:48-49
12.01 s
[really-safe-money] added mutation RemoveCase at src/Numeric/DecimalLiteral.hs:112:17-21
12.01 s
[really-safe-money] added mutation RemoveCase at src/Numeric/DecimalLiteral.hs:112:17-21
12.01 s
[really-safe-money] added mutation RemoveCase at src/Numeric/DecimalLiteral.hs:86:18-18
12.01 s
[really-safe-money] added mutation RemoveCase at src/Numeric/DecimalLiteral.hs:86:18-18
12.01 s
[really-safe-money] added 141 mutations
12.01 s
[really-safe-money] [ 2 of 12] Compiling Money.QuantisationFactor ( src/Money/QuantisationFactor.hs, dist/build/Money/QuantisationFactor.o, dist/build/Money/QuantisationFactor.dyn_o )
12.01 s
[really-safe-money] mutation: instrumenting Money.QuantisationFactor
12.01 s
[really-safe-money] added mutation IntLit at src/Money/QuantisationFactor.hs:87:27-28
12.01 s
[really-safe-money] added mutation ConstBool at src/Money/QuantisationFactor.hs:87:12-28
12.01 s
[really-safe-money] added mutation ConstBool at src/Money/QuantisationFactor.hs:87:12-28
12.01 s
[really-safe-money] added mutation Negate at src/Money/QuantisationFactor.hs:87:12-28
12.01 s
[really-safe-money] added mutation IntLit at src/Money/QuantisationFactor.hs:92:13-14
12.01 s
[really-safe-money] added mutation IntLit at src/Money/QuantisationFactor.hs:92:13-14
12.01 s
[really-safe-money] added mutation IntLit at src/Money/QuantisationFactor.hs:93:16-17
12.01 s
[really-safe-money] added mutation Cmp at src/Money/QuantisationFactor.hs:93:12-17
12.01 s
[really-safe-money] added mutation Cmp at src/Money/QuantisationFactor.hs:93:12-17
12.01 s
[really-safe-money] added mutation Cmp at src/Money/QuantisationFactor.hs:93:12-17
12.01 s
[really-safe-money] added mutation ConstBool at src/Money/QuantisationFactor.hs:93:12-17
12.01 s
[really-safe-money] added mutation ConstBool at src/Money/QuantisationFactor.hs:93:12-17
12.01 s
[really-safe-money] added mutation Negate at src/Money/QuantisationFactor.hs:93:12-17
12.01 s
[really-safe-money] added mutation MaybeOp at src/Money/QuantisationFactor.hs:95:16-22
12.01 s
[really-safe-money] added mutation IntLit at src/Money/QuantisationFactor.hs:98:27-28
12.01 s
[really-safe-money] added mutation IntLit at src/Money/QuantisationFactor.hs:98:27-28
12.01 s
[really-safe-money] added mutation ConstBool at src/Money/QuantisationFactor.hs:98:8-28
12.01 s
[really-safe-money] added mutation ConstBool at src/Money/QuantisationFactor.hs:98:8-28
12.01 s
[really-safe-money] added mutation Negate at src/Money/QuantisationFactor.hs:98:8-28
12.01 s
[really-safe-money] added mutation MaybeOp at src/Money/QuantisationFactor.hs:99:12-32
12.01 s
[really-safe-money] added mutation Cmp at src/Money/QuantisationFactor.hs:102:6-46
12.01 s
[really-safe-money] added mutation Cmp at src/Money/QuantisationFactor.hs:102:6-46
12.01 s
[really-safe-money] added mutation Cmp at src/Money/QuantisationFactor.hs:102:6-46
12.01 s
[really-safe-money] added mutation ConstBool at src/Money/QuantisationFactor.hs:102:6-46
12.01 s
[really-safe-money] added mutation ConstBool at src/Money/QuantisationFactor.hs:102:6-46
12.01 s
[really-safe-money] added mutation Negate at src/Money/QuantisationFactor.hs:102:6-46
12.01 s
[really-safe-money] added mutation MaybeOp at src/Money/QuantisationFactor.hs:103:10-54
12.01 s
[really-safe-money] added mutation IntLit at src/Money/QuantisationFactor.hs:67:67-68
12.01 s
[really-safe-money] added mutation IntLit at src/Money/QuantisationFactor.hs:67:67-68
12.01 s
[really-safe-money] added mutation IntLit at src/Money/QuantisationFactor.hs:40:62-63
12.01 s
[really-safe-money] added mutation ConstBool at src/Money/QuantisationFactor.hs:40:57-63
12.01 s
[really-safe-money] added mutation ConstBool at src/Money/QuantisationFactor.hs:40:57-63
12.01 s
[really-safe-money] added mutation Negate at src/Money/QuantisationFactor.hs:40:57-63
12.01 s
[really-safe-money] added mutation ListLit at src/Money/QuantisationFactor.hs:39:7-8
12.01 s
[really-safe-money] added mutation ListLit at src/Money/QuantisationFactor.hs:39:7-8
12.01 s
[really-safe-money] added 35 mutations
12.01 s
[really-safe-money] [ 3 of 12] Compiling Money.Currency ( src/Money/Currency.hs, dist/build/Money/Currency.o, dist/build/Money/Currency.dyn_o )
12.01 s
[really-safe-money] mutation: instrumenting Money.Currency
12.01 s
[really-safe-money] added 0 mutations
12.01 s
[really-safe-money] [ 4 of 12] Compiling Money.ConversionRate ( src/Money/ConversionRate.hs, dist/build/Money/ConversionRate.o, dist/build/Money/ConversionRate.dyn_o )
12.01 s
[really-safe-money] mutation: instrumenting Money.ConversionRate
12.01 s
[really-safe-money] added mutation Arith at src/Money/ConversionRate.hs:132:3-24
12.01 s
[really-safe-money] added mutation Arith at src/Money/ConversionRate.hs:132:3-24
12.01 s
[really-safe-money] added mutation Arith at src/Money/ConversionRate.hs:127:70-79
12.01 s
[really-safe-money] added mutation Arith at src/Money/ConversionRate.hs:127:70-79
12.01 s
[really-safe-money] added mutation IntLit at src/Money/ConversionRate.hs:116:45-46
12.01 s
[really-safe-money] added mutation IntLit at src/Money/ConversionRate.hs:116:45-46
12.01 s
[really-safe-money] added mutation IntLit at src/Money/ConversionRate.hs:109:27-28
12.01 s
[really-safe-money] added mutation IntLit at src/Money/ConversionRate.hs:109:27-28
12.01 s
[really-safe-money] added mutation IntLit at src/Money/ConversionRate.hs:72:25-26
12.01 s
[really-safe-money] added mutation Cmp at src/Money/ConversionRate.hs:72:21-26
12.01 s
[really-safe-money] added mutation Cmp at src/Money/ConversionRate.hs:72:21-26
12.01 s
[really-safe-money] added mutation Cmp at src/Money/ConversionRate.hs:72:21-26
12.01 s
[really-safe-money] added mutation ConstBool at src/Money/ConversionRate.hs:72:21-26
12.01 s
[really-safe-money] added mutation ConstBool at src/Money/ConversionRate.hs:72:21-26
12.01 s
[really-safe-money] added mutation Negate at src/Money/ConversionRate.hs:72:21-26
12.01 s
[really-safe-money] added mutation IntLit at src/Money/ConversionRate.hs:38:56-57
12.01 s
[really-safe-money] added mutation ConstBool at src/Money/ConversionRate.hs:38:41-57
12.01 s
[really-safe-money] added mutation ConstBool at src/Money/ConversionRate.hs:38:41-57
12.01 s
[really-safe-money] added mutation Negate at src/Money/ConversionRate.hs:38:41-57
12.01 s
[really-safe-money] added mutation ListLit at src/Money/ConversionRate.hs:37:7-8
12.01 s
[really-safe-money] added mutation ListLit at src/Money/ConversionRate.hs:37:7-8
12.01 s
[really-safe-money] added 21 mutations
12.01 s
[really-safe-money] [ 5 of 12] Compiling Money.ConversionRateOf ( src/Money/ConversionRateOf.hs, dist/build/Money/ConversionRateOf.o, dist/build/Money/ConversionRateOf.dyn_o )
12.01 s
[really-safe-money] mutation: instrumenting Money.ConversionRateOf
12.01 s
[really-safe-money] added 0 mutations
12.01 s
[really-safe-money] [ 6 of 12] Compiling Money.Amount ( src/Money/Amount.hs, dist/build/Money/Amount.o, dist/build/Money/Amount.dyn_o )
12.01 s
[really-safe-money] mutation: instrumenting Money.Amount
12.01 s
[really-safe-money] added mutation IntLit at src/Money/Amount.hs:801:36-38
12.01 s
[really-safe-money] added mutation IntLit at src/Money/Amount.hs:801:36-38
12.01 s
[really-safe-money] added mutation IntLit at src/Money/Amount.hs:801:36-38
12.01 s
[really-safe-money] added mutation Arith at src/Money/Amount.hs:720:6-40
12.01 s
[really-safe-money] added mutation Arith at src/Money/Amount.hs:720:6-40
12.01 s
[really-safe-money] added mutation Arith at src/Money/Amount.hs:721:10-44
12.01 s
[really-safe-money] added mutation Arith at src/Money/Amount.hs:721:10-44
12.01 s
[really-safe-money] added mutation IntLit at src/Money/Amount.hs:569:18-19
12.01 s
[really-safe-money] added mutation ConstBool at src/Money/Amount.hs:569:10-19
12.01 s
[really-safe-money] added mutation ConstBool at src/Money/Amount.hs:569:10-19
12.01 s
[really-safe-money] added mutation Negate at src/Money/Amount.hs:569:10-19
12.01 s
[really-safe-money] added mutation Arith at src/Money/Amount.hs:577:39-63
12.01 s
[really-safe-money] added mutation Arith at src/Money/Amount.hs:577:39-63
12.01 s
[really-safe-money] added mutation Arith at src/Money/Amount.hs:543:11-88
12.01 s
[really-safe-money] added mutation Arith at src/Money/Amount.hs:543:11-88
12.01 s
[really-safe-money] added mutation Cmp at src/Money/Amount.hs:544:10-23
12.01 s
[really-safe-money] added mutation Cmp at src/Money/Amount.hs:544:10-23
12.01 s
[really-safe-money] added mutation Cmp at src/Money/Amount.hs:544:10-23
12.01 s
[really-safe-money] added mutation ConstBool at src/Money/Amount.hs:544:10-23
12.01 s
[really-safe-money] added mutation ConstBool at src/Money/Amount.hs:544:10-23
12.01 s
[really-safe-money] added mutation Negate at src/Money/Amount.hs:544:10-23
12.01 s
[really-safe-money] added mutation MaybeOp at src/Money/Amount.hs:546:14-66
12.01 s
[really-safe-money] added mutation Arith at src/Money/Amount.hs:517:11-18
12.01 s
[really-safe-money] added mutation Arith at src/Money/Amount.hs:517:11-18
12.01 s
[really-safe-money] added mutation IntLit at src/Money/Amount.hs:518:14-15
12.01 s
[really-safe-money] added mutation Cmp at src/Money/Amount.hs:518:10-15
12.01 s
[really-safe-money] added mutation Cmp at src/Money/Amount.hs:518:10-15
12.01 s
[really-safe-money] added mutation Cmp at src/Money/Amount.hs:518:10-15
12.01 s
[really-safe-money] added mutation ConstBool at src/Money/Amount.hs:518:10-15
12.01 s
[really-safe-money] added mutation ConstBool at src/Money/Amount.hs:518:10-15
12.01 s
[really-safe-money] added mutation Negate at src/Money/Amount.hs:518:10-15
12.01 s
[really-safe-money] added mutation MaybeOp at src/Money/Amount.hs:520:14-66
12.01 s
[really-safe-money] added mutation Arith at src/Money/Amount.hs:475:11-18
12.01 s
[really-safe-money] added mutation Arith at src/Money/Amount.hs:475:11-18
12.01 s
[really-safe-money] added mutation Cmp at src/Money/Amount.hs:476:10-23
12.01 s
[really-safe-money] added mutation Cmp at src/Money/Amount.hs:476:10-23
12.01 s
[really-safe-money] added mutation Cmp at src/Money/Amount.hs:476:10-23
12.01 s
[really-safe-money] added mutation ConstBool at src/Money/Amount.hs:476:10-23
12.01 s
[really-safe-money] added mutation ConstBool at src/Money/Amount.hs:476:10-23
12.01 s
[really-safe-money] added mutation Negate at src/Money/Amount.hs:476:10-23
12.01 s
[really-safe-money] added mutation MaybeOp at src/Money/Amount.hs:478:14-66
12.01 s
[really-safe-money] added mutation ConstBool at src/Money/Amount.hs:388:5-16
12.01 s
[really-safe-money] added mutation Negate at src/Money/Amount.hs:388:5-16
12.01 s
[really-safe-money] added mutation IntLit at src/Money/Amount.hs:389:9-10
12.01 s
[really-safe-money] added mutation Cmp at src/Money/Amount.hs:389:5-10
12.01 s
[really-safe-money] added mutation Cmp at src/Money/Amount.hs:389:5-10
12.01 s
[really-safe-money] added mutation Cmp at src/Money/Amount.hs:389:5-10
12.01 s
[really-safe-money] added mutation ConstBool at src/Money/Amount.hs:389:5-10
12.01 s
[really-safe-money] added mutation Negate at src/Money/Amount.hs:389:5-10
12.01 s
[really-safe-money] added mutation Arith at src/Money/Amount.hs:392:28-71
12.01 s
[really-safe-money] added mutation Arith at src/Money/Amount.hs:392:28-71
12.01 s
[really-safe-money] added mutation ConstBool at src/Money/Amount.hs:397:14-31
12.01 s
[really-safe-money] added mutation ConstBool at src/Money/Amount.hs:397:14-31
12.01 s
[really-safe-money] added mutation Negate at src/Money/Amount.hs:397:14-31
12.01 s
[really-safe-money] added mutation Cmp at src/Money/Amount.hs:399:18-83
12.01 s
[really-safe-money] added mutation Cmp at src/Money/Amount.hs:399:18-83
12.01 s
[really-safe-money] added mutation Cmp at src/Money/Amount.hs:399:18-83
12.01 s
[really-safe-money] added mutation ConstBool at src/Money/Amount.hs:399:18-83
12.01 s
[really-safe-money] added mutation ConstBool at src/Money/Amount.hs:399:18-83
12.01 s
[really-safe-money] added mutation Negate at src/Money/Amount.hs:399:18-83
12.01 s
[really-safe-money] added mutation IntLit at src/Money/Amount.hs:320:9-10
12.01 s
[really-safe-money] added mutation Cmp at src/Money/Amount.hs:320:5-10
12.01 s
[really-safe-money] added mutation Cmp at src/Money/Amount.hs:320:5-10
12.01 s
[really-safe-money] added mutation Cmp at src/Money/Amount.hs:320:5-10
12.01 s
[really-safe-money] added mutation ConstBool at src/Money/Amount.hs:320:5-10
12.01 s
[really-safe-money] added mutation Negate at src/Money/Amount.hs:320:5-10
12.01 s
[really-safe-money] added mutation Arith at src/Money/Amount.hs:323:26-67
12.01 s
[really-safe-money] added mutation Arith at src/Money/Amount.hs:323:26-67
12.01 s
[really-safe-money] added mutation ConstBool at src/Money/Amount.hs:327:9-16
12.01 s
[really-safe-money] added mutation Negate at src/Money/Amount.hs:327:9-16
12.01 s
[really-safe-money] added mutation ConstBool at src/Money/Amount.hs:328:9-21
12.01 s
[really-safe-money] added mutation Negate at src/Money/Amount.hs:328:9-21
12.01 s
[really-safe-money] added mutation IntLit at src/Money/Amount.hs:332:38-40
12.01 s
[really-safe-money] added mutation IntLit at src/Money/Amount.hs:332:38-40
12.01 s
[really-safe-money] added mutation IntLit at src/Money/Amount.hs:332:38-40
12.01 s
[really-safe-money] added mutation Cmp at src/Money/Amount.hs:332:14-40
12.01 s
[really-safe-money] added mutation Cmp at src/Money/Amount.hs:332:14-40
12.01 s
[really-safe-money] added mutation Cmp at src/Money/Amount.hs:332:14-40
12.01 s
[really-safe-money] added mutation ConstBool at src/Money/Amount.hs:332:14-40
12.01 s
[really-safe-money] added mutation ConstBool at src/Money/Amount.hs:332:14-40
12.01 s
[really-safe-money] added mutation Negate at src/Money/Amount.hs:332:14-40
12.01 s
[really-safe-money] added mutation ConstBool at src/Money/Amount.hs:339:22-39
12.01 s
[really-safe-money] added mutation ConstBool at src/Money/Amount.hs:339:22-39
12.01 s
[really-safe-money] added mutation Negate at src/Money/Amount.hs:339:22-39
12.01 s
[really-safe-money] added mutation Cmp at src/Money/Amount.hs:341:26-91
12.01 s
[really-safe-money] added mutation Cmp at src/Money/Amount.hs:341:26-91
12.01 s
[really-safe-money] added mutation Cmp at src/Money/Amount.hs:341:26-91
12.01 s
[really-safe-money] added mutation ConstBool at src/Money/Amount.hs:341:26-91
12.01 s
[really-safe-money] added mutation ConstBool at src/Money/Amount.hs:341:26-91
12.01 s
[really-safe-money] added mutation Negate at src/Money/Amount.hs:341:26-91
12.01 s
[really-safe-money] added mutation IntLit at src/Money/Amount.hs:290:79-80
12.01 s
[really-safe-money] added mutation Arith at src/Money/Amount.hs:494:29-94
12.01 s
[really-safe-money] added mutation Arith at src/Money/Amount.hs:494:29-94
12.01 s
[really-safe-money] added mutation IntLit at src/Money/Amount.hs:494:96-97
12.01 s
[really-safe-money] added mutation Cmp at src/Money/Amount.hs:495:10-23
12.01 s
[really-safe-money] added mutation Cmp at src/Money/Amount.hs:495:10-23
12.01 s
[really-safe-money] added mutation Cmp at src/Money/Amount.hs:495:10-23
12.01 s
[really-safe-money] added mutation ConstBool at src/Money/Amount.hs:495:10-23
12.01 s
[really-safe-money] added mutation ConstBool at src/Money/Amount.hs:495:10-23
12.01 s
[really-safe-money] added mutation Negate at src/Money/Amount.hs:495:10-23
12.01 s
[really-safe-money] added mutation MaybeOp at src/Money/Amount.hs:497:14-66
12.01 s
[really-safe-money] added mutation IntLit at src/Money/Amount.hs:250:15-16
12.01 s
[really-safe-money] added mutation MaybeOp at src/Money/Amount.hs:660:28-37
12.01 s
[really-safe-money] added mutation MaybeOp at src/Money/Amount.hs:661:19-28
12.01 s
[really-safe-money] added mutation IntLit at src/Money/Amount.hs:661:30-31
12.01 s
[really-safe-money] added mutation RemoveCase at src/Money/Amount.hs:668:17-30
12.01 s
[really-safe-money] added mutation RemoveCase at src/Money/Amount.hs:668:17-30
12.01 s
[really-safe-money] added mutation RemoveCase at src/Money/Amount.hs:668:17-30
12.01 s
[really-safe-money] added mutation Arith at src/Money/Amount.hs:666:27-44
12.01 s
[really-safe-money] added mutation Arith at src/Money/Amount.hs:666:27-44
12.01 s
[really-safe-money] added mutation Cmp at src/Money/Amount.hs:681:12-37
12.01 s
[really-safe-money] added mutation Cmp at src/Money/Amount.hs:681:12-37
12.01 s
[really-safe-money] added mutation Cmp at src/Money/Amount.hs:681:12-37
12.01 s
[really-safe-money] added mutation ConstBool at src/Money/Amount.hs:681:12-37
12.01 s
[really-safe-money] added mutation ConstBool at src/Money/Amount.hs:681:12-37
12.01 s
[really-safe-money] added mutation Negate at src/Money/Amount.hs:681:12-37
12.01 s
[really-safe-money] added mutation MaybeOp at src/Money/Amount.hs:683:16-27
12.01 s
[really-safe-money] added mutation Arith at src/Money/Amount.hs:762:40-49
12.01 s
[really-safe-money] added mutation Arith at src/Money/Amount.hs:762:40-49
12.01 s
[really-safe-money] added mutation Cmp at src/Money/Amount.hs:806:79-92
12.01 s
[really-safe-money] added mutation Cmp at src/Money/Amount.hs:806:79-92
12.01 s
[really-safe-money] added mutation Cmp at src/Money/Amount.hs:806:79-92
12.01 s
[really-safe-money] added mutation ConstBool at src/Money/Amount.hs:806:79-92
12.01 s
[really-safe-money] added mutation ConstBool at src/Money/Amount.hs:806:79-92
12.01 s
[really-safe-money] added mutation Negate at src/Money/Amount.hs:806:79-92
12.01 s
[really-safe-money] added mutation Cmp at src/Money/Amount.hs:607:15-22
12.01 s
[really-safe-money] added mutation Cmp at src/Money/Amount.hs:607:15-22
12.01 s
[really-safe-money] added mutation Cmp at src/Money/Amount.hs:607:15-22
12.01 s
[really-safe-money] added mutation ConstBool at src/Money/Amount.hs:607:15-22
12.01 s
[really-safe-money] added mutation ConstBool at src/Money/Amount.hs:607:15-22
12.01 s
[really-safe-money] added mutation Negate at src/Money/Amount.hs:607:15-22
12.01 s
[really-safe-money] added mutation RemoveCase at src/Money/Amount.hs:604:9-21
12.02 s
[really-safe-money] added mutation RemoveCase at src/Money/Amount.hs:604:9-21
12.02 s
[really-safe-money] added mutation ListLit at src/Money/Amount.hs:603:7-8
12.02 s
[really-safe-money] added mutation ListLit at src/Money/Amount.hs:603:7-8
12.02 s
[really-safe-money] added 135 mutations
12.35 s
[genvalidity-sydtest] Phase: setupCompilerEnvironmentPhase
12.36 s
[genvalidity-sydtest] Build with /nix/store/s9jd43rkwc2syl9cvgj6f786avy8bgzy-ghc-9.10.3.
12.90 s
[genvalidity-sydtest] Phase: unpackPhase
12.91 s
[genvalidity-sydtest] unpacking source archive /nix/store/lyv72sqbmk32ji756sxqib3ijnm8v7fw-genvalidity-sydtest-source-1.0.1.0/genvalidity-sydtest-1.0.1.0.tar.gz
12.91 s
[genvalidity-sydtest] source root is genvalidity-sydtest-1.0.1.0
12.92 s
[genvalidity-sydtest] setting SOURCE_DATE_EPOCH to timestamp 1778791684 of file "genvalidity-sydtest-1.0.1.0/test/Test/Syd/Validity/ShrinkingSpec.hs"
12.92 s
[genvalidity-sydtest] warning: file "genvalidity-sydtest-1.0.1.0/test/Test/Syd/Validity/ShrinkingSpec.hs" may be generated; SOURCE_DATE_EPOCH may be non-deterministic
12.93 s
[genvalidity-sydtest] Phase: patchPhase
12.94 s
[genvalidity-sydtest] Phase: compileBuildDriverPhase
12.94 s
[genvalidity-sydtest] setupCompileFlags: -package-db=/build/tmp.eTUhwpUpRG/setup-package.conf.d -threaded
13.01 s
[genvalidity-sydtest] [1 of 2] Compiling Main ( Setup.hs, /build/tmp.eTUhwpUpRG/Main.o )
13.08 s
[genvalidity-sydtest] [2 of 2] Linking Setup
14.49 s
[genvalidity-sydtest] Phase: updateAutotoolsGnuConfigScriptsPhase
14.51 s
[genvalidity-sydtest] Phase: configurePhase
14.51 s
[genvalidity-sydtest] configureFlags: --verbose --prefix=/nix/store/6nxyhdkdzivr4dkkcybp71pq5i0qi6z8-genvalidity-sydtest-1.0.1.0 --libdir=$prefix/lib/$compiler/lib --libsubdir=$abi/$libname --docdir=/nix/store/g9k0211a6230bqvw32xdcipj6ph8z199-genvalidity-sydtest-1.0.1.0-doc/share/doc/genvalidity-sydtest-1.0.1.0 --with-gcc=gcc --package-db=/build/tmp.eTUhwpUpRG/package.conf.d --ghc-option=-j16 --ghc-option=+RTS --ghc-option=-A64M --ghc-option=-RTS --enable-library-profiling --profiling-detail=exported-functions --disable-profiling --enable-shared --disable-coverage --enable-static --disable-executable-dynamic --enable-tests --enable-benchmarks --enable-library-vanilla --disable-library-for-ghci --enable-split-sections --enable-library-stripping --enable-executable-stripping --ghc-option=-haddock --ghc-option=-Wall --ghc-option=-Werror --extra-lib-dirs=/nix/store/ffyzkisqs4vc4mg28bwwlyqjf8i9ph6b-ncurses-6.5/lib --extra-lib-dirs=/nix/store/n28qgdj8c1q41kf7n4y1jxa6ckp85m3c-libffi-3.5.2/lib --extra-lib-dirs=/nix/store/1b6h99dw7bk4wbn77kbalih42zbc67m1-elfutils-0.194/lib --extra-lib-dirs=/nix/store/hi0ar880110k6jsmmili7dh1gq3cg2a9-gmp-with-cxx-6.3.0/lib --extra-lib-dirs=/nix/store/g09cflpnp4g80q56sj9dng1qzv4v4ybc-numactl-2.0.18/lib
14.52 s
[genvalidity-sydtest] Using Parsec parser
14.52 s
[genvalidity-sydtest] Configuring genvalidity-sydtest-1.0.1.0...
14.53 s
[really-safe-money] [ 7 of 12] Compiling Money.MultiAmount ( src/Money/MultiAmount.hs, dist/build/Money/MultiAmount.o, dist/build/Money/MultiAmount.dyn_o )
14.56 s
[really-safe-money] mutation: instrumenting Money.MultiAmount
14.56 s
[really-safe-money] added mutation RemoveCase at src/Money/MultiAmount.hs:159:25-38
14.56 s
[really-safe-money] added mutation RemoveCase at src/Money/MultiAmount.hs:159:25-38
14.56 s
[really-safe-money] added mutation RemoveCase at src/Money/MultiAmount.hs:159:25-38
14.56 s
[really-safe-money] added mutation Cmp at src/Money/MultiAmount.hs:168:20-45
14.56 s
[really-safe-money] added mutation Cmp at src/Money/MultiAmount.hs:168:20-45
14.56 s
[really-safe-money] added mutation Cmp at src/Money/MultiAmount.hs:168:20-45
14.56 s
[really-safe-money] added mutation ConstBool at src/Money/MultiAmount.hs:168:20-45
14.56 s
[really-safe-money] added mutation ConstBool at src/Money/MultiAmount.hs:168:20-45
14.56 s
[really-safe-money] added mutation Negate at src/Money/MultiAmount.hs:168:20-45
14.56 s
[really-safe-money] added mutation MaybeOp at src/Money/MultiAmount.hs:170:24-57
14.56 s
[really-safe-money] added mutation RemoveCase at src/Money/MultiAmount.hs:171:25-32
14.56 s
[really-safe-money] added mutation RemoveCase at src/Money/MultiAmount.hs:171:25-32
14.56 s
[really-safe-money] added mutation RemoveCase at src/Money/MultiAmount.hs:171:25-32
14.56 s
[really-safe-money] added mutation Arith at src/Money/MultiAmount.hs:182:15-106
14.56 s
[really-safe-money] added mutation Arith at src/Money/MultiAmount.hs:182:15-106
14.56 s
[really-safe-money] added mutation MaybeOp at src/Money/MultiAmount.hs:112:33-39
14.56 s
[really-safe-money] added mutation ConstBool at src/Money/MultiAmount.hs:119:12-28
14.56 s
[really-safe-money] added mutation ConstBool at src/Money/MultiAmount.hs:119:12-28
14.56 s
[really-safe-money] added mutation Negate at src/Money/MultiAmount.hs:119:12-28
14.56 s
[really-safe-money] added mutation RemoveCase at src/Money/MultiAmount.hs:114:22-37
14.56 s
[really-safe-money] added mutation RemoveCase at src/Money/MultiAmount.hs:114:22-37
14.56 s
[really-safe-money] added mutation MaybeOp at src/Money/MultiAmount.hs:99:28-34
14.56 s
[really-safe-money] added mutation ConstBool at src/Money/MultiAmount.hs:106:12-28
14.56 s
[really-safe-money] added mutation ConstBool at src/Money/MultiAmount.hs:106:12-28
14.56 s
[really-safe-money] added mutation Negate at src/Money/MultiAmount.hs:106:12-28
14.56 s
[really-safe-money] added mutation RemoveCase at src/Money/MultiAmount.hs:101:22-37
14.56 s
[really-safe-money] added mutation RemoveCase at src/Money/MultiAmount.hs:101:22-37
14.56 s
[really-safe-money] added mutation ConstBool at src/Money/MultiAmount.hs:73:6-27
14.56 s
[really-safe-money] added mutation ConstBool at src/Money/MultiAmount.hs:73:6-27
14.56 s
[really-safe-money] added mutation Negate at src/Money/MultiAmount.hs:73:6-27
14.57 s
[really-safe-money] added mutation ConstBool at src/Money/MultiAmount.hs:66:13-29
14.57 s
[really-safe-money] added mutation ConstBool at src/Money/MultiAmount.hs:66:13-29
14.57 s
[really-safe-money] added mutation Negate at src/Money/MultiAmount.hs:66:13-29
14.57 s
[really-safe-money] added mutation ListLit at src/Money/MultiAmount.hs:63:7-8
14.57 s
[really-safe-money] added mutation ListLit at src/Money/MultiAmount.hs:63:7-8
14.57 s
[really-safe-money] added 35 mutations
15.28 s
[genvalidity-sydtest] Dependency QuickCheck: using QuickCheck-2.15.0.1
15.28 s
[genvalidity-sydtest] Dependency base >=4.7 && <5: using base-4.20.2.0
15.28 s
[genvalidity-sydtest] Dependency genvalidity >=1.0: using genvalidity-1.1.1.0
15.28 s
[genvalidity-sydtest] Dependency sydtest: using sydtest-0.23.0.2
15.28 s
[genvalidity-sydtest] Dependency QuickCheck: using QuickCheck-2.15.0.1
15.28 s
[genvalidity-sydtest] Dependency base >=4.7 && <5: using base-4.20.2.0
15.28 s
[genvalidity-sydtest] Dependency genvalidity: using genvalidity-1.1.1.0
15.28 s
[genvalidity-sydtest] Dependency genvalidity-sydtest: using genvalidity-sydtest-1.0.1.0
15.28 s
[genvalidity-sydtest] Dependency sydtest: using sydtest-0.23.0.2
15.28 s
[genvalidity-sydtest] Source component graph:
15.28 s
[genvalidity-sydtest] component lib
15.28 s
[genvalidity-sydtest] component test:genvalidity-sydtest-test dependency lib
15.28 s
[genvalidity-sydtest] Configured component graph:
15.28 s
[genvalidity-sydtest] component genvalidity-sydtest-1.0.1.0-4MUjvMP5f0h4Td7V6rG94v
15.28 s
[genvalidity-sydtest] include QuickCheck-2.15.0.1-8fVC1qSJKj9H9pvMjJXUwU
15.28 s
[genvalidity-sydtest] include base-4.20.2.0-64da
15.28 s
[genvalidity-sydtest] include genvalidity-1.1.1.0-KJOcA1wEUno9vXRiVdno1L
15.28 s
[genvalidity-sydtest] include sydtest-0.23.0.2-2pBpKNR1Siz5MducBHcrJ7
15.28 s
[genvalidity-sydtest] component genvalidity-sydtest-1.0.1.0-19nAOlA0K1r7uCV4LDDx2N-genvalidity-sydtest-test
15.28 s
[genvalidity-sydtest] include QuickCheck-2.15.0.1-8fVC1qSJKj9H9pvMjJXUwU
15.28 s
[genvalidity-sydtest] include base-4.20.2.0-64da
15.28 s
[genvalidity-sydtest] include genvalidity-1.1.1.0-KJOcA1wEUno9vXRiVdno1L
15.28 s
[genvalidity-sydtest] include genvalidity-sydtest-1.0.1.0-4MUjvMP5f0h4Td7V6rG94v
15.28 s
[genvalidity-sydtest] include sydtest-0.23.0.2-2pBpKNR1Siz5MducBHcrJ7
15.28 s
[genvalidity-sydtest] Linked component graph:
15.28 s
[genvalidity-sydtest] unit genvalidity-sydtest-1.0.1.0-4MUjvMP5f0h4Td7V6rG94v
15.28 s
[genvalidity-sydtest] include QuickCheck-2.15.0.1-8fVC1qSJKj9H9pvMjJXUwU
15.28 s
[genvalidity-sydtest] include base-4.20.2.0-64da
15.28 s
[genvalidity-sydtest] include genvalidity-1.1.1.0-KJOcA1wEUno9vXRiVdno1L
15.28 s
[genvalidity-sydtest] include sydtest-0.23.0.2-2pBpKNR1Siz5MducBHcrJ7
15.28 s
[genvalidity-sydtest] Test.Syd.Validity=genvalidity-sydtest-1.0.1.0-4MUjvMP5f0h4Td7V6rG94v:Test.Syd.Validity,Test.Syd.Validity.Applicative=genvalidity-sydtest-1.0.1.0-4MUjvMP5f0h4Td7V6rG94v:Test.Syd.Validity.Applicative,Test.Syd.Validity.Arbitrary=genvalidity-sydtest-1.0.1.0-4MUjvMP5f0h4Td7V6rG94v:Test.Syd.Validity.Arbitrary,Test.Syd.Validity.Eq=genvalidity-sydtest-1.0.1.0-4MUjvMP5f0h4Td7V6rG94v:Test.Syd.Validity.Eq,Test.Syd.Validity.Functions=genvalidity-sydtest-1.0.1.0-4MUjvMP5f0h4Td7V6rG94v:Test.Syd.Validity.Functions,Test.Syd.Validity.Functions.CanFail=genvalidity-sydtest-1.0.1.0-4MUjvMP5f0h4Td7V6rG94v:Test.Syd.Validity.Functions.CanFail,Test.Syd.Validity.Functions.Equivalence=genvalidity-sydtest-1.0.1.0-4MUjvMP5f0h4Td7V6rG94v:Test.Syd.Validity.Functions.Equivalence,Test.Syd.Validity.Functions.Idempotence=genvalidity-sydtest-1.0.1.0-4MUjvMP5f0h4Td7V6rG94v:Test.Syd.Validity.Functions.Idempotence,Test.Syd.Validity.Functions.Inverse=genvalidity-sydtest-1.0.1.0-4MUjvMP5f0h4Td7V6rG94v:Test.Syd.Validity.Functions.Inverse,Test.Syd.Validity.Functions.Validity=genvalidity-sydtest-1.0.1.0-4MUjvMP5f0h4Td7V6rG94v:Test.Syd.Validity.Functions.Validity,Test.Syd.Validity.Functor=genvalidity-sydtest-1.0.1.0-4MUjvMP5f0h4Td7V6rG94v:Test.Syd.Validity.Functor,Test.Syd.Validity.GenValidity=genvalidity-sydtest-1.0.1.0-4MUjvMP5f0h4Td7V6rG94v:Test.Syd.Validity.GenValidity,Test.Syd.Validity.GenValidity.Property=genvalidity-sydtest-1.0.1.0-4MUjvMP5f0h4Td7V6rG94v:Test.Syd.Validity.GenValidity.Property,Test.Syd.Validity.Monad=genvalidity-sydtest-1.0.1.0-4MUjvMP5f0h4Td7V6rG94v:Test.Syd.Validity.Monad,Test.Syd.Validity.Monoid=genvalidity-sydtest-1.0.1.0-4MUjvMP5f0h4Td7V6rG94v:Test.Syd.Validity.Monoid,Test.Syd.Validity.Operations=genvalidity-sydtest-1.0.1.0-4MUjvMP5f0h4Td7V6rG94v:Test.Syd.Validity.Operations,Test.Syd.Validity.Operations.Associativity=genvalidity-sydtest-1.0.1.0-4MUjvMP5f0h4Td7V6rG94v:Test.Syd.Validity.Operations.Associativity,Test.Syd.Validity.Operations.Commutativity=genvalidity-sydtest-1.0.1.0-4MUjvMP5f0h4Td7V6rG94v:Test.Syd.Validity.Operations.Commutativity,Test.Syd.Validity.Operations.Identity=genvalidity-sydtest-1.0.1.0-4MUjvMP5f0h4Td7V6rG94v:Test.Syd.Validity.Operations.Identity,Test.Syd.Validity.Ord=genvalidity-sydtest-1.0.1.0-4MUjvMP5f0h4Td7V6rG94v:Test.Syd.Validity.Ord,Test.Syd.Validity.Property=genvalidity-sydtest-1.0.1.0-4MUjvMP5f0h4Td7V6rG94v:Test.Syd.Validity.Property,Test.Syd.Validity.Property.Utils=genvalidity-sydtest-1.0.1.0-4MUjvMP5f0h4Td7V6rG94v:Test.Syd.Validity.Property.Utils,Test.Syd.Validity.Relations=genvalidity-sydtest-1.0.1.0-4MUjvMP5f0h4Td7V6rG94v:Test.Syd.Validity.Relations,Test.Syd.Validity.Relations.Antireflexivity=genvalidity-sydtest-1.0.1.0-4MUjvMP5f0h4Td7V6rG94v:Test.Syd.Validity.Relations.Antireflexivity,Test.Syd.Validity.Relations.Antisymmetry=genvalidity-sydtest-1.0.1.0-4MUjvMP5f0h4Td7V6rG94v:Test.Syd.Validity.Relations.Antisymmetry,Test.Syd.Validity.Relations.Reflexivity=genvalidity-sydtest-1.0.1.0-4MUjvMP5f0h4Td7V6rG94v:Test.Syd.Validity.Relations.Reflexivity,Test.Syd.Validity.Relations.Symmetry=genvalidity-sydtest-1.0.1.0-4MUjvMP5f0h4Td7V6rG94v:Test.Syd.Validity.Relations.Symmetry,Test.Syd.Validity.Relations.Transitivity=genvalidity-sydtest-1.0.1.0-4MUjvMP5f0h4Td7V6rG94v:Test.Syd.Validity.Relations.Transitivity,Test.Syd.Validity.Show=genvalidity-sydtest-1.0.1.0-4MUjvMP5f0h4Td7V6rG94v:Test.Syd.Validity.Show,Test.Syd.Validity.Shrinking=genvalidity-sydtest-1.0.1.0-4MUjvMP5f0h4Td7V6rG94v:Test.Syd.Validity.Shrinking,Test.Syd.Validity.Shrinking.Property=genvalidity-sydtest-1.0.1.0-4MUjvMP5f0h4Td7V6rG94v:Test.Syd.Validity.Shrinking.Property,Test.Syd.Validity.Types=genvalidity-sydtest-1.0.1.0-4MUjvMP5f0h4Td7V6rG94v:Test.Syd.Validity.Types,Test.Syd.Validity.Utils=genvalidity-sydtest-1.0.1.0-4MUjvMP5f0h4Td7V6rG94v:Test.Syd.Validity.Utils
15.28 s
[genvalidity-sydtest] unit genvalidity-sydtest-1.0.1.0-19nAOlA0K1r7uCV4LDDx2N-genvalidity-sydtest-test
15.28 s
[genvalidity-sydtest] include QuickCheck-2.15.0.1-8fVC1qSJKj9H9pvMjJXUwU
15.28 s
[genvalidity-sydtest] include base-4.20.2.0-64da
15.28 s
[genvalidity-sydtest] include genvalidity-1.1.1.0-KJOcA1wEUno9vXRiVdno1L
15.28 s
[genvalidity-sydtest] include genvalidity-sydtest-1.0.1.0-4MUjvMP5f0h4Td7V6rG94v
15.28 s
[genvalidity-sydtest] include sydtest-0.23.0.2-2pBpKNR1Siz5MducBHcrJ7
15.28 s
[genvalidity-sydtest] Ready component graph:
15.28 s
[genvalidity-sydtest] definite genvalidity-sydtest-1.0.1.0-4MUjvMP5f0h4Td7V6rG94v
15.28 s
[genvalidity-sydtest] depends QuickCheck-2.15.0.1-8fVC1qSJKj9H9pvMjJXUwU
15.28 s
[genvalidity-sydtest] depends base-4.20.2.0-64da
15.28 s
[genvalidity-sydtest] depends genvalidity-1.1.1.0-KJOcA1wEUno9vXRiVdno1L
15.28 s
[genvalidity-sydtest] depends sydtest-0.23.0.2-2pBpKNR1Siz5MducBHcrJ7
15.28 s
[genvalidity-sydtest] definite genvalidity-sydtest-1.0.1.0-19nAOlA0K1r7uCV4LDDx2N-genvalidity-sydtest-test
15.28 s
[genvalidity-sydtest] depends QuickCheck-2.15.0.1-8fVC1qSJKj9H9pvMjJXUwU
15.28 s
[genvalidity-sydtest] depends base-4.20.2.0-64da
15.28 s
[genvalidity-sydtest] depends genvalidity-1.1.1.0-KJOcA1wEUno9vXRiVdno1L
15.28 s
[genvalidity-sydtest] depends genvalidity-sydtest-1.0.1.0-4MUjvMP5f0h4Td7V6rG94v
15.28 s
[genvalidity-sydtest] depends sydtest-0.23.0.2-2pBpKNR1Siz5MducBHcrJ7
15.28 s
[genvalidity-sydtest] Using Cabal-3.12.1.0 compiled by ghc-9.10
15.28 s
[genvalidity-sydtest] Using compiler: ghc-9.10.3
15.28 s
[genvalidity-sydtest] Using install prefix:
15.28 s
[genvalidity-sydtest] /nix/store/6nxyhdkdzivr4dkkcybp71pq5i0qi6z8-genvalidity-sydtest-1.0.1.0
15.28 s
[genvalidity-sydtest] Executables installed in:
15.28 s
[genvalidity-sydtest] /nix/store/6nxyhdkdzivr4dkkcybp71pq5i0qi6z8-genvalidity-sydtest-1.0.1.0/bin
15.28 s
[genvalidity-sydtest] Libraries installed in:
15.28 s
[genvalidity-sydtest] /nix/store/6nxyhdkdzivr4dkkcybp71pq5i0qi6z8-genvalidity-sydtest-1.0.1.0/lib/ghc-9.10.3/lib/x86_64-linux-ghc-9.10.3-05f6/genvalidity-sydtest-1.0.1.0-4MUjvMP5f0h4Td7V6rG94v
15.28 s
[genvalidity-sydtest] Dynamic Libraries installed in:
15.28 s
[genvalidity-sydtest] /nix/store/6nxyhdkdzivr4dkkcybp71pq5i0qi6z8-genvalidity-sydtest-1.0.1.0/lib/ghc-9.10.3/lib/x86_64-linux-ghc-9.10.3-05f6
15.28 s
[genvalidity-sydtest] Private executables installed in:
15.28 s
[genvalidity-sydtest] /nix/store/6nxyhdkdzivr4dkkcybp71pq5i0qi6z8-genvalidity-sydtest-1.0.1.0/libexec/x86_64-linux-ghc-9.10.3-05f6/genvalidity-sydtest-1.0.1.0
15.28 s
[genvalidity-sydtest] Data files installed in:
15.28 s
[genvalidity-sydtest] /nix/store/6nxyhdkdzivr4dkkcybp71pq5i0qi6z8-genvalidity-sydtest-1.0.1.0/share/x86_64-linux-ghc-9.10.3-05f6/genvalidity-sydtest-1.0.1.0
15.28 s
[genvalidity-sydtest] Documentation installed in:
15.28 s
[genvalidity-sydtest] /nix/store/g9k0211a6230bqvw32xdcipj6ph8z199-genvalidity-sydtest-1.0.1.0-doc/share/doc/genvalidity-sydtest-1.0.1.0
15.28 s
[genvalidity-sydtest] Configuration files installed in:
15.28 s
[genvalidity-sydtest] /nix/store/6nxyhdkdzivr4dkkcybp71pq5i0qi6z8-genvalidity-sydtest-1.0.1.0/etc
15.28 s
[genvalidity-sydtest] No alex found
15.28 s
[genvalidity-sydtest] Using ar found on system at:
15.28 s
[genvalidity-sydtest] /nix/store/iz5lckcsg66r223si2gck7csk2hihj0m-binutils-wrapper-2.44/bin/ar
15.28 s
[genvalidity-sydtest] No c2hs found
15.28 s
[genvalidity-sydtest] No cpphs found
15.28 s
[genvalidity-sydtest] No doctest found
15.28 s
[genvalidity-sydtest] Using gcc version 14.3.0 given by user at:
15.28 s
[genvalidity-sydtest] /nix/store/8v97ngkcpfzgghwnnr7fsz33p2x22gy9-gcc-wrapper-14.3.0/bin/gcc
15.28 s
[genvalidity-sydtest] Using ghc version 9.10.3 found on system at:
15.28 s
[genvalidity-sydtest] /nix/store/s9jd43rkwc2syl9cvgj6f786avy8bgzy-ghc-9.10.3/bin/ghc
15.28 s
[genvalidity-sydtest] Using ghc-pkg version 9.10.3 found on system at:
15.28 s
[genvalidity-sydtest] /nix/store/s9jd43rkwc2syl9cvgj6f786avy8bgzy-ghc-9.10.3/bin/ghc-pkg-9.10.3
15.28 s
[genvalidity-sydtest] No ghcjs found
15.28 s
[genvalidity-sydtest] No ghcjs-pkg found
15.28 s
[genvalidity-sydtest] No greencard found
15.28 s
[genvalidity-sydtest] Using haddock version 2.31.1 found on system at:
15.32 s
[genvalidity-sydtest] /nix/store/s9jd43rkwc2syl9cvgj6f786avy8bgzy-ghc-9.10.3/bin/haddock-ghc-9.10.3
15.32 s
[genvalidity-sydtest] No happy found
15.32 s
[genvalidity-sydtest] Using haskell-suite found on system at: haskell-suite-dummy-location
15.32 s
[genvalidity-sydtest] Using haskell-suite-pkg found on system at: haskell-suite-pkg-dummy-location
15.32 s
[genvalidity-sydtest] No hmake found
15.32 s
[genvalidity-sydtest] Using hpc version 0.69 found on system at:
15.32 s
[genvalidity-sydtest] /nix/store/s9jd43rkwc2syl9cvgj6f786avy8bgzy-ghc-9.10.3/bin/hpc-ghc-9.10.3
15.32 s
[genvalidity-sydtest] Using hsc2hs version 0.68.10 found on system at:
15.32 s
[genvalidity-sydtest] /nix/store/s9jd43rkwc2syl9cvgj6f786avy8bgzy-ghc-9.10.3/bin/hsc2hs-ghc-9.10.3
15.32 s
[genvalidity-sydtest] Using hscolour version 1.25 found on system at:
15.32 s
[genvalidity-sydtest] /nix/store/f755skyzf4jvfx3crwq9mmh3x4lsaz8i-hscolour-1.25/bin/HsColour
15.32 s
[genvalidity-sydtest] No jhc found
15.32 s
[genvalidity-sydtest] Using ld found on system at:
15.32 s
[genvalidity-sydtest] /nix/store/8v97ngkcpfzgghwnnr7fsz33p2x22gy9-gcc-wrapper-14.3.0/bin/ld
15.32 s
[genvalidity-sydtest] No pkg-config found
15.32 s
[genvalidity-sydtest] Using runghc version 9.10.3 found on system at:
15.32 s
[genvalidity-sydtest] /nix/store/s9jd43rkwc2syl9cvgj6f786avy8bgzy-ghc-9.10.3/bin/runghc-9.10.3
15.32 s
[genvalidity-sydtest] Using strip version 2.44 found on system at:
15.32 s
[genvalidity-sydtest] /nix/store/8v97ngkcpfzgghwnnr7fsz33p2x22gy9-gcc-wrapper-14.3.0/bin/strip
15.32 s
[genvalidity-sydtest] Using tar found on system at:
15.32 s
[genvalidity-sydtest] /nix/store/xl6pd2spjajwcpq09fnmnjv5psqmlmma-gnutar-1.35/bin/tar
15.32 s
[genvalidity-sydtest] No uhc found
15.41 s
[really-safe-money] [ 8 of 12] Compiling Money.AmountOf ( src/Money/AmountOf.hs, dist/build/Money/AmountOf.o, dist/build/Money/AmountOf.dyn_o )
15.42 s
[really-safe-money] mutation: instrumenting Money.AmountOf
15.42 s
[really-safe-money] added mutation RemoveCase at src/Money/AmountOf.hs:215:29-113
15.42 s
[really-safe-money] added mutation RemoveCase at src/Money/AmountOf.hs:215:29-113
15.42 s
[really-safe-money] added mutation RemoveCase at src/Money/AmountOf.hs:215:29-113
15.42 s
[really-safe-money] added mutation RemoveCase at src/Money/AmountOf.hs:215:29-113
15.43 s
[really-safe-money] added 4 mutations
15.69 s
[really-safe-money] [ 9 of 12] Compiling Money.Account ( src/Money/Account.hs, dist/build/Money/Account.o, dist/build/Money/Account.dyn_o )
15.92 s
[really-safe-money] mutation: instrumenting Money.Account
15.92 s
[really-safe-money] added mutation RemoveCase at src/Money/Account.hs:553:7-39
15.92 s
[really-safe-money] added mutation RemoveCase at src/Money/Account.hs:553:7-39
15.92 s
[really-safe-money] added mutation RemoveCase at src/Money/Account.hs:553:7-39
15.92 s
[really-safe-money] added mutation RemoveCase at src/Money/Account.hs:553:7-39
15.92 s
[really-safe-money] added mutation RemoveCase at src/Money/Account.hs:591:7-44
15.92 s
[really-safe-money] added mutation RemoveCase at src/Money/Account.hs:591:7-44
15.92 s
[really-safe-money] added mutation IntLit at src/Money/Account.hs:421:32-33
15.92 s
[really-safe-money] added mutation RemoveCase at src/Money/Account.hs:421:11-29
15.92 s
[really-safe-money] added mutation RemoveCase at src/Money/Account.hs:421:11-29
15.92 s
[really-safe-money] added mutation RemoveCase at src/Money/Account.hs:421:11-29
15.92 s
[really-safe-money] added mutation RemoveCase at src/Money/Account.hs:421:11-29
15.92 s
[really-safe-money] added mutation RemoveCase at src/Money/Account.hs:421:11-29
15.92 s
[really-safe-money] added mutation RemoveCase at src/Money/Account.hs:421:11-29
15.92 s
[really-safe-money] added mutation Cmp at src/Money/Account.hs:451:14-23
15.92 s
[really-safe-money] added mutation Cmp at src/Money/Account.hs:451:14-23
15.92 s
[really-safe-money] added mutation Cmp at src/Money/Account.hs:451:14-23
15.92 s
[really-safe-money] added mutation ConstBool at src/Money/Account.hs:451:14-23
15.92 s
[really-safe-money] added mutation ConstBool at src/Money/Account.hs:451:14-23
15.92 s
[really-safe-money] added mutation Negate at src/Money/Account.hs:451:14-23
15.92 s
[really-safe-money] added mutation Cmp at src/Money/Account.hs:455:14-23
15.92 s
[really-safe-money] added mutation Cmp at src/Money/Account.hs:455:14-23
15.92 s
[really-safe-money] added mutation Cmp at src/Money/Account.hs:455:14-23
15.92 s
[really-safe-money] added mutation ConstBool at src/Money/Account.hs:455:14-23
15.92 s
[really-safe-money] added mutation ConstBool at src/Money/Account.hs:455:14-23
15.92 s
[really-safe-money] added mutation Negate at src/Money/Account.hs:455:14-23
15.92 s
[really-safe-money] added mutation RemoveCase at src/Money/Account.hs:447:7-136
15.92 s
[really-safe-money] added mutation RemoveCase at src/Money/Account.hs:447:7-136
15.92 s
[really-safe-money] added mutation RemoveCase at src/Money/Account.hs:447:7-136
15.92 s
[really-safe-money] added mutation RemoveCase at src/Money/Account.hs:447:7-136
15.92 s
[really-safe-money] added mutation MaybeOp at src/Money/Account.hs:523:16-25
15.92 s
[really-safe-money] added mutation RemoveCase at src/Money/Account.hs:522:19-35
15.92 s
[really-safe-money] added mutation RemoveCase at src/Money/Account.hs:522:19-35
15.92 s
[really-safe-money] added mutation RemoveCase at src/Money/Account.hs:522:19-35
15.92 s
[really-safe-money] added mutation IntLit at src/Money/Account.hs:495:17-18
15.92 s
[really-safe-money] added mutation Cmp at src/Money/Account.hs:495:12-18
15.92 s
[really-safe-money] added mutation Cmp at src/Money/Account.hs:495:12-18
15.92 s
[really-safe-money] added mutation Cmp at src/Money/Account.hs:495:12-18
15.92 s
[really-safe-money] added mutation ConstBool at src/Money/Account.hs:495:12-18
15.92 s
[really-safe-money] added mutation ConstBool at src/Money/Account.hs:495:12-18
15.92 s
[really-safe-money] added mutation Negate at src/Money/Account.hs:495:12-18
15.92 s
[really-safe-money] added mutation RemoveCase at src/Money/Account.hs:497:16-41
15.92 s
[really-safe-money] added mutation RemoveCase at src/Money/Account.hs:497:16-41
15.92 s
[really-safe-money] added mutation RemoveCase at src/Money/Account.hs:497:16-41
15.92 s
[really-safe-money] added mutation IntLit at src/Money/Account.hs:503:15-16
15.92 s
[really-safe-money] added mutation Cmp at src/Money/Account.hs:503:10-16
15.92 s
[really-safe-money] added mutation Cmp at src/Money/Account.hs:503:10-16
15.92 s
[really-safe-money] added mutation Cmp at src/Money/Account.hs:503:10-16
15.92 s
[really-safe-money] added mutation ConstBool at src/Money/Account.hs:503:10-16
15.92 s
[really-safe-money] added mutation ConstBool at src/Money/Account.hs:503:10-16
15.92 s
[really-safe-money] added mutation Negate at src/Money/Account.hs:503:10-16
15.92 s
[really-safe-money] added mutation IntLit at src/Money/Account.hs:233:19-20
15.92 s
[really-safe-money] added mutation Cmp at src/Money/Account.hs:233:14-20
15.92 s
[really-safe-money] added mutation Cmp at src/Money/Account.hs:233:14-20
15.92 s
[really-safe-money] added mutation Cmp at src/Money/Account.hs:233:14-20
15.92 s
[really-safe-money] added mutation ConstBool at src/Money/Account.hs:233:14-20
15.92 s
[really-safe-money] added mutation ConstBool at src/Money/Account.hs:233:14-20
15.92 s
[really-safe-money] added mutation Negate at src/Money/Account.hs:233:14-20
15.92 s
[really-safe-money] added mutation RemoveCase at src/Money/Account.hs:211:11-37
15.92 s
[really-safe-money] added mutation RemoveCase at src/Money/Account.hs:211:11-37
15.92 s
[really-safe-money] added mutation IntLit at src/Money/Account.hs:197:19-20
15.92 s
[really-safe-money] added mutation Cmp at src/Money/Account.hs:197:14-20
15.92 s
[really-safe-money] added mutation Cmp at src/Money/Account.hs:197:14-20
15.92 s
[really-safe-money] added mutation Cmp at src/Money/Account.hs:197:14-20
15.92 s
[really-safe-money] added mutation ConstBool at src/Money/Account.hs:197:14-20
15.92 s
[really-safe-money] added mutation ConstBool at src/Money/Account.hs:197:14-20
15.93 s
[really-safe-money] added mutation Negate at src/Money/Account.hs:197:14-20
15.93 s
[really-safe-money] added mutation RemoveCase at src/Money/Account.hs:171:11-37
15.93 s
[really-safe-money] added mutation RemoveCase at src/Money/Account.hs:171:11-37
15.93 s
[really-safe-money] added mutation RemoveCase at src/Money/Account.hs:155:11-37
15.93 s
[really-safe-money] added mutation RemoveCase at src/Money/Account.hs:155:11-37
15.93 s
[really-safe-money] added mutation Cmp at src/Money/Account.hs:123:10-23
15.93 s
[really-safe-money] added mutation Cmp at src/Money/Account.hs:123:10-23
15.93 s
[really-safe-money] added mutation Cmp at src/Money/Account.hs:123:10-23
15.93 s
[really-safe-money] added mutation ConstBool at src/Money/Account.hs:123:10-23
15.93 s
[really-safe-money] added mutation ConstBool at src/Money/Account.hs:123:10-23
15.93 s
[really-safe-money] added mutation Negate at src/Money/Account.hs:123:10-23
15.93 s
[really-safe-money] added mutation IntLit at src/Money/Account.hs:131:25-26
15.93 s
[really-safe-money] added mutation Cmp at src/Money/Account.hs:131:20-26
15.93 s
[really-safe-money] added mutation Cmp at src/Money/Account.hs:131:20-26
15.93 s
[really-safe-money] added mutation Cmp at src/Money/Account.hs:131:20-26
15.93 s
[really-safe-money] added mutation ConstBool at src/Money/Account.hs:131:20-26
15.93 s
[really-safe-money] added mutation ConstBool at src/Money/Account.hs:131:20-26
15.93 s
[really-safe-money] added mutation Negate at src/Money/Account.hs:131:20-26
15.93 s
[really-safe-money] added mutation Arith at src/Money/Account.hs:341:11-18
15.93 s
[really-safe-money] added mutation Arith at src/Money/Account.hs:341:11-18
15.93 s
[really-safe-money] added mutation Arith at src/Money/Account.hs:378:11-18
15.93 s
[really-safe-money] added mutation Arith at src/Money/Account.hs:378:11-18
15.93 s
[really-safe-money] added 87 mutations
15.93 s
[genvalidity-sydtest] Phase: buildPhase
15.93 s
[genvalidity-sydtest] Preprocessing library for genvalidity-sydtest-1.0.1.0...
15.93 s
[genvalidity-sydtest] Building library for genvalidity-sydtest-1.0.1.0...
15.97 s
[genvalidity-sydtest] [ 1 of 34] Compiling Paths_genvalidity_sydtest ( dist/build/autogen/Paths_genvalidity_sydtest.hs, dist/build/Paths_genvalidity_sydtest.o, dist/build/Paths_genvalidity_sydtest.dyn_o )
16.18 s
[genvalidity-sydtest] [ 2 of 34] Compiling Test.Syd.Validity.Functions.Idempotence ( src/Test/Syd/Validity/Functions/Idempotence.hs, dist/build/Test/Syd/Validity/Functions/Idempotence.o, dist/build/Test/Syd/Validity/Functions/Idempotence.dyn_o )
16.18 s
[genvalidity-sydtest] [ 3 of 34] Compiling Test.Syd.Validity.Operations.Associativity ( src/Test/Syd/Validity/Operations/Associativity.hs, dist/build/Test/Syd/Validity/Operations/Associativity.o, dist/build/Test/Syd/Validity/Operations/Associativity.dyn_o )
16.18 s
[genvalidity-sydtest] [ 4 of 34] Compiling Test.Syd.Validity.Operations.Commutativity ( src/Test/Syd/Validity/Operations/Commutativity.hs, dist/build/Test/Syd/Validity/Operations/Commutativity.o, dist/build/Test/Syd/Validity/Operations/Commutativity.dyn_o )
16.18 s
[genvalidity-sydtest] [ 5 of 34] Compiling Test.Syd.Validity.Operations.Identity ( src/Test/Syd/Validity/Operations/Identity.hs, dist/build/Test/Syd/Validity/Operations/Identity.o, dist/build/Test/Syd/Validity/Operations/Identity.dyn_o )
16.23 s
[genvalidity-sydtest] [ 6 of 34] Compiling Test.Syd.Validity.Operations ( src/Test/Syd/Validity/Operations.hs, dist/build/Test/Syd/Validity/Operations.o, dist/build/Test/Syd/Validity/Operations.dyn_o )
16.26 s
[genvalidity-sydtest] [ 7 of 34] Compiling Test.Syd.Validity.Property.Utils ( src/Test/Syd/Validity/Property/Utils.hs, dist/build/Test/Syd/Validity/Property/Utils.o, dist/build/Test/Syd/Validity/Property/Utils.dyn_o )
16.26 s
[genvalidity-sydtest] [ 8 of 34] Compiling Test.Syd.Validity.GenValidity.Property ( src/Test/Syd/Validity/GenValidity/Property.hs, dist/build/Test/Syd/Validity/GenValidity/Property.o, dist/build/Test/Syd/Validity/GenValidity/Property.dyn_o )
16.26 s
[genvalidity-sydtest] [ 9 of 34] Compiling Test.Syd.Validity.Functions.Validity ( src/Test/Syd/Validity/Functions/Validity.hs, dist/build/Test/Syd/Validity/Functions/Validity.o, dist/build/Test/Syd/Validity/Functions/Validity.dyn_o )
16.28 s
[genvalidity-sydtest] [10 of 34] Compiling Test.Syd.Validity.Relations.Antireflexivity ( src/Test/Syd/Validity/Relations/Antireflexivity.hs, dist/build/Test/Syd/Validity/Relations/Antireflexivity.o, dist/build/Test/Syd/Validity/Relations/Antireflexivity.dyn_o )
16.28 s
[genvalidity-sydtest] [11 of 34] Compiling Test.Syd.Validity.Relations.Antisymmetry ( src/Test/Syd/Validity/Relations/Antisymmetry.hs, dist/build/Test/Syd/Validity/Relations/Antisymmetry.o, dist/build/Test/Syd/Validity/Relations/Antisymmetry.dyn_o )
16.28 s
[genvalidity-sydtest] [12 of 34] Compiling Test.Syd.Validity.Relations.Reflexivity ( src/Test/Syd/Validity/Relations/Reflexivity.hs, dist/build/Test/Syd/Validity/Relations/Reflexivity.o, dist/build/Test/Syd/Validity/Relations/Reflexivity.dyn_o )
16.28 s
[genvalidity-sydtest] [13 of 34] Compiling Test.Syd.Validity.Relations.Symmetry ( src/Test/Syd/Validity/Relations/Symmetry.hs, dist/build/Test/Syd/Validity/Relations/Symmetry.o, dist/build/Test/Syd/Validity/Relations/Symmetry.dyn_o )
16.28 s
[genvalidity-sydtest] [14 of 34] Compiling Test.Syd.Validity.Relations.Transitivity ( src/Test/Syd/Validity/Relations/Transitivity.hs, dist/build/Test/Syd/Validity/Relations/Transitivity.o, dist/build/Test/Syd/Validity/Relations/Transitivity.dyn_o )
16.28 s
[genvalidity-sydtest] [15 of 34] Compiling Test.Syd.Validity.Relations ( src/Test/Syd/Validity/Relations.hs, dist/build/Test/Syd/Validity/Relations.o, dist/build/Test/Syd/Validity/Relations.dyn_o )
16.28 s
[genvalidity-sydtest] [16 of 34] Compiling Test.Syd.Validity.Shrinking.Property ( src/Test/Syd/Validity/Shrinking/Property.hs, dist/build/Test/Syd/Validity/Shrinking/Property.o, dist/build/Test/Syd/Validity/Shrinking/Property.dyn_o )
16.28 s
[genvalidity-sydtest] [17 of 34] Compiling Test.Syd.Validity.Types ( src/Test/Syd/Validity/Types.hs, dist/build/Test/Syd/Validity/Types.o, dist/build/Test/Syd/Validity/Types.dyn_o )
16.28 s
[genvalidity-sydtest] [18 of 34] Compiling Test.Syd.Validity.Functions.Inverse ( src/Test/Syd/Validity/Functions/Inverse.hs, dist/build/Test/Syd/Validity/Functions/Inverse.o, dist/build/Test/Syd/Validity/Functions/Inverse.dyn_o )
16.28 s
[genvalidity-sydtest] [19 of 34] Compiling Test.Syd.Validity.Functions.Equivalence ( src/Test/Syd/Validity/Functions/Equivalence.hs, dist/build/Test/Syd/Validity/Functions/Equivalence.o, dist/build/Test/Syd/Validity/Functions/Equivalence.dyn_o )
16.47 s
[genvalidity-sydtest] [20 of 34] Compiling Test.Syd.Validity.Functions.CanFail ( src/Test/Syd/Validity/Functions/CanFail.hs, dist/build/Test/Syd/Validity/Functions/CanFail.o, dist/build/Test/Syd/Validity/Functions/CanFail.dyn_o )
16.47 s
[genvalidity-sydtest] [21 of 34] Compiling Test.Syd.Validity.Functions ( src/Test/Syd/Validity/Functions.hs, dist/build/Test/Syd/Validity/Functions.o, dist/build/Test/Syd/Validity/Functions.dyn_o )
16.49 s
[genvalidity-sydtest] [22 of 34] Compiling Test.Syd.Validity.Property ( src/Test/Syd/Validity/Property.hs, dist/build/Test/Syd/Validity/Property.o, dist/build/Test/Syd/Validity/Property.dyn_o )
16.52 s
[genvalidity-sydtest] [23 of 34] Compiling Test.Syd.Validity.Utils ( src/Test/Syd/Validity/Utils.hs, dist/build/Test/Syd/Validity/Utils.o, dist/build/Test/Syd/Validity/Utils.dyn_o )
16.52 s
[genvalidity-sydtest] [24 of 34] Compiling Test.Syd.Validity.Shrinking ( src/Test/Syd/Validity/Shrinking.hs, dist/build/Test/Syd/Validity/Shrinking.o, dist/build/Test/Syd/Validity/Shrinking.dyn_o )
16.52 s
[genvalidity-sydtest] [25 of 34] Compiling Test.Syd.Validity.Show ( src/Test/Syd/Validity/Show.hs, dist/build/Test/Syd/Validity/Show.o, dist/build/Test/Syd/Validity/Show.dyn_o )
16.52 s
[genvalidity-sydtest] [26 of 34] Compiling Test.Syd.Validity.Ord ( src/Test/Syd/Validity/Ord.hs, dist/build/Test/Syd/Validity/Ord.o, dist/build/Test/Syd/Validity/Ord.dyn_o )
16.81 s
[really-safe-money] [10 of 12] Compiling Money.MultiAccount ( src/Money/MultiAccount.hs, dist/build/Money/MultiAccount.o, dist/build/Money/MultiAccount.dyn_o )
16.83 s
[really-safe-money] mutation: instrumenting Money.MultiAccount
16.83 s
[really-safe-money] added mutation RemoveCase at src/Money/MultiAccount.hs:174:25-38
16.83 s
[really-safe-money] added mutation RemoveCase at src/Money/MultiAccount.hs:174:25-38
16.83 s
[really-safe-money] added mutation RemoveCase at src/Money/MultiAccount.hs:174:25-38
16.83 s
[really-safe-money] added mutation RemoveCase at src/Money/MultiAccount.hs:180:25-32
16.83 s
[really-safe-money] added mutation RemoveCase at src/Money/MultiAccount.hs:180:25-32
16.83 s
[really-safe-money] added mutation RemoveCase at src/Money/MultiAccount.hs:180:25-32
16.83 s
[really-safe-money] added mutation Arith at src/Money/MultiAccount.hs:192:19-51
16.83 s
[really-safe-money] added mutation Arith at src/Money/MultiAccount.hs:192:19-51
16.83 s
[really-safe-money] added mutation MaybeOp at src/Money/MultiAccount.hs:126:45-51
16.83 s
[really-safe-money] added mutation MaybeOp at src/Money/MultiAccount.hs:127:45-51
16.83 s
[really-safe-money] added mutation ConstBool at src/Money/MultiAccount.hs:134:12-29
16.83 s
[really-safe-money] added mutation ConstBool at src/Money/MultiAccount.hs:134:12-29
16.83 s
[really-safe-money] added mutation Negate at src/Money/MultiAccount.hs:134:12-29
16.83 s
[really-safe-money] added mutation RemoveCase at src/Money/MultiAccount.hs:129:23-37
16.83 s
[really-safe-money] added mutation RemoveCase at src/Money/MultiAccount.hs:129:23-37
16.83 s
[really-safe-money] added mutation MaybeOp at src/Money/MultiAccount.hs:112:40-46
16.83 s
[really-safe-money] added mutation MaybeOp at src/Money/MultiAccount.hs:113:40-46
16.83 s
[really-safe-money] added mutation ConstBool at src/Money/MultiAccount.hs:120:12-29
16.83 s
[really-safe-money] added mutation ConstBool at src/Money/MultiAccount.hs:120:12-29
16.83 s
[really-safe-money] added mutation Negate at src/Money/MultiAccount.hs:120:12-29
16.83 s
[really-safe-money] added mutation RemoveCase at src/Money/MultiAccount.hs:115:23-37
16.83 s
[really-safe-money] added mutation RemoveCase at src/Money/MultiAccount.hs:115:23-37
16.83 s
[really-safe-money] added mutation ConstBool at src/Money/MultiAccount.hs:78:6-28
16.83 s
[really-safe-money] added mutation ConstBool at src/Money/MultiAccount.hs:78:6-28
16.83 s
[really-safe-money] added mutation Negate at src/Money/MultiAccount.hs:78:6-28
16.83 s
[really-safe-money] added mutation ConstBool at src/Money/MultiAccount.hs:69:13-30
16.83 s
[really-safe-money] added mutation ConstBool at src/Money/MultiAccount.hs:69:13-30
16.83 s
[really-safe-money] added mutation Negate at src/Money/MultiAccount.hs:69:13-30
16.83 s
[really-safe-money] added mutation ListLit at src/Money/MultiAccount.hs:66:7-8
16.83 s
[really-safe-money] added mutation ListLit at src/Money/MultiAccount.hs:66:7-8
16.83 s
[really-safe-money] added 30 mutations
16.95 s
[genvalidity-sydtest] [27 of 34] Compiling Test.Syd.Validity.Monoid ( src/Test/Syd/Validity/Monoid.hs, dist/build/Test/Syd/Validity/Monoid.o, dist/build/Test/Syd/Validity/Monoid.dyn_o )
16.96 s
[genvalidity-sydtest] [28 of 34] Compiling Test.Syd.Validity.Monad ( src/Test/Syd/Validity/Monad.hs, dist/build/Test/Syd/Validity/Monad.o, dist/build/Test/Syd/Validity/Monad.dyn_o )
16.96 s
[genvalidity-sydtest] [29 of 34] Compiling Test.Syd.Validity.GenValidity ( src/Test/Syd/Validity/GenValidity.hs, dist/build/Test/Syd/Validity/GenValidity.o, dist/build/Test/Syd/Validity/GenValidity.dyn_o )
16.96 s
[genvalidity-sydtest] [30 of 34] Compiling Test.Syd.Validity.Functor ( src/Test/Syd/Validity/Functor.hs, dist/build/Test/Syd/Validity/Functor.o, dist/build/Test/Syd/Validity/Functor.dyn_o )
16.96 s
[genvalidity-sydtest] [31 of 34] Compiling Test.Syd.Validity.Eq ( src/Test/Syd/Validity/Eq.hs, dist/build/Test/Syd/Validity/Eq.o, dist/build/Test/Syd/Validity/Eq.dyn_o )
16.96 s
[genvalidity-sydtest] [32 of 34] Compiling Test.Syd.Validity.Arbitrary ( src/Test/Syd/Validity/Arbitrary.hs, dist/build/Test/Syd/Validity/Arbitrary.o, dist/build/Test/Syd/Validity/Arbitrary.dyn_o )
16.96 s
[genvalidity-sydtest] [33 of 34] Compiling Test.Syd.Validity.Applicative ( src/Test/Syd/Validity/Applicative.hs, dist/build/Test/Syd/Validity/Applicative.o, dist/build/Test/Syd/Validity/Applicative.dyn_o )
16.96 s
[genvalidity-sydtest] [34 of 34] Compiling Test.Syd.Validity ( src/Test/Syd/Validity.hs, dist/build/Test/Syd/Validity.o, dist/build/Test/Syd/Validity.dyn_o )
17.29 s
[genvalidity-sydtest] [ 1 of 34] Compiling Paths_genvalidity_sydtest ( dist/build/autogen/Paths_genvalidity_sydtest.hs, dist/build/Paths_genvalidity_sydtest.p_o )
17.35 s
[really-safe-money] [11 of 12] Compiling Money.AccountOf ( src/Money/AccountOf.hs, dist/build/Money/AccountOf.o, dist/build/Money/AccountOf.dyn_o )
17.37 s
[really-safe-money] mutation: instrumenting Money.AccountOf
17.37 s
[really-safe-money] added mutation RemoveCase at src/Money/AccountOf.hs:180:30-115
17.37 s
[really-safe-money] added mutation RemoveCase at src/Money/AccountOf.hs:180:30-115
17.37 s
[really-safe-money] added mutation RemoveCase at src/Money/AccountOf.hs:180:30-115
17.37 s
[really-safe-money] added mutation RemoveCase at src/Money/AccountOf.hs:180:30-115
17.37 s
[really-safe-money] added 4 mutations
17.60 s
[genvalidity-sydtest] [ 2 of 34] Compiling Test.Syd.Validity.Functions.Idempotence ( src/Test/Syd/Validity/Functions/Idempotence.hs, dist/build/Test/Syd/Validity/Functions/Idempotence.p_o )
17.60 s
[genvalidity-sydtest] [ 3 of 34] Compiling Test.Syd.Validity.Operations.Associativity ( src/Test/Syd/Validity/Operations/Associativity.hs, dist/build/Test/Syd/Validity/Operations/Associativity.p_o )
17.60 s
[genvalidity-sydtest] [ 4 of 34] Compiling Test.Syd.Validity.Operations.Commutativity ( src/Test/Syd/Validity/Operations/Commutativity.hs, dist/build/Test/Syd/Validity/Operations/Commutativity.p_o )
17.60 s
[genvalidity-sydtest] [ 5 of 34] Compiling Test.Syd.Validity.Operations.Identity ( src/Test/Syd/Validity/Operations/Identity.hs, dist/build/Test/Syd/Validity/Operations/Identity.p_o )
17.60 s
[genvalidity-sydtest] [ 6 of 34] Compiling Test.Syd.Validity.Operations ( src/Test/Syd/Validity/Operations.hs, dist/build/Test/Syd/Validity/Operations.p_o )
17.60 s
[really-safe-money] [12 of 12] Compiling Paths_really_safe_money ( dist/build/autogen/Paths_really_safe_money.hs, dist/build/Paths_really_safe_money.o, dist/build/Paths_really_safe_money.dyn_o )
17.72 s
[genvalidity-sydtest] [ 7 of 34] Compiling Test.Syd.Validity.Property.Utils ( src/Test/Syd/Validity/Property/Utils.hs, dist/build/Test/Syd/Validity/Property/Utils.p_o )
17.72 s
[genvalidity-sydtest] [ 8 of 34] Compiling Test.Syd.Validity.GenValidity.Property ( src/Test/Syd/Validity/GenValidity/Property.hs, dist/build/Test/Syd/Validity/GenValidity/Property.p_o )
17.72 s
[genvalidity-sydtest] [ 9 of 34] Compiling Test.Syd.Validity.Functions.Validity ( src/Test/Syd/Validity/Functions/Validity.hs, dist/build/Test/Syd/Validity/Functions/Validity.p_o )
17.79 s
[genvalidity-sydtest] [10 of 34] Compiling Test.Syd.Validity.Relations.Antireflexivity ( src/Test/Syd/Validity/Relations/Antireflexivity.hs, dist/build/Test/Syd/Validity/Relations/Antireflexivity.p_o )
17.79 s
[genvalidity-sydtest] [11 of 34] Compiling Test.Syd.Validity.Relations.Antisymmetry ( src/Test/Syd/Validity/Relations/Antisymmetry.hs, dist/build/Test/Syd/Validity/Relations/Antisymmetry.p_o )
17.79 s
[genvalidity-sydtest] [12 of 34] Compiling Test.Syd.Validity.Relations.Reflexivity ( src/Test/Syd/Validity/Relations/Reflexivity.hs, dist/build/Test/Syd/Validity/Relations/Reflexivity.p_o )
17.79 s
[genvalidity-sydtest] [13 of 34] Compiling Test.Syd.Validity.Relations.Symmetry ( src/Test/Syd/Validity/Relations/Symmetry.hs, dist/build/Test/Syd/Validity/Relations/Symmetry.p_o )
17.79 s
[genvalidity-sydtest] [14 of 34] Compiling Test.Syd.Validity.Relations.Transitivity ( src/Test/Syd/Validity/Relations/Transitivity.hs, dist/build/Test/Syd/Validity/Relations/Transitivity.p_o )
17.79 s
[genvalidity-sydtest] [15 of 34] Compiling Test.Syd.Validity.Relations ( src/Test/Syd/Validity/Relations.hs, dist/build/Test/Syd/Validity/Relations.p_o )
17.88 s
[genvalidity-sydtest] [16 of 34] Compiling Test.Syd.Validity.Shrinking.Property ( src/Test/Syd/Validity/Shrinking/Property.hs, dist/build/Test/Syd/Validity/Shrinking/Property.p_o )
17.88 s
[genvalidity-sydtest] [17 of 34] Compiling Test.Syd.Validity.Types ( src/Test/Syd/Validity/Types.hs, dist/build/Test/Syd/Validity/Types.p_o )
17.88 s
[genvalidity-sydtest] [18 of 34] Compiling Test.Syd.Validity.Functions.Inverse ( src/Test/Syd/Validity/Functions/Inverse.hs, dist/build/Test/Syd/Validity/Functions/Inverse.p_o )
17.88 s
[genvalidity-sydtest] [19 of 34] Compiling Test.Syd.Validity.Functions.Equivalence ( src/Test/Syd/Validity/Functions/Equivalence.hs, dist/build/Test/Syd/Validity/Functions/Equivalence.p_o )
17.89 s
[genvalidity-sydtest] [20 of 34] Compiling Test.Syd.Validity.Functions.CanFail ( src/Test/Syd/Validity/Functions/CanFail.hs, dist/build/Test/Syd/Validity/Functions/CanFail.p_o )
17.89 s
[genvalidity-sydtest] [21 of 34] Compiling Test.Syd.Validity.Functions ( src/Test/Syd/Validity/Functions.hs, dist/build/Test/Syd/Validity/Functions.p_o )
17.95 s
[really-safe-money] [ 1 of 12] Compiling Numeric.DecimalLiteral ( src/Numeric/DecimalLiteral.hs, dist/build/Numeric/DecimalLiteral.p_o )
18.02 s
[genvalidity-sydtest] [22 of 34] Compiling Test.Syd.Validity.Property ( src/Test/Syd/Validity/Property.hs, dist/build/Test/Syd/Validity/Property.p_o )
18.15 s
[genvalidity-sydtest] [23 of 34] Compiling Test.Syd.Validity.Utils ( src/Test/Syd/Validity/Utils.hs, dist/build/Test/Syd/Validity/Utils.p_o )
18.15 s
[genvalidity-sydtest] [24 of 34] Compiling Test.Syd.Validity.Shrinking ( src/Test/Syd/Validity/Shrinking.hs, dist/build/Test/Syd/Validity/Shrinking.p_o )
18.15 s
[genvalidity-sydtest] [25 of 34] Compiling Test.Syd.Validity.Show ( src/Test/Syd/Validity/Show.hs, dist/build/Test/Syd/Validity/Show.p_o )
18.15 s
[genvalidity-sydtest] [26 of 34] Compiling Test.Syd.Validity.Ord ( src/Test/Syd/Validity/Ord.hs, dist/build/Test/Syd/Validity/Ord.p_o )
18.28 s
[really-safe-money] mutation: instrumenting Numeric.DecimalLiteral
18.28 s
[really-safe-money] added mutation BoolLit at src/Numeric/DecimalLiteral.hs:396:23-27
18.28 s
[really-safe-money] added mutation MaybeOp at src/Numeric/DecimalLiteral.hs:396:18-27
18.28 s
[really-safe-money] added mutation Cmp at src/Numeric/DecimalLiteral.hs:368:10-39
18.28 s
[really-safe-money] added mutation Cmp at src/Numeric/DecimalLiteral.hs:368:10-39
18.28 s
[really-safe-money] added mutation Cmp at src/Numeric/DecimalLiteral.hs:368:10-39
18.28 s
[really-safe-money] added mutation ConstBool at src/Numeric/DecimalLiteral.hs:368:10-39
18.28 s
[really-safe-money] added mutation ConstBool at src/Numeric/DecimalLiteral.hs:368:10-39
18.28 s
[really-safe-money] added mutation Negate at src/Numeric/DecimalLiteral.hs:368:10-39
18.28 s
[really-safe-money] added mutation Arith at src/Numeric/DecimalLiteral.hs:370:30-58
18.28 s
[really-safe-money] added mutation Arith at src/Numeric/DecimalLiteral.hs:370:30-58
18.29 s
[really-safe-money] added mutation IntLit at src/Numeric/DecimalLiteral.hs:375:80-82
18.29 s
[really-safe-money] added mutation IntLit at src/Numeric/DecimalLiteral.hs:375:80-82
18.29 s
[really-safe-money] added mutation Arith at src/Numeric/DecimalLiteral.hs:375:76-82
18.29 s
[really-safe-money] added mutation Arith at src/Numeric/DecimalLiteral.hs:375:76-82
18.29 s
[really-safe-money] added mutation IntLit at src/Numeric/DecimalLiteral.hs:337:21-22
18.29 s
[really-safe-money] added mutation Cmp at src/Numeric/DecimalLiteral.hs:337:16-22
18.29 s
[really-safe-money] added mutation Cmp at src/Numeric/DecimalLiteral.hs:337:16-22
18.29 s
[really-safe-money] added mutation Cmp at src/Numeric/DecimalLiteral.hs:337:16-22
18.29 s
[really-safe-money] added mutation ConstBool at src/Numeric/DecimalLiteral.hs:337:16-22
18.29 s
[really-safe-money] added mutation ConstBool at src/Numeric/DecimalLiteral.hs:337:16-22
18.29 s
[really-safe-money] added mutation Negate at src/Numeric/DecimalLiteral.hs:337:16-22
18.29 s
[really-safe-money] added mutation BoolLit at src/Numeric/DecimalLiteral.hs:337:46-51
18.29 s
[really-safe-money] added mutation MaybeOp at src/Numeric/DecimalLiteral.hs:337:41-51
18.29 s
[really-safe-money] added mutation Cmp at src/Numeric/DecimalLiteral.hs:332:11-46
18.29 s
[really-safe-money] added mutation Cmp at src/Numeric/DecimalLiteral.hs:332:11-46
18.29 s
[really-safe-money] added mutation Cmp at src/Numeric/DecimalLiteral.hs:332:11-46
18.29 s
[really-safe-money] added mutation ConstBool at src/Numeric/DecimalLiteral.hs:332:11-46
18.29 s
[really-safe-money] added mutation ConstBool at src/Numeric/DecimalLiteral.hs:332:11-46
18.29 s
[really-safe-money] added mutation Negate at src/Numeric/DecimalLiteral.hs:332:11-46
18.29 s
[really-safe-money] added mutation Cmp at src/Numeric/DecimalLiteral.hs:333:11-46
18.29 s
[really-safe-money] added mutation Cmp at src/Numeric/DecimalLiteral.hs:333:11-46
18.29 s
[really-safe-money] added mutation Cmp at src/Numeric/DecimalLiteral.hs:333:11-46
18.29 s
[really-safe-money] added mutation ConstBool at src/Numeric/DecimalLiteral.hs:333:11-46
18.29 s
[really-safe-money] added mutation ConstBool at src/Numeric/DecimalLiteral.hs:333:11-46
18.29 s
[really-safe-money] added mutation Negate at src/Numeric/DecimalLiteral.hs:333:11-46
18.29 s
[really-safe-money] added mutation RemoveAction at src/Numeric/DecimalLiteral.hs:333:3-46
18.29 s
[really-safe-money] added mutation RemoveAction at src/Numeric/DecimalLiteral.hs:332:3-46
18.29 s
[really-safe-money] added mutation IntLit at src/Numeric/DecimalLiteral.hs:315:67-68
18.29 s
[really-safe-money] added mutation MaybeOp at src/Numeric/DecimalLiteral.hs:310:27-33
18.29 s
[really-safe-money] added mutation IntLit at src/Numeric/DecimalLiteral.hs:304:42-43
18.29 s
[really-safe-money] added mutation Cmp at src/Numeric/DecimalLiteral.hs:299:11-47
18.29 s
[really-safe-money] added mutation Cmp at src/Numeric/DecimalLiteral.hs:299:11-47
18.29 s
[really-safe-money] added mutation Cmp at src/Numeric/DecimalLiteral.hs:299:11-47
18.29 s
[really-safe-money] added mutation ConstBool at src/Numeric/DecimalLiteral.hs:299:11-47
18.29 s
[really-safe-money] added mutation ConstBool at src/Numeric/DecimalLiteral.hs:299:11-47
18.29 s
[really-safe-money] added mutation Negate at src/Numeric/DecimalLiteral.hs:299:11-47
18.29 s
[really-safe-money] added mutation RemoveAction at src/Numeric/DecimalLiteral.hs:299:3-47
18.29 s
[really-safe-money] added mutation IntLit at src/Numeric/DecimalLiteral.hs:289:33-35
18.29 s
[really-safe-money] added mutation IntLit at src/Numeric/DecimalLiteral.hs:289:33-35
18.29 s
[really-safe-money] added mutation IntLit at src/Numeric/DecimalLiteral.hs:289:33-35
18.29 s
[really-safe-money] added mutation RemoveCase at src/Numeric/DecimalLiteral.hs:287:38-40
18.29 s
[really-safe-money] added mutation RemoveCase at src/Numeric/DecimalLiteral.hs:287:38-40
18.29 s
[really-safe-money] added mutation IntLit at src/Numeric/DecimalLiteral.hs:236:41-44
18.29 s
[really-safe-money] added mutation IntLit at src/Numeric/DecimalLiteral.hs:236:41-44
18.29 s
[really-safe-money] added mutation IntLit at src/Numeric/DecimalLiteral.hs:236:41-44
18.29 s
[really-safe-money] added mutation IntLit at src/Numeric/DecimalLiteral.hs:244:14-15
18.29 s
[really-safe-money] added mutation ConstBool at src/Numeric/DecimalLiteral.hs:244:9-15
18.29 s
[really-safe-money] added mutation Negate at src/Numeric/DecimalLiteral.hs:244:9-15
18.29 s
[really-safe-money] added mutation MaybeOp at src/Numeric/DecimalLiteral.hs:261:11-22
18.29 s
[really-safe-money] added mutation ConstBool at src/Numeric/DecimalLiteral.hs:264:13-26
18.29 s
[really-safe-money] added mutation Negate at src/Numeric/DecimalLiteral.hs:264:13-26
18.29 s
[really-safe-money] added mutation Cmp at src/Numeric/DecimalLiteral.hs:266:13-19
18.29 s
[really-safe-money] added mutation Cmp at src/Numeric/DecimalLiteral.hs:266:13-19
18.29 s
[really-safe-money] added mutation Cmp at src/Numeric/DecimalLiteral.hs:266:13-19
18.29 s
[really-safe-money] added mutation ConstBool at src/Numeric/DecimalLiteral.hs:266:13-19
18.29 s
[really-safe-money] added mutation Negate at src/Numeric/DecimalLiteral.hs:266:13-19
18.29 s
[really-safe-money] added mutation Cmp at src/Numeric/DecimalLiteral.hs:267:13-18
18.29 s
[really-safe-money] added mutation Cmp at src/Numeric/DecimalLiteral.hs:267:13-18
18.29 s
[really-safe-money] added mutation Cmp at src/Numeric/DecimalLiteral.hs:267:13-18
18.29 s
[really-safe-money] added mutation ConstBool at src/Numeric/DecimalLiteral.hs:267:13-18
18.29 s
[really-safe-money] added mutation Negate at src/Numeric/DecimalLiteral.hs:267:13-18
18.29 s
[really-safe-money] added mutation IntLit at src/Numeric/DecimalLiteral.hs:269:41-43
18.29 s
[really-safe-money] added mutation IntLit at src/Numeric/DecimalLiteral.hs:269:41-43
18.29 s
[really-safe-money] added mutation Arith at src/Numeric/DecimalLiteral.hs:269:37-43
18.29 s
[really-safe-money] added mutation Arith at src/Numeric/DecimalLiteral.hs:269:37-43
18.29 s
[really-safe-money] added mutation IntLit at src/Numeric/DecimalLiteral.hs:269:63-65
18.29 s
[really-safe-money] added mutation IntLit at src/Numeric/DecimalLiteral.hs:269:63-65
18.29 s
[really-safe-money] added mutation Arith at src/Numeric/DecimalLiteral.hs:269:59-65
18.29 s
[really-safe-money] added mutation Arith at src/Numeric/DecimalLiteral.hs:269:59-65
18.29 s
[really-safe-money] added mutation Arith at src/Numeric/DecimalLiteral.hs:272:37-42
18.29 s
[really-safe-money] added mutation Arith at src/Numeric/DecimalLiteral.hs:272:37-42
18.29 s
[really-safe-money] added mutation IntLit at src/Numeric/DecimalLiteral.hs:252:36-37
18.29 s
[really-safe-money] added mutation IntLit at src/Numeric/DecimalLiteral.hs:252:38-39
18.29 s
[really-safe-money] added mutation IntLit at src/Numeric/DecimalLiteral.hs:223:39-41
18.29 s
[really-safe-money] added mutation IntLit at src/Numeric/DecimalLiteral.hs:223:39-41
18.29 s
[really-safe-money] added mutation IntLit at src/Numeric/DecimalLiteral.hs:223:39-41
18.29 s
[really-safe-money] added mutation IntLit at src/Numeric/DecimalLiteral.hs:208:9-10
18.29 s
[really-safe-money] added mutation Cmp at src/Numeric/DecimalLiteral.hs:208:5-10
18.29 s
[really-safe-money] added mutation Cmp at src/Numeric/DecimalLiteral.hs:208:5-10
18.29 s
[really-safe-money] added mutation Cmp at src/Numeric/DecimalLiteral.hs:208:5-10
18.29 s
[really-safe-money] added mutation ConstBool at src/Numeric/DecimalLiteral.hs:208:5-10
18.29 s
[really-safe-money] added mutation Negate at src/Numeric/DecimalLiteral.hs:208:5-10
18.29 s
[really-safe-money] added mutation BoolLit at src/Numeric/DecimalLiteral.hs:208:62-67
18.29 s
[really-safe-money] added mutation MaybeOp at src/Numeric/DecimalLiteral.hs:208:57-67
18.29 s
[really-safe-money] added mutation ListLit at src/Numeric/DecimalLiteral.hs:186:15-25
18.29 s
[really-safe-money] added mutation ListLit at src/Numeric/DecimalLiteral.hs:186:15-25
18.29 s
[really-safe-money] added mutation IntLit at src/Numeric/DecimalLiteral.hs:145:28-30
18.29 s
[really-safe-money] added mutation IntLit at src/Numeric/DecimalLiteral.hs:145:28-30
18.29 s
[really-safe-money] added mutation IntLit at src/Numeric/DecimalLiteral.hs:145:28-30
18.29 s
[really-safe-money] added mutation Arith at src/Numeric/DecimalLiteral.hs:145:15-30
18.29 s
[really-safe-money] added mutation Arith at src/Numeric/DecimalLiteral.hs:145:15-30
18.29 s
[really-safe-money] added mutation ConstBool at src/Numeric/DecimalLiteral.hs:152:9-23
18.29 s
[really-safe-money] added mutation Negate at src/Numeric/DecimalLiteral.hs:152:9-23
18.29 s
[really-safe-money] added mutation IntLit at src/Numeric/DecimalLiteral.hs:154:36-38
18.29 s
[really-safe-money] added mutation IntLit at src/Numeric/DecimalLiteral.hs:154:36-38
18.29 s
[really-safe-money] added mutation IntLit at src/Numeric/DecimalLiteral.hs:154:36-38
18.29 s
[really-safe-money] added mutation Arith at src/Numeric/DecimalLiteral.hs:154:23-38
18.29 s
[really-safe-money] added mutation Arith at src/Numeric/DecimalLiteral.hs:154:23-38
18.29 s
[really-safe-money] added mutation IntLit at src/Numeric/DecimalLiteral.hs:139:27-29
18.29 s
[really-safe-money] added mutation IntLit at src/Numeric/DecimalLiteral.hs:139:27-29
18.29 s
[really-safe-money] added mutation Arith at src/Numeric/DecimalLiteral.hs:139:23-29
18.29 s
[really-safe-money] added mutation Arith at src/Numeric/DecimalLiteral.hs:139:23-29
18.29 s
[really-safe-money] added mutation Arith at src/Numeric/DecimalLiteral.hs:139:23-50
18.29 s
[really-safe-money] added mutation Arith at src/Numeric/DecimalLiteral.hs:139:23-50
18.29 s
[really-safe-money] added mutation IntLit at src/Numeric/DecimalLiteral.hs:136:39-41
18.29 s
[really-safe-money] added mutation IntLit at src/Numeric/DecimalLiteral.hs:136:39-41
18.29 s
[really-safe-money] added mutation Arith at src/Numeric/DecimalLiteral.hs:136:35-41
18.29 s
[really-safe-money] added mutation Arith at src/Numeric/DecimalLiteral.hs:136:35-41
18.29 s
[really-safe-money] added mutation Arith at src/Numeric/DecimalLiteral.hs:136:35-62
18.29 s
[really-safe-money] added mutation Arith at src/Numeric/DecimalLiteral.hs:136:35-62
18.29 s
[really-safe-money] added mutation MaybeOp at src/Numeric/DecimalLiteral.hs:136:29-71
18.29 s
[really-safe-money] added mutation ConstBool at src/Numeric/DecimalLiteral.hs:119:22-30
18.29 s
[really-safe-money] added mutation ConstBool at src/Numeric/DecimalLiteral.hs:119:22-30
18.29 s
[really-safe-money] added mutation Negate at src/Numeric/DecimalLiteral.hs:119:22-30
18.29 s
[really-safe-money] added mutation ConstBool at src/Numeric/DecimalLiteral.hs:119:34-42
18.29 s
[really-safe-money] added mutation ConstBool at src/Numeric/DecimalLiteral.hs:119:34-42
18.29 s
[really-safe-money] added mutation Negate at src/Numeric/DecimalLiteral.hs:119:34-42
18.29 s
[really-safe-money] added mutation ConstBool at src/Numeric/DecimalLiteral.hs:119:22-42
18.29 s
[really-safe-money] added mutation ConstBool at src/Numeric/DecimalLiteral.hs:119:22-42
18.29 s
[really-safe-money] added mutation LogicOp at src/Numeric/DecimalLiteral.hs:119:22-42
18.29 s
[really-safe-money] added mutation Negate at src/Numeric/DecimalLiteral.hs:119:22-42
18.29 s
[really-safe-money] added mutation ConstBool at src/Numeric/DecimalLiteral.hs:123:19-34
18.29 s
[really-safe-money] added mutation ConstBool at src/Numeric/DecimalLiteral.hs:123:19-34
18.29 s
[really-safe-money] added mutation Negate at src/Numeric/DecimalLiteral.hs:123:19-34
18.29 s
[really-safe-money] added mutation IntLit at src/Numeric/DecimalLiteral.hs:125:29-30
18.29 s
[really-safe-money] added mutation IntLit at src/Numeric/DecimalLiteral.hs:127:44-45
18.29 s
[really-safe-money] added mutation IntLit at src/Numeric/DecimalLiteral.hs:130:48-49
18.29 s
[really-safe-money] added mutation RemoveCase at src/Numeric/DecimalLiteral.hs:112:17-21
18.29 s
[really-safe-money] added mutation RemoveCase at src/Numeric/DecimalLiteral.hs:112:17-21
18.29 s
[really-safe-money] added mutation RemoveCase at src/Numeric/DecimalLiteral.hs:86:18-18
18.29 s
[really-safe-money] added mutation RemoveCase at src/Numeric/DecimalLiteral.hs:86:18-18
18.29 s
[really-safe-money] added 141 mutations
18.50 s
[genvalidity-sydtest] [27 of 34] Compiling Test.Syd.Validity.Monoid ( src/Test/Syd/Validity/Monoid.hs, dist/build/Test/Syd/Validity/Monoid.p_o )
18.50 s
[genvalidity-sydtest] [28 of 34] Compiling Test.Syd.Validity.Monad ( src/Test/Syd/Validity/Monad.hs, dist/build/Test/Syd/Validity/Monad.p_o )
18.58 s
[genvalidity-sydtest] [29 of 34] Compiling Test.Syd.Validity.GenValidity ( src/Test/Syd/Validity/GenValidity.hs, dist/build/Test/Syd/Validity/GenValidity.p_o )
18.58 s
[genvalidity-sydtest] [30 of 34] Compiling Test.Syd.Validity.Functor ( src/Test/Syd/Validity/Functor.hs, dist/build/Test/Syd/Validity/Functor.p_o )
18.58 s
[genvalidity-sydtest] [31 of 34] Compiling Test.Syd.Validity.Eq ( src/Test/Syd/Validity/Eq.hs, dist/build/Test/Syd/Validity/Eq.p_o )
18.58 s
[genvalidity-sydtest] [32 of 34] Compiling Test.Syd.Validity.Arbitrary ( src/Test/Syd/Validity/Arbitrary.hs, dist/build/Test/Syd/Validity/Arbitrary.p_o )
18.58 s
[genvalidity-sydtest] [33 of 34] Compiling Test.Syd.Validity.Applicative ( src/Test/Syd/Validity/Applicative.hs, dist/build/Test/Syd/Validity/Applicative.p_o )
18.58 s
[genvalidity-sydtest] [34 of 34] Compiling Test.Syd.Validity ( src/Test/Syd/Validity.hs, dist/build/Test/Syd/Validity.p_o )
19.94 s
[really-safe-money] [ 2 of 12] Compiling Money.QuantisationFactor ( src/Money/QuantisationFactor.hs, dist/build/Money/QuantisationFactor.p_o )
19.95 s
[really-safe-money] mutation: instrumenting Money.QuantisationFactor
19.95 s
[really-safe-money] added mutation IntLit at src/Money/QuantisationFactor.hs:87:27-28
19.95 s
[really-safe-money] added mutation ConstBool at src/Money/QuantisationFactor.hs:87:12-28
19.95 s
[really-safe-money] added mutation ConstBool at src/Money/QuantisationFactor.hs:87:12-28
19.95 s
[really-safe-money] added mutation Negate at src/Money/QuantisationFactor.hs:87:12-28
19.95 s
[really-safe-money] added mutation IntLit at src/Money/QuantisationFactor.hs:92:13-14
19.95 s
[really-safe-money] added mutation IntLit at src/Money/QuantisationFactor.hs:92:13-14
19.95 s
[really-safe-money] added mutation IntLit at src/Money/QuantisationFactor.hs:93:16-17
19.95 s
[really-safe-money] added mutation Cmp at src/Money/QuantisationFactor.hs:93:12-17
19.95 s
[really-safe-money] added mutation Cmp at src/Money/QuantisationFactor.hs:93:12-17
19.95 s
[really-safe-money] added mutation Cmp at src/Money/QuantisationFactor.hs:93:12-17
19.95 s
[really-safe-money] added mutation ConstBool at src/Money/QuantisationFactor.hs:93:12-17
19.95 s
[really-safe-money] added mutation ConstBool at src/Money/QuantisationFactor.hs:93:12-17
19.95 s
[really-safe-money] added mutation Negate at src/Money/QuantisationFactor.hs:93:12-17
19.95 s
[really-safe-money] added mutation MaybeOp at src/Money/QuantisationFactor.hs:95:16-22
19.95 s
[really-safe-money] added mutation IntLit at src/Money/QuantisationFactor.hs:98:27-28
19.95 s
[really-safe-money] added mutation IntLit at src/Money/QuantisationFactor.hs:98:27-28
19.95 s
[really-safe-money] added mutation ConstBool at src/Money/QuantisationFactor.hs:98:8-28
19.95 s
[really-safe-money] added mutation ConstBool at src/Money/QuantisationFactor.hs:98:8-28
19.95 s
[really-safe-money] added mutation Negate at src/Money/QuantisationFactor.hs:98:8-28
19.95 s
[really-safe-money] added mutation MaybeOp at src/Money/QuantisationFactor.hs:99:12-32
19.95 s
[really-safe-money] added mutation Cmp at src/Money/QuantisationFactor.hs:102:6-46
19.95 s
[really-safe-money] added mutation Cmp at src/Money/QuantisationFactor.hs:102:6-46
19.95 s
[really-safe-money] added mutation Cmp at src/Money/QuantisationFactor.hs:102:6-46
19.95 s
[really-safe-money] added mutation ConstBool at src/Money/QuantisationFactor.hs:102:6-46
19.95 s
[really-safe-money] added mutation ConstBool at src/Money/QuantisationFactor.hs:102:6-46
19.95 s
[really-safe-money] added mutation Negate at src/Money/QuantisationFactor.hs:102:6-46
19.95 s
[really-safe-money] added mutation MaybeOp at src/Money/QuantisationFactor.hs:103:10-54
19.95 s
[really-safe-money] added mutation IntLit at src/Money/QuantisationFactor.hs:67:67-68
19.95 s
[really-safe-money] added mutation IntLit at src/Money/QuantisationFactor.hs:67:67-68
19.95 s
[really-safe-money] added mutation IntLit at src/Money/QuantisationFactor.hs:40:62-63
19.95 s
[really-safe-money] added mutation ConstBool at src/Money/QuantisationFactor.hs:40:57-63
19.95 s
[really-safe-money] added mutation ConstBool at src/Money/QuantisationFactor.hs:40:57-63
19.95 s
[really-safe-money] added mutation Negate at src/Money/QuantisationFactor.hs:40:57-63
19.95 s
[really-safe-money] added mutation ListLit at src/Money/QuantisationFactor.hs:39:7-8
19.95 s
[really-safe-money] added mutation ListLit at src/Money/QuantisationFactor.hs:39:7-8
19.95 s
[really-safe-money] added 35 mutations
20.39 s
[really-safe-money] [ 3 of 12] Compiling Money.Currency ( src/Money/Currency.hs, dist/build/Money/Currency.p_o )
20.40 s
[really-safe-money] mutation: instrumenting Money.Currency
20.40 s
[really-safe-money] added 0 mutations
20.78 s
[really-safe-money] [ 4 of 12] Compiling Money.ConversionRate ( src/Money/ConversionRate.hs, dist/build/Money/ConversionRate.p_o )
20.89 s
[really-safe-money] mutation: instrumenting Money.ConversionRate
20.89 s
[really-safe-money] added mutation Arith at src/Money/ConversionRate.hs:132:3-24
20.89 s
[really-safe-money] added mutation Arith at src/Money/ConversionRate.hs:132:3-24
20.89 s
[really-safe-money] added mutation Arith at src/Money/ConversionRate.hs:127:70-79
20.89 s
[really-safe-money] added mutation Arith at src/Money/ConversionRate.hs:127:70-79
20.89 s
[really-safe-money] added mutation IntLit at src/Money/ConversionRate.hs:116:45-46
20.89 s
[really-safe-money] added mutation IntLit at src/Money/ConversionRate.hs:116:45-46
20.89 s
[really-safe-money] added mutation IntLit at src/Money/ConversionRate.hs:109:27-28
20.89 s
[really-safe-money] added mutation IntLit at src/Money/ConversionRate.hs:109:27-28
20.89 s
[really-safe-money] added mutation IntLit at src/Money/ConversionRate.hs:72:25-26
20.89 s
[really-safe-money] added mutation Cmp at src/Money/ConversionRate.hs:72:21-26
20.89 s
[really-safe-money] added mutation Cmp at src/Money/ConversionRate.hs:72:21-26
20.89 s
[really-safe-money] added mutation Cmp at src/Money/ConversionRate.hs:72:21-26
20.89 s
[really-safe-money] added mutation ConstBool at src/Money/ConversionRate.hs:72:21-26
20.89 s
[really-safe-money] added mutation ConstBool at src/Money/ConversionRate.hs:72:21-26
20.89 s
[really-safe-money] added mutation Negate at src/Money/ConversionRate.hs:72:21-26
20.89 s
[really-safe-money] added mutation IntLit at src/Money/ConversionRate.hs:38:56-57
20.89 s
[really-safe-money] added mutation ConstBool at src/Money/ConversionRate.hs:38:41-57
20.89 s
[really-safe-money] added mutation ConstBool at src/Money/ConversionRate.hs:38:41-57
20.89 s
[really-safe-money] added mutation Negate at src/Money/ConversionRate.hs:38:41-57
20.89 s
[really-safe-money] added mutation ListLit at src/Money/ConversionRate.hs:37:7-8
20.89 s
[really-safe-money] added mutation ListLit at src/Money/ConversionRate.hs:37:7-8
20.89 s
[really-safe-money] added 21 mutations
21.08 s
[really-safe-money] [ 5 of 12] Compiling Money.ConversionRateOf ( src/Money/ConversionRateOf.hs, dist/build/Money/ConversionRateOf.p_o )
21.09 s
[really-safe-money] mutation: instrumenting Money.ConversionRateOf
21.09 s
[really-safe-money] added 0 mutations
21.15 s
[genvalidity-sydtest] Preprocessing test suite 'genvalidity-sydtest-test' for genvalidity-sydtest-1.0.1.0...
21.16 s
[genvalidity-sydtest] Building test suite 'genvalidity-sydtest-test' for genvalidity-sydtest-1.0.1.0...
21.25 s
[really-safe-money] [ 6 of 12] Compiling Money.Amount ( src/Money/Amount.hs, dist/build/Money/Amount.p_o )
21.29 s
[genvalidity-sydtest] [ 1 of 15] Compiling Paths_genvalidity_sydtest ( dist/build/genvalidity-sydtest-test/autogen/Paths_genvalidity_sydtest.hs, dist/build/genvalidity-sydtest-test/genvalidity-sydtest-test-tmp/Paths_genvalidity_sydtest.o )
21.33 s
[really-safe-money] mutation: instrumenting Money.Amount
21.33 s
[really-safe-money] added mutation IntLit at src/Money/Amount.hs:801:36-38
21.33 s
[really-safe-money] added mutation IntLit at src/Money/Amount.hs:801:36-38
21.33 s
[really-safe-money] added mutation IntLit at src/Money/Amount.hs:801:36-38
21.33 s
[really-safe-money] added mutation Arith at src/Money/Amount.hs:720:6-40
21.33 s
[really-safe-money] added mutation Arith at src/Money/Amount.hs:720:6-40
21.33 s
[really-safe-money] added mutation Arith at src/Money/Amount.hs:721:10-44
21.33 s
[really-safe-money] added mutation Arith at src/Money/Amount.hs:721:10-44
21.33 s
[really-safe-money] added mutation IntLit at src/Money/Amount.hs:569:18-19
21.33 s
[really-safe-money] added mutation ConstBool at src/Money/Amount.hs:569:10-19
21.33 s
[really-safe-money] added mutation ConstBool at src/Money/Amount.hs:569:10-19
21.33 s
[really-safe-money] added mutation Negate at src/Money/Amount.hs:569:10-19
21.33 s
[really-safe-money] added mutation Arith at src/Money/Amount.hs:577:39-63
21.33 s
[really-safe-money] added mutation Arith at src/Money/Amount.hs:577:39-63
21.33 s
[really-safe-money] added mutation Arith at src/Money/Amount.hs:543:11-88
21.33 s
[really-safe-money] added mutation Arith at src/Money/Amount.hs:543:11-88
21.33 s
[really-safe-money] added mutation Cmp at src/Money/Amount.hs:544:10-23
21.33 s
[really-safe-money] added mutation Cmp at src/Money/Amount.hs:544:10-23
21.33 s
[really-safe-money] added mutation Cmp at src/Money/Amount.hs:544:10-23
21.33 s
[really-safe-money] added mutation ConstBool at src/Money/Amount.hs:544:10-23
21.33 s
[really-safe-money] added mutation ConstBool at src/Money/Amount.hs:544:10-23
21.33 s
[really-safe-money] added mutation Negate at src/Money/Amount.hs:544:10-23
21.33 s
[really-safe-money] added mutation MaybeOp at src/Money/Amount.hs:546:14-66
21.33 s
[really-safe-money] added mutation Arith at src/Money/Amount.hs:517:11-18
21.33 s
[really-safe-money] added mutation Arith at src/Money/Amount.hs:517:11-18
21.33 s
[really-safe-money] added mutation IntLit at src/Money/Amount.hs:518:14-15
21.33 s
[really-safe-money] added mutation Cmp at src/Money/Amount.hs:518:10-15
21.33 s
[really-safe-money] added mutation Cmp at src/Money/Amount.hs:518:10-15
21.33 s
[really-safe-money] added mutation Cmp at src/Money/Amount.hs:518:10-15
21.33 s
[really-safe-money] added mutation ConstBool at src/Money/Amount.hs:518:10-15
21.33 s
[really-safe-money] added mutation ConstBool at src/Money/Amount.hs:518:10-15
21.33 s
[really-safe-money] added mutation Negate at src/Money/Amount.hs:518:10-15
21.33 s
[really-safe-money] added mutation MaybeOp at src/Money/Amount.hs:520:14-66
21.33 s
[really-safe-money] added mutation Arith at src/Money/Amount.hs:475:11-18
21.33 s
[really-safe-money] added mutation Arith at src/Money/Amount.hs:475:11-18
21.33 s
[really-safe-money] added mutation Cmp at src/Money/Amount.hs:476:10-23
21.33 s
[really-safe-money] added mutation Cmp at src/Money/Amount.hs:476:10-23
21.33 s
[really-safe-money] added mutation Cmp at src/Money/Amount.hs:476:10-23
21.33 s
[really-safe-money] added mutation ConstBool at src/Money/Amount.hs:476:10-23
21.33 s
[really-safe-money] added mutation ConstBool at src/Money/Amount.hs:476:10-23
21.33 s
[really-safe-money] added mutation Negate at src/Money/Amount.hs:476:10-23
21.33 s
[really-safe-money] added mutation MaybeOp at src/Money/Amount.hs:478:14-66
21.33 s
[really-safe-money] added mutation ConstBool at src/Money/Amount.hs:388:5-16
21.33 s
[really-safe-money] added mutation Negate at src/Money/Amount.hs:388:5-16
21.33 s
[really-safe-money] added mutation IntLit at src/Money/Amount.hs:389:9-10
21.33 s
[really-safe-money] added mutation Cmp at src/Money/Amount.hs:389:5-10
21.33 s
[really-safe-money] added mutation Cmp at src/Money/Amount.hs:389:5-10
21.33 s
[really-safe-money] added mutation Cmp at src/Money/Amount.hs:389:5-10
21.33 s
[really-safe-money] added mutation ConstBool at src/Money/Amount.hs:389:5-10
21.33 s
[really-safe-money] added mutation Negate at src/Money/Amount.hs:389:5-10
21.33 s
[really-safe-money] added mutation Arith at src/Money/Amount.hs:392:28-71
21.33 s
[really-safe-money] added mutation Arith at src/Money/Amount.hs:392:28-71
21.33 s
[really-safe-money] added mutation ConstBool at src/Money/Amount.hs:397:14-31
21.33 s
[really-safe-money] added mutation ConstBool at src/Money/Amount.hs:397:14-31
21.33 s
[really-safe-money] added mutation Negate at src/Money/Amount.hs:397:14-31
21.33 s
[really-safe-money] added mutation Cmp at src/Money/Amount.hs:399:18-83
21.33 s
[really-safe-money] added mutation Cmp at src/Money/Amount.hs:399:18-83
21.33 s
[really-safe-money] added mutation Cmp at src/Money/Amount.hs:399:18-83
21.33 s
[really-safe-money] added mutation ConstBool at src/Money/Amount.hs:399:18-83
21.33 s
[really-safe-money] added mutation ConstBool at src/Money/Amount.hs:399:18-83
21.33 s
[really-safe-money] added mutation Negate at src/Money/Amount.hs:399:18-83
21.33 s
[really-safe-money] added mutation IntLit at src/Money/Amount.hs:320:9-10
21.33 s
[really-safe-money] added mutation Cmp at src/Money/Amount.hs:320:5-10
21.33 s
[really-safe-money] added mutation Cmp at src/Money/Amount.hs:320:5-10
21.33 s
[really-safe-money] added mutation Cmp at src/Money/Amount.hs:320:5-10
21.33 s
[really-safe-money] added mutation ConstBool at src/Money/Amount.hs:320:5-10
21.33 s
[really-safe-money] added mutation Negate at src/Money/Amount.hs:320:5-10
21.33 s
[really-safe-money] added mutation Arith at src/Money/Amount.hs:323:26-67
21.33 s
[really-safe-money] added mutation Arith at src/Money/Amount.hs:323:26-67
21.33 s
[really-safe-money] added mutation ConstBool at src/Money/Amount.hs:327:9-16
21.33 s
[really-safe-money] added mutation Negate at src/Money/Amount.hs:327:9-16
21.33 s
[really-safe-money] added mutation ConstBool at src/Money/Amount.hs:328:9-21
21.33 s
[really-safe-money] added mutation Negate at src/Money/Amount.hs:328:9-21
21.33 s
[really-safe-money] added mutation IntLit at src/Money/Amount.hs:332:38-40
21.33 s
[really-safe-money] added mutation IntLit at src/Money/Amount.hs:332:38-40
21.33 s
[really-safe-money] added mutation IntLit at src/Money/Amount.hs:332:38-40
21.33 s
[really-safe-money] added mutation Cmp at src/Money/Amount.hs:332:14-40
21.33 s
[really-safe-money] added mutation Cmp at src/Money/Amount.hs:332:14-40
21.33 s
[really-safe-money] added mutation Cmp at src/Money/Amount.hs:332:14-40
21.33 s
[really-safe-money] added mutation ConstBool at src/Money/Amount.hs:332:14-40
21.33 s
[really-safe-money] added mutation ConstBool at src/Money/Amount.hs:332:14-40
21.33 s
[really-safe-money] added mutation Negate at src/Money/Amount.hs:332:14-40
21.33 s
[really-safe-money] added mutation ConstBool at src/Money/Amount.hs:339:22-39
21.33 s
[really-safe-money] added mutation ConstBool at src/Money/Amount.hs:339:22-39
21.33 s
[really-safe-money] added mutation Negate at src/Money/Amount.hs:339:22-39
21.33 s
[really-safe-money] added mutation Cmp at src/Money/Amount.hs:341:26-91
21.33 s
[really-safe-money] added mutation Cmp at src/Money/Amount.hs:341:26-91
21.33 s
[really-safe-money] added mutation Cmp at src/Money/Amount.hs:341:26-91
21.33 s
[really-safe-money] added mutation ConstBool at src/Money/Amount.hs:341:26-91
21.33 s
[really-safe-money] added mutation ConstBool at src/Money/Amount.hs:341:26-91
21.33 s
[really-safe-money] added mutation Negate at src/Money/Amount.hs:341:26-91
21.33 s
[really-safe-money] added mutation IntLit at src/Money/Amount.hs:290:79-80
21.33 s
[really-safe-money] added mutation Arith at src/Money/Amount.hs:494:29-94
21.33 s
[really-safe-money] added mutation Arith at src/Money/Amount.hs:494:29-94
21.33 s
[really-safe-money] added mutation IntLit at src/Money/Amount.hs:494:96-97
21.33 s
[really-safe-money] added mutation Cmp at src/Money/Amount.hs:495:10-23
21.33 s
[really-safe-money] added mutation Cmp at src/Money/Amount.hs:495:10-23
21.33 s
[really-safe-money] added mutation Cmp at src/Money/Amount.hs:495:10-23
21.33 s
[really-safe-money] added mutation ConstBool at src/Money/Amount.hs:495:10-23
21.33 s
[really-safe-money] added mutation ConstBool at src/Money/Amount.hs:495:10-23
21.33 s
[really-safe-money] added mutation Negate at src/Money/Amount.hs:495:10-23
21.33 s
[really-safe-money] added mutation MaybeOp at src/Money/Amount.hs:497:14-66
21.33 s
[really-safe-money] added mutation IntLit at src/Money/Amount.hs:250:15-16
21.33 s
[really-safe-money] added mutation MaybeOp at src/Money/Amount.hs:660:28-37
21.33 s
[really-safe-money] added mutation MaybeOp at src/Money/Amount.hs:661:19-28
21.33 s
[really-safe-money] added mutation IntLit at src/Money/Amount.hs:661:30-31
21.33 s
[really-safe-money] added mutation RemoveCase at src/Money/Amount.hs:668:17-30
21.33 s
[really-safe-money] added mutation RemoveCase at src/Money/Amount.hs:668:17-30
21.33 s
[really-safe-money] added mutation RemoveCase at src/Money/Amount.hs:668:17-30
21.33 s
[really-safe-money] added mutation Arith at src/Money/Amount.hs:666:27-44
21.33 s
[really-safe-money] added mutation Arith at src/Money/Amount.hs:666:27-44
21.33 s
[really-safe-money] added mutation Cmp at src/Money/Amount.hs:681:12-37
21.33 s
[really-safe-money] added mutation Cmp at src/Money/Amount.hs:681:12-37
21.33 s
[really-safe-money] added mutation Cmp at src/Money/Amount.hs:681:12-37
21.33 s
[really-safe-money] added mutation ConstBool at src/Money/Amount.hs:681:12-37
21.33 s
[really-safe-money] added mutation ConstBool at src/Money/Amount.hs:681:12-37
21.33 s
[really-safe-money] added mutation Negate at src/Money/Amount.hs:681:12-37
21.33 s
[really-safe-money] added mutation MaybeOp at src/Money/Amount.hs:683:16-27
21.33 s
[really-safe-money] added mutation Arith at src/Money/Amount.hs:762:40-49
21.33 s
[really-safe-money] added mutation Arith at src/Money/Amount.hs:762:40-49
21.33 s
[really-safe-money] added mutation Cmp at src/Money/Amount.hs:806:79-92
21.33 s
[really-safe-money] added mutation Cmp at src/Money/Amount.hs:806:79-92
21.33 s
[really-safe-money] added mutation Cmp at src/Money/Amount.hs:806:79-92
21.33 s
[really-safe-money] added mutation ConstBool at src/Money/Amount.hs:806:79-92
21.33 s
[really-safe-money] added mutation ConstBool at src/Money/Amount.hs:806:79-92
21.33 s
[really-safe-money] added mutation Negate at src/Money/Amount.hs:806:79-92
21.33 s
[really-safe-money] added mutation Cmp at src/Money/Amount.hs:607:15-22
21.33 s
[really-safe-money] added mutation Cmp at src/Money/Amount.hs:607:15-22
21.33 s
[really-safe-money] added mutation Cmp at src/Money/Amount.hs:607:15-22
21.33 s
[really-safe-money] added mutation ConstBool at src/Money/Amount.hs:607:15-22
21.33 s
[really-safe-money] added mutation ConstBool at src/Money/Amount.hs:607:15-22
21.33 s
[really-safe-money] added mutation Negate at src/Money/Amount.hs:607:15-22
21.33 s
[really-safe-money] added mutation RemoveCase at src/Money/Amount.hs:604:9-21
21.33 s
[really-safe-money] added mutation RemoveCase at src/Money/Amount.hs:604:9-21
21.33 s
[really-safe-money] added mutation ListLit at src/Money/Amount.hs:603:7-8
21.33 s
[really-safe-money] added mutation ListLit at src/Money/Amount.hs:603:7-8
21.33 s
[really-safe-money] added 135 mutations
21.46 s
[genvalidity-sydtest] [ 2 of 15] Compiling Test.Syd.Validity.ApplicativeSpec ( test/Test/Syd/Validity/ApplicativeSpec.hs, dist/build/genvalidity-sydtest-test/genvalidity-sydtest-test-tmp/Test/Syd/Validity/ApplicativeSpec.o )
21.52 s
[genvalidity-sydtest] [ 3 of 15] Compiling Test.Syd.Validity.ArbitrarySpec ( test/Test/Syd/Validity/ArbitrarySpec.hs, dist/build/genvalidity-sydtest-test/genvalidity-sydtest-test-tmp/Test/Syd/Validity/ArbitrarySpec.o )
21.52 s
[genvalidity-sydtest] [ 4 of 15] Compiling Test.Syd.Validity.EqSpec ( test/Test/Syd/Validity/EqSpec.hs, dist/build/genvalidity-sydtest-test/genvalidity-sydtest-test-tmp/Test/Syd/Validity/EqSpec.o )
21.52 s
[genvalidity-sydtest] [ 5 of 15] Compiling Test.Syd.Validity.FunctorSpec ( test/Test/Syd/Validity/FunctorSpec.hs, dist/build/genvalidity-sydtest-test/genvalidity-sydtest-test-tmp/Test/Syd/Validity/FunctorSpec.o )
21.52 s
[genvalidity-sydtest] [ 6 of 15] Compiling Test.Syd.Validity.GenRelativeValiditySpec ( test/Test/Syd/Validity/GenRelativeValiditySpec.hs, dist/build/genvalidity-sydtest-test/genvalidity-sydtest-test-tmp/Test/Syd/Validity/GenRelativeValiditySpec.o )
21.52 s
[genvalidity-sydtest] [ 7 of 15] Compiling Test.Syd.Validity.GenValiditySpec ( test/Test/Syd/Validity/GenValiditySpec.hs, dist/build/genvalidity-sydtest-test/genvalidity-sydtest-test-tmp/Test/Syd/Validity/GenValiditySpec.o )
21.52 s
[genvalidity-sydtest] [ 8 of 15] Compiling Test.Syd.Validity.MonadSpec ( test/Test/Syd/Validity/MonadSpec.hs, dist/build/genvalidity-sydtest-test/genvalidity-sydtest-test-tmp/Test/Syd/Validity/MonadSpec.o )
21.68 s
[genvalidity-sydtest] [ 9 of 15] Compiling Test.Syd.Validity.MonoidSpec ( test/Test/Syd/Validity/MonoidSpec.hs, dist/build/genvalidity-sydtest-test/genvalidity-sydtest-test-tmp/Test/Syd/Validity/MonoidSpec.o )
21.68 s
[genvalidity-sydtest] [10 of 15] Compiling Test.Syd.Validity.Operations.CommutativitySpec ( test/Test/Syd/Validity/Operations/CommutativitySpec.hs, dist/build/genvalidity-sydtest-test/genvalidity-sydtest-test-tmp/Test/Syd/Validity/Operations/CommutativitySpec.o )
21.68 s
[genvalidity-sydtest] [11 of 15] Compiling Test.Syd.Validity.OrdSpec ( test/Test/Syd/Validity/OrdSpec.hs, dist/build/genvalidity-sydtest-test/genvalidity-sydtest-test-tmp/Test/Syd/Validity/OrdSpec.o )
21.68 s
[genvalidity-sydtest] [12 of 15] Compiling Test.Syd.Validity.RelativeValiditySpec ( test/Test/Syd/Validity/RelativeValiditySpec.hs, dist/build/genvalidity-sydtest-test/genvalidity-sydtest-test-tmp/Test/Syd/Validity/RelativeValiditySpec.o )
21.68 s
[genvalidity-sydtest] [13 of 15] Compiling Test.Syd.Validity.ShowSpec ( test/Test/Syd/Validity/ShowSpec.hs, dist/build/genvalidity-sydtest-test/genvalidity-sydtest-test-tmp/Test/Syd/Validity/ShowSpec.o )
21.68 s
[genvalidity-sydtest] [14 of 15] Compiling Test.Syd.Validity.ShrinkingSpec ( test/Test/Syd/Validity/ShrinkingSpec.hs, dist/build/genvalidity-sydtest-test/genvalidity-sydtest-test-tmp/Test/Syd/Validity/ShrinkingSpec.o )
21.68 s
[genvalidity-sydtest] [15 of 15] Compiling Main ( test/Spec.hs, dist/build/genvalidity-sydtest-test/genvalidity-sydtest-test-tmp/Main.o )
22.07 s
[genvalidity-sydtest] [16 of 16] Linking dist/build/genvalidity-sydtest-test/genvalidity-sydtest-test
23.29 s
[really-safe-money] [ 7 of 12] Compiling Money.MultiAmount ( src/Money/MultiAmount.hs, dist/build/Money/MultiAmount.p_o )
23.31 s
[really-safe-money] mutation: instrumenting Money.MultiAmount
23.31 s
[really-safe-money] added mutation RemoveCase at src/Money/MultiAmount.hs:159:25-38
23.31 s
[really-safe-money] added mutation RemoveCase at src/Money/MultiAmount.hs:159:25-38
23.31 s
[really-safe-money] added mutation RemoveCase at src/Money/MultiAmount.hs:159:25-38
23.31 s
[really-safe-money] added mutation Cmp at src/Money/MultiAmount.hs:168:20-45
23.31 s
[really-safe-money] added mutation Cmp at src/Money/MultiAmount.hs:168:20-45
23.31 s
[really-safe-money] added mutation Cmp at src/Money/MultiAmount.hs:168:20-45
23.31 s
[really-safe-money] added mutation ConstBool at src/Money/MultiAmount.hs:168:20-45
23.31 s
[really-safe-money] added mutation ConstBool at src/Money/MultiAmount.hs:168:20-45
23.31 s
[really-safe-money] added mutation Negate at src/Money/MultiAmount.hs:168:20-45
23.31 s
[really-safe-money] added mutation MaybeOp at src/Money/MultiAmount.hs:170:24-57
23.31 s
[really-safe-money] added mutation RemoveCase at src/Money/MultiAmount.hs:171:25-32
23.31 s
[really-safe-money] added mutation RemoveCase at src/Money/MultiAmount.hs:171:25-32
23.31 s
[really-safe-money] added mutation RemoveCase at src/Money/MultiAmount.hs:171:25-32
23.31 s
[really-safe-money] added mutation Arith at src/Money/MultiAmount.hs:182:15-106
23.31 s
[really-safe-money] added mutation Arith at src/Money/MultiAmount.hs:182:15-106
23.31 s
[really-safe-money] added mutation MaybeOp at src/Money/MultiAmount.hs:112:33-39
23.31 s
[really-safe-money] added mutation ConstBool at src/Money/MultiAmount.hs:119:12-28
23.31 s
[really-safe-money] added mutation ConstBool at src/Money/MultiAmount.hs:119:12-28
23.31 s
[really-safe-money] added mutation Negate at src/Money/MultiAmount.hs:119:12-28
23.31 s
[really-safe-money] added mutation RemoveCase at src/Money/MultiAmount.hs:114:22-37
23.31 s
[really-safe-money] added mutation RemoveCase at src/Money/MultiAmount.hs:114:22-37
23.31 s
[really-safe-money] added mutation MaybeOp at src/Money/MultiAmount.hs:99:28-34
23.31 s
[really-safe-money] added mutation ConstBool at src/Money/MultiAmount.hs:106:12-28
23.31 s
[really-safe-money] added mutation ConstBool at src/Money/MultiAmount.hs:106:12-28
23.31 s
[really-safe-money] added mutation Negate at src/Money/MultiAmount.hs:106:12-28
23.31 s
[really-safe-money] added mutation RemoveCase at src/Money/MultiAmount.hs:101:22-37
23.31 s
[really-safe-money] added mutation RemoveCase at src/Money/MultiAmount.hs:101:22-37
23.31 s
[really-safe-money] added mutation ConstBool at src/Money/MultiAmount.hs:73:6-27
23.31 s
[really-safe-money] added mutation ConstBool at src/Money/MultiAmount.hs:73:6-27
23.31 s
[really-safe-money] added mutation Negate at src/Money/MultiAmount.hs:73:6-27
23.31 s
[really-safe-money] added mutation ConstBool at src/Money/MultiAmount.hs:66:13-29
23.31 s
[really-safe-money] added mutation ConstBool at src/Money/MultiAmount.hs:66:13-29
23.31 s
[really-safe-money] added mutation Negate at src/Money/MultiAmount.hs:66:13-29
23.31 s
[really-safe-money] added mutation ListLit at src/Money/MultiAmount.hs:63:7-8
23.31 s
[really-safe-money] added mutation ListLit at src/Money/MultiAmount.hs:63:7-8
23.31 s
[really-safe-money] added 35 mutations
23.44 s
[genvalidity-sydtest] Phase: checkPhase
23.75 s
[genvalidity-sydtest] Running 1 test suites...
23.75 s
[genvalidity-sydtest] Test suite genvalidity-sydtest-test: RUNNING...
23.81 s
[genvalidity-sydtest] Tests:
23.81 s
[genvalidity-sydtest]
23.81 s
[genvalidity-sydtest] Test.Syd.Validity.MonoidSpec
23.81 s
[genvalidity-sydtest] Monoid [Int]
23.81 s
[genvalidity-sydtest] mappend :: [Int] -> [Int] -> [Int]
23.81 s
[genvalidity-sydtest] ✓ is an associative operation for "valid :: ([Int],[Int],[Int])" 7.51 ms
23.81 s
[genvalidity-sydtest] passed for all of 100 inputs.
23.81 s
[genvalidity-sydtest] mempty :: [Int]
23.81 s
[genvalidity-sydtest] ✓ is the identity for mappend :: [Int] -> [Int] -> [Int] for "valid :: [Int]" 5.86 ms
23.81 s
[genvalidity-sydtest] passed for all of 100 inputs.
23.81 s
[genvalidity-sydtest] mconcat :: [[Int]] -> [Int]
23.81 s
[genvalidity-sydtest] ✓ is equivalent to its default implementation for "valid :: [[Int]]" 7.32 ms
23.81 s
[genvalidity-sydtest] passed for all of 100 inputs.
23.81 s
[genvalidity-sydtest] Monoid [Int]
23.81 s
[genvalidity-sydtest] mconcat :: [[Int]] -> [Int]
23.81 s
[genvalidity-sydtest] ✓ is equivalent to its default implementation for "arbitrary :: [[Int]]" 3.29 ms
23.81 s
[genvalidity-sydtest] passed for all of 100 inputs.
23.81 s
[genvalidity-sydtest] mempty :: [Int]
23.81 s
[genvalidity-sydtest] ✓ is the identity for mappend :: [Int] -> [Int] -> [Int] for "arbitrary :: [Int]" 5.96 ms
23.81 s
[genvalidity-sydtest] passed for all of 100 inputs.
23.81 s
[genvalidity-sydtest] mappend :: [Int] -> [Int] -> [Int]
23.81 s
[genvalidity-sydtest] ✓ is an associative operation for "arbitrary :: ([Int],[Int],[Int])" 7.47 ms
23.81 s
[genvalidity-sydtest] passed for all of 100 inputs.
23.81 s
[genvalidity-sydtest] Monoid ([Ratio Integer])
23.81 s
[genvalidity-sydtest] mappend :: ([Ratio Integer]) -> ([Ratio Integer]) -> ([Ratio Integer])
23.81 s
[genvalidity-sydtest] ✓ is an associative operation for "valid :: (([Ratio Integer],[Ratio Integer],[Ratio Integer]))" 38.76 ms
23.81 s
[genvalidity-sydtest] passed for all of 100 inputs.
23.81 s
[genvalidity-sydtest] mempty :: ([Ratio Integer])
23.81 s
[genvalidity-sydtest] ✓ is the identity for mappend :: ([Ratio Integer]) -> ([Ratio Integer]) -> ([Ratio Integer]) for "valid :: ([Ratio Integer])" 26.81 ms
23.81 s
[genvalidity-sydtest] passed for all of 100 inputs.
23.81 s
[genvalidity-sydtest] mconcat :: [([Ratio Integer])] -> ([Ratio Integer])
23.81 s
[genvalidity-sydtest] ✓ is equivalent to its default implementation for "valid :: ([[Ratio Integer]])" 22.56 ms
23.81 s
[genvalidity-sydtest] passed for all of 100 inputs.
23.81 s
[genvalidity-sydtest] Monoid [Char]
23.81 s
[genvalidity-sydtest] mappend :: [Char] -> [Char] -> [Char]
23.82 s
[genvalidity-sydtest] ✓ is an associative operation for "singleton list of 'a' :: ([Char],[Char],[Char])" 0.55 ms
23.82 s
[genvalidity-sydtest] passed for all of 100 inputs.
23.82 s
[genvalidity-sydtest] mempty :: [Char]
23.82 s
[genvalidity-sydtest] ✓ is the identity for mappend :: [Char] -> [Char] -> [Char] for "singleton list of 'a' :: [Char]" 1.61 ms
23.82 s
[genvalidity-sydtest] passed for all of 100 inputs.
23.82 s
[genvalidity-sydtest] mconcat :: [[Char]] -> [Char]
23.82 s
[genvalidity-sydtest] ✓ is equivalent to its default implementation for "singleton list of 'a' :: [[Char]]" 4.29 ms
23.82 s
[genvalidity-sydtest] passed for all of 100 inputs.
23.82 s
[genvalidity-sydtest] Test.Syd.Validity.OrdSpec
23.82 s
[genvalidity-sydtest] Ord (Ratio Integer)
23.82 s
[genvalidity-sydtest] "max :: (Ratio Integer -> Ratio Integer -> Ratio Integer)"
23.82 s
[genvalidity-sydtest] ✓ is equivalent to (\a b -> if a >= b then a else b) for "valid (Ratio Integer)"'s 5.90 ms
23.82 s
[genvalidity-sydtest] passed for all of 100 inputs.
23.82 s
[genvalidity-sydtest] (>=) :: (Ratio Integer) -> (Ratio Integer) -> Bool
23.82 s
[genvalidity-sydtest] ✓ is transitive for "valid (Ratio Integer)"'s 7.10 ms
23.82 s
[genvalidity-sydtest] passed for all of 100 inputs.
23.82 s
[genvalidity-sydtest] ✓ is antisymmetric for "valid (Ratio Integer)"'s 6.15 ms
23.82 s
[genvalidity-sydtest] passed for all of 100 inputs.
23.82 s
[genvalidity-sydtest] ✓ is reflexive for "valid (Ratio Integer)"'s 2.54 ms
23.82 s
[genvalidity-sydtest] passed for all of 100 inputs.
23.82 s
[genvalidity-sydtest] ✓ is equivalent to (\a b -> compare a b /= LT) for "valid (Ratio Integer)"'s 5.74 ms
23.82 s
[genvalidity-sydtest] passed for all of 100 inputs.
23.82 s
[genvalidity-sydtest] "min :: (Ratio Integer -> Ratio Integer -> Ratio Integer)"
23.82 s
[genvalidity-sydtest] ✓ is equivalent to (\a b -> if a <= b then a else b) for "valid (Ratio Integer)"'s 4.29 ms
23.82 s
[genvalidity-sydtest] passed for all of 100 inputs.
23.82 s
[genvalidity-sydtest] (<=) :: (Ratio Integer) -> (Ratio Integer) -> Bool
23.82 s
[genvalidity-sydtest] ✓ is equivalent to (\a b -> compare a b /= GT) for "valid (Ratio Integer)"'s 6.16 ms
23.82 s
[genvalidity-sydtest] passed for all of 100 inputs.
23.82 s
[genvalidity-sydtest] ✓ is reflexive for "valid (Ratio Integer)"'s 2.01 ms
23.82 s
[genvalidity-sydtest] passed for all of 100 inputs.
23.82 s
[genvalidity-sydtest] ✓ is transitive for "valid (Ratio Integer)"'s 5.62 ms
23.82 s
[genvalidity-sydtest] passed for all of 100 inputs.
23.82 s
[genvalidity-sydtest] ✓ is antisymmetric for "valid (Ratio Integer)"'s 5.66 ms
23.82 s
[genvalidity-sydtest] passed for all of 100 inputs.
23.82 s
[genvalidity-sydtest] (>) :: (Ratio Integer) -> (Ratio Integer) -> Bool
23.82 s
[genvalidity-sydtest] ✓ is equivalent to (\a b -> compare a b == GT) for "valid (Ratio Integer)"'s 6.15 ms
23.82 s
[genvalidity-sydtest] passed for all of 100 inputs.
23.82 s
[genvalidity-sydtest] ✓ is transitive for "valid (Ratio Integer)"'s 4.03 ms
23.82 s
[genvalidity-sydtest] passed for all of 100 inputs.
23.82 s
[genvalidity-sydtest] ✓ is antireflexive for "valid (Ratio Integer)"'s 2.49 ms
23.82 s
[genvalidity-sydtest] passed for all of 100 inputs.
23.82 s
[genvalidity-sydtest] (<) :: (Ratio Integer) -> (Ratio Integer) -> Bool
23.82 s
[genvalidity-sydtest] ✓ is antireflexive for "valid (Ratio Integer)"'s 3.08 ms
23.82 s
[genvalidity-sydtest] passed for all of 100 inputs.
23.82 s
[genvalidity-sydtest] ✓ is equivalent to (\a b -> compare a b == LT) for "valid (Ratio Integer)"'s 5.08 ms
23.82 s
[genvalidity-sydtest] passed for all of 100 inputs.
23.82 s
[genvalidity-sydtest] ✓ is transitive for "valid (Ratio Integer)"'s 4.93 ms
23.82 s
[genvalidity-sydtest] passed for all of 100 inputs.
23.82 s
[genvalidity-sydtest] Ord Int
23.82 s
[genvalidity-sydtest] (<=) :: Int -> Int -> Bool
23.82 s
[genvalidity-sydtest] ✓ is equivalent to (\a b -> compare a b /= GT) for "arbitrary Int"'s 1.48 ms
23.82 s
[genvalidity-sydtest] passed for all of 100 inputs.
23.82 s
[genvalidity-sydtest] ✓ is transitive for "arbitrary Int"'s 1.08 ms
23.82 s
[genvalidity-sydtest] passed for all of 100 inputs.
23.82 s
[genvalidity-sydtest] ✓ is reflexive for "arbitrary Int"'s 1.30 ms
23.82 s
[genvalidity-sydtest] passed for all of 100 inputs.
23.82 s
[genvalidity-sydtest] ✓ is antisymmetric for "arbitrary Int"'s 1.04 ms
23.82 s
[genvalidity-sydtest] passed for all of 100 inputs.
23.82 s
[genvalidity-sydtest] "min :: (Int -> Int -> Int)"
23.82 s
[genvalidity-sydtest] ✓ is equivalent to (\a b -> if a <= b then a else b) for "arbitrary Int"'s 1.51 ms
23.82 s
[genvalidity-sydtest] passed for all of 100 inputs.
23.82 s
[genvalidity-sydtest] (>) :: Int -> Int -> Bool
23.82 s
[genvalidity-sydtest] ✓ is antireflexive for "arbitrary Int"'s 1.27 ms
23.82 s
[genvalidity-sydtest] passed for all of 100 inputs.
23.82 s
[genvalidity-sydtest] ✓ is transitive for "arbitrary Int"'s 1.54 ms
23.82 s
[genvalidity-sydtest] passed for all of 100 inputs.
23.82 s
[genvalidity-sydtest] ✓ is equivalent to (\a b -> compare a b == GT) for "arbitrary Int"'s 2.65 ms
23.82 s
[genvalidity-sydtest] passed for all of 100 inputs.
23.82 s
[genvalidity-sydtest] "max :: (Int -> Int -> Int)"
23.82 s
[genvalidity-sydtest] ✓ is equivalent to (\a b -> if a >= b then a else b) for "arbitrary Int"'s 2.05 ms
23.82 s
[genvalidity-sydtest] passed for all of 100 inputs.
23.82 s
[genvalidity-sydtest] (<) :: Int -> Int -> Bool
23.82 s
[genvalidity-sydtest] ✓ is transitive for "arbitrary Int"'s 1.53 ms
23.82 s
[genvalidity-sydtest] passed for all of 100 inputs.
23.82 s
[genvalidity-sydtest] ✓ is equivalent to (\a b -> compare a b == LT) for "arbitrary Int"'s 2.82 ms
23.82 s
[genvalidity-sydtest] passed for all of 100 inputs.
23.82 s
[genvalidity-sydtest] ✓ is antireflexive for "arbitrary Int"'s 2.70 ms
23.82 s
[genvalidity-sydtest] passed for all of 100 inputs.
23.82 s
[genvalidity-sydtest] (>=) :: Int -> Int -> Bool
23.82 s
[genvalidity-sydtest] ✓ is transitive for "arbitrary Int"'s 2.69 ms
23.82 s
[genvalidity-sydtest] passed for all of 100 inputs.
23.82 s
[genvalidity-sydtest] ✓ is equivalent to (\a b -> compare a b /= LT) for "arbitrary Int"'s 2.76 ms
23.82 s
[genvalidity-sydtest] passed for all of 100 inputs.
23.82 s
[genvalidity-sydtest] ✓ is reflexive for "arbitrary Int"'s 2.58 ms
23.82 s
[genvalidity-sydtest] passed for all of 100 inputs.
23.82 s
[genvalidity-sydtest] ✓ is antisymmetric for "arbitrary Int"'s 2.26 ms
23.82 s
[genvalidity-sydtest] passed for all of 100 inputs.
23.82 s
[genvalidity-sydtest] Ord Int
23.82 s
[genvalidity-sydtest] (>=) :: Int -> Int -> Bool
23.82 s
[genvalidity-sydtest] ✓ is antisymmetric for "valid Int"'s 1.84 ms
23.82 s
[genvalidity-sydtest] passed for all of 100 inputs.
23.82 s
[genvalidity-sydtest] ✓ is equivalent to (\a b -> compare a b /= LT) for "valid Int"'s 1.89 ms
23.82 s
[genvalidity-sydtest] passed for all of 100 inputs.
23.82 s
[genvalidity-sydtest] ✓ is transitive for "valid Int"'s 1.77 ms
23.82 s
[genvalidity-sydtest] passed for all of 100 inputs.
23.82 s
[genvalidity-sydtest] ✓ is reflexive for "valid Int"'s 1.77 ms
23.82 s
[genvalidity-sydtest] passed for all of 100 inputs.
23.82 s
[genvalidity-sydtest] "max :: (Int -> Int -> Int)"
23.82 s
[genvalidity-sydtest] ✓ is equivalent to (\a b -> if a >= b then a else b) for "valid Int"'s 1.90 ms
23.82 s
[genvalidity-sydtest] passed for all of 100 inputs.
23.82 s
[genvalidity-sydtest] "min :: (Int -> Int -> Int)"
23.82 s
[genvalidity-sydtest] ✓ is equivalent to (\a b -> if a <= b then a else b) for "valid Int"'s 1.78 ms
23.82 s
[genvalidity-sydtest] passed for all of 100 inputs.
23.82 s
[genvalidity-sydtest] (>) :: Int -> Int -> Bool
23.82 s
[genvalidity-sydtest] ✓ is antireflexive for "valid Int"'s 1.83 ms
23.82 s
[genvalidity-sydtest] passed for all of 100 inputs.
23.82 s
[genvalidity-sydtest] ✓ is equivalent to (\a b -> compare a b == GT) for "valid Int"'s 1.80 ms
23.82 s
[genvalidity-sydtest] passed for all of 100 inputs.
23.82 s
[genvalidity-sydtest] ✓ is transitive for "valid Int"'s 1.64 ms
23.82 s
[genvalidity-sydtest] passed for all of 100 inputs.
23.82 s
[genvalidity-sydtest] (<) :: Int -> Int -> Bool
23.82 s
[genvalidity-sydtest] ✓ is antireflexive for "valid Int"'s 1.58 ms
23.82 s
[genvalidity-sydtest] passed for all of 100 inputs.
23.82 s
[genvalidity-sydtest] ✓ is transitive for "valid Int"'s 1.62 ms
23.82 s
[genvalidity-sydtest] passed for all of 100 inputs.
23.82 s
[genvalidity-sydtest] ✓ is equivalent to (\a b -> compare a b == LT) for "valid Int"'s 1.55 ms
23.82 s
[genvalidity-sydtest] passed for all of 100 inputs.
23.82 s
[genvalidity-sydtest] (<=) :: Int -> Int -> Bool
23.82 s
[genvalidity-sydtest] ✓ is antisymmetric for "valid Int"'s 1.05 ms
23.82 s
[genvalidity-sydtest] passed for all of 100 inputs.
23.82 s
[genvalidity-sydtest] ✓ is equivalent to (\a b -> compare a b /= GT) for "valid Int"'s 0.97 ms
23.82 s
[genvalidity-sydtest] passed for all of 100 inputs.
23.82 s
[genvalidity-sydtest] ✓ is transitive for "valid Int"'s 0.97 ms
23.82 s
[genvalidity-sydtest] passed for all of 100 inputs.
23.82 s
[genvalidity-sydtest] ✓ is reflexive for "valid Int"'s 0.95 ms
23.82 s
[genvalidity-sydtest] passed for all of 100 inputs.
23.82 s
[genvalidity-sydtest] Ord Int
23.82 s
[genvalidity-sydtest] (>=) :: Int -> Int -> Bool
23.82 s
[genvalidity-sydtest] ✓ is transitive for "even Int"'s 0.90 ms
23.82 s
[genvalidity-sydtest] passed for all of 100 inputs.
23.82 s
[genvalidity-sydtest] ✓ is equivalent to (\a b -> compare a b /= LT) for "even Int"'s 0.83 ms
23.82 s
[genvalidity-sydtest] passed for all of 100 inputs.
23.82 s
[genvalidity-sydtest] ✓ is antisymmetric for "even Int"'s 0.92 ms
23.82 s
[genvalidity-sydtest] passed for all of 100 inputs.
23.99 s
[genvalidity-sydtest] ✓ is reflexive for "even Int"'s 0.93 ms
23.99 s
[genvalidity-sydtest] passed for all of 100 inputs.
23.99 s
[genvalidity-sydtest] (<) :: Int -> Int -> Bool
23.99 s
[genvalidity-sydtest] ✓ is equivalent to (\a b -> compare a b == LT) for "even Int"'s 0.95 ms
23.99 s
[genvalidity-sydtest] passed for all of 100 inputs.
23.99 s
[genvalidity-sydtest] ✓ is antireflexive for "even Int"'s 0.87 ms
23.99 s
[genvalidity-sydtest] passed for all of 100 inputs.
23.99 s
[genvalidity-sydtest] ✓ is transitive for "even Int"'s 1.03 ms
23.99 s
[genvalidity-sydtest] passed for all of 100 inputs.
23.99 s
[genvalidity-sydtest] (>) :: Int -> Int -> Bool
23.99 s
[genvalidity-sydtest] ✓ is transitive for "even Int"'s 0.89 ms
23.99 s
[genvalidity-sydtest] passed for all of 100 inputs.
23.99 s
[genvalidity-sydtest] ✓ is equivalent to (\a b -> compare a b == GT) for "even Int"'s 0.93 ms
23.99 s
[genvalidity-sydtest] passed for all of 100 inputs.
23.99 s
[genvalidity-sydtest] ✓ is antireflexive for "even Int"'s 0.78 ms
23.99 s
[genvalidity-sydtest] passed for all of 100 inputs.
23.99 s
[genvalidity-sydtest] "max :: (Int -> Int -> Int)"
23.99 s
[genvalidity-sydtest] ✓ is equivalent to (\a b -> if a >= b then a else b) for "even Int"'s 1.52 ms
23.99 s
[genvalidity-sydtest] passed for all of 100 inputs.
23.99 s
[genvalidity-sydtest] "min :: (Int -> Int -> Int)"
23.99 s
[genvalidity-sydtest] ✓ is equivalent to (\a b -> if a <= b then a else b) for "even Int"'s 1.54 ms
23.99 s
[genvalidity-sydtest] passed for all of 100 inputs.
23.99 s
[genvalidity-sydtest] (<=) :: Int -> Int -> Bool
23.99 s
[genvalidity-sydtest] ✓ is transitive for "even Int"'s 1.35 ms
23.99 s
[genvalidity-sydtest] passed for all of 100 inputs.
23.99 s
[genvalidity-sydtest] ✓ is reflexive for "even Int"'s 0.90 ms
23.99 s
[genvalidity-sydtest] passed for all of 100 inputs.
23.99 s
[genvalidity-sydtest] ✓ is equivalent to (\a b -> compare a b /= GT) for "even Int"'s 2.00 ms
23.99 s
[genvalidity-sydtest] passed for all of 100 inputs.
23.99 s
[genvalidity-sydtest] ✓ is antisymmetric for "even Int"'s 1.63 ms
23.99 s
[genvalidity-sydtest] passed for all of 100 inputs.
23.99 s
[genvalidity-sydtest] Test.Syd.Validity.MonadSpec
23.99 s
[genvalidity-sydtest] Monad []
23.99 s
[genvalidity-sydtest] relation with Applicative []
23.99 s
[genvalidity-sydtest] ✓ satisfies 'pure = return' for "[] of ints :: [Int]" 1.76 ms
23.99 s
[genvalidity-sydtest] passed for all of 100 inputs.
23.99 s
[genvalidity-sydtest] ✓ satisfies '(>>) = (*>)' for "[] of ints :: [Int]" and "[] of ints :: [Int]" 11.87 ms
23.99 s
[genvalidity-sydtest] passed for all of 100 inputs.
23.99 s
[genvalidity-sydtest] ✓ satisfies '(<*>) = ap' for "[] of additions :: ([Int -> Int])" and "[] of ints :: [Int]" 3.66 ms
23.99 s
[genvalidity-sydtest] passed for all of 100 inputs.
23.99 s
[genvalidity-sydtest] relation with Functor []
23.99 s
[genvalidity-sydtest] ✓ satisfies 'fmap f xs = xs >>= return . f' for "increments :: (Int -> Int)" and "[] of ints :: [Int]" 1.99 ms
23.99 s
[genvalidity-sydtest] passed for all of 100 inputs.
23.99 s
[genvalidity-sydtest] (>>=) :: [] a -> (b -> [] a) -> [] b
23.99 s
[genvalidity-sydtest] ✓ satisfies the third Monad law: 'm >>= (x -> k x >>= h) = (m >>= k) >>= h' for "[] of ints :: [Int]" "perturbations using the int :: (Int -> [Int])" and "perturbations using the double the int :: (Int -> [Int])" 212.04 ms
23.99 s
[genvalidity-sydtest] passed for all of 100 inputs.
23.99 s
[genvalidity-sydtest] return :: a -> [] a and (>>=) :: [] a -> (b -> [] a) -> [] b
23.99 s
[genvalidity-sydtest] ✓ satisfy the first Monad law: 'return a >>= k = k a' for "int :: Int" and "perturbations using the int :: (Int -> [Int])" 1.85 ms
23.99 s
[genvalidity-sydtest] passed for all of 100 inputs.
23.99 s
[genvalidity-sydtest] ✓ satisfy the second Monad law: 'm >>= return = m' for "[] of ints :: [Int]" 3.20 ms
23.99 s
[genvalidity-sydtest] passed for all of 100 inputs.
23.99 s
[genvalidity-sydtest] Monad Maybe
23.99 s
[genvalidity-sydtest] (>>=) :: Maybe a -> (b -> Maybe a) -> Maybe b
23.99 s
[genvalidity-sydtest] ✓ satisfies the third Monad law: 'm >>= (x -> k x >>= h) = (m >>= k) >>= h' for "Maybe of ints :: (Maybe Int)" "perturbations using the int :: (Int -> Maybe Int)" and "perturbations using the double the int :: (Int -> Maybe Int)" 1.45 ms
23.99 s
[genvalidity-sydtest] passed for all of 100 inputs.
23.99 s
[genvalidity-sydtest] return :: a -> Maybe a and (>>=) :: Maybe a -> (b -> Maybe a) -> Maybe b
23.99 s
[genvalidity-sydtest] ✓ satisfy the second Monad law: 'm >>= return = m' for "Maybe of ints :: (Maybe Int)" 1.50 ms
23.99 s
[genvalidity-sydtest] passed for all of 100 inputs.
23.99 s
[genvalidity-sydtest] ✓ satisfy the first Monad law: 'return a >>= k = k a' for "int :: Int" and "perturbations using the int :: (Int -> Maybe Int)" 1.52 ms
23.99 s
[genvalidity-sydtest] passed for all of 100 inputs.
23.99 s
[genvalidity-sydtest] relation with Functor Maybe
23.99 s
[genvalidity-sydtest] ✓ satisfies 'fmap f xs = xs >>= return . f' for "increments :: (Int -> Int)" and "Maybe of ints :: (Maybe Int)" 1.64 ms
23.99 s
[genvalidity-sydtest] passed for all of 100 inputs.
23.99 s
[genvalidity-sydtest] relation with Applicative Maybe
23.99 s
[genvalidity-sydtest] ✓ satisfies '(<*>) = ap' for "Maybe of additions :: (Maybe (Int -> Int))" and "Maybe of ints :: (Maybe Int)" 1.58 ms
23.99 s
[genvalidity-sydtest] passed for all of 100 inputs.
23.99 s
[genvalidity-sydtest] ✓ satisfies 'pure = return' for "Maybe of ints :: (Maybe Int)" 3.04 ms
23.99 s
[genvalidity-sydtest] passed for all of 100 inputs.
23.99 s
[genvalidity-sydtest] ✓ satisfies '(>>) = (*>)' for "Maybe of ints :: (Maybe Int)" and "Maybe of ints :: (Maybe Int)" 1.54 ms
23.99 s
[genvalidity-sydtest] passed for all of 100 inputs.
23.99 s
[genvalidity-sydtest] Monad Maybe
23.99 s
[genvalidity-sydtest] (>>=) :: Maybe a -> (b -> Maybe a) -> Maybe b
23.99 s
[genvalidity-sydtest] ✓ satisfies the third Monad law: 'm >>= (x -> k x >>= h) = (m >>= k) >>= h' for "Maybe of ints :: (Maybe Int)" "perturbations using the int :: (Int -> Maybe Int)" and "perturbations using the double the int :: (Int -> Maybe Int)" 3.10 ms
23.99 s
[genvalidity-sydtest] passed for all of 100 inputs.
23.99 s
[genvalidity-sydtest] relation with Applicative Maybe
23.99 s
[genvalidity-sydtest] ✓ satisfies 'pure = return' for "Maybe of ints :: (Maybe Int)" 2.68 ms
23.99 s
[genvalidity-sydtest] passed for all of 100 inputs.
23.99 s
[genvalidity-sydtest] ✓ satisfies '(>>) = (*>)' for "Maybe of ints :: (Maybe Int)" and "Maybe of ints :: (Maybe Int)" 2.78 ms
23.99 s
[genvalidity-sydtest] passed for all of 100 inputs.
23.99 s
[genvalidity-sydtest] ✓ satisfies '(<*>) = ap' for "Maybe of additions :: (Maybe (Int -> Int))" and "Maybe of ints :: (Maybe Int)" 2.58 ms
23.99 s
[genvalidity-sydtest] passed for all of 100 inputs.
23.99 s
[genvalidity-sydtest] return :: a -> Maybe a and (>>=) :: Maybe a -> (b -> Maybe a) -> Maybe b
23.99 s
[genvalidity-sydtest] ✓ satisfy the second Monad law: 'm >>= return = m' for "Maybe of ints :: (Maybe Int)" 2.60 ms
23.99 s
[genvalidity-sydtest] passed for all of 100 inputs.
23.99 s
[genvalidity-sydtest] ✓ satisfy the first Monad law: 'return a >>= k = k a' for "int :: Int" and "perturbations using the int :: (Int -> Maybe Int)" 2.69 ms
23.99 s
[genvalidity-sydtest] passed for all of 100 inputs.
23.99 s
[genvalidity-sydtest] relation with Functor Maybe
23.99 s
[genvalidity-sydtest] ✓ satisfies 'fmap f xs = xs >>= return . f' for "increments :: (Int -> Int)" and "Maybe of ints :: (Maybe Int)" 2.46 ms
23.99 s
[genvalidity-sydtest] passed for all of 100 inputs.
23.99 s
[genvalidity-sydtest] Monad (Either Int)
23.99 s
[genvalidity-sydtest] return :: a -> (Either Int) a and (>>=) :: (Either Int) a -> (b -> (Either Int) a) -> (Either Int) b
23.99 s
[genvalidity-sydtest] ✓ satisfy the second Monad law: 'm >>= return = m' for "(Either Int) of ints :: (Either Int Int)" 2.35 ms
23.99 s
[genvalidity-sydtest] passed for all of 100 inputs.
23.99 s
[genvalidity-sydtest] ✓ satisfy the first Monad law: 'return a >>= k = k a' for "int :: Int" and "perturbations using the int :: (Int -> Either Int Int)" 2.40 ms
23.99 s
[genvalidity-sydtest] passed for all of 100 inputs.
23.99 s
[genvalidity-sydtest] relation with Applicative (Either Int)
24.00 s
[genvalidity-sydtest] ✓ satisfies '(<*>) = ap' for "(Either Int) of additions :: (Either Int (Int -> Int))" and "(Either Int) of ints :: (Either Int Int)" 2.17 ms
24.00 s
[genvalidity-sydtest] passed for all of 100 inputs.
24.00 s
[genvalidity-sydtest] ✓ satisfies 'pure = return' for "(Either Int) of ints :: (Either Int Int)" 1.79 ms
24.00 s
[genvalidity-sydtest] passed for all of 100 inputs.
24.00 s
[genvalidity-sydtest] ✓ satisfies '(>>) = (*>)' for "(Either Int) of ints :: (Either Int Int)" and "(Either Int) of ints :: (Either Int Int)" 1.98 ms
24.00 s
[genvalidity-sydtest] passed for all of 100 inputs.
24.00 s
[genvalidity-sydtest] (>>=) :: (Either Int) a -> (b -> (Either Int) a) -> (Either Int) b
24.00 s
[genvalidity-sydtest] ✓ satisfies the third Monad law: 'm >>= (x -> k x >>= h) = (m >>= k) >>= h' for "(Either Int) of ints :: (Either Int Int)" "perturbations using the int :: (Int -> Either Int Int)" and "perturbations using the double the int :: (Int -> Either Int Int)" 1.89 ms
24.00 s
[genvalidity-sydtest] passed for all of 100 inputs.
24.00 s
[genvalidity-sydtest] relation with Functor (Either Int)
24.00 s
[genvalidity-sydtest] ✓ satisfies 'fmap f xs = xs >>= return . f' for "increments :: (Int -> Int)" and "(Either Int) of ints :: (Either Int Int)" 1.80 ms
24.00 s
[genvalidity-sydtest] passed for all of 100 inputs.
24.00 s
[genvalidity-sydtest] Monad Maybe
24.00 s
[genvalidity-sydtest] relation with Functor Maybe
24.00 s
[genvalidity-sydtest] ✓ satisfies 'fmap f xs = xs >>= return . f' for "appends :: ([Char] -> [Char])" and "Just an ABC :: (Maybe [Char])" 2.53 ms
24.00 s
[genvalidity-sydtest] passed for all of 100 inputs.
24.00 s
[genvalidity-sydtest] relation with Applicative Maybe
24.00 s
[genvalidity-sydtest] ✓ satisfies 'pure = return' for "Just an ABC :: (Maybe [Char])" 1.82 ms
24.00 s
[genvalidity-sydtest] passed for all of 100 inputs.
24.00 s
[genvalidity-sydtest] ✓ satisfies '(>>) = (*>)' for "Just an ABC :: (Maybe [Char])" and "Just an ABC :: (Maybe [Char])" 1.91 ms
24.00 s
[genvalidity-sydtest] passed for all of 100 inputs.
24.00 s
[genvalidity-sydtest] ✓ satisfies '(<*>) = ap' for "append 'a' in Just :: (Maybe ([Char] -> [Char]))" and "Just an ABC :: (Maybe [Char])" 1.90 ms
24.00 s
[genvalidity-sydtest] passed for all of 100 inputs.
24.00 s
[genvalidity-sydtest] (>>=) :: Maybe a -> (b -> Maybe a) -> Maybe b
24.00 s
[genvalidity-sydtest] ✓ satisfies the third Monad law: 'm >>= (x -> k x >>= h) = (m >>= k) >>= h' for "Just an ABC :: (Maybe [Char])" "justisation :: ([Char] -> Maybe [Char])" and "justisation :: ([Char] -> Maybe [Char])" 1.89 ms
24.00 s
[genvalidity-sydtest] passed for all of 100 inputs.
24.00 s
[genvalidity-sydtest] return :: a -> Maybe a and (>>=) :: Maybe a -> (b -> Maybe a) -> Maybe b
24.00 s
[genvalidity-sydtest] ✓ satisfy the second Monad law: 'm >>= return = m' for "Just an ABC :: (Maybe [Char])" 1.81 ms
24.00 s
[genvalidity-sydtest] passed for all of 100 inputs.
24.00 s
[genvalidity-sydtest] ✓ satisfy the first Monad law: 'return a >>= k = k a' for "ABC :: [Char]" and "justisation :: ([Char] -> Maybe [Char])" 3.37 ms
24.00 s
[genvalidity-sydtest] passed for all of 100 inputs.
24.00 s
[genvalidity-sydtest] Monad []
24.00 s
[genvalidity-sydtest] (>>=) :: [] a -> (b -> [] a) -> [] b
24.00 s
[genvalidity-sydtest] ✓ satisfies the third Monad law: 'm >>= (x -> k x >>= h) = (m >>= k) >>= h' for "list of fives :: [Int]" "singletonisation :: (Int -> [Int])" and "singletonisation :: (Int -> [Int])" 5.07 ms
24.00 s
[genvalidity-sydtest] passed for all of 100 inputs.
24.00 s
[genvalidity-sydtest] return :: a -> [] a and (>>=) :: [] a -> (b -> [] a) -> [] b
24.00 s
[genvalidity-sydtest] ✓ satisfy the second Monad law: 'm >>= return = m' for "list of fives :: [Int]" 4.94 ms
24.00 s
[genvalidity-sydtest] passed for all of 100 inputs.
24.00 s
[genvalidity-sydtest] ✓ satisfy the first Monad law: 'return a >>= k = k a' for "four :: Int" and "singletonisation :: (Int -> [Int])" 3.26 ms
24.00 s
[genvalidity-sydtest] passed for all of 100 inputs.
24.00 s
[genvalidity-sydtest] relation with Applicative []
24.00 s
[genvalidity-sydtest] ✓ satisfies 'pure = return' for "list of fives :: [Int]" 3.17 ms
24.00 s
[genvalidity-sydtest] passed for all of 100 inputs.
24.00 s
[genvalidity-sydtest] ✓ satisfies '(>>) = (*>)' for "list of fives :: [Int]" and "list of sixes :: [Int]" 6.96 ms
24.00 s
[genvalidity-sydtest] passed for all of 100 inputs.
24.00 s
[genvalidity-sydtest] ✓ satisfies '(<*>) = ap' for "increment in list :: ([Int -> Int])" and "list of fives :: [Int]" 4.71 ms
24.00 s
[genvalidity-sydtest] passed for all of 100 inputs.
24.00 s
[genvalidity-sydtest] relation with Functor []
24.00 s
[genvalidity-sydtest] ✓ satisfies 'fmap f xs = xs >>= return . f' for "factorisations :: (Int -> Int)" and "list of fives :: [Int]" 4.68 ms
24.00 s
[genvalidity-sydtest] passed for all of 100 inputs.
24.00 s
[genvalidity-sydtest] Monad []
24.00 s
[genvalidity-sydtest] relation with Functor []
24.00 s
[genvalidity-sydtest] ✓ satisfies 'fmap f xs = xs >>= return . f' for "increments :: (Int -> Int)" and "[] of ints :: [Int]" 4.60 ms
24.00 s
[genvalidity-sydtest] passed for all of 100 inputs.
24.00 s
[genvalidity-sydtest] (>>=) :: [] a -> (b -> [] a) -> [] b
24.00 s
[genvalidity-sydtest] ✓ satisfies the third Monad law: 'm >>= (x -> k x >>= h) = (m >>= k) >>= h' for "[] of ints :: [Int]" "perturbations using the int :: (Int -> [Int])" and "perturbations using the double the int :: (Int -> [Int])" 144.30 ms
24.00 s
[genvalidity-sydtest] passed for all of 100 inputs.
24.00 s
[genvalidity-sydtest] relation with Applicative []
24.00 s
[genvalidity-sydtest] ✓ satisfies '(>>) = (*>)' for "[] of ints :: [Int]" and "[] of ints :: [Int]" 10.85 ms
24.00 s
[genvalidity-sydtest] passed for all of 100 inputs.
24.00 s
[genvalidity-sydtest] ✓ satisfies 'pure = return' for "[] of ints :: [Int]" 2.97 ms
24.00 s
[genvalidity-sydtest] passed for all of 100 inputs.
24.00 s
[genvalidity-sydtest] ✓ satisfies '(<*>) = ap' for "[] of additions :: ([Int -> Int])" and "[] of ints :: [Int]" 4.57 ms
24.00 s
[genvalidity-sydtest] passed for all of 100 inputs.
24.00 s
[genvalidity-sydtest] return :: a -> [] a and (>>=) :: [] a -> (b -> [] a) -> [] b
24.00 s
[genvalidity-sydtest] ✓ satisfy the first Monad law: 'return a >>= k = k a' for "int :: Int" and "perturbations using the int :: (Int -> [Int])" 4.60 ms
24.00 s
[genvalidity-sydtest] passed for all of 100 inputs.
24.00 s
[genvalidity-sydtest] ✓ satisfy the second Monad law: 'm >>= return = m' for "[] of ints :: [Int]" 4.51 ms
24.00 s
[genvalidity-sydtest] passed for all of 100 inputs.
24.00 s
[genvalidity-sydtest] Test.Syd.Validity.EqSpec
24.00 s
[genvalidity-sydtest] Eq (Ratio Integer)
24.00 s
[genvalidity-sydtest] (==) :: (Ratio Integer) -> (Ratio Integer) -> Bool
24.00 s
[genvalidity-sydtest] ✓ is equivalent to (\a b -> not $ a /= b) for "valid (Ratio Integer)"s 4.67 ms
24.00 s
[genvalidity-sydtest] passed for all of 100 inputs.
24.00 s
[genvalidity-sydtest] ✓ is transitive for "valid (Ratio Integer)"s 4.58 ms
24.00 s
[genvalidity-sydtest] passed for all of 100 inputs.
24.00 s
[genvalidity-sydtest] ✓ is reflexive for "valid (Ratio Integer)"s 4.40 ms
24.00 s
[genvalidity-sydtest] passed for all of 100 inputs.
24.00 s
[genvalidity-sydtest] ✓ is symmetric for "valid (Ratio Integer)"s 4.50 ms
24.00 s
[genvalidity-sydtest] passed for all of 100 inputs.
24.00 s
[genvalidity-sydtest] (/=) :: (Ratio Integer) -> (Ratio Integer) -> Bool
24.00 s
[genvalidity-sydtest] ✓ is equivalent to (\a b -> not $ a == b) for "valid (Ratio Integer)"s 5.24 ms
24.00 s
[genvalidity-sydtest] passed for all of 100 inputs.
24.00 s
[genvalidity-sydtest] ✓ is antireflexive for "valid (Ratio Integer)"s 4.44 ms
24.00 s
[genvalidity-sydtest] passed for all of 100 inputs.
24.00 s
[genvalidity-sydtest] Eq Int
24.00 s
[genvalidity-sydtest] (==) :: Int -> Int -> Bool
24.00 s
[genvalidity-sydtest] ✓ is equivalent to (\a b -> not $ a /= b) for "valid Int"s 4.33 ms
24.00 s
[genvalidity-sydtest] passed for all of 100 inputs.
24.00 s
[genvalidity-sydtest] ✓ is reflexive for "valid Int"s 3.85 ms
24.00 s
[genvalidity-sydtest] passed for all of 100 inputs.
24.00 s
[genvalidity-sydtest] ✓ is transitive for "valid Int"s 3.52 ms
24.00 s
[genvalidity-sydtest] passed for all of 100 inputs.
24.00 s
[genvalidity-sydtest] ✓ is symmetric for "valid Int"s 2.62 ms
24.00 s
[genvalidity-sydtest] passed for all of 100 inputs.
24.00 s
[genvalidity-sydtest] (/=) :: Int -> Int -> Bool
24.00 s
[genvalidity-sydtest] ✓ is equivalent to (\a b -> not $ a == b) for "valid Int"s 2.57 ms
24.00 s
[genvalidity-sydtest] passed for all of 100 inputs.
24.00 s
[genvalidity-sydtest] ✓ is antireflexive for "valid Int"s 2.51 ms
24.00 s
[genvalidity-sydtest] passed for all of 100 inputs.
24.00 s
[genvalidity-sydtest] Eq Int
24.00 s
[genvalidity-sydtest] (==) :: Int -> Int -> Bool
24.00 s
[genvalidity-sydtest] ✓ is transitive for "arbitrary Int"s 1.93 ms
24.00 s
[genvalidity-sydtest] passed for all of 100 inputs.
24.00 s
[genvalidity-sydtest] ✓ is symmetric for "arbitrary Int"s 1.99 ms
24.00 s
[genvalidity-sydtest] passed for all of 100 inputs.
24.00 s
[genvalidity-sydtest] ✓ is reflexive for "arbitrary Int"s 1.96 ms
24.00 s
[genvalidity-sydtest] passed for all of 100 inputs.
24.00 s
[genvalidity-sydtest] ✓ is equivalent to (\a b -> not $ a /= b) for "arbitrary Int"s 1.92 ms
24.00 s
[genvalidity-sydtest] passed for all of 100 inputs.
24.00 s
[genvalidity-sydtest] (/=) :: Int -> Int -> Bool
24.00 s
[genvalidity-sydtest] ✓ is antireflexive for "arbitrary Int"s 1.95 ms
24.00 s
[genvalidity-sydtest] passed for all of 100 inputs.
24.00 s
[genvalidity-sydtest] ✓ is equivalent to (\a b -> not $ a == b) for "arbitrary Int"s 1.95 ms
24.00 s
[genvalidity-sydtest] passed for all of 100 inputs.
24.00 s
[genvalidity-sydtest] Eq Int
24.00 s
[genvalidity-sydtest] (/=) :: Int -> Int -> Bool
24.00 s
[genvalidity-sydtest] ✓ is antireflexive for "even Int"s 1.91 ms
24.00 s
[genvalidity-sydtest] passed for all of 100 inputs.
24.00 s
[genvalidity-sydtest] ✓ is equivalent to (\a b -> not $ a == b) for "even Int"s 1.86 ms
24.00 s
[genvalidity-sydtest] passed for all of 100 inputs.
24.00 s
[genvalidity-sydtest] (==) :: Int -> Int -> Bool
24.00 s
[genvalidity-sydtest] ✓ is equivalent to (\a b -> not $ a /= b) for "even Int"s 1.95 ms
24.00 s
[genvalidity-sydtest] passed for all of 100 inputs.
24.00 s
[genvalidity-sydtest] ✓ is symmetric for "even Int"s 1.90 ms
24.00 s
[genvalidity-sydtest] passed for all of 100 inputs.
24.00 s
[genvalidity-sydtest] ✓ is reflexive for "even Int"s 2.07 ms
24.00 s
[genvalidity-sydtest] passed for all of 100 inputs.
24.00 s
[genvalidity-sydtest] ✓ is transitive for "even Int"s 3.53 ms
24.00 s
[genvalidity-sydtest] passed for all of 100 inputs.
24.00 s
[genvalidity-sydtest] Test.Syd.Validity.ArbitrarySpec
24.00 s
[genvalidity-sydtest] Arbitrary Int
24.00 s
[genvalidity-sydtest] arbitrary :: Gen Int
24.00 s
[genvalidity-sydtest] ✓ only generates valid values 3.91 ms
24.00 s
[genvalidity-sydtest] passed for all of 100 inputs.
24.00 s
[genvalidity-sydtest] Test.Syd.Validity.Operations.CommutativitySpec
24.00 s
[genvalidity-sydtest] commutative
24.00 s
[genvalidity-sydtest] ✓ cross product is not commutative 6.15 ms
24.00 s
[genvalidity-sydtest] passed for all of 1 inputs.
24.00 s
[genvalidity-sydtest] ✓ + is commutative 3.45 ms
24.01 s
[genvalidity-sydtest] passed for all of 100 inputs.
24.01 s
[genvalidity-sydtest] ✓ * is commutative 3.19 ms
24.01 s
[genvalidity-sydtest] passed for all of 100 inputs.
24.01 s
[genvalidity-sydtest] ✓ - is not commutative 18.60 ms
24.01 s
[genvalidity-sydtest] passed for all of 1 inputs.
24.01 s
[genvalidity-sydtest] ✓ dot product is commutative 3.26 ms
24.01 s
[genvalidity-sydtest] passed for all of 100 inputs.
24.01 s
[genvalidity-sydtest] Test.Syd.Validity.GenValiditySpec
24.01 s
[genvalidity-sydtest] GenValid (Ratio Integer)
24.01 s
[genvalidity-sydtest] genValid :: Gen (Ratio Integer)
24.01 s
[genvalidity-sydtest] ✓ only generates valid '(Ratio Integer)'s 5.41 ms
24.01 s
[genvalidity-sydtest] passed for all of 100 inputs.
24.01 s
[genvalidity-sydtest] GenValid (Ratio Integer)
24.01 s
[genvalidity-sydtest] genValid :: Gen (Ratio Integer)
24.01 s
[genvalidity-sydtest] ✓ only generates valid '(Ratio Integer)'s 4.42 ms
24.01 s
[genvalidity-sydtest] passed for all of 100 inputs.
24.01 s
[genvalidity-sydtest] Test.Syd.Validity.ShrinkingSpec
24.01 s
[genvalidity-sydtest] shrinkValid :: (Int -> [Int])
24.01 s
[genvalidity-sydtest] ✓ preserves validity 8.77 ms
24.01 s
[genvalidity-sydtest] passed for all of 100 inputs.
24.01 s
[genvalidity-sydtest] ✓ never shrinks to itself for valid values 4.54 ms
24.01 s
[genvalidity-sydtest] passed for all of 100 inputs.
24.01 s
[genvalidity-sydtest] shrinkValidPreservesValidOnGenValid
24.01 s
[genvalidity-sydtest] ✓ [Ordering] 20.71 ms
24.01 s
[genvalidity-sydtest] passed for all of 100 inputs.
24.01 s
[genvalidity-sydtest] ✓ Ordering 2.25 ms
24.01 s
[genvalidity-sydtest] passed for all of 100 inputs.
24.01 s
[genvalidity-sydtest] shrinkValid :: (Ratio Int8 -> [Ratio Int8])
24.01 s
[genvalidity-sydtest] ✓ never shrinks to itself for valid values 8.78 ms
24.01 s
[genvalidity-sydtest] passed for all of 100 inputs.
24.01 s
[genvalidity-sydtest] ✓ preserves validity 10.50 ms
24.01 s
[genvalidity-sydtest] passed for all of 100 inputs.
24.01 s
[genvalidity-sydtest] shrinkValidDoesNotShrinkToItself
24.01 s
[genvalidity-sydtest] ✓ [Int] 98.05 ms
24.01 s
[genvalidity-sydtest] passed for all of 100 inputs.
24.01 s
[genvalidity-sydtest] ✓ Int 4.50 ms
24.01 s
[genvalidity-sydtest] passed for all of 100 inputs.
24.01 s
[genvalidity-sydtest] shrinkValidDoesNotShrinkToItself
24.01 s
[genvalidity-sydtest] ✓ [Ordering] 10.20 ms
24.01 s
[genvalidity-sydtest] passed for all of 100 inputs.
24.01 s
[genvalidity-sydtest] ✓ Ordering 2.30 ms
24.01 s
[genvalidity-sydtest] passed for all of 100 inputs.
24.01 s
[genvalidity-sydtest] shrinkValidPreservesValidOnGenValid
24.01 s
[really-safe-money] [ 8 of 12] Compiling Money.AmountOf ( src/Money/AmountOf.hs, dist/build/Money/AmountOf.p_o )
24.01 s
[genvalidity-sydtest] ✓ Ordering 4.23 ms
24.01 s
[genvalidity-sydtest] passed for all of 100 inputs.
24.01 s
[genvalidity-sydtest] ✓ [Ordering] 20.11 ms
24.01 s
[genvalidity-sydtest] passed for all of 100 inputs.
24.01 s
[genvalidity-sydtest] Test.Syd.Validity.FunctorSpec
24.01 s
[genvalidity-sydtest] Functor Maybe
24.01 s
[genvalidity-sydtest] fmap :: (a -> b) -> Maybe a -> Maybe b
24.01 s
[genvalidity-sydtest] ✓ satisfieds the second Functor law: 'fmap (f . g) == fmap f . fmap g' for "Just an ABC :: (Maybe [Char])" 's given to "prepends :: ([Char] -> [Char])" and "appends :: ([Char] -> [Char])" 4.54 ms
24.01 s
[genvalidity-sydtest] passed for all of 100 inputs.
24.01 s
[genvalidity-sydtest] ✓ satisfies the first Fuctor law: 'fmap id == id' for "Just an ABC :: (Maybe [Char])" 2.79 ms
24.01 s
[genvalidity-sydtest] passed for all of 100 inputs.
24.01 s
[genvalidity-sydtest] (<$) :: a -> Maybe b -> Maybe a
24.01 s
[genvalidity-sydtest] ✓ is equivalent to its default implementation for "ABC :: [Char]" and "Just an ABC :: (Maybe [Char])" 2.83 ms
24.01 s
[genvalidity-sydtest] passed for all of 100 inputs.
24.01 s
[genvalidity-sydtest] Functor []
24.01 s
[genvalidity-sydtest] fmap :: (a -> b) -> [] a -> [] b
24.01 s
[genvalidity-sydtest] ✓ satisfies the first Fuctor law: 'fmap id == id' for "list of fives :: [Int]" 4.08 ms
24.01 s
[genvalidity-sydtest] passed for all of 100 inputs.
24.01 s
[genvalidity-sydtest] ✓ satisfieds the second Functor law: 'fmap (f . g) == fmap f . fmap g' for "list of fives :: [Int]" 's given to "increments :: (Int -> Int)" and "scalings :: (Int -> Int)" 4.08 ms
24.01 s
[genvalidity-sydtest] passed for all of 100 inputs.
24.01 s
[genvalidity-sydtest] (<$) :: a -> [] b -> [] a
24.01 s
[genvalidity-sydtest] ✓ is equivalent to its default implementation for "four :: Int" and "list of fives :: [Int]" 6.45 ms
24.01 s
[genvalidity-sydtest] passed for all of 100 inputs.
24.01 s
[genvalidity-sydtest] Functor []
24.01 s
[genvalidity-sydtest] (<$) :: a -> [] b -> [] a
24.01 s
[genvalidity-sydtest] ✓ is equivalent to its default implementation for "int :: Int" and "[] of ints :: [Int]" 3.99 ms
24.01 s
[genvalidity-sydtest] passed for all of 100 inputs.
24.01 s
[genvalidity-sydtest] fmap :: (a -> b) -> [] a -> [] b
24.01 s
[genvalidity-sydtest] ✓ satisfieds the second Functor law: 'fmap (f . g) == fmap f . fmap g' for "[] of ints :: [Int]" 's given to "increments :: (Int -> Int)" and "scalings :: (Int -> Int)" 6.36 ms
24.01 s
[genvalidity-sydtest] passed for all of 100 inputs.
24.01 s
[genvalidity-sydtest] ✓ satisfies the first Fuctor law: 'fmap id == id' for "[] of ints :: [Int]" 1.94 ms
24.01 s
[genvalidity-sydtest] passed for all of 100 inputs.
24.01 s
[genvalidity-sydtest] Functor (Either Int)
24.01 s
[genvalidity-sydtest] fmap :: (a -> b) -> (Either Int) a -> (Either Int) b
24.01 s
[genvalidity-sydtest] ✓ satisfies the first Fuctor law: 'fmap id == id' for "(Either Int) of ints :: (Either Int Int)" 1.83 ms
24.01 s
[genvalidity-sydtest] passed for all of 100 inputs.
24.01 s
[genvalidity-sydtest] ✓ satisfieds the second Functor law: 'fmap (f . g) == fmap f . fmap g' for "(Either Int) of ints :: (Either Int Int)" 's given to "increments :: (Int -> Int)" and "scalings :: (Int -> Int)" 1.90 ms
24.01 s
[genvalidity-sydtest] passed for all of 100 inputs.
24.01 s
[genvalidity-sydtest] (<$) :: a -> (Either Int) b -> (Either Int) a
24.01 s
[genvalidity-sydtest] ✓ is equivalent to its default implementation for "int :: Int" and "(Either Int) of ints :: (Either Int Int)" 4.27 ms
24.01 s
[genvalidity-sydtest] passed for all of 100 inputs.
24.01 s
[genvalidity-sydtest] Functor []
24.01 s
[genvalidity-sydtest] (<$) :: a -> [] b -> [] a
24.01 s
[genvalidity-sydtest] ✓ is equivalent to its default implementation for "int :: Int" and "[] of ints :: [Int]" 4.31 ms
24.01 s
[genvalidity-sydtest] passed for all of 100 inputs.
24.01 s
[genvalidity-sydtest] fmap :: (a -> b) -> [] a -> [] b
24.01 s
[genvalidity-sydtest] ✓ satisfies the first Fuctor law: 'fmap id == id' for "[] of ints :: [Int]" 5.56 ms
24.01 s
[genvalidity-sydtest] passed for all of 100 inputs.
24.01 s
[genvalidity-sydtest] ✓ satisfieds the second Functor law: 'fmap (f . g) == fmap f . fmap g' for "[] of ints :: [Int]" 's given to "increments :: (Int -> Int)" and "scalings :: (Int -> Int)" 5.74 ms
24.01 s
[genvalidity-sydtest] passed for all of 100 inputs.
24.01 s
[genvalidity-sydtest] Functor Maybe
24.01 s
[genvalidity-sydtest] (<$) :: a -> Maybe b -> Maybe a
24.01 s
[genvalidity-sydtest] ✓ is equivalent to its default implementation for "int :: Int" and "Maybe of ints :: (Maybe Int)" 4.28 ms
24.01 s
[genvalidity-sydtest] passed for all of 100 inputs.
24.01 s
[genvalidity-sydtest] fmap :: (a -> b) -> Maybe a -> Maybe b
24.01 s
[genvalidity-sydtest] ✓ satisfieds the second Functor law: 'fmap (f . g) == fmap f . fmap g' for "Maybe of ints :: (Maybe Int)" 's given to "increments :: (Int -> Int)" and "scalings :: (Int -> Int)" 4.37 ms
24.01 s
[genvalidity-sydtest] passed for all of 100 inputs.
24.01 s
[genvalidity-sydtest] ✓ satisfies the first Fuctor law: 'fmap id == id' for "Maybe of ints :: (Maybe Int)" 4.18 ms
24.01 s
[genvalidity-sydtest] passed for all of 100 inputs.
24.01 s
[genvalidity-sydtest] Functor ((,) Int)
24.01 s
[genvalidity-sydtest] fmap :: (a -> b) -> ((,) Int) a -> ((,) Int) b
24.01 s
[genvalidity-sydtest] ✓ satisfieds the second Functor law: 'fmap (f . g) == fmap f . fmap g' for "((,) Int) of ints :: (Int,Int)" 's given to "increments :: (Int -> Int)" and "scalings :: (Int -> Int)" 2.67 ms
24.01 s
[genvalidity-sydtest] passed for all of 100 inputs.
24.01 s
[genvalidity-sydtest] ✓ satisfies the first Fuctor law: 'fmap id == id' for "((,) Int) of ints :: (Int,Int)" 2.57 ms
24.01 s
[genvalidity-sydtest] passed for all of 100 inputs.
24.01 s
[genvalidity-sydtest] (<$) :: a -> ((,) Int) b -> ((,) Int) a
24.01 s
[genvalidity-sydtest] ✓ is equivalent to its default implementation for "int :: Int" and "((,) Int) of ints :: (Int,Int)" 2.58 ms
24.01 s
[genvalidity-sydtest] passed for all of 100 inputs.
24.01 s
[genvalidity-sydtest] Functor Maybe
24.01 s
[genvalidity-sydtest] (<$) :: a -> Maybe b -> Maybe a
24.01 s
[genvalidity-sydtest] ✓ is equivalent to its default implementation for "int :: Int" and "Maybe of ints :: (Maybe Int)" 2.51 ms
24.01 s
[genvalidity-sydtest] passed for all of 100 inputs.
24.01 s
[genvalidity-sydtest] fmap :: (a -> b) -> Maybe a -> Maybe b
24.01 s
[genvalidity-sydtest] ✓ satisfieds the second Functor law: 'fmap (f . g) == fmap f . fmap g' for "Maybe of ints :: (Maybe Int)" 's given to "increments :: (Int -> Int)" and "scalings :: (Int -> Int)" 2.53 ms
24.01 s
[genvalidity-sydtest] passed for all of 100 inputs.
24.01 s
[genvalidity-sydtest] ✓ satisfies the first Fuctor law: 'fmap id == id' for "Maybe of ints :: (Maybe Int)" 2.54 ms
24.01 s
[genvalidity-sydtest] passed for all of 100 inputs.
24.01 s
[genvalidity-sydtest] Test.Syd.Validity.ShowSpec
24.01 s
[genvalidity-sydtest] Show (Ratio Integer) and Read (Ratio Integer)
24.01 s
[genvalidity-sydtest] ✓ are implemented such that read . show == id for arbitrary values 5.80 ms
24.01 s
[genvalidity-sydtest] passed for all of 100 inputs.
24.01 s
[genvalidity-sydtest] Show Int and Read Int
24.01 s
[genvalidity-sydtest] ✓ are implemented such that read . show == id for valid values 1.70 ms
24.01 s
[genvalidity-sydtest] passed for all of 100 inputs.
24.01 s
[genvalidity-sydtest] Show (Ratio Integer) and Read (Ratio Integer)
24.01 s
[genvalidity-sydtest] ✓ are implemented such that read . show == id for valid values 4.01 ms
24.01 s
[genvalidity-sydtest] passed for all of 100 inputs.
24.01 s
[genvalidity-sydtest] Show Int and Read Int
24.01 s
[genvalidity-sydtest] ✓ are implemented such that read . show == id for even values 1.76 ms
24.01 s
[genvalidity-sydtest] passed for all of 100 inputs.
24.01 s
[genvalidity-sydtest] Test.Syd.Validity.ApplicativeSpec
24.01 s
[genvalidity-sydtest] Applicative []
24.01 s
[genvalidity-sydtest] (*>) :: [] a -> [] b -> [] b
24.01 s
[genvalidity-sydtest] ✓ is equivalent to its default implementation 'u Type> v = pure (const id) <*> u <*> v' for "[] of ints :: [Int]" in front of "[] of ints :: Int" 8.58 ms
24.01 s
[genvalidity-sydtest] passed for all of 100 inputs.
24.01 s
[genvalidity-sydtest] pure :: a -> [] a and (<*>) :: [] (a -> b) -> [] a -> [] b
24.01 s
[genvalidity-sydtest] ✓ satisfy the interchange law: 'u <*> pure y = pure ($ y) <*> u' for "[] of increments :: ([Int -> Int])" sequenced with "int :: Int" 1.67 ms
24.01 s
[genvalidity-sydtest] passed for all of 100 inputs.
24.01 s
[genvalidity-sydtest] ✓ satisfy the law about the functor instance: fmap f x = pure f <*> x for "increments :: (Int -> Int)" mapped over "[] of ints :: [Int]" 1.78 ms
24.01 s
[genvalidity-sydtest] passed for all of 100 inputs.
24.01 s
[genvalidity-sydtest] ✓ satisfy the identity law: 'pure id <*> v = v' for "[] of ints :: [Int]" 3.50 ms
24.02 s
[genvalidity-sydtest] passed for all of 100 inputs.
24.02 s
[genvalidity-sydtest] ✓ satisfy the composition law: 'pure (.) <*> u <*> v <*> w = u <*> (v <*> w)' for "[] of scalings :: ([Int -> Int])" composed with "[] of increments :: ([Int -> Int])" and applied to "[] of ints :: [Int]" 3.17 ms
24.02 s
[genvalidity-sydtest] passed for all of 100 inputs.
24.02 s
[genvalidity-sydtest] ✓ satisfy the homomorphism law: 'pure f <*> pure x = pure (f x)' for "increments :: (Int -> Int)" sequenced with "int :: Int" 1.68 ms
24.02 s
[genvalidity-sydtest] passed for all of 100 inputs.
24.02 s
[genvalidity-sydtest] (<*) :: [] a -> [] b -> [] a
24.02 s
[genvalidity-sydtest] ✓ is equivalent to its default implementation 'u <* v = pure const <*> u <*> v' for "[] of ints :: Int" behind "[] of ints :: [Int]" 10.48 ms
24.02 s
[genvalidity-sydtest] passed for all of 100 inputs.
24.02 s
[genvalidity-sydtest] Applicative (Either Int)
24.02 s
[genvalidity-sydtest] (*>) :: (Either Int) a -> (Either Int) b -> (Either Int) b
24.02 s
[genvalidity-sydtest] ✓ is equivalent to its default implementation 'u Type> v = pure (const id) <*> u <*> v' for "(Either Int) of ints :: (Either Int Int)" in front of "(Either Int) of ints :: Int" 1.57 ms
24.02 s
[genvalidity-sydtest] passed for all of 100 inputs.
24.02 s
[genvalidity-sydtest] (<*) :: (Either Int) a -> (Either Int) b -> (Either Int) a
24.02 s
[genvalidity-sydtest] ✓ is equivalent to its default implementation 'u <* v = pure const <*> u <*> v' for "(Either Int) of ints :: Int" behind "(Either Int) of ints :: (Either Int Int)" 1.44 ms
24.02 s
[genvalidity-sydtest] passed for all of 100 inputs.
24.02 s
[genvalidity-sydtest] pure :: a -> (Either Int) a and (<*>) :: (Either Int) (a -> b) -> (Either Int) a -> (Either Int) b
24.02 s
[genvalidity-sydtest] ✓ satisfy the identity law: 'pure id <*> v = v' for "(Either Int) of ints :: (Either Int Int)" 1.64 ms
24.02 s
[genvalidity-sydtest] passed for all of 100 inputs.
24.02 s
[genvalidity-sydtest] ✓ satisfy the law about the functor instance: fmap f x = pure f <*> x for "increments :: (Int -> Int)" mapped over "(Either Int) of ints :: (Either Int Int)" 1.61 ms
24.02 s
[genvalidity-sydtest] passed for all of 100 inputs.
24.02 s
[genvalidity-sydtest] ✓ satisfy the composition law: 'pure (.) <*> u <*> v <*> w = u <*> (v <*> w)' for "(Either Int) of scalings :: (Either Int (Int -> Int))" composed with "(Either Int) of increments :: (Either Int (Int -> Int))" and applied to "(Either Int) of ints :: (Either Int Int)" 3.38 ms
24.02 s
[genvalidity-sydtest] passed for all of 100 inputs.
24.02 s
[genvalidity-sydtest] ✓ satisfy the homomorphism law: 'pure f <*> pure x = pure (f x)' for "increments :: (Int -> Int)" sequenced with "int :: Int" 3.21 ms
24.02 s
[genvalidity-sydtest] passed for all of 100 inputs.
24.02 s
[genvalidity-sydtest] ✓ satisfy the interchange law: 'u <*> pure y = pure ($ y) <*> u' for "(Either Int) of increments :: (Either Int (Int -> Int))" sequenced with "int :: Int" 2.24 ms
24.02 s
[genvalidity-sydtest] passed for all of 100 inputs.
24.02 s
[genvalidity-sydtest] Applicative Maybe
24.02 s
[genvalidity-sydtest] pure :: a -> Maybe a and (<*>) :: Maybe (a -> b) -> Maybe a -> Maybe b
24.02 s
[genvalidity-sydtest] ✓ satisfy the homomorphism law: 'pure f <*> pure x = pure (f x)' for "increments :: (Int -> Int)" sequenced with "int :: Int" 2.08 ms
24.02 s
[genvalidity-sydtest] passed for all of 100 inputs.
24.02 s
[genvalidity-sydtest] ✓ satisfy the interchange law: 'u <*> pure y = pure ($ y) <*> u' for "Maybe of increments :: (Maybe (Int -> Int))" sequenced with "int :: Int" 2.15 ms
24.02 s
[genvalidity-sydtest] passed for all of 100 inputs.
24.02 s
[genvalidity-sydtest] ✓ satisfy the law about the functor instance: fmap f x = pure f <*> x for "increments :: (Int -> Int)" mapped over "Maybe of ints :: (Maybe Int)" 2.14 ms
24.02 s
[genvalidity-sydtest] passed for all of 100 inputs.
24.02 s
[genvalidity-sydtest] ✓ satisfy the composition law: 'pure (.) <*> u <*> v <*> w = u <*> (v <*> w)' for "Maybe of scalings :: (Maybe (Int -> Int))" composed with "Maybe of increments :: (Maybe (Int -> Int))" and applied to "Maybe of ints :: (Maybe Int)" 2.30 ms
24.02 s
[genvalidity-sydtest] passed for all of 100 inputs.
24.02 s
[genvalidity-sydtest] ✓ satisfy the identity law: 'pure id <*> v = v' for "Maybe of ints :: (Maybe Int)" 2.06 ms
24.02 s
[genvalidity-sydtest] passed for all of 100 inputs.
24.02 s
[genvalidity-sydtest] (<*) :: Maybe a -> Maybe b -> Maybe a
24.02 s
[genvalidity-sydtest] ✓ is equivalent to its default implementation 'u <* v = pure const <*> u <*> v' for "Maybe of ints :: Int" behind "Maybe of ints :: (Maybe Int)" 2.11 ms
24.02 s
[genvalidity-sydtest] passed for all of 100 inputs.
24.02 s
[genvalidity-sydtest] (*>) :: Maybe a -> Maybe b -> Maybe b
24.02 s
[genvalidity-sydtest] ✓ is equivalent to its default implementation 'u Type> v = pure (const id) <*> u <*> v' for "Maybe of ints :: (Maybe Int)" in front of "Maybe of ints :: Int" 2.34 ms
24.02 s
[genvalidity-sydtest] passed for all of 100 inputs.
24.02 s
[genvalidity-sydtest] Applicative Maybe
24.02 s
[genvalidity-sydtest] (<*) :: Maybe a -> Maybe b -> Maybe a
24.02 s
[genvalidity-sydtest] ✓ is equivalent to its default implementation 'u <* v = pure const <*> u <*> v' for "purely Nothing :: [Char]" behind "Just an ABC :: (Maybe [Char])" 2.26 ms
24.02 s
[genvalidity-sydtest] passed for all of 100 inputs.
24.02 s
[genvalidity-sydtest] (*>) :: Maybe a -> Maybe b -> Maybe b
24.02 s
[genvalidity-sydtest] ✓ is equivalent to its default implementation 'u Type> v = pure (const id) <*> u <*> v' for "Just an ABC :: (Maybe [Char])" in front of "purely Nothing :: [Char]" 2.34 ms
24.02 s
[genvalidity-sydtest] passed for all of 100 inputs.
24.02 s
[genvalidity-sydtest] pure :: a -> Maybe a and (<*>) :: Maybe (a -> b) -> Maybe a -> Maybe b
24.02 s
[genvalidity-sydtest] ✓ satisfy the identity law: 'pure id <*> v = v' for "Just an ABC :: (Maybe [Char])" 2.25 ms
24.02 s
[genvalidity-sydtest] passed for all of 100 inputs.
24.02 s
[genvalidity-sydtest] ✓ satisfy the law about the functor instance: fmap f x = pure f <*> x for "prepends :: ([Char] -> [Char])" mapped over "Just an ABC :: (Maybe [Char])" 4.39 ms
24.02 s
[genvalidity-sydtest] passed for all of 100 inputs.
24.02 s
[genvalidity-sydtest] ✓ satisfy the homomorphism law: 'pure f <*> pure x = pure (f x)' for "prepends :: ([Char] -> [Char])" sequenced with "ABC :: [Char]" 3.15 ms
24.02 s
[genvalidity-sydtest] passed for all of 100 inputs.
24.02 s
[genvalidity-sydtest] ✓ satisfy the composition law: 'pure (.) <*> u <*> v <*> w = u <*> (v <*> w)' for "appends in a Just :: (Maybe ([Char] -> [Char]))" composed with "prepends in a Just :: (Maybe ([Char] -> [Char]))" and applied to "Just an ABC :: (Maybe [Char])" 3.09 ms
24.02 s
[genvalidity-sydtest] passed for all of 100 inputs.
24.02 s
[genvalidity-sydtest] ✓ satisfy the interchange law: 'u <*> pure y = pure ($ y) <*> u' for "prepends in a Just :: (Maybe ([Char] -> [Char]))" sequenced with "ABC :: [Char]" 3.08 ms
24.02 s
[genvalidity-sydtest] passed for all of 100 inputs.
24.02 s
[genvalidity-sydtest] Applicative []
24.02 s
[genvalidity-sydtest] (*>) :: [] a -> [] b -> [] b
24.02 s
[genvalidity-sydtest] ✓ is equivalent to its default implementation 'u Type> v = pure (const id) <*> u <*> v' for "[] of ints :: [Int]" in front of "[] of ints :: Int" 12.81 ms
24.02 s
[genvalidity-sydtest] passed for all of 100 inputs.
24.02 s
[genvalidity-sydtest] pure :: a -> [] a and (<*>) :: [] (a -> b) -> [] a -> [] b
24.02 s
[genvalidity-sydtest] ✓ satisfy the homomorphism law: 'pure f <*> pure x = pure (f x)' for "increments :: (Int -> Int)" sequenced with "int :: Int" 0.65 ms
24.02 s
[genvalidity-sydtest] passed for all of 100 inputs.
24.02 s
[genvalidity-sydtest] ✓ satisfy the composition law: 'pure (.) <*> u <*> v <*> w = u <*> (v <*> w)' for "[] of scalings :: ([Int -> Int])" composed with "[] of increments :: ([Int -> Int])" and applied to "[] of ints :: [Int]" 2.87 ms
24.02 s
[genvalidity-sydtest] passed for all of 100 inputs.
24.02 s
[genvalidity-sydtest] ✓ satisfy the law about the functor instance: fmap f x = pure f <*> x for "increments :: (Int -> Int)" mapped over "[] of ints :: [Int]" 2.75 ms
24.02 s
[genvalidity-sydtest] passed for all of 100 inputs.
24.02 s
[genvalidity-sydtest] ✓ satisfy the identity law: 'pure id <*> v = v' for "[] of ints :: [Int]" 2.75 ms
24.02 s
[genvalidity-sydtest] passed for all of 100 inputs.
24.02 s
[genvalidity-sydtest] ✓ satisfy the interchange law: 'u <*> pure y = pure ($ y) <*> u' for "[] of increments :: ([Int -> Int])" sequenced with "int :: Int" 2.58 ms
24.02 s
[genvalidity-sydtest] passed for all of 100 inputs.
24.02 s
[genvalidity-sydtest] (<*) :: [] a -> [] b -> [] a
24.02 s
[genvalidity-sydtest] ✓ is equivalent to its default implementation 'u <* v = pure const <*> u <*> v' for "[] of ints :: Int" behind "[] of ints :: [Int]" 16.72 ms
24.02 s
[genvalidity-sydtest] passed for all of 100 inputs.
24.02 s
[genvalidity-sydtest] Applicative []
24.02 s
[genvalidity-sydtest] pure :: a -> [] a and (<*>) :: [] (a -> b) -> [] a -> [] b
24.02 s
[genvalidity-sydtest] ✓ satisfy the homomorphism law: 'pure f <*> pure x = pure (f x)' for "increments :: (Int -> Int)" sequenced with "four :: Int" 2.49 ms
24.02 s
[genvalidity-sydtest] passed for all of 100 inputs.
24.02 s
[genvalidity-sydtest] ✓ satisfy the interchange law: 'u <*> pure y = pure ($ y) <*> u' for "increments in a list :: ([Int -> Int])" sequenced with "four :: Int" 2.47 ms
24.02 s
[genvalidity-sydtest] passed for all of 100 inputs.
24.02 s
[genvalidity-sydtest] ✓ satisfy the composition law: 'pure (.) <*> u <*> v <*> w = u <*> (v <*> w)' for "scalings in a list :: ([Int -> Int])" composed with "increments in a list :: ([Int -> Int])" and applied to "list of fives :: [Int]" 2.86 ms
24.02 s
[genvalidity-sydtest] passed for all of 100 inputs.
24.02 s
[genvalidity-sydtest] ✓ satisfy the identity law: 'pure id <*> v = v' for "list of fives :: [Int]" 2.38 ms
24.02 s
[genvalidity-sydtest] passed for all of 100 inputs.
24.02 s
[genvalidity-sydtest] ✓ satisfy the law about the functor instance: fmap f x = pure f <*> x for "increments :: (Int -> Int)" mapped over "list of fives :: [Int]" 3.23 ms
24.02 s
[genvalidity-sydtest] passed for all of 100 inputs.
24.02 s
[genvalidity-sydtest] (<*) :: [] a -> [] b -> [] a
24.02 s
[genvalidity-sydtest] ✓ is equivalent to its default implementation 'u <* v = pure const <*> u <*> v' for "purely empty list :: Int" behind "list of fives :: [Int]" 3.35 ms
24.02 s
[genvalidity-sydtest] passed for all of 100 inputs.
24.02 s
[genvalidity-sydtest] (*>) :: [] a -> [] b -> [] b
24.02 s
[genvalidity-sydtest] ✓ is equivalent to its default implementation 'u Type> v = pure (const id) <*> u <*> v' for "list of fives :: [Int]" in front of "purely empty list :: Int" 2.75 ms
24.02 s
[genvalidity-sydtest] passed for all of 100 inputs.
24.02 s
[genvalidity-sydtest] Applicative Maybe
24.02 s
[genvalidity-sydtest] (*>) :: Maybe a -> Maybe b -> Maybe b
24.02 s
[genvalidity-sydtest] ✓ is equivalent to its default implementation 'u Type> v = pure (const id) <*> u <*> v' for "Maybe of ints :: (Maybe Int)" in front of "Maybe of ints :: Int" 2.56 ms
24.02 s
[genvalidity-sydtest] passed for all of 100 inputs.
24.02 s
[genvalidity-sydtest] (<*) :: Maybe a -> Maybe b -> Maybe a
24.02 s
[genvalidity-sydtest] ✓ is equivalent to its default implementation 'u <* v = pure const <*> u <*> v' for "Maybe of ints :: Int" behind "Maybe of ints :: (Maybe Int)" 2.53 ms
24.02 s
[genvalidity-sydtest] passed for all of 100 inputs.
24.02 s
[genvalidity-sydtest] pure :: a -> Maybe a and (<*>) :: Maybe (a -> b) -> Maybe a -> Maybe b
24.02 s
[genvalidity-sydtest] ✓ satisfy the composition law: 'pure (.) <*> u <*> v <*> w = u <*> (v <*> w)' for "Maybe of scalings :: (Maybe (Int -> Int))" composed with "Maybe of increments :: (Maybe (Int -> Int))" and applied to "Maybe of ints :: (Maybe Int)" 0.70 ms
24.02 s
[genvalidity-sydtest] passed for all of 100 inputs.
24.02 s
[genvalidity-sydtest] ✓ satisfy the identity law: 'pure id <*> v = v' for "Maybe of ints :: (Maybe Int)" 0.66 ms
24.02 s
[genvalidity-sydtest] passed for all of 100 inputs.
24.02 s
[genvalidity-sydtest] ✓ satisfy the law about the functor instance: fmap f x = pure f <*> x for "increments :: (Int -> Int)" mapped over "Maybe of ints :: (Maybe Int)" 0.76 ms
24.02 s
[genvalidity-sydtest] passed for all of 100 inputs.
24.02 s
[genvalidity-sydtest] ✓ satisfy the homomorphism law: 'pure f <*> pure x = pure (f x)' for "increments :: (Int -> Int)" sequenced with "int :: Int" 2.12 ms
24.02 s
[genvalidity-sydtest] passed for all of 100 inputs.
24.02 s
[genvalidity-sydtest] ✓ satisfy the interchange law: 'u <*> pure y = pure ($ y) <*> u' for "Maybe of increments :: (Maybe (Int -> Int))" sequenced with "int :: Int" 0.76 ms
24.02 s
[genvalidity-sydtest] passed for all of 100 inputs.
24.02 s
[genvalidity-sydtest]
24.02 s
[genvalidity-sydtest] Examples: 24402
24.02 s
[genvalidity-sydtest] Passed: 246
24.02 s
[genvalidity-sydtest] Failed: 0
24.02 s
[genvalidity-sydtest] Sum of test runtimes: 1.36 seconds
24.02 s
[genvalidity-sydtest] Test suite took: 0.23 seconds
24.02 s
[genvalidity-sydtest]
24.02 s
[really-safe-money] mutation: instrumenting Money.AmountOf
24.02 s
[really-safe-money] added mutation RemoveCase at src/Money/AmountOf.hs:215:29-113
24.02 s
[really-safe-money] added mutation RemoveCase at src/Money/AmountOf.hs:215:29-113
24.02 s
[really-safe-money] added mutation RemoveCase at src/Money/AmountOf.hs:215:29-113
24.02 s
[really-safe-money] added mutation RemoveCase at src/Money/AmountOf.hs:215:29-113
24.02 s
[really-safe-money] added 4 mutations
24.02 s
[genvalidity-sydtest] Test suite genvalidity-sydtest-test: PASS
24.02 s
[genvalidity-sydtest] Test suite logged to:
24.02 s
[genvalidity-sydtest] dist/test/genvalidity-sydtest-1.0.1.0-genvalidity-sydtest-test.log
24.02 s
[genvalidity-sydtest] 1 of 1 test suites (1 of 1 test cases) passed.
24.03 s
[genvalidity-sydtest] Phase: haddockPhase
24.16 s
[genvalidity-sydtest] Preprocessing library for genvalidity-sydtest-1.0.1.0...
24.16 s
[genvalidity-sydtest] Running Haddock on library for genvalidity-sydtest-1.0.1.0...
24.17 s
[genvalidity-sydtest] Warning: The documentation for the following packages are not installed. No
24.17 s
[genvalidity-sydtest] links will be generated to these packages: attoparsec-0.14.4,
24.17 s
[genvalidity-sydtest] attoparsec-0.14.4, libyaml-clib-0.2.5, path-0.9.6, path-0.9.6, vector-0.13.2.0
24.33 s
[really-safe-money] [ 9 of 12] Compiling Money.Account ( src/Money/Account.hs, dist/build/Money/Account.p_o )
24.35 s
[really-safe-money] mutation: instrumenting Money.Account
24.35 s
[really-safe-money] added mutation RemoveCase at src/Money/Account.hs:553:7-39
24.35 s
[really-safe-money] added mutation RemoveCase at src/Money/Account.hs:553:7-39
24.35 s
[really-safe-money] added mutation RemoveCase at src/Money/Account.hs:553:7-39
24.35 s
[really-safe-money] added mutation RemoveCase at src/Money/Account.hs:553:7-39
24.35 s
[really-safe-money] added mutation RemoveCase at src/Money/Account.hs:591:7-44
24.35 s
[really-safe-money] added mutation RemoveCase at src/Money/Account.hs:591:7-44
24.35 s
[really-safe-money] added mutation IntLit at src/Money/Account.hs:421:32-33
24.35 s
[really-safe-money] added mutation RemoveCase at src/Money/Account.hs:421:11-29
24.35 s
[really-safe-money] added mutation RemoveCase at src/Money/Account.hs:421:11-29
24.35 s
[really-safe-money] added mutation RemoveCase at src/Money/Account.hs:421:11-29
24.35 s
[really-safe-money] added mutation RemoveCase at src/Money/Account.hs:421:11-29
24.35 s
[really-safe-money] added mutation RemoveCase at src/Money/Account.hs:421:11-29
24.35 s
[really-safe-money] added mutation RemoveCase at src/Money/Account.hs:421:11-29
24.35 s
[really-safe-money] added mutation Cmp at src/Money/Account.hs:451:14-23
24.35 s
[really-safe-money] added mutation Cmp at src/Money/Account.hs:451:14-23
24.35 s
[really-safe-money] added mutation Cmp at src/Money/Account.hs:451:14-23
24.35 s
[really-safe-money] added mutation ConstBool at src/Money/Account.hs:451:14-23
24.35 s
[really-safe-money] added mutation ConstBool at src/Money/Account.hs:451:14-23
24.35 s
[really-safe-money] added mutation Negate at src/Money/Account.hs:451:14-23
24.35 s
[really-safe-money] added mutation Cmp at src/Money/Account.hs:455:14-23
24.35 s
[really-safe-money] added mutation Cmp at src/Money/Account.hs:455:14-23
24.35 s
[really-safe-money] added mutation Cmp at src/Money/Account.hs:455:14-23
24.35 s
[really-safe-money] added mutation ConstBool at src/Money/Account.hs:455:14-23
24.35 s
[really-safe-money] added mutation ConstBool at src/Money/Account.hs:455:14-23
24.35 s
[really-safe-money] added mutation Negate at src/Money/Account.hs:455:14-23
24.35 s
[really-safe-money] added mutation RemoveCase at src/Money/Account.hs:447:7-136
24.35 s
[really-safe-money] added mutation RemoveCase at src/Money/Account.hs:447:7-136
24.35 s
[really-safe-money] added mutation RemoveCase at src/Money/Account.hs:447:7-136
24.35 s
[really-safe-money] added mutation RemoveCase at src/Money/Account.hs:447:7-136
24.35 s
[really-safe-money] added mutation MaybeOp at src/Money/Account.hs:523:16-25
24.35 s
[really-safe-money] added mutation RemoveCase at src/Money/Account.hs:522:19-35
24.35 s
[really-safe-money] added mutation RemoveCase at src/Money/Account.hs:522:19-35
24.35 s
[really-safe-money] added mutation RemoveCase at src/Money/Account.hs:522:19-35
24.35 s
[really-safe-money] added mutation IntLit at src/Money/Account.hs:495:17-18
24.35 s
[really-safe-money] added mutation Cmp at src/Money/Account.hs:495:12-18
24.35 s
[really-safe-money] added mutation Cmp at src/Money/Account.hs:495:12-18
24.35 s
[really-safe-money] added mutation Cmp at src/Money/Account.hs:495:12-18
24.35 s
[really-safe-money] added mutation ConstBool at src/Money/Account.hs:495:12-18
24.35 s
[really-safe-money] added mutation ConstBool at src/Money/Account.hs:495:12-18
24.35 s
[really-safe-money] added mutation Negate at src/Money/Account.hs:495:12-18
24.35 s
[really-safe-money] added mutation RemoveCase at src/Money/Account.hs:497:16-41
24.35 s
[really-safe-money] added mutation RemoveCase at src/Money/Account.hs:497:16-41
24.35 s
[really-safe-money] added mutation RemoveCase at src/Money/Account.hs:497:16-41
24.35 s
[really-safe-money] added mutation IntLit at src/Money/Account.hs:503:15-16
24.35 s
[really-safe-money] added mutation Cmp at src/Money/Account.hs:503:10-16
24.35 s
[really-safe-money] added mutation Cmp at src/Money/Account.hs:503:10-16
24.35 s
[really-safe-money] added mutation Cmp at src/Money/Account.hs:503:10-16
24.35 s
[really-safe-money] added mutation ConstBool at src/Money/Account.hs:503:10-16
24.35 s
[really-safe-money] added mutation ConstBool at src/Money/Account.hs:503:10-16
24.36 s
[really-safe-money] added mutation Negate at src/Money/Account.hs:503:10-16
24.36 s
[really-safe-money] added mutation IntLit at src/Money/Account.hs:233:19-20
24.36 s
[really-safe-money] added mutation Cmp at src/Money/Account.hs:233:14-20
24.36 s
[really-safe-money] added mutation Cmp at src/Money/Account.hs:233:14-20
24.36 s
[really-safe-money] added mutation Cmp at src/Money/Account.hs:233:14-20
24.36 s
[really-safe-money] added mutation ConstBool at src/Money/Account.hs:233:14-20
24.36 s
[really-safe-money] added mutation ConstBool at src/Money/Account.hs:233:14-20
24.36 s
[really-safe-money] added mutation Negate at src/Money/Account.hs:233:14-20
24.36 s
[really-safe-money] added mutation RemoveCase at src/Money/Account.hs:211:11-37
24.36 s
[really-safe-money] added mutation RemoveCase at src/Money/Account.hs:211:11-37
24.36 s
[really-safe-money] added mutation IntLit at src/Money/Account.hs:197:19-20
24.36 s
[really-safe-money] added mutation Cmp at src/Money/Account.hs:197:14-20
24.36 s
[really-safe-money] added mutation Cmp at src/Money/Account.hs:197:14-20
24.36 s
[really-safe-money] added mutation Cmp at src/Money/Account.hs:197:14-20
24.36 s
[really-safe-money] added mutation ConstBool at src/Money/Account.hs:197:14-20
24.36 s
[really-safe-money] added mutation ConstBool at src/Money/Account.hs:197:14-20
24.36 s
[really-safe-money] added mutation Negate at src/Money/Account.hs:197:14-20
24.36 s
[really-safe-money] added mutation RemoveCase at src/Money/Account.hs:171:11-37
24.36 s
[really-safe-money] added mutation RemoveCase at src/Money/Account.hs:171:11-37
24.36 s
[really-safe-money] added mutation RemoveCase at src/Money/Account.hs:155:11-37
24.36 s
[really-safe-money] added mutation RemoveCase at src/Money/Account.hs:155:11-37
24.36 s
[really-safe-money] added mutation Cmp at src/Money/Account.hs:123:10-23
24.36 s
[really-safe-money] added mutation Cmp at src/Money/Account.hs:123:10-23
24.36 s
[really-safe-money] added mutation Cmp at src/Money/Account.hs:123:10-23
24.36 s
[really-safe-money] added mutation ConstBool at src/Money/Account.hs:123:10-23
24.36 s
[really-safe-money] added mutation ConstBool at src/Money/Account.hs:123:10-23
24.36 s
[really-safe-money] added mutation Negate at src/Money/Account.hs:123:10-23
24.36 s
[really-safe-money] added mutation IntLit at src/Money/Account.hs:131:25-26
24.36 s
[really-safe-money] added mutation Cmp at src/Money/Account.hs:131:20-26
24.36 s
[really-safe-money] added mutation Cmp at src/Money/Account.hs:131:20-26
24.36 s
[really-safe-money] added mutation Cmp at src/Money/Account.hs:131:20-26
24.36 s
[really-safe-money] added mutation ConstBool at src/Money/Account.hs:131:20-26
24.36 s
[really-safe-money] added mutation ConstBool at src/Money/Account.hs:131:20-26
24.36 s
[really-safe-money] added mutation Negate at src/Money/Account.hs:131:20-26
24.36 s
[really-safe-money] added mutation Arith at src/Money/Account.hs:341:11-18
24.36 s
[really-safe-money] added mutation Arith at src/Money/Account.hs:341:11-18
24.36 s
[really-safe-money] added mutation Arith at src/Money/Account.hs:378:11-18
24.36 s
[really-safe-money] added mutation Arith at src/Money/Account.hs:378:11-18
24.36 s
[really-safe-money] added 87 mutations
24.44 s
[genvalidity-sydtest] [ 1 of 34] Compiling Paths_genvalidity_sydtest ( dist/build/autogen/Paths_genvalidity_sydtest.hs, nothing )
24.48 s
[genvalidity-sydtest] [ 2 of 34] Compiling Test.Syd.Validity.Functions.Idempotence ( src/Test/Syd/Validity/Functions/Idempotence.hs, nothing )
24.52 s
[genvalidity-sydtest] [ 3 of 34] Compiling Test.Syd.Validity.Operations.Associativity ( src/Test/Syd/Validity/Operations/Associativity.hs, nothing )
24.53 s
[genvalidity-sydtest] [ 4 of 34] Compiling Test.Syd.Validity.Operations.Commutativity ( src/Test/Syd/Validity/Operations/Commutativity.hs, nothing )
24.54 s
[genvalidity-sydtest] [ 5 of 34] Compiling Test.Syd.Validity.Operations.Identity ( src/Test/Syd/Validity/Operations/Identity.hs, nothing )
24.55 s
[genvalidity-sydtest] [ 6 of 34] Compiling Test.Syd.Validity.Operations ( src/Test/Syd/Validity/Operations.hs, nothing )
24.55 s
[genvalidity-sydtest] [ 7 of 34] Compiling Test.Syd.Validity.Property.Utils ( src/Test/Syd/Validity/Property/Utils.hs, nothing )
24.56 s
[genvalidity-sydtest] [ 8 of 34] Compiling Test.Syd.Validity.GenValidity.Property ( src/Test/Syd/Validity/GenValidity/Property.hs, nothing )
24.56 s
[genvalidity-sydtest] [ 9 of 34] Compiling Test.Syd.Validity.Functions.Validity ( src/Test/Syd/Validity/Functions/Validity.hs, nothing )
24.64 s
[genvalidity-sydtest] [10 of 34] Compiling Test.Syd.Validity.Relations.Antireflexivity ( src/Test/Syd/Validity/Relations/Antireflexivity.hs, nothing )
24.64 s
[genvalidity-sydtest] [11 of 34] Compiling Test.Syd.Validity.Relations.Antisymmetry ( src/Test/Syd/Validity/Relations/Antisymmetry.hs, nothing )
24.65 s
[genvalidity-sydtest] [12 of 34] Compiling Test.Syd.Validity.Relations.Reflexivity ( src/Test/Syd/Validity/Relations/Reflexivity.hs, nothing )
24.65 s
[genvalidity-sydtest] [13 of 34] Compiling Test.Syd.Validity.Relations.Symmetry ( src/Test/Syd/Validity/Relations/Symmetry.hs, nothing )
24.66 s
[genvalidity-sydtest] [14 of 34] Compiling Test.Syd.Validity.Relations.Transitivity ( src/Test/Syd/Validity/Relations/Transitivity.hs, nothing )
24.66 s
[genvalidity-sydtest] [15 of 34] Compiling Test.Syd.Validity.Relations ( src/Test/Syd/Validity/Relations.hs, nothing )
24.67 s
[genvalidity-sydtest] [16 of 34] Compiling Test.Syd.Validity.Shrinking.Property ( src/Test/Syd/Validity/Shrinking/Property.hs, nothing )
24.68 s
[genvalidity-sydtest] [17 of 34] Compiling Test.Syd.Validity.Types ( src/Test/Syd/Validity/Types.hs, nothing )
24.68 s
[genvalidity-sydtest] [18 of 34] Compiling Test.Syd.Validity.Functions.Inverse ( src/Test/Syd/Validity/Functions/Inverse.hs, nothing )
24.70 s
[genvalidity-sydtest] [19 of 34] Compiling Test.Syd.Validity.Functions.Equivalence ( src/Test/Syd/Validity/Functions/Equivalence.hs, nothing )
24.74 s
[genvalidity-sydtest] [20 of 34] Compiling Test.Syd.Validity.Functions.CanFail ( src/Test/Syd/Validity/Functions/CanFail.hs, nothing )
24.76 s
[genvalidity-sydtest] [21 of 34] Compiling Test.Syd.Validity.Functions ( src/Test/Syd/Validity/Functions.hs, nothing )
24.76 s
[genvalidity-sydtest] [22 of 34] Compiling Test.Syd.Validity.Property ( src/Test/Syd/Validity/Property.hs, nothing )
24.77 s
[genvalidity-sydtest] [23 of 34] Compiling Test.Syd.Validity.Utils ( src/Test/Syd/Validity/Utils.hs, nothing )
24.77 s
[genvalidity-sydtest] [24 of 34] Compiling Test.Syd.Validity.Shrinking ( src/Test/Syd/Validity/Shrinking.hs, nothing )
24.79 s
[genvalidity-sydtest] [25 of 34] Compiling Test.Syd.Validity.Show ( src/Test/Syd/Validity/Show.hs, nothing )
24.80 s
[genvalidity-sydtest] [26 of 34] Compiling Test.Syd.Validity.Ord ( src/Test/Syd/Validity/Ord.hs, nothing )
24.94 s
[genvalidity-sydtest] [27 of 34] Compiling Test.Syd.Validity.Monoid ( src/Test/Syd/Validity/Monoid.hs, nothing )
24.95 s
[genvalidity-sydtest] [28 of 34] Compiling Test.Syd.Validity.Monad ( src/Test/Syd/Validity/Monad.hs, nothing )
25.06 s
[genvalidity-sydtest] [29 of 34] Compiling Test.Syd.Validity.GenValidity ( src/Test/Syd/Validity/GenValidity.hs, nothing )
25.06 s
[genvalidity-sydtest] [30 of 34] Compiling Test.Syd.Validity.Functor ( src/Test/Syd/Validity/Functor.hs, nothing )
25.07 s
[genvalidity-sydtest] [31 of 34] Compiling Test.Syd.Validity.Eq ( src/Test/Syd/Validity/Eq.hs, nothing )
25.08 s
[genvalidity-sydtest] [32 of 34] Compiling Test.Syd.Validity.Arbitrary ( src/Test/Syd/Validity/Arbitrary.hs, nothing )
25.09 s
[genvalidity-sydtest] [33 of 34] Compiling Test.Syd.Validity.Applicative ( src/Test/Syd/Validity/Applicative.hs, nothing )
25.11 s
[genvalidity-sydtest] [34 of 34] Compiling Test.Syd.Validity ( src/Test/Syd/Validity.hs, nothing )
25.12 s
[genvalidity-sydtest] Haddock coverage:
25.12 s
[genvalidity-sydtest] 50% ( 2 / 4) in 'Test.Syd.Validity.Functions.Idempotence'
25.12 s
[genvalidity-sydtest] Missing documentation for:
25.12 s
[genvalidity-sydtest] idempotentOnGen (src/Test/Syd/Validity/Functions/Idempotence.hs:17)
25.12 s
[genvalidity-sydtest] idempotent (src/Test/Syd/Validity/Functions/Idempotence.hs:20)
25.12 s
[genvalidity-sydtest] 75% ( 3 / 4) in 'Test.Syd.Validity.Operations.Associativity'
25.12 s
[genvalidity-sydtest] Missing documentation for:
25.12 s
[genvalidity-sydtest] Module header
25.12 s
[genvalidity-sydtest] 75% ( 3 / 4) in 'Test.Syd.Validity.Operations.Commutativity'
25.12 s
[genvalidity-sydtest] Missing documentation for:
25.12 s
[genvalidity-sydtest] Module header
25.12 s
[genvalidity-sydtest] 64% ( 9 / 14) in 'Test.Syd.Validity.Operations.Identity'
25.12 s
[genvalidity-sydtest] Missing documentation for:
25.12 s
[genvalidity-sydtest] Module header
25.12 s
[genvalidity-sydtest] leftIdentityOnGenWithEquality (src/Test/Syd/Validity/Operations/Identity.hs:54)
25.12 s
[genvalidity-sydtest] leftIdentityOnGen (src/Test/Syd/Validity/Operations/Identity.hs:66)
25.12 s
[genvalidity-sydtest] rightIdentityOnGenWithEquality (src/Test/Syd/Validity/Operations/Identity.hs:111)
25.12 s
[genvalidity-sydtest] rightIdentityOnGen (src/Test/Syd/Validity/Operations/Identity.hs:123)
25.12 s
[genvalidity-sydtest] 100% ( 4 / 4) in 'Test.Syd.Validity.Operations'
25.12 s
[genvalidity-sydtest] 0% ( 0 / 6) in 'Test.Syd.Validity.Property.Utils'
25.12 s
[genvalidity-sydtest] Missing documentation for:
25.12 s
[genvalidity-sydtest] Module header
25.12 s
[genvalidity-sydtest] forAllValid (src/Test/Syd/Validity/Property/Utils.hs:15)
25.12 s
[genvalidity-sydtest] shouldBeValid (src/Test/Syd/Validity/Property/Utils.hs:24)
25.12 s
[genvalidity-sydtest] shouldBeInvalid (src/Test/Syd/Validity/Property/Utils.hs:40)
25.12 s
[genvalidity-sydtest] <==> (src/Test/Syd/Validity/Property/Utils.hs:21)
25.12 s
[genvalidity-sydtest] ===> (src/Test/Syd/Validity/Property/Utils.hs:18)
25.12 s
[genvalidity-sydtest] 100% ( 3 / 3) in 'Test.Syd.Validity.GenValidity.Property'
25.12 s
[genvalidity-sydtest] 40% ( 4 / 10) in 'Test.Syd.Validity.Functions.Validity'
25.12 s
[genvalidity-sydtest] Missing documentation for:
25.12 s
[genvalidity-sydtest] producesValidsOnGens2 (src/Test/Syd/Validity/Functions/Validity.hs:51)
25.12 s
[genvalidity-sydtest] producesValid2 (src/Test/Syd/Validity/Functions/Validity.hs:58)
25.12 s
[genvalidity-sydtest] producesValidsOnArbitrary2 (src/Test/Syd/Validity/Functions/Validity.hs:64)
25.12 s
[genvalidity-sydtest] producesValidsOnGens3 (src/Test/Syd/Validity/Functions/Validity.hs:72)
25.12 s
[genvalidity-sydtest] producesValid3 (src/Test/Syd/Validity/Functions/Validity.hs:87)
25.12 s
[genvalidity-sydtest] producesValidsOnArbitrary3 (src/Test/Syd/Validity/Functions/Validity.hs:101)
25.12 s
[genvalidity-sydtest] 60% ( 3 / 5) in 'Test.Syd.Validity.Relations.Antireflexivity'
25.12 s
[genvalidity-sydtest] Missing documentation for:
25.12 s
[genvalidity-sydtest] Module header
25.12 s
[genvalidity-sydtest] antireflexivityOnGen (src/Test/Syd/Validity/Relations/Antireflexivity.hs:32)
25.12 s
[genvalidity-sydtest] 50% ( 3 / 6) in 'Test.Syd.Validity.Relations.Antisymmetry'
25.12 s
[genvalidity-sydtest] Missing documentation for:
25.12 s
[genvalidity-sydtest] Module header
25.12 s
[genvalidity-sydtest] antisymmetryOnGensWithEquality (src/Test/Syd/Validity/Relations/Antisymmetry.hs:43)
25.12 s
[genvalidity-sydtest] antisymmetryOnGens (src/Test/Syd/Validity/Relations/Antisymmetry.hs:54)
25.12 s
[genvalidity-sydtest] 60% ( 3 / 5) in 'Test.Syd.Validity.Relations.Reflexivity'
25.12 s
[genvalidity-sydtest] Missing documentation for:
25.12 s
[genvalidity-sydtest] Module header
25.12 s
[genvalidity-sydtest] reflexivityOnGen (src/Test/Syd/Validity/Relations/Reflexivity.hs:32)
25.12 s
[genvalidity-sydtest] 60% ( 3 / 5) in 'Test.Syd.Validity.Relations.Symmetry'
25.12 s
[genvalidity-sydtest] Missing documentation for:
25.12 s
[genvalidity-sydtest] Module header
25.12 s
[genvalidity-sydtest] symmetryOnGens (src/Test/Syd/Validity/Relations/Symmetry.hs:34)
25.12 s
[genvalidity-sydtest] 60% ( 3 / 5) in 'Test.Syd.Validity.Relations.Transitivity'
25.12 s
[genvalidity-sydtest] Missing documentation for:
25.12 s
[genvalidity-sydtest] Module header
25.12 s
[genvalidity-sydtest] transitivityOnGens (src/Test/Syd/Validity/Relations/Transitivity.hs:35)
25.12 s
[genvalidity-sydtest] 100% ( 6 / 6) in 'Test.Syd.Validity.Relations'
25.12 s
[genvalidity-sydtest] 100% ( 13 / 13) in 'Test.Syd.Validity.Shrinking.Property'
25.12 s
[genvalidity-sydtest] 50% ( 1 / 2) in 'Test.Syd.Validity.Types'
25.12 s
[genvalidity-sydtest] Missing documentation for:
25.12 s
[genvalidity-sydtest] Module header
25.12 s
[genvalidity-sydtest] 15% ( 2 / 13) in 'Test.Syd.Validity.Functions.Inverse'
25.12 s
[genvalidity-sydtest] Missing documentation for:
25.12 s
[genvalidity-sydtest] inverseFunctionsOnGen (src/Test/Syd/Validity/Functions/Inverse.hs:28)
25.12 s
[genvalidity-sydtest] inverseFunctions (src/Test/Syd/Validity/Functions/Inverse.hs:33)
25.12 s
[genvalidity-sydtest] inverseFunctionsIfFirstSucceedsOnGen (src/Test/Syd/Validity/Functions/Inverse.hs:49)
25.12 s
[genvalidity-sydtest] inverseFunctionsIfFirstSucceeds (src/Test/Syd/Validity/Functions/Inverse.hs:60)
25.12 s
[genvalidity-sydtest] inverseFunctionsIfFirstSucceedsOnArbitrary (src/Test/Syd/Validity/Functions/Inverse.hs:68)
25.12 s
[genvalidity-sydtest] inverseFunctionsIfSecondSucceedsOnGen (src/Test/Syd/Validity/Functions/Inverse.hs:78)
25.12 s
[genvalidity-sydtest] inverseFunctionsIfSecondSucceeds (src/Test/Syd/Validity/Functions/Inverse.hs:89)
25.12 s
[genvalidity-sydtest] inverseFunctionsIfSecondSucceedsOnArbitrary (src/Test/Syd/Validity/Functions/Inverse.hs:97)
25.12 s
[genvalidity-sydtest] inverseFunctionsIfSucceedOnGen (src/Test/Syd/Validity/Functions/Inverse.hs:107)
25.12 s
[genvalidity-sydtest] inverseFunctionsIfSucceed (src/Test/Syd/Validity/Functions/Inverse.hs:120)
25.12 s
[genvalidity-sydtest] inverseFunctionsIfSucceedOnArbitrary (src/Test/Syd/Validity/Functions/Inverse.hs:128)
25.12 s
[genvalidity-sydtest] 7% ( 2 / 28) in 'Test.Syd.Validity.Functions.Equivalence'
25.12 s
[genvalidity-sydtest] Missing documentation for:
25.12 s
[genvalidity-sydtest] Module header
25.12 s
[genvalidity-sydtest] equivalentOnGen (src/Test/Syd/Validity/Functions/Equivalence.hs:47)
25.12 s
[genvalidity-sydtest] equivalent (src/Test/Syd/Validity/Functions/Equivalence.hs:54)
25.12 s
[genvalidity-sydtest] equivalentOnGens2 (src/Test/Syd/Validity/Functions/Equivalence.hs:73)
25.12 s
[genvalidity-sydtest] equivalent2 (src/Test/Syd/Validity/Functions/Equivalence.hs:81)
25.12 s
[genvalidity-sydtest] equivalentWhenFirstSucceedsOnGen (src/Test/Syd/Validity/Functions/Equivalence.hs:100)
25.12 s
[genvalidity-sydtest] equivalentWhenFirstSucceeds (src/Test/Syd/Validity/Functions/Equivalence.hs:119)
25.12 s
[genvalidity-sydtest] equivalentWhenFirstSucceedsOnArbitrary (src/Test/Syd/Validity/Functions/Equivalence.hs:111)
25.12 s
[genvalidity-sydtest] equivalentWhenFirstSucceedsOnGens2 (src/Test/Syd/Validity/Functions/Equivalence.hs:129)
25.12 s
[genvalidity-sydtest] equivalentWhenFirstSucceeds2 (src/Test/Syd/Validity/Functions/Equivalence.hs:162)
25.12 s
[genvalidity-sydtest] equivalentWhenFirstSucceedsOnArbitrary2 (src/Test/Syd/Validity/Functions/Equivalence.hs:147)
25.12 s
[genvalidity-sydtest] equivalentWhenSecondSucceedsOnGen (src/Test/Syd/Validity/Functions/Equivalence.hs:172)
25.12 s
[genvalidity-sydtest] equivalentWhenSecondSucceeds (src/Test/Syd/Validity/Functions/Equivalence.hs:191)
25.12 s
[genvalidity-sydtest] equivalentWhenSecondSucceedsOnArbitrary (src/Test/Syd/Validity/Functions/Equivalence.hs:183)
25.12 s
[genvalidity-sydtest] equivalentWhenSecondSucceedsOnGens2 (src/Test/Syd/Validity/Functions/Equivalence.hs:201)
25.12 s
[genvalidity-sydtest] equivalentWhenSecondSucceeds2 (src/Test/Syd/Validity/Functions/Equivalence.hs:234)
25.12 s
[genvalidity-sydtest] equivalentWhenSecondSucceedsOnArbitrary2 (src/Test/Syd/Validity/Functions/Equivalence.hs:219)
25.12 s
[genvalidity-sydtest] equivalentWhenSucceedOnGen (src/Test/Syd/Validity/Functions/Equivalence.hs:244)
25.12 s
[genvalidity-sydtest] equivalentWhenSucceed (src/Test/Syd/Validity/Functions/Equivalence.hs:258)
25.12 s
[genvalidity-sydtest] equivalentWhenSucceedOnArbitrary (src/Test/Syd/Validity/Functions/Equivalence.hs:266)
25.12 s
[genvalidity-sydtest] equivalentWhenSucceedOnGens2 (src/Test/Syd/Validity/Functions/Equivalence.hs:276)
25.12 s
[genvalidity-sydtest] equivalentWhenSucceed2 (src/Test/Syd/Validity/Functions/Equivalence.hs:312)
25.12 s
[genvalidity-sydtest] equivalentWhenSucceedOnArbitrary2 (src/Test/Syd/Validity/Functions/Equivalence.hs:297)
25.12 s
[genvalidity-sydtest] equivalentOnGens3 (src/Test/Syd/Validity/Functions/Equivalence.hs:322)
25.12 s
[genvalidity-sydtest] equivalent3 (src/Test/Syd/Validity/Functions/Equivalence.hs:338)
25.12 s
[genvalidity-sydtest] equivalentOnArbitrary3 (src/Test/Syd/Validity/Functions/Equivalence.hs:353)
25.12 s
[genvalidity-sydtest] 38% ( 7 / 18) in 'Test.Syd.Validity.Functions.CanFail'
25.12 s
[genvalidity-sydtest] Missing documentation for:
25.12 s
[genvalidity-sydtest] Module header
25.12 s
[genvalidity-sydtest] succeedsOnGens2 (src/Test/Syd/Validity/Functions/CanFail.hs:77)
25.12 s
[genvalidity-sydtest] succeeds2 (src/Test/Syd/Validity/Functions/CanFail.hs:84)
25.12 s
[genvalidity-sydtest] succeedsOnArbitrary2 (src/Test/Syd/Validity/Functions/CanFail.hs:90)
25.12 s
[genvalidity-sydtest] failsOnGens2 (src/Test/Syd/Validity/Functions/CanFail.hs:100)
25.12 s
[genvalidity-sydtest] validIfSucceedsOnGens2 (src/Test/Syd/Validity/Functions/CanFail.hs:109)
25.12 s
[genvalidity-sydtest] validIfSucceeds2 (src/Test/Syd/Validity/Functions/CanFail.hs:119)
25.12 s
[genvalidity-sydtest] validIfSucceedsOnArbitrary2 (src/Test/Syd/Validity/Functions/CanFail.hs:125)
25.12 s
[genvalidity-sydtest] validIfSucceedsOnGens3 (src/Test/Syd/Validity/Functions/CanFail.hs:133)
25.12 s
[genvalidity-sydtest] validIfSucceeds3 (src/Test/Syd/Validity/Functions/CanFail.hs:152)
25.12 s
[genvalidity-sydtest] validIfSucceedsOnArbitrary3 (src/Test/Syd/Validity/Functions/CanFail.hs:158)
25.12 s
[genvalidity-sydtest] 100% ( 6 / 6) in 'Test.Syd.Validity.Functions'
25.13 s
[genvalidity-sydtest] 54% ( 80 /146) in 'Test.Syd.Validity.Property'
25.13 s
[genvalidity-sydtest] Missing documentation for:
25.13 s
[genvalidity-sydtest] Module header
25.13 s
[genvalidity-sydtest] forAllValid (src/Test/Syd/Validity/Property/Utils.hs:15)
25.13 s
[genvalidity-sydtest] producesValidsOnGens2 (src/Test/Syd/Validity/Functions/Validity.hs:51)
25.13 s
[genvalidity-sydtest] producesValid2 (src/Test/Syd/Validity/Functions/Validity.hs:58)
25.13 s
[genvalidity-sydtest] producesValidsOnArbitrary2 (src/Test/Syd/Validity/Functions/Validity.hs:64)
25.13 s
[genvalidity-sydtest] producesValidsOnGens3 (src/Test/Syd/Validity/Functions/Validity.hs:72)
25.13 s
[genvalidity-sydtest] producesValid3 (src/Test/Syd/Validity/Functions/Validity.hs:87)
25.13 s
[genvalidity-sydtest] producesValidsOnArbitrary3 (src/Test/Syd/Validity/Functions/Validity.hs:101)
25.13 s
[genvalidity-sydtest] succeedsOnGens2 (src/Test/Syd/Validity/Functions/CanFail.hs:77)
25.13 s
[genvalidity-sydtest] succeeds2 (src/Test/Syd/Validity/Functions/CanFail.hs:84)
25.13 s
[genvalidity-sydtest] succeedsOnArbitrary2 (src/Test/Syd/Validity/Functions/CanFail.hs:90)
25.13 s
[genvalidity-sydtest] failsOnGens2 (src/Test/Syd/Validity/Functions/CanFail.hs:100)
25.13 s
[genvalidity-sydtest] validIfSucceedsOnGens2 (src/Test/Syd/Validity/Functions/CanFail.hs:109)
25.13 s
[genvalidity-sydtest] validIfSucceeds2 (src/Test/Syd/Validity/Functions/CanFail.hs:119)
25.13 s
[genvalidity-sydtest] validIfSucceedsOnArbitrary2 (src/Test/Syd/Validity/Functions/CanFail.hs:125)
25.13 s
[genvalidity-sydtest] validIfSucceedsOnGens3 (src/Test/Syd/Validity/Functions/CanFail.hs:133)
25.13 s
[genvalidity-sydtest] validIfSucceeds3 (src/Test/Syd/Validity/Functions/CanFail.hs:152)
25.13 s
[genvalidity-sydtest] validIfSucceedsOnArbitrary3 (src/Test/Syd/Validity/Functions/CanFail.hs:158)
25.13 s
[genvalidity-sydtest] equivalentOnGen (src/Test/Syd/Validity/Functions/Equivalence.hs:47)
25.13 s
[genvalidity-sydtest] equivalent (src/Test/Syd/Validity/Functions/Equivalence.hs:54)
25.13 s
[genvalidity-sydtest] equivalentOnGens2 (src/Test/Syd/Validity/Functions/Equivalence.hs:73)
25.13 s
[genvalidity-sydtest] equivalent2 (src/Test/Syd/Validity/Functions/Equivalence.hs:81)
25.13 s
[genvalidity-sydtest] equivalentOnGens3 (src/Test/Syd/Validity/Functions/Equivalence.hs:322)
25.13 s
[genvalidity-sydtest] equivalent3 (src/Test/Syd/Validity/Functions/Equivalence.hs:338)
25.13 s
[genvalidity-sydtest] equivalentOnArbitrary3 (src/Test/Syd/Validity/Functions/Equivalence.hs:353)
25.13 s
[genvalidity-sydtest] equivalentWhenFirstSucceedsOnGen (src/Test/Syd/Validity/Functions/Equivalence.hs:100)
25.13 s
[genvalidity-sydtest] equivalentWhenFirstSucceeds (src/Test/Syd/Validity/Functions/Equivalence.hs:119)
25.13 s
[genvalidity-sydtest] equivalentWhenFirstSucceedsOnArbitrary (src/Test/Syd/Validity/Functions/Equivalence.hs:111)
25.13 s
[genvalidity-sydtest] equivalentWhenFirstSucceedsOnGens2 (src/Test/Syd/Validity/Functions/Equivalence.hs:129)
25.13 s
[genvalidity-sydtest] equivalentWhenFirstSucceeds2 (src/Test/Syd/Validity/Functions/Equivalence.hs:162)
25.13 s
[genvalidity-sydtest] equivalentWhenFirstSucceedsOnArbitrary2 (src/Test/Syd/Validity/Functions/Equivalence.hs:147)
25.13 s
[genvalidity-sydtest] equivalentWhenSecondSucceedsOnGen (src/Test/Syd/Validity/Functions/Equivalence.hs:172)
25.13 s
[genvalidity-sydtest] equivalentWhenSecondSucceeds (src/Test/Syd/Validity/Functions/Equivalence.hs:191)
25.13 s
[genvalidity-sydtest] equivalentWhenSecondSucceedsOnArbitrary (src/Test/Syd/Validity/Functions/Equivalence.hs:183)
25.13 s
[genvalidity-sydtest] equivalentWhenSecondSucceedsOnGens2 (src/Test/Syd/Validity/Functions/Equivalence.hs:201)
25.13 s
[genvalidity-sydtest] equivalentWhenSecondSucceeds2 (src/Test/Syd/Validity/Functions/Equivalence.hs:234)
25.13 s
[genvalidity-sydtest] equivalentWhenSecondSucceedsOnArbitrary2 (src/Test/Syd/Validity/Functions/Equivalence.hs:219)
25.13 s
[genvalidity-sydtest] equivalentWhenSucceedOnGen (src/Test/Syd/Validity/Functions/Equivalence.hs:244)
25.13 s
[genvalidity-sydtest] equivalentWhenSucceed (src/Test/Syd/Validity/Functions/Equivalence.hs:258)
25.13 s
[genvalidity-sydtest] equivalentWhenSucceedOnArbitrary (src/Test/Syd/Validity/Functions/Equivalence.hs:266)
25.13 s
[genvalidity-sydtest] equivalentWhenSucceedOnGens2 (src/Test/Syd/Validity/Functions/Equivalence.hs:276)
25.13 s
[genvalidity-sydtest] equivalentWhenSucceed2 (src/Test/Syd/Validity/Functions/Equivalence.hs:312)
25.13 s
[genvalidity-sydtest] equivalentWhenSucceedOnArbitrary2 (src/Test/Syd/Validity/Functions/Equivalence.hs:297)
25.13 s
[genvalidity-sydtest] inverseFunctionsOnGen (src/Test/Syd/Validity/Functions/Inverse.hs:28)
25.13 s
[genvalidity-sydtest] inverseFunctions (src/Test/Syd/Validity/Functions/Inverse.hs:33)
25.13 s
[genvalidity-sydtest] inverseFunctionsIfFirstSucceedsOnGen (src/Test/Syd/Validity/Functions/Inverse.hs:49)
25.13 s
[genvalidity-sydtest] inverseFunctionsIfFirstSucceeds (src/Test/Syd/Validity/Functions/Inverse.hs:60)
25.13 s
[genvalidity-sydtest] inverseFunctionsIfFirstSucceedsOnArbitrary (src/Test/Syd/Validity/Functions/Inverse.hs:68)
25.13 s
[genvalidity-sydtest] inverseFunctionsIfSecondSucceedsOnGen (src/Test/Syd/Validity/Functions/Inverse.hs:78)
25.13 s
[genvalidity-sydtest] inverseFunctionsIfSecondSucceeds (src/Test/Syd/Validity/Functions/Inverse.hs:89)
25.13 s
[genvalidity-sydtest] inverseFunctionsIfSecondSucceedsOnArbitrary (src/Test/Syd/Validity/Functions/Inverse.hs:97)
25.13 s
[genvalidity-sydtest] inverseFunctionsIfSucceedOnGen (src/Test/Syd/Validity/Functions/Inverse.hs:107)
25.13 s
[genvalidity-sydtest] inverseFunctionsIfSucceed (src/Test/Syd/Validity/Functions/Inverse.hs:120)
25.13 s
[genvalidity-sydtest] inverseFunctionsIfSucceedOnArbitrary (src/Test/Syd/Validity/Functions/Inverse.hs:128)
25.13 s
[genvalidity-sydtest] idempotentOnGen (src/Test/Syd/Validity/Functions/Idempotence.hs:17)
25.13 s
[genvalidity-sydtest] idempotent (src/Test/Syd/Validity/Functions/Idempotence.hs:20)
25.13 s
[genvalidity-sydtest] reflexivityOnGen (src/Test/Syd/Validity/Relations/Reflexivity.hs:32)
25.13 s
[genvalidity-sydtest] transitivityOnGens (src/Test/Syd/Validity/Relations/Transitivity.hs:35)
25.13 s
[genvalidity-sydtest] antisymmetryOnGensWithEquality (src/Test/Syd/Validity/Relations/Antisymmetry.hs:43)
25.13 s
[genvalidity-sydtest] antisymmetryOnGens (src/Test/Syd/Validity/Relations/Antisymmetry.hs:54)
25.13 s
[genvalidity-sydtest] antireflexivityOnGen (src/Test/Syd/Validity/Relations/Antireflexivity.hs:32)
25.13 s
[genvalidity-sydtest] symmetryOnGens (src/Test/Syd/Validity/Relations/Symmetry.hs:34)
25.13 s
[genvalidity-sydtest] leftIdentityOnGenWithEquality (src/Test/Syd/Validity/Operations/Identity.hs:54)
25.13 s
[genvalidity-sydtest] leftIdentityOnGen (src/Test/Syd/Validity/Operations/Identity.hs:66)
25.13 s
[genvalidity-sydtest] rightIdentityOnGenWithEquality (src/Test/Syd/Validity/Operations/Identity.hs:111)
25.13 s
[genvalidity-sydtest] rightIdentityOnGen (src/Test/Syd/Validity/Operations/Identity.hs:123)
25.13 s
[genvalidity-sydtest] Warning: 'Spec' is out of scope.
25.13 s
[genvalidity-sydtest] If you qualify the identifier, haddock can try to link it anyway.
25.13 s
[genvalidity-sydtest] 14% ( 1 / 7) in 'Test.Syd.Validity.Utils'
25.13 s
[genvalidity-sydtest] Missing documentation for:
25.13 s
[genvalidity-sydtest] nameOf (src/Test/Syd/Validity/Utils.hs:27)
25.13 s
[genvalidity-sydtest] genDescr (src/Test/Syd/Validity/Utils.hs:38)
25.13 s
[genvalidity-sydtest] binRelStr (src/Test/Syd/Validity/Utils.hs:45)
25.13 s
[genvalidity-sydtest] shouldBeValid (src/Test/Syd/Validity/Property/Utils.hs:24)
25.13 s
[genvalidity-sydtest] shouldBeInvalid (src/Test/Syd/Validity/Property/Utils.hs:40)
25.13 s
[genvalidity-sydtest] Anon (src/Test/Syd/Validity/Utils.hs:49)
25.13 s
[genvalidity-sydtest] 45% ( 5 / 11) in 'Test.Syd.Validity.Shrinking'
25.13 s
[genvalidity-sydtest] Missing documentation for:
25.13 s
[genvalidity-sydtest] shrinkValidSpec (src/Test/Syd/Validity/Shrinking.hs:35)
25.13 s
[genvalidity-sydtest] shrinkValidSpecWithLimit (src/Test/Syd/Validity/Shrinking.hs:48)
25.13 s
[genvalidity-sydtest] shrinkValidPreservesValidOnGenValid (src/Test/Syd/Validity/Shrinking.hs:66)
25.13 s
[genvalidity-sydtest] shrinkValidPreservesValidOnGenValidWithLimit (src/Test/Syd/Validity/Shrinking.hs:74)
25.13 s
[genvalidity-sydtest] shrinkValidDoesNotShrinkToItself (src/Test/Syd/Validity/Shrinking.hs:81)
25.13 s
[genvalidity-sydtest] shrinkValidDoesNotShrinkToItselfWithLimit (src/Test/Syd/Validity/Shrinking.hs:89)
25.13 s
[genvalidity-sydtest] 100% ( 7 / 7) in 'Test.Syd.Validity.Show'
25.13 s
[genvalidity-sydtest] 100% ( 4 / 4) in 'Test.Syd.Validity.Ord'
25.13 s
[genvalidity-sydtest] 100% ( 4 / 4) in 'Test.Syd.Validity.Monoid'
25.13 s
[genvalidity-sydtest] 100% ( 4 / 4) in 'Test.Syd.Validity.Monad'
25.13 s
[genvalidity-sydtest] 100% ( 5 / 5) in 'Test.Syd.Validity.GenValidity'
25.13 s
[genvalidity-sydtest] 100% ( 4 / 4) in 'Test.Syd.Validity.Functor'
25.13 s
[genvalidity-sydtest] 100% ( 4 / 4) in 'Test.Syd.Validity.Eq'
25.13 s
[genvalidity-sydtest] 100% ( 3 / 3) in 'Test.Syd.Validity.Arbitrary'
25.13 s
[genvalidity-sydtest] 100% ( 4 / 4) in 'Test.Syd.Validity.Applicative'
25.13 s
[genvalidity-sydtest] Warning: 'Spec' is out of scope.
25.13 s
[genvalidity-sydtest] If you qualify the identifier, haddock can try to link it anyway.
25.13 s
[genvalidity-sydtest] 63% (122 /192) in 'Test.Syd.Validity'
25.13 s
[genvalidity-sydtest] Missing documentation for:
25.13 s
[genvalidity-sydtest] forAllValid (src/Test/Syd/Validity/Property/Utils.hs:15)
25.13 s
[genvalidity-sydtest] shouldBeValid (src/Test/Syd/Validity/Property/Utils.hs:24)
25.13 s
[genvalidity-sydtest] shouldBeInvalid (src/Test/Syd/Validity/Property/Utils.hs:40)
25.13 s
[genvalidity-sydtest] shrinkValidSpec (src/Test/Syd/Validity/Shrinking.hs:35)
25.13 s
[genvalidity-sydtest] shrinkValidSpecWithLimit (src/Test/Syd/Validity/Shrinking.hs:48)
25.13 s
[genvalidity-sydtest] shrinkValidPreservesValidOnGenValid (src/Test/Syd/Validity/Shrinking.hs:66)
25.13 s
[genvalidity-sydtest] producesValidsOnGens2 (src/Test/Syd/Validity/Functions/Validity.hs:51)
25.13 s
[genvalidity-sydtest] producesValid2 (src/Test/Syd/Validity/Functions/Validity.hs:58)
25.13 s
[genvalidity-sydtest] producesValidsOnArbitrary2 (src/Test/Syd/Validity/Functions/Validity.hs:64)
25.13 s
[genvalidity-sydtest] producesValidsOnGens3 (src/Test/Syd/Validity/Functions/Validity.hs:72)
25.13 s
[genvalidity-sydtest] producesValid3 (src/Test/Syd/Validity/Functions/Validity.hs:87)
25.13 s
[genvalidity-sydtest] producesValidsOnArbitrary3 (src/Test/Syd/Validity/Functions/Validity.hs:101)
25.13 s
[genvalidity-sydtest] succeedsOnGens2 (src/Test/Syd/Validity/Functions/CanFail.hs:77)
25.13 s
[genvalidity-sydtest] succeeds2 (src/Test/Syd/Validity/Functions/CanFail.hs:84)
25.13 s
[genvalidity-sydtest] succeedsOnArbitrary2 (src/Test/Syd/Validity/Functions/CanFail.hs:90)
25.13 s
[genvalidity-sydtest] failsOnGens2 (src/Test/Syd/Validity/Functions/CanFail.hs:100)
25.13 s
[genvalidity-sydtest] validIfSucceedsOnGens2 (src/Test/Syd/Validity/Functions/CanFail.hs:109)
25.13 s
[genvalidity-sydtest] validIfSucceeds2 (src/Test/Syd/Validity/Functions/CanFail.hs:119)
25.13 s
[genvalidity-sydtest] validIfSucceedsOnArbitrary2 (src/Test/Syd/Validity/Functions/CanFail.hs:125)
25.13 s
[genvalidity-sydtest] validIfSucceedsOnGens3 (src/Test/Syd/Validity/Functions/CanFail.hs:133)
25.13 s
[genvalidity-sydtest] validIfSucceeds3 (src/Test/Syd/Validity/Functions/CanFail.hs:152)
25.13 s
[genvalidity-sydtest] validIfSucceedsOnArbitrary3 (src/Test/Syd/Validity/Functions/CanFail.hs:158)
25.13 s
[genvalidity-sydtest] equivalentOnGen (src/Test/Syd/Validity/Functions/Equivalence.hs:47)
25.13 s
[genvalidity-sydtest] equivalent (src/Test/Syd/Validity/Functions/Equivalence.hs:54)
25.13 s
[genvalidity-sydtest] equivalentOnGens2 (src/Test/Syd/Validity/Functions/Equivalence.hs:73)
25.13 s
[genvalidity-sydtest] equivalent2 (src/Test/Syd/Validity/Functions/Equivalence.hs:81)
25.13 s
[genvalidity-sydtest] equivalentOnGens3 (src/Test/Syd/Validity/Functions/Equivalence.hs:322)
25.13 s
[genvalidity-sydtest] equivalent3 (src/Test/Syd/Validity/Functions/Equivalence.hs:338)
25.13 s
[genvalidity-sydtest] equivalentOnArbitrary3 (src/Test/Syd/Validity/Functions/Equivalence.hs:353)
25.13 s
[genvalidity-sydtest] equivalentWhenFirstSucceedsOnGen (src/Test/Syd/Validity/Functions/Equivalence.hs:100)
25.13 s
[genvalidity-sydtest] equivalentWhenFirstSucceeds (src/Test/Syd/Validity/Functions/Equivalence.hs:119)
25.13 s
[genvalidity-sydtest] equivalentWhenFirstSucceedsOnArbitrary (src/Test/Syd/Validity/Functions/Equivalence.hs:111)
25.13 s
[genvalidity-sydtest] equivalentWhenFirstSucceedsOnGens2 (src/Test/Syd/Validity/Functions/Equivalence.hs:129)
25.13 s
[genvalidity-sydtest] equivalentWhenFirstSucceeds2 (src/Test/Syd/Validity/Functions/Equivalence.hs:162)
25.13 s
[genvalidity-sydtest] equivalentWhenFirstSucceedsOnArbitrary2 (src/Test/Syd/Validity/Functions/Equivalence.hs:147)
25.13 s
[genvalidity-sydtest] equivalentWhenSecondSucceedsOnGen (src/Test/Syd/Validity/Functions/Equivalence.hs:172)
25.13 s
[genvalidity-sydtest] equivalentWhenSecondSucceeds (src/Test/Syd/Validity/Functions/Equivalence.hs:191)
25.13 s
[genvalidity-sydtest] equivalentWhenSecondSucceedsOnArbitrary (src/Test/Syd/Validity/Functions/Equivalence.hs:183)
25.13 s
[genvalidity-sydtest] equivalentWhenSecondSucceedsOnGens2 (src/Test/Syd/Validity/Functions/Equivalence.hs:201)
25.13 s
[genvalidity-sydtest] equivalentWhenSecondSucceeds2 (src/Test/Syd/Validity/Functions/Equivalence.hs:234)
25.13 s
[genvalidity-sydtest] equivalentWhenSecondSucceedsOnArbitrary2 (src/Test/Syd/Validity/Functions/Equivalence.hs:219)
25.13 s
[genvalidity-sydtest] equivalentWhenSucceedOnGen (src/Test/Syd/Validity/Functions/Equivalence.hs:244)
25.13 s
[genvalidity-sydtest] equivalentWhenSucceed (src/Test/Syd/Validity/Functions/Equivalence.hs:258)
25.13 s
[genvalidity-sydtest] equivalentWhenSucceedOnArbitrary (src/Test/Syd/Validity/Functions/Equivalence.hs:266)
25.13 s
[genvalidity-sydtest] equivalentWhenSucceedOnGens2 (src/Test/Syd/Validity/Functions/Equivalence.hs:276)
25.13 s
[genvalidity-sydtest] equivalentWhenSucceed2 (src/Test/Syd/Validity/Functions/Equivalence.hs:312)
25.13 s
[genvalidity-sydtest] equivalentWhenSucceedOnArbitrary2 (src/Test/Syd/Validity/Functions/Equivalence.hs:297)
25.13 s
[genvalidity-sydtest] inverseFunctionsOnGen (src/Test/Syd/Validity/Functions/Inverse.hs:28)
25.13 s
[genvalidity-sydtest] inverseFunctions (src/Test/Syd/Validity/Functions/Inverse.hs:33)
25.13 s
[genvalidity-sydtest] inverseFunctionsIfFirstSucceedsOnGen (src/Test/Syd/Validity/Functions/Inverse.hs:49)
25.13 s
[genvalidity-sydtest] inverseFunctionsIfFirstSucceeds (src/Test/Syd/Validity/Functions/Inverse.hs:60)
25.13 s
[genvalidity-sydtest] inverseFunctionsIfFirstSucceedsOnArbitrary (src/Test/Syd/Validity/Functions/Inverse.hs:68)
25.13 s
[genvalidity-sydtest] inverseFunctionsIfSecondSucceedsOnGen (src/Test/Syd/Validity/Functions/Inverse.hs:78)
25.13 s
[genvalidity-sydtest] inverseFunctionsIfSecondSucceeds (src/Test/Syd/Validity/Functions/Inverse.hs:89)
25.13 s
[genvalidity-sydtest] inverseFunctionsIfSecondSucceedsOnArbitrary (src/Test/Syd/Validity/Functions/Inverse.hs:97)
25.13 s
[genvalidity-sydtest] inverseFunctionsIfSucceedOnGen (src/Test/Syd/Validity/Functions/Inverse.hs:107)
25.13 s
[genvalidity-sydtest] inverseFunctionsIfSucceed (src/Test/Syd/Validity/Functions/Inverse.hs:120)
25.13 s
[genvalidity-sydtest] inverseFunctionsIfSucceedOnArbitrary (src/Test/Syd/Validity/Functions/Inverse.hs:128)
25.13 s
[genvalidity-sydtest] idempotentOnGen (src/Test/Syd/Validity/Functions/Idempotence.hs:17)
25.13 s
[genvalidity-sydtest] idempotent (src/Test/Syd/Validity/Functions/Idempotence.hs:20)
25.13 s
[genvalidity-sydtest] reflexivityOnGen (src/Test/Syd/Validity/Relations/Reflexivity.hs:32)
25.13 s
[genvalidity-sydtest] transitivityOnGens (src/Test/Syd/Validity/Relations/Transitivity.hs:35)
25.13 s
[genvalidity-sydtest] antisymmetryOnGensWithEquality (src/Test/Syd/Validity/Relations/Antisymmetry.hs:43)
25.13 s
[genvalidity-sydtest] antisymmetryOnGens (src/Test/Syd/Validity/Relations/Antisymmetry.hs:54)
25.13 s
[genvalidity-sydtest] antireflexivityOnGen (src/Test/Syd/Validity/Relations/Antireflexivity.hs:32)
25.13 s
[genvalidity-sydtest] symmetryOnGens (src/Test/Syd/Validity/Relations/Symmetry.hs:34)
25.13 s
[genvalidity-sydtest] leftIdentityOnGenWithEquality (src/Test/Syd/Validity/Operations/Identity.hs:54)
25.13 s
[genvalidity-sydtest] leftIdentityOnGen (src/Test/Syd/Validity/Operations/Identity.hs:66)
25.13 s
[genvalidity-sydtest] rightIdentityOnGenWithEquality (src/Test/Syd/Validity/Operations/Identity.hs:111)
25.13 s
[genvalidity-sydtest] rightIdentityOnGen (src/Test/Syd/Validity/Operations/Identity.hs:123)
25.22 s
[really-safe-money] [10 of 12] Compiling Money.MultiAccount ( src/Money/MultiAccount.hs, dist/build/Money/MultiAccount.p_o )
25.24 s
[really-safe-money] mutation: instrumenting Money.MultiAccount
25.24 s
[really-safe-money] added mutation RemoveCase at src/Money/MultiAccount.hs:174:25-38
25.24 s
[really-safe-money] added mutation RemoveCase at src/Money/MultiAccount.hs:174:25-38
25.24 s
[really-safe-money] added mutation RemoveCase at src/Money/MultiAccount.hs:174:25-38
25.24 s
[really-safe-money] added mutation RemoveCase at src/Money/MultiAccount.hs:180:25-32
25.24 s
[really-safe-money] added mutation RemoveCase at src/Money/MultiAccount.hs:180:25-32
25.24 s
[really-safe-money] added mutation RemoveCase at src/Money/MultiAccount.hs:180:25-32
25.24 s
[really-safe-money] added mutation Arith at src/Money/MultiAccount.hs:192:19-51
25.24 s
[really-safe-money] added mutation Arith at src/Money/MultiAccount.hs:192:19-51
25.24 s
[really-safe-money] added mutation MaybeOp at src/Money/MultiAccount.hs:126:45-51
25.24 s
[really-safe-money] added mutation MaybeOp at src/Money/MultiAccount.hs:127:45-51
25.24 s
[really-safe-money] added mutation ConstBool at src/Money/MultiAccount.hs:134:12-29
25.24 s
[really-safe-money] added mutation ConstBool at src/Money/MultiAccount.hs:134:12-29
25.24 s
[really-safe-money] added mutation Negate at src/Money/MultiAccount.hs:134:12-29
25.24 s
[really-safe-money] added mutation RemoveCase at src/Money/MultiAccount.hs:129:23-37
25.24 s
[really-safe-money] added mutation RemoveCase at src/Money/MultiAccount.hs:129:23-37
25.24 s
[really-safe-money] added mutation MaybeOp at src/Money/MultiAccount.hs:112:40-46
25.24 s
[really-safe-money] added mutation MaybeOp at src/Money/MultiAccount.hs:113:40-46
25.24 s
[really-safe-money] added mutation ConstBool at src/Money/MultiAccount.hs:120:12-29
25.24 s
[really-safe-money] added mutation ConstBool at src/Money/MultiAccount.hs:120:12-29
25.24 s
[really-safe-money] added mutation Negate at src/Money/MultiAccount.hs:120:12-29
25.24 s
[really-safe-money] added mutation RemoveCase at src/Money/MultiAccount.hs:115:23-37
25.24 s
[really-safe-money] added mutation RemoveCase at src/Money/MultiAccount.hs:115:23-37
25.24 s
[really-safe-money] added mutation ConstBool at src/Money/MultiAccount.hs:78:6-28
25.24 s
[really-safe-money] added mutation ConstBool at src/Money/MultiAccount.hs:78:6-28
25.24 s
[really-safe-money] added mutation Negate at src/Money/MultiAccount.hs:78:6-28
25.24 s
[really-safe-money] added mutation ConstBool at src/Money/MultiAccount.hs:69:13-30
25.24 s
[really-safe-money] added mutation ConstBool at src/Money/MultiAccount.hs:69:13-30
25.24 s
[really-safe-money] added mutation Negate at src/Money/MultiAccount.hs:69:13-30
25.24 s
[really-safe-money] added mutation ListLit at src/Money/MultiAccount.hs:66:7-8
25.24 s
[really-safe-money] added mutation ListLit at src/Money/MultiAccount.hs:66:7-8
25.24 s
[really-safe-money] added 30 mutations
25.80 s
[really-safe-money] [11 of 12] Compiling Money.AccountOf ( src/Money/AccountOf.hs, dist/build/Money/AccountOf.p_o )
25.96 s
[really-safe-money] mutation: instrumenting Money.AccountOf
25.96 s
[really-safe-money] added mutation RemoveCase at src/Money/AccountOf.hs:180:30-115
25.96 s
[really-safe-money] added mutation RemoveCase at src/Money/AccountOf.hs:180:30-115
25.96 s
[really-safe-money] added mutation RemoveCase at src/Money/AccountOf.hs:180:30-115
25.96 s
[really-safe-money] added mutation RemoveCase at src/Money/AccountOf.hs:180:30-115
25.96 s
[really-safe-money] added 4 mutations
26.10 s
[really-safe-money] [12 of 12] Compiling Paths_really_safe_money ( dist/build/autogen/Paths_really_safe_money.hs, dist/build/Paths_really_safe_money.p_o )
26.47 s
[really-safe-money] Warning: ignoring unrecognised input `dist/build/Money/Account.dyn_o'
26.47 s
[really-safe-money] Warning: ignoring unrecognised input `dist/build/Money/AccountOf.dyn_o'
26.47 s
[really-safe-money] Warning: ignoring unrecognised input `dist/build/Money/Amount.dyn_o'
26.47 s
[really-safe-money] Warning: ignoring unrecognised input `dist/build/Money/AmountOf.dyn_o'
26.47 s
[really-safe-money] Warning: ignoring unrecognised input `dist/build/Money/ConversionRate.dyn_o'
26.47 s
[really-safe-money] Warning: ignoring unrecognised input `dist/build/Money/ConversionRateOf.dyn_o'
26.47 s
[really-safe-money] Warning: ignoring unrecognised input `dist/build/Money/Currency.dyn_o'
26.47 s
[really-safe-money] Warning: ignoring unrecognised input `dist/build/Money/MultiAccount.dyn_o'
26.47 s
[really-safe-money] Warning: ignoring unrecognised input `dist/build/Money/MultiAmount.dyn_o'
26.47 s
[really-safe-money] Warning: ignoring unrecognised input `dist/build/Money/QuantisationFactor.dyn_o'
26.47 s
[really-safe-money] Warning: ignoring unrecognised input `dist/build/Numeric/DecimalLiteral.dyn_o'
26.47 s
[really-safe-money] Warning: ignoring unrecognised input `dist/build/Paths_really_safe_money.dyn_o'
27.21 s
[really-safe-money] mutation-nix: manifest output at /nix/store/p3np2rm8adi6q345jjkb37x401bhg4ca-really-safe-money-0.0.0.0-manifest:
27.21 s
[really-safe-money] total 384
27.21 s
[really-safe-money] drwxr-xr-x 2 nixbld nixbld 4096 May 14 20:48 .
27.21 s
[really-safe-money] drwxrwxr-t 238 nobody nixbld 28672 May 14 20:48 ..
27.22 s
[really-safe-money] -rw-r--r-- 1 nixbld nixbld 66992 May 14 20:48 Money.Account.json
27.22 s
[really-safe-money] -rw-r--r-- 1 nixbld nixbld 5043 May 14 20:48 Money.AccountOf.json
27.22 s
[really-safe-money] -rw-r--r-- 1 nixbld nixbld 84451 May 14 20:48 Money.Amount.json
27.22 s
[really-safe-money] -rw-r--r-- 1 nixbld nixbld 4850 May 14 20:48 Money.AmountOf.json
27.22 s
[really-safe-money] -rw-r--r-- 1 nixbld nixbld 12979 May 14 20:48 Money.ConversionRate.json
27.22 s
[really-safe-money] -rw-r--r-- 1 nixbld nixbld 2 May 14 20:48 Money.ConversionRateOf.json
27.22 s
[really-safe-money] -rw-r--r-- 1 nixbld nixbld 2 May 14 20:48 Money.Currency.json
27.22 s
[really-safe-money] -rw-r--r-- 1 nixbld nixbld 22648 May 14 20:48 Money.MultiAccount.json
27.22 s
[really-safe-money] -rw-r--r-- 1 nixbld nixbld 25712 May 14 20:48 Money.MultiAmount.json
27.22 s
[really-safe-money] -rw-r--r-- 1 nixbld nixbld 18786 May 14 20:48 Money.QuantisationFactor.json
27.22 s
[really-safe-money] -rw-r--r-- 1 nixbld nixbld 88354 May 14 20:48 Numeric.DecimalLiteral.json
27.22 s
[really-safe-money] mutation-nix: building remaining components with plugin silenced
27.25 s
[really-safe-money] Preprocessing library for really-safe-money-0.0.0.0...
27.26 s
[really-safe-money] Building library for really-safe-money-0.0.0.0...
28.63 s
[really-safe-money] Warning: ignoring unrecognised input `dist/build/Money/Account.dyn_o'
28.63 s
[really-safe-money] Warning: ignoring unrecognised input `dist/build/Money/AccountOf.dyn_o'
28.63 s
[really-safe-money] Warning: ignoring unrecognised input `dist/build/Money/Amount.dyn_o'
28.63 s
[really-safe-money] Warning: ignoring unrecognised input `dist/build/Money/AmountOf.dyn_o'
28.63 s
[really-safe-money] Warning: ignoring unrecognised input `dist/build/Money/ConversionRate.dyn_o'
28.63 s
[really-safe-money] Warning: ignoring unrecognised input `dist/build/Money/ConversionRateOf.dyn_o'
28.63 s
[really-safe-money] Warning: ignoring unrecognised input `dist/build/Money/Currency.dyn_o'
28.63 s
[really-safe-money] Warning: ignoring unrecognised input `dist/build/Money/MultiAccount.dyn_o'
28.63 s
[really-safe-money] Warning: ignoring unrecognised input `dist/build/Money/MultiAmount.dyn_o'
28.63 s
[really-safe-money] Warning: ignoring unrecognised input `dist/build/Money/QuantisationFactor.dyn_o'
28.63 s
[really-safe-money] Warning: ignoring unrecognised input `dist/build/Numeric/DecimalLiteral.dyn_o'
28.63 s
[really-safe-money] Warning: ignoring unrecognised input `dist/build/Paths_really_safe_money.dyn_o'
29.35 s
[really-safe-money] Phase: haddockPhase
29.36 s
[really-safe-money] Phase: installPhase
29.39 s
[really-safe-money] Installing library in /nix/store/1gl3lasa6falk232fgkm3d5vl9rn4w5g-really-safe-money-0.0.0.0/lib/ghc-9.10.3/lib/x86_64-linux-ghc-9.10.3-05f6/really-safe-money-0.0.0.0-KH9ltLBvnn0Cn1rgifGPh9
29.68 s
[really-safe-money] Phase: fixupPhase
29.70 s
[really-safe-money] shrinking RPATHs of ELF executables and libraries in /nix/store/1gl3lasa6falk232fgkm3d5vl9rn4w5g-really-safe-money-0.0.0.0
29.71 s
[really-safe-money] shrinking /nix/store/1gl3lasa6falk232fgkm3d5vl9rn4w5g-really-safe-money-0.0.0.0/lib/ghc-9.10.3/lib/x86_64-linux-ghc-9.10.3-05f6/libHSreally-safe-money-0.0.0.0-KH9ltLBvnn0Cn1rgifGPh9-ghc9.10.3.so
29.72 s
[really-safe-money] checking for references to /build/ in /nix/store/1gl3lasa6falk232fgkm3d5vl9rn4w5g-really-safe-money-0.0.0.0...
29.75 s
[really-safe-money] patching script interpreter paths in /nix/store/1gl3lasa6falk232fgkm3d5vl9rn4w5g-really-safe-money-0.0.0.0
29.75 s
[really-safe-money] stripping (with command strip and flags -S -p) in /nix/store/1gl3lasa6falk232fgkm3d5vl9rn4w5g-really-safe-money-0.0.0.0/lib /nix/store/1gl3lasa6falk232fgkm3d5vl9rn4w5g-really-safe-money-0.0.0.0/bin
29.90 s
[really-safe-money] shrinking RPATHs of ELF executables and libraries in /nix/store/p3np2rm8adi6q345jjkb37x401bhg4ca-really-safe-money-0.0.0.0-manifest
29.90 s
[really-safe-money] checking for references to /build/ in /nix/store/p3np2rm8adi6q345jjkb37x401bhg4ca-really-safe-money-0.0.0.0-manifest...
29.91 s
[really-safe-money] patching script interpreter paths in /nix/store/p3np2rm8adi6q345jjkb37x401bhg4ca-really-safe-money-0.0.0.0-manifest
30.00 s
[post-build-hook] Uploading to cachix cache "sydtest": /nix/store/1gl3lasa6falk232fgkm3d5vl9rn4w5g-really-safe-money-0.0.0.0 /nix/store/p3np2rm8adi6q345jjkb37x401bhg4ca-really-safe-money-0.0.0.0-manifest
30.66 s
[post-build-hook] Pushing 2 paths (195 are already present) using zstd to cache sydtest ⏳
30.66 s
[post-build-hook]
31.03 s
[post-build-hook] Pushing /nix/store/1gl3lasa6falk232fgkm3d5vl9rn4w5g-really-safe-money-0.0.0.0 (14.97 MiB)
31.07 s
[post-build-hook] Pushing /nix/store/p3np2rm8adi6q345jjkb37x401bhg4ca-really-safe-money-0.0.0.0-manifest (324.41 KiB)
32.33 s
[post-build-hook]
32.33 s
[post-build-hook] All done.
32.35 s
[post-build-hook] Uploading to the NixCI staging cache: /nix/store/1gl3lasa6falk232fgkm3d5vl9rn4w5g-really-safe-money-0.0.0.0 /nix/store/p3np2rm8adi6q345jjkb37x401bhg4ca-really-safe-money-0.0.0.0-manifest
32.39 s
[post-build-hook] warning: 'warn-short-path-literals' is deprecated, use 'lint-short-path-literals = ignore' instead
32.41 s
[post-build-hook] copying 2 paths...
32.41 s
[post-build-hook] copying path '/nix/store/p3np2rm8adi6q345jjkb37x401bhg4ca-really-safe-money-0.0.0.0-manifest' to 'https://cache.staging.nix-ci.com'...
32.41 s
[post-build-hook] copying path '/nix/store/1gl3lasa6falk232fgkm3d5vl9rn4w5g-really-safe-money-0.0.0.0' to 'https://cache.staging.nix-ci.com'...
39.25 s
[post-build-hook] warning: 'warn-short-path-literals' is deprecated, use 'lint-short-path-literals = ignore' instead
39.51 s
[post-build-hook] copying 1 paths...
39.53 s
[post-build-hook] copying path '/nix/store/phqyd3bacjjjmqx6hm12wfmm8syacbiy-really-safe-money-0.0.0.0.drv' to 'https://cache.staging.nix-ci.com'...
39.70 s
Progress: 2 of 9 built (1 building)
39.74 s
Building really-safe-money-autodocodec-source
39.78 s
Building really-safe-money-gen-source
39.78 s
[genvalidity-sydtest] Documentation created: dist/doc/html/genvalidity-sydtest/,
39.78 s
[genvalidity-sydtest] dist/doc/html/genvalidity-sydtest/genvalidity-sydtest.txt
39.78 s
[genvalidity-sydtest] Preprocessing test suite 'genvalidity-sydtest-test' for genvalidity-sydtest-1.0.1.0...
39.78 s
[genvalidity-sydtest] Phase: installPhase
39.78 s
[genvalidity-sydtest] Installing library in /nix/store/6nxyhdkdzivr4dkkcybp71pq5i0qi6z8-genvalidity-sydtest-1.0.1.0/lib/ghc-9.10.3/lib/x86_64-linux-ghc-9.10.3-05f6/genvalidity-sydtest-1.0.1.0-4MUjvMP5f0h4Td7V6rG94v
39.78 s
[genvalidity-sydtest] Phase: fixupPhase
39.78 s
[genvalidity-sydtest] shrinking RPATHs of ELF executables and libraries in /nix/store/6nxyhdkdzivr4dkkcybp71pq5i0qi6z8-genvalidity-sydtest-1.0.1.0
39.78 s
[genvalidity-sydtest] shrinking /nix/store/6nxyhdkdzivr4dkkcybp71pq5i0qi6z8-genvalidity-sydtest-1.0.1.0/lib/ghc-9.10.3/lib/x86_64-linux-ghc-9.10.3-05f6/libHSgenvalidity-sydtest-1.0.1.0-4MUjvMP5f0h4Td7V6rG94v-ghc9.10.3.so
39.78 s
[genvalidity-sydtest] checking for references to /build/ in /nix/store/6nxyhdkdzivr4dkkcybp71pq5i0qi6z8-genvalidity-sydtest-1.0.1.0...
39.78 s
[genvalidity-sydtest] patching script interpreter paths in /nix/store/6nxyhdkdzivr4dkkcybp71pq5i0qi6z8-genvalidity-sydtest-1.0.1.0
39.78 s
[genvalidity-sydtest] stripping (with command strip and flags -S -p) in /nix/store/6nxyhdkdzivr4dkkcybp71pq5i0qi6z8-genvalidity-sydtest-1.0.1.0/lib
39.78 s
[genvalidity-sydtest] shrinking RPATHs of ELF executables and libraries in /nix/store/g9k0211a6230bqvw32xdcipj6ph8z199-genvalidity-sydtest-1.0.1.0-doc
39.78 s
[genvalidity-sydtest] checking for references to /build/ in /nix/store/g9k0211a6230bqvw32xdcipj6ph8z199-genvalidity-sydtest-1.0.1.0-doc...
39.78 s
[genvalidity-sydtest] patching script interpreter paths in /nix/store/g9k0211a6230bqvw32xdcipj6ph8z199-genvalidity-sydtest-1.0.1.0-doc
39.90 s
[post-build-hook] Uploading to cachix cache "sydtest": /nix/store/6nxyhdkdzivr4dkkcybp71pq5i0qi6z8-genvalidity-sydtest-1.0.1.0 /nix/store/g9k0211a6230bqvw32xdcipj6ph8z199-genvalidity-sydtest-1.0.1.0-doc
40.37 s
[post-build-hook] Pushing 2 paths (267 are already present) using zstd to cache sydtest ⏳
40.37 s
[post-build-hook]
40.76 s
[post-build-hook] Pushing /nix/store/6nxyhdkdzivr4dkkcybp71pq5i0qi6z8-genvalidity-sydtest-1.0.1.0 (6.60 MiB)
40.76 s
[post-build-hook] Pushing /nix/store/g9k0211a6230bqvw32xdcipj6ph8z199-genvalidity-sydtest-1.0.1.0-doc (3.78 MiB)
42.51 s
[post-build-hook]
42.51 s
[post-build-hook] All done.
42.54 s
[post-build-hook] Uploading to the NixCI staging cache: /nix/store/6nxyhdkdzivr4dkkcybp71pq5i0qi6z8-genvalidity-sydtest-1.0.1.0 /nix/store/g9k0211a6230bqvw32xdcipj6ph8z199-genvalidity-sydtest-1.0.1.0-doc
42.58 s
[post-build-hook] warning: 'warn-short-path-literals' is deprecated, use 'lint-short-path-literals = ignore' instead
42.77 s
[post-build-hook] copying 2 paths...
42.77 s
[post-build-hook] copying path '/nix/store/g9k0211a6230bqvw32xdcipj6ph8z199-genvalidity-sydtest-1.0.1.0-doc' to 'https://cache.staging.nix-ci.com'...
43.27 s
[post-build-hook] copying path '/nix/store/6nxyhdkdzivr4dkkcybp71pq5i0qi6z8-genvalidity-sydtest-1.0.1.0' to 'https://cache.staging.nix-ci.com'...
44.73 s
[post-build-hook] warning: 'warn-short-path-literals' is deprecated, use 'lint-short-path-literals = ignore' instead
44.97 s
[post-build-hook] copying 1 paths...
45.00 s
[post-build-hook] copying path '/nix/store/vyb913g6xlayrn5aqljqvsg8v1fglmsq-genvalidity-sydtest-1.0.1.0.drv' to 'https://cache.staging.nix-ci.com'...
45.29 s
Progress: 3 of 8 built (2 building)
45.29 s
[really-safe-money-autodocodec-source] Phase: setupCompilerEnvironmentPhase
45.29 s
[really-safe-money-autodocodec-source] Build with /nix/store/s9jd43rkwc2syl9cvgj6f786avy8bgzy-ghc-9.10.3.
45.29 s
[really-safe-money-autodocodec-source] Phase: unpackPhase
45.29 s
[really-safe-money-autodocodec-source] unpacking source archive /nix/store/8krpxqimxqvympfqdqxg1jzjg2jrcglb-really-safe-money-autodocodec
45.29 s
[really-safe-money-autodocodec-source] source root is really-safe-money-autodocodec
45.29 s
[really-safe-money-autodocodec-source] Phase: patchPhase
45.29 s
[really-safe-money-autodocodec-source] Phase: compileBuildDriverPhase
45.29 s
[really-safe-money-autodocodec-source] setupCompileFlags: -package-db=/build/tmp.sTZI5H8p1o/setup-package.conf.d -threaded
45.29 s
[really-safe-money-autodocodec-source] [1 of 2] Compiling Main ( /nix/store/4mdp8nhyfddh7bllbi7xszz7k9955n79-Setup.hs, /build/tmp.sTZI5H8p1o/Main.o )
45.29 s
[really-safe-money-autodocodec-source] [2 of 2] Linking Setup
45.29 s
[really-safe-money-autodocodec-source] Phase: updateAutotoolsGnuConfigScriptsPhase
45.29 s
[really-safe-money-autodocodec-source] Phase: configurePhase
45.29 s
[really-safe-money-autodocodec-source] configureFlags: --verbose --prefix=/nix/store/sh2v9380r9w45f4d498kkxvxy64kw0rr-really-safe-money-autodocodec-source-0.0.0.0 --libdir=$prefix/lib/$compiler/lib --libsubdir=$abi/$libname --docdir=/share/doc/really-safe-money-autodocodec-0.0.0.0 --with-gcc=gcc --package-db=/build/tmp.sTZI5H8p1o/package.conf.d --ghc-option=-j16 --ghc-option=+RTS --ghc-option=-A64M --ghc-option=-RTS --enable-library-profiling --profiling-detail=exported-functions --disable-profiling --enable-shared --disable-coverage --enable-static --disable-executable-dynamic --disable-tests --enable-benchmarks --enable-library-vanilla --disable-library-for-ghci --enable-split-sections --enable-library-stripping --enable-executable-stripping --ghc-option=-haddock --ghc-options=-O2 --ghc-options=-Wall --ghc-options=-Wincomplete-uni-patterns --ghc-options=-Wincomplete-record-updates --ghc-options=-Wpartial-fields --ghc-options=-Widentities --ghc-options=-Wredundant-constraints --ghc-options=-Wcpp-undef --ghc-options=-Werror --extra-lib-dirs=/nix/store/ffyzkisqs4vc4mg28bwwlyqjf8i9ph6b-ncurses-6.5/lib --extra-lib-dirs=/nix/store/n28qgdj8c1q41kf7n4y1jxa6ckp85m3c-libffi-3.5.2/lib --extra-lib-dirs=/nix/store/1b6h99dw7bk4wbn77kbalih42zbc67m1-elfutils-0.194/lib --extra-lib-dirs=/nix/store/hi0ar880110k6jsmmili7dh1gq3cg2a9-gmp-with-cxx-6.3.0/lib --extra-lib-dirs=/nix/store/g09cflpnp4g80q56sj9dng1qzv4v4ybc-numactl-2.0.18/lib --extra-lib-dirs=/nix/store/s9jd43rkwc2syl9cvgj6f786avy8bgzy-ghc-9.10.3/lib
45.29 s
[really-safe-money-autodocodec-source] Using Parsec parser
45.29 s
[really-safe-money-autodocodec-source] Configuring really-safe-money-autodocodec-0.0.0.0...
45.29 s
[really-safe-money-autodocodec-source] Dependency autodocodec: using autodocodec-0.5.0.0
45.29 s
[really-safe-money-autodocodec-source] Dependency base >=4.7 && <5: using base-4.20.2.0
45.29 s
[really-safe-money-autodocodec-source] Dependency really-safe-money: using really-safe-money-0.0.0.0
45.29 s
[really-safe-money-autodocodec-source] Source component graph: component lib
45.29 s
[really-safe-money-autodocodec-source] Configured component graph:
45.29 s
[really-safe-money-autodocodec-source] component really-safe-money-autodocodec-0.0.0.0-6uQz3PYxbwUCTmvro4lDZk
45.29 s
[really-safe-money-autodocodec-source] include autodocodec-0.5.0.0-1mMvp4WI6JDKv9IH8Klk8Y
45.29 s
[really-safe-money-autodocodec-source] include base-4.20.2.0-64da
45.29 s
[really-safe-money-autodocodec-source] include really-safe-money-0.0.0.0-KH9ltLBvnn0Cn1rgifGPh9
45.29 s
[really-safe-money-autodocodec-source] Linked component graph:
45.29 s
[really-safe-money-autodocodec-source] unit really-safe-money-autodocodec-0.0.0.0-6uQz3PYxbwUCTmvro4lDZk
45.29 s
[really-safe-money-autodocodec-source] include autodocodec-0.5.0.0-1mMvp4WI6JDKv9IH8Klk8Y
45.29 s
[really-safe-money-autodocodec-source] include base-4.20.2.0-64da
45.29 s
[really-safe-money-autodocodec-source] include really-safe-money-0.0.0.0-KH9ltLBvnn0Cn1rgifGPh9
45.29 s
[really-safe-money-autodocodec-source] Money.Account.Codec=really-safe-money-autodocodec-0.0.0.0-6uQz3PYxbwUCTmvro4lDZk:Money.Account.Codec,Money.AccountOf.Codec=really-safe-money-autodocodec-0.0.0.0-6uQz3PYxbwUCTmvro4lDZk:Money.AccountOf.Codec,Money.Amount.Codec=really-safe-money-autodocodec-0.0.0.0-6uQz3PYxbwUCTmvro4lDZk:Money.Amount.Codec,Money.AmountOf.Codec=really-safe-money-autodocodec-0.0.0.0-6uQz3PYxbwUCTmvro4lDZk:Money.AmountOf.Codec,Money.QuantisationFactor.Codec=really-safe-money-autodocodec-0.0.0.0-6uQz3PYxbwUCTmvro4lDZk:Money.QuantisationFactor.Codec,Numeric.DecimalLiteral.Codec=really-safe-money-autodocodec-0.0.0.0-6uQz3PYxbwUCTmvro4lDZk:Numeric.DecimalLiteral.Codec
45.29 s
[really-safe-money-autodocodec-source] Ready component graph:
45.29 s
[really-safe-money-autodocodec-source] definite really-safe-money-autodocodec-0.0.0.0-6uQz3PYxbwUCTmvro4lDZk
45.29 s
[really-safe-money-gen-source] Phase: setupCompilerEnvironmentPhase
45.29 s
[really-safe-money-gen-source] Build with /nix/store/s9jd43rkwc2syl9cvgj6f786avy8bgzy-ghc-9.10.3.
45.29 s
[really-safe-money-gen-source] Phase: unpackPhase
45.29 s
[really-safe-money-gen-source] unpacking source archive /nix/store/igm3hbdpcwgfbdx9yjyf6d68w1ifih08-really-safe-money-gen
45.29 s
[really-safe-money-gen-source] source root is really-safe-money-gen
45.29 s
[really-safe-money-gen-source] Phase: patchPhase
45.29 s
[really-safe-money-gen-source] Phase: compileBuildDriverPhase
45.29 s
[really-safe-money-gen-source] setupCompileFlags: -package-db=/build/tmp.xQZfRndquY/setup-package.conf.d -threaded
45.29 s
[really-safe-money-gen-source] [1 of 2] Compiling Main ( /nix/store/4mdp8nhyfddh7bllbi7xszz7k9955n79-Setup.hs, /build/tmp.xQZfRndquY/Main.o )
45.29 s
[really-safe-money-gen-source] [2 of 2] Linking Setup
45.29 s
[really-safe-money-gen-source] Phase: updateAutotoolsGnuConfigScriptsPhase
45.29 s
[really-safe-money-gen-source] Phase: configurePhase
45.29 s
[really-safe-money-gen-source] configureFlags: --verbose --prefix=/nix/store/0nk9jwdd6n9pdwmarm859jm1imki6n5j-really-safe-money-gen-source-0.0.0.0 --libdir=$prefix/lib/$compiler/lib --libsubdir=$abi/$libname --docdir=/share/doc/really-safe-money-gen-0.0.0.0 --with-gcc=gcc --package-db=/build/tmp.xQZfRndquY/package.conf.d --ghc-option=-j16 --ghc-option=+RTS --ghc-option=-A64M --ghc-option=-RTS --enable-library-profiling --profiling-detail=exported-functions --disable-profiling --enable-shared --disable-coverage --enable-static --disable-executable-dynamic --disable-tests --enable-benchmarks --enable-library-vanilla --disable-library-for-ghci --enable-split-sections --enable-library-stripping --enable-executable-stripping --ghc-option=-haddock --ghc-options=-O2 --ghc-options=-Wall --ghc-options=-Wincomplete-uni-patterns --ghc-options=-Wincomplete-record-updates --ghc-options=-Wpartial-fields --ghc-options=-Widentities --ghc-options=-Wredundant-constraints --ghc-options=-Wcpp-undef --ghc-options=-Werror --extra-lib-dirs=/nix/store/ffyzkisqs4vc4mg28bwwlyqjf8i9ph6b-ncurses-6.5/lib --extra-lib-dirs=/nix/store/n28qgdj8c1q41kf7n4y1jxa6ckp85m3c-libffi-3.5.2/lib --extra-lib-dirs=/nix/store/1b6h99dw7bk4wbn77kbalih42zbc67m1-elfutils-0.194/lib --extra-lib-dirs=/nix/store/hi0ar880110k6jsmmili7dh1gq3cg2a9-gmp-with-cxx-6.3.0/lib --extra-lib-dirs=/nix/store/g09cflpnp4g80q56sj9dng1qzv4v4ybc-numactl-2.0.18/lib --extra-lib-dirs=/nix/store/s9jd43rkwc2syl9cvgj6f786avy8bgzy-ghc-9.10.3/lib
45.29 s
[really-safe-money-gen-source] Using Parsec parser
45.29 s
[really-safe-money-gen-source] Configuring really-safe-money-gen-0.0.0.0...
45.29 s
[really-safe-money-gen-source] Dependency QuickCheck: using QuickCheck-2.15.0.1
45.29 s
[really-safe-money-gen-source] Dependency base >=4.7 && <5: using base-4.20.2.0
45.29 s
[really-safe-money-gen-source] Dependency genvalidity: using genvalidity-1.1.1.0
45.29 s
[really-safe-money-gen-source] Dependency genvalidity-containers: using genvalidity-containers-1.0.0.2
45.29 s
[really-safe-money-gen-source] Dependency really-safe-money: using really-safe-money-0.0.0.0
45.30 s
[really-safe-money-gen-source] Dependency QuickCheck: using QuickCheck-2.15.0.1
45.30 s
[really-safe-money-gen-source] Dependency base >=4.7 && <5: using base-4.20.2.0
45.30 s
[really-safe-money-gen-source] Dependency criterion: using criterion-1.6.4.0
45.30 s
[really-safe-money-gen-source] Dependency deepseq: using deepseq-1.5.0.0
45.30 s
[really-safe-money-gen-source] Dependency genvalidity: using genvalidity-1.1.1.0
45.30 s
[really-safe-money-gen-source] Dependency genvalidity-criterion: using genvalidity-criterion-1.1.0.0
45.30 s
[really-safe-money-gen-source] Dependency genvalidity-vector: using genvalidity-vector-1.0.0.0
45.30 s
[really-safe-money-gen-source] Dependency really-safe-money: using really-safe-money-0.0.0.0
45.30 s
[really-safe-money-gen-source] Dependency really-safe-money-gen: using really-safe-money-gen-0.0.0.0
45.30 s
[really-safe-money-gen-source] Dependency vector: using vector-0.13.2.0
45.30 s
[really-safe-money-gen-source] Source component graph:
45.30 s
[really-safe-money-gen-source] component lib
45.30 s
[really-safe-money-gen-source] component bench:really-safe-money-bench dependency lib
45.30 s
[really-safe-money-gen-source] Configured component graph:
45.30 s
[really-safe-money-gen-source] component really-safe-money-gen-0.0.0.0-6HAQXS408A94VVAcwfSL53
45.30 s
[really-safe-money-gen-source] include QuickCheck-2.15.0.1-8fVC1qSJKj9H9pvMjJXUwU
45.30 s
[really-safe-money-gen-source] include base-4.20.2.0-64da
45.30 s
[really-safe-money-gen-source] include genvalidity-1.1.1.0-KJOcA1wEUno9vXRiVdno1L
45.30 s
[really-safe-money-gen-source] include genvalidity-containers-1.0.0.2-DXaOCEBh8iJ1c8u2LwVlK1
45.30 s
[really-safe-money-gen-source] include really-safe-money-0.0.0.0-KH9ltLBvnn0Cn1rgifGPh9
45.30 s
[really-safe-money-gen-source] component really-safe-money-gen-0.0.0.0-LP0fSqTOwvk9RMpsKSu0nN-really-safe-money-bench
45.30 s
[really-safe-money-gen-source] include QuickCheck-2.15.0.1-8fVC1qSJKj9H9pvMjJXUwU
45.30 s
[really-safe-money-gen-source] include base-4.20.2.0-64da
45.30 s
[really-safe-money-autodocodec-source] depends autodocodec-0.5.0.0-1mMvp4WI6JDKv9IH8Klk8Y
45.30 s
[really-safe-money-autodocodec-source] depends base-4.20.2.0-64da
45.30 s
[really-safe-money-autodocodec-source] depends really-safe-money-0.0.0.0-KH9ltLBvnn0Cn1rgifGPh9
45.30 s
[really-safe-money-autodocodec-source] Using Cabal-3.12.1.0 compiled by ghc-9.10
45.30 s
[really-safe-money-autodocodec-source] Using compiler: ghc-9.10.3
45.30 s
[really-safe-money-autodocodec-source] Using install prefix:
45.30 s
[really-safe-money-autodocodec-source] /nix/store/sh2v9380r9w45f4d498kkxvxy64kw0rr-really-safe-money-autodocodec-source-0.0.0.0
45.30 s
[really-safe-money-autodocodec-source] Executables installed in:
45.30 s
[really-safe-money-autodocodec-source] /nix/store/sh2v9380r9w45f4d498kkxvxy64kw0rr-really-safe-money-autodocodec-source-0.0.0.0/bin
45.30 s
[really-safe-money-autodocodec-source] Libraries installed in:
45.30 s
[really-safe-money-autodocodec-source] /nix/store/sh2v9380r9w45f4d498kkxvxy64kw0rr-really-safe-money-autodocodec-source-0.0.0.0/lib/ghc-9.10.3/lib/x86_64-linux-ghc-9.10.3-05f6/really-safe-money-autodocodec-0.0.0.0-6uQz3PYxbwUCTmvro4lDZk
45.30 s
[really-safe-money-autodocodec-source] Dynamic Libraries installed in:
45.30 s
[really-safe-money-autodocodec-source] /nix/store/sh2v9380r9w45f4d498kkxvxy64kw0rr-really-safe-money-autodocodec-source-0.0.0.0/lib/ghc-9.10.3/lib/x86_64-linux-ghc-9.10.3-05f6
45.30 s
[really-safe-money-autodocodec-source] Private executables installed in:
45.30 s
[really-safe-money-autodocodec-source] /nix/store/sh2v9380r9w45f4d498kkxvxy64kw0rr-really-safe-money-autodocodec-source-0.0.0.0/libexec/x86_64-linux-ghc-9.10.3-05f6/really-safe-money-autodocodec-0.0.0.0
45.30 s
[really-safe-money-autodocodec-source] Data files installed in:
45.30 s
[really-safe-money-autodocodec-source] /nix/store/sh2v9380r9w45f4d498kkxvxy64kw0rr-really-safe-money-autodocodec-source-0.0.0.0/share/x86_64-linux-ghc-9.10.3-05f6/really-safe-money-autodocodec-0.0.0.0
45.30 s
[really-safe-money-autodocodec-source] Documentation installed in: /share/doc/really-safe-money-autodocodec-0.0.0.0
45.30 s
[really-safe-money-autodocodec-source] Configuration files installed in:
45.30 s
[really-safe-money-autodocodec-source] /nix/store/sh2v9380r9w45f4d498kkxvxy64kw0rr-really-safe-money-autodocodec-source-0.0.0.0/etc
45.30 s
[really-safe-money-autodocodec-source] No alex found
45.30 s
[really-safe-money-autodocodec-source] Using ar found on system at:
45.30 s
[really-safe-money-autodocodec-source] /nix/store/iz5lckcsg66r223si2gck7csk2hihj0m-binutils-wrapper-2.44/bin/ar
45.30 s
[really-safe-money-autodocodec-source] No c2hs found
45.30 s
[really-safe-money-autodocodec-source] No cpphs found
45.30 s
[really-safe-money-autodocodec-source] No doctest found
45.30 s
[really-safe-money-autodocodec-source] Using gcc version 14.3.0 given by user at:
45.30 s
[really-safe-money-autodocodec-source] /nix/store/8v97ngkcpfzgghwnnr7fsz33p2x22gy9-gcc-wrapper-14.3.0/bin/gcc
45.30 s
[really-safe-money-autodocodec-source] Using ghc version 9.10.3 found on system at:
45.30 s
[really-safe-money-autodocodec-source] /nix/store/s9jd43rkwc2syl9cvgj6f786avy8bgzy-ghc-9.10.3/bin/ghc
45.30 s
[really-safe-money-autodocodec-source] Using ghc-pkg version 9.10.3 found on system at:
45.30 s
[really-safe-money-autodocodec-source] /nix/store/s9jd43rkwc2syl9cvgj6f786avy8bgzy-ghc-9.10.3/bin/ghc-pkg-9.10.3
45.30 s
[really-safe-money-autodocodec-source] No ghcjs found
45.30 s
[really-safe-money-autodocodec-source] No ghcjs-pkg found
45.30 s
[really-safe-money-autodocodec-source] No greencard found
45.30 s
[really-safe-money-autodocodec-source] Using haddock version 2.31.1 found on system at:
45.30 s
[really-safe-money-autodocodec-source] /nix/store/s9jd43rkwc2syl9cvgj6f786avy8bgzy-ghc-9.10.3/bin/haddock-ghc-9.10.3
45.30 s
[really-safe-money-autodocodec-source] No happy found
45.30 s
[really-safe-money-autodocodec-source] Using haskell-suite found on system at: haskell-suite-dummy-location
45.30 s
[really-safe-money-autodocodec-source] Using haskell-suite-pkg found on system at: haskell-suite-pkg-dummy-location
45.30 s
[really-safe-money-autodocodec-source] No hmake found
45.30 s
[really-safe-money-autodocodec-source] Using hpc version 0.69 found on system at:
45.30 s
[really-safe-money-autodocodec-source] /nix/store/s9jd43rkwc2syl9cvgj6f786avy8bgzy-ghc-9.10.3/bin/hpc-ghc-9.10.3
45.30 s
[really-safe-money-autodocodec-source] Using hsc2hs version 0.68.10 found on system at:
45.30 s
[really-safe-money-autodocodec-source] /nix/store/s9jd43rkwc2syl9cvgj6f786avy8bgzy-ghc-9.10.3/bin/hsc2hs-ghc-9.10.3
45.30 s
[really-safe-money-autodocodec-source] Using hscolour version 1.25 found on system at:
45.30 s
[really-safe-money-autodocodec-source] /nix/store/f755skyzf4jvfx3crwq9mmh3x4lsaz8i-hscolour-1.25/bin/HsColour
45.30 s
[really-safe-money-autodocodec-source] No jhc found
45.30 s
[really-safe-money-autodocodec-source] Using ld found on system at:
45.30 s
[really-safe-money-autodocodec-source] /nix/store/8v97ngkcpfzgghwnnr7fsz33p2x22gy9-gcc-wrapper-14.3.0/bin/ld
45.30 s
[really-safe-money-autodocodec-source] No pkg-config found
45.30 s
[really-safe-money-autodocodec-source] Using runghc version 9.10.3 found on system at:
45.30 s
[really-safe-money-autodocodec-source] /nix/store/s9jd43rkwc2syl9cvgj6f786avy8bgzy-ghc-9.10.3/bin/runghc-9.10.3
45.30 s
[really-safe-money-autodocodec-source] Using strip version 2.44 found on system at:
45.30 s
[really-safe-money-autodocodec-source] /nix/store/8v97ngkcpfzgghwnnr7fsz33p2x22gy9-gcc-wrapper-14.3.0/bin/strip
45.30 s
[really-safe-money-autodocodec-source] Using tar found on system at:
45.30 s
[really-safe-money-autodocodec-source] /nix/store/xl6pd2spjajwcpq09fnmnjv5psqmlmma-gnutar-1.35/bin/tar
45.30 s
[really-safe-money-autodocodec-source] No uhc found
45.30 s
[really-safe-money-autodocodec-source] Phase: buildPhase
45.30 s
[really-safe-money-autodocodec-source] Distribution quality errors:
45.30 s
[really-safe-money-autodocodec-source] [no-syn-desc] No 'synopsis' or 'description' field.
45.30 s
[really-safe-money-autodocodec-source] Distribution quality warnings:
45.30 s
[really-safe-money-autodocodec-source] [no-category] No 'category' field.
45.30 s
[really-safe-money-autodocodec-source] [no-maintainer] No 'maintainer' field.
45.30 s
[really-safe-money-autodocodec-source] [all-rights-reserved] The 'license' is AllRightsReserved. Is that really what
45.30 s
[really-safe-money-autodocodec-source] you want?
45.30 s
[really-safe-money-autodocodec-source] [missing-upper-bounds] On library, these packages miss upper bounds:
45.30 s
[really-safe-money-autodocodec-source] - autodocodec
45.30 s
[really-safe-money-autodocodec-source] - really-safe-money
45.30 s
[really-safe-money-autodocodec-source] Please add them. There is more information at https://pvp.haskell.org/
45.30 s
[really-safe-money-autodocodec-source] Note: the public hackage server would reject this package.
45.30 s
[really-safe-money-autodocodec-source] Building source dist for really-safe-money-autodocodec-0.0.0.0...
45.30 s
[really-safe-money-autodocodec-source] Source tarball created: dist/really-safe-money-autodocodec-0.0.0.0.tar.gz
45.30 s
[really-safe-money-autodocodec-source] Phase: haddockPhase
45.30 s
[really-safe-money-autodocodec-source] Phase: installPhase
45.30 s
[really-safe-money-autodocodec-source] Phase: fixupPhase
45.30 s
[really-safe-money-gen-source] include criterion-1.6.4.0-ExZW8LB8ON09pSIfu9sGRN
45.30 s
[really-safe-money-gen-source] include deepseq-1.5.0.0-9a2c
45.30 s
[really-safe-money-gen-source] include genvalidity-1.1.1.0-KJOcA1wEUno9vXRiVdno1L
45.30 s
[really-safe-money-gen-source] include genvalidity-criterion-1.1.0.0-9pHw4wnFNz9EtFzK0UU3g3
45.30 s
[really-safe-money-gen-source] include genvalidity-vector-1.0.0.0-6KKiduowklk7hSxSW05Gxi
45.30 s
[really-safe-money-gen-source] include really-safe-money-0.0.0.0-KH9ltLBvnn0Cn1rgifGPh9
45.30 s
[really-safe-money-gen-source] include really-safe-money-gen-0.0.0.0-6HAQXS408A94VVAcwfSL53
45.30 s
[really-safe-money-gen-source] include vector-0.13.2.0-GDUCoiHhVuq2SKPTzzTr3a
45.30 s
[really-safe-money-gen-source] Linked component graph:
45.30 s
[really-safe-money-gen-source] unit really-safe-money-gen-0.0.0.0-6HAQXS408A94VVAcwfSL53
45.30 s
[really-safe-money-gen-source] include QuickCheck-2.15.0.1-8fVC1qSJKj9H9pvMjJXUwU
45.30 s
[really-safe-money-gen-source] include base-4.20.2.0-64da
45.30 s
[really-safe-money-gen-source] include genvalidity-1.1.1.0-KJOcA1wEUno9vXRiVdno1L
45.30 s
[really-safe-money-gen-source] include genvalidity-containers-1.0.0.2-DXaOCEBh8iJ1c8u2LwVlK1
45.30 s
[really-safe-money-gen-source] include really-safe-money-0.0.0.0-KH9ltLBvnn0Cn1rgifGPh9
45.30 s
[really-safe-money-gen-source] Money.Account.Gen=really-safe-money-gen-0.0.0.0-6HAQXS408A94VVAcwfSL53:Money.Account.Gen,Money.AccountOf.Gen=really-safe-money-gen-0.0.0.0-6HAQXS408A94VVAcwfSL53:Money.AccountOf.Gen,Money.Amount.Gen=really-safe-money-gen-0.0.0.0-6HAQXS408A94VVAcwfSL53:Money.Amount.Gen,Money.AmountOf.Gen=really-safe-money-gen-0.0.0.0-6HAQXS408A94VVAcwfSL53:Money.AmountOf.Gen,Money.ConversionRate.Gen=really-safe-money-gen-0.0.0.0-6HAQXS408A94VVAcwfSL53:Money.ConversionRate.Gen,Money.ConversionRateOf.Gen=really-safe-money-gen-0.0.0.0-6HAQXS408A94VVAcwfSL53:Money.ConversionRateOf.Gen,Money.Currency.Gen=really-safe-money-gen-0.0.0.0-6HAQXS408A94VVAcwfSL53:Money.Currency.Gen,Money.Gen=really-safe-money-gen-0.0.0.0-6HAQXS408A94VVAcwfSL53:Money.Gen,Money.MultiAccount.Gen=really-safe-money-gen-0.0.0.0-6HAQXS408A94VVAcwfSL53:Money.MultiAccount.Gen,Money.MultiAmount.Gen=really-safe-money-gen-0.0.0.0-6HAQXS408A94VVAcwfSL53:Money.MultiAmount.Gen,Money.QuantisationFactor.Gen=really-safe-money-gen-0.0.0.0-6HAQXS408A94VVAcwfSL53:Money.QuantisationFactor.Gen,Numeric.DecimalLiteral.Gen=really-safe-money-gen-0.0.0.0-6HAQXS408A94VVAcwfSL53:Numeric.DecimalLiteral.Gen
45.30 s
[really-safe-money-gen-source] unit really-safe-money-gen-0.0.0.0-LP0fSqTOwvk9RMpsKSu0nN-really-safe-money-bench
45.30 s
[really-safe-money-gen-source] include QuickCheck-2.15.0.1-8fVC1qSJKj9H9pvMjJXUwU
45.30 s
[really-safe-money-gen-source] include base-4.20.2.0-64da
45.30 s
[really-safe-money-gen-source] include criterion-1.6.4.0-ExZW8LB8ON09pSIfu9sGRN
45.30 s
[really-safe-money-gen-source] include deepseq-1.5.0.0-9a2c
45.30 s
[really-safe-money-gen-source] include genvalidity-1.1.1.0-KJOcA1wEUno9vXRiVdno1L
45.30 s
[really-safe-money-gen-source] include genvalidity-criterion-1.1.0.0-9pHw4wnFNz9EtFzK0UU3g3
45.30 s
[really-safe-money-gen-source] include genvalidity-vector-1.0.0.0-6KKiduowklk7hSxSW05Gxi
45.30 s
[really-safe-money-gen-source] include really-safe-money-0.0.0.0-KH9ltLBvnn0Cn1rgifGPh9
45.30 s
[really-safe-money-gen-source] include really-safe-money-gen-0.0.0.0-6HAQXS408A94VVAcwfSL53
45.30 s
[really-safe-money-gen-source] include vector-0.13.2.0-GDUCoiHhVuq2SKPTzzTr3a
45.30 s
[really-safe-money-gen-source] Ready component graph:
45.30 s
[really-safe-money-gen-source] definite really-safe-money-gen-0.0.0.0-6HAQXS408A94VVAcwfSL53
45.30 s
[really-safe-money-gen-source] depends QuickCheck-2.15.0.1-8fVC1qSJKj9H9pvMjJXUwU
45.30 s
[really-safe-money-gen-source] depends base-4.20.2.0-64da
45.30 s
[really-safe-money-gen-source] depends genvalidity-1.1.1.0-KJOcA1wEUno9vXRiVdno1L
45.30 s
[really-safe-money-gen-source] depends genvalidity-containers-1.0.0.2-DXaOCEBh8iJ1c8u2LwVlK1
45.30 s
[really-safe-money-gen-source] depends really-safe-money-0.0.0.0-KH9ltLBvnn0Cn1rgifGPh9
45.30 s
[really-safe-money-gen-source] definite really-safe-money-gen-0.0.0.0-LP0fSqTOwvk9RMpsKSu0nN-really-safe-money-bench
45.30 s
[really-safe-money-gen-source] depends QuickCheck-2.15.0.1-8fVC1qSJKj9H9pvMjJXUwU
45.30 s
[really-safe-money-gen-source] depends base-4.20.2.0-64da
45.30 s
[really-safe-money-gen-source] depends criterion-1.6.4.0-ExZW8LB8ON09pSIfu9sGRN
45.30 s
[really-safe-money-gen-source] depends deepseq-1.5.0.0-9a2c
45.30 s
[really-safe-money-gen-source] depends genvalidity-1.1.1.0-KJOcA1wEUno9vXRiVdno1L
45.30 s
[really-safe-money-gen-source] depends genvalidity-criterion-1.1.0.0-9pHw4wnFNz9EtFzK0UU3g3
45.30 s
[really-safe-money-gen-source] depends genvalidity-vector-1.0.0.0-6KKiduowklk7hSxSW05Gxi
45.30 s
[really-safe-money-gen-source] depends really-safe-money-0.0.0.0-KH9ltLBvnn0Cn1rgifGPh9
45.30 s
[really-safe-money-gen-source] depends really-safe-money-gen-0.0.0.0-6HAQXS408A94VVAcwfSL53
45.30 s
[really-safe-money-gen-source] depends vector-0.13.2.0-GDUCoiHhVuq2SKPTzzTr3a
45.30 s
[really-safe-money-gen-source] Using Cabal-3.12.1.0 compiled by ghc-9.10
45.30 s
[really-safe-money-gen-source] Using compiler: ghc-9.10.3
45.30 s
[really-safe-money-gen-source] Using install prefix:
45.30 s
[really-safe-money-gen-source] /nix/store/0nk9jwdd6n9pdwmarm859jm1imki6n5j-really-safe-money-gen-source-0.0.0.0
45.30 s
[really-safe-money-gen-source] Executables installed in:
45.30 s
[really-safe-money-gen-source] /nix/store/0nk9jwdd6n9pdwmarm859jm1imki6n5j-really-safe-money-gen-source-0.0.0.0/bin
45.30 s
[really-safe-money-gen-source] Libraries installed in:
45.32 s
[post-build-hook] Uploading to cachix cache "sydtest": /nix/store/sh2v9380r9w45f4d498kkxvxy64kw0rr-really-safe-money-autodocodec-source-0.0.0.0
45.69 s
[post-build-hook] Pushing 1 paths (0 are already present) using zstd to cache sydtest ⏳
45.69 s
[post-build-hook]
46.04 s
[post-build-hook] Pushing /nix/store/sh2v9380r9w45f4d498kkxvxy64kw0rr-really-safe-money-autodocodec-source-0.0.0.0 (5.45 KiB)
47.02 s
[post-build-hook]
47.02 s
[post-build-hook] All done.
47.04 s
[post-build-hook] Uploading to the NixCI staging cache: /nix/store/sh2v9380r9w45f4d498kkxvxy64kw0rr-really-safe-money-autodocodec-source-0.0.0.0
47.08 s
[post-build-hook] warning: 'warn-short-path-literals' is deprecated, use 'lint-short-path-literals = ignore' instead
47.09 s
[post-build-hook] copying 1 paths...
47.09 s
[post-build-hook] copying path '/nix/store/sh2v9380r9w45f4d498kkxvxy64kw0rr-really-safe-money-autodocodec-source-0.0.0.0' to 'https://cache.staging.nix-ci.com'...
47.36 s
[post-build-hook] warning: 'warn-short-path-literals' is deprecated, use 'lint-short-path-literals = ignore' instead
47.62 s
[post-build-hook] copying 1 paths...
47.62 s
[post-build-hook] copying path '/nix/store/qls9bk343mfnmswm65x7gmls3q5qy6n0-really-safe-money-autodocodec-source-0.0.0.0.drv' to 'https://cache.staging.nix-ci.com'...
47.82 s
Progress: 4 of 8 built (1 building)
47.82 s
[really-safe-money-gen-source] /nix/store/0nk9jwdd6n9pdwmarm859jm1imki6n5j-really-safe-money-gen-source-0.0.0.0/lib/ghc-9.10.3/lib/x86_64-linux-ghc-9.10.3-05f6/really-safe-money-gen-0.0.0.0-6HAQXS408A94VVAcwfSL53
47.82 s
[really-safe-money-gen-source] Dynamic Libraries installed in:
47.82 s
[really-safe-money-gen-source] /nix/store/0nk9jwdd6n9pdwmarm859jm1imki6n5j-really-safe-money-gen-source-0.0.0.0/lib/ghc-9.10.3/lib/x86_64-linux-ghc-9.10.3-05f6
47.82 s
[really-safe-money-gen-source] Private executables installed in:
47.82 s
[really-safe-money-gen-source] /nix/store/0nk9jwdd6n9pdwmarm859jm1imki6n5j-really-safe-money-gen-source-0.0.0.0/libexec/x86_64-linux-ghc-9.10.3-05f6/really-safe-money-gen-0.0.0.0
47.82 s
[really-safe-money-gen-source] Data files installed in:
47.82 s
[really-safe-money-gen-source] /nix/store/0nk9jwdd6n9pdwmarm859jm1imki6n5j-really-safe-money-gen-source-0.0.0.0/share/x86_64-linux-ghc-9.10.3-05f6/really-safe-money-gen-0.0.0.0
47.82 s
[really-safe-money-gen-source] Documentation installed in: /share/doc/really-safe-money-gen-0.0.0.0
47.82 s
[really-safe-money-gen-source] Configuration files installed in:
47.82 s
[really-safe-money-gen-source] /nix/store/0nk9jwdd6n9pdwmarm859jm1imki6n5j-really-safe-money-gen-source-0.0.0.0/etc
47.82 s
[really-safe-money-gen-source] No alex found
47.82 s
[really-safe-money-gen-source] Using ar found on system at:
47.82 s
[really-safe-money-gen-source] /nix/store/iz5lckcsg66r223si2gck7csk2hihj0m-binutils-wrapper-2.44/bin/ar
47.82 s
[really-safe-money-gen-source] No c2hs found
47.82 s
[really-safe-money-gen-source] No cpphs found
47.82 s
[really-safe-money-gen-source] No doctest found
47.82 s
[really-safe-money-gen-source] Using gcc version 14.3.0 given by user at:
47.82 s
[really-safe-money-gen-source] /nix/store/8v97ngkcpfzgghwnnr7fsz33p2x22gy9-gcc-wrapper-14.3.0/bin/gcc
47.82 s
[really-safe-money-gen-source] Using ghc version 9.10.3 found on system at:
47.82 s
[really-safe-money-gen-source] /nix/store/s9jd43rkwc2syl9cvgj6f786avy8bgzy-ghc-9.10.3/bin/ghc
47.82 s
[really-safe-money-gen-source] Using ghc-pkg version 9.10.3 found on system at:
47.82 s
[really-safe-money-gen-source] /nix/store/s9jd43rkwc2syl9cvgj6f786avy8bgzy-ghc-9.10.3/bin/ghc-pkg-9.10.3
47.82 s
[really-safe-money-gen-source] No ghcjs found
47.82 s
[really-safe-money-gen-source] No ghcjs-pkg found
47.82 s
[really-safe-money-gen-source] No greencard found
47.82 s
[really-safe-money-gen-source] Using haddock version 2.31.1 found on system at:
47.82 s
[really-safe-money-gen-source] /nix/store/s9jd43rkwc2syl9cvgj6f786avy8bgzy-ghc-9.10.3/bin/haddock-ghc-9.10.3
47.82 s
[really-safe-money-gen-source] No happy found
47.82 s
[really-safe-money-gen-source] Using haskell-suite found on system at: haskell-suite-dummy-location
47.82 s
[really-safe-money-gen-source] Using haskell-suite-pkg found on system at: haskell-suite-pkg-dummy-location
47.82 s
[really-safe-money-gen-source] No hmake found
47.82 s
[really-safe-money-gen-source] Using hpc version 0.69 found on system at:
47.82 s
[really-safe-money-gen-source] /nix/store/s9jd43rkwc2syl9cvgj6f786avy8bgzy-ghc-9.10.3/bin/hpc-ghc-9.10.3
47.82 s
[really-safe-money-gen-source] Using hsc2hs version 0.68.10 found on system at:
47.82 s
[really-safe-money-gen-source] /nix/store/s9jd43rkwc2syl9cvgj6f786avy8bgzy-ghc-9.10.3/bin/hsc2hs-ghc-9.10.3
47.82 s
[really-safe-money-gen-source] Using hscolour version 1.25 found on system at:
47.82 s
[really-safe-money-gen-source] /nix/store/f755skyzf4jvfx3crwq9mmh3x4lsaz8i-hscolour-1.25/bin/HsColour
47.82 s
[really-safe-money-gen-source] No jhc found
47.82 s
[really-safe-money-gen-source] Using ld found on system at:
47.82 s
[really-safe-money-gen-source] /nix/store/8v97ngkcpfzgghwnnr7fsz33p2x22gy9-gcc-wrapper-14.3.0/bin/ld
47.82 s
[really-safe-money-gen-source] No pkg-config found
47.82 s
[really-safe-money-gen-source] Using runghc version 9.10.3 found on system at:
47.82 s
[really-safe-money-gen-source] /nix/store/s9jd43rkwc2syl9cvgj6f786avy8bgzy-ghc-9.10.3/bin/runghc-9.10.3
47.82 s
[really-safe-money-gen-source] Using strip version 2.44 found on system at:
47.82 s
[really-safe-money-gen-source] /nix/store/8v97ngkcpfzgghwnnr7fsz33p2x22gy9-gcc-wrapper-14.3.0/bin/strip
47.82 s
[really-safe-money-gen-source] Using tar found on system at:
47.82 s
[really-safe-money-gen-source] /nix/store/xl6pd2spjajwcpq09fnmnjv5psqmlmma-gnutar-1.35/bin/tar
47.82 s
[really-safe-money-gen-source] No uhc found
47.82 s
[really-safe-money-gen-source] Phase: buildPhase
47.82 s
[really-safe-money-gen-source] Distribution quality errors:
47.82 s
[really-safe-money-gen-source] [no-syn-desc] No 'synopsis' or 'description' field.
47.82 s
[really-safe-money-gen-source] Distribution quality warnings:
47.82 s
[really-safe-money-gen-source] [no-category] No 'category' field.
47.82 s
[really-safe-money-gen-source] [no-maintainer] No 'maintainer' field.
47.82 s
[really-safe-money-gen-source] [all-rights-reserved] The 'license' is AllRightsReserved. Is that really what
47.82 s
[really-safe-money-gen-source] you want?
47.82 s
[really-safe-money-gen-source] [missing-upper-bounds] On library, these packages miss upper bounds:
47.82 s
[really-safe-money-gen-source] - QuickCheck
47.82 s
[really-safe-money-gen-source] - genvalidity
47.82 s
[really-safe-money-gen-source] - genvalidity-containers
47.82 s
[really-safe-money-gen-source] - really-safe-money
47.82 s
[really-safe-money-gen-source] Please add them. There is more information at https://pvp.haskell.org/
47.82 s
[really-safe-money-gen-source] Note: the public hackage server would reject this package.
47.82 s
[really-safe-money-gen-source] Building source dist for really-safe-money-gen-0.0.0.0...
47.82 s
[really-safe-money-gen-source] Source tarball created: dist/really-safe-money-gen-0.0.0.0.tar.gz
47.82 s
[really-safe-money-gen-source] Phase: haddockPhase
47.82 s
[really-safe-money-gen-source] Phase: installPhase
47.82 s
[really-safe-money-gen-source] Phase: fixupPhase
47.86 s
Building really-safe-money-autodocodec
47.89 s
[post-build-hook] Uploading to cachix cache "sydtest": /nix/store/0nk9jwdd6n9pdwmarm859jm1imki6n5j-really-safe-money-gen-source-0.0.0.0
48.27 s
[post-build-hook] Pushing 1 paths (0 are already present) using zstd to cache sydtest ⏳
48.27 s
[post-build-hook]
48.64 s
[post-build-hook] Pushing /nix/store/0nk9jwdd6n9pdwmarm859jm1imki6n5j-really-safe-money-gen-source-0.0.0.0 (16.64 KiB)
49.89 s
[post-build-hook]
49.89 s
[post-build-hook] All done.
49.91 s
[post-build-hook] Uploading to the NixCI staging cache: /nix/store/0nk9jwdd6n9pdwmarm859jm1imki6n5j-really-safe-money-gen-source-0.0.0.0
49.95 s
[post-build-hook] warning: 'warn-short-path-literals' is deprecated, use 'lint-short-path-literals = ignore' instead
49.96 s
[post-build-hook] copying 1 paths...
49.96 s
[post-build-hook] copying path '/nix/store/0nk9jwdd6n9pdwmarm859jm1imki6n5j-really-safe-money-gen-source-0.0.0.0' to 'https://cache.staging.nix-ci.com'...
51.37 s
[post-build-hook] warning: 'warn-short-path-literals' is deprecated, use 'lint-short-path-literals = ignore' instead
51.61 s
[post-build-hook] copying 1 paths...
51.68 s
[post-build-hook] copying path '/nix/store/skdvnfmfc11mka4xdbjs368x1rqbhnr5-really-safe-money-gen-source-0.0.0.0.drv' to 'https://cache.staging.nix-ci.com'...
51.84 s
Progress: 5 of 8 built (1 building)
51.84 s
[really-safe-money-autodocodec] Phase: setupCompilerEnvironmentPhase
51.84 s
[really-safe-money-autodocodec] Build with /nix/store/s9jd43rkwc2syl9cvgj6f786avy8bgzy-ghc-9.10.3.
51.84 s
[really-safe-money-autodocodec] Phase: unpackPhase
51.84 s
[really-safe-money-autodocodec] unpacking source archive /nix/store/sh2v9380r9w45f4d498kkxvxy64kw0rr-really-safe-money-autodocodec-source-0.0.0.0/really-safe-money-autodocodec-0.0.0.0.tar.gz
51.84 s
[really-safe-money-autodocodec] source root is really-safe-money-autodocodec-0.0.0.0
51.84 s
[really-safe-money-autodocodec] setting SOURCE_DATE_EPOCH to timestamp 1778791720 of file "really-safe-money-autodocodec-0.0.0.0/test/Spec.hs"
51.84 s
[really-safe-money-autodocodec] warning: file "really-safe-money-autodocodec-0.0.0.0/test/Spec.hs" may be generated; SOURCE_DATE_EPOCH may be non-deterministic
51.84 s
[really-safe-money-autodocodec] Phase: patchPhase
51.84 s
[really-safe-money-autodocodec] Phase: compileBuildDriverPhase
51.84 s
[really-safe-money-autodocodec] setupCompileFlags: -package-db=/build/tmp.bJcmUyitPK/setup-package.conf.d -threaded
51.84 s
[really-safe-money-autodocodec] [1 of 2] Compiling Main ( Setup.hs, /build/tmp.bJcmUyitPK/Main.o )
51.84 s
[really-safe-money-autodocodec] [2 of 2] Linking Setup
51.84 s
[really-safe-money-autodocodec] Phase: updateAutotoolsGnuConfigScriptsPhase
51.84 s
[really-safe-money-autodocodec] Phase: configurePhase
51.84 s
[really-safe-money-autodocodec] configureFlags: --verbose --prefix=/nix/store/bah7dl070n1486nbw99pk8dx8sj06zw8-really-safe-money-autodocodec-0.0.0.0 --libdir=$prefix/lib/$compiler/lib --libsubdir=$abi/$libname --with-gcc=gcc --package-db=/build/tmp.bJcmUyitPK/package.conf.d --ghc-option=-j16 --ghc-option=+RTS --ghc-option=-A64M --ghc-option=-RTS --enable-library-profiling --profiling-detail=exported-functions --disable-profiling --enable-shared --disable-coverage --disable-static --disable-executable-dynamic --disable-tests --enable-benchmarks --enable-library-vanilla --disable-library-for-ghci --enable-split-sections --enable-library-stripping --enable-executable-stripping --ghc-options=-O2 --ghc-options=-Wall --ghc-options=-Wincomplete-uni-patterns --ghc-options=-Wincomplete-record-updates --ghc-options=-Wpartial-fields --ghc-options=-Widentities --ghc-options=-Wredundant-constraints --ghc-options=-Wcpp-undef --ghc-options=-Werror --ghc-options=-fplugin-opt=Test.Syd.Mutation.Plugin:--debug --disable-optimization --ghc-option=-j1 --ghc-option=+RTS --ghc-option=-A32M --ghc-option=-M16g --ghc-option=-RTS --extra-lib-dirs=/nix/store/ffyzkisqs4vc4mg28bwwlyqjf8i9ph6b-ncurses-6.5/lib --extra-lib-dirs=/nix/store/n28qgdj8c1q41kf7n4y1jxa6ckp85m3c-libffi-3.5.2/lib --extra-lib-dirs=/nix/store/1b6h99dw7bk4wbn77kbalih42zbc67m1-elfutils-0.194/lib --extra-lib-dirs=/nix/store/hi0ar880110k6jsmmili7dh1gq3cg2a9-gmp-with-cxx-6.3.0/lib --extra-lib-dirs=/nix/store/g09cflpnp4g80q56sj9dng1qzv4v4ybc-numactl-2.0.18/lib --extra-lib-dirs=/nix/store/s9jd43rkwc2syl9cvgj6f786avy8bgzy-ghc-9.10.3/lib
51.84 s
[really-safe-money-autodocodec] Using Parsec parser
51.84 s
[really-safe-money-autodocodec] Configuring really-safe-money-autodocodec-0.0.0.0...
51.84 s
[really-safe-money-autodocodec] Dependency autodocodec: using autodocodec-0.5.0.0
51.84 s
[really-safe-money-autodocodec] Dependency base >=4.7 && <5: using base-4.20.2.0
51.84 s
[really-safe-money-autodocodec] Dependency really-safe-money: using really-safe-money-0.0.0.0
51.84 s
[really-safe-money-autodocodec] Source component graph: component lib
51.84 s
[really-safe-money-autodocodec] Configured component graph:
51.84 s
[really-safe-money-autodocodec] component really-safe-money-autodocodec-0.0.0.0-6uQz3PYxbwUCTmvro4lDZk
51.84 s
[really-safe-money-autodocodec] include autodocodec-0.5.0.0-1mMvp4WI6JDKv9IH8Klk8Y
51.84 s
[really-safe-money-autodocodec] include base-4.20.2.0-64da
51.84 s
[really-safe-money-autodocodec] include really-safe-money-0.0.0.0-KH9ltLBvnn0Cn1rgifGPh9
51.84 s
[really-safe-money-autodocodec] Linked component graph:
51.84 s
[really-safe-money-autodocodec] unit really-safe-money-autodocodec-0.0.0.0-6uQz3PYxbwUCTmvro4lDZk
51.84 s
[really-safe-money-autodocodec] include autodocodec-0.5.0.0-1mMvp4WI6JDKv9IH8Klk8Y
51.84 s
[really-safe-money-autodocodec] include base-4.20.2.0-64da
51.84 s
[really-safe-money-autodocodec] include really-safe-money-0.0.0.0-KH9ltLBvnn0Cn1rgifGPh9
51.84 s
[really-safe-money-autodocodec] Money.Account.Codec=really-safe-money-autodocodec-0.0.0.0-6uQz3PYxbwUCTmvro4lDZk:Money.Account.Codec,Money.AccountOf.Codec=really-safe-money-autodocodec-0.0.0.0-6uQz3PYxbwUCTmvro4lDZk:Money.AccountOf.Codec,Money.Amount.Codec=really-safe-money-autodocodec-0.0.0.0-6uQz3PYxbwUCTmvro4lDZk:Money.Amount.Codec,Money.AmountOf.Codec=really-safe-money-autodocodec-0.0.0.0-6uQz3PYxbwUCTmvro4lDZk:Money.AmountOf.Codec,Money.QuantisationFactor.Codec=really-safe-money-autodocodec-0.0.0.0-6uQz3PYxbwUCTmvro4lDZk:Money.QuantisationFactor.Codec,Numeric.DecimalLiteral.Codec=really-safe-money-autodocodec-0.0.0.0-6uQz3PYxbwUCTmvro4lDZk:Numeric.DecimalLiteral.Codec
51.84 s
[really-safe-money-autodocodec] Ready component graph:
51.84 s
[really-safe-money-autodocodec] definite really-safe-money-autodocodec-0.0.0.0-6uQz3PYxbwUCTmvro4lDZk
51.84 s
[really-safe-money-autodocodec] depends autodocodec-0.5.0.0-1mMvp4WI6JDKv9IH8Klk8Y
51.84 s
[really-safe-money-autodocodec] depends base-4.20.2.0-64da
51.84 s
[really-safe-money-autodocodec] depends really-safe-money-0.0.0.0-KH9ltLBvnn0Cn1rgifGPh9
51.84 s
[really-safe-money-autodocodec] Using Cabal-3.12.1.0 compiled by ghc-9.10
51.84 s
[really-safe-money-autodocodec] Using compiler: ghc-9.10.3
51.84 s
[really-safe-money-autodocodec] Using install prefix:
51.84 s
[really-safe-money-autodocodec] /nix/store/bah7dl070n1486nbw99pk8dx8sj06zw8-really-safe-money-autodocodec-0.0.0.0
51.84 s
[really-safe-money-autodocodec] Executables installed in:
51.84 s
[really-safe-money-autodocodec] /nix/store/bah7dl070n1486nbw99pk8dx8sj06zw8-really-safe-money-autodocodec-0.0.0.0/bin
51.84 s
[really-safe-money-autodocodec] Libraries installed in:
51.84 s
[really-safe-money-autodocodec] /nix/store/bah7dl070n1486nbw99pk8dx8sj06zw8-really-safe-money-autodocodec-0.0.0.0/lib/ghc-9.10.3/lib/x86_64-linux-ghc-9.10.3-05f6/really-safe-money-autodocodec-0.0.0.0-6uQz3PYxbwUCTmvro4lDZk
51.84 s
[really-safe-money-autodocodec] Dynamic Libraries installed in:
51.84 s
[really-safe-money-autodocodec] /nix/store/bah7dl070n1486nbw99pk8dx8sj06zw8-really-safe-money-autodocodec-0.0.0.0/lib/ghc-9.10.3/lib/x86_64-linux-ghc-9.10.3-05f6
51.84 s
[really-safe-money-autodocodec] Private executables installed in:
51.84 s
[really-safe-money-autodocodec] /nix/store/bah7dl070n1486nbw99pk8dx8sj06zw8-really-safe-money-autodocodec-0.0.0.0/libexec/x86_64-linux-ghc-9.10.3-05f6/really-safe-money-autodocodec-0.0.0.0
51.84 s
[really-safe-money-autodocodec] Data files installed in:
51.84 s
[really-safe-money-autodocodec] /nix/store/bah7dl070n1486nbw99pk8dx8sj06zw8-really-safe-money-autodocodec-0.0.0.0/share/x86_64-linux-ghc-9.10.3-05f6/really-safe-money-autodocodec-0.0.0.0
51.84 s
[really-safe-money-autodocodec] Documentation installed in:
51.84 s
[really-safe-money-autodocodec] /nix/store/bah7dl070n1486nbw99pk8dx8sj06zw8-really-safe-money-autodocodec-0.0.0.0/share/doc/x86_64-linux-ghc-9.10.3-05f6/really-safe-money-autodocodec-0.0.0.0
51.84 s
[really-safe-money-autodocodec] Configuration files installed in:
51.84 s
[really-safe-money-autodocodec] /nix/store/bah7dl070n1486nbw99pk8dx8sj06zw8-really-safe-money-autodocodec-0.0.0.0/etc
51.84 s
[really-safe-money-autodocodec] No alex found
51.84 s
[really-safe-money-autodocodec] Using ar found on system at:
51.84 s
[really-safe-money-autodocodec] /nix/store/iz5lckcsg66r223si2gck7csk2hihj0m-binutils-wrapper-2.44/bin/ar
51.84 s
[really-safe-money-autodocodec] No c2hs found
51.84 s
[really-safe-money-autodocodec] No cpphs found
51.84 s
[really-safe-money-autodocodec] No doctest found
51.84 s
[really-safe-money-autodocodec] Using gcc version 14.3.0 given by user at:
51.84 s
[really-safe-money-autodocodec] /nix/store/8v97ngkcpfzgghwnnr7fsz33p2x22gy9-gcc-wrapper-14.3.0/bin/gcc
51.84 s
[really-safe-money-autodocodec] Using ghc version 9.10.3 found on system at:
51.84 s
[really-safe-money-autodocodec] /nix/store/s9jd43rkwc2syl9cvgj6f786avy8bgzy-ghc-9.10.3/bin/ghc
51.84 s
[really-safe-money-autodocodec] Using ghc-pkg version 9.10.3 found on system at:
51.84 s
[really-safe-money-autodocodec] /nix/store/s9jd43rkwc2syl9cvgj6f786avy8bgzy-ghc-9.10.3/bin/ghc-pkg-9.10.3
51.84 s
[really-safe-money-autodocodec] No ghcjs found
51.84 s
[really-safe-money-autodocodec] No ghcjs-pkg found
51.84 s
[really-safe-money-autodocodec] No greencard found
51.84 s
[really-safe-money-autodocodec] Using haddock version 2.31.1 found on system at:
51.84 s
[really-safe-money-autodocodec] /nix/store/s9jd43rkwc2syl9cvgj6f786avy8bgzy-ghc-9.10.3/bin/haddock-ghc-9.10.3
51.84 s
[really-safe-money-autodocodec] No happy found
51.84 s
[really-safe-money-autodocodec] Using haskell-suite found on system at: haskell-suite-dummy-location
51.84 s
[really-safe-money-autodocodec] Using haskell-suite-pkg found on system at: haskell-suite-pkg-dummy-location
51.84 s
[really-safe-money-autodocodec] No hmake found
51.84 s
[really-safe-money-autodocodec] Using hpc version 0.69 found on system at:
51.84 s
[really-safe-money-autodocodec] /nix/store/s9jd43rkwc2syl9cvgj6f786avy8bgzy-ghc-9.10.3/bin/hpc-ghc-9.10.3
51.84 s
[really-safe-money-autodocodec] Using hsc2hs version 0.68.10 found on system at:
51.84 s
[really-safe-money-autodocodec] /nix/store/s9jd43rkwc2syl9cvgj6f786avy8bgzy-ghc-9.10.3/bin/hsc2hs-ghc-9.10.3
51.84 s
[really-safe-money-autodocodec] Using hscolour version 1.25 found on system at:
51.84 s
[really-safe-money-autodocodec] /nix/store/f755skyzf4jvfx3crwq9mmh3x4lsaz8i-hscolour-1.25/bin/HsColour
51.84 s
[really-safe-money-autodocodec] No jhc found
51.84 s
[really-safe-money-autodocodec] Using ld found on system at:
51.84 s
[really-safe-money-autodocodec] /nix/store/8v97ngkcpfzgghwnnr7fsz33p2x22gy9-gcc-wrapper-14.3.0/bin/ld
51.84 s
[really-safe-money-autodocodec] No pkg-config found
51.84 s
[really-safe-money-autodocodec] Using runghc version 9.10.3 found on system at:
51.84 s
[really-safe-money-autodocodec] /nix/store/s9jd43rkwc2syl9cvgj6f786avy8bgzy-ghc-9.10.3/bin/runghc-9.10.3
51.84 s
[really-safe-money-autodocodec] Using strip version 2.44 found on system at:
51.84 s
[really-safe-money-autodocodec] /nix/store/8v97ngkcpfzgghwnnr7fsz33p2x22gy9-gcc-wrapper-14.3.0/bin/strip
51.84 s
[really-safe-money-autodocodec] Using tar found on system at:
51.84 s
[really-safe-money-autodocodec] /nix/store/xl6pd2spjajwcpq09fnmnjv5psqmlmma-gnutar-1.35/bin/tar
51.84 s
[really-safe-money-autodocodec] No uhc found
51.84 s
[really-safe-money-autodocodec] Phase: buildPhase
51.84 s
[really-safe-money-autodocodec] mutation-nix: setting MUTATION_MANIFEST_DIR=/nix/store/m9klq73pndk4ywwh175lchlr30lcnysx-really-safe-money-autodocodec-0.0.0.0-manifest
51.84 s
[really-safe-money-autodocodec] Preprocessing library for really-safe-money-autodocodec-0.0.0.0...
51.84 s
[really-safe-money-autodocodec] Building library for really-safe-money-autodocodec-0.0.0.0...
51.84 s
[really-safe-money-autodocodec] [1 of 7] Compiling Money.Account.Codec ( src/Money/Account/Codec.hs, dist/build/Money/Account/Codec.o, dist/build/Money/Account/Codec.dyn_o )
51.84 s
[really-safe-money-autodocodec] mutation: instrumenting Money.Account.Codec
51.84 s
[really-safe-money-autodocodec] added mutation RemoveCase at src/Money/Account/Codec.hs:79:11-24
51.84 s
[really-safe-money-autodocodec] added mutation RemoveCase at src/Money/Account/Codec.hs:79:11-24
51.84 s
[really-safe-money-autodocodec] added mutation ListLit at src/Money/Account/Codec.hs:51:33-76
51.84 s
[really-safe-money-autodocodec] added mutation ListLit at src/Money/Account/Codec.hs:51:33-76
51.84 s
[really-safe-money-autodocodec] added mutation RemoveCase at src/Money/Account/Codec.hs:50:11-24
51.84 s
[really-safe-money-autodocodec] added mutation RemoveCase at src/Money/Account/Codec.hs:50:11-24
51.84 s
[really-safe-money-autodocodec] added 6 mutations
51.84 s
[really-safe-money-autodocodec] [2 of 7] Compiling Money.AccountOf.Codec ( src/Money/AccountOf/Codec.hs, dist/build/Money/AccountOf/Codec.o, dist/build/Money/AccountOf/Codec.dyn_o )
51.84 s
[really-safe-money-autodocodec] mutation: instrumenting Money.AccountOf.Codec
51.84 s
[really-safe-money-autodocodec] added 0 mutations
51.84 s
[really-safe-money-autodocodec] [3 of 7] Compiling Money.Amount.Codec ( src/Money/Amount/Codec.hs, dist/build/Money/Amount/Codec.o, dist/build/Money/Amount/Codec.dyn_o )
51.84 s
[really-safe-money-autodocodec] mutation: instrumenting Money.Amount.Codec
51.84 s
[really-safe-money-autodocodec] added mutation ListLit at src/Money/Amount/Codec.hs:47:33-75
51.84 s
[really-safe-money-autodocodec] added mutation ListLit at src/Money/Amount/Codec.hs:47:33-75
51.84 s
[really-safe-money-autodocodec] added mutation Cmp at src/Money/Amount/Codec.hs:49:12-59
51.84 s
[really-safe-money-autodocodec] added mutation Cmp at src/Money/Amount/Codec.hs:49:12-59
51.84 s
[really-safe-money-autodocodec] added mutation Cmp at src/Money/Amount/Codec.hs:49:12-59
51.84 s
[really-safe-money-autodocodec] added mutation ConstBool at src/Money/Amount/Codec.hs:49:12-59
51.84 s
[really-safe-money-autodocodec] added mutation ConstBool at src/Money/Amount/Codec.hs:49:12-59
51.84 s
[really-safe-money-autodocodec] added mutation Negate at src/Money/Amount/Codec.hs:49:12-59
51.84 s
[really-safe-money-autodocodec] added mutation ListLit at src/Money/Amount/Codec.hs:50:31-84
51.84 s
[really-safe-money-autodocodec] added mutation ListLit at src/Money/Amount/Codec.hs:50:31-84
51.84 s
[really-safe-money-autodocodec] added mutation Cmp at src/Money/Amount/Codec.hs:52:16-63
51.84 s
[really-safe-money-autodocodec] added mutation Cmp at src/Money/Amount/Codec.hs:52:16-63
51.84 s
[really-safe-money-autodocodec] added mutation Cmp at src/Money/Amount/Codec.hs:52:16-63
51.84 s
[really-safe-money-autodocodec] added mutation ConstBool at src/Money/Amount/Codec.hs:52:16-63
51.84 s
[really-safe-money-autodocodec] added mutation ConstBool at src/Money/Amount/Codec.hs:52:16-63
51.84 s
[really-safe-money-autodocodec] added mutation Negate at src/Money/Amount/Codec.hs:52:16-63
51.84 s
[really-safe-money-autodocodec] added mutation ListLit at src/Money/Amount/Codec.hs:53:35-90
51.84 s
[really-safe-money-autodocodec] added mutation ListLit at src/Money/Amount/Codec.hs:53:35-90
51.84 s
[really-safe-money-autodocodec] added mutation RemoveCase at src/Money/Amount/Codec.hs:46:11-86
51.84 s
[really-safe-money-autodocodec] added mutation RemoveCase at src/Money/Amount/Codec.hs:46:11-86
51.84 s
[really-safe-money-autodocodec] added 20 mutations
51.84 s
[really-safe-money-autodocodec] [4 of 7] Compiling Money.AmountOf.Codec ( src/Money/AmountOf/Codec.hs, dist/build/Money/AmountOf/Codec.o, dist/build/Money/AmountOf/Codec.dyn_o )
51.84 s
[really-safe-money-autodocodec] mutation: instrumenting Money.AmountOf.Codec
51.84 s
[really-safe-money-autodocodec] added 0 mutations
51.84 s
[really-safe-money-autodocodec] [5 of 7] Compiling Money.QuantisationFactor.Codec ( src/Money/QuantisationFactor/Codec.hs, dist/build/Money/QuantisationFactor/Codec.o, dist/build/Money/QuantisationFactor/Codec.dyn_o )
51.84 s
[really-safe-money-autodocodec] mutation: instrumenting Money.QuantisationFactor.Codec
51.84 s
[really-safe-money-autodocodec] added mutation RemoveCase at src/Money/QuantisationFactor/Codec.hs:41:11-26
51.84 s
[really-safe-money-autodocodec] added mutation RemoveCase at src/Money/QuantisationFactor/Codec.hs:41:11-26
51.84 s
[really-safe-money-autodocodec] added 2 mutations
51.84 s
[really-safe-money-autodocodec] [6 of 7] Compiling Numeric.DecimalLiteral.Codec ( src/Numeric/DecimalLiteral/Codec.hs, dist/build/Numeric/DecimalLiteral/Codec.o, dist/build/Numeric/DecimalLiteral/Codec.dyn_o )
51.84 s
[really-safe-money-autodocodec] mutation: instrumenting Numeric.DecimalLiteral.Codec
51.84 s
[really-safe-money-autodocodec] added mutation ListLit at src/Numeric/DecimalLiteral/Codec.hs:40:33-82
51.84 s
[really-safe-money-autodocodec] added mutation ListLit at src/Numeric/DecimalLiteral/Codec.hs:40:33-82
51.84 s
[really-safe-money-autodocodec] added mutation RemoveCase at src/Numeric/DecimalLiteral/Codec.hs:39:11-24
51.84 s
[really-safe-money-autodocodec] added mutation RemoveCase at src/Numeric/DecimalLiteral/Codec.hs:39:11-24
51.85 s
[really-safe-money-autodocodec] added 4 mutations
51.85 s
[really-safe-money-autodocodec] [7 of 7] Compiling Paths_really_safe_money_autodocodec ( dist/build/autogen/Paths_really_safe_money_autodocodec.hs, dist/build/Paths_really_safe_money_autodocodec.o, dist/build/Paths_really_safe_money_autodocodec.dyn_o )
52.10 s
[really-safe-money-autodocodec] [1 of 7] Compiling Money.Account.Codec ( src/Money/Account/Codec.hs, dist/build/Money/Account/Codec.p_o )
52.12 s
[really-safe-money-autodocodec] mutation: instrumenting Money.Account.Codec
52.17 s
[really-safe-money-autodocodec] added mutation RemoveCase at src/Money/Account/Codec.hs:79:11-24
52.17 s
[really-safe-money-autodocodec] added mutation RemoveCase at src/Money/Account/Codec.hs:79:11-24
52.17 s
[really-safe-money-autodocodec] added mutation ListLit at src/Money/Account/Codec.hs:51:33-76
52.17 s
[really-safe-money-autodocodec] added mutation ListLit at src/Money/Account/Codec.hs:51:33-76
52.17 s
[really-safe-money-autodocodec] added mutation RemoveCase at src/Money/Account/Codec.hs:50:11-24
52.17 s
[really-safe-money-autodocodec] added mutation RemoveCase at src/Money/Account/Codec.hs:50:11-24
52.17 s
[really-safe-money-autodocodec] added 6 mutations
52.78 s
[really-safe-money-autodocodec] [2 of 7] Compiling Money.AccountOf.Codec ( src/Money/AccountOf/Codec.hs, dist/build/Money/AccountOf/Codec.p_o )
52.78 s
[really-safe-money-autodocodec] mutation: instrumenting Money.AccountOf.Codec
52.78 s
[really-safe-money-autodocodec] added 0 mutations
52.91 s
[really-safe-money-autodocodec] [3 of 7] Compiling Money.Amount.Codec ( src/Money/Amount/Codec.hs, dist/build/Money/Amount/Codec.p_o )
52.92 s
[really-safe-money-autodocodec] mutation: instrumenting Money.Amount.Codec
52.92 s
[really-safe-money-autodocodec] added mutation ListLit at src/Money/Amount/Codec.hs:47:33-75
52.92 s
[really-safe-money-autodocodec] added mutation ListLit at src/Money/Amount/Codec.hs:47:33-75
52.92 s
[really-safe-money-autodocodec] added mutation Cmp at src/Money/Amount/Codec.hs:49:12-59
52.92 s
[really-safe-money-autodocodec] added mutation Cmp at src/Money/Amount/Codec.hs:49:12-59
52.92 s
[really-safe-money-autodocodec] added mutation Cmp at src/Money/Amount/Codec.hs:49:12-59
52.92 s
[really-safe-money-autodocodec] added mutation ConstBool at src/Money/Amount/Codec.hs:49:12-59
52.92 s
[really-safe-money-autodocodec] added mutation ConstBool at src/Money/Amount/Codec.hs:49:12-59
52.92 s
[really-safe-money-autodocodec] added mutation Negate at src/Money/Amount/Codec.hs:49:12-59
52.92 s
[really-safe-money-autodocodec] added mutation ListLit at src/Money/Amount/Codec.hs:50:31-84
52.92 s
[really-safe-money-autodocodec] added mutation ListLit at src/Money/Amount/Codec.hs:50:31-84
52.92 s
[really-safe-money-autodocodec] added mutation Cmp at src/Money/Amount/Codec.hs:52:16-63
52.92 s
[really-safe-money-autodocodec] added mutation Cmp at src/Money/Amount/Codec.hs:52:16-63
52.92 s
[really-safe-money-autodocodec] added mutation Cmp at src/Money/Amount/Codec.hs:52:16-63
52.92 s
[really-safe-money-autodocodec] added mutation ConstBool at src/Money/Amount/Codec.hs:52:16-63
52.92 s
[really-safe-money-autodocodec] added mutation ConstBool at src/Money/Amount/Codec.hs:52:16-63
52.92 s
[really-safe-money-autodocodec] added mutation Negate at src/Money/Amount/Codec.hs:52:16-63
52.92 s
[really-safe-money-autodocodec] added mutation ListLit at src/Money/Amount/Codec.hs:53:35-90
52.92 s
[really-safe-money-autodocodec] added mutation ListLit at src/Money/Amount/Codec.hs:53:35-90
52.92 s
[really-safe-money-autodocodec] added mutation RemoveCase at src/Money/Amount/Codec.hs:46:11-86
52.92 s
[really-safe-money-autodocodec] added mutation RemoveCase at src/Money/Amount/Codec.hs:46:11-86
52.92 s
[really-safe-money-autodocodec] added 20 mutations
53.19 s
[really-safe-money-autodocodec] [4 of 7] Compiling Money.AmountOf.Codec ( src/Money/AmountOf/Codec.hs, dist/build/Money/AmountOf/Codec.p_o )
53.19 s
[really-safe-money-autodocodec] mutation: instrumenting Money.AmountOf.Codec
53.19 s
[really-safe-money-autodocodec] added 0 mutations
53.33 s
[really-safe-money-autodocodec] [5 of 7] Compiling Money.QuantisationFactor.Codec ( src/Money/QuantisationFactor/Codec.hs, dist/build/Money/QuantisationFactor/Codec.p_o )
53.33 s
[really-safe-money-autodocodec] mutation: instrumenting Money.QuantisationFactor.Codec
53.33 s
[really-safe-money-autodocodec] added mutation RemoveCase at src/Money/QuantisationFactor/Codec.hs:41:11-26
53.33 s
[really-safe-money-autodocodec] added mutation RemoveCase at src/Money/QuantisationFactor/Codec.hs:41:11-26
53.33 s
[really-safe-money-autodocodec] added 2 mutations
53.52 s
[really-safe-money-autodocodec] [6 of 7] Compiling Numeric.DecimalLiteral.Codec ( src/Numeric/DecimalLiteral/Codec.hs, dist/build/Numeric/DecimalLiteral/Codec.p_o )
53.52 s
[really-safe-money-autodocodec] mutation: instrumenting Numeric.DecimalLiteral.Codec
53.52 s
[really-safe-money-autodocodec] added mutation ListLit at src/Numeric/DecimalLiteral/Codec.hs:40:33-82
53.52 s
[really-safe-money-autodocodec] added mutation ListLit at src/Numeric/DecimalLiteral/Codec.hs:40:33-82
53.52 s
[really-safe-money-autodocodec] added mutation RemoveCase at src/Numeric/DecimalLiteral/Codec.hs:39:11-24
53.52 s
[really-safe-money-autodocodec] added mutation RemoveCase at src/Numeric/DecimalLiteral/Codec.hs:39:11-24
53.52 s
[really-safe-money-autodocodec] added 4 mutations
53.87 s
[really-safe-money-autodocodec] [7 of 7] Compiling Paths_really_safe_money_autodocodec ( dist/build/autogen/Paths_really_safe_money_autodocodec.hs, dist/build/Paths_really_safe_money_autodocodec.p_o )
54.32 s
[really-safe-money-autodocodec] Warning: ignoring unrecognised input `dist/build/Money/Account/Codec.dyn_o'
54.32 s
[really-safe-money-autodocodec] Warning: ignoring unrecognised input `dist/build/Money/AccountOf/Codec.dyn_o'
54.32 s
[really-safe-money-autodocodec] Warning: ignoring unrecognised input `dist/build/Money/Amount/Codec.dyn_o'
54.32 s
[really-safe-money-autodocodec] Warning: ignoring unrecognised input `dist/build/Money/AmountOf/Codec.dyn_o'
54.32 s
[really-safe-money-autodocodec] Warning: ignoring unrecognised input `dist/build/Money/QuantisationFactor/Codec.dyn_o'
54.32 s
[really-safe-money-autodocodec] Warning: ignoring unrecognised input `dist/build/Numeric/DecimalLiteral/Codec.dyn_o'
54.32 s
[really-safe-money-autodocodec] Warning: ignoring unrecognised input `dist/build/Paths_really_safe_money_autodocodec.dyn_o'
55.12 s
[really-safe-money-autodocodec] mutation-nix: manifest output at /nix/store/m9klq73pndk4ywwh175lchlr30lcnysx-really-safe-money-autodocodec-0.0.0.0-manifest:
55.12 s
[really-safe-money-autodocodec] total 68
55.12 s
[really-safe-money-autodocodec] drwxr-xr-x 2 nixbld nixbld 4096 May 14 20:48 .
55.12 s
[really-safe-money-autodocodec] drwxrwxr-t 239 nobody nixbld 24576 May 14 20:48 ..
55.12 s
[really-safe-money-autodocodec] -rw-r--r-- 1 nixbld nixbld 4508 May 14 20:48 Money.Account.Codec.json
55.12 s
[really-safe-money-autodocodec] -rw-r--r-- 1 nixbld nixbld 2 May 14 20:48 Money.AccountOf.Codec.json
55.12 s
[really-safe-money-autodocodec] -rw-r--r-- 1 nixbld nixbld 16321 May 14 20:48 Money.Amount.Codec.json
55.12 s
[really-safe-money-autodocodec] -rw-r--r-- 1 nixbld nixbld 2 May 14 20:48 Money.AmountOf.Codec.json
55.12 s
[really-safe-money-autodocodec] -rw-r--r-- 1 nixbld nixbld 1486 May 14 20:48 Money.QuantisationFactor.Codec.json
55.12 s
[really-safe-money-autodocodec] -rw-r--r-- 1 nixbld nixbld 2827 May 14 20:48 Numeric.DecimalLiteral.Codec.json
55.12 s
[really-safe-money-autodocodec] mutation-nix: building remaining components with plugin silenced
55.18 s
[really-safe-money-autodocodec] Preprocessing library for really-safe-money-autodocodec-0.0.0.0...
55.18 s
[really-safe-money-autodocodec] Building library for really-safe-money-autodocodec-0.0.0.0...
56.69 s
[really-safe-money-autodocodec] Warning: ignoring unrecognised input `dist/build/Money/Account/Codec.dyn_o'
56.74 s
[really-safe-money-autodocodec] Warning: ignoring unrecognised input `dist/build/Money/AccountOf/Codec.dyn_o'
56.74 s
[really-safe-money-autodocodec] Warning: ignoring unrecognised input `dist/build/Money/Amount/Codec.dyn_o'
56.74 s
[really-safe-money-autodocodec] Warning: ignoring unrecognised input `dist/build/Money/AmountOf/Codec.dyn_o'
56.74 s
[really-safe-money-autodocodec] Warning: ignoring unrecognised input `dist/build/Money/QuantisationFactor/Codec.dyn_o'
56.74 s
[really-safe-money-autodocodec] Warning: ignoring unrecognised input `dist/build/Numeric/DecimalLiteral/Codec.dyn_o'
56.74 s
[really-safe-money-autodocodec] Warning: ignoring unrecognised input `dist/build/Paths_really_safe_money_autodocodec.dyn_o'
57.69 s
[really-safe-money-autodocodec] Phase: haddockPhase
57.70 s
[really-safe-money-autodocodec] Phase: installPhase
57.78 s
[really-safe-money-autodocodec] Installing library in /nix/store/bah7dl070n1486nbw99pk8dx8sj06zw8-really-safe-money-autodocodec-0.0.0.0/lib/ghc-9.10.3/lib/x86_64-linux-ghc-9.10.3-05f6/really-safe-money-autodocodec-0.0.0.0-6uQz3PYxbwUCTmvro4lDZk
58.01 s
[really-safe-money-autodocodec] Phase: fixupPhase
58.03 s
[really-safe-money-autodocodec] shrinking RPATHs of ELF executables and libraries in /nix/store/bah7dl070n1486nbw99pk8dx8sj06zw8-really-safe-money-autodocodec-0.0.0.0
58.04 s
[really-safe-money-autodocodec] shrinking /nix/store/bah7dl070n1486nbw99pk8dx8sj06zw8-really-safe-money-autodocodec-0.0.0.0/lib/ghc-9.10.3/lib/x86_64-linux-ghc-9.10.3-05f6/libHSreally-safe-money-autodocodec-0.0.0.0-6uQz3PYxbwUCTmvro4lDZk-ghc9.10.3.so
58.06 s
[really-safe-money-autodocodec] checking for references to /build/ in /nix/store/bah7dl070n1486nbw99pk8dx8sj06zw8-really-safe-money-autodocodec-0.0.0.0...
58.08 s
[really-safe-money-autodocodec] patching script interpreter paths in /nix/store/bah7dl070n1486nbw99pk8dx8sj06zw8-really-safe-money-autodocodec-0.0.0.0
58.09 s
[really-safe-money-autodocodec] stripping (with command strip and flags -S -p) in /nix/store/bah7dl070n1486nbw99pk8dx8sj06zw8-really-safe-money-autodocodec-0.0.0.0/lib /nix/store/bah7dl070n1486nbw99pk8dx8sj06zw8-really-safe-money-autodocodec-0.0.0.0/bin
58.15 s
[really-safe-money-autodocodec] shrinking RPATHs of ELF executables and libraries in /nix/store/m9klq73pndk4ywwh175lchlr30lcnysx-really-safe-money-autodocodec-0.0.0.0-manifest
58.15 s
[really-safe-money-autodocodec] checking for references to /build/ in /nix/store/m9klq73pndk4ywwh175lchlr30lcnysx-really-safe-money-autodocodec-0.0.0.0-manifest...
58.16 s
[really-safe-money-autodocodec] patching script interpreter paths in /nix/store/m9klq73pndk4ywwh175lchlr30lcnysx-really-safe-money-autodocodec-0.0.0.0-manifest
58.24 s
[post-build-hook] Uploading to cachix cache "sydtest": /nix/store/bah7dl070n1486nbw99pk8dx8sj06zw8-really-safe-money-autodocodec-0.0.0.0 /nix/store/m9klq73pndk4ywwh175lchlr30lcnysx-really-safe-money-autodocodec-0.0.0.0-manifest
58.71 s
[post-build-hook] Pushing 2 paths (196 are already present) using zstd to cache sydtest ⏳
58.71 s
[post-build-hook]
59.09 s
[post-build-hook] Pushing /nix/store/bah7dl070n1486nbw99pk8dx8sj06zw8-really-safe-money-autodocodec-0.0.0.0 (1.60 MiB)
59.09 s
[post-build-hook] Pushing /nix/store/m9klq73pndk4ywwh175lchlr30lcnysx-really-safe-money-autodocodec-0.0.0.0-manifest (25.90 KiB)
60.29 s
[post-build-hook]
60.29 s
[post-build-hook] All done.
60.31 s
[post-build-hook] Uploading to the NixCI staging cache: /nix/store/bah7dl070n1486nbw99pk8dx8sj06zw8-really-safe-money-autodocodec-0.0.0.0 /nix/store/m9klq73pndk4ywwh175lchlr30lcnysx-really-safe-money-autodocodec-0.0.0.0-manifest
60.35 s
[post-build-hook] warning: 'warn-short-path-literals' is deprecated, use 'lint-short-path-literals = ignore' instead
60.57 s
[post-build-hook] copying 2 paths...
60.57 s
[post-build-hook] copying path '/nix/store/bah7dl070n1486nbw99pk8dx8sj06zw8-really-safe-money-autodocodec-0.0.0.0' to 'https://cache.staging.nix-ci.com'...
60.57 s
[post-build-hook] copying path '/nix/store/m9klq73pndk4ywwh175lchlr30lcnysx-really-safe-money-autodocodec-0.0.0.0-manifest' to 'https://cache.staging.nix-ci.com'...
61.09 s
[post-build-hook] warning: 'warn-short-path-literals' is deprecated, use 'lint-short-path-literals = ignore' instead
61.33 s
[post-build-hook] copying 1 paths...
61.33 s
[post-build-hook] copying path '/nix/store/hffm3rxh910c1r0fiwqpp4wxlz9ics6i-really-safe-money-autodocodec-0.0.0.0.drv' to 'https://cache.staging.nix-ci.com'...
61.52 s
Progress: 6 of 8 built
61.57 s
Building really-safe-money-gen
61.96 s
[really-safe-money-gen] Phase: setupCompilerEnvironmentPhase
61.98 s
[really-safe-money-gen] Build with /nix/store/s9jd43rkwc2syl9cvgj6f786avy8bgzy-ghc-9.10.3.
62.47 s
[really-safe-money-gen] Phase: unpackPhase
62.47 s
[really-safe-money-gen] unpacking source archive /nix/store/0nk9jwdd6n9pdwmarm859jm1imki6n5j-really-safe-money-gen-source-0.0.0.0/really-safe-money-gen-0.0.0.0.tar.gz
62.48 s
[really-safe-money-gen] source root is really-safe-money-gen-0.0.0.0
62.48 s
[really-safe-money-gen] setting SOURCE_DATE_EPOCH to timestamp 1778791721 of file "really-safe-money-gen-0.0.0.0/test/Spec.hs"
62.49 s
[really-safe-money-gen] warning: file "really-safe-money-gen-0.0.0.0/test/Spec.hs" may be generated; SOURCE_DATE_EPOCH may be non-deterministic
62.49 s
[really-safe-money-gen] Phase: patchPhase
62.50 s
[really-safe-money-gen] Phase: compileBuildDriverPhase
62.51 s
[really-safe-money-gen] setupCompileFlags: -package-db=/build/tmp.rVB2kswHMl/setup-package.conf.d -threaded
62.56 s
[really-safe-money-gen] [1 of 2] Compiling Main ( Setup.hs, /build/tmp.rVB2kswHMl/Main.o )
62.62 s
[really-safe-money-gen] [2 of 2] Linking Setup
63.93 s
[really-safe-money-gen] Phase: updateAutotoolsGnuConfigScriptsPhase
63.94 s
[really-safe-money-gen] Phase: configurePhase
63.94 s
[really-safe-money-gen] configureFlags: --verbose --prefix=/nix/store/cdvvxk19mmf25krj1cj1ksb53fsjw64r-really-safe-money-gen-0.0.0.0 --libdir=$prefix/lib/$compiler/lib --libsubdir=$abi/$libname --docdir=/nix/store/hcj2bk6wxsjr44v2k3xq5qq5dnwb09qw-really-safe-money-gen-0.0.0.0-doc/share/doc/really-safe-money-gen-0.0.0.0 --with-gcc=gcc --package-db=/build/tmp.rVB2kswHMl/package.conf.d --ghc-option=-j16 --ghc-option=+RTS --ghc-option=-A64M --ghc-option=-RTS --enable-library-profiling --profiling-detail=exported-functions --disable-profiling --enable-shared --disable-coverage --enable-static --disable-executable-dynamic --enable-tests --disable-benchmarks --enable-library-vanilla --disable-library-for-ghci --enable-split-sections --enable-library-stripping --enable-executable-stripping --ghc-option=-haddock --ghc-options=-O2 --ghc-options=-Wall --ghc-options=-Wincomplete-uni-patterns --ghc-options=-Wincomplete-record-updates --ghc-options=-Wpartial-fields --ghc-options=-Widentities --ghc-options=-Wredundant-constraints --ghc-options=-Wcpp-undef --ghc-options=-Werror --extra-lib-dirs=/nix/store/ffyzkisqs4vc4mg28bwwlyqjf8i9ph6b-ncurses-6.5/lib --extra-lib-dirs=/nix/store/n28qgdj8c1q41kf7n4y1jxa6ckp85m3c-libffi-3.5.2/lib --extra-lib-dirs=/nix/store/1b6h99dw7bk4wbn77kbalih42zbc67m1-elfutils-0.194/lib --extra-lib-dirs=/nix/store/hi0ar880110k6jsmmili7dh1gq3cg2a9-gmp-with-cxx-6.3.0/lib --extra-lib-dirs=/nix/store/g09cflpnp4g80q56sj9dng1qzv4v4ybc-numactl-2.0.18/lib --extra-lib-dirs=/nix/store/s9jd43rkwc2syl9cvgj6f786avy8bgzy-ghc-9.10.3/lib
63.95 s
[really-safe-money-gen] Using Parsec parser
63.95 s
[really-safe-money-gen] Configuring really-safe-money-gen-0.0.0.0...
64.66 s
[really-safe-money-gen] Dependency QuickCheck: using QuickCheck-2.15.0.1
64.66 s
[really-safe-money-gen] Dependency base >=4.7 && <5: using base-4.20.2.0
64.66 s
[really-safe-money-gen] Dependency genvalidity: using genvalidity-1.1.1.0
64.66 s
[really-safe-money-gen] Dependency genvalidity-containers: using genvalidity-containers-1.0.0.2
64.66 s
[really-safe-money-gen] Dependency really-safe-money: using really-safe-money-0.0.0.0
64.66 s
[really-safe-money-gen] Dependency base >=4.7 && <5: using base-4.20.2.0
64.66 s
[really-safe-money-gen] Dependency containers: using containers-0.7
64.66 s
[really-safe-money-gen] Dependency genvalidity-sydtest: using genvalidity-sydtest-1.0.1.0
64.66 s
[really-safe-money-gen] Dependency genvalidity-vector: using genvalidity-vector-1.0.0.0
64.66 s
[really-safe-money-gen] Dependency really-safe-money: using really-safe-money-0.0.0.0
64.66 s
[really-safe-money-gen] Dependency really-safe-money-gen: using really-safe-money-gen-0.0.0.0
64.66 s
[really-safe-money-gen] Dependency sydtest: using sydtest-0.23.0.2
64.66 s
[really-safe-money-gen] Dependency vector: using vector-0.13.2.0
64.66 s
[really-safe-money-gen] Source component graph:
64.66 s
[really-safe-money-gen] component lib
64.66 s
[really-safe-money-gen] component test:really-safe-money-test dependency lib
64.66 s
[really-safe-money-gen] Configured component graph:
64.66 s
[really-safe-money-gen] component really-safe-money-gen-0.0.0.0-DUlrgfbYR751gcgZIqRr4A
64.66 s
[really-safe-money-gen] include QuickCheck-2.15.0.1-8fVC1qSJKj9H9pvMjJXUwU
64.66 s
[really-safe-money-gen] include base-4.20.2.0-64da
64.66 s
[really-safe-money-gen] include genvalidity-1.1.1.0-KJOcA1wEUno9vXRiVdno1L
64.66 s
[really-safe-money-gen] include genvalidity-containers-1.0.0.2-DXaOCEBh8iJ1c8u2LwVlK1
64.66 s
[really-safe-money-gen] include really-safe-money-0.0.0.0-KH9ltLBvnn0Cn1rgifGPh9
64.66 s
[really-safe-money-gen] component really-safe-money-gen-0.0.0.0-Ls5GL9RPudG7f67os7F74b-really-safe-money-test
64.66 s
[really-safe-money-gen] include base-4.20.2.0-64da
64.66 s
[really-safe-money-gen] include containers-0.7-504a
64.66 s
[really-safe-money-gen] include genvalidity-sydtest-1.0.1.0-4MUjvMP5f0h4Td7V6rG94v
64.66 s
[really-safe-money-gen] include genvalidity-vector-1.0.0.0-6KKiduowklk7hSxSW05Gxi
64.66 s
[really-safe-money-gen] include really-safe-money-0.0.0.0-KH9ltLBvnn0Cn1rgifGPh9
64.66 s
[really-safe-money-gen] include really-safe-money-gen-0.0.0.0-DUlrgfbYR751gcgZIqRr4A
64.66 s
[really-safe-money-gen] include sydtest-0.23.0.2-2pBpKNR1Siz5MducBHcrJ7
64.66 s
[really-safe-money-gen] include vector-0.13.2.0-GDUCoiHhVuq2SKPTzzTr3a
64.66 s
[really-safe-money-gen] Linked component graph:
64.66 s
[really-safe-money-gen] unit really-safe-money-gen-0.0.0.0-DUlrgfbYR751gcgZIqRr4A
64.66 s
[really-safe-money-gen] include QuickCheck-2.15.0.1-8fVC1qSJKj9H9pvMjJXUwU
64.66 s
[really-safe-money-gen] include base-4.20.2.0-64da
64.66 s
[really-safe-money-gen] include genvalidity-1.1.1.0-KJOcA1wEUno9vXRiVdno1L
64.66 s
[really-safe-money-gen] include genvalidity-containers-1.0.0.2-DXaOCEBh8iJ1c8u2LwVlK1
64.66 s
[really-safe-money-gen] include really-safe-money-0.0.0.0-KH9ltLBvnn0Cn1rgifGPh9
64.66 s
[really-safe-money-gen] Money.Account.Gen=really-safe-money-gen-0.0.0.0-DUlrgfbYR751gcgZIqRr4A:Money.Account.Gen,Money.AccountOf.Gen=really-safe-money-gen-0.0.0.0-DUlrgfbYR751gcgZIqRr4A:Money.AccountOf.Gen,Money.Amount.Gen=really-safe-money-gen-0.0.0.0-DUlrgfbYR751gcgZIqRr4A:Money.Amount.Gen,Money.AmountOf.Gen=really-safe-money-gen-0.0.0.0-DUlrgfbYR751gcgZIqRr4A:Money.AmountOf.Gen,Money.ConversionRate.Gen=really-safe-money-gen-0.0.0.0-DUlrgfbYR751gcgZIqRr4A:Money.ConversionRate.Gen,Money.ConversionRateOf.Gen=really-safe-money-gen-0.0.0.0-DUlrgfbYR751gcgZIqRr4A:Money.ConversionRateOf.Gen,Money.Currency.Gen=really-safe-money-gen-0.0.0.0-DUlrgfbYR751gcgZIqRr4A:Money.Currency.Gen,Money.Gen=really-safe-money-gen-0.0.0.0-DUlrgfbYR751gcgZIqRr4A:Money.Gen,Money.MultiAccount.Gen=really-safe-money-gen-0.0.0.0-DUlrgfbYR751gcgZIqRr4A:Money.MultiAccount.Gen,Money.MultiAmount.Gen=really-safe-money-gen-0.0.0.0-DUlrgfbYR751gcgZIqRr4A:Money.MultiAmount.Gen,Money.QuantisationFactor.Gen=really-safe-money-gen-0.0.0.0-DUlrgfbYR751gcgZIqRr4A:Money.QuantisationFactor.Gen,Numeric.DecimalLiteral.Gen=really-safe-money-gen-0.0.0.0-DUlrgfbYR751gcgZIqRr4A:Numeric.DecimalLiteral.Gen
64.66 s
[really-safe-money-gen] unit really-safe-money-gen-0.0.0.0-Ls5GL9RPudG7f67os7F74b-really-safe-money-test
64.66 s
[really-safe-money-gen] include base-4.20.2.0-64da
64.66 s
[really-safe-money-gen] include containers-0.7-504a
64.66 s
[really-safe-money-gen] include genvalidity-sydtest-1.0.1.0-4MUjvMP5f0h4Td7V6rG94v
64.66 s
[really-safe-money-gen] include genvalidity-vector-1.0.0.0-6KKiduowklk7hSxSW05Gxi
64.66 s
[really-safe-money-gen] include really-safe-money-0.0.0.0-KH9ltLBvnn0Cn1rgifGPh9
64.66 s
[really-safe-money-gen] include really-safe-money-gen-0.0.0.0-DUlrgfbYR751gcgZIqRr4A
64.66 s
[really-safe-money-gen] include sydtest-0.23.0.2-2pBpKNR1Siz5MducBHcrJ7
64.66 s
[really-safe-money-gen] include vector-0.13.2.0-GDUCoiHhVuq2SKPTzzTr3a
64.66 s
[really-safe-money-gen] Ready component graph:
64.66 s
[really-safe-money-gen] definite really-safe-money-gen-0.0.0.0-DUlrgfbYR751gcgZIqRr4A
64.66 s
[really-safe-money-gen] depends QuickCheck-2.15.0.1-8fVC1qSJKj9H9pvMjJXUwU
64.66 s
[really-safe-money-gen] depends base-4.20.2.0-64da
64.66 s
[really-safe-money-gen] depends genvalidity-1.1.1.0-KJOcA1wEUno9vXRiVdno1L
64.66 s
[really-safe-money-gen] depends genvalidity-containers-1.0.0.2-DXaOCEBh8iJ1c8u2LwVlK1
64.66 s
[really-safe-money-gen] depends really-safe-money-0.0.0.0-KH9ltLBvnn0Cn1rgifGPh9
64.66 s
[really-safe-money-gen] definite really-safe-money-gen-0.0.0.0-Ls5GL9RPudG7f67os7F74b-really-safe-money-test
64.66 s
[really-safe-money-gen] depends base-4.20.2.0-64da
64.66 s
[really-safe-money-gen] depends containers-0.7-504a
64.66 s
[really-safe-money-gen] depends genvalidity-sydtest-1.0.1.0-4MUjvMP5f0h4Td7V6rG94v
64.66 s
[really-safe-money-gen] depends genvalidity-vector-1.0.0.0-6KKiduowklk7hSxSW05Gxi
64.66 s
[really-safe-money-gen] depends really-safe-money-0.0.0.0-KH9ltLBvnn0Cn1rgifGPh9
64.66 s
[really-safe-money-gen] depends really-safe-money-gen-0.0.0.0-DUlrgfbYR751gcgZIqRr4A
64.66 s
[really-safe-money-gen] depends sydtest-0.23.0.2-2pBpKNR1Siz5MducBHcrJ7
64.66 s
[really-safe-money-gen] depends vector-0.13.2.0-GDUCoiHhVuq2SKPTzzTr3a
64.66 s
[really-safe-money-gen] Using Cabal-3.12.1.0 compiled by ghc-9.10
64.66 s
[really-safe-money-gen] Using compiler: ghc-9.10.3
64.66 s
[really-safe-money-gen] Using install prefix:
64.66 s
[really-safe-money-gen] /nix/store/cdvvxk19mmf25krj1cj1ksb53fsjw64r-really-safe-money-gen-0.0.0.0
64.66 s
[really-safe-money-gen] Executables installed in:
64.66 s
[really-safe-money-gen] /nix/store/cdvvxk19mmf25krj1cj1ksb53fsjw64r-really-safe-money-gen-0.0.0.0/bin
64.66 s
[really-safe-money-gen] Libraries installed in:
64.66 s
[really-safe-money-gen] /nix/store/cdvvxk19mmf25krj1cj1ksb53fsjw64r-really-safe-money-gen-0.0.0.0/lib/ghc-9.10.3/lib/x86_64-linux-ghc-9.10.3-05f6/really-safe-money-gen-0.0.0.0-DUlrgfbYR751gcgZIqRr4A
64.66 s
[really-safe-money-gen] Dynamic Libraries installed in:
64.66 s
[really-safe-money-gen] /nix/store/cdvvxk19mmf25krj1cj1ksb53fsjw64r-really-safe-money-gen-0.0.0.0/lib/ghc-9.10.3/lib/x86_64-linux-ghc-9.10.3-05f6
64.66 s
[really-safe-money-gen] Private executables installed in:
64.66 s
[really-safe-money-gen] /nix/store/cdvvxk19mmf25krj1cj1ksb53fsjw64r-really-safe-money-gen-0.0.0.0/libexec/x86_64-linux-ghc-9.10.3-05f6/really-safe-money-gen-0.0.0.0
64.66 s
[really-safe-money-gen] Data files installed in:
64.66 s
[really-safe-money-gen] /nix/store/cdvvxk19mmf25krj1cj1ksb53fsjw64r-really-safe-money-gen-0.0.0.0/share/x86_64-linux-ghc-9.10.3-05f6/really-safe-money-gen-0.0.0.0
64.66 s
[really-safe-money-gen] Documentation installed in:
64.66 s
[really-safe-money-gen] /nix/store/hcj2bk6wxsjr44v2k3xq5qq5dnwb09qw-really-safe-money-gen-0.0.0.0-doc/share/doc/really-safe-money-gen-0.0.0.0
64.66 s
[really-safe-money-gen] Configuration files installed in:
64.66 s
[really-safe-money-gen] /nix/store/cdvvxk19mmf25krj1cj1ksb53fsjw64r-really-safe-money-gen-0.0.0.0/etc
64.66 s
[really-safe-money-gen] No alex found
64.66 s
[really-safe-money-gen] Using ar found on system at:
64.66 s
[really-safe-money-gen] /nix/store/iz5lckcsg66r223si2gck7csk2hihj0m-binutils-wrapper-2.44/bin/ar
64.66 s
[really-safe-money-gen] No c2hs found
64.66 s
[really-safe-money-gen] No cpphs found
64.66 s
[really-safe-money-gen] No doctest found
64.66 s
[really-safe-money-gen] Using gcc version 14.3.0 given by user at:
64.66 s
[really-safe-money-gen] /nix/store/8v97ngkcpfzgghwnnr7fsz33p2x22gy9-gcc-wrapper-14.3.0/bin/gcc
64.66 s
[really-safe-money-gen] Using ghc version 9.10.3 found on system at:
64.66 s
[really-safe-money-gen] /nix/store/s9jd43rkwc2syl9cvgj6f786avy8bgzy-ghc-9.10.3/bin/ghc
64.66 s
[really-safe-money-gen] Using ghc-pkg version 9.10.3 found on system at:
64.66 s
[really-safe-money-gen] /nix/store/s9jd43rkwc2syl9cvgj6f786avy8bgzy-ghc-9.10.3/bin/ghc-pkg-9.10.3
64.66 s
[really-safe-money-gen] No ghcjs found
64.66 s
[really-safe-money-gen] No ghcjs-pkg found
64.66 s
[really-safe-money-gen] No greencard found
64.66 s
[really-safe-money-gen] Using haddock version 2.31.1 found on system at:
64.66 s
[really-safe-money-gen] /nix/store/s9jd43rkwc2syl9cvgj6f786avy8bgzy-ghc-9.10.3/bin/haddock-ghc-9.10.3
64.66 s
[really-safe-money-gen] No happy found
64.66 s
[really-safe-money-gen] Using haskell-suite found on system at: haskell-suite-dummy-location
64.66 s
[really-safe-money-gen] Using haskell-suite-pkg found on system at: haskell-suite-pkg-dummy-location
64.66 s
[really-safe-money-gen] No hmake found
64.66 s
[really-safe-money-gen] Using hpc version 0.69 found on system at:
64.66 s
[really-safe-money-gen] /nix/store/s9jd43rkwc2syl9cvgj6f786avy8bgzy-ghc-9.10.3/bin/hpc-ghc-9.10.3
64.66 s
[really-safe-money-gen] Using hsc2hs version 0.68.10 found on system at:
64.66 s
[really-safe-money-gen] /nix/store/s9jd43rkwc2syl9cvgj6f786avy8bgzy-ghc-9.10.3/bin/hsc2hs-ghc-9.10.3
64.66 s
[really-safe-money-gen] Using hscolour version 1.25 found on system at:
64.66 s
[really-safe-money-gen] /nix/store/f755skyzf4jvfx3crwq9mmh3x4lsaz8i-hscolour-1.25/bin/HsColour
64.66 s
[really-safe-money-gen] No jhc found
64.66 s
[really-safe-money-gen] Using ld found on system at:
64.66 s
[really-safe-money-gen] /nix/store/8v97ngkcpfzgghwnnr7fsz33p2x22gy9-gcc-wrapper-14.3.0/bin/ld
64.66 s
[really-safe-money-gen] No pkg-config found
64.66 s
[really-safe-money-gen] Using runghc version 9.10.3 found on system at:
64.66 s
[really-safe-money-gen] /nix/store/s9jd43rkwc2syl9cvgj6f786avy8bgzy-ghc-9.10.3/bin/runghc-9.10.3
64.66 s
[really-safe-money-gen] Using strip version 2.44 found on system at:
64.66 s
[really-safe-money-gen] /nix/store/8v97ngkcpfzgghwnnr7fsz33p2x22gy9-gcc-wrapper-14.3.0/bin/strip
64.66 s
[really-safe-money-gen] Using tar found on system at:
64.66 s
[really-safe-money-gen] /nix/store/xl6pd2spjajwcpq09fnmnjv5psqmlmma-gnutar-1.35/bin/tar
64.66 s
[really-safe-money-gen] No uhc found
65.07 s
[really-safe-money-gen] Phase: buildPhase
65.15 s
[really-safe-money-gen] Preprocessing library for really-safe-money-gen-0.0.0.0...
65.15 s
[really-safe-money-gen] Building library for really-safe-money-gen-0.0.0.0...
65.25 s
[really-safe-money-gen] [ 1 of 13] Compiling Money.Amount.Gen ( src/Money/Amount/Gen.hs, dist/build/Money/Amount/Gen.o, dist/build/Money/Amount/Gen.dyn_o )
65.62 s
[really-safe-money-gen] [ 2 of 13] Compiling Money.Account.Gen ( src/Money/Account/Gen.hs, dist/build/Money/Account/Gen.o, dist/build/Money/Account/Gen.dyn_o )
65.74 s
[really-safe-money-gen] [ 3 of 13] Compiling Money.AccountOf.Gen ( src/Money/AccountOf/Gen.hs, dist/build/Money/AccountOf/Gen.o, dist/build/Money/AccountOf/Gen.dyn_o )
65.79 s
[really-safe-money-gen] [ 4 of 13] Compiling Money.AmountOf.Gen ( src/Money/AmountOf/Gen.hs, dist/build/Money/AmountOf/Gen.o, dist/build/Money/AmountOf/Gen.dyn_o )
65.79 s
[really-safe-money-gen] [ 5 of 13] Compiling Money.ConversionRate.Gen ( src/Money/ConversionRate/Gen.hs, dist/build/Money/ConversionRate/Gen.o, dist/build/Money/ConversionRate/Gen.dyn_o )
65.79 s
[really-safe-money-gen] [ 6 of 13] Compiling Money.ConversionRateOf.Gen ( src/Money/ConversionRateOf/Gen.hs, dist/build/Money/ConversionRateOf/Gen.o, dist/build/Money/ConversionRateOf/Gen.dyn_o )
65.79 s
[really-safe-money-gen] [ 7 of 13] Compiling Money.QuantisationFactor.Gen ( src/Money/QuantisationFactor/Gen.hs, dist/build/Money/QuantisationFactor/Gen.o, dist/build/Money/QuantisationFactor/Gen.dyn_o )
65.79 s
[really-safe-money-gen] [ 8 of 13] Compiling Money.Currency.Gen ( src/Money/Currency/Gen.hs, dist/build/Money/Currency/Gen.o, dist/build/Money/Currency/Gen.dyn_o )
65.79 s
[really-safe-money-gen] [ 9 of 13] Compiling Money.MultiAmount.Gen ( src/Money/MultiAmount/Gen.hs, dist/build/Money/MultiAmount/Gen.o, dist/build/Money/MultiAmount/Gen.dyn_o )
65.79 s
[really-safe-money-gen] [10 of 13] Compiling Money.MultiAccount.Gen ( src/Money/MultiAccount/Gen.hs, dist/build/Money/MultiAccount/Gen.o, dist/build/Money/MultiAccount/Gen.dyn_o )
65.86 s
[really-safe-money-gen] [11 of 13] Compiling Money.Gen ( src/Money/Gen.hs, dist/build/Money/Gen.o, dist/build/Money/Gen.dyn_o )
65.88 s
[really-safe-money-gen] [12 of 13] Compiling Numeric.DecimalLiteral.Gen ( src/Numeric/DecimalLiteral/Gen.hs, dist/build/Numeric/DecimalLiteral/Gen.o, dist/build/Numeric/DecimalLiteral/Gen.dyn_o )
65.88 s
[really-safe-money-gen] [13 of 13] Compiling Paths_really_safe_money_gen ( dist/build/autogen/Paths_really_safe_money_gen.hs, dist/build/Paths_really_safe_money_gen.o, dist/build/Paths_really_safe_money_gen.dyn_o )
66.21 s
[really-safe-money-gen] [ 1 of 13] Compiling Money.Amount.Gen ( src/Money/Amount/Gen.hs, dist/build/Money/Amount/Gen.p_o )
66.72 s
[really-safe-money-gen] [ 2 of 13] Compiling Money.Account.Gen ( src/Money/Account/Gen.hs, dist/build/Money/Account/Gen.p_o )
66.94 s
[really-safe-money-gen] [ 3 of 13] Compiling Money.AccountOf.Gen ( src/Money/AccountOf/Gen.hs, dist/build/Money/AccountOf/Gen.p_o )
67.10 s
[really-safe-money-gen] [ 4 of 13] Compiling Money.AmountOf.Gen ( src/Money/AmountOf/Gen.hs, dist/build/Money/AmountOf/Gen.p_o )
67.15 s
[really-safe-money-gen] [ 5 of 13] Compiling Money.ConversionRate.Gen ( src/Money/ConversionRate/Gen.hs, dist/build/Money/ConversionRate/Gen.p_o )
67.15 s
[really-safe-money-gen] [ 6 of 13] Compiling Money.ConversionRateOf.Gen ( src/Money/ConversionRateOf/Gen.hs, dist/build/Money/ConversionRateOf/Gen.p_o )
67.15 s
[really-safe-money-gen] [ 7 of 13] Compiling Money.QuantisationFactor.Gen ( src/Money/QuantisationFactor/Gen.hs, dist/build/Money/QuantisationFactor/Gen.p_o )
67.15 s
[really-safe-money-gen] [ 8 of 13] Compiling Money.Currency.Gen ( src/Money/Currency/Gen.hs, dist/build/Money/Currency/Gen.p_o )
67.15 s
[really-safe-money-gen] [ 9 of 13] Compiling Money.MultiAmount.Gen ( src/Money/MultiAmount/Gen.hs, dist/build/Money/MultiAmount/Gen.p_o )
67.15 s
[really-safe-money-gen] [10 of 13] Compiling Money.MultiAccount.Gen ( src/Money/MultiAccount/Gen.hs, dist/build/Money/MultiAccount/Gen.p_o )
67.15 s
[really-safe-money-gen] [11 of 13] Compiling Money.Gen ( src/Money/Gen.hs, dist/build/Money/Gen.p_o )
67.24 s
[really-safe-money-gen] [12 of 13] Compiling Numeric.DecimalLiteral.Gen ( src/Numeric/DecimalLiteral/Gen.hs, dist/build/Numeric/DecimalLiteral/Gen.p_o )
67.24 s
[really-safe-money-gen] [13 of 13] Compiling Paths_really_safe_money_gen ( dist/build/autogen/Paths_really_safe_money_gen.hs, dist/build/Paths_really_safe_money_gen.p_o )
68.68 s
[really-safe-money-gen] Preprocessing test suite 'really-safe-money-test' for really-safe-money-gen-0.0.0.0...
68.68 s
[really-safe-money-gen] Building test suite 'really-safe-money-test' for really-safe-money-gen-0.0.0.0...
68.83 s
[really-safe-money-gen] [ 1 of 14] Compiling Money.AccountSpec ( test/Money/AccountSpec.hs, dist/build/really-safe-money-test/really-safe-money-test-tmp/Money/AccountSpec.o )
71.38 s
[really-safe-money-gen] [ 2 of 14] Compiling Money.AmountSpec ( test/Money/AmountSpec.hs, dist/build/really-safe-money-test/really-safe-money-test-tmp/Money/AmountSpec.o )
71.72 s
[really-safe-money-gen] [ 3 of 14] Compiling Money.ConversionRateSpec ( test/Money/ConversionRateSpec.hs, dist/build/really-safe-money-test/really-safe-money-test-tmp/Money/ConversionRateSpec.o )
71.72 s
[really-safe-money-gen] [ 4 of 14] Compiling Money.Currency.TestUtils ( test/Money/Currency/TestUtils.hs, dist/build/really-safe-money-test/really-safe-money-test-tmp/Money/Currency/TestUtils.o )
71.72 s
[really-safe-money-gen] [ 5 of 14] Compiling Money.ConversionRateOfSpec ( test/Money/ConversionRateOfSpec.hs, dist/build/really-safe-money-test/really-safe-money-test-tmp/Money/ConversionRateOfSpec.o )
71.72 s
[really-safe-money-gen] [ 6 of 14] Compiling Money.AmountOfSpec ( test/Money/AmountOfSpec.hs, dist/build/really-safe-money-test/really-safe-money-test-tmp/Money/AmountOfSpec.o )
71.72 s
[really-safe-money-gen] [ 7 of 14] Compiling Money.AccountOfSpec ( test/Money/AccountOfSpec.hs, dist/build/really-safe-money-test/really-safe-money-test-tmp/Money/AccountOfSpec.o )
71.72 s
[really-safe-money-gen] [ 8 of 14] Compiling Money.CurrencySpec ( test/Money/CurrencySpec.hs, dist/build/really-safe-money-test/really-safe-money-test-tmp/Money/CurrencySpec.o )
71.72 s
[really-safe-money-gen] [ 9 of 14] Compiling Money.MultiAccountSpec ( test/Money/MultiAccountSpec.hs, dist/build/really-safe-money-test/really-safe-money-test-tmp/Money/MultiAccountSpec.o )
71.72 s
[really-safe-money-gen] [10 of 14] Compiling Money.MultiAmountSpec ( test/Money/MultiAmountSpec.hs, dist/build/really-safe-money-test/really-safe-money-test-tmp/Money/MultiAmountSpec.o )
71.72 s
[really-safe-money-gen] [11 of 14] Compiling Money.QuantisationFactorSpec ( test/Money/QuantisationFactorSpec.hs, dist/build/really-safe-money-test/really-safe-money-test-tmp/Money/QuantisationFactorSpec.o )
71.72 s
[really-safe-money-gen] [12 of 14] Compiling Numeric.DecimalLiteralSpec ( test/Numeric/DecimalLiteralSpec.hs, dist/build/really-safe-money-test/really-safe-money-test-tmp/Numeric/DecimalLiteralSpec.o )
71.72 s
[really-safe-money-gen] [13 of 14] Compiling Main ( test/Spec.hs, dist/build/really-safe-money-test/really-safe-money-test-tmp/Main.o )
71.79 s
[really-safe-money-gen] [14 of 14] Compiling Paths_really_safe_money_gen ( dist/build/really-safe-money-test/autogen/Paths_really_safe_money_gen.hs, dist/build/really-safe-money-test/really-safe-money-test-tmp/Paths_really_safe_money_gen.o )
72.13 s
[really-safe-money-gen] [15 of 15] Linking dist/build/really-safe-money-test/really-safe-money-test
73.72 s
[really-safe-money-gen] Phase: checkPhase
73.75 s
[really-safe-money-gen] mutation-nix: collecting coverage for suite really-safe-money-gen
82.43 s
[really-safe-money-gen] coverage (1/1610): Numeric\.DecimalLiteralSpec.Natural.fromNatural.renders to valid decimal literals (1 mutations)
83.00 s
[really-safe-money-gen] coverage (12/1610): Numeric\.DecimalLiteralSpec.Rational.can turn rational 5 % 1 into DecimalLiteral Nothing 5 0 (30 mutations)
83.15 s
[really-safe-money-gen] coverage (4/1610): Numeric\.DecimalLiteralSpec.Rational.can turn DecimalLiteral Nothing 9 2 into rational 9 % 100 (4 mutations)
83.21 s
[really-safe-money-gen] coverage (13/1610): Numeric\.DecimalLiteralSpec.Rational.fromRational.can parse any rendered rational (43 mutations)
83.26 s
[really-safe-money-gen] coverage (23/1610): Numeric\.DecimalLiteralSpec.Rational.can turn DecimalLiteral (Just False) 3 0 into rational (-3) % 1 (4 mutations)
83.42 s
[really-safe-money-gen] coverage (28/1610): Numeric\.DecimalLiteralSpec.Rational.can turn DecimalLiteral (Just False) 1 3 into rational (-1) % 1000 (4 mutations)
83.44 s
[really-safe-money-gen] coverage (18/1610): Numeric\.DecimalLiteralSpec.Rational.can turn rational 10 % 1 into DecimalLiteral Nothing 10 0 (30 mutations)
83.49 s
[really-safe-money-gen] coverage (17/1610): Numeric\.DecimalLiteralSpec.Rational.can turn DecimalLiteral Nothing 20 4 into rational 1 % 500 (4 mutations)
83.50 s
[really-safe-money-gen] coverage (8/1610): Numeric\.DecimalLiteralSpec.Rational.can turn DecimalLiteral Nothing 10 0 into rational 10 % 1 (4 mutations)
83.53 s
[really-safe-money-gen] coverage (9/1610): Numeric\.DecimalLiteralSpec.Rational.can turn DecimalLiteral Nothing 50 1 into rational 5 % 1 (4 mutations)
83.57 s
[really-safe-money-gen] coverage (22/1610): Numeric\.DecimalLiteralSpec.Rational.can turn rational 9 % 100 into DecimalLiteral Nothing 9 2 (36 mutations)
83.59 s
[really-safe-money-gen] coverage (20/1610): Numeric\.DecimalLiteralSpec.Rational.can turn DecimalLiteral Nothing 7000 3 into rational 7 % 1 (4 mutations)
83.60 s
[really-safe-money-gen] coverage (24/1610): Numeric\.DecimalLiteralSpec.Rational.can turn rational 1 % 1 into DecimalLiteral Nothing 1 0 (30 mutations)
83.71 s
[really-safe-money-gen] coverage (3/1610): Numeric\.DecimalLiteralSpec.Natural.toNatural.renders to valid naturals (0 mutations)
83.85 s
[really-safe-money-gen] coverage (19/1610): Numeric\.DecimalLiteralSpec.Rational.can turn rational (-3) % 1 into DecimalLiteral (Just False) 3 0 (32 mutations)
83.88 s
[really-safe-money-gen] coverage (27/1610): Numeric\.DecimalLiteralSpec.Rational.can turn rational 240009 % 20000 into DecimalLiteral Nothing 1200045 5 (38 mutations)
83.96 s
[really-safe-money-gen] coverage (26/1610): Numeric\.DecimalLiteralSpec.Rational.can turn DecimalLiteral Nothing 1 0 into rational 1 % 1 (4 mutations)
83.97 s
[really-safe-money-gen] coverage (6/1610): Numeric\.DecimalLiteralSpec.Rational.can turn rational 1 % 500 into DecimalLiteral Nothing 2 3 (36 mutations)
84.05 s
[really-safe-money-gen] coverage (21/1610): Numeric\.DecimalLiteralSpec.Rational.can turn DecimalLiteral Nothing 2 0 into rational 2 % 1 (4 mutations)
84.06 s
[really-safe-money-gen] coverage (11/1610): Numeric\.DecimalLiteralSpec.Rational.can turn rational (-4) % 5 into DecimalLiteral (Just False) 8 1 (38 mutations)
84.07 s
[really-safe-money-gen] coverage (25/1610): Numeric\.DecimalLiteralSpec.Rational.can turn rational 7 % 1 into DecimalLiteral Nothing 7 0 (30 mutations)
84.09 s
[really-safe-money-gen] coverage (10/1610): Numeric\.DecimalLiteralSpec.Rational.can turn rational (-1) % 1000 into DecimalLiteral (Just False) 1 3 (38 mutations)
84.09 s
[really-safe-money-gen] coverage (15/1610): Numeric\.DecimalLiteralSpec.Rational.can turn DecimalLiteral (Just False) 600 2 into rational (-6) % 1 (4 mutations)
84.19 s
[really-safe-money-gen] coverage (7/1610): Numeric\.DecimalLiteralSpec.Rational.can turn rational (-6) % 1 into DecimalLiteral (Just False) 6 0 (32 mutations)
84.21 s
[really-safe-money-gen] coverage (5/1610): Numeric\.DecimalLiteralSpec.Rational.can turn rational 400 % 1 into DecimalLiteral Nothing 400 0 (30 mutations)
84.35 s
[really-safe-money-gen] coverage (16/1610): Numeric\.DecimalLiteralSpec.Rational.can turn DecimalLiteral Nothing 400 0 into rational 400 % 1 (4 mutations)
84.42 s
[really-safe-money-gen] coverage (2/1610): Numeric\.DecimalLiteralSpec.Natural.fromNatural.can parse any rendered literal (9 mutations)
84.48 s
[really-safe-money-gen] coverage (14/1610): Numeric\.DecimalLiteralSpec.Rational.fromRational.renders to valid decimal literals (40 mutations)
91.88 s
[really-safe-money-gen] coverage (29/1610): Numeric\.DecimalLiteralSpec.Rational.toRational.renders to valid rationals (4 mutations)
92.47 s
[really-safe-money-gen] coverage (30/1610): Numeric\.DecimalLiteralSpec.Rational.can turn rational (-3) % 1000 into DecimalLiteral (Just False) 3 3 (38 mutations)
92.60 s
[really-safe-money-gen] coverage (32/1610): Numeric\.DecimalLiteralSpec.Rational.can turn DecimalLiteral Nothing 1200045 5 into rational 240009 % 20000 (4 mutations)
92.65 s
[really-safe-money-gen] coverage (31/1610): Numeric\.DecimalLiteralSpec.Rational.can turn rational 2 % 1 into DecimalLiteral Nothing 2 0 (30 mutations)
92.78 s
[really-safe-money-gen] coverage (33/1610): Numeric\.DecimalLiteralSpec.Rational.can turn DecimalLiteral (Just False) 8 1 into rational (-4) % 5 (4 mutations)
92.79 s
[really-safe-money-gen] coverage (34/1610): Numeric\.DecimalLiteralSpec.Rational.can turn DecimalLiteral (Just False) 300 5 into rational (-3) % 1000 (4 mutations)
92.92 s
[really-safe-money-gen] coverage (37/1610): Numeric\.DecimalLiteralSpec.Ratio.toRatio.renders to valid rationals (5 mutations)
93.08 s
[really-safe-money-gen] coverage (38/1610): Numeric\.DecimalLiteralSpec.setMinimumDigits.does not change the value of the literal (15 mutations)
93.21 s
[really-safe-money-gen] coverage (39/1610): Numeric\.DecimalLiteralSpec.setMinimumDigits.produces valid literals (12 mutations)
93.22 s
[really-safe-money-gen] coverage (40/1610): Numeric\.DecimalLiteralSpec.setMinimumDigits.produces values with more than the given number of digits (12 mutations)
93.24 s
[really-safe-money-gen] coverage (35/1610): Numeric\.DecimalLiteralSpec.Ratio.fromRatio.can parse any rendered rational (36 mutations)
93.32 s
[really-safe-money-gen] coverage (42/1610): Numeric\.DecimalLiteralSpec.DecimalLiteral\.fromString.fails to parse scientific notation (22 mutations)
93.33 s
[really-safe-money-gen] coverage (41/1610): Numeric\.DecimalLiteralSpec.GenValid DecimalLiteral.genValid \:\: Gen DecimalLiteral.only generates valid 'DecimalLiteral's (0 mutations)
93.49 s
[really-safe-money-gen] coverage (45/1610): Numeric\.DecimalLiteralSpec.Int.toInt.renders to valid words (14 mutations)
93.50 s
[really-safe-money-gen] coverage (47/1610): Numeric\.DecimalLiteralSpec.Int.fromInt.renders to valid decimal literals (10 mutations)
93.50 s
[really-safe-money-gen] coverage (44/1610): Numeric\.DecimalLiteralSpec.setSignOptional.produces valid values (0 mutations)
93.53 s
[really-safe-money-gen] coverage (36/1610): Numeric\.DecimalLiteralSpec.Ratio.fromRatio.renders to valid decimal literals (31 mutations)
93.63 s
[really-safe-money-gen] coverage (49/1610): Numeric\.DecimalLiteralSpec.Word.fromWord.renders to valid decimal literals (1 mutations)
93.64 s
[really-safe-money-gen] coverage (52/1610): Numeric\.DecimalLiteralSpec.toString.can render any decimal literal (2 mutations)
93.67 s
[really-safe-money-gen] coverage (46/1610): Numeric\.DecimalLiteralSpec.Int.fromInt.can parse any rendered literal (24 mutations)
93.75 s
[really-safe-money-gen] coverage (51/1610): Numeric\.DecimalLiteralSpec.Word.toWord.renders to valid words (0 mutations)
93.77 s
[really-safe-money-gen] coverage (54/1610): Numeric\.DecimalLiteralSpec.examples.can parse "1" (22 mutations)
93.77 s
[really-safe-money-gen] coverage (43/1610): Numeric\.DecimalLiteralSpec.DecimalLiteral\.fromString.can parse any rendered decimal literal (44 mutations)
93.78 s
[really-safe-money-gen] coverage (53/1610): Numeric\.DecimalLiteralSpec.examples.can parse "+2" (25 mutations)
93.78 s
[really-safe-money-gen] coverage (48/1610): Numeric\.DecimalLiteralSpec.DecimalLiteral\.fromStringM.does the same as DecimalLiteral\.fromString (12 mutations)
93.93 s
[really-safe-money-gen] coverage (50/1610): Numeric\.DecimalLiteralSpec.Word.fromWord.can parse any rendered literal (9 mutations)
94.01 s
[really-safe-money-gen] coverage (56/1610): Numeric\.DecimalLiteralSpec.examples.can render DecimalLiteral Nothing 50 1 (1 mutations)
94.06 s
[really-safe-money-gen] coverage (55/1610): Numeric\.DecimalLiteralSpec.examples.can render DecimalLiteral Nothing 300 5 (3 mutations)
101.26 s
[really-safe-money-gen] coverage (57/1610): Numeric\.DecimalLiteralSpec.examples.can parse "400" (31 mutations)
101.78 s
[really-safe-money-gen] coverage (58/1610): Numeric\.DecimalLiteralSpec.examples.can parse "5\.0" (31 mutations)
101.94 s
[really-safe-money-gen] coverage (60/1610): Numeric\.DecimalLiteralSpec.examples.can render DecimalLiteral Nothing 1 3 (3 mutations)
102.05 s
[really-safe-money-gen] coverage (59/1610): Numeric\.DecimalLiteralSpec.examples.can render DecimalLiteral Nothing 8 1 (3 mutations)
102.13 s
[really-safe-money-gen] coverage (61/1610): Numeric\.DecimalLiteralSpec.examples.can parse "0\.00300" (36 mutations)
102.29 s
[really-safe-money-gen] coverage (63/1610): Numeric\.DecimalLiteralSpec.examples.can render DecimalLiteral Nothing 20 4 (3 mutations)
102.30 s
[really-safe-money-gen] coverage (62/1610): Numeric\.DecimalLiteralSpec.examples.can render DecimalLiteral Nothing 7000 3 (1 mutations)
102.41 s
[really-safe-money-gen] coverage (64/1610): Numeric\.DecimalLiteralSpec.examples.can parse "12\.00045" (38 mutations)
102.56 s
[really-safe-money-gen] coverage (65/1610): Numeric\.DecimalLiteralSpec.examples.can render DecimalLiteral Nothing 1 0 (1 mutations)
102.58 s
[really-safe-money-gen] coverage (66/1610): Numeric\.DecimalLiteralSpec.examples.can render DecimalLiteral (Just True) 2 0 (1 mutations)
102.64 s
[really-safe-money-gen] coverage (70/1610): Numeric\.DecimalLiteralSpec.examples.can render DecimalLiteral Nothing 600 2 (1 mutations)
102.70 s
[really-safe-money-gen] coverage (67/1610): Numeric\.DecimalLiteralSpec.examples.can render DecimalLiteral Nothing 1200045 5 (1 mutations)
102.70 s
[really-safe-money-gen] coverage (71/1610): Numeric\.DecimalLiteralSpec.examples.can render DecimalLiteral Nothing 9 2 (3 mutations)
102.70 s
[really-safe-money-gen] coverage (72/1610): Numeric\.DecimalLiteralSpec.examples.can parse "0\.8" (29 mutations)
102.73 s
[really-safe-money-gen] coverage (69/1610): Numeric\.DecimalLiteralSpec.examples.can parse "6\.00" (36 mutations)
102.74 s
[really-safe-money-gen] coverage (68/1610): Numeric\.DecimalLiteralSpec.examples.can parse "0\.001" (34 mutations)
102.85 s
[really-safe-money-gen] coverage (74/1610): Numeric\.DecimalLiteralSpec.examples.can parse "0\.09" (34 mutations)
102.88 s
[really-safe-money-gen] coverage (76/1610): Numeric\.DecimalLiteralSpec.examples.can parse "-3" (22 mutations)
102.88 s
[really-safe-money-gen] coverage (73/1610): Numeric\.DecimalLiteralSpec.examples.can render DecimalLiteral Nothing 400 0 (1 mutations)
103.01 s
[really-safe-money-gen] coverage (81/1610): Numeric\.DecimalLiteralSpec.Integer.fromInteger.can parse any rendered literal (10 mutations)
103.06 s
[really-safe-money-gen] coverage (77/1610): Numeric\.DecimalLiteralSpec.examples.can render DecimalLiteral (Just False) 3 0 (1 mutations)
103.19 s
[really-safe-money-gen] coverage (80/1610): Numeric\.DecimalLiteralSpec.Integer.fromInteger.renders to valid decimal literals (10 mutations)
103.26 s
[really-safe-money-gen] coverage (79/1610): Numeric\.DecimalLiteralSpec.Integer.toInteger.renders to valid words (0 mutations)
103.26 s
[really-safe-money-gen] coverage (75/1610): Numeric\.DecimalLiteralSpec.examples.can parse "7\.000" (36 mutations)
103.28 s
[really-safe-money-gen] coverage (78/1610): Numeric\.DecimalLiteralSpec.examples.can parse "0\.0020" (36 mutations)
103.32 s
[really-safe-money-gen] coverage (83/1610): Numeric\.DecimalLiteralSpec.setSignRequired.produces valid values (2 mutations)
103.34 s
[really-safe-money-gen] coverage (82/1610): Numeric\.DecimalLiteralSpec.digits.produces valid numbers of digits (0 mutations)
103.41 s
[really-safe-money-gen] coverage (84/1610): Money\.ConversionRateSpec.Rational.toRational.produces valid rationals (0 mutations)
110.66 s
[really-safe-money-gen] coverage (85/1610): Money\.ConversionRateSpec.Rational.fromRational.roundtrips with toRational (13 mutations)
111.20 s
[really-safe-money-gen] coverage (86/1610): Money\.ConversionRateSpec.Rational.fromRational.produces valid conversion rates (13 mutations)
111.26 s
[really-safe-money-gen] coverage (88/1610): Money\.ConversionRateSpec.Ratio.fromRatio.roundtrips with toRatio (6 mutations)
111.30 s
[really-safe-money-gen] coverage (87/1610): Money\.ConversionRateSpec.Ratio.fromRatio.produces valid conversion rates (6 mutations)
111.42 s
[really-safe-money-gen] coverage (89/1610): Money\.ConversionRateSpec.Ratio.toRatio.produces valid ratios (0 mutations)
111.57 s
[really-safe-money-gen] coverage (90/1610): Money\.ConversionRateSpec.invert.produces valid rates (8 mutations)
111.90 s
[really-safe-money-gen] coverage (103/1610): Money\.AccountSpec.Eq.says negative 0 equals positive 0 (3 mutations)
111.94 s
[really-safe-money-gen] coverage (97/1610): Money\.AccountSpec.Eq.Eq Account.(/=) \:\: Account -> Account -> Bool.is equivalent to (\\a b -> not $ a == b) for "valid Account"s (3 mutations)
111.99 s
[really-safe-money-gen] coverage (99/1610): Money\.AccountSpec.Eq.Eq Account.(==) \:\: Account -> Account -> Bool.is equivalent to (\\a b -> not $ a /= b) for "valid Account"s (3 mutations)
112.00 s
[really-safe-money-gen] coverage (92/1610): Money\.ConversionRateSpec.DecimalLiteral.fromDecimalLiteral.produces valid conversion rates (16 mutations)
112.07 s
[really-safe-money-gen] coverage (98/1610): Money\.AccountSpec.Eq.Eq Account.(/=) \:\: Account -> Account -> Bool.is antireflexive for "valid Account"s (3 mutations)
112.07 s
[really-safe-money-gen] coverage (94/1610): Money\.ConversionRateSpec.compose.produces valid rates (8 mutations)
112.13 s
[really-safe-money-gen] coverage (108/1610): Money\.AccountSpec.convert.converts this USD to CHF correctly (26 mutations)
112.13 s
[really-safe-money-gen] coverage (101/1610): Money\.AccountSpec.Eq.Eq Account.(==) \:\: Account -> Account -> Bool.is symmetric for "valid Account"s (3 mutations)
112.13 s
[really-safe-money-gen] coverage (104/1610): Money\.AccountSpec.negate.produces valid amounts (1 mutations)
112.13 s
[really-safe-money-gen] coverage (100/1610): Money\.AccountSpec.Eq.Eq Account.(==) \:\: Account -> Account -> Bool.is transitive for "valid Account"s (3 mutations)
112.19 s
[really-safe-money-gen] coverage (95/1610): Money\.ConversionRateSpec.GenValid ConversionRate.genValid \:\: Gen ConversionRate.only generates valid 'ConversionRate's (6 mutations)
112.28 s
[really-safe-money-gen] coverage (96/1610): Money\.AccountSpec.Show Account and Read Account.are implemented such that read \. show == id for valid values (3 mutations)
112.29 s
[really-safe-money-gen] coverage (109/1610): Money\.AccountSpec.distribute.correctly distributes 5 into 3 (20 mutations)
112.29 s
[really-safe-money-gen] coverage (110/1610): Money\.AccountSpec.distribute.correctly distributes 3 into 3 (18 mutations)
112.37 s
[really-safe-money-gen] coverage (111/1610): Money\.AccountSpec.distribute.Eq (Distribution Account).(==) \:\: (Distribution Account) -> (Distribution Account) -> Bool.is symmetric for "valid (Distribution Account)"s (3 mutations)
112.37 s
[really-safe-money-gen] coverage (102/1610): Money\.AccountSpec.Eq.Eq Account.(==) \:\: Account -> Account -> Bool.is reflexive for "valid Account"s (3 mutations)
112.62 s
[really-safe-money-gen] coverage (112/1610): Money\.AccountSpec.distribute.Eq (Distribution Account).(==) \:\: (Distribution Account) -> (Distribution Account) -> Bool.is transitive for "valid (Distribution Account)"s (3 mutations)
112.63 s
[really-safe-money-gen] coverage (106/1610): Money\.AccountSpec.convert.succeeds in converting 1\:1 without rounding if the quantisation factor is the same (29 mutations)
112.78 s
[really-safe-money-gen] coverage (105/1610): Money\.AccountSpec.format.produces valid strings (6 mutations)
113.32 s
[really-safe-money-gen] coverage (107/1610): Money\.AccountSpec.convert.produces valid amounts (27 mutations)
119.31 s
[really-safe-money-gen] coverage (113/1610): Money\.AccountSpec.distribute.Eq (Distribution Account).(==) \:\: (Distribution Account) -> (Distribution Account) -> Bool.is equivalent to (\\a b -> not $ a /= b) for "valid (Distribution Account)"s (3 mutations)
119.61 s
[really-safe-money-gen] coverage (114/1610): Money\.AccountSpec.distribute.Eq (Distribution Account).(==) \:\: (Distribution Account) -> (Distribution Account) -> Bool.is reflexive for "valid (Distribution Account)"s (3 mutations)
119.72 s
[really-safe-money-gen] coverage (118/1610): Money\.AccountSpec.distribute.correctly distributes 10 into 4 (20 mutations)
119.82 s
[really-safe-money-gen] coverage (115/1610): Money\.AccountSpec.distribute.Eq (Distribution Account).(/=) \:\: (Distribution Account) -> (Distribution Account) -> Bool.is antireflexive for "valid (Distribution Account)"s (3 mutations)
119.83 s
[really-safe-money-gen] coverage (116/1610): Money\.AccountSpec.distribute.Eq (Distribution Account).(/=) \:\: (Distribution Account) -> (Distribution Account) -> Bool.is equivalent to (\\a b -> not $ a == b) for "valid (Distribution Account)"s (3 mutations)
120.24 s
[really-safe-money-gen] coverage (121/1610): Money\.AccountSpec.abs.produces valid amounts (1 mutations)
120.31 s
[really-safe-money-gen] coverage (122/1610): Money\.AccountSpec.fromAmount.produces valid accounts (1 mutations)
120.41 s
[really-safe-money-gen] coverage (131/1610): Money\.AccountSpec.rate.computes this USD to CHF rate correctly (14 mutations)
120.43 s
[really-safe-money-gen] coverage (134/1610): Money\.AccountSpec.Ord.says -6 is greater than -7 (2 mutations)
120.46 s
[really-safe-money-gen] coverage (127/1610): Money\.AccountSpec.fromMinimalQuantisations.roundtrips with toMinimalQuantisations (16 mutations)
120.49 s
[really-safe-money-gen] coverage (120/1610): Money\.AccountSpec.distribute.produces valid amounts (36 mutations)
120.59 s
[really-safe-money-gen] coverage (117/1610): Money\.AccountSpec.distribute.produces results that sum up to the greater whole (66 mutations)
120.59 s
[really-safe-money-gen] coverage (128/1610): Money\.AccountSpec.fromMinimalQuantisations.produces valid accounts (14 mutations)
120.62 s
[really-safe-money-gen] coverage (133/1610): Money\.AccountSpec.toDouble.produces an infinite or NaN Double with quantisation factor 0 (3 mutations)
120.78 s
[really-safe-money-gen] coverage (135/1610): Money\.AccountSpec.Ord.says 4 is smaller than 5 (2 mutations)
120.81 s
[really-safe-money-gen] coverage (125/1610): Money\.AccountSpec.fromRatio.produces valid rational (20 mutations)
120.81 s
[really-safe-money-gen] coverage (132/1610): Money\.AccountSpec.toDouble.produces valid Doubles when the quantisation factor is nonzero (3 mutations)
120.82 s
[really-safe-money-gen] coverage (124/1610): Money\.AccountSpec.fromRational.produces valid rational (27 mutations)
120.82 s
[really-safe-money-gen] coverage (123/1610): Money\.AccountSpec.fromRational.roundtrips with toRational (31 mutations)
120.84 s
[really-safe-money-gen] coverage (126/1610): Money\.AccountSpec.fromRatio.roundtrips with toRatio (22 mutations)
120.87 s
[really-safe-money-gen] coverage (136/1610): Money\.AccountSpec.Ord.says -3 is smaller than 2 (2 mutations)
121.18 s
[really-safe-money-gen] coverage (130/1610): Money\.AccountSpec.rate.produces valid conversion rates (15 mutations)
121.18 s
[really-safe-money-gen] coverage (137/1610): Money\.AccountSpec.Ord.Ord Account."max \:\: (Account -> Account -> Account)".is equivalent to (\\a b -> if a >= b then a else b) for "valid Account"'s (3 mutations)
121.53 s
[really-safe-money-gen] coverage (129/1610): Money\.AccountSpec.rate.computes a rate that can be used to do a conversion without rounding (35 mutations)
121.62 s
[really-safe-money-gen] coverage (119/1610): Money\.AccountSpec.distribute.Show (Distribution Account) and Read (Distribution Account).are implemented such that read \. show == id for valid values (3 mutations)
121.90 s
[really-safe-money-gen] coverage (138/1610): Money\.AccountSpec.Ord.Ord Account."min \:\: (Account -> Account -> Account)".is equivalent to (\\a b -> if a <= b then a else b) for "valid Account"'s (3 mutations)
128.16 s
[really-safe-money-gen] coverage (139/1610): Money\.AccountSpec.Ord.Ord Account.(<=) \:\: Account -> Account -> Bool.is transitive for "valid Account"'s (3 mutations)
128.65 s
[really-safe-money-gen] coverage (141/1610): Money\.AccountSpec.Ord.Ord Account.(<=) \:\: Account -> Account -> Bool.is antisymmetric for "valid Account"'s (3 mutations)
128.67 s
[really-safe-money-gen] coverage (140/1610): Money\.AccountSpec.Ord.Ord Account.(<=) \:\: Account -> Account -> Bool.is equivalent to (\\a b -> compare a b /= GT) for "valid Account"'s (3 mutations)
128.72 s
[really-safe-money-gen] coverage (143/1610): Money\.AccountSpec.Ord.Ord Account.(>) \:\: Account -> Account -> Bool.is transitive for "valid Account"'s (3 mutations)
128.88 s
[really-safe-money-gen] coverage (142/1610): Money\.AccountSpec.Ord.Ord Account.(<=) \:\: Account -> Account -> Bool.is reflexive for "valid Account"'s (3 mutations)
129.19 s
[really-safe-money-gen] coverage (145/1610): Money\.AccountSpec.Ord.Ord Account.(>) \:\: Account -> Account -> Bool.is antireflexive for "valid Account"'s (3 mutations)
129.23 s
[really-safe-money-gen] coverage (144/1610): Money\.AccountSpec.Ord.Ord Account.(>) \:\: Account -> Account -> Bool.is equivalent to (\\a b -> compare a b == GT) for "valid Account"'s (3 mutations)
129.39 s
[really-safe-money-gen] coverage (149/1610): Money\.AccountSpec.Ord.Ord Account.(>=) \:\: Account -> Account -> Bool.is reflexive for "valid Account"'s (3 mutations)
129.49 s
[really-safe-money-gen] coverage (148/1610): Money\.AccountSpec.Ord.Ord Account.(<) \:\: Account -> Account -> Bool.is antireflexive for "valid Account"'s (3 mutations)
129.58 s
[really-safe-money-gen] coverage (158/1610): Money\.AccountSpec.sum.correctly sums [1,2,3] to 6 (12 mutations)
129.59 s
[really-safe-money-gen] coverage (146/1610): Money\.AccountSpec.Ord.Ord Account.(<) \:\: Account -> Account -> Bool.is transitive for "valid Account"'s (3 mutations)
129.61 s
[really-safe-money-gen] coverage (147/1610): Money\.AccountSpec.Ord.Ord Account.(<) \:\: Account -> Account -> Bool.is equivalent to (\\a b -> compare a b == LT) for "valid Account"'s (3 mutations)
129.63 s
[really-safe-money-gen] coverage (152/1610): Money\.AccountSpec.Ord.Ord Account.(>=) \:\: Account -> Account -> Bool.is transitive for "valid Account"'s (3 mutations)
129.71 s
[really-safe-money-gen] coverage (150/1610): Money\.AccountSpec.Ord.Ord Account.(>=) \:\: Account -> Account -> Bool.is antisymmetric for "valid Account"'s (3 mutations)
129.74 s
[really-safe-money-gen] coverage (156/1610): Money\.AccountSpec.sum.fails to sum above maxBound even if the result is back below maxBound (10 mutations)
129.81 s
[really-safe-money-gen] coverage (153/1610): Money\.AccountSpec.toRatio.produces valid Ratios when the quantisation factor is nonzero (1 mutations)
129.81 s
[really-safe-money-gen] coverage (157/1610): Money\.AccountSpec.sum.fails to sum above maxBound (10 mutations)
129.85 s
[really-safe-money-gen] coverage (151/1610): Money\.AccountSpec.Ord.Ord Account.(>=) \:\: Account -> Account -> Bool.is equivalent to (\\a b -> compare a b /= LT) for "valid Account"'s (3 mutations)
130.34 s
[really-safe-money-gen] coverage (160/1610): Money\.AccountSpec.toMinimalQuantisations.produces valid accounts (3 mutations)
130.36 s
[really-safe-money-gen] coverage (154/1610): Money\.AccountSpec.fractionRatio.produces valid amounts (22 mutations)
130.43 s
[really-safe-money-gen] coverage (162/1610): Money\.AccountSpec.add.fails for minBound + (-1) (8 mutations)
130.64 s
[really-safe-money-gen] coverage (161/1610): Money\.AccountSpec.add.is commutative (27 mutations)
130.72 s
[really-safe-money-gen] coverage (163/1610): Money\.AccountSpec.add.fails for minBound + minBound (8 mutations)
131.15 s
[really-safe-money-gen] coverage (159/1610): Money\.AccountSpec.sum.matches what you would get with Integer, if nothing fails (28 mutations)
131.31 s
[really-safe-money-gen] coverage (164/1610): Money\.AccountSpec.add.produces valid amounts (27 mutations)
131.32 s
[really-safe-money-gen] coverage (155/1610): Money\.AccountSpec.sum.produces valid amounts (28 mutations)
137.12 s
[really-safe-money-gen] coverage (166/1610): Money\.AccountSpec.add.fails for maxBound + 1 (8 mutations)
137.51 s
[really-safe-money-gen] coverage (167/1610): Money\.AccountSpec.add.fails for maxBound + maxBound (8 mutations)
138.02 s
[really-safe-money-gen] coverage (171/1610): Money\.AccountSpec.DecimalLiteral.can turn DecimalLiteral (Just True) 3 2 into decimalLiteral QuantisationFactor {unQuantisationFactor = 100} (32 mutations)
138.06 s
[really-safe-money-gen] coverage (169/1610): Money\.AccountSpec.add.has a left-identity\: zero (28 mutations)
138.21 s
[really-safe-money-gen] coverage (172/1610): Money\.AccountSpec.DecimalLiteral.can turn DecimalLiteral (Just True) 1 0 into decimalLiteral QuantisationFactor {unQuantisationFactor = 1} (32 mutations)
138.22 s
[really-safe-money-gen] coverage (168/1610): Money\.AccountSpec.add.is associative when both succeed (27 mutations)
138.29 s
[really-safe-money-gen] coverage (170/1610): Money\.AccountSpec.add.matches what you would get with Integer, if nothing fails (27 mutations)
138.37 s
[really-safe-money-gen] coverage (165/1610): Money\.AccountSpec.add.has a right-identity\: zero (28 mutations)
138.43 s
[really-safe-money-gen] coverage (174/1610): Money\.AccountSpec.DecimalLiteral.can turn decimalLiteral QuantisationFactor {unQuantisationFactor = 100} into DecimalLiteral (Just False) 4 2 (46 mutations)
138.47 s
[really-safe-money-gen] coverage (176/1610): Money\.AccountSpec.DecimalLiteral.can turn DecimalLiteral (Just True) 100 2 into decimalLiteral QuantisationFactor {unQuantisationFactor = 100} (32 mutations)
138.50 s
[really-safe-money-gen] coverage (175/1610): Money\.AccountSpec.DecimalLiteral.can turn decimalLiteral QuantisationFactor {unQuantisationFactor = 100} into DecimalLiteral (Just False) 200 2 (46 mutations)
138.53 s
[really-safe-money-gen] coverage (178/1610): Money\.AccountSpec.DecimalLiteral.can turn decimalLiteral QuantisationFactor {unQuantisationFactor = 20} into DecimalLiteral (Just False) 600 2 (46 mutations)
138.74 s
[really-safe-money-gen] coverage (181/1610): Money\.AccountSpec.DecimalLiteral.can turn decimalLiteral QuantisationFactor {unQuantisationFactor = 20} into DecimalLiteral (Just True) 10 2 (52 mutations)
138.76 s
[really-safe-money-gen] coverage (177/1610): Money\.AccountSpec.DecimalLiteral.can turn decimalLiteral QuantisationFactor {unQuantisationFactor = 20} into DecimalLiteral (Just True) 500 2 (46 mutations)
138.78 s
[really-safe-money-gen] coverage (179/1610): Money\.AccountSpec.DecimalLiteral.can turn DecimalLiteral (Just True) 500 2 into decimalLiteral QuantisationFactor {unQuantisationFactor = 20} (32 mutations)
138.78 s
[really-safe-money-gen] coverage (173/1610): Money\.AccountSpec.DecimalLiteral.can turn DecimalLiteral (Just True) 500 8 into decimalLiteral QuantisationFactor {unQuantisationFactor = 100000000} (32 mutations)
138.90 s
[really-safe-money-gen] coverage (182/1610): Money\.AccountSpec.DecimalLiteral.can turn decimalLiteral QuantisationFactor {unQuantisationFactor = 100} into DecimalLiteral (Just True) 100 2 (46 mutations)
139.06 s
[really-safe-money-gen] coverage (180/1610): Money\.AccountSpec.DecimalLiteral.can turn decimalLiteral QuantisationFactor {unQuantisationFactor = 100} into DecimalLiteral (Just True) 3 2 (46 mutations)
139.24 s
[really-safe-money-gen] coverage (185/1610): Money\.AccountSpec.DecimalLiteral.can turn decimalLiteral QuantisationFactor {unQuantisationFactor = 1} into DecimalLiteral (Just True) 1 0 (40 mutations)
139.50 s
[really-safe-money-gen] coverage (186/1610): Money\.AccountSpec.DecimalLiteral.can turn DecimalLiteral (Just False) 4 2 into decimalLiteral QuantisationFactor {unQuantisationFactor = 100} (32 mutations)
139.73 s
[really-safe-money-gen] coverage (187/1610): Money\.AccountSpec.DecimalLiteral.can turn DecimalLiteral (Just False) 600 2 into decimalLiteral QuantisationFactor {unQuantisationFactor = 20} (32 mutations)
140.17 s
[really-safe-money-gen] coverage (188/1610): Money\.AccountSpec.DecimalLiteral.can turn decimalLiteral QuantisationFactor {unQuantisationFactor = 20} into DecimalLiteral (Just False) 20 2 (52 mutations)
140.28 s
[really-safe-money-gen] coverage (189/1610): Money\.AccountSpec.DecimalLiteral.can turn decimalLiteral QuantisationFactor {unQuantisationFactor = 1} into DecimalLiteral (Just False) 2 0 (40 mutations)
140.28 s
[really-safe-money-gen] coverage (190/1610): Money\.AccountSpec.DecimalLiteral.can turn DecimalLiteral (Just False) 20 2 into decimalLiteral QuantisationFactor {unQuantisationFactor = 20} (32 mutations)
147.17 s
[really-safe-money-gen] coverage (191/1610): Money\.AccountSpec.DecimalLiteral.Account\.fromDecimalLiteral.fails on this amount that is too precise (17 mutations)
147.84 s
[really-safe-money-gen] coverage (192/1610): Money\.AccountSpec.DecimalLiteral.Account\.fromDecimalLiteral.produces valid factors (30 mutations)
148.03 s
[really-safe-money-gen] coverage (194/1610): Money\.AccountSpec.DecimalLiteral.can turn decimalLiteral QuantisationFactor {unQuantisationFactor = 100000000} into DecimalLiteral (Just True) 500 8 (52 mutations)
148.23 s
[really-safe-money-gen] coverage (193/1610): Money\.AccountSpec.DecimalLiteral.Account\.fromDecimalLiteral.fails on this amount that is too precise:1 (17 mutations)
148.31 s
[really-safe-money-gen] coverage (201/1610): Money\.AccountSpec.subtract.fails for minBound - 1 (8 mutations)
148.31 s
[really-safe-money-gen] coverage (197/1610): Money\.AccountSpec.DecimalLiteral.can turn DecimalLiteral (Just False) 200 2 into decimalLiteral QuantisationFactor {unQuantisationFactor = 100} (32 mutations)
148.41 s
[really-safe-money-gen] coverage (203/1610): Money\.AccountSpec.subtract.fails for maxBound - minBound (8 mutations)
148.41 s
[really-safe-money-gen] coverage (195/1610): Money\.AccountSpec.DecimalLiteral.can turn DecimalLiteral (Just False) 2 0 into decimalLiteral QuantisationFactor {unQuantisationFactor = 1} (32 mutations)
148.41 s
[really-safe-money-gen] coverage (196/1610): Money\.AccountSpec.DecimalLiteral.can turn DecimalLiteral (Just True) 10 2 into decimalLiteral QuantisationFactor {unQuantisationFactor = 20} (32 mutations)
148.59 s
[really-safe-money-gen] coverage (202/1610): Money\.AccountSpec.subtract.fails for minBound - maxBound (8 mutations)
148.65 s
[really-safe-money-gen] coverage (198/1610): Money\.AccountSpec.fromDouble.produces valid rational (38 mutations)
148.67 s
[really-safe-money-gen] coverage (204/1610): Money\.AccountSpec.multiply.fails for 3 * minBound (8 mutations)
148.95 s
[really-safe-money-gen] coverage (206/1610): Money\.AccountSpec.multiply.produces valid amounts (20 mutations)
148.96 s
[really-safe-money-gen] coverage (200/1610): Money\.AccountSpec.subtract.matches what you would get with Integer, if nothing fails (27 mutations)
149.12 s
[really-safe-money-gen] coverage (207/1610): Money\.AccountSpec.multiply.succeeds for 3 * 6 (19 mutations)
149.17 s
[really-safe-money-gen] coverage (199/1610): Money\.AccountSpec.fromDouble.roundtrips with toDouble back to double (40 mutations)
149.19 s
[really-safe-money-gen] coverage (205/1610): Money\.AccountSpec.multiply.is absorbed by 0 (20 mutations)
149.49 s
[really-safe-money-gen] coverage (210/1610): Money\.AccountSpec.multiply.matches what you would get with Integer, if nothing fails (20 mutations)
149.72 s
[really-safe-money-gen] coverage (211/1610): Money\.AccountSpec.multiply.fails for 2 * maxbound (8 mutations)
149.76 s
[really-safe-money-gen] coverage (209/1610): Money\.AccountSpec.multiply.is distributive with add when both succeed (44 mutations)
150.04 s
[really-safe-money-gen] coverage (208/1610): Money\.AccountSpec.multiply.has an identity\: 1 (20 mutations)
150.33 s
[really-safe-money-gen] coverage (216/1610): Money\.AccountSpec.fraction.Correctly fractions 100 with 1 % 100 (32 mutations)
151.27 s
[really-safe-money-gen] coverage (218/1610): Money\.AccountSpec.fraction.Produces a result that has been rounded in the right direction when using RoundUp (30 mutations)
151.54 s
[really-safe-money-gen] coverage (215/1610): Money\.AccountSpec.fraction.Produces a result that can be multiplied back (39 mutations)
157.21 s
[really-safe-money-gen] coverage (219/1610): Money\.AccountSpec.toRational.produces valid Rationals when the quantisation factor is nonzero (3 mutations)
157.67 s
[really-safe-money-gen] coverage (220/1610): Money\.AccountSpec.toRational.produces an invalid Rational with quantisation factor 0 (4 mutations)
157.95 s
[really-safe-money-gen] coverage (213/1610): Money\.AccountSpec.fraction.Correctly fractions 101 with 1 % 100 (32 mutations)
157.99 s
[really-safe-money-gen] coverage (221/1610): Money\.MultiAmountSpec.fromAmount.produces valid amounts (15 mutations)
158.09 s
[really-safe-money-gen] coverage (224/1610): Money\.MultiAmountSpec.Eq (MultiAmount Currency).(/=) \:\: (MultiAmount Currency) -> (MultiAmount Currency) -> Bool.is antireflexive for "valid (MultiAmount Currency)"s (2 mutations)
158.31 s
[really-safe-money-gen] coverage (227/1610): Money\.MultiAmountSpec.Eq (MultiAmount Currency).(==) \:\: (MultiAmount Currency) -> (MultiAmount Currency) -> Bool.is symmetric for "valid (MultiAmount Currency)"s (1 mutations)
158.45 s
[really-safe-money-gen] coverage (228/1610): Money\.MultiAmountSpec.Eq (MultiAmount Currency).(==) \:\: (MultiAmount Currency) -> (MultiAmount Currency) -> Bool.is equivalent to (\\a b -> not $ a /= b) for "valid (MultiAmount Currency)"s (1 mutations)
158.48 s
[really-safe-money-gen] coverage (225/1610): Money\.MultiAmountSpec.Eq (MultiAmount Currency).(/=) \:\: (MultiAmount Currency) -> (MultiAmount Currency) -> Bool.is equivalent to (\\a b -> not $ a == b) for "valid (MultiAmount Currency)"s (1 mutations)
158.51 s
[really-safe-money-gen] coverage (222/1610): Money\.MultiAmountSpec.Show (MultiAmount Currency) and Read (MultiAmount Currency).are implemented such that read \. show == id for valid values (2 mutations)
158.55 s
[really-safe-money-gen] coverage (231/1610): Money\.MultiAmountSpec.Ord (MultiAmount Currency).(<) \:\: (MultiAmount Currency) -> (MultiAmount Currency) -> Bool.is antireflexive for "valid (MultiAmount Currency)"'s (2 mutations)
158.64 s
[really-safe-money-gen] coverage (226/1610): Money\.MultiAmountSpec.Eq (MultiAmount Currency).(==) \:\: (MultiAmount Currency) -> (MultiAmount Currency) -> Bool.is transitive for "valid (MultiAmount Currency)"s (1 mutations)
158.86 s
[really-safe-money-gen] coverage (212/1610): Money\.AccountSpec.GenValid Account.genValid \:\: Gen Account.only generates valid 'Account's (1 mutations)
158.86 s
[really-safe-money-gen] coverage (232/1610): Money\.MultiAmountSpec.Ord (MultiAmount Currency).(<) \:\: (MultiAmount Currency) -> (MultiAmount Currency) -> Bool.is transitive for "valid (MultiAmount Currency)"'s (2 mutations)
158.86 s
[really-safe-money-gen] coverage (223/1610): Money\.MultiAmountSpec.zero.is valid (2 mutations)
159.15 s
[really-safe-money-gen] coverage (235/1610): Money\.MultiAmountSpec.Ord (MultiAmount Currency).(<=) \:\: (MultiAmount Currency) -> (MultiAmount Currency) -> Bool.is equivalent to (\\a b -> compare a b /= GT) for "valid (MultiAmount Currency)"'s (2 mutations)
159.42 s
[really-safe-money-gen] coverage (233/1610): Money\.MultiAmountSpec.Ord (MultiAmount Currency).(<) \:\: (MultiAmount Currency) -> (MultiAmount Currency) -> Bool.is equivalent to (\\a b -> compare a b == LT) for "valid (MultiAmount Currency)"'s (2 mutations)
159.57 s
[really-safe-money-gen] coverage (229/1610): Money\.MultiAmountSpec.Eq (MultiAmount Currency).(==) \:\: (MultiAmount Currency) -> (MultiAmount Currency) -> Bool.is reflexive for "valid (MultiAmount Currency)"s (2 mutations)
159.64 s
[really-safe-money-gen] coverage (217/1610): Money\.AccountSpec.fraction.Produces a result that has been rounded in the right direction when using RoundDown (30 mutations)
159.75 s
[really-safe-money-gen] coverage (237/1610): Money\.MultiAmountSpec.Ord (MultiAmount Currency).(<=) \:\: (MultiAmount Currency) -> (MultiAmount Currency) -> Bool.is antisymmetric for "valid (MultiAmount Currency)"'s (2 mutations)
159.99 s
[really-safe-money-gen] coverage (236/1610): Money\.MultiAmountSpec.Ord (MultiAmount Currency).(<=) \:\: (MultiAmount Currency) -> (MultiAmount Currency) -> Bool.is transitive for "valid (MultiAmount Currency)"'s (2 mutations)
160.26 s
[really-safe-money-gen] coverage (238/1610): Money\.MultiAmountSpec.Ord (MultiAmount Currency)."min \:\: (MultiAmount Currency -> MultiAmount Currency -> MultiAmount Currency)".is equivalent to (\\a b -> if a <= b then a else b) for "valid (MultiAmount Currency)"'s (2 mutations)
160.51 s
[really-safe-money-gen] coverage (239/1610): Money\.MultiAmountSpec.Ord (MultiAmount Currency).(>=) \:\: (MultiAmount Currency) -> (MultiAmount Currency) -> Bool.is antisymmetric for "valid (MultiAmount Currency)"'s (2 mutations)
161.19 s
[really-safe-money-gen] coverage (240/1610): Money\.MultiAmountSpec.Ord (MultiAmount Currency).(>=) \:\: (MultiAmount Currency) -> (MultiAmount Currency) -> Bool.is reflexive for "valid (MultiAmount Currency)"'s (2 mutations)
161.96 s
[really-safe-money-gen] coverage (241/1610): Money\.MultiAmountSpec.Ord (MultiAmount Currency).(>=) \:\: (MultiAmount Currency) -> (MultiAmount Currency) -> Bool.is transitive for "valid (MultiAmount Currency)"'s (2 mutations)
167.01 s
[really-safe-money-gen] coverage (242/1610): Money\.MultiAmountSpec.Ord (MultiAmount Currency).(>=) \:\: (MultiAmount Currency) -> (MultiAmount Currency) -> Bool.is equivalent to (\\a b -> compare a b /= LT) for "valid (MultiAmount Currency)"'s (2 mutations)
167.18 s
[really-safe-money-gen] coverage (91/1610): Money\.ConversionRateSpec.DecimalLiteral.toDecimalLiteral.produces valid literals (37 mutations)
167.24 s
[really-safe-money-gen] coverage (93/1610): Money\.ConversionRateSpec.DecimalLiteral.fromDecimalLiteral.roundtrips with toDecimalLiteral (53 mutations)
167.48 s
[really-safe-money-gen] coverage (248/1610): Money\.MultiAmountSpec.convertAll.produces valid results when converting two currencies to one (20 mutations)
167.54 s
[really-safe-money-gen] coverage (243/1610): Money\.MultiAmountSpec.Ord (MultiAmount Currency)."max \:\: (MultiAmount Currency -> MultiAmount Currency -> MultiAmount Currency)".is equivalent to (\\a b -> if a >= b then a else b) for "valid (MultiAmount Currency)"'s (2 mutations)
167.54 s
[really-safe-money-gen] coverage (245/1610): Money\.MultiAmountSpec.Ord (MultiAmount Currency).(>) \:\: (MultiAmount Currency) -> (MultiAmount Currency) -> Bool.is transitive for "valid (MultiAmount Currency)"'s (2 mutations)
167.78 s
[really-safe-money-gen] coverage (257/1610): Money\.MultiAmountSpec.GenValid (MultiAmount Currency).genValid \:\: Gen (MultiAmount Currency).only generates valid '(MultiAmount Currency)'s (13 mutations)
167.80 s
[really-safe-money-gen] coverage (256/1610): Money\.MultiAmountSpec.subtractAmount.produces valid amounts (29 mutations)
167.81 s
[really-safe-money-gen] coverage (250/1610): Money\.MultiAmountSpec.add.produces valid amounts (27 mutations)
167.83 s
[really-safe-money-gen] coverage (252/1610): Money\.MultiAmountSpec.add.has a left-identity\: zero (4 mutations)
168.03 s
[really-safe-money-gen] coverage (259/1610): Money\.MultiAmountSpec.subtract.has a right-identity\: zero (2 mutations)
168.13 s
[really-safe-money-gen] coverage (255/1610): Money\.MultiAmountSpec.addAmount.produces valid amounts (24 mutations)
168.16 s
[really-safe-money-gen] coverage (234/1610): Money\.MultiAmountSpec.Ord (MultiAmount Currency).(<=) \:\: (MultiAmount Currency) -> (MultiAmount Currency) -> Bool.is reflexive for "valid (MultiAmount Currency)"'s (2 mutations)
168.39 s
[really-safe-money-gen] coverage (244/1610): Money\.MultiAmountSpec.Ord (MultiAmount Currency).(>) \:\: (MultiAmount Currency) -> (MultiAmount Currency) -> Bool.is antireflexive for "valid (MultiAmount Currency)"'s (2 mutations)
168.84 s
[really-safe-money-gen] coverage (247/1610): Money\.MultiAmountSpec.convertAll.produces the right result in this example (15 mutations)
168.96 s
[really-safe-money-gen] coverage (261/1610): Money\.MultiAmountSpec.lookupAmount.can find an added amount (5 mutations)
168.97 s
[really-safe-money-gen] coverage (246/1610): Money\.MultiAmountSpec.Ord (MultiAmount Currency).(>) \:\: (MultiAmount Currency) -> (MultiAmount Currency) -> Bool.is equivalent to (\\a b -> compare a b == GT) for "valid (MultiAmount Currency)"'s (2 mutations)
168.97 s
[really-safe-money-gen] coverage (230/1610): Money\.MultiAmountSpec.sum.produces valid amounts (27 mutations)
169.00 s
[really-safe-money-gen] coverage (253/1610): Money\.MultiAmountSpec.add.is associative when both succeed (16 mutations)
169.09 s
[really-safe-money-gen] coverage (258/1610): Money\.MultiAmountSpec.subtract.produces valid amounts (28 mutations)
169.18 s
[really-safe-money-gen] coverage (262/1610): Money\.AccountOfSpec.USD.sum.produces valid amounts (28 mutations)
169.31 s
[really-safe-money-gen] coverage (254/1610): Money\.MultiAmountSpec.add.is commutative (16 mutations)
170.07 s
[really-safe-money-gen] coverage (251/1610): Money\.MultiAmountSpec.add.has a right-identity\: zero (2 mutations)
170.33 s
[really-safe-money-gen] coverage (214/1610): Money\.AccountSpec.fraction.produces valid amounts (39 mutations)
170.55 s
[really-safe-money-gen] coverage (264/1610): Money\.AccountOfSpec.USD.Eq (AccountOf * USD).(/=) \:\: (AccountOf * USD) -> (AccountOf * USD) -> Bool.is equivalent to (\\a b -> not $ a == b) for "valid (AccountOf * USD)"s (3 mutations)
171.22 s
[really-safe-money-gen] coverage (265/1610): Money\.AccountOfSpec.USD.Eq (AccountOf * USD).(/=) \:\: (AccountOf * USD) -> (AccountOf * USD) -> Bool.is antireflexive for "valid (AccountOf * USD)"s (3 mutations)
176.45 s
[really-safe-money-gen] coverage (266/1610): Money\.AccountOfSpec.USD.Eq (AccountOf * USD).(==) \:\: (AccountOf * USD) -> (AccountOf * USD) -> Bool.is reflexive for "valid (AccountOf * USD)"s (3 mutations)
176.55 s
[really-safe-money-gen] coverage (269/1610): Money\.AccountOfSpec.USD.Eq (AccountOf * USD).(==) \:\: (AccountOf * USD) -> (AccountOf * USD) -> Bool.is equivalent to (\\a b -> not $ a /= b) for "valid (AccountOf * USD)"s (3 mutations)
176.70 s
[really-safe-money-gen] coverage (267/1610): Money\.AccountOfSpec.USD.Eq (AccountOf * USD).(==) \:\: (AccountOf * USD) -> (AccountOf * USD) -> Bool.is symmetric for "valid (AccountOf * USD)"s (3 mutations)
177.01 s
[really-safe-money-gen] coverage (271/1610): Money\.AccountOfSpec.USD.add.is associative when both succeed (27 mutations)
177.02 s
[really-safe-money-gen] coverage (260/1610): Money\.MultiAmountSpec.lookupAmount.produces valid amounts (2 mutations)
177.09 s
[really-safe-money-gen] coverage (274/1610): Money\.AccountOfSpec.USD.add.is commutative (27 mutations)
177.15 s
[really-safe-money-gen] coverage (268/1610): Money\.AccountOfSpec.USD.Eq (AccountOf * USD).(==) \:\: (AccountOf * USD) -> (AccountOf * USD) -> Bool.is transitive for "valid (AccountOf * USD)"s (3 mutations)
177.23 s
[really-safe-money-gen] coverage (263/1610): Money\.AccountOfSpec.USD.sum.matches what you would get with Integer, if nothing fails (28 mutations)
177.25 s
[really-safe-money-gen] coverage (272/1610): Money\.AccountOfSpec.USD.add.matches what you would get with Integer, if nothing fails (27 mutations)
177.30 s
[really-safe-money-gen] coverage (273/1610): Money\.AccountOfSpec.USD.add.produces valid amounts (27 mutations)
177.55 s
[really-safe-money-gen] coverage (279/1610): Money\.AccountOfSpec.USD.fromAmount.produces valid AccountOfs (1 mutations)
177.61 s
[really-safe-money-gen] coverage (275/1610): Money\.AccountOfSpec.USD.add.has a left-identity\: zero (28 mutations)
177.62 s
[really-safe-money-gen] coverage (276/1610): Money\.AccountOfSpec.USD.fromAmountOf.produces valid AccountOfs (1 mutations)
177.85 s
[really-safe-money-gen] coverage (280/1610): Money\.AccountOfSpec.USD.negate.produces valid amounts (1 mutations)
178.32 s
[really-safe-money-gen] coverage (285/1610): Money\.AccountOfSpec.USD.BTC.convert.produces valid amounts (27 mutations)
178.43 s
[really-safe-money-gen] coverage (293/1610): Money\.AccountOfSpec.USD.fraction.produces valid amounts (39 mutations)
178.44 s
[really-safe-money-gen] coverage (270/1610): Money\.AccountOfSpec.USD.add.has a right-identity\: zero (28 mutations)
178.47 s
[really-safe-money-gen] coverage (286/1610): Money\.AccountOfSpec.USD.INR.rate.produces valid amounts (15 mutations)
178.57 s
[really-safe-money-gen] coverage (277/1610): Money\.AccountOfSpec.USD.toMinimalQuantisations.produces valid accounts (3 mutations)
178.62 s
[really-safe-money-gen] coverage (303/1610): Money\.AccountOfSpec.USD.Ord (AccountOf * USD).(<) \:\: (AccountOf * USD) -> (AccountOf * USD) -> Bool.is transitive for "valid (AccountOf * USD)"'s (3 mutations)
178.76 s
[really-safe-money-gen] coverage (304/1610): Money\.AccountOfSpec.USD.Ord (AccountOf * USD).(<) \:\: (AccountOf * USD) -> (AccountOf * USD) -> Bool.is antireflexive for "valid (AccountOf * USD)"'s (3 mutations)
178.95 s
[really-safe-money-gen] coverage (300/1610): Money\.AccountOfSpec.USD.Ord (AccountOf * USD).(>) \:\: (AccountOf * USD) -> (AccountOf * USD) -> Bool.is equivalent to (\\a b -> compare a b == GT) for "valid (AccountOf * USD)"'s (3 mutations)
179.48 s
[really-safe-money-gen] coverage (305/1610): Money\.AccountOfSpec.USD.Ord (AccountOf * USD).(<) \:\: (AccountOf * USD) -> (AccountOf * USD) -> Bool.is equivalent to (\\a b -> compare a b == LT) for "valid (AccountOf * USD)"'s (3 mutations)
179.90 s
[really-safe-money-gen] coverage (296/1610): Money\.AccountOfSpec.USD.fromMinimalQuantisations.produces valid accounts (14 mutations)
179.98 s
[really-safe-money-gen] coverage (306/1610): Money\.AccountOfSpec.USD.Ord (AccountOf * USD).(>=) \:\: (AccountOf * USD) -> (AccountOf * USD) -> Bool.is equivalent to (\\a b -> compare a b /= LT) for "valid (AccountOf * USD)"'s (3 mutations)
180.64 s
[really-safe-money-gen] coverage (298/1610): Money\.AccountOfSpec.USD.fromDouble.produces valid rational (38 mutations)
185.38 s
[really-safe-money-gen] coverage (307/1610): Money\.AccountOfSpec.USD.Ord (AccountOf * USD).(>=) \:\: (AccountOf * USD) -> (AccountOf * USD) -> Bool.is antisymmetric for "valid (AccountOf * USD)"'s (3 mutations)
185.57 s
[really-safe-money-gen] coverage (302/1610): Money\.AccountOfSpec.USD.Ord (AccountOf * USD).(>) \:\: (AccountOf * USD) -> (AccountOf * USD) -> Bool.is transitive for "valid (AccountOf * USD)"'s (3 mutations)
185.78 s
[really-safe-money-gen] coverage (297/1610): Money\.AccountOfSpec.USD.GenValid (AccountOf * USD).genValid \:\: Gen (AccountOf * USD).only generates valid '(AccountOf * USD)'s (1 mutations)
186.03 s
[really-safe-money-gen] coverage (310/1610): Money\.AccountOfSpec.USD.Ord (AccountOf * USD)."max \:\: (AccountOf * USD -> AccountOf * USD -> AccountOf * USD)".is equivalent to (\\a b -> if a >= b then a else b) for "valid (AccountOf * USD)"'s (3 mutations)
186.05 s
[really-safe-money-gen] coverage (308/1610): Money\.AccountOfSpec.USD.Ord (AccountOf * USD).(>=) \:\: (AccountOf * USD) -> (AccountOf * USD) -> Bool.is reflexive for "valid (AccountOf * USD)"'s (3 mutations)
186.09 s
[really-safe-money-gen] coverage (309/1610): Money\.AccountOfSpec.USD.Ord (AccountOf * USD).(>=) \:\: (AccountOf * USD) -> (AccountOf * USD) -> Bool.is transitive for "valid (AccountOf * USD)"'s (3 mutations)
186.16 s
[really-safe-money-gen] coverage (295/1610): Money\.AccountOfSpec.USD.fromMinimalQuantisations.roundtrips with toMinimalQuantisations (16 mutations)
186.21 s
[really-safe-money-gen] coverage (312/1610): Money\.AccountOfSpec.USD.Ord (AccountOf * USD).(<=) \:\: (AccountOf * USD) -> (AccountOf * USD) -> Bool.is reflexive for "valid (AccountOf * USD)"'s (3 mutations)
186.23 s
[really-safe-money-gen] coverage (288/1610): Money\.AccountOfSpec.USD.ADA.rate.produces valid amounts (15 mutations)
186.24 s
[really-safe-money-gen] coverage (311/1610): Money\.AccountOfSpec.USD.Ord (AccountOf * USD).(<=) \:\: (AccountOf * USD) -> (AccountOf * USD) -> Bool.is equivalent to (\\a b -> compare a b /= GT) for "valid (AccountOf * USD)"'s (3 mutations)
186.43 s
[really-safe-money-gen] coverage (289/1610): Money\.AccountOfSpec.USD.ADA.convert.produces valid amounts (27 mutations)
186.46 s
[really-safe-money-gen] coverage (278/1610): Money\.AccountOfSpec.USD.toDouble.produces valid Doubles when the quantisation factor is nonzero (3 mutations)
186.52 s
[really-safe-money-gen] coverage (292/1610): Money\.AccountOfSpec.USD.abs.produces valid amounts (1 mutations)
186.64 s
[really-safe-money-gen] coverage (313/1610): Money\.AccountOfSpec.USD.Ord (AccountOf * USD).(<=) \:\: (AccountOf * USD) -> (AccountOf * USD) -> Bool.is antisymmetric for "valid (AccountOf * USD)"'s (3 mutations)
187.10 s
[really-safe-money-gen] coverage (284/1610): Money\.AccountOfSpec.USD.BTC.rate.produces valid amounts (15 mutations)
187.23 s
[really-safe-money-gen] coverage (290/1610): Money\.AccountOfSpec.USD.CHF.convert.produces valid amounts (27 mutations)
187.23 s
[really-safe-money-gen] coverage (294/1610): Money\.AccountOfSpec.USD.fraction.Produces a result that can be multiplied back (38 mutations)
187.29 s
[really-safe-money-gen] coverage (299/1610): Money\.AccountOfSpec.USD.fromDouble.roundtrips with toDouble (40 mutations)
187.37 s
[really-safe-money-gen] coverage (281/1610): Money\.AccountOfSpec.USD.USD.convert.produces valid amounts (27 mutations)
187.42 s
[really-safe-money-gen] coverage (283/1610): Money\.AccountOfSpec.USD.Show (AccountOf * USD) and Read (AccountOf * USD).are implemented such that read \. show == id for valid values (3 mutations)
187.71 s
[really-safe-money-gen] coverage (287/1610): Money\.AccountOfSpec.USD.INR.convert.produces valid amounts (27 mutations)
187.72 s
[really-safe-money-gen] coverage (282/1610): Money\.AccountOfSpec.USD.USD.rate.produces valid amounts (15 mutations)
188.29 s
[really-safe-money-gen] coverage (291/1610): Money\.AccountOfSpec.USD.CHF.rate.produces valid amounts (15 mutations)
188.75 s
[really-safe-money-gen] coverage (314/1610): Money\.AccountOfSpec.USD.Ord (AccountOf * USD).(<=) \:\: (AccountOf * USD) -> (AccountOf * USD) -> Bool.is transitive for "valid (AccountOf * USD)"'s (3 mutations)
188.91 s
[really-safe-money-gen] coverage (249/1610): Money\.MultiAmountSpec.convertAll.does the same as 'convert' when there is only one amount (32 mutations)
189.37 s
[really-safe-money-gen] coverage (315/1610): Money\.AccountOfSpec.USD.Ord (AccountOf * USD)."min \:\: (AccountOf * USD -> AccountOf * USD -> AccountOf * USD)".is equivalent to (\\a b -> if a <= b then a else b) for "valid (AccountOf * USD)"'s (3 mutations)
194.26 s
[really-safe-money-gen] coverage (317/1610): Money\.AccountOfSpec.USD.distribute.Show (Distribution (AccountOf * USD)) and Read (Distribution (AccountOf * USD)).are implemented such that read \. show == id for valid values (3 mutations)
194.50 s
[really-safe-money-gen] coverage (318/1610): Money\.AccountOfSpec.USD.distribute.Eq (Distribution (AccountOf * USD)).(/=) \:\: (Distribution (AccountOf * USD)) -> (Distribution (AccountOf * USD)) -> Bool.is antireflexive for "valid (Distribution (AccountOf * USD))"s (3 mutations)
194.73 s
[really-safe-money-gen] coverage (319/1610): Money\.AccountOfSpec.USD.distribute.Eq (Distribution (AccountOf * USD)).(/=) \:\: (Distribution (AccountOf * USD)) -> (Distribution (AccountOf * USD)) -> Bool.is equivalent to (\\a b -> not $ a == b) for "valid (Distribution (AccountOf * USD))"s (3 mutations)
195.07 s
[really-safe-money-gen] coverage (320/1610): Money\.AccountOfSpec.USD.distribute.Eq (Distribution (AccountOf * USD)).(==) \:\: (Distribution (AccountOf * USD)) -> (Distribution (AccountOf * USD)) -> Bool.is reflexive for "valid (Distribution (AccountOf * USD))"s (3 mutations)
195.07 s
[really-safe-money-gen] coverage (322/1610): Money\.AccountOfSpec.USD.distribute.Eq (Distribution (AccountOf * USD)).(==) \:\: (Distribution (AccountOf * USD)) -> (Distribution (AccountOf * USD)) -> Bool.is symmetric for "valid (Distribution (AccountOf * USD))"s (3 mutations)
195.17 s
[really-safe-money-gen] coverage (324/1610): Money\.AccountOfSpec.USD.distribute.produces valid amounts (34 mutations)
195.26 s
[really-safe-money-gen] coverage (326/1610): Money\.AccountOfSpec.USD.subtract.matches what you would get with Integer, if nothing fails (27 mutations)
195.31 s
[really-safe-money-gen] coverage (323/1610): Money\.AccountOfSpec.USD.distribute.Eq (Distribution (AccountOf * USD)).(==) \:\: (Distribution (AccountOf * USD)) -> (Distribution (AccountOf * USD)) -> Bool.is equivalent to (\\a b -> not $ a /= b) for "valid (Distribution (AccountOf * USD))"s (3 mutations)
195.35 s
[really-safe-money-gen] coverage (321/1610): Money\.AccountOfSpec.USD.distribute.Eq (Distribution (AccountOf * USD)).(==) \:\: (Distribution (AccountOf * USD)) -> (Distribution (AccountOf * USD)) -> Bool.is transitive for "valid (Distribution (AccountOf * USD))"s (3 mutations)
195.39 s
[really-safe-money-gen] coverage (325/1610): Money\.AccountOfSpec.USD.format.produces valid strings (6 mutations)
195.56 s
[really-safe-money-gen] coverage (328/1610): Money\.AccountOfSpec.USD.fromRational.roundtrips with toRational (31 mutations)
195.61 s
[really-safe-money-gen] coverage (327/1610): Money\.AccountOfSpec.USD.fromRational.produces valid rational (27 mutations)
195.64 s
[really-safe-money-gen] coverage (329/1610): Money\.AccountOfSpec.USD.multiply.is absorbed by 0 (20 mutations)
195.76 s
[really-safe-money-gen] coverage (331/1610): Money\.AccountOfSpec.USD.multiply.produces valid amounts (20 mutations)
196.26 s
[really-safe-money-gen] coverage (332/1610): Money\.AccountOfSpec.USD.multiply.matches what you would get with Integer, if nothing fails (20 mutations)
196.48 s
[really-safe-money-gen] coverage (316/1610): Money\.AccountOfSpec.USD.distribute.produces results that sum up to the greater whole (64 mutations)
196.58 s
[really-safe-money-gen] coverage (330/1610): Money\.AccountOfSpec.USD.multiply.has an identity\: 1 (20 mutations)
196.61 s
[really-safe-money-gen] coverage (333/1610): Money\.AccountOfSpec.USD.multiply.is distributive with add when both succeed (44 mutations)
196.72 s
[really-safe-money-gen] coverage (301/1610): Money\.AccountOfSpec.USD.Ord (AccountOf * USD).(>) \:\: (AccountOf * USD) -> (AccountOf * USD) -> Bool.is antireflexive for "valid (AccountOf * USD)"'s (3 mutations)
196.89 s
[really-safe-money-gen] coverage (334/1610): Money\.AccountOfSpec.USD.toRational.produces valid Rationals when the quantisation factor is nonzero (3 mutations)
197.10 s
[really-safe-money-gen] coverage (338/1610): Money\.AccountOfSpec.INR.GenValid (AccountOf * INR).genValid \:\: Gen (AccountOf * INR).only generates valid '(AccountOf * INR)'s (1 mutations)
197.25 s
[really-safe-money-gen] coverage (335/1610): Money\.AccountOfSpec.INR.fromAmount.produces valid AccountOfs (1 mutations)
197.52 s
[really-safe-money-gen] coverage (336/1610): Money\.AccountOfSpec.INR.USD.convert.produces valid amounts (27 mutations)
198.18 s
[really-safe-money-gen] coverage (339/1610): Money\.AccountOfSpec.INR.abs.produces valid amounts (1 mutations)
198.25 s
[really-safe-money-gen] coverage (337/1610): Money\.AccountOfSpec.INR.USD.rate.produces valid amounts (15 mutations)
198.83 s
[really-safe-money-gen] coverage (341/1610): Money\.AccountOfSpec.INR.add.is associative when both succeed (27 mutations)
199.04 s
[really-safe-money-gen] coverage (183/1610): Money\.AccountSpec.DecimalLiteral.Account\.toDecimalLiteral.roundtrips with Account\.fromDecimalLiteral (87 mutations)
199.41 s
[really-safe-money-gen] coverage (184/1610): Money\.AccountSpec.DecimalLiteral.Account\.toDecimalLiteral.produces valid decimal literals (56 mutations)
204.19 s
[really-safe-money-gen] coverage (342/1610): Money\.AccountOfSpec.INR.add.has a left-identity\: zero (28 mutations)
204.50 s
[really-safe-money-gen] coverage (343/1610): Money\.AccountOfSpec.INR.add.is commutative (27 mutations)
204.59 s
[really-safe-money-gen] coverage (344/1610): Money\.AccountOfSpec.INR.add.has a right-identity\: zero (28 mutations)
204.73 s
[really-safe-money-gen] coverage (346/1610): Money\.AccountOfSpec.INR.subtract.matches what you would get with Integer, if nothing fails (27 mutations)
204.96 s
[really-safe-money-gen] coverage (345/1610): Money\.AccountOfSpec.INR.add.matches what you would get with Integer, if nothing fails (27 mutations)
205.01 s
[really-safe-money-gen] coverage (347/1610): Money\.AccountOfSpec.INR.fraction.produces valid amounts (39 mutations)
205.10 s
[really-safe-money-gen] coverage (348/1610): Money\.AccountOfSpec.INR.fraction.Produces a result that can be multiplied back (38 mutations)
205.23 s
[really-safe-money-gen] coverage (349/1610): Money\.AccountOfSpec.INR.distribute.produces results that sum up to the greater whole (64 mutations)
205.26 s
[really-safe-money-gen] coverage (351/1610): Money\.AccountOfSpec.INR.distribute.Eq (Distribution (AccountOf * INR)).(/=) \:\: (Distribution (AccountOf * INR)) -> (Distribution (AccountOf * INR)) -> Bool.is antireflexive for "valid (Distribution (AccountOf * INR))"s (3 mutations)
205.37 s
[really-safe-money-gen] coverage (350/1610): Money\.AccountOfSpec.INR.distribute.Eq (Distribution (AccountOf * INR)).(/=) \:\: (Distribution (AccountOf * INR)) -> (Distribution (AccountOf * INR)) -> Bool.is equivalent to (\\a b -> not $ a == b) for "valid (Distribution (AccountOf * INR))"s (3 mutations)
205.38 s
[really-safe-money-gen] coverage (356/1610): Money\.AccountOfSpec.INR.distribute.Show (Distribution (AccountOf * INR)) and Read (Distribution (AccountOf * INR)).are implemented such that read \. show == id for valid values (3 mutations)
205.48 s
[really-safe-money-gen] coverage (355/1610): Money\.AccountOfSpec.INR.distribute.Eq (Distribution (AccountOf * INR)).(==) \:\: (Distribution (AccountOf * INR)) -> (Distribution (AccountOf * INR)) -> Bool.is symmetric for "valid (Distribution (AccountOf * INR))"s (3 mutations)
205.49 s
[really-safe-money-gen] coverage (358/1610): Money\.AccountOfSpec.INR.fromAmountOf.produces valid AccountOfs (1 mutations)
205.63 s
[really-safe-money-gen] coverage (357/1610): Money\.AccountOfSpec.INR.distribute.produces valid amounts (34 mutations)
206.19 s
[really-safe-money-gen] coverage (353/1610): Money\.AccountOfSpec.INR.distribute.Eq (Distribution (AccountOf * INR)).(==) \:\: (Distribution (AccountOf * INR)) -> (Distribution (AccountOf * INR)) -> Bool.is equivalent to (\\a b -> not $ a /= b) for "valid (Distribution (AccountOf * INR))"s (3 mutations)
206.36 s
[really-safe-money-gen] coverage (359/1610): Money\.AccountOfSpec.INR.sum.matches what you would get with Integer, if nothing fails (28 mutations)
206.46 s
[really-safe-money-gen] coverage (362/1610): Money\.AccountOfSpec.INR.Ord (AccountOf * INR).(>=) \:\: (AccountOf * INR) -> (AccountOf * INR) -> Bool.is antisymmetric for "valid (AccountOf * INR)"'s (3 mutations)
206.50 s
[really-safe-money-gen] coverage (340/1610): Money\.AccountOfSpec.INR.add.produces valid amounts (27 mutations)
206.54 s
[really-safe-money-gen] coverage (363/1610): Money\.AccountOfSpec.INR.Ord (AccountOf * INR).(>=) \:\: (AccountOf * INR) -> (AccountOf * INR) -> Bool.is equivalent to (\\a b -> compare a b /= LT) for "valid (AccountOf * INR)"'s (3 mutations)
206.63 s
[really-safe-money-gen] coverage (364/1610): Money\.AccountOfSpec.INR.Ord (AccountOf * INR).(>=) \:\: (AccountOf * INR) -> (AccountOf * INR) -> Bool.is reflexive for "valid (AccountOf * INR)"'s (3 mutations)
207.13 s
[really-safe-money-gen] coverage (352/1610): Money\.AccountOfSpec.INR.distribute.Eq (Distribution (AccountOf * INR)).(==) \:\: (Distribution (AccountOf * INR)) -> (Distribution (AccountOf * INR)) -> Bool.is transitive for "valid (Distribution (AccountOf * INR))"s (3 mutations)
207.16 s
[really-safe-money-gen] coverage (365/1610): Money\.AccountOfSpec.INR.Ord (AccountOf * INR).(>=) \:\: (AccountOf * INR) -> (AccountOf * INR) -> Bool.is transitive for "valid (AccountOf * INR)"'s (3 mutations)
207.36 s
[really-safe-money-gen] coverage (354/1610): Money\.AccountOfSpec.INR.distribute.Eq (Distribution (AccountOf * INR)).(==) \:\: (Distribution (AccountOf * INR)) -> (Distribution (AccountOf * INR)) -> Bool.is reflexive for "valid (Distribution (AccountOf * INR))"s (3 mutations)
208.14 s
[really-safe-money-gen] coverage (367/1610): Money\.AccountOfSpec.INR.Ord (AccountOf * INR).(<) \:\: (AccountOf * INR) -> (AccountOf * INR) -> Bool.is antireflexive for "valid (AccountOf * INR)"'s (3 mutations)
208.23 s
[really-safe-money-gen] coverage (370/1610): Money\.AccountOfSpec.INR.Ord (AccountOf * INR).(>) \:\: (AccountOf * INR) -> (AccountOf * INR) -> Bool.is transitive for "valid (AccountOf * INR)"'s (3 mutations)
208.85 s
[really-safe-money-gen] coverage (369/1610): Money\.AccountOfSpec.INR.Ord (AccountOf * INR)."max \:\: (AccountOf * INR -> AccountOf * INR -> AccountOf * INR)".is equivalent to (\\a b -> if a >= b then a else b) for "valid (AccountOf * INR)"'s (3 mutations)
209.08 s
[really-safe-money-gen] coverage (372/1610): Money\.AccountOfSpec.INR.Ord (AccountOf * INR).(>) \:\: (AccountOf * INR) -> (AccountOf * INR) -> Bool.is antireflexive for "valid (AccountOf * INR)"'s (3 mutations)
209.39 s
[really-safe-money-gen] coverage (373/1610): Money\.AccountOfSpec.INR.Ord (AccountOf * INR).(<=) \:\: (AccountOf * INR) -> (AccountOf * INR) -> Bool.is reflexive for "valid (AccountOf * INR)"'s (3 mutations)
214.48 s
[really-safe-money-gen] coverage (361/1610): Money\.AccountOfSpec.INR.Ord (AccountOf * INR)."min \:\: (AccountOf * INR -> AccountOf * INR -> AccountOf * INR)".is equivalent to (\\a b -> if a <= b then a else b) for "valid (AccountOf * INR)"'s (3 mutations)
214.88 s
[really-safe-money-gen] coverage (366/1610): Money\.AccountOfSpec.INR.Ord (AccountOf * INR).(<) \:\: (AccountOf * INR) -> (AccountOf * INR) -> Bool.is transitive for "valid (AccountOf * INR)"'s (3 mutations)
215.05 s
[really-safe-money-gen] coverage (376/1610): Money\.AccountOfSpec.INR.Ord (AccountOf * INR).(<=) \:\: (AccountOf * INR) -> (AccountOf * INR) -> Bool.is equivalent to (\\a b -> compare a b /= GT) for "valid (AccountOf * INR)"'s (3 mutations)
215.22 s
[really-safe-money-gen] coverage (377/1610): Money\.AccountOfSpec.INR.CHF.rate.produces valid amounts (15 mutations)
215.57 s
[really-safe-money-gen] coverage (371/1610): Money\.AccountOfSpec.INR.Ord (AccountOf * INR).(>) \:\: (AccountOf * INR) -> (AccountOf * INR) -> Bool.is equivalent to (\\a b -> compare a b == GT) for "valid (AccountOf * INR)"'s (3 mutations)
215.60 s
[really-safe-money-gen] coverage (378/1610): Money\.AccountOfSpec.INR.CHF.convert.produces valid amounts (27 mutations)
215.66 s
[really-safe-money-gen] coverage (368/1610): Money\.AccountOfSpec.INR.Ord (AccountOf * INR).(<) \:\: (AccountOf * INR) -> (AccountOf * INR) -> Bool.is equivalent to (\\a b -> compare a b == LT) for "valid (AccountOf * INR)"'s (3 mutations)
215.78 s
[really-safe-money-gen] coverage (374/1610): Money\.AccountOfSpec.INR.Ord (AccountOf * INR).(<=) \:\: (AccountOf * INR) -> (AccountOf * INR) -> Bool.is transitive for "valid (AccountOf * INR)"'s (3 mutations)
215.87 s
[really-safe-money-gen] coverage (381/1610): Money\.AccountOfSpec.INR.multiply.is absorbed by 0 (20 mutations)
215.87 s
[really-safe-money-gen] coverage (360/1610): Money\.AccountOfSpec.INR.sum.produces valid amounts (28 mutations)
215.90 s
[really-safe-money-gen] coverage (384/1610): Money\.AccountOfSpec.INR.negate.produces valid amounts (1 mutations)
215.98 s
[really-safe-money-gen] coverage (382/1610): Money\.AccountOfSpec.INR.multiply.produces valid amounts (20 mutations)
216.10 s
[really-safe-money-gen] coverage (375/1610): Money\.AccountOfSpec.INR.Ord (AccountOf * INR).(<=) \:\: (AccountOf * INR) -> (AccountOf * INR) -> Bool.is antisymmetric for "valid (AccountOf * INR)"'s (3 mutations)
216.15 s
[really-safe-money-gen] coverage (379/1610): Money\.AccountOfSpec.INR.multiply.is distributive with add when both succeed (44 mutations)
216.87 s
[really-safe-money-gen] coverage (380/1610): Money\.AccountOfSpec.INR.multiply.matches what you would get with Integer, if nothing fails (20 mutations)
216.92 s
[really-safe-money-gen] coverage (383/1610): Money\.AccountOfSpec.INR.multiply.has an identity\: 1 (20 mutations)
217.04 s
[really-safe-money-gen] coverage (397/1610): Money\.AccountOfSpec.INR.ADA.rate.produces valid amounts (15 mutations)
217.11 s
[really-safe-money-gen] coverage (388/1610): Money\.AccountOfSpec.INR.fromRational.produces valid rational (27 mutations)
217.17 s
[really-safe-money-gen] coverage (387/1610): Money\.AccountOfSpec.INR.fromMinimalQuantisations.produces valid accounts (14 mutations)
217.23 s
[really-safe-money-gen] coverage (393/1610): Money\.AccountOfSpec.INR.toRational.produces valid Rationals when the quantisation factor is nonzero (3 mutations)
217.86 s
[really-safe-money-gen] coverage (390/1610): Money\.AccountOfSpec.INR.toDouble.produces valid Doubles when the quantisation factor is nonzero (3 mutations)
218.00 s
[really-safe-money-gen] coverage (400/1610): Money\.AccountOfSpec.INR.Eq (AccountOf * INR).(/=) \:\: (AccountOf * INR) -> (AccountOf * INR) -> Bool.is equivalent to (\\a b -> not $ a == b) for "valid (AccountOf * INR)"s (3 mutations)
218.16 s
[really-safe-money-gen] coverage (399/1610): Money\.AccountOfSpec.INR.toMinimalQuantisations.produces valid accounts (3 mutations)
218.97 s
[really-safe-money-gen] coverage (392/1610): Money\.AccountOfSpec.INR.BTC.convert.produces valid amounts (27 mutations)
219.05 s
[really-safe-money-gen] coverage (386/1610): Money\.AccountOfSpec.INR.fromMinimalQuantisations.roundtrips with toMinimalQuantisations (16 mutations)
219.65 s
[really-safe-money-gen] coverage (402/1610): Money\.AccountOfSpec.INR.Eq (AccountOf * INR).(==) \:\: (AccountOf * INR) -> (AccountOf * INR) -> Bool.is reflexive for "valid (AccountOf * INR)"s (3 mutations)
220.05 s
[really-safe-money-gen] coverage (395/1610): Money\.AccountOfSpec.INR.fromDouble.produces valid rational (38 mutations)
220.22 s
[really-safe-money-gen] coverage (403/1610): Money\.AccountOfSpec.INR.Eq (AccountOf * INR).(==) \:\: (AccountOf * INR) -> (AccountOf * INR) -> Bool.is symmetric for "valid (AccountOf * INR)"s (3 mutations)
225.27 s
[really-safe-money-gen] coverage (398/1610): Money\.AccountOfSpec.INR.format.produces valid strings (6 mutations)
225.65 s
[really-safe-money-gen] coverage (405/1610): Money\.AccountOfSpec.INR.Eq (AccountOf * INR).(==) \:\: (AccountOf * INR) -> (AccountOf * INR) -> Bool.is equivalent to (\\a b -> not $ a /= b) for "valid (AccountOf * INR)"s (3 mutations)
225.81 s
[really-safe-money-gen] coverage (406/1610): Money\.AccountOfSpec.INR.INR.convert.produces valid amounts (27 mutations)
226.07 s
[really-safe-money-gen] coverage (409/1610): Money\.AccountOfSpec.CHF.fromMinimalQuantisations.roundtrips with toMinimalQuantisations (16 mutations)
226.09 s
[really-safe-money-gen] coverage (404/1610): Money\.AccountOfSpec.INR.Eq (AccountOf * INR).(==) \:\: (AccountOf * INR) -> (AccountOf * INR) -> Bool.is transitive for "valid (AccountOf * INR)"s (3 mutations)
226.10 s
[really-safe-money-gen] coverage (407/1610): Money\.AccountOfSpec.INR.INR.rate.produces valid amounts (15 mutations)
226.32 s
[really-safe-money-gen] coverage (391/1610): Money\.AccountOfSpec.INR.BTC.rate.produces valid amounts (15 mutations)
226.35 s
[really-safe-money-gen] coverage (410/1610): Money\.AccountOfSpec.CHF.fromMinimalQuantisations.produces valid accounts (14 mutations)
226.44 s
[really-safe-money-gen] coverage (421/1610): Money\.AccountOfSpec.CHF.distribute.Eq (Distribution (AccountOf * CHF)).(==) \:\: (Distribution (AccountOf * CHF)) -> (Distribution (AccountOf * CHF)) -> Bool.is transitive for "valid (Distribution (AccountOf * CHF))"s (3 mutations)
226.56 s
[really-safe-money-gen] coverage (385/1610): Money\.AccountOfSpec.INR.Show (AccountOf * INR) and Read (AccountOf * INR).are implemented such that read \. show == id for valid values (3 mutations)
226.61 s
[really-safe-money-gen] coverage (408/1610): Money\.AccountOfSpec.CHF.fromAmount.produces valid AccountOfs (1 mutations)
226.63 s
[really-safe-money-gen] coverage (422/1610): Money\.AccountOfSpec.CHF.distribute.Eq (Distribution (AccountOf * CHF)).(==) \:\: (Distribution (AccountOf * CHF)) -> (Distribution (AccountOf * CHF)) -> Bool.is symmetric for "valid (Distribution (AccountOf * CHF))"s (3 mutations)
226.64 s
[really-safe-money-gen] coverage (418/1610): Money\.AccountOfSpec.CHF.distribute.Eq (Distribution (AccountOf * CHF)).(/=) \:\: (Distribution (AccountOf * CHF)) -> (Distribution (AccountOf * CHF)) -> Bool.is antireflexive for "valid (Distribution (AccountOf * CHF))"s (3 mutations)
226.80 s
[really-safe-money-gen] coverage (423/1610): Money\.AccountOfSpec.CHF.distribute.Eq (Distribution (AccountOf * CHF)).(==) \:\: (Distribution (AccountOf * CHF)) -> (Distribution (AccountOf * CHF)) -> Bool.is equivalent to (\\a b -> not $ a /= b) for "valid (Distribution (AccountOf * CHF))"s (3 mutations)
227.14 s
[really-safe-money-gen] coverage (417/1610): Money\.AccountOfSpec.CHF.distribute.produces results that sum up to the greater whole (64 mutations)
227.65 s
[really-safe-money-gen] coverage (424/1610): Money\.AccountOfSpec.CHF.distribute.Show (Distribution (AccountOf * CHF)) and Read (Distribution (AccountOf * CHF)).are implemented such that read \. show == id for valid values (3 mutations)
227.67 s
[really-safe-money-gen] coverage (425/1610): Money\.AccountOfSpec.CHF.sum.matches what you would get with Integer, if nothing fails (28 mutations)
227.71 s
[really-safe-money-gen] coverage (389/1610): Money\.AccountOfSpec.INR.fromRational.roundtrips with toRational (31 mutations)
227.73 s
[really-safe-money-gen] coverage (431/1610): Money\.AccountOfSpec.CHF.BTC.convert.produces valid amounts (27 mutations)
227.90 s
[really-safe-money-gen] coverage (432/1610): Money\.AccountOfSpec.CHF.BTC.rate.produces valid amounts (15 mutations)
228.36 s
[really-safe-money-gen] coverage (433/1610): Money\.AccountOfSpec.CHF.toMinimalQuantisations.produces valid accounts (3 mutations)
228.51 s
[really-safe-money-gen] coverage (434/1610): Money\.AccountOfSpec.CHF.fraction.Produces a result that can be multiplied back (38 mutations)
228.73 s
[really-safe-money-gen] coverage (435/1610): Money\.AccountOfSpec.CHF.fraction.produces valid amounts (39 mutations)
229.41 s
[really-safe-money-gen] coverage (437/1610): Money\.AccountOfSpec.CHF.Eq (AccountOf * CHF).(==) \:\: (AccountOf * CHF) -> (AccountOf * CHF) -> Bool.is transitive for "valid (AccountOf * CHF)"s (3 mutations)
229.41 s
[really-safe-money-gen] coverage (436/1610): Money\.AccountOfSpec.CHF.Eq (AccountOf * CHF).(==) \:\: (AccountOf * CHF) -> (AccountOf * CHF) -> Bool.is equivalent to (\\a b -> not $ a /= b) for "valid (AccountOf * CHF)"s (3 mutations)
229.90 s
[really-safe-money-gen] coverage (438/1610): Money\.AccountOfSpec.CHF.Eq (AccountOf * CHF).(==) \:\: (AccountOf * CHF) -> (AccountOf * CHF) -> Bool.is reflexive for "valid (AccountOf * CHF)"s (3 mutations)
230.19 s
[really-safe-money-gen] coverage (439/1610): Money\.AccountOfSpec.CHF.Eq (AccountOf * CHF).(==) \:\: (AccountOf * CHF) -> (AccountOf * CHF) -> Bool.is symmetric for "valid (AccountOf * CHF)"s (3 mutations)
230.45 s
[really-safe-money-gen] coverage (440/1610): Money\.AccountOfSpec.CHF.Eq (AccountOf * CHF).(/=) \:\: (AccountOf * CHF) -> (AccountOf * CHF) -> Bool.is equivalent to (\\a b -> not $ a == b) for "valid (AccountOf * CHF)"s (3 mutations)
235.44 s
[really-safe-money-gen] coverage (429/1610): Money\.AccountOfSpec.CHF.USD.rate.produces valid amounts (15 mutations)
235.79 s
[really-safe-money-gen] coverage (441/1610): Money\.AccountOfSpec.CHF.Eq (AccountOf * CHF).(/=) \:\: (AccountOf * CHF) -> (AccountOf * CHF) -> Bool.is antireflexive for "valid (AccountOf * CHF)"s (3 mutations)
236.21 s
[really-safe-money-gen] coverage (442/1610): Money\.AccountOfSpec.CHF.toDouble.produces valid Doubles when the quantisation factor is nonzero (3 mutations)
236.41 s
[really-safe-money-gen] coverage (412/1610): Money\.AccountOfSpec.CHF.multiply.is absorbed by 0 (20 mutations)
236.41 s
[really-safe-money-gen] coverage (411/1610): Money\.AccountOfSpec.CHF.multiply.produces valid amounts (20 mutations)
236.61 s
[really-safe-money-gen] coverage (416/1610): Money\.AccountOfSpec.CHF.distribute.produces valid amounts (34 mutations)
236.71 s
[really-safe-money-gen] coverage (444/1610): Money\.AccountOfSpec.CHF.negate.produces valid amounts (1 mutations)
236.72 s
[really-safe-money-gen] coverage (414/1610): Money\.AccountOfSpec.CHF.multiply.matches what you would get with Integer, if nothing fails (20 mutations)
236.76 s
[really-safe-money-gen] coverage (420/1610): Money\.AccountOfSpec.CHF.distribute.Eq (Distribution (AccountOf * CHF)).(==) \:\: (Distribution (AccountOf * CHF)) -> (Distribution (AccountOf * CHF)) -> Bool.is reflexive for "valid (Distribution (AccountOf * CHF))"s (3 mutations)
236.88 s
[really-safe-money-gen] coverage (413/1610): Money\.AccountOfSpec.CHF.multiply.is distributive with add when both succeed (44 mutations)
236.93 s
[really-safe-money-gen] coverage (450/1610): Money\.AccountOfSpec.CHF.fromDouble.roundtrips with toDouble (40 mutations)
236.93 s
[really-safe-money-gen] coverage (415/1610): Money\.AccountOfSpec.CHF.multiply.has an identity\: 1 (20 mutations)
237.12 s
[really-safe-money-gen] coverage (448/1610): Money\.AccountOfSpec.CHF.fromRational.roundtrips with toRational (31 mutations)
237.18 s
[really-safe-money-gen] coverage (452/1610): Money\.AccountOfSpec.CHF.ADA.rate.produces valid amounts (15 mutations)
237.58 s
[really-safe-money-gen] coverage (451/1610): Money\.AccountOfSpec.CHF.ADA.convert.produces valid amounts (27 mutations)
238.00 s
[really-safe-money-gen] coverage (456/1610): Money\.AccountOfSpec.CHF.Ord (AccountOf * CHF).(<) \:\: (AccountOf * CHF) -> (AccountOf * CHF) -> Bool.is antireflexive for "valid (AccountOf * CHF)"'s (3 mutations)
238.03 s
[really-safe-money-gen] coverage (454/1610): Money\.AccountOfSpec.CHF.Ord (AccountOf * CHF).(<) \:\: (AccountOf * CHF) -> (AccountOf * CHF) -> Bool.is equivalent to (\\a b -> compare a b == LT) for "valid (AccountOf * CHF)"'s (3 mutations)
238.18 s
[really-safe-money-gen] coverage (453/1610): Money\.AccountOfSpec.CHF.Ord (AccountOf * CHF)."min \:\: (AccountOf * CHF -> AccountOf * CHF -> AccountOf * CHF)".is equivalent to (\\a b -> if a <= b then a else b) for "valid (AccountOf * CHF)"'s (3 mutations)
238.26 s
[really-safe-money-gen] coverage (458/1610): Money\.AccountOfSpec.CHF.Ord (AccountOf * CHF).(<=) \:\: (AccountOf * CHF) -> (AccountOf * CHF) -> Bool.is antisymmetric for "valid (AccountOf * CHF)"'s (3 mutations)
238.27 s
[really-safe-money-gen] coverage (457/1610): Money\.AccountOfSpec.CHF.Ord (AccountOf * CHF).(<=) \:\: (AccountOf * CHF) -> (AccountOf * CHF) -> Bool.is equivalent to (\\a b -> compare a b /= GT) for "valid (AccountOf * CHF)"'s (3 mutations)
238.72 s
[really-safe-money-gen] coverage (461/1610): Money\.AccountOfSpec.CHF.Ord (AccountOf * CHF)."max \:\: (AccountOf * CHF -> AccountOf * CHF -> AccountOf * CHF)".is equivalent to (\\a b -> if a >= b then a else b) for "valid (AccountOf * CHF)"'s (3 mutations)
238.93 s
[really-safe-money-gen] coverage (462/1610): Money\.AccountOfSpec.CHF.Ord (AccountOf * CHF).(>) \:\: (AccountOf * CHF) -> (AccountOf * CHF) -> Bool.is equivalent to (\\a b -> compare a b == GT) for "valid (AccountOf * CHF)"'s (3 mutations)
239.13 s
[really-safe-money-gen] coverage (463/1610): Money\.AccountOfSpec.CHF.Ord (AccountOf * CHF).(>) \:\: (AccountOf * CHF) -> (AccountOf * CHF) -> Bool.is antireflexive for "valid (AccountOf * CHF)"'s (3 mutations)
239.52 s
[really-safe-money-gen] coverage (464/1610): Money\.AccountOfSpec.CHF.Ord (AccountOf * CHF).(>) \:\: (AccountOf * CHF) -> (AccountOf * CHF) -> Bool.is transitive for "valid (AccountOf * CHF)"'s (3 mutations)
239.91 s
[really-safe-money-gen] coverage (460/1610): Money\.AccountOfSpec.CHF.Ord (AccountOf * CHF).(<=) \:\: (AccountOf * CHF) -> (AccountOf * CHF) -> Bool.is reflexive for "valid (AccountOf * CHF)"'s (3 mutations)
240.37 s
[really-safe-money-gen] coverage (465/1610): Money\.AccountOfSpec.CHF.Ord (AccountOf * CHF).(>=) \:\: (AccountOf * CHF) -> (AccountOf * CHF) -> Bool.is equivalent to (\\a b -> compare a b /= LT) for "valid (AccountOf * CHF)"'s (3 mutations)
240.60 s
[really-safe-money-gen] coverage (394/1610): Money\.AccountOfSpec.INR.fromDouble.roundtrips with toDouble (40 mutations)
240.77 s
[really-safe-money-gen] coverage (466/1610): Money\.AccountOfSpec.CHF.Ord (AccountOf * CHF).(>=) \:\: (AccountOf * CHF) -> (AccountOf * CHF) -> Bool.is reflexive for "valid (AccountOf * CHF)"'s (3 mutations)
245.56 s
[really-safe-money-gen] coverage (467/1610): Money\.AccountOfSpec.CHF.Ord (AccountOf * CHF).(>=) \:\: (AccountOf * CHF) -> (AccountOf * CHF) -> Bool.is antisymmetric for "valid (AccountOf * CHF)"'s (3 mutations)
245.71 s
[really-safe-money-gen] coverage (443/1610): Money\.AccountOfSpec.CHF.fromAmountOf.produces valid AccountOfs (1 mutations)
246.26 s
[really-safe-money-gen] coverage (445/1610): Money\.AccountOfSpec.CHF.toRational.produces valid Rationals when the quantisation factor is nonzero (3 mutations)
246.43 s
[really-safe-money-gen] coverage (446/1610): Money\.AccountOfSpec.CHF.format.produces valid strings (6 mutations)
246.44 s
[really-safe-money-gen] coverage (447/1610): Money\.AccountOfSpec.CHF.fromRational.produces valid rational (27 mutations)
246.56 s
[really-safe-money-gen] coverage (401/1610): Money\.AccountOfSpec.INR.Eq (AccountOf * INR).(/=) \:\: (AccountOf * INR) -> (AccountOf * INR) -> Bool.is antireflexive for "valid (AccountOf * INR)"s (3 mutations)
246.64 s
[really-safe-money-gen] coverage (473/1610): Money\.AccountOfSpec.CHF.add.is associative when both succeed (27 mutations)
246.68 s
[really-safe-money-gen] coverage (449/1610): Money\.AccountOfSpec.CHF.fromDouble.produces valid rational (38 mutations)
246.76 s
[really-safe-money-gen] coverage (470/1610): Money\.AccountOfSpec.CHF.subtract.matches what you would get with Integer, if nothing fails (27 mutations)
246.81 s
[really-safe-money-gen] coverage (459/1610): Money\.AccountOfSpec.CHF.Ord (AccountOf * CHF).(<=) \:\: (AccountOf * CHF) -> (AccountOf * CHF) -> Bool.is transitive for "valid (AccountOf * CHF)"'s (3 mutations)
246.95 s
[really-safe-money-gen] coverage (471/1610): Money\.AccountOfSpec.CHF.CHF.rate.produces valid amounts (15 mutations)
247.00 s
[really-safe-money-gen] coverage (479/1610): Money\.AccountOfSpec.CHF.INR.convert.produces valid amounts (27 mutations)
247.11 s
[really-safe-money-gen] coverage (485/1610): Money\.AccountOfSpec.ADA.fromRational.produces valid rational (27 mutations)
247.11 s
[really-safe-money-gen] coverage (482/1610): Money\.AccountOfSpec.ADA.fromMinimalQuantisations.roundtrips with toMinimalQuantisations (16 mutations)
247.55 s
[really-safe-money-gen] coverage (486/1610): Money\.AccountOfSpec.ADA.fromRational.roundtrips with toRational (31 mutations)
247.90 s
[really-safe-money-gen] coverage (490/1610): Money\.AccountOfSpec.ADA.Ord (AccountOf * ADA).(<=) \:\: (AccountOf * ADA) -> (AccountOf * ADA) -> Bool.is antisymmetric for "valid (AccountOf * ADA)"'s (3 mutations)
247.96 s
[really-safe-money-gen] coverage (487/1610): Money\.AccountOfSpec.ADA.Show (AccountOf * ADA) and Read (AccountOf * ADA).are implemented such that read \. show == id for valid values (3 mutations)
248.02 s
[really-safe-money-gen] coverage (488/1610): Money\.AccountOfSpec.ADA.fraction.Produces a result that can be multiplied back (38 mutations)
248.23 s
[really-safe-money-gen] coverage (484/1610): Money\.AccountOfSpec.ADA.fromDouble.roundtrips with toDouble (40 mutations)
248.39 s
[really-safe-money-gen] coverage (491/1610): Money\.AccountOfSpec.ADA.Ord (AccountOf * ADA).(<=) \:\: (AccountOf * ADA) -> (AccountOf * ADA) -> Bool.is reflexive for "valid (AccountOf * ADA)"'s (3 mutations)
248.66 s
[really-safe-money-gen] coverage (495/1610): Money\.AccountOfSpec.ADA.Ord (AccountOf * ADA).(>=) \:\: (AccountOf * ADA) -> (AccountOf * ADA) -> Bool.is equivalent to (\\a b -> compare a b /= LT) for "valid (AccountOf * ADA)"'s (3 mutations)
248.67 s
[really-safe-money-gen] coverage (492/1610): Money\.AccountOfSpec.ADA.Ord (AccountOf * ADA).(<=) \:\: (AccountOf * ADA) -> (AccountOf * ADA) -> Bool.is transitive for "valid (AccountOf * ADA)"'s (3 mutations)
249.10 s
[really-safe-money-gen] coverage (496/1610): Money\.AccountOfSpec.ADA.Ord (AccountOf * ADA).(>=) \:\: (AccountOf * ADA) -> (AccountOf * ADA) -> Bool.is transitive for "valid (AccountOf * ADA)"'s (3 mutations)
249.23 s
[really-safe-money-gen] coverage (497/1610): Money\.AccountOfSpec.ADA.Ord (AccountOf * ADA).(>=) \:\: (AccountOf * ADA) -> (AccountOf * ADA) -> Bool.is reflexive for "valid (AccountOf * ADA)"'s (3 mutations)
250.02 s
[really-safe-money-gen] coverage (498/1610): Money\.AccountOfSpec.ADA.Ord (AccountOf * ADA)."min \:\: (AccountOf * ADA -> AccountOf * ADA -> AccountOf * ADA)".is equivalent to (\\a b -> if a <= b then a else b) for "valid (AccountOf * ADA)"'s (3 mutations)
250.43 s
[really-safe-money-gen] coverage (499/1610): Money\.AccountOfSpec.ADA.Ord (AccountOf * ADA).(>) \:\: (AccountOf * ADA) -> (AccountOf * ADA) -> Bool.is antireflexive for "valid (AccountOf * ADA)"'s (3 mutations)
250.56 s
[really-safe-money-gen] coverage (500/1610): Money\.AccountOfSpec.ADA.Ord (AccountOf * ADA).(>) \:\: (AccountOf * ADA) -> (AccountOf * ADA) -> Bool.is transitive for "valid (AccountOf * ADA)"'s (3 mutations)
250.85 s
[really-safe-money-gen] coverage (501/1610): Money\.AccountOfSpec.ADA.Ord (AccountOf * ADA).(>) \:\: (AccountOf * ADA) -> (AccountOf * ADA) -> Bool.is equivalent to (\\a b -> compare a b == GT) for "valid (AccountOf * ADA)"'s (3 mutations)
255.52 s
[really-safe-money-gen] coverage (502/1610): Money\.AccountOfSpec.ADA.Ord (AccountOf * ADA)."max \:\: (AccountOf * ADA -> AccountOf * ADA -> AccountOf * ADA)".is equivalent to (\\a b -> if a >= b then a else b) for "valid (AccountOf * ADA)"'s (3 mutations)
255.66 s
[really-safe-money-gen] coverage (503/1610): Money\.AccountOfSpec.ADA.Ord (AccountOf * ADA).(<) \:\: (AccountOf * ADA) -> (AccountOf * ADA) -> Bool.is equivalent to (\\a b -> compare a b == LT) for "valid (AccountOf * ADA)"'s (3 mutations)
256.08 s
[really-safe-money-gen] coverage (504/1610): Money\.AccountOfSpec.ADA.Ord (AccountOf * ADA).(<) \:\: (AccountOf * ADA) -> (AccountOf * ADA) -> Bool.is transitive for "valid (AccountOf * ADA)"'s (3 mutations)
256.35 s
[really-safe-money-gen] coverage (506/1610): Money\.AccountOfSpec.ADA.fromAmountOf.produces valid AccountOfs (1 mutations)
256.50 s
[really-safe-money-gen] coverage (505/1610): Money\.AccountOfSpec.ADA.Ord (AccountOf * ADA).(<) \:\: (AccountOf * ADA) -> (AccountOf * ADA) -> Bool.is antireflexive for "valid (AccountOf * ADA)"'s (3 mutations)
256.58 s
[really-safe-money-gen] coverage (507/1610): Money\.AccountOfSpec.ADA.toRational.produces valid Rationals when the quantisation factor is nonzero (3 mutations)
256.59 s
[really-safe-money-gen] coverage (511/1610): Money\.AccountOfSpec.ADA.distribute.Eq (Distribution (AccountOf * ADA)).(==) \:\: (Distribution (AccountOf * ADA)) -> (Distribution (AccountOf * ADA)) -> Bool.is equivalent to (\\a b -> not $ a /= b) for "valid (Distribution (AccountOf * ADA))"s (3 mutations)
256.62 s
[really-safe-money-gen] coverage (509/1610): Money\.AccountOfSpec.ADA.distribute.Eq (Distribution (AccountOf * ADA)).(==) \:\: (Distribution (AccountOf * ADA)) -> (Distribution (AccountOf * ADA)) -> Bool.is transitive for "valid (Distribution (AccountOf * ADA))"s (3 mutations)
256.64 s
[really-safe-money-gen] coverage (508/1610): Money\.AccountOfSpec.ADA.distribute.Eq (Distribution (AccountOf * ADA)).(==) \:\: (Distribution (AccountOf * ADA)) -> (Distribution (AccountOf * ADA)) -> Bool.is reflexive for "valid (Distribution (AccountOf * ADA))"s (3 mutations)
256.76 s
[really-safe-money-gen] coverage (512/1610): Money\.AccountOfSpec.ADA.distribute.Eq (Distribution (AccountOf * ADA)).(/=) \:\: (Distribution (AccountOf * ADA)) -> (Distribution (AccountOf * ADA)) -> Bool.is equivalent to (\\a b -> not $ a == b) for "valid (Distribution (AccountOf * ADA))"s (3 mutations)
256.89 s
[really-safe-money-gen] coverage (515/1610): Money\.AccountOfSpec.ADA.distribute.produces valid amounts (34 mutations)
256.94 s
[really-safe-money-gen] coverage (513/1610): Money\.AccountOfSpec.ADA.distribute.Eq (Distribution (AccountOf * ADA)).(/=) \:\: (Distribution (AccountOf * ADA)) -> (Distribution (AccountOf * ADA)) -> Bool.is antireflexive for "valid (Distribution (AccountOf * ADA))"s (3 mutations)
256.95 s
[really-safe-money-gen] coverage (516/1610): Money\.AccountOfSpec.ADA.distribute.produces results that sum up to the greater whole (64 mutations)
256.98 s
[really-safe-money-gen] coverage (514/1610): Money\.AccountOfSpec.ADA.distribute.Show (Distribution (AccountOf * ADA)) and Read (Distribution (AccountOf * ADA)).are implemented such that read \. show == id for valid values (3 mutations)
257.53 s
[really-safe-money-gen] coverage (517/1610): Money\.AccountOfSpec.ADA.toDouble.produces valid Doubles when the quantisation factor is nonzero (3 mutations)
257.58 s
[really-safe-money-gen] coverage (518/1610): Money\.AccountOfSpec.ADA.Eq (AccountOf * ADA).(/=) \:\: (AccountOf * ADA) -> (AccountOf * ADA) -> Bool.is antireflexive for "valid (AccountOf * ADA)"s (3 mutations)
257.76 s
[really-safe-money-gen] coverage (520/1610): Money\.AccountOfSpec.ADA.Eq (AccountOf * ADA).(==) \:\: (AccountOf * ADA) -> (AccountOf * ADA) -> Bool.is reflexive for "valid (AccountOf * ADA)"s (3 mutations)
257.88 s
[really-safe-money-gen] coverage (521/1610): Money\.AccountOfSpec.ADA.Eq (AccountOf * ADA).(==) \:\: (AccountOf * ADA) -> (AccountOf * ADA) -> Bool.is transitive for "valid (AccountOf * ADA)"s (3 mutations)
257.97 s
[really-safe-money-gen] coverage (519/1610): Money\.AccountOfSpec.ADA.Eq (AccountOf * ADA).(/=) \:\: (AccountOf * ADA) -> (AccountOf * ADA) -> Bool.is equivalent to (\\a b -> not $ a == b) for "valid (AccountOf * ADA)"s (3 mutations)
257.97 s
[really-safe-money-gen] coverage (430/1610): Money\.AccountOfSpec.CHF.USD.convert.produces valid amounts (27 mutations)
258.57 s
[really-safe-money-gen] coverage (522/1610): Money\.AccountOfSpec.ADA.Eq (AccountOf * ADA).(==) \:\: (AccountOf * ADA) -> (AccountOf * ADA) -> Bool.is symmetric for "valid (AccountOf * ADA)"s (3 mutations)
258.67 s
[really-safe-money-gen] coverage (483/1610): Money\.AccountOfSpec.ADA.fromDouble.produces valid rational (38 mutations)
259.09 s
[really-safe-money-gen] coverage (489/1610): Money\.AccountOfSpec.ADA.fraction.produces valid amounts (39 mutations)
259.15 s
[really-safe-money-gen] coverage (481/1610): Money\.AccountOfSpec.ADA.fromMinimalQuantisations.produces valid accounts (14 mutations)
259.98 s
[really-safe-money-gen] coverage (476/1610): Money\.AccountOfSpec.CHF.add.has a right-identity\: zero (28 mutations)
260.28 s
[really-safe-money-gen] coverage (469/1610): Money\.AccountOfSpec.CHF.GenValid (AccountOf * CHF).genValid \:\: Gen (AccountOf * CHF).only generates valid '(AccountOf * CHF)'s (1 mutations)
260.67 s
[really-safe-money-gen] coverage (468/1610): Money\.AccountOfSpec.CHF.Ord (AccountOf * CHF).(>=) \:\: (AccountOf * CHF) -> (AccountOf * CHF) -> Bool.is transitive for "valid (AccountOf * CHF)"'s (3 mutations)
260.80 s
[really-safe-money-gen] coverage (526/1610): Money\.AccountOfSpec.ADA.subtract.matches what you would get with Integer, if nothing fails (27 mutations)
268.54 s
[really-safe-money-gen] coverage (480/1610): Money\.AccountOfSpec.CHF.INR.rate.produces valid amounts (15 mutations)
269.32 s
[really-safe-money-gen] coverage (527/1610): Money\.AccountOfSpec.ADA.negate.produces valid amounts (1 mutations)
269.85 s
[really-safe-money-gen] coverage (396/1610): Money\.AccountOfSpec.INR.ADA.convert.produces valid amounts (27 mutations)
269.99 s
[really-safe-money-gen] coverage (475/1610): Money\.AccountOfSpec.CHF.add.matches what you would get with Integer, if nothing fails (27 mutations)
270.00 s
[really-safe-money-gen] coverage (510/1610): Money\.AccountOfSpec.ADA.distribute.Eq (Distribution (AccountOf * ADA)).(==) \:\: (Distribution (AccountOf * ADA)) -> (Distribution (AccountOf * ADA)) -> Bool.is symmetric for "valid (Distribution (AccountOf * ADA))"s (3 mutations)
270.09 s
[really-safe-money-gen] coverage (528/1610): Money\.AccountOfSpec.ADA.CHF.rate.produces valid amounts (15 mutations)
270.29 s
[really-safe-money-gen] coverage (530/1610): Money\.AccountOfSpec.ADA.INR.rate.produces valid amounts (15 mutations)
270.51 s
[really-safe-money-gen] coverage (525/1610): Money\.AccountOfSpec.ADA.format.produces valid strings (6 mutations)
270.53 s
[really-safe-money-gen] coverage (529/1610): Money\.AccountOfSpec.ADA.CHF.convert.produces valid amounts (27 mutations)
270.68 s
[really-safe-money-gen] coverage (524/1610): Money\.AccountOfSpec.ADA.abs.produces valid amounts (1 mutations)
270.73 s
[really-safe-money-gen] coverage (541/1610): Money\.AccountOfSpec.ADA.add.is associative when both succeed (27 mutations)
270.87 s
[really-safe-money-gen] coverage (427/1610): Money\.AccountOfSpec.CHF.Show (AccountOf * CHF) and Read (AccountOf * CHF).are implemented such that read \. show == id for valid values (3 mutations)
271.10 s
[really-safe-money-gen] coverage (428/1610): Money\.AccountOfSpec.CHF.abs.produces valid amounts (1 mutations)
271.14 s
[really-safe-money-gen] coverage (523/1610): Money\.AccountOfSpec.ADA.Eq (AccountOf * ADA).(==) \:\: (AccountOf * ADA) -> (AccountOf * ADA) -> Bool.is equivalent to (\\a b -> not $ a /= b) for "valid (AccountOf * ADA)"s (3 mutations)
271.87 s
[really-safe-money-gen] coverage (540/1610): Money\.AccountOfSpec.ADA.add.is commutative (27 mutations)
271.88 s
[really-safe-money-gen] coverage (543/1610): Money\.AccountOfSpec.ADA.add.has a right-identity\: zero (28 mutations)
271.99 s
[really-safe-money-gen] coverage (426/1610): Money\.AccountOfSpec.CHF.sum.produces valid amounts (28 mutations)
272.66 s
[really-safe-money-gen] coverage (539/1610): Money\.AccountOfSpec.ADA.add.produces valid amounts (27 mutations)
273.21 s
[really-safe-money-gen] coverage (542/1610): Money\.AccountOfSpec.ADA.add.has a left-identity\: zero (28 mutations)
273.60 s
[really-safe-money-gen] coverage (537/1610): Money\.AccountOfSpec.ADA.ADA.rate.produces valid amounts (15 mutations)
273.65 s
[really-safe-money-gen] coverage (544/1610): Money\.AccountOfSpec.ADA.GenValid (AccountOf * ADA).genValid \:\: Gen (AccountOf * ADA).only generates valid '(AccountOf * ADA)'s (1 mutations)
273.75 s
[really-safe-money-gen] coverage (533/1610): Money\.AccountOfSpec.ADA.sum.matches what you would get with Integer, if nothing fails (28 mutations)
274.14 s
[really-safe-money-gen] coverage (546/1610): Money\.AccountOfSpec.ADA.BTC.rate.produces valid amounts (15 mutations)
275.05 s
[really-safe-money-gen] coverage (478/1610): Money\.AccountOfSpec.CHF.add.produces valid amounts (27 mutations)
275.52 s
[really-safe-money-gen] coverage (550/1610): Money\.AccountOfSpec.ADA.multiply.matches what you would get with Integer, if nothing fails (20 mutations)
275.90 s
[really-safe-money-gen] coverage (551/1610): Money\.AccountOfSpec.ADA.multiply.is absorbed by 0 (20 mutations)
277.00 s
[really-safe-money-gen] coverage (547/1610): Money\.AccountOfSpec.ADA.multiply.produces valid amounts (20 mutations)
277.17 s
[really-safe-money-gen] coverage (552/1610): Money\.AccountOfSpec.ADA.USD.convert.produces valid amounts (27 mutations)
286.67 s
[really-safe-money-gen] coverage (553/1610): Money\.AccountOfSpec.ADA.USD.rate.produces valid amounts (15 mutations)
287.60 s
[really-safe-money-gen] coverage (555/1610): Money\.AccountOfSpec.BTC.add.produces valid amounts (27 mutations)
287.66 s
[really-safe-money-gen] coverage (545/1610): Money\.AccountOfSpec.ADA.BTC.convert.produces valid amounts (27 mutations)
287.72 s
[really-safe-money-gen] coverage (554/1610): Money\.AccountOfSpec.BTC.add.is commutative (27 mutations)
287.80 s
[really-safe-money-gen] coverage (549/1610): Money\.AccountOfSpec.ADA.multiply.has an identity\: 1 (20 mutations)
287.92 s
[really-safe-money-gen] coverage (536/1610): Money\.AccountOfSpec.ADA.ADA.convert.produces valid amounts (27 mutations)
288.50 s
[really-safe-money-gen] coverage (556/1610): Money\.AccountOfSpec.BTC.add.has a left-identity\: zero (28 mutations)
288.65 s
[really-safe-money-gen] coverage (559/1610): Money\.AccountOfSpec.BTC.add.matches what you would get with Integer, if nothing fails (27 mutations)
288.68 s
[really-safe-money-gen] coverage (538/1610): Money\.AccountOfSpec.ADA.add.matches what you would get with Integer, if nothing fails (27 mutations)
288.93 s
[really-safe-money-gen] coverage (561/1610): Money\.AccountOfSpec.BTC.Ord (AccountOf * BTC).(>) \:\: (AccountOf * BTC) -> (AccountOf * BTC) -> Bool.is transitive for "valid (AccountOf * BTC)"'s (3 mutations)
288.95 s
[really-safe-money-gen] coverage (535/1610): Money\.AccountOfSpec.ADA.toMinimalQuantisations.produces valid accounts (3 mutations)
289.03 s
[really-safe-money-gen] coverage (477/1610): Money\.AccountOfSpec.CHF.add.is commutative (27 mutations)
289.05 s
[really-safe-money-gen] coverage (531/1610): Money\.AccountOfSpec.ADA.INR.convert.produces valid amounts (27 mutations)
289.13 s
[really-safe-money-gen] coverage (534/1610): Money\.AccountOfSpec.ADA.sum.produces valid amounts (28 mutations)
289.54 s
[really-safe-money-gen] coverage (560/1610): Money\.AccountOfSpec.BTC.Ord (AccountOf * BTC).(>) \:\: (AccountOf * BTC) -> (AccountOf * BTC) -> Bool.is equivalent to (\\a b -> compare a b == GT) for "valid (AccountOf * BTC)"'s (3 mutations)
289.92 s
[really-safe-money-gen] coverage (548/1610): Money\.AccountOfSpec.ADA.multiply.is distributive with add when both succeed (44 mutations)
289.94 s
[really-safe-money-gen] coverage (564/1610): Money\.AccountOfSpec.BTC.Ord (AccountOf * BTC).(<=) \:\: (AccountOf * BTC) -> (AccountOf * BTC) -> Bool.is antisymmetric for "valid (AccountOf * BTC)"'s (3 mutations)
290.28 s
[really-safe-money-gen] coverage (566/1610): Money\.AccountOfSpec.BTC.Ord (AccountOf * BTC).(<=) \:\: (AccountOf * BTC) -> (AccountOf * BTC) -> Bool.is transitive for "valid (AccountOf * BTC)"'s (3 mutations)
290.50 s
[really-safe-money-gen] coverage (563/1610): Money\.AccountOfSpec.BTC.Ord (AccountOf * BTC).(<=) \:\: (AccountOf * BTC) -> (AccountOf * BTC) -> Bool.is equivalent to (\\a b -> compare a b /= GT) for "valid (AccountOf * BTC)"'s (3 mutations)
291.27 s
[really-safe-money-gen] coverage (568/1610): Money\.AccountOfSpec.BTC.Ord (AccountOf * BTC).(<) \:\: (AccountOf * BTC) -> (AccountOf * BTC) -> Bool.is equivalent to (\\a b -> compare a b == LT) for "valid (AccountOf * BTC)"'s (3 mutations)
291.30 s
[really-safe-money-gen] coverage (532/1610): Money\.AccountOfSpec.ADA.fromAmount.produces valid AccountOfs (1 mutations)
291.61 s
[really-safe-money-gen] coverage (562/1610): Money\.AccountOfSpec.BTC.Ord (AccountOf * BTC).(>) \:\: (AccountOf * BTC) -> (AccountOf * BTC) -> Bool.is antireflexive for "valid (AccountOf * BTC)"'s (3 mutations)
292.66 s
[really-safe-money-gen] coverage (565/1610): Money\.AccountOfSpec.BTC.Ord (AccountOf * BTC).(<=) \:\: (AccountOf * BTC) -> (AccountOf * BTC) -> Bool.is reflexive for "valid (AccountOf * BTC)"'s (3 mutations)
293.24 s
[really-safe-money-gen] coverage (419/1610): Money\.AccountOfSpec.CHF.distribute.Eq (Distribution (AccountOf * CHF)).(/=) \:\: (Distribution (AccountOf * CHF)) -> (Distribution (AccountOf * CHF)) -> Bool.is equivalent to (\\a b -> not $ a == b) for "valid (Distribution (AccountOf * CHF))"s (3 mutations)
293.35 s
[really-safe-money-gen] coverage (558/1610): Money\.AccountOfSpec.BTC.add.is associative when both succeed (27 mutations)
293.78 s
[really-safe-money-gen] coverage (472/1610): Money\.AccountOfSpec.CHF.CHF.convert.produces valid amounts (27 mutations)
294.66 s
[really-safe-money-gen] coverage (570/1610): Money\.AccountOfSpec.BTC.Ord (AccountOf * BTC)."min \:\: (AccountOf * BTC -> AccountOf * BTC -> AccountOf * BTC)".is equivalent to (\\a b -> if a <= b then a else b) for "valid (AccountOf * BTC)"'s (3 mutations)
295.78 s
[really-safe-money-gen] coverage (569/1610): Money\.AccountOfSpec.BTC.Ord (AccountOf * BTC).(<) \:\: (AccountOf * BTC) -> (AccountOf * BTC) -> Bool.is antireflexive for "valid (AccountOf * BTC)"'s (3 mutations)
303.93 s
[really-safe-money-gen] coverage (557/1610): Money\.AccountOfSpec.BTC.add.has a right-identity\: zero (28 mutations)
304.98 s
[really-safe-money-gen] coverage (571/1610): Money\.AccountOfSpec.BTC.Ord (AccountOf * BTC)."max \:\: (AccountOf * BTC -> AccountOf * BTC -> AccountOf * BTC)".is equivalent to (\\a b -> if a >= b then a else b) for "valid (AccountOf * BTC)"'s (3 mutations)
305.10 s
[really-safe-money-gen] coverage (576/1610): Money\.AccountOfSpec.BTC.BTC.convert.produces valid amounts (27 mutations)
305.63 s
[really-safe-money-gen] coverage (574/1610): Money\.AccountOfSpec.BTC.Ord (AccountOf * BTC).(>=) \:\: (AccountOf * BTC) -> (AccountOf * BTC) -> Bool.is transitive for "valid (AccountOf * BTC)"'s (3 mutations)
305.65 s
[really-safe-money-gen] coverage (572/1610): Money\.AccountOfSpec.BTC.Ord (AccountOf * BTC).(>=) \:\: (AccountOf * BTC) -> (AccountOf * BTC) -> Bool.is antisymmetric for "valid (AccountOf * BTC)"'s (3 mutations)
305.70 s
[really-safe-money-gen] coverage (573/1610): Money\.AccountOfSpec.BTC.Ord (AccountOf * BTC).(>=) \:\: (AccountOf * BTC) -> (AccountOf * BTC) -> Bool.is equivalent to (\\a b -> compare a b /= LT) for "valid (AccountOf * BTC)"'s (3 mutations)
305.81 s
[really-safe-money-gen] coverage (474/1610): Money\.AccountOfSpec.CHF.add.has a left-identity\: zero (28 mutations)
305.91 s
[really-safe-money-gen] coverage (579/1610): Money\.AccountOfSpec.BTC.distribute.produces results that sum up to the greater whole (64 mutations)
306.23 s
[really-safe-money-gen] coverage (567/1610): Money\.AccountOfSpec.BTC.Ord (AccountOf * BTC).(<) \:\: (AccountOf * BTC) -> (AccountOf * BTC) -> Bool.is transitive for "valid (AccountOf * BTC)"'s (3 mutations)
306.34 s
[really-safe-money-gen] coverage (578/1610): Money\.AccountOfSpec.BTC.distribute.produces valid amounts (34 mutations)
306.35 s
[really-safe-money-gen] coverage (494/1610): Money\.AccountOfSpec.ADA.Ord (AccountOf * ADA).(>=) \:\: (AccountOf * ADA) -> (AccountOf * ADA) -> Bool.is antisymmetric for "valid (AccountOf * ADA)"'s (3 mutations)
306.45 s
[really-safe-money-gen] coverage (493/1610): Money\.AccountOfSpec.ADA.Ord (AccountOf * ADA).(<=) \:\: (AccountOf * ADA) -> (AccountOf * ADA) -> Bool.is equivalent to (\\a b -> compare a b /= GT) for "valid (AccountOf * ADA)"'s (3 mutations)
306.58 s
[really-safe-money-gen] coverage (575/1610): Money\.AccountOfSpec.BTC.Ord (AccountOf * BTC).(>=) \:\: (AccountOf * BTC) -> (AccountOf * BTC) -> Bool.is reflexive for "valid (AccountOf * BTC)"'s (3 mutations)
306.76 s
[really-safe-money-gen] coverage (588/1610): Money\.AccountOfSpec.BTC.negate.produces valid amounts (1 mutations)
307.57 s
[really-safe-money-gen] coverage (581/1610): Money\.AccountOfSpec.BTC.distribute.Eq (Distribution (AccountOf * BTC)).(==) \:\: (Distribution (AccountOf * BTC)) -> (Distribution (AccountOf * BTC)) -> Bool.is equivalent to (\\a b -> not $ a /= b) for "valid (Distribution (AccountOf * BTC))"s (3 mutations)
307.71 s
[really-safe-money-gen] coverage (583/1610): Money\.AccountOfSpec.BTC.distribute.Eq (Distribution (AccountOf * BTC)).(==) \:\: (Distribution (AccountOf * BTC)) -> (Distribution (AccountOf * BTC)) -> Bool.is symmetric for "valid (Distribution (AccountOf * BTC))"s (3 mutations)
307.97 s
[really-safe-money-gen] coverage (587/1610): Money\.AccountOfSpec.BTC.toDouble.produces valid Doubles when the quantisation factor is nonzero (3 mutations)
308.08 s
[really-safe-money-gen] coverage (585/1610): Money\.AccountOfSpec.BTC.distribute.Eq (Distribution (AccountOf * BTC)).(/=) \:\: (Distribution (AccountOf * BTC)) -> (Distribution (AccountOf * BTC)) -> Bool.is antireflexive for "valid (Distribution (AccountOf * BTC))"s (3 mutations)
308.63 s
[really-safe-money-gen] coverage (455/1610): Money\.AccountOfSpec.CHF.Ord (AccountOf * CHF).(<) \:\: (AccountOf * CHF) -> (AccountOf * CHF) -> Bool.is transitive for "valid (AccountOf * CHF)"'s (3 mutations)
308.82 s
[really-safe-money-gen] coverage (584/1610): Money\.AccountOfSpec.BTC.distribute.Eq (Distribution (AccountOf * BTC)).(==) \:\: (Distribution (AccountOf * BTC)) -> (Distribution (AccountOf * BTC)) -> Bool.is transitive for "valid (Distribution (AccountOf * BTC))"s (3 mutations)
309.35 s
[really-safe-money-gen] coverage (582/1610): Money\.AccountOfSpec.BTC.distribute.Eq (Distribution (AccountOf * BTC)).(==) \:\: (Distribution (AccountOf * BTC)) -> (Distribution (AccountOf * BTC)) -> Bool.is reflexive for "valid (Distribution (AccountOf * BTC))"s (3 mutations)
309.79 s
[really-safe-money-gen] coverage (586/1610): Money\.AccountOfSpec.BTC.distribute.Eq (Distribution (AccountOf * BTC)).(/=) \:\: (Distribution (AccountOf * BTC)) -> (Distribution (AccountOf * BTC)) -> Bool.is equivalent to (\\a b -> not $ a == b) for "valid (Distribution (AccountOf * BTC))"s (3 mutations)
310.46 s
[really-safe-money-gen] coverage (589/1610): Money\.AccountOfSpec.BTC.fromAmountOf.produces valid AccountOfs (1 mutations)
311.67 s
[really-safe-money-gen] coverage (591/1610): Money\.AccountOfSpec.BTC.multiply.is distributive with add when both succeed (44 mutations)
311.77 s
[really-safe-money-gen] coverage (593/1610): Money\.AccountOfSpec.BTC.multiply.has an identity\: 1 (20 mutations)
312.05 s
[really-safe-money-gen] coverage (592/1610): Money\.AccountOfSpec.BTC.multiply.is absorbed by 0 (20 mutations)
312.47 s
[really-safe-money-gen] coverage (594/1610): Money\.AccountOfSpec.BTC.multiply.matches what you would get with Integer, if nothing fails (20 mutations)
313.03 s
[really-safe-money-gen] coverage (590/1610): Money\.AccountOfSpec.BTC.multiply.produces valid amounts (20 mutations)
321.93 s
[really-safe-money-gen] coverage (595/1610): Money\.AccountOfSpec.BTC.sum.produces valid amounts (28 mutations)
322.16 s
[really-safe-money-gen] coverage (597/1610): Money\.AccountOfSpec.BTC.Eq (AccountOf * BTC).(==) \:\: (AccountOf * BTC) -> (AccountOf * BTC) -> Bool.is reflexive for "valid (AccountOf * BTC)"s (3 mutations)
322.59 s
[really-safe-money-gen] coverage (596/1610): Money\.AccountOfSpec.BTC.sum.matches what you would get with Integer, if nothing fails (28 mutations)
322.83 s
[really-safe-money-gen] coverage (601/1610): Money\.AccountOfSpec.BTC.Eq (AccountOf * BTC).(/=) \:\: (AccountOf * BTC) -> (AccountOf * BTC) -> Bool.is antireflexive for "valid (AccountOf * BTC)"s (3 mutations)
322.89 s
[really-safe-money-gen] coverage (599/1610): Money\.AccountOfSpec.BTC.Eq (AccountOf * BTC).(==) \:\: (AccountOf * BTC) -> (AccountOf * BTC) -> Bool.is equivalent to (\\a b -> not $ a /= b) for "valid (AccountOf * BTC)"s (3 mutations)
323.35 s
[really-safe-money-gen] coverage (602/1610): Money\.AccountOfSpec.BTC.Eq (AccountOf * BTC).(/=) \:\: (AccountOf * BTC) -> (AccountOf * BTC) -> Bool.is equivalent to (\\a b -> not $ a == b) for "valid (AccountOf * BTC)"s (3 mutations)
323.38 s
[really-safe-money-gen] coverage (600/1610): Money\.AccountOfSpec.BTC.Eq (AccountOf * BTC).(==) \:\: (AccountOf * BTC) -> (AccountOf * BTC) -> Bool.is symmetric for "valid (AccountOf * BTC)"s (3 mutations)
323.60 s
[really-safe-money-gen] coverage (608/1610): Money\.AccountOfSpec.BTC.ADA.rate.produces valid amounts (15 mutations)
324.03 s
[really-safe-money-gen] coverage (609/1610): Money\.AccountOfSpec.BTC.fromRational.produces valid rational (27 mutations)
324.05 s
[really-safe-money-gen] coverage (605/1610): Money\.AccountOfSpec.BTC.USD.rate.produces valid amounts (15 mutations)
324.07 s
[really-safe-money-gen] coverage (606/1610): Money\.AccountOfSpec.BTC.subtract.matches what you would get with Integer, if nothing fails (27 mutations)
324.16 s
[really-safe-money-gen] coverage (598/1610): Money\.AccountOfSpec.BTC.Eq (AccountOf * BTC).(==) \:\: (AccountOf * BTC) -> (AccountOf * BTC) -> Bool.is transitive for "valid (AccountOf * BTC)"s (3 mutations)
324.20 s
[really-safe-money-gen] coverage (607/1610): Money\.AccountOfSpec.BTC.ADA.convert.produces valid amounts (27 mutations)
324.20 s
[really-safe-money-gen] coverage (604/1610): Money\.AccountOfSpec.BTC.USD.convert.produces valid amounts (27 mutations)
325.07 s
[really-safe-money-gen] coverage (603/1610): Money\.AccountOfSpec.BTC.format.produces valid strings (6 mutations)
325.27 s
[really-safe-money-gen] coverage (610/1610): Money\.AccountOfSpec.BTC.fromRational.roundtrips with toRational (31 mutations)
325.64 s
[really-safe-money-gen] coverage (611/1610): Money\.AccountOfSpec.BTC.Show (AccountOf * BTC) and Read (AccountOf * BTC).are implemented such that read \. show == id for valid values (3 mutations)
325.73 s
[really-safe-money-gen] coverage (616/1610): Money\.AccountOfSpec.BTC.INR.convert.produces valid amounts (27 mutations)
325.88 s
[really-safe-money-gen] coverage (615/1610): Money\.AccountOfSpec.BTC.INR.rate.produces valid amounts (15 mutations)
326.09 s
[really-safe-money-gen] coverage (613/1610): Money\.AccountOfSpec.BTC.GenValid (AccountOf * BTC).genValid \:\: Gen (AccountOf * BTC).only generates valid '(AccountOf * BTC)'s (1 mutations)
326.68 s
[really-safe-money-gen] coverage (612/1610): Money\.AccountOfSpec.BTC.toMinimalQuantisations.produces valid accounts (3 mutations)
327.10 s
[really-safe-money-gen] coverage (614/1610): Money\.AccountOfSpec.BTC.toRational.produces valid Rationals when the quantisation factor is nonzero (3 mutations)
327.59 s
[really-safe-money-gen] coverage (617/1610): Money\.AccountOfSpec.BTC.fromDouble.roundtrips with toDouble (40 mutations)
328.48 s
[really-safe-money-gen] coverage (621/1610): Money\.AccountOfSpec.BTC.CHF.rate.produces valid amounts (15 mutations)
328.90 s
[really-safe-money-gen] coverage (619/1610): Money\.AccountOfSpec.BTC.fraction.produces valid amounts (39 mutations)
329.32 s
[really-safe-money-gen] coverage (618/1610): Money\.AccountOfSpec.BTC.fromDouble.produces valid rational (38 mutations)
329.82 s
[really-safe-money-gen] coverage (577/1610): Money\.AccountOfSpec.BTC.BTC.rate.produces valid amounts (15 mutations)
330.45 s
[really-safe-money-gen] coverage (580/1610): Money\.AccountOfSpec.BTC.distribute.Show (Distribution (AccountOf * BTC)) and Read (Distribution (AccountOf * BTC)).are implemented such that read \. show == id for valid values (3 mutations)
338.26 s
[really-safe-money-gen] coverage (624/1610): Money\.AccountOfSpec.BTC.fromMinimalQuantisations.produces valid accounts (14 mutations)
338.51 s
[really-safe-money-gen] coverage (623/1610): Money\.AccountOfSpec.BTC.fromMinimalQuantisations.roundtrips with toMinimalQuantisations (16 mutations)
338.69 s
[really-safe-money-gen] coverage (622/1610): Money\.AccountOfSpec.BTC.CHF.convert.produces valid amounts (27 mutations)
339.25 s
[really-safe-money-gen] coverage (620/1610): Money\.AccountOfSpec.BTC.fraction.Produces a result that can be multiplied back (38 mutations)
339.79 s
[really-safe-money-gen] coverage (627/1610): Money\.ConversionRateOfSpec.INR.ADA.Ratio.fromRatio.roundtrips with toRatio (6 mutations)
339.97 s
[really-safe-money-gen] coverage (634/1610): Money\.ConversionRateOfSpec.INR.ADA.compose.produces valid rates (8 mutations)
340.05 s
[really-safe-money-gen] coverage (625/1610): Money\.AccountOfSpec.BTC.fromAmount.produces valid AccountOfs (1 mutations)
340.30 s
[really-safe-money-gen] coverage (631/1610): Money\.ConversionRateOfSpec.INR.ADA.Rational.toRational.produces valid rationals (0 mutations)
340.52 s
[really-safe-money-gen] coverage (630/1610): Money\.ConversionRateOfSpec.INR.ADA.GenValid (ConversionRateOf INR ADA).genValid \:\: Gen (ConversionRateOf INR ADA).only generates valid '(ConversionRateOf INR ADA)'s (6 mutations)
340.81 s
[really-safe-money-gen] coverage (626/1610): Money\.AccountOfSpec.BTC.abs.produces valid amounts (1 mutations)
341.21 s
[really-safe-money-gen] coverage (633/1610): Money\.ConversionRateOfSpec.INR.ADA.Rational.fromRational.roundtrips with toRational (13 mutations)
341.34 s
[really-safe-money-gen] coverage (632/1610): Money\.ConversionRateOfSpec.INR.ADA.Rational.fromRational.produces valid conversion rates (13 mutations)
341.44 s
[really-safe-money-gen] coverage (628/1610): Money\.ConversionRateOfSpec.INR.ADA.Ratio.fromRatio.produces valid conversion rates (6 mutations)
341.85 s
[really-safe-money-gen] coverage (629/1610): Money\.ConversionRateOfSpec.INR.ADA.Ratio.toRatio.produces valid ratios (0 mutations)
342.14 s
[really-safe-money-gen] coverage (637/1610): Money\.ConversionRateOfSpec.INR.ADA.DecimalLiteral.fromDecimalLiteral.produces valid conversion rates (16 mutations)
342.31 s
[really-safe-money-gen] coverage (639/1610): Money\.ConversionRateOfSpec.INR.BTC.Ratio.toRatio.produces valid ratios (0 mutations)
343.10 s
[really-safe-money-gen] coverage (643/1610): Money\.ConversionRateOfSpec.INR.BTC.compose.produces valid rates (8 mutations)
343.10 s
[really-safe-money-gen] coverage (635/1610): Money\.ConversionRateOfSpec.INR.ADA.invert.produces valid rates (8 mutations)
343.74 s
[really-safe-money-gen] coverage (644/1610): Money\.ConversionRateOfSpec.INR.BTC.Rational.toRational.produces valid rationals (0 mutations)
344.33 s
[really-safe-money-gen] coverage (645/1610): Money\.ConversionRateOfSpec.INR.BTC.Rational.fromRational.roundtrips with toRational (13 mutations)
344.45 s
[really-safe-money-gen] coverage (646/1610): Money\.ConversionRateOfSpec.INR.BTC.Rational.fromRational.produces valid conversion rates (13 mutations)
344.49 s
[really-safe-money-gen] coverage (638/1610): Money\.ConversionRateOfSpec.INR.ADA.DecimalLiteral.toDecimalLiteral.produces valid literals (37 mutations)
345.70 s
[really-safe-money-gen] coverage (636/1610): Money\.ConversionRateOfSpec.INR.ADA.DecimalLiteral.fromDecimalLiteral.roundtrips with toDecimalLiteral (53 mutations)
345.74 s
[really-safe-money-gen] coverage (647/1610): Money\.ConversionRateOfSpec.INR.BTC.DecimalLiteral.fromDecimalLiteral.produces valid conversion rates (16 mutations)
346.59 s
[really-safe-money-gen] coverage (648/1610): Money\.ConversionRateOfSpec.INR.BTC.DecimalLiteral.fromDecimalLiteral.roundtrips with toDecimalLiteral (53 mutations)
347.20 s
[really-safe-money-gen] coverage (650/1610): Money\.ConversionRateOfSpec.INR.BTC.GenValid (ConversionRateOf INR BTC).genValid \:\: Gen (ConversionRateOf INR BTC).only generates valid '(ConversionRateOf INR BTC)'s (6 mutations)
347.66 s
[really-safe-money-gen] coverage (651/1610): Money\.ConversionRateOfSpec.INR.CHF.DecimalLiteral.fromDecimalLiteral.produces valid conversion rates (16 mutations)
348.41 s
[really-safe-money-gen] coverage (652/1610): Money\.ConversionRateOfSpec.INR.CHF.DecimalLiteral.fromDecimalLiteral.roundtrips with toDecimalLiteral (53 mutations)
356.38 s
[really-safe-money-gen] coverage (654/1610): Money\.ConversionRateOfSpec.INR.CHF.Ratio.toRatio.produces valid ratios (0 mutations)
356.75 s
[really-safe-money-gen] coverage (655/1610): Money\.ConversionRateOfSpec.INR.CHF.Ratio.fromRatio.produces valid conversion rates (6 mutations)
356.87 s
[really-safe-money-gen] coverage (657/1610): Money\.ConversionRateOfSpec.INR.CHF.Rational.fromRational.roundtrips with toRational (13 mutations)
356.97 s
[really-safe-money-gen] coverage (653/1610): Money\.ConversionRateOfSpec.INR.CHF.DecimalLiteral.toDecimalLiteral.produces valid literals (37 mutations)
357.83 s
[really-safe-money-gen] coverage (662/1610): Money\.ConversionRateOfSpec.INR.CHF.GenValid (ConversionRateOf INR CHF).genValid \:\: Gen (ConversionRateOf INR CHF).only generates valid '(ConversionRateOf INR CHF)'s (6 mutations)
357.92 s
[really-safe-money-gen] coverage (671/1610): Money\.ConversionRateOfSpec.INR.USD.compose.produces valid rates (8 mutations)
357.92 s
[really-safe-money-gen] coverage (660/1610): Money\.ConversionRateOfSpec.INR.CHF.invert.produces valid rates (8 mutations)
357.94 s
[really-safe-money-gen] coverage (659/1610): Money\.ConversionRateOfSpec.INR.CHF.Rational.toRational.produces valid rationals (0 mutations)
358.11 s
[really-safe-money-gen] coverage (661/1610): Money\.ConversionRateOfSpec.INR.CHF.compose.produces valid rates (8 mutations)
358.16 s
[really-safe-money-gen] coverage (642/1610): Money\.ConversionRateOfSpec.INR.BTC.invert.produces valid rates (8 mutations)
358.31 s
[really-safe-money-gen] coverage (667/1610): Money\.ConversionRateOfSpec.INR.USD.invert.produces valid rates (8 mutations)
358.48 s
[really-safe-money-gen] coverage (641/1610): Money\.ConversionRateOfSpec.INR.BTC.Ratio.fromRatio.produces valid conversion rates (6 mutations)
358.63 s
[really-safe-money-gen] coverage (658/1610): Money\.ConversionRateOfSpec.INR.CHF.Rational.fromRational.produces valid conversion rates (13 mutations)
359.17 s
[really-safe-money-gen] coverage (669/1610): Money\.ConversionRateOfSpec.INR.USD.Ratio.fromRatio.produces valid conversion rates (6 mutations)
359.18 s
[really-safe-money-gen] coverage (668/1610): Money\.ConversionRateOfSpec.INR.USD.Ratio.fromRatio.roundtrips with toRatio (6 mutations)
359.20 s
[really-safe-money-gen] coverage (640/1610): Money\.ConversionRateOfSpec.INR.BTC.Ratio.fromRatio.roundtrips with toRatio (6 mutations)
361.03 s
[really-safe-money-gen] coverage (664/1610): Money\.ConversionRateOfSpec.INR.USD.Rational.toRational.produces valid rationals (0 mutations)
361.43 s
[really-safe-money-gen] coverage (673/1610): Money\.ConversionRateOfSpec.INR.USD.DecimalLiteral.fromDecimalLiteral.produces valid conversion rates (16 mutations)
361.91 s
[really-safe-money-gen] coverage (672/1610): Money\.ConversionRateOfSpec.INR.USD.DecimalLiteral.fromDecimalLiteral.roundtrips with toDecimalLiteral (53 mutations)
362.41 s
[really-safe-money-gen] coverage (674/1610): Money\.ConversionRateOfSpec.INR.USD.DecimalLiteral.toDecimalLiteral.produces valid literals (37 mutations)
362.53 s
[really-safe-money-gen] coverage (649/1610): Money\.ConversionRateOfSpec.INR.BTC.DecimalLiteral.toDecimalLiteral.produces valid literals (37 mutations)
362.60 s
[really-safe-money-gen] coverage (670/1610): Money\.ConversionRateOfSpec.INR.USD.Ratio.toRatio.produces valid ratios (0 mutations)
362.89 s
[really-safe-money-gen] coverage (677/1610): Money\.ConversionRateOfSpec.INR.INR.Rational.fromRational.produces valid conversion rates (13 mutations)
363.08 s
[really-safe-money-gen] coverage (676/1610): Money\.ConversionRateOfSpec.INR.INR.Rational.fromRational.roundtrips with toRational (13 mutations)
363.27 s
[really-safe-money-gen] coverage (675/1610): Money\.ConversionRateOfSpec.INR.INR.Rational.toRational.produces valid rationals (0 mutations)
365.09 s
[really-safe-money-gen] coverage (680/1610): Money\.ConversionRateOfSpec.INR.INR.DecimalLiteral.fromDecimalLiteral.produces valid conversion rates (16 mutations)
365.64 s
[really-safe-money-gen] coverage (678/1610): Money\.ConversionRateOfSpec.INR.INR.GenValid (ConversionRateOf INR INR).genValid \:\: Gen (ConversionRateOf INR INR).only generates valid '(ConversionRateOf INR INR)'s (6 mutations)
366.72 s
[really-safe-money-gen] coverage (679/1610): Money\.ConversionRateOfSpec.INR.INR.DecimalLiteral.toDecimalLiteral.produces valid literals (37 mutations)
377.55 s
[really-safe-money-gen] coverage (683/1610): Money\.ConversionRateOfSpec.INR.INR.invert.produces valid rates (8 mutations)
377.69 s
[really-safe-money-gen] coverage (687/1610): Money\.ConversionRateOfSpec.ADA.USD.compose.produces valid rates (8 mutations)
377.72 s
[really-safe-money-gen] coverage (684/1610): Money\.ConversionRateOfSpec.INR.INR.Ratio.fromRatio.produces valid conversion rates (6 mutations)
378.15 s
[really-safe-money-gen] coverage (691/1610): Money\.ConversionRateOfSpec.ADA.USD.invert.produces valid rates (8 mutations)
378.23 s
[really-safe-money-gen] coverage (682/1610): Money\.ConversionRateOfSpec.INR.INR.compose.produces valid rates (8 mutations)
378.62 s
[really-safe-money-gen] coverage (686/1610): Money\.ConversionRateOfSpec.INR.INR.Ratio.toRatio.produces valid ratios (0 mutations)
378.62 s
[really-safe-money-gen] coverage (681/1610): Money\.ConversionRateOfSpec.INR.INR.DecimalLiteral.fromDecimalLiteral.roundtrips with toDecimalLiteral (53 mutations)
378.64 s
[really-safe-money-gen] coverage (690/1610): Money\.ConversionRateOfSpec.ADA.USD.Ratio.fromRatio.roundtrips with toRatio (6 mutations)
378.75 s
[really-safe-money-gen] coverage (689/1610): Money\.ConversionRateOfSpec.ADA.USD.Ratio.fromRatio.produces valid conversion rates (6 mutations)
378.94 s
[really-safe-money-gen] coverage (688/1610): Money\.ConversionRateOfSpec.ADA.USD.Ratio.toRatio.produces valid ratios (0 mutations)
379.20 s
[really-safe-money-gen] coverage (685/1610): Money\.ConversionRateOfSpec.INR.INR.Ratio.fromRatio.roundtrips with toRatio (6 mutations)
379.29 s
[really-safe-money-gen] coverage (692/1610): Money\.ConversionRateOfSpec.ADA.USD.Rational.fromRational.produces valid conversion rates (13 mutations)
379.85 s
[really-safe-money-gen] coverage (697/1610): Money\.ConversionRateOfSpec.ADA.USD.DecimalLiteral.fromDecimalLiteral.roundtrips with toDecimalLiteral (53 mutations)
379.98 s
[really-safe-money-gen] coverage (695/1610): Money\.ConversionRateOfSpec.ADA.USD.GenValid (ConversionRateOf ADA USD).genValid \:\: Gen (ConversionRateOf ADA USD).only generates valid '(ConversionRateOf ADA USD)'s (6 mutations)
380.00 s
[really-safe-money-gen] coverage (696/1610): Money\.ConversionRateOfSpec.ADA.USD.DecimalLiteral.toDecimalLiteral.produces valid literals (37 mutations)
380.06 s
[really-safe-money-gen] coverage (693/1610): Money\.ConversionRateOfSpec.ADA.USD.Rational.fromRational.roundtrips with toRational (13 mutations)
381.87 s
[really-safe-money-gen] coverage (709/1610): Money\.ConversionRateOfSpec.ADA.CHF.GenValid (ConversionRateOf ADA CHF).genValid \:\: Gen (ConversionRateOf ADA CHF).only generates valid '(ConversionRateOf ADA CHF)'s (6 mutations)
381.97 s
[really-safe-money-gen] coverage (702/1610): Money\.ConversionRateOfSpec.ADA.CHF.compose.produces valid rates (8 mutations)
382.02 s
[really-safe-money-gen] coverage (700/1610): Money\.ConversionRateOfSpec.ADA.CHF.DecimalLiteral.fromDecimalLiteral.produces valid conversion rates (16 mutations)
382.67 s
[really-safe-money-gen] coverage (706/1610): Money\.ConversionRateOfSpec.ADA.CHF.Ratio.fromRatio.roundtrips with toRatio (6 mutations)
383.76 s
[really-safe-money-gen] coverage (699/1610): Money\.ConversionRateOfSpec.ADA.CHF.DecimalLiteral.fromDecimalLiteral.roundtrips with toDecimalLiteral (53 mutations)
383.99 s
[really-safe-money-gen] coverage (704/1610): Money\.ConversionRateOfSpec.ADA.CHF.Rational.fromRational.roundtrips with toRational (13 mutations)
385.11 s
[really-safe-money-gen] coverage (703/1610): Money\.ConversionRateOfSpec.ADA.CHF.Rational.toRational.produces valid rationals (0 mutations)
385.80 s
[really-safe-money-gen] coverage (708/1610): Money\.ConversionRateOfSpec.ADA.CHF.Ratio.toRatio.produces valid ratios (0 mutations)
386.71 s
[really-safe-money-gen] coverage (710/1610): Money\.ConversionRateOfSpec.ADA.CHF.invert.produces valid rates (8 mutations)
390.16 s
[really-safe-money-gen] coverage (705/1610): Money\.ConversionRateOfSpec.ADA.CHF.Rational.fromRational.produces valid conversion rates (13 mutations)
391.51 s
[really-safe-money-gen] coverage (698/1610): Money\.ConversionRateOfSpec.ADA.USD.DecimalLiteral.fromDecimalLiteral.produces valid conversion rates (16 mutations)
392.14 s
[really-safe-money-gen] coverage (701/1610): Money\.ConversionRateOfSpec.ADA.CHF.DecimalLiteral.toDecimalLiteral.produces valid literals (37 mutations)
396.15 s
[really-safe-money-gen] coverage (712/1610): Money\.ConversionRateOfSpec.ADA.ADA.invert.produces valid rates (8 mutations)
396.33 s
[really-safe-money-gen] coverage (733/1610): Money\.ConversionRateOfSpec.ADA.BTC.Ratio.fromRatio.produces valid conversion rates (6 mutations)
396.40 s
[really-safe-money-gen] coverage (707/1610): Money\.ConversionRateOfSpec.ADA.CHF.Ratio.fromRatio.produces valid conversion rates (6 mutations)
397.87 s
[really-safe-money-gen] coverage (730/1610): Money\.ConversionRateOfSpec.ADA.BTC.Rational.fromRational.produces valid conversion rates (13 mutations)
398.11 s
[really-safe-money-gen] coverage (729/1610): Money\.ConversionRateOfSpec.ADA.BTC.Rational.fromRational.roundtrips with toRational (13 mutations)
398.63 s
[really-safe-money-gen] coverage (732/1610): Money\.ConversionRateOfSpec.ADA.BTC.Ratio.toRatio.produces valid ratios (0 mutations)
398.86 s
[really-safe-money-gen] coverage (738/1610): Money\.ConversionRateOfSpec.ADA.INR.Rational.toRational.produces valid rationals (0 mutations)
399.00 s
[really-safe-money-gen] coverage (728/1610): Money\.ConversionRateOfSpec.ADA.BTC.Rational.toRational.produces valid rationals (0 mutations)
399.01 s
[really-safe-money-gen] coverage (694/1610): Money\.ConversionRateOfSpec.ADA.USD.Rational.toRational.produces valid rationals (0 mutations)
399.02 s
[really-safe-money-gen] coverage (714/1610): Money\.ConversionRateOfSpec.ADA.ADA.Ratio.fromRatio.roundtrips with toRatio (6 mutations)
399.09 s
[really-safe-money-gen] coverage (736/1610): Money\.ConversionRateOfSpec.ADA.INR.Rational.fromRational.produces valid conversion rates (13 mutations)
399.50 s
[really-safe-money-gen] coverage (735/1610): Money\.ConversionRateOfSpec.ADA.INR.GenValid (ConversionRateOf ADA INR).genValid \:\: Gen (ConversionRateOf ADA INR).only generates valid '(ConversionRateOf ADA INR)'s (6 mutations)
399.50 s
[really-safe-money-gen] coverage (740/1610): Money\.ConversionRateOfSpec.ADA.INR.Ratio.fromRatio.roundtrips with toRatio (6 mutations)
399.63 s
[really-safe-money-gen] coverage (713/1610): Money\.ConversionRateOfSpec.ADA.ADA.Ratio.toRatio.produces valid ratios (0 mutations)
399.79 s
[really-safe-money-gen] coverage (737/1610): Money\.ConversionRateOfSpec.ADA.INR.Rational.fromRational.roundtrips with toRational (13 mutations)
400.63 s
[really-safe-money-gen] coverage (731/1610): Money\.ConversionRateOfSpec.ADA.BTC.compose.produces valid rates (8 mutations)
401.05 s
[really-safe-money-gen] coverage (739/1610): Money\.ConversionRateOfSpec.ADA.INR.Ratio.toRatio.produces valid ratios (0 mutations)
401.06 s
[really-safe-money-gen] coverage (741/1610): Money\.ConversionRateOfSpec.ADA.INR.Ratio.fromRatio.produces valid conversion rates (6 mutations)
402.16 s
[really-safe-money-gen] coverage (720/1610): Money\.ConversionRateOfSpec.ADA.ADA.DecimalLiteral.toDecimalLiteral.produces valid literals (37 mutations)
402.58 s
[really-safe-money-gen] coverage (727/1610): Money\.ConversionRateOfSpec.ADA.BTC.invert.produces valid rates (8 mutations)
403.68 s
[really-safe-money-gen] coverage (715/1610): Money\.ConversionRateOfSpec.ADA.ADA.Ratio.fromRatio.produces valid conversion rates (6 mutations)
404.27 s
[really-safe-money-gen] coverage (711/1610): Money\.ConversionRateOfSpec.ADA.ADA.GenValid (ConversionRateOf ADA ADA).genValid \:\: Gen (ConversionRateOf ADA ADA).only generates valid '(ConversionRateOf ADA ADA)'s (6 mutations)
404.39 s
[really-safe-money-gen] coverage (742/1610): Money\.ConversionRateOfSpec.ADA.INR.DecimalLiteral.toDecimalLiteral.produces valid literals (37 mutations)
405.41 s
[really-safe-money-gen] coverage (743/1610): Money\.ConversionRateOfSpec.ADA.INR.DecimalLiteral.fromDecimalLiteral.produces valid conversion rates (16 mutations)
405.42 s
[really-safe-money-gen] coverage (745/1610): Money\.ConversionRateOfSpec.ADA.INR.compose.produces valid rates (8 mutations)
405.85 s
[really-safe-money-gen] coverage (744/1610): Money\.ConversionRateOfSpec.ADA.INR.DecimalLiteral.fromDecimalLiteral.roundtrips with toDecimalLiteral (53 mutations)
408.66 s
[really-safe-money-gen] coverage (746/1610): Money\.ConversionRateOfSpec.ADA.INR.invert.produces valid rates (8 mutations)
411.63 s
[really-safe-money-gen] coverage (724/1610): Money\.ConversionRateOfSpec.ADA.BTC.DecimalLiteral.fromDecimalLiteral.roundtrips with toDecimalLiteral (53 mutations)
413.81 s
[really-safe-money-gen] coverage (748/1610): Money\.ConversionRateOfSpec.CHF.BTC.Rational.fromRational.roundtrips with toRational (13 mutations)
414.24 s
[really-safe-money-gen] coverage (747/1610): Money\.ConversionRateOfSpec.CHF.BTC.Rational.toRational.produces valid rationals (0 mutations)
414.38 s
[really-safe-money-gen] coverage (725/1610): Money\.ConversionRateOfSpec.ADA.BTC.DecimalLiteral.fromDecimalLiteral.produces valid conversion rates (16 mutations)
415.90 s
[really-safe-money-gen] coverage (749/1610): Money\.ConversionRateOfSpec.CHF.BTC.Rational.fromRational.produces valid conversion rates (13 mutations)
416.45 s
[really-safe-money-gen] coverage (750/1610): Money\.ConversionRateOfSpec.CHF.BTC.DecimalLiteral.toDecimalLiteral.produces valid literals (37 mutations)
416.88 s
[really-safe-money-gen] coverage (719/1610): Money\.ConversionRateOfSpec.ADA.ADA.Rational.fromRational.produces valid conversion rates (13 mutations)
416.91 s
[really-safe-money-gen] coverage (751/1610): Money\.ConversionRateOfSpec.CHF.BTC.DecimalLiteral.fromDecimalLiteral.produces valid conversion rates (16 mutations)
417.46 s
[really-safe-money-gen] coverage (716/1610): Money\.ConversionRateOfSpec.ADA.ADA.compose.produces valid rates (8 mutations)
418.49 s
[really-safe-money-gen] coverage (757/1610): Money\.ConversionRateOfSpec.CHF.BTC.invert.produces valid rates (8 mutations)
418.63 s
[really-safe-money-gen] coverage (721/1610): Money\.ConversionRateOfSpec.ADA.ADA.DecimalLiteral.fromDecimalLiteral.produces valid conversion rates (16 mutations)
420.48 s
[really-safe-money-gen] coverage (718/1610): Money\.ConversionRateOfSpec.ADA.ADA.Rational.fromRational.roundtrips with toRational (13 mutations)
420.60 s
[really-safe-money-gen] coverage (752/1610): Money\.ConversionRateOfSpec.CHF.BTC.DecimalLiteral.fromDecimalLiteral.roundtrips with toDecimalLiteral (53 mutations)
420.86 s
[really-safe-money-gen] coverage (726/1610): Money\.ConversionRateOfSpec.ADA.BTC.GenValid (ConversionRateOf ADA BTC).genValid \:\: Gen (ConversionRateOf ADA BTC).only generates valid '(ConversionRateOf ADA BTC)'s (6 mutations)
421.36 s
[really-safe-money-gen] coverage (723/1610): Money\.ConversionRateOfSpec.ADA.BTC.DecimalLiteral.toDecimalLiteral.produces valid literals (37 mutations)
421.43 s
[really-safe-money-gen] coverage (765/1610): Money\.ConversionRateOfSpec.CHF.ADA.Ratio.fromRatio.produces valid conversion rates (6 mutations)
422.92 s
[really-safe-money-gen] coverage (758/1610): Money\.ConversionRateOfSpec.CHF.BTC.GenValid (ConversionRateOf CHF BTC).genValid \:\: Gen (ConversionRateOf CHF BTC).only generates valid '(ConversionRateOf CHF BTC)'s (6 mutations)
423.95 s
[really-safe-money-gen] coverage (764/1610): Money\.ConversionRateOfSpec.CHF.ADA.Ratio.fromRatio.roundtrips with toRatio (6 mutations)
423.98 s
[really-safe-money-gen] coverage (759/1610): Money\.ConversionRateOfSpec.CHF.ADA.DecimalLiteral.fromDecimalLiteral.produces valid conversion rates (16 mutations)
424.42 s
[really-safe-money-gen] coverage (762/1610): Money\.ConversionRateOfSpec.CHF.ADA.invert.produces valid rates (8 mutations)
424.66 s
[really-safe-money-gen] coverage (722/1610): Money\.ConversionRateOfSpec.ADA.ADA.DecimalLiteral.fromDecimalLiteral.roundtrips with toDecimalLiteral (53 mutations)
428.81 s
[really-safe-money-gen] coverage (763/1610): Money\.ConversionRateOfSpec.CHF.ADA.Ratio.toRatio.produces valid ratios (0 mutations)
428.97 s
[really-safe-money-gen] coverage (761/1610): Money\.ConversionRateOfSpec.CHF.ADA.DecimalLiteral.toDecimalLiteral.produces valid literals (37 mutations)
429.05 s
[really-safe-money-gen] coverage (768/1610): Money\.ConversionRateOfSpec.CHF.ADA.Rational.toRational.produces valid rationals (0 mutations)
430.14 s
[really-safe-money-gen] coverage (666/1610): Money\.ConversionRateOfSpec.INR.USD.Rational.fromRational.roundtrips with toRational (13 mutations)
430.71 s
[really-safe-money-gen] coverage (753/1610): Money\.ConversionRateOfSpec.CHF.BTC.compose.produces valid rates (8 mutations)
430.82 s
[really-safe-money-gen] coverage (766/1610): Money\.ConversionRateOfSpec.CHF.ADA.compose.produces valid rates (8 mutations)
430.87 s
[really-safe-money-gen] coverage (769/1610): Money\.ConversionRateOfSpec.CHF.ADA.Rational.fromRational.roundtrips with toRational (13 mutations)
430.93 s
[really-safe-money-gen] coverage (760/1610): Money\.ConversionRateOfSpec.CHF.ADA.DecimalLiteral.fromDecimalLiteral.roundtrips with toDecimalLiteral (53 mutations)
432.46 s
[really-safe-money-gen] coverage (755/1610): Money\.ConversionRateOfSpec.CHF.BTC.Ratio.fromRatio.roundtrips with toRatio (6 mutations)
432.66 s
[really-safe-money-gen] coverage (772/1610): Money\.ConversionRateOfSpec.CHF.USD.GenValid (ConversionRateOf CHF USD).genValid \:\: Gen (ConversionRateOf CHF USD).only generates valid '(ConversionRateOf CHF USD)'s (6 mutations)
432.81 s
[really-safe-money-gen] coverage (665/1610): Money\.ConversionRateOfSpec.INR.USD.Rational.fromRational.produces valid conversion rates (13 mutations)
433.88 s
[really-safe-money-gen] coverage (717/1610): Money\.ConversionRateOfSpec.ADA.ADA.Rational.toRational.produces valid rationals (0 mutations)
433.91 s
[really-safe-money-gen] coverage (780/1610): Money\.ConversionRateOfSpec.CHF.USD.Ratio.fromRatio.produces valid conversion rates (6 mutations)
433.98 s
[really-safe-money-gen] coverage (656/1610): Money\.ConversionRateOfSpec.INR.CHF.Ratio.fromRatio.roundtrips with toRatio (6 mutations)
434.87 s
[really-safe-money-gen] coverage (754/1610): Money\.ConversionRateOfSpec.CHF.BTC.Ratio.fromRatio.produces valid conversion rates (6 mutations)
436.30 s
[really-safe-money-gen] coverage (771/1610): Money\.ConversionRateOfSpec.CHF.USD.invert.produces valid rates (8 mutations)
436.60 s
[really-safe-money-gen] coverage (663/1610): Money\.ConversionRateOfSpec.INR.USD.GenValid (ConversionRateOf INR USD).genValid \:\: Gen (ConversionRateOf INR USD).only generates valid '(ConversionRateOf INR USD)'s (6 mutations)
436.62 s
[really-safe-money-gen] coverage (796/1610): Money\.ConversionRateOfSpec.CHF.INR.Ratio.fromRatio.produces valid conversion rates (6 mutations)
437.63 s
[really-safe-money-gen] coverage (774/1610): Money\.ConversionRateOfSpec.CHF.USD.DecimalLiteral.fromDecimalLiteral.roundtrips with toDecimalLiteral (53 mutations)
437.86 s
[really-safe-money-gen] coverage (779/1610): Money\.ConversionRateOfSpec.CHF.USD.Rational.toRational.produces valid rationals (0 mutations)
438.96 s
[really-safe-money-gen] coverage (775/1610): Money\.ConversionRateOfSpec.CHF.USD.DecimalLiteral.fromDecimalLiteral.produces valid conversion rates (16 mutations)
439.62 s
[really-safe-money-gen] coverage (734/1610): Money\.ConversionRateOfSpec.ADA.BTC.Ratio.fromRatio.roundtrips with toRatio (6 mutations)
440.26 s
[really-safe-money-gen] coverage (770/1610): Money\.ConversionRateOfSpec.CHF.ADA.Rational.fromRational.produces valid conversion rates (13 mutations)
440.49 s
[really-safe-money-gen] coverage (776/1610): Money\.ConversionRateOfSpec.CHF.USD.compose.produces valid rates (8 mutations)
442.22 s
[really-safe-money-gen] coverage (777/1610): Money\.ConversionRateOfSpec.CHF.USD.Rational.fromRational.produces valid conversion rates (13 mutations)
442.34 s
[really-safe-money-gen] coverage (756/1610): Money\.ConversionRateOfSpec.CHF.BTC.Ratio.toRatio.produces valid ratios (0 mutations)
442.81 s
[really-safe-money-gen] coverage (778/1610): Money\.ConversionRateOfSpec.CHF.USD.Rational.fromRational.roundtrips with toRational (13 mutations)
443.30 s
[really-safe-money-gen] coverage (787/1610): Money\.ConversionRateOfSpec.CHF.CHF.Rational.toRational.produces valid rationals (0 mutations)
443.39 s
[really-safe-money-gen] coverage (767/1610): Money\.ConversionRateOfSpec.CHF.ADA.GenValid (ConversionRateOf CHF ADA).genValid \:\: Gen (ConversionRateOf CHF ADA).only generates valid '(ConversionRateOf CHF ADA)'s (6 mutations)
446.76 s
[really-safe-money-gen] coverage (773/1610): Money\.ConversionRateOfSpec.CHF.USD.DecimalLiteral.toDecimalLiteral.produces valid literals (37 mutations)
447.30 s
[really-safe-money-gen] coverage (783/1610): Money\.ConversionRateOfSpec.CHF.CHF.GenValid (ConversionRateOf CHF CHF).genValid \:\: Gen (ConversionRateOf CHF CHF).only generates valid '(ConversionRateOf CHF CHF)'s (6 mutations)
447.72 s
[really-safe-money-gen] coverage (797/1610): Money\.ConversionRateOfSpec.CHF.INR.Ratio.fromRatio.roundtrips with toRatio (6 mutations)
447.98 s
[really-safe-money-gen] coverage (786/1610): Money\.ConversionRateOfSpec.CHF.CHF.DecimalLiteral.fromDecimalLiteral.produces valid conversion rates (16 mutations)
448.81 s
[really-safe-money-gen] coverage (788/1610): Money\.ConversionRateOfSpec.CHF.CHF.Rational.fromRational.produces valid conversion rates (13 mutations)
450.03 s
[really-safe-money-gen] coverage (789/1610): Money\.ConversionRateOfSpec.CHF.CHF.Rational.fromRational.roundtrips with toRational (13 mutations)
450.50 s
[really-safe-money-gen] coverage (791/1610): Money\.ConversionRateOfSpec.CHF.CHF.Ratio.toRatio.produces valid ratios (0 mutations)
451.17 s
[really-safe-money-gen] coverage (790/1610): Money\.ConversionRateOfSpec.CHF.CHF.invert.produces valid rates (8 mutations)
451.33 s
[really-safe-money-gen] coverage (785/1610): Money\.ConversionRateOfSpec.CHF.CHF.DecimalLiteral.fromDecimalLiteral.roundtrips with toDecimalLiteral (53 mutations)
451.82 s
[really-safe-money-gen] coverage (793/1610): Money\.ConversionRateOfSpec.CHF.CHF.Ratio.fromRatio.roundtrips with toRatio (6 mutations)
451.92 s
[really-safe-money-gen] coverage (792/1610): Money\.ConversionRateOfSpec.CHF.CHF.Ratio.fromRatio.produces valid conversion rates (6 mutations)
452.63 s
[really-safe-money-gen] coverage (794/1610): Money\.ConversionRateOfSpec.CHF.CHF.compose.produces valid rates (8 mutations)
452.77 s
[really-safe-money-gen] coverage (798/1610): Money\.ConversionRateOfSpec.CHF.INR.compose.produces valid rates (8 mutations)
453.22 s
[really-safe-money-gen] coverage (795/1610): Money\.ConversionRateOfSpec.CHF.INR.Ratio.toRatio.produces valid ratios (0 mutations)
453.75 s
[really-safe-money-gen] coverage (799/1610): Money\.ConversionRateOfSpec.CHF.INR.invert.produces valid rates (8 mutations)
454.33 s
[really-safe-money-gen] coverage (800/1610): Money\.ConversionRateOfSpec.CHF.INR.DecimalLiteral.toDecimalLiteral.produces valid literals (37 mutations)
454.91 s
[really-safe-money-gen] coverage (801/1610): Money\.ConversionRateOfSpec.CHF.INR.DecimalLiteral.fromDecimalLiteral.produces valid conversion rates (16 mutations)
455.69 s
[really-safe-money-gen] coverage (805/1610): Money\.ConversionRateOfSpec.CHF.INR.Rational.fromRational.produces valid conversion rates (13 mutations)
456.00 s
[really-safe-money-gen] coverage (803/1610): Money\.ConversionRateOfSpec.CHF.INR.GenValid (ConversionRateOf CHF INR).genValid \:\: Gen (ConversionRateOf CHF INR).only generates valid '(ConversionRateOf CHF INR)'s (6 mutations)
456.55 s
[really-safe-money-gen] coverage (802/1610): Money\.ConversionRateOfSpec.CHF.INR.DecimalLiteral.fromDecimalLiteral.roundtrips with toDecimalLiteral (53 mutations)
456.63 s
[really-safe-money-gen] coverage (807/1610): Money\.ConversionRateOfSpec.USD.CHF.GenValid (ConversionRateOf USD CHF).genValid \:\: Gen (ConversionRateOf USD CHF).only generates valid '(ConversionRateOf USD CHF)'s (6 mutations)
457.27 s
[really-safe-money-gen] coverage (804/1610): Money\.ConversionRateOfSpec.CHF.INR.Rational.fromRational.roundtrips with toRational (13 mutations)
458.07 s
[really-safe-money-gen] coverage (808/1610): Money\.ConversionRateOfSpec.USD.CHF.invert.produces valid rates (8 mutations)
460.33 s
[really-safe-money-gen] coverage (810/1610): Money\.ConversionRateOfSpec.USD.CHF.DecimalLiteral.fromDecimalLiteral.produces valid conversion rates (16 mutations)
460.56 s
[really-safe-money-gen] coverage (813/1610): Money\.ConversionRateOfSpec.USD.CHF.Rational.fromRational.roundtrips with toRational (13 mutations)
460.82 s
[really-safe-money-gen] coverage (812/1610): Money\.ConversionRateOfSpec.USD.CHF.Rational.toRational.produces valid rationals (0 mutations)
460.99 s
[really-safe-money-gen] coverage (809/1610): Money\.ConversionRateOfSpec.USD.CHF.DecimalLiteral.fromDecimalLiteral.roundtrips with toDecimalLiteral (53 mutations)
461.27 s
[really-safe-money-gen] coverage (811/1610): Money\.ConversionRateOfSpec.USD.CHF.DecimalLiteral.toDecimalLiteral.produces valid literals (37 mutations)
464.19 s
[really-safe-money-gen] coverage (814/1610): Money\.ConversionRateOfSpec.USD.CHF.Rational.fromRational.produces valid conversion rates (13 mutations)
464.45 s
[really-safe-money-gen] coverage (784/1610): Money\.ConversionRateOfSpec.CHF.CHF.DecimalLiteral.toDecimalLiteral.produces valid literals (37 mutations)
465.01 s
[really-safe-money-gen] coverage (816/1610): Money\.ConversionRateOfSpec.USD.CHF.Ratio.fromRatio.produces valid conversion rates (6 mutations)
465.13 s
[really-safe-money-gen] coverage (820/1610): Money\.ConversionRateOfSpec.USD.USD.Ratio.fromRatio.roundtrips with toRatio (6 mutations)
465.77 s
[really-safe-money-gen] coverage (782/1610): Money\.ConversionRateOfSpec.CHF.USD.Ratio.toRatio.produces valid ratios (0 mutations)
466.32 s
[really-safe-money-gen] coverage (781/1610): Money\.ConversionRateOfSpec.CHF.USD.Ratio.fromRatio.roundtrips with toRatio (6 mutations)
466.62 s
[really-safe-money-gen] coverage (815/1610): Money\.ConversionRateOfSpec.USD.CHF.Ratio.fromRatio.roundtrips with toRatio (6 mutations)
467.15 s
[really-safe-money-gen] coverage (818/1610): Money\.ConversionRateOfSpec.USD.CHF.compose.produces valid rates (8 mutations)
468.70 s
[really-safe-money-gen] coverage (825/1610): Money\.ConversionRateOfSpec.USD.USD.invert.produces valid rates (8 mutations)
468.75 s
[really-safe-money-gen] coverage (806/1610): Money\.ConversionRateOfSpec.CHF.INR.Rational.toRational.produces valid rationals (0 mutations)
469.55 s
[really-safe-money-gen] coverage (826/1610): Money\.ConversionRateOfSpec.USD.USD.Rational.toRational.produces valid rationals (0 mutations)
469.73 s
[really-safe-money-gen] coverage (828/1610): Money\.ConversionRateOfSpec.USD.USD.Rational.fromRational.produces valid conversion rates (13 mutations)
470.18 s
[really-safe-money-gen] coverage (822/1610): Money\.ConversionRateOfSpec.USD.USD.DecimalLiteral.toDecimalLiteral.produces valid literals (37 mutations)
470.57 s
[really-safe-money-gen] coverage (821/1610): Money\.ConversionRateOfSpec.USD.USD.Ratio.fromRatio.produces valid conversion rates (6 mutations)
470.68 s
[really-safe-money-gen] coverage (830/1610): Money\.ConversionRateOfSpec.USD.USD.GenValid (ConversionRateOf USD USD).genValid \:\: Gen (ConversionRateOf USD USD).only generates valid '(ConversionRateOf USD USD)'s (6 mutations)
471.13 s
[really-safe-money-gen] coverage (827/1610): Money\.ConversionRateOfSpec.USD.USD.Rational.fromRational.roundtrips with toRational (13 mutations)
471.97 s
[really-safe-money-gen] coverage (832/1610): Money\.ConversionRateOfSpec.USD.INR.DecimalLiteral.fromDecimalLiteral.produces valid conversion rates (16 mutations)
472.48 s
[really-safe-money-gen] coverage (833/1610): Money\.ConversionRateOfSpec.USD.INR.DecimalLiteral.fromDecimalLiteral.roundtrips with toDecimalLiteral (53 mutations)
472.49 s
[really-safe-money-gen] coverage (835/1610): Money\.ConversionRateOfSpec.USD.INR.Rational.fromRational.roundtrips with toRational (13 mutations)
472.66 s
[really-safe-money-gen] coverage (829/1610): Money\.ConversionRateOfSpec.USD.USD.compose.produces valid rates (8 mutations)
473.86 s
[really-safe-money-gen] coverage (819/1610): Money\.ConversionRateOfSpec.USD.USD.Ratio.toRatio.produces valid ratios (0 mutations)
475.08 s
[really-safe-money-gen] coverage (852/1610): Money\.ConversionRateOfSpec.USD.BTC.DecimalLiteral.toDecimalLiteral.produces valid literals (37 mutations)
477.41 s
[really-safe-money-gen] coverage (855/1610): Money\.ConversionRateOfSpec.USD.ADA.GenValid (ConversionRateOf USD ADA).genValid \:\: Gen (ConversionRateOf USD ADA).only generates valid '(ConversionRateOf USD ADA)'s (6 mutations)
477.57 s
[really-safe-money-gen] coverage (853/1610): Money\.ConversionRateOfSpec.USD.BTC.DecimalLiteral.fromDecimalLiteral.roundtrips with toDecimalLiteral (53 mutations)
477.63 s
[really-safe-money-gen] coverage (834/1610): Money\.ConversionRateOfSpec.USD.INR.compose.produces valid rates (8 mutations)
477.69 s
[really-safe-money-gen] coverage (823/1610): Money\.ConversionRateOfSpec.USD.USD.DecimalLiteral.fromDecimalLiteral.produces valid conversion rates (16 mutations)
478.51 s
[really-safe-money-gen] coverage (838/1610): Money\.ConversionRateOfSpec.USD.INR.Ratio.toRatio.produces valid ratios (0 mutations)
479.07 s
[really-safe-money-gen] coverage (857/1610): Money\.ConversionRateOfSpec.USD.ADA.DecimalLiteral.fromDecimalLiteral.roundtrips with toDecimalLiteral (53 mutations)
481.03 s
[really-safe-money-gen] coverage (849/1610): Money\.ConversionRateOfSpec.USD.BTC.Rational.fromRational.roundtrips with toRational (13 mutations)
481.56 s
[really-safe-money-gen] coverage (850/1610): Money\.ConversionRateOfSpec.USD.BTC.GenValid (ConversionRateOf USD BTC).genValid \:\: Gen (ConversionRateOf USD BTC).only generates valid '(ConversionRateOf USD BTC)'s (6 mutations)
482.27 s
[really-safe-money-gen] coverage (836/1610): Money\.ConversionRateOfSpec.USD.INR.Rational.fromRational.produces valid conversion rates (13 mutations)
482.69 s
[really-safe-money-gen] coverage (856/1610): Money\.ConversionRateOfSpec.USD.ADA.compose.produces valid rates (8 mutations)
482.90 s
[really-safe-money-gen] coverage (844/1610): Money\.ConversionRateOfSpec.USD.BTC.Ratio.fromRatio.produces valid conversion rates (6 mutations)
483.83 s
[really-safe-money-gen] coverage (824/1610): Money\.ConversionRateOfSpec.USD.USD.DecimalLiteral.fromDecimalLiteral.roundtrips with toDecimalLiteral (53 mutations)
484.07 s
[really-safe-money-gen] coverage (817/1610): Money\.ConversionRateOfSpec.USD.CHF.Ratio.toRatio.produces valid ratios (0 mutations)
484.15 s
[really-safe-money-gen] coverage (847/1610): Money\.ConversionRateOfSpec.USD.BTC.Rational.toRational.produces valid rationals (0 mutations)
485.00 s
[really-safe-money-gen] coverage (864/1610): Money\.ConversionRateOfSpec.USD.ADA.Rational.fromRational.produces valid conversion rates (13 mutations)
485.69 s
[really-safe-money-gen] coverage (865/1610): Money\.ConversionRateOfSpec.USD.ADA.Rational.fromRational.roundtrips with toRational (13 mutations)
485.79 s
[really-safe-money-gen] coverage (861/1610): Money\.ConversionRateOfSpec.USD.ADA.Ratio.toRatio.produces valid ratios (0 mutations)
486.73 s
[really-safe-money-gen] coverage (862/1610): Money\.ConversionRateOfSpec.USD.ADA.Ratio.fromRatio.roundtrips with toRatio (6 mutations)
487.33 s
[really-safe-money-gen] coverage (863/1610): Money\.ConversionRateOfSpec.USD.ADA.Ratio.fromRatio.produces valid conversion rates (6 mutations)
487.72 s
[really-safe-money-gen] coverage (846/1610): Money\.ConversionRateOfSpec.USD.BTC.compose.produces valid rates (8 mutations)
488.63 s
[really-safe-money-gen] coverage (860/1610): Money\.ConversionRateOfSpec.USD.ADA.invert.produces valid rates (8 mutations)
488.63 s
[really-safe-money-gen] coverage (845/1610): Money\.ConversionRateOfSpec.USD.BTC.Ratio.toRatio.produces valid ratios (0 mutations)
488.90 s
[really-safe-money-gen] coverage (859/1610): Money\.ConversionRateOfSpec.USD.ADA.DecimalLiteral.toDecimalLiteral.produces valid literals (37 mutations)
489.10 s
[really-safe-money-gen] coverage (842/1610): Money\.ConversionRateOfSpec.USD.INR.GenValid (ConversionRateOf USD INR).genValid \:\: Gen (ConversionRateOf USD INR).only generates valid '(ConversionRateOf USD INR)'s (6 mutations)
489.58 s
[really-safe-money-gen] coverage (866/1610): Money\.ConversionRateOfSpec.USD.ADA.Rational.toRational.produces valid rationals (0 mutations)
490.30 s
[really-safe-money-gen] coverage (858/1610): Money\.ConversionRateOfSpec.USD.ADA.DecimalLiteral.fromDecimalLiteral.produces valid conversion rates (16 mutations)
491.79 s
[really-safe-money-gen] coverage (854/1610): Money\.ConversionRateOfSpec.USD.BTC.DecimalLiteral.fromDecimalLiteral.produces valid conversion rates (16 mutations)
491.96 s
[really-safe-money-gen] coverage (840/1610): Money\.ConversionRateOfSpec.USD.INR.Ratio.fromRatio.roundtrips with toRatio (6 mutations)
494.12 s
[really-safe-money-gen] coverage (841/1610): Money\.ConversionRateOfSpec.USD.INR.invert.produces valid rates (8 mutations)
494.28 s
[really-safe-money-gen] coverage (851/1610): Money\.ConversionRateOfSpec.USD.BTC.invert.produces valid rates (8 mutations)
494.39 s
[really-safe-money-gen] coverage (843/1610): Money\.ConversionRateOfSpec.USD.BTC.Ratio.fromRatio.roundtrips with toRatio (6 mutations)
495.24 s
[really-safe-money-gen] coverage (878/1610): Money\.ConversionRateOfSpec.BTC.ADA.Rational.toRational.produces valid rationals (0 mutations)
495.28 s
[really-safe-money-gen] coverage (877/1610): Money\.ConversionRateOfSpec.BTC.ADA.Rational.fromRational.roundtrips with toRational (13 mutations)
497.80 s
[really-safe-money-gen] coverage (872/1610): Money\.ConversionRateOfSpec.BTC.ADA.DecimalLiteral.fromDecimalLiteral.roundtrips with toDecimalLiteral (53 mutations)
498.27 s
[really-safe-money-gen] coverage (875/1610): Money\.ConversionRateOfSpec.BTC.ADA.GenValid (ConversionRateOf BTC ADA).genValid \:\: Gen (ConversionRateOf BTC ADA).only generates valid '(ConversionRateOf BTC ADA)'s (6 mutations)
499.32 s
[really-safe-money-gen] coverage (871/1610): Money\.ConversionRateOfSpec.BTC.ADA.DecimalLiteral.fromDecimalLiteral.produces valid conversion rates (16 mutations)
499.82 s
[really-safe-money-gen] coverage (873/1610): Money\.ConversionRateOfSpec.BTC.ADA.compose.produces valid rates (8 mutations)
500.06 s
[really-safe-money-gen] coverage (874/1610): Money\.ConversionRateOfSpec.BTC.ADA.invert.produces valid rates (8 mutations)
500.37 s
[really-safe-money-gen] coverage (876/1610): Money\.ConversionRateOfSpec.BTC.ADA.Rational.fromRational.produces valid conversion rates (13 mutations)
501.87 s
[really-safe-money-gen] coverage (868/1610): Money\.ConversionRateOfSpec.BTC.ADA.Ratio.fromRatio.produces valid conversion rates (6 mutations)
502.00 s
[really-safe-money-gen] coverage (869/1610): Money\.ConversionRateOfSpec.BTC.ADA.Ratio.fromRatio.roundtrips with toRatio (6 mutations)
502.04 s
[really-safe-money-gen] coverage (870/1610): Money\.ConversionRateOfSpec.BTC.ADA.DecimalLiteral.toDecimalLiteral.produces valid literals (37 mutations)
503.52 s
[really-safe-money-gen] coverage (867/1610): Money\.ConversionRateOfSpec.BTC.ADA.Ratio.toRatio.produces valid ratios (0 mutations)
504.18 s
[really-safe-money-gen] coverage (885/1610): Money\.ConversionRateOfSpec.BTC.USD.Ratio.fromRatio.roundtrips with toRatio (6 mutations)
504.73 s
[really-safe-money-gen] coverage (884/1610): Money\.ConversionRateOfSpec.BTC.USD.DecimalLiteral.toDecimalLiteral.produces valid literals (37 mutations)
504.83 s
[really-safe-money-gen] coverage (883/1610): Money\.ConversionRateOfSpec.BTC.USD.DecimalLiteral.fromDecimalLiteral.produces valid conversion rates (16 mutations)
505.16 s
[really-safe-money-gen] coverage (880/1610): Money\.ConversionRateOfSpec.BTC.USD.Rational.fromRational.roundtrips with toRational (13 mutations)
505.65 s
[really-safe-money-gen] coverage (881/1610): Money\.ConversionRateOfSpec.BTC.USD.Rational.fromRational.produces valid conversion rates (13 mutations)
506.38 s
[really-safe-money-gen] coverage (837/1610): Money\.ConversionRateOfSpec.USD.INR.Rational.toRational.produces valid rationals (0 mutations)
506.58 s
[really-safe-money-gen] coverage (879/1610): Money\.ConversionRateOfSpec.BTC.USD.Rational.toRational.produces valid rationals (0 mutations)
506.65 s
[really-safe-money-gen] coverage (848/1610): Money\.ConversionRateOfSpec.USD.BTC.Rational.fromRational.produces valid conversion rates (13 mutations)
506.69 s
[really-safe-money-gen] coverage (839/1610): Money\.ConversionRateOfSpec.USD.INR.Ratio.fromRatio.produces valid conversion rates (6 mutations)
508.96 s
[really-safe-money-gen] coverage (831/1610): Money\.ConversionRateOfSpec.USD.INR.DecimalLiteral.toDecimalLiteral.produces valid literals (37 mutations)
508.96 s
[really-safe-money-gen] coverage (889/1610): Money\.ConversionRateOfSpec.BTC.USD.invert.produces valid rates (8 mutations)
509.17 s
[really-safe-money-gen] coverage (887/1610): Money\.ConversionRateOfSpec.BTC.USD.Ratio.toRatio.produces valid ratios (0 mutations)
511.12 s
[really-safe-money-gen] coverage (891/1610): Money\.ConversionRateOfSpec.BTC.INR.compose.produces valid rates (8 mutations)
511.69 s
[really-safe-money-gen] coverage (894/1610): Money\.ConversionRateOfSpec.BTC.INR.DecimalLiteral.fromDecimalLiteral.produces valid conversion rates (16 mutations)
511.90 s
[really-safe-money-gen] coverage (886/1610): Money\.ConversionRateOfSpec.BTC.USD.Ratio.fromRatio.produces valid conversion rates (6 mutations)
512.34 s
[really-safe-money-gen] coverage (890/1610): Money\.ConversionRateOfSpec.BTC.USD.GenValid (ConversionRateOf BTC USD).genValid \:\: Gen (ConversionRateOf BTC USD).only generates valid '(ConversionRateOf BTC USD)'s (6 mutations)
512.81 s
[really-safe-money-gen] coverage (893/1610): Money\.ConversionRateOfSpec.BTC.INR.DecimalLiteral.toDecimalLiteral.produces valid literals (37 mutations)
513.06 s
[really-safe-money-gen] coverage (888/1610): Money\.ConversionRateOfSpec.BTC.USD.compose.produces valid rates (8 mutations)
515.90 s
[really-safe-money-gen] coverage (906/1610): Money\.ConversionRateOfSpec.BTC.CHF.DecimalLiteral.fromDecimalLiteral.produces valid conversion rates (16 mutations)
516.16 s
[really-safe-money-gen] coverage (895/1610): Money\.ConversionRateOfSpec.BTC.INR.DecimalLiteral.fromDecimalLiteral.roundtrips with toDecimalLiteral (53 mutations)
516.45 s
[really-safe-money-gen] coverage (907/1610): Money\.ConversionRateOfSpec.BTC.CHF.DecimalLiteral.fromDecimalLiteral.roundtrips with toDecimalLiteral (53 mutations)
518.00 s
[really-safe-money-gen] coverage (882/1610): Money\.ConversionRateOfSpec.BTC.USD.DecimalLiteral.fromDecimalLiteral.roundtrips with toDecimalLiteral (53 mutations)
518.12 s
[really-safe-money-gen] coverage (910/1610): Money\.ConversionRateOfSpec.BTC.CHF.Ratio.fromRatio.produces valid conversion rates (6 mutations)
518.14 s
[really-safe-money-gen] coverage (909/1610): Money\.ConversionRateOfSpec.BTC.CHF.Ratio.toRatio.produces valid ratios (0 mutations)
518.39 s
[really-safe-money-gen] coverage (905/1610): Money\.ConversionRateOfSpec.BTC.CHF.DecimalLiteral.toDecimalLiteral.produces valid literals (37 mutations)
519.29 s
[really-safe-money-gen] coverage (904/1610): Money\.ConversionRateOfSpec.BTC.CHF.GenValid (ConversionRateOf BTC CHF).genValid \:\: Gen (ConversionRateOf BTC CHF).only generates valid '(ConversionRateOf BTC CHF)'s (6 mutations)
519.48 s
[really-safe-money-gen] coverage (892/1610): Money\.ConversionRateOfSpec.BTC.INR.GenValid (ConversionRateOf BTC INR).genValid \:\: Gen (ConversionRateOf BTC INR).only generates valid '(ConversionRateOf BTC INR)'s (6 mutations)
520.00 s
[really-safe-money-gen] coverage (911/1610): Money\.ConversionRateOfSpec.BTC.CHF.Ratio.fromRatio.roundtrips with toRatio (6 mutations)
521.93 s
[really-safe-money-gen] coverage (912/1610): Money\.ConversionRateOfSpec.BTC.CHF.Rational.fromRational.roundtrips with toRational (13 mutations)
521.97 s
[really-safe-money-gen] coverage (914/1610): Money\.ConversionRateOfSpec.BTC.CHF.Rational.toRational.produces valid rationals (0 mutations)
522.09 s
[really-safe-money-gen] coverage (915/1610): Money\.ConversionRateOfSpec.BTC.BTC.invert.produces valid rates (8 mutations)
522.41 s
[really-safe-money-gen] coverage (917/1610): Money\.ConversionRateOfSpec.BTC.BTC.Rational.fromRational.produces valid conversion rates (13 mutations)
522.42 s
[really-safe-money-gen] coverage (913/1610): Money\.ConversionRateOfSpec.BTC.CHF.Rational.fromRational.produces valid conversion rates (13 mutations)
522.67 s
[really-safe-money-gen] coverage (916/1610): Money\.ConversionRateOfSpec.BTC.BTC.Rational.toRational.produces valid rationals (0 mutations)
523.49 s
[really-safe-money-gen] coverage (919/1610): Money\.ConversionRateOfSpec.BTC.BTC.compose.produces valid rates (8 mutations)
523.89 s
[really-safe-money-gen] coverage (918/1610): Money\.ConversionRateOfSpec.BTC.BTC.Rational.fromRational.roundtrips with toRational (13 mutations)
524.10 s
[really-safe-money-gen] coverage (920/1610): Money\.ConversionRateOfSpec.BTC.BTC.GenValid (ConversionRateOf BTC BTC).genValid \:\: Gen (ConversionRateOf BTC BTC).only generates valid '(ConversionRateOf BTC BTC)'s (6 mutations)
526.00 s
[really-safe-money-gen] coverage (902/1610): Money\.ConversionRateOfSpec.BTC.INR.Ratio.toRatio.produces valid ratios (0 mutations)
526.09 s
[really-safe-money-gen] coverage (921/1610): Money\.ConversionRateOfSpec.BTC.BTC.DecimalLiteral.toDecimalLiteral.produces valid literals (37 mutations)
526.91 s
[really-safe-money-gen] coverage (922/1610): Money\.ConversionRateOfSpec.BTC.BTC.DecimalLiteral.fromDecimalLiteral.produces valid conversion rates (16 mutations)
528.24 s
[really-safe-money-gen] coverage (901/1610): Money\.ConversionRateOfSpec.BTC.INR.Ratio.fromRatio.roundtrips with toRatio (6 mutations)
528.67 s
[really-safe-money-gen] coverage (900/1610): Money\.ConversionRateOfSpec.BTC.INR.Ratio.fromRatio.produces valid conversion rates (6 mutations)
528.92 s
[really-safe-money-gen] coverage (899/1610): Money\.ConversionRateOfSpec.BTC.INR.Rational.toRational.produces valid rationals (0 mutations)
529.94 s
[really-safe-money-gen] coverage (897/1610): Money\.ConversionRateOfSpec.BTC.INR.Rational.fromRational.roundtrips with toRational (13 mutations)
530.64 s
[really-safe-money-gen] coverage (896/1610): Money\.ConversionRateOfSpec.BTC.INR.invert.produces valid rates (8 mutations)
530.85 s
[really-safe-money-gen] coverage (898/1610): Money\.ConversionRateOfSpec.BTC.INR.Rational.fromRational.produces valid conversion rates (13 mutations)
534.03 s
[really-safe-money-gen] coverage (928/1610): Money\.QuantisationFactorSpec.digits.works on 10 (0 mutations)
534.31 s
[really-safe-money-gen] coverage (932/1610): Money\.QuantisationFactorSpec.digits.works on 1 (0 mutations)
534.97 s
[really-safe-money-gen] coverage (933/1610): Money\.QuantisationFactorSpec.DecimalLiteral.fromDecimalLiteral.fails to render a non-1 integer (23 mutations)
536.06 s
[really-safe-money-gen] coverage (935/1610): Money\.QuantisationFactorSpec.DecimalLiteral.fromDecimalLiteral.produces valid factors (37 mutations)
536.65 s
[really-safe-money-gen] coverage (939/1610): Money\.QuantisationFactorSpec.DecimalLiteral.can turn DecimalLiteral Nothing 1 1 into quantisation factor 10 (31 mutations)
536.93 s
[really-safe-money-gen] coverage (936/1610): Money\.QuantisationFactorSpec.DecimalLiteral.fromDecimalLiteral.fails to render a 0 (8 mutations)
537.87 s
[really-safe-money-gen] coverage (934/1610): Money\.QuantisationFactorSpec.DecimalLiteral.fromDecimalLiteral.fails to render negative fractionals (17 mutations)
538.29 s
[really-safe-money-gen] coverage (944/1610): Money\.QuantisationFactorSpec.DecimalLiteral.can turn DecimalLiteral Nothing 2 2 into quantisation factor 50 (31 mutations)
538.59 s
[really-safe-money-gen] coverage (947/1610): Money\.QuantisationFactorSpec.DecimalLiteral.can turn DecimalLiteral Nothing 5 2 into quantisation factor 20 (31 mutations)
539.08 s
[really-safe-money-gen] coverage (946/1610): Money\.QuantisationFactorSpec.DecimalLiteral.can turn quantisation factor 20 into DecimalLiteral Nothing 5 2 (38 mutations)
539.50 s
[really-safe-money-gen] coverage (950/1610): Money\.QuantisationFactorSpec.DecimalLiteral.can turn quantisation factor 1000 into DecimalLiteral Nothing 1 3 (38 mutations)
539.76 s
[really-safe-money-gen] coverage (945/1610): Money\.QuantisationFactorSpec.DecimalLiteral.can turn DecimalLiteral Nothing 1 0 into quantisation factor 1 (31 mutations)
540.07 s
[really-safe-money-gen] coverage (948/1610): Money\.QuantisationFactorSpec.DecimalLiteral.can turn quantisation factor 1 into DecimalLiteral Nothing 1 0 (32 mutations)
540.68 s
[really-safe-money-gen] coverage (949/1610): Money\.QuantisationFactorSpec.DecimalLiteral.can turn DecimalLiteral Nothing 1 2 into quantisation factor 100 (31 mutations)
540.95 s
[really-safe-money-gen] coverage (952/1610): Money\.MultiAccountSpec.subtractAmount.produces valid amounts (44 mutations)
541.40 s
[really-safe-money-gen] coverage (951/1610): Money\.QuantisationFactorSpec.GenValid QuantisationFactor.genValid \:\: Gen QuantisationFactor.only generates valid 'QuantisationFactor's (6 mutations)
541.87 s
[really-safe-money-gen] coverage (953/1610): Money\.MultiAccountSpec.subtractAmount.computes this example correctly (24 mutations)
542.84 s
[really-safe-money-gen] coverage (954/1610): Money\.MultiAccountSpec.subtractAmount.adds a non zero amount (5 mutations)
543.26 s
[really-safe-money-gen] coverage (931/1610): Money\.QuantisationFactorSpec.digits.produces valid numbers of digits (0 mutations)
544.11 s
[really-safe-money-gen] coverage (929/1610): Money\.QuantisationFactorSpec.digits.works on 20 (0 mutations)
545.32 s
[really-safe-money-gen] coverage (927/1610): Money\.QuantisationFactorSpec.fromWord32.produces valid quantisation factors (6 mutations)
545.58 s
[really-safe-money-gen] coverage (926/1610): Money\.ConversionRateOfSpec.BTC.BTC.Ratio.toRatio.produces valid ratios (0 mutations)
546.11 s
[really-safe-money-gen] coverage (925/1610): Money\.ConversionRateOfSpec.BTC.BTC.Ratio.fromRatio.produces valid conversion rates (6 mutations)
546.73 s
[really-safe-money-gen] coverage (941/1610): Money\.QuantisationFactorSpec.DecimalLiteral.can turn quantisation factor 50 into DecimalLiteral Nothing 2 2 (38 mutations)
547.59 s
[really-safe-money-gen] coverage (930/1610): Money\.QuantisationFactorSpec.digits.works on 100 (0 mutations)
547.78 s
[really-safe-money-gen] coverage (923/1610): Money\.ConversionRateOfSpec.BTC.BTC.DecimalLiteral.fromDecimalLiteral.roundtrips with toDecimalLiteral (53 mutations)
549.68 s
[really-safe-money-gen] coverage (924/1610): Money\.ConversionRateOfSpec.BTC.BTC.Ratio.fromRatio.roundtrips with toRatio (6 mutations)
551.47 s
[really-safe-money-gen] coverage (962/1610): Money\.MultiAccountSpec.Eq (MultiAccount Currency).(==) \:\: (MultiAccount Currency) -> (MultiAccount Currency) -> Bool.is reflexive for "valid (MultiAccount Currency)"s (4 mutations)
551.86 s
[really-safe-money-gen] coverage (961/1610): Money\.MultiAccountSpec.GenValid (MultiAccount Currency).genValid \:\: Gen (MultiAccount Currency).only generates valid '(MultiAccount Currency)'s (15 mutations)
552.73 s
[really-safe-money-gen] coverage (963/1610): Money\.MultiAccountSpec.Eq (MultiAccount Currency).(==) \:\: (MultiAccount Currency) -> (MultiAccount Currency) -> Bool.is symmetric for "valid (MultiAccount Currency)"s (1 mutations)
553.15 s
[really-safe-money-gen] coverage (964/1610): Money\.MultiAccountSpec.Eq (MultiAccount Currency).(==) \:\: (MultiAccount Currency) -> (MultiAccount Currency) -> Bool.is transitive for "valid (MultiAccount Currency)"s (1 mutations)
553.46 s
[really-safe-money-gen] coverage (965/1610): Money\.MultiAccountSpec.Eq (MultiAccount Currency).(==) \:\: (MultiAccount Currency) -> (MultiAccount Currency) -> Bool.is equivalent to (\\a b -> not $ a /= b) for "valid (MultiAccount Currency)"s (1 mutations)
554.41 s
[really-safe-money-gen] coverage (966/1610): Money\.MultiAccountSpec.Eq (MultiAccount Currency).(/=) \:\: (MultiAccount Currency) -> (MultiAccount Currency) -> Bool.is equivalent to (\\a b -> not $ a == b) for "valid (MultiAccount Currency)"s (1 mutations)
554.86 s
[really-safe-money-gen] coverage (940/1610): Money\.QuantisationFactorSpec.DecimalLiteral.can turn quantisation factor 100 into DecimalLiteral Nothing 1 2 (38 mutations)
556.35 s
[really-safe-money-gen] coverage (943/1610): Money\.QuantisationFactorSpec.DecimalLiteral.can turn quantisation factor 10 into DecimalLiteral Nothing 1 1 (38 mutations)
556.76 s
[really-safe-money-gen] coverage (958/1610): Money\.MultiAccountSpec.add.produces valid amounts (44 mutations)
556.93 s
[really-safe-money-gen] coverage (960/1610): Money\.MultiAccountSpec.add.has a left-identity\: zero (6 mutations)
557.34 s
[really-safe-money-gen] coverage (942/1610): Money\.QuantisationFactorSpec.DecimalLiteral.can turn DecimalLiteral Nothing 1 3 into quantisation factor 1000 (31 mutations)
557.78 s
[really-safe-money-gen] coverage (956/1610): Money\.MultiAccountSpec.add.has a right-identity\: zero (4 mutations)
558.22 s
[really-safe-money-gen] coverage (957/1610): Money\.MultiAccountSpec.add.is commutative (33 mutations)
558.31 s
[really-safe-money-gen] coverage (967/1610): Money\.MultiAccountSpec.Eq (MultiAccount Currency).(/=) \:\: (MultiAccount Currency) -> (MultiAccount Currency) -> Bool.is antireflexive for "valid (MultiAccount Currency)"s (4 mutations)
559.78 s
[really-safe-money-gen] coverage (971/1610): Money\.MultiAccountSpec.fromAccount.produces valid amounts (18 mutations)
560.19 s
[really-safe-money-gen] coverage (968/1610): Money\.MultiAccountSpec.sum.produces valid amounts (44 mutations)
560.70 s
[really-safe-money-gen] coverage (969/1610): Money\.MultiAccountSpec.Show (MultiAccount Currency) and Read (MultiAccount Currency).are implemented such that read \. show == id for valid values (4 mutations)
561.13 s
[really-safe-money-gen] coverage (959/1610): Money\.MultiAccountSpec.add.is associative when both succeed (33 mutations)
561.26 s
[really-safe-money-gen] coverage (973/1610): Money\.MultiAccountSpec.Ord (MultiAccount Currency).(>=) \:\: (MultiAccount Currency) -> (MultiAccount Currency) -> Bool.is reflexive for "valid (MultiAccount Currency)"'s (4 mutations)
561.96 s
[really-safe-money-gen] coverage (975/1610): Money\.MultiAccountSpec.Ord (MultiAccount Currency).(>=) \:\: (MultiAccount Currency) -> (MultiAccount Currency) -> Bool.is antisymmetric for "valid (MultiAccount Currency)"'s (4 mutations)
562.57 s
[really-safe-money-gen] coverage (974/1610): Money\.MultiAccountSpec.Ord (MultiAccount Currency).(>=) \:\: (MultiAccount Currency) -> (MultiAccount Currency) -> Bool.is transitive for "valid (MultiAccount Currency)"'s (4 mutations)
563.07 s
[really-safe-money-gen] coverage (976/1610): Money\.MultiAccountSpec.Ord (MultiAccount Currency).(>=) \:\: (MultiAccount Currency) -> (MultiAccount Currency) -> Bool.is equivalent to (\\a b -> compare a b /= LT) for "valid (MultiAccount Currency)"'s (4 mutations)
564.09 s
[really-safe-money-gen] coverage (978/1610): Money\.MultiAccountSpec.Ord (MultiAccount Currency).(>) \:\: (MultiAccount Currency) -> (MultiAccount Currency) -> Bool.is equivalent to (\\a b -> compare a b == GT) for "valid (MultiAccount Currency)"'s (4 mutations)
564.14 s
[really-safe-money-gen] coverage (977/1610): Money\.MultiAccountSpec.Ord (MultiAccount Currency)."min \:\: (MultiAccount Currency -> MultiAccount Currency -> MultiAccount Currency)".is equivalent to (\\a b -> if a <= b then a else b) for "valid (MultiAccount Currency)"'s (4 mutations)
565.11 s
[really-safe-money-gen] coverage (979/1610): Money\.MultiAccountSpec.Ord (MultiAccount Currency).(>) \:\: (MultiAccount Currency) -> (MultiAccount Currency) -> Bool.is antireflexive for "valid (MultiAccount Currency)"'s (4 mutations)
565.97 s
[really-safe-money-gen] coverage (980/1610): Money\.MultiAccountSpec.Ord (MultiAccount Currency).(>) \:\: (MultiAccount Currency) -> (MultiAccount Currency) -> Bool.is transitive for "valid (MultiAccount Currency)"'s (4 mutations)
567.55 s
[really-safe-money-gen] coverage (981/1610): Money\.MultiAccountSpec.Ord (MultiAccount Currency).(<=) \:\: (MultiAccount Currency) -> (MultiAccount Currency) -> Bool.is equivalent to (\\a b -> compare a b /= GT) for "valid (MultiAccount Currency)"'s (4 mutations)
568.61 s
[really-safe-money-gen] coverage (982/1610): Money\.MultiAccountSpec.Ord (MultiAccount Currency).(<=) \:\: (MultiAccount Currency) -> (MultiAccount Currency) -> Bool.is reflexive for "valid (MultiAccount Currency)"'s (4 mutations)
569.17 s
[really-safe-money-gen] coverage (984/1610): Money\.MultiAccountSpec.Ord (MultiAccount Currency).(<=) \:\: (MultiAccount Currency) -> (MultiAccount Currency) -> Bool.is transitive for "valid (MultiAccount Currency)"'s (4 mutations)
569.57 s
[really-safe-money-gen] coverage (983/1610): Money\.MultiAccountSpec.Ord (MultiAccount Currency).(<=) \:\: (MultiAccount Currency) -> (MultiAccount Currency) -> Bool.is antisymmetric for "valid (MultiAccount Currency)"'s (4 mutations)
570.35 s
[really-safe-money-gen] coverage (985/1610): Money\.MultiAccountSpec.Ord (MultiAccount Currency).(<) \:\: (MultiAccount Currency) -> (MultiAccount Currency) -> Bool.is transitive for "valid (MultiAccount Currency)"'s (4 mutations)
571.29 s
[really-safe-money-gen] coverage (986/1610): Money\.MultiAccountSpec.Ord (MultiAccount Currency).(<) \:\: (MultiAccount Currency) -> (MultiAccount Currency) -> Bool.is antireflexive for "valid (MultiAccount Currency)"'s (4 mutations)
571.85 s
[really-safe-money-gen] coverage (987/1610): Money\.MultiAccountSpec.Ord (MultiAccount Currency).(<) \:\: (MultiAccount Currency) -> (MultiAccount Currency) -> Bool.is equivalent to (\\a b -> compare a b == LT) for "valid (MultiAccount Currency)"'s (4 mutations)
573.07 s
[really-safe-money-gen] coverage (990/1610): Money\.MultiAccountSpec.subtract.has a right-identity\: zero (4 mutations)
573.69 s
[really-safe-money-gen] coverage (989/1610): Money\.MultiAccountSpec.subtract.produces valid amounts (44 mutations)
574.13 s
[really-safe-money-gen] coverage (993/1610): Money\.MultiAccountSpec.addAmount.adds a non zero amount (5 mutations)
574.13 s
[really-safe-money-gen] coverage (988/1610): Money\.MultiAccountSpec.Ord (MultiAccount Currency)."max \:\: (MultiAccount Currency -> MultiAccount Currency -> MultiAccount Currency)".is equivalent to (\\a b -> if a >= b then a else b) for "valid (MultiAccount Currency)"'s (4 mutations)
574.13 s
[really-safe-money-gen] coverage (992/1610): Money\.MultiAccountSpec.addAmount.computes this example correctly (18 mutations)
574.84 s
[really-safe-money-gen] coverage (991/1610): Money\.MultiAccountSpec.addAmount.produces valid amounts (45 mutations)
575.29 s
[really-safe-money-gen] coverage (972/1610): Money\.MultiAccountSpec.addAccount.produces valid amounts (46 mutations)
575.69 s
[really-safe-money-gen] coverage (955/1610): Money\.MultiAccountSpec.subtractAmount.removes a zero amount (24 mutations)
576.16 s
[really-safe-money-gen] coverage (970/1610): Money\.MultiAccountSpec.zero.is valid (2 mutations)
577.31 s
[really-safe-money-gen] coverage (1000/1610): Money\.AmountOfSpec.USD.toMinimalQuantisations.produces valid Int64s (0 mutations)
577.56 s
[really-safe-money-gen] coverage (908/1610): Money\.ConversionRateOfSpec.BTC.CHF.invert.produces valid rates (8 mutations)
577.80 s
[really-safe-money-gen] coverage (903/1610): Money\.ConversionRateOfSpec.BTC.CHF.compose.produces valid rates (8 mutations)
577.99 s
[really-safe-money-gen] coverage (997/1610): Money\.MultiAccountSpec.lookupAccount.produces valid amounts (4 mutations)
578.41 s
[really-safe-money-gen] coverage (999/1610): Money\.MultiAccountSpec.convertAll.produces the right result in this example (23 mutations)
579.39 s
[really-safe-money-gen] coverage (1005/1610): Money\.AmountOfSpec.USD.fromRatio.roundtrips with toRatio (19 mutations)
580.21 s
[really-safe-money-gen] coverage (1007/1610): Money\.AmountOfSpec.USD.fromRatio.succeeds on 77 (19 mutations)
580.65 s
[really-safe-money-gen] coverage (1008/1610): Money\.AmountOfSpec.USD.fromRatio.fails on NaN (2 mutations)
580.75 s
[really-safe-money-gen] coverage (1006/1610): Money\.AmountOfSpec.USD.fromRatio.produces valid AmountOfs (19 mutations)
582.31 s
[really-safe-money-gen] coverage (1009/1610): Money\.AmountOfSpec.USD.fromRatio.succeeds on 0 (20 mutations)
582.36 s
[really-safe-money-gen] coverage (1010/1610): Money\.AmountOfSpec.USD.fromRatio.fails on 7\.123 (13 mutations)
584.31 s
[really-safe-money-gen] coverage (1011/1610): Money\.AmountOfSpec.USD.fromRatio.fails on +Infinity (2 mutations)
584.63 s
[really-safe-money-gen] coverage (1012/1610): Money\.AmountOfSpec.USD.add.matches what you would get with Integer, if nothing fails (9 mutations)
584.76 s
[really-safe-money-gen] coverage (1013/1610): Money\.AmountOfSpec.USD.add.has a right-identity\: zero (10 mutations)
586.23 s
[really-safe-money-gen] coverage (1014/1610): Money\.AmountOfSpec.USD.add.produces valid amounts (9 mutations)
586.68 s
[really-safe-money-gen] coverage (1015/1610): Money\.AmountOfSpec.USD.add.has a left-identity\: zero (10 mutations)
586.79 s
[really-safe-money-gen] coverage (1016/1610): Money\.AmountOfSpec.USD.add.is commutative (9 mutations)
588.92 s
[really-safe-money-gen] coverage (1017/1610): Money\.AmountOfSpec.USD.add.is associative when both succeed (9 mutations)
589.78 s
[really-safe-money-gen] coverage (1019/1610): Money\.AmountOfSpec.USD.fromRational.roundtrips with toRational (19 mutations)
590.18 s
[really-safe-money-gen] coverage (1021/1610): Money\.AmountOfSpec.USD.fromRational.fails on +Infinity (2 mutations)
590.19 s
[really-safe-money-gen] coverage (1020/1610): Money\.AmountOfSpec.USD.fromRational.fails on -1 (8 mutations)
590.61 s
[really-safe-money-gen] coverage (1022/1610): Money\.AmountOfSpec.USD.fromRational.produces valid Amounts (19 mutations)
590.64 s
[really-safe-money-gen] coverage (1018/1610): Money\.AmountOfSpec.USD.fromMinimalQuantisations.produces valid amounts (0 mutations)
591.38 s
[really-safe-money-gen] coverage (1023/1610): Money\.AmountOfSpec.USD.fromRational.fails on NaN (2 mutations)
592.09 s
[really-safe-money-gen] coverage (1024/1610): Money\.AmountOfSpec.USD.fromRational.fails on -Infinity (2 mutations)
592.12 s
[really-safe-money-gen] coverage (1025/1610): Money\.AmountOfSpec.USD.fromRational.succeeds on 1 (19 mutations)
593.44 s
[really-safe-money-gen] coverage (1003/1610): Money\.AmountOfSpec.USD.CHF.convert.produces valid amounts (25 mutations)
593.53 s
[really-safe-money-gen] coverage (1027/1610): Money\.AmountOfSpec.USD.toRational.produces valid Rationals (0 mutations)
593.98 s
[really-safe-money-gen] coverage (995/1610): Money\.MultiAccountSpec.subtractAccount.produces valid amounts (46 mutations)
594.24 s
[really-safe-money-gen] coverage (1002/1610): Money\.AmountOfSpec.USD.CHF.rate.produces valid amounts (10 mutations)
594.54 s
[really-safe-money-gen] coverage (1028/1610): Money\.AmountOfSpec.USD.GenValid (AmountOf * USD).genValid \:\: Gen (AmountOf * USD).only generates valid '(AmountOf * USD)'s (0 mutations)
595.96 s
[really-safe-money-gen] coverage (1030/1610): Money\.AmountOfSpec.USD.Show (AmountOf * USD) and Read (AmountOf * USD).are implemented such that read \. show == id for valid values (1 mutations)
596.08 s
[really-safe-money-gen] coverage (1032/1610): Money\.AmountOfSpec.USD.BTC.rate.produces valid amounts (10 mutations)
596.27 s
[really-safe-money-gen] coverage (1031/1610): Money\.AmountOfSpec.USD.BTC.convert.produces valid amounts (25 mutations)
596.37 s
[really-safe-money-gen] coverage (937/1610): Money\.QuantisationFactorSpec.DecimalLiteral.toDecimalLiteral.roundtrips with fromDecimalLiteral (70 mutations)
596.79 s
[really-safe-money-gen] coverage (938/1610): Money\.QuantisationFactorSpec.DecimalLiteral.toDecimalLiteral.produces valid literals (40 mutations)
597.47 s
[really-safe-money-gen] coverage (1034/1610): Money\.AmountOfSpec.USD.fromDouble.succeeds on 0 (30 mutations)
598.35 s
[really-safe-money-gen] coverage (1033/1610): Money\.AmountOfSpec.USD.fromDouble.produces valid amounts (30 mutations)
598.82 s
[really-safe-money-gen] coverage (1035/1610): Money\.AmountOfSpec.USD.fromDouble.succeeds on 1 (30 mutations)
599.82 s
[really-safe-money-gen] coverage (1036/1610): Money\.AmountOfSpec.USD.fromDouble.fails on +Infinity (10 mutations)
601.12 s
[really-safe-money-gen] coverage (1037/1610): Money\.AmountOfSpec.USD.fromDouble.fails on -Infinity (6 mutations)
601.17 s
[really-safe-money-gen] coverage (1038/1610): Money\.AmountOfSpec.USD.fromDouble.fails on NaN (8 mutations)
601.85 s
[really-safe-money-gen] coverage (1039/1610): Money\.AmountOfSpec.USD.fromDouble.fails on -1 (6 mutations)
602.44 s
[really-safe-money-gen] coverage (1041/1610): Money\.AmountOfSpec.USD.INR.convert.produces valid amounts (25 mutations)
602.99 s
[really-safe-money-gen] coverage (998/1610): Money\.MultiAccountSpec.convertAll.produces valid results when converting two currencies to one (28 mutations)
605.11 s
[really-safe-money-gen] coverage (1044/1610): Money\.AmountOfSpec.USD.USD.convert.produces valid amounts (25 mutations)
606.00 s
[really-safe-money-gen] coverage (1029/1610): Money\.AmountOfSpec.USD.zero.is valid (1 mutations)
606.09 s
[really-safe-money-gen] coverage (1042/1610): Money\.AmountOfSpec.USD.INR.rate.produces valid amounts (10 mutations)
606.52 s
[really-safe-money-gen] coverage (1043/1610): Money\.AmountOfSpec.USD.USD.rate.produces valid amounts (10 mutations)
607.09 s
[really-safe-money-gen] coverage (994/1610): Money\.MultiAccountSpec.addAmount.removes a zero amount (24 mutations)
607.29 s
[really-safe-money-gen] coverage (1040/1610): Money\.AmountOfSpec.USD.fraction.produces valid amounts (17 mutations)
607.60 s
[really-safe-money-gen] coverage (1026/1610): Money\.AmountOfSpec.USD.fromRational.succeeds on 0 (19 mutations)
608.69 s
[really-safe-money-gen] coverage (1045/1610): Money\.AmountOfSpec.USD.sum.produces valid amounts (10 mutations)
609.10 s
[really-safe-money-gen] coverage (1001/1610): Money\.AmountOfSpec.USD.toMinimalQuantisations.roundtrips with fromMinimalQuantisations (0 mutations)
610.01 s
[really-safe-money-gen] coverage (1047/1610): Money\.AmountOfSpec.USD.subtract.matches what you would get with Integer, if nothing fails (10 mutations)
610.66 s
[really-safe-money-gen] coverage (1046/1610): Money\.AmountOfSpec.USD.sum.matches what you would get with Integer, if nothing fails (10 mutations)
610.76 s
[really-safe-money-gen] coverage (1053/1610): Money\.AmountOfSpec.USD.Ord (AmountOf * USD).(>) \:\: (AmountOf * USD) -> (AmountOf * USD) -> Bool.is equivalent to (\\a b -> compare a b == GT) for "valid (AmountOf * USD)"'s (0 mutations)
611.63 s
[really-safe-money-gen] coverage (996/1610): Money\.MultiAccountSpec.lookupAccount.can find an added amount (7 mutations)
612.28 s
[really-safe-money-gen] coverage (1055/1610): Money\.AmountOfSpec.USD.Ord (AmountOf * USD).(<=) \:\: (AmountOf * USD) -> (AmountOf * USD) -> Bool.is reflexive for "valid (AmountOf * USD)"'s (0 mutations)
612.92 s
[really-safe-money-gen] coverage (1057/1610): Money\.AmountOfSpec.USD.Ord (AmountOf * USD).(<=) \:\: (AmountOf * USD) -> (AmountOf * USD) -> Bool.is equivalent to (\\a b -> compare a b /= GT) for "valid (AmountOf * USD)"'s (0 mutations)
613.20 s
[really-safe-money-gen] coverage (1052/1610): Money\.AmountOfSpec.USD.Ord (AmountOf * USD).(>) \:\: (AmountOf * USD) -> (AmountOf * USD) -> Bool.is transitive for "valid (AmountOf * USD)"'s (0 mutations)
613.30 s
[really-safe-money-gen] coverage (1056/1610): Money\.AmountOfSpec.USD.Ord (AmountOf * USD).(<=) \:\: (AmountOf * USD) -> (AmountOf * USD) -> Bool.is antisymmetric for "valid (AmountOf * USD)"'s (0 mutations)
613.39 s
[really-safe-money-gen] coverage (1050/1610): Money\.AmountOfSpec.USD.Ord (AmountOf * USD).(<) \:\: (AmountOf * USD) -> (AmountOf * USD) -> Bool.is equivalent to (\\a b -> compare a b == LT) for "valid (AmountOf * USD)"'s (0 mutations)
614.29 s
[really-safe-money-gen] coverage (1048/1610): Money\.AmountOfSpec.USD.Ord (AmountOf * USD).(<) \:\: (AmountOf * USD) -> (AmountOf * USD) -> Bool.is antireflexive for "valid (AmountOf * USD)"'s (0 mutations)
614.96 s
[really-safe-money-gen] coverage (1049/1610): Money\.AmountOfSpec.USD.Ord (AmountOf * USD).(<) \:\: (AmountOf * USD) -> (AmountOf * USD) -> Bool.is transitive for "valid (AmountOf * USD)"'s (0 mutations)
616.10 s
[really-safe-money-gen] coverage (1051/1610): Money\.AmountOfSpec.USD.Ord (AmountOf * USD).(>) \:\: (AmountOf * USD) -> (AmountOf * USD) -> Bool.is antireflexive for "valid (AmountOf * USD)"'s (0 mutations)
616.60 s
[really-safe-money-gen] coverage (1061/1610): Money\.AmountOfSpec.USD.Ord (AmountOf * USD).(>=) \:\: (AmountOf * USD) -> (AmountOf * USD) -> Bool.is antisymmetric for "valid (AmountOf * USD)"'s (0 mutations)
617.32 s
[really-safe-money-gen] coverage (1063/1610): Money\.AmountOfSpec.USD.Ord (AmountOf * USD).(>=) \:\: (AmountOf * USD) -> (AmountOf * USD) -> Bool.is transitive for "valid (AmountOf * USD)"'s (0 mutations)
617.83 s
[really-safe-money-gen] coverage (1064/1610): Money\.AmountOfSpec.USD.toRatio.produces valid Rationals when the quantisation factor is nonzero (0 mutations)
619.41 s
[really-safe-money-gen] coverage (1065/1610): Money\.AmountOfSpec.USD.format.produces valid strings (3 mutations)
619.92 s
[really-safe-money-gen] coverage (1066/1610): Money\.AmountOfSpec.USD.multiply.matches what you would get with Integer, if nothing fails (9 mutations)
620.19 s
[really-safe-money-gen] coverage (1068/1610): Money\.AmountOfSpec.USD.multiply.is distributive with add when both succeed (17 mutations)
620.82 s
[really-safe-money-gen] coverage (1058/1610): Money\.AmountOfSpec.USD.Ord (AmountOf * USD)."min \:\: (AmountOf * USD -> AmountOf * USD -> AmountOf * USD)".is equivalent to (\\a b -> if a <= b then a else b) for "valid (AmountOf * USD)"'s (0 mutations)
622.82 s
[really-safe-money-gen] coverage (1059/1610): Money\.AmountOfSpec.USD.Ord (AmountOf * USD)."max \:\: (AmountOf * USD -> AmountOf * USD -> AmountOf * USD)".is equivalent to (\\a b -> if a >= b then a else b) for "valid (AmountOf * USD)"'s (0 mutations)
623.41 s
[really-safe-money-gen] coverage (1004/1610): Money\.AmountOfSpec.USD.fromRatio.succeeds on 1 (19 mutations)
624.26 s
[really-safe-money-gen] coverage (1072/1610): Money\.AmountOfSpec.USD.distribute.Show (Distribution (AmountOf * USD)) and Read (Distribution (AmountOf * USD)).are implemented such that read \. show == id for valid values (1 mutations)
624.30 s
[really-safe-money-gen] coverage (1077/1610): Money\.AmountOfSpec.USD.distribute.Eq (Distribution (AmountOf * USD)).(==) \:\: (Distribution (AmountOf * USD)) -> (Distribution (AmountOf * USD)) -> Bool.is transitive for "valid (Distribution (AmountOf * USD))"s (1 mutations)
624.30 s
[really-safe-money-gen] coverage (1060/1610): Money\.AmountOfSpec.USD.Ord (AmountOf * USD).(>=) \:\: (AmountOf * USD) -> (AmountOf * USD) -> Bool.is equivalent to (\\a b -> compare a b /= LT) for "valid (AmountOf * USD)"'s (0 mutations)
624.86 s
[really-safe-money-gen] coverage (1075/1610): Money\.AmountOfSpec.USD.distribute.Eq (Distribution (AmountOf * USD)).(/=) \:\: (Distribution (AmountOf * USD)) -> (Distribution (AmountOf * USD)) -> Bool.is equivalent to (\\a b -> not $ a == b) for "valid (Distribution (AmountOf * USD))"s (1 mutations)
625.09 s
[really-safe-money-gen] coverage (1079/1610): Money\.AmountOfSpec.USD.distribute.Eq (Distribution (AmountOf * USD)).(==) \:\: (Distribution (AmountOf * USD)) -> (Distribution (AmountOf * USD)) -> Bool.is symmetric for "valid (Distribution (AmountOf * USD))"s (1 mutations)
625.62 s
[really-safe-money-gen] coverage (1081/1610): Money\.AmountOfSpec.USD.ADA.convert.produces valid amounts (25 mutations)
626.36 s
[really-safe-money-gen] coverage (1082/1610): Money\.AmountOfSpec.USD.ADA.rate.produces valid amounts (10 mutations)
627.64 s
[really-safe-money-gen] coverage (1083/1610): Money\.AmountOfSpec.USD.Eq (AmountOf * USD).(==) \:\: (AmountOf * USD) -> (AmountOf * USD) -> Bool.is equivalent to (\\a b -> not $ a /= b) for "valid (AmountOf * USD)"s (0 mutations)
628.65 s
[really-safe-money-gen] coverage (1084/1610): Money\.AmountOfSpec.USD.Eq (AmountOf * USD).(==) \:\: (AmountOf * USD) -> (AmountOf * USD) -> Bool.is symmetric for "valid (AmountOf * USD)"s (0 mutations)
628.97 s
[really-safe-money-gen] coverage (1085/1610): Money\.AmountOfSpec.USD.Eq (AmountOf * USD).(==) \:\: (AmountOf * USD) -> (AmountOf * USD) -> Bool.is reflexive for "valid (AmountOf * USD)"s (0 mutations)
630.24 s
[really-safe-money-gen] coverage (1089/1610): Money\.AmountOfSpec.ADA.BTC.convert.produces valid amounts (25 mutations)
630.30 s
[really-safe-money-gen] coverage (1087/1610): Money\.AmountOfSpec.USD.Eq (AmountOf * USD).(/=) \:\: (AmountOf * USD) -> (AmountOf * USD) -> Bool.is equivalent to (\\a b -> not $ a == b) for "valid (AmountOf * USD)"s (0 mutations)
630.41 s
[really-safe-money-gen] coverage (1086/1610): Money\.AmountOfSpec.USD.Eq (AmountOf * USD).(==) \:\: (AmountOf * USD) -> (AmountOf * USD) -> Bool.is transitive for "valid (AmountOf * USD)"s (0 mutations)
630.49 s
[really-safe-money-gen] coverage (1088/1610): Money\.AmountOfSpec.USD.Eq (AmountOf * USD).(/=) \:\: (AmountOf * USD) -> (AmountOf * USD) -> Bool.is antireflexive for "valid (AmountOf * USD)"s (0 mutations)
632.06 s
[really-safe-money-gen] coverage (1091/1610): Money\.AmountOfSpec.ADA.Eq (AmountOf * ADA).(==) \:\: (AmountOf * ADA) -> (AmountOf * ADA) -> Bool.is transitive for "valid (AmountOf * ADA)"s (0 mutations)
632.19 s
[really-safe-money-gen] coverage (1090/1610): Money\.AmountOfSpec.ADA.BTC.rate.produces valid amounts (10 mutations)
632.94 s
[really-safe-money-gen] coverage (1092/1610): Money\.AmountOfSpec.ADA.Eq (AmountOf * ADA).(==) \:\: (AmountOf * ADA) -> (AmountOf * ADA) -> Bool.is symmetric for "valid (AmountOf * ADA)"s (0 mutations)
633.47 s
[really-safe-money-gen] coverage (1093/1610): Money\.AmountOfSpec.ADA.Eq (AmountOf * ADA).(==) \:\: (AmountOf * ADA) -> (AmountOf * ADA) -> Bool.is equivalent to (\\a b -> not $ a /= b) for "valid (AmountOf * ADA)"s (0 mutations)
634.51 s
[really-safe-money-gen] coverage (1074/1610): Money\.AmountOfSpec.USD.distribute.produces results that sum up to the greater whole (29 mutations)
634.95 s
[really-safe-money-gen] coverage (1096/1610): Money\.AmountOfSpec.ADA.Eq (AmountOf * ADA).(/=) \:\: (AmountOf * ADA) -> (AmountOf * ADA) -> Bool.is equivalent to (\\a b -> not $ a == b) for "valid (AmountOf * ADA)"s (0 mutations)
635.37 s
[really-safe-money-gen] coverage (1067/1610): Money\.AmountOfSpec.USD.multiply.is absorbed by 0 (10 mutations)
635.68 s
[really-safe-money-gen] coverage (1073/1610): Money\.AmountOfSpec.USD.distribute.produces valid amounts (21 mutations)
637.14 s
[really-safe-money-gen] coverage (1078/1610): Money\.AmountOfSpec.USD.distribute.Eq (Distribution (AmountOf * USD)).(==) \:\: (Distribution (AmountOf * USD)) -> (Distribution (AmountOf * USD)) -> Bool.is reflexive for "valid (Distribution (AmountOf * USD))"s (1 mutations)
638.38 s
[really-safe-money-gen] coverage (1076/1610): Money\.AmountOfSpec.USD.distribute.Eq (Distribution (AmountOf * USD)).(/=) \:\: (Distribution (AmountOf * USD)) -> (Distribution (AmountOf * USD)) -> Bool.is antireflexive for "valid (Distribution (AmountOf * USD))"s (1 mutations)
638.47 s
[really-safe-money-gen] coverage (1069/1610): Money\.AmountOfSpec.USD.multiply.has an identity\: 1 (9 mutations)
638.61 s
[really-safe-money-gen] coverage (1054/1610): Money\.AmountOfSpec.USD.Ord (AmountOf * USD).(<=) \:\: (AmountOf * USD) -> (AmountOf * USD) -> Bool.is transitive for "valid (AmountOf * USD)"'s (0 mutations)
641.46 s
[really-safe-money-gen] coverage (1062/1610): Money\.AmountOfSpec.USD.Ord (AmountOf * USD).(>=) \:\: (AmountOf * USD) -> (AmountOf * USD) -> Bool.is reflexive for "valid (AmountOf * USD)"'s (0 mutations)
642.18 s
[really-safe-money-gen] coverage (1080/1610): Money\.AmountOfSpec.USD.distribute.Eq (Distribution (AmountOf * USD)).(==) \:\: (Distribution (AmountOf * USD)) -> (Distribution (AmountOf * USD)) -> Bool.is equivalent to (\\a b -> not $ a /= b) for "valid (Distribution (AmountOf * USD))"s (1 mutations)
642.32 s
[really-safe-money-gen] coverage (1101/1610): Money\.AmountOfSpec.ADA.fromRatio.produces valid AmountOfs (19 mutations)
642.42 s
[really-safe-money-gen] coverage (1071/1610): Money\.AmountOfSpec.USD.toDouble.produces valid Doubles (0 mutations)
642.61 s
[really-safe-money-gen] coverage (1070/1610): Money\.AmountOfSpec.USD.multiply.produces valid amounts (9 mutations)
642.64 s
[really-safe-money-gen] coverage (1102/1610): Money\.AmountOfSpec.ADA.fromRatio.roundtrips with toRatio (19 mutations)
643.51 s
[really-safe-money-gen] coverage (1104/1610): Money\.AmountOfSpec.ADA.fromRatio.fails on +Infinity (2 mutations)
644.77 s
[really-safe-money-gen] coverage (1098/1610): Money\.AmountOfSpec.ADA.Show (AmountOf * ADA) and Read (AmountOf * ADA).are implemented such that read \. show == id for valid values (1 mutations)
644.91 s
[really-safe-money-gen] coverage (1095/1610): Money\.AmountOfSpec.ADA.Eq (AmountOf * ADA).(/=) \:\: (AmountOf * ADA) -> (AmountOf * ADA) -> Bool.is antireflexive for "valid (AmountOf * ADA)"s (0 mutations)
646.02 s
[really-safe-money-gen] coverage (1097/1610): Money\.AmountOfSpec.ADA.zero.is valid (1 mutations)
647.28 s
[really-safe-money-gen] coverage (1103/1610): Money\.AmountOfSpec.ADA.fromRatio.succeeds on 0 (20 mutations)
647.33 s
[really-safe-money-gen] coverage (1099/1610): Money\.AmountOfSpec.ADA.toRatio.produces valid Rationals when the quantisation factor is nonzero (0 mutations)
647.79 s
[really-safe-money-gen] coverage (1107/1610): Money\.AmountOfSpec.ADA.fromRatio.succeeds on 77 (19 mutations)
647.87 s
[really-safe-money-gen] coverage (1105/1610): Money\.AmountOfSpec.ADA.fromRatio.succeeds on 1 (19 mutations)
648.51 s
[really-safe-money-gen] coverage (1094/1610): Money\.AmountOfSpec.ADA.Eq (AmountOf * ADA).(==) \:\: (AmountOf * ADA) -> (AmountOf * ADA) -> Bool.is reflexive for "valid (AmountOf * ADA)"s (0 mutations)
648.54 s
[really-safe-money-gen] coverage (1108/1610): Money\.AmountOfSpec.ADA.fromRatio.fails on 7\.123 (13 mutations)
649.56 s
[really-safe-money-gen] coverage (1111/1610): Money\.AmountOfSpec.ADA.fromRational.roundtrips with toRational (19 mutations)
650.19 s
[really-safe-money-gen] coverage (1110/1610): Money\.AmountOfSpec.ADA.fromRational.succeeds on 1 (19 mutations)
651.13 s
[really-safe-money-gen] coverage (1112/1610): Money\.AmountOfSpec.ADA.fromRational.fails on -1 (8 mutations)
651.29 s
[really-safe-money-gen] coverage (1113/1610): Money\.AmountOfSpec.ADA.fromRational.fails on -Infinity (2 mutations)
652.54 s
[really-safe-money-gen] coverage (1116/1610): Money\.AmountOfSpec.ADA.fromRational.succeeds on 0 (19 mutations)
652.70 s
[really-safe-money-gen] coverage (1114/1610): Money\.AmountOfSpec.ADA.fromRational.fails on +Infinity (2 mutations)
653.51 s
[really-safe-money-gen] coverage (1115/1610): Money\.AmountOfSpec.ADA.fromRational.produces valid Amounts (19 mutations)
653.53 s
[really-safe-money-gen] coverage (1106/1610): Money\.AmountOfSpec.ADA.fromRatio.fails on NaN (2 mutations)
654.03 s
[really-safe-money-gen] coverage (1127/1610): Money\.AmountOfSpec.ADA.USD.convert.produces valid amounts (25 mutations)
655.20 s
[really-safe-money-gen] coverage (1129/1610): Money\.AmountOfSpec.ADA.distribute.Show (Distribution (AmountOf * ADA)) and Read (Distribution (AmountOf * ADA)).are implemented such that read \. show == id for valid values (1 mutations)
655.50 s
[really-safe-money-gen] coverage (1130/1610): Money\.AmountOfSpec.ADA.distribute.produces results that sum up to the greater whole (29 mutations)
655.98 s
[really-safe-money-gen] coverage (1120/1610): Money\.AmountOfSpec.ADA.add.matches what you would get with Integer, if nothing fails (9 mutations)
659.11 s
[really-safe-money-gen] coverage (1131/1610): Money\.AmountOfSpec.ADA.distribute.Eq (Distribution (AmountOf * ADA)).(/=) \:\: (Distribution (AmountOf * ADA)) -> (Distribution (AmountOf * ADA)) -> Bool.is antireflexive for "valid (Distribution (AmountOf * ADA))"s (1 mutations)
659.61 s
[really-safe-money-gen] coverage (1133/1610): Money\.AmountOfSpec.ADA.distribute.Eq (Distribution (AmountOf * ADA)).(==) \:\: (Distribution (AmountOf * ADA)) -> (Distribution (AmountOf * ADA)) -> Bool.is equivalent to (\\a b -> not $ a /= b) for "valid (Distribution (AmountOf * ADA))"s (1 mutations)
660.11 s
[really-safe-money-gen] coverage (1135/1610): Money\.AmountOfSpec.ADA.distribute.Eq (Distribution (AmountOf * ADA)).(==) \:\: (Distribution (AmountOf * ADA)) -> (Distribution (AmountOf * ADA)) -> Bool.is transitive for "valid (Distribution (AmountOf * ADA))"s (1 mutations)
660.65 s
[really-safe-money-gen] coverage (1138/1610): Money\.AmountOfSpec.ADA.toMinimalQuantisations.roundtrips with fromMinimalQuantisations (0 mutations)
661.58 s
[really-safe-money-gen] coverage (1137/1610): Money\.AmountOfSpec.ADA.distribute.produces valid amounts (21 mutations)
662.24 s
[really-safe-money-gen] coverage (1136/1610): Money\.AmountOfSpec.ADA.distribute.Eq (Distribution (AmountOf * ADA)).(==) \:\: (Distribution (AmountOf * ADA)) -> (Distribution (AmountOf * ADA)) -> Bool.is symmetric for "valid (Distribution (AmountOf * ADA))"s (1 mutations)
662.29 s
[really-safe-money-gen] coverage (1139/1610): Money\.AmountOfSpec.ADA.toMinimalQuantisations.produces valid Int64s (0 mutations)
662.29 s
[really-safe-money-gen] coverage (1140/1610): Money\.AmountOfSpec.ADA.CHF.convert.produces valid amounts (25 mutations)
662.39 s
[really-safe-money-gen] coverage (1141/1610): Money\.AmountOfSpec.ADA.CHF.rate.produces valid amounts (10 mutations)
663.48 s
[really-safe-money-gen] coverage (1100/1610): Money\.AmountOfSpec.ADA.toRational.produces valid Rationals (0 mutations)
664.61 s
[really-safe-money-gen] coverage (1142/1610): Money\.AmountOfSpec.ADA.format.produces valid strings (3 mutations)
665.05 s
[really-safe-money-gen] coverage (1145/1610): Money\.AmountOfSpec.ADA.ADA.convert.produces valid amounts (25 mutations)
665.50 s
[really-safe-money-gen] coverage (1147/1610): Money\.AmountOfSpec.ADA.INR.rate.produces valid amounts (10 mutations)
666.04 s
[really-safe-money-gen] coverage (1149/1610): Money\.AmountOfSpec.ADA.multiply.produces valid amounts (9 mutations)
666.55 s
[really-safe-money-gen] coverage (1155/1610): Money\.AmountOfSpec.ADA.fromDouble.fails on +Infinity (10 mutations)
666.92 s
[really-safe-money-gen] coverage (1151/1610): Money\.AmountOfSpec.ADA.multiply.matches what you would get with Integer, if nothing fails (9 mutations)
667.35 s
[really-safe-money-gen] coverage (1150/1610): Money\.AmountOfSpec.ADA.multiply.is absorbed by 0 (10 mutations)
668.68 s
[really-safe-money-gen] coverage (1157/1610): Money\.AmountOfSpec.ADA.fromDouble.fails on NaN (8 mutations)
669.09 s
[really-safe-money-gen] coverage (1143/1610): Money\.AmountOfSpec.ADA.GenValid (AmountOf * ADA).genValid \:\: Gen (AmountOf * ADA).only generates valid '(AmountOf * ADA)'s (0 mutations)
669.51 s
[really-safe-money-gen] coverage (1119/1610): Money\.AmountOfSpec.ADA.toDouble.produces valid Doubles (0 mutations)
669.75 s
[really-safe-money-gen] coverage (1168/1610): Money\.AmountOfSpec.ADA.Ord (AmountOf * ADA).(<=) \:\: (AmountOf * ADA) -> (AmountOf * ADA) -> Bool.is transitive for "valid (AmountOf * ADA)"'s (0 mutations)
670.19 s
[really-safe-money-gen] coverage (1164/1610): Money\.AmountOfSpec.ADA.Ord (AmountOf * ADA).(>) \:\: (AmountOf * ADA) -> (AmountOf * ADA) -> Bool.is equivalent to (\\a b -> compare a b == GT) for "valid (AmountOf * ADA)"'s (0 mutations)
670.44 s
[really-safe-money-gen] coverage (1146/1610): Money\.AmountOfSpec.ADA.fraction.produces valid amounts (17 mutations)
671.05 s
[really-safe-money-gen] coverage (1169/1610): Money\.AmountOfSpec.ADA.Ord (AmountOf * ADA).(<=) \:\: (AmountOf * ADA) -> (AmountOf * ADA) -> Bool.is reflexive for "valid (AmountOf * ADA)"'s (0 mutations)
671.53 s
[really-safe-money-gen] coverage (1167/1610): Money\.AmountOfSpec.ADA.Ord (AmountOf * ADA).(<=) \:\: (AmountOf * ADA) -> (AmountOf * ADA) -> Bool.is equivalent to (\\a b -> compare a b /= GT) for "valid (AmountOf * ADA)"'s (0 mutations)
672.60 s
[really-safe-money-gen] coverage (1170/1610): Money\.AmountOfSpec.ADA.Ord (AmountOf * ADA).(<=) \:\: (AmountOf * ADA) -> (AmountOf * ADA) -> Bool.is antisymmetric for "valid (AmountOf * ADA)"'s (0 mutations)
672.88 s
[really-safe-money-gen] coverage (1171/1610): Money\.AmountOfSpec.ADA.Ord (AmountOf * ADA).(>=) \:\: (AmountOf * ADA) -> (AmountOf * ADA) -> Bool.is equivalent to (\\a b -> compare a b /= LT) for "valid (AmountOf * ADA)"'s (0 mutations)
673.88 s
[really-safe-money-gen] coverage (1148/1610): Money\.AmountOfSpec.ADA.INR.convert.produces valid amounts (25 mutations)
675.47 s
[really-safe-money-gen] coverage (1172/1610): Money\.AmountOfSpec.ADA.Ord (AmountOf * ADA).(>=) \:\: (AmountOf * ADA) -> (AmountOf * ADA) -> Bool.is reflexive for "valid (AmountOf * ADA)"'s (0 mutations)
677.18 s
[really-safe-money-gen] coverage (1173/1610): Money\.AmountOfSpec.ADA.Ord (AmountOf * ADA).(>=) \:\: (AmountOf * ADA) -> (AmountOf * ADA) -> Bool.is transitive for "valid (AmountOf * ADA)"'s (0 mutations)
677.19 s
[really-safe-money-gen] coverage (1175/1610): Money\.AmountOfSpec.ADA.Ord (AmountOf * ADA).(<) \:\: (AmountOf * ADA) -> (AmountOf * ADA) -> Bool.is equivalent to (\\a b -> compare a b == LT) for "valid (AmountOf * ADA)"'s (0 mutations)
678.78 s
[really-safe-money-gen] coverage (1176/1610): Money\.AmountOfSpec.ADA.Ord (AmountOf * ADA).(<) \:\: (AmountOf * ADA) -> (AmountOf * ADA) -> Bool.is transitive for "valid (AmountOf * ADA)"'s (0 mutations)
678.98 s
[really-safe-money-gen] coverage (1178/1610): Money\.AmountOfSpec.INR.subtract.matches what you would get with Integer, if nothing fails (10 mutations)
679.41 s
[really-safe-money-gen] coverage (1180/1610): Money\.AmountOfSpec.INR.distribute.produces results that sum up to the greater whole (29 mutations)
679.48 s
[really-safe-money-gen] coverage (1179/1610): Money\.AmountOfSpec.INR.toDouble.produces valid Doubles (0 mutations)
679.70 s
[really-safe-money-gen] coverage (1181/1610): Money\.AmountOfSpec.INR.distribute.produces valid amounts (21 mutations)
679.82 s
[really-safe-money-gen] coverage (1177/1610): Money\.AmountOfSpec.ADA.Ord (AmountOf * ADA).(<) \:\: (AmountOf * ADA) -> (AmountOf * ADA) -> Bool.is antireflexive for "valid (AmountOf * ADA)"'s (0 mutations)
680.44 s
[really-safe-money-gen] coverage (1182/1610): Money\.AmountOfSpec.INR.distribute.Show (Distribution (AmountOf * INR)) and Read (Distribution (AmountOf * INR)).are implemented such that read \. show == id for valid values (1 mutations)
680.93 s
[really-safe-money-gen] coverage (1183/1610): Money\.AmountOfSpec.INR.distribute.Eq (Distribution (AmountOf * INR)).(==) \:\: (Distribution (AmountOf * INR)) -> (Distribution (AmountOf * INR)) -> Bool.is reflexive for "valid (Distribution (AmountOf * INR))"s (1 mutations)
681.42 s
[really-safe-money-gen] coverage (1126/1610): Money\.AmountOfSpec.ADA.USD.rate.produces valid amounts (10 mutations)
682.28 s
[really-safe-money-gen] coverage (1184/1610): Money\.AmountOfSpec.INR.distribute.Eq (Distribution (AmountOf * INR)).(==) \:\: (Distribution (AmountOf * INR)) -> (Distribution (AmountOf * INR)) -> Bool.is symmetric for "valid (Distribution (AmountOf * INR))"s (1 mutations)
683.34 s
[really-safe-money-gen] coverage (1185/1610): Money\.AmountOfSpec.INR.distribute.Eq (Distribution (AmountOf * INR)).(==) \:\: (Distribution (AmountOf * INR)) -> (Distribution (AmountOf * INR)) -> Bool.is equivalent to (\\a b -> not $ a /= b) for "valid (Distribution (AmountOf * INR))"s (1 mutations)
684.31 s
[really-safe-money-gen] coverage (1186/1610): Money\.AmountOfSpec.INR.distribute.Eq (Distribution (AmountOf * INR)).(==) \:\: (Distribution (AmountOf * INR)) -> (Distribution (AmountOf * INR)) -> Bool.is transitive for "valid (Distribution (AmountOf * INR))"s (1 mutations)
684.52 s
[really-safe-money-gen] coverage (1189/1610): Money\.AmountOfSpec.INR.zero.is valid (1 mutations)
684.57 s
[really-safe-money-gen] coverage (1187/1610): Money\.AmountOfSpec.INR.distribute.Eq (Distribution (AmountOf * INR)).(/=) \:\: (Distribution (AmountOf * INR)) -> (Distribution (AmountOf * INR)) -> Bool.is antireflexive for "valid (Distribution (AmountOf * INR))"s (1 mutations)
685.27 s
[really-safe-money-gen] coverage (1188/1610): Money\.AmountOfSpec.INR.distribute.Eq (Distribution (AmountOf * INR)).(/=) \:\: (Distribution (AmountOf * INR)) -> (Distribution (AmountOf * INR)) -> Bool.is equivalent to (\\a b -> not $ a == b) for "valid (Distribution (AmountOf * INR))"s (1 mutations)
685.99 s
[really-safe-money-gen] coverage (1191/1610): Money\.AmountOfSpec.INR.fraction.produces valid amounts (17 mutations)
686.80 s
[really-safe-money-gen] coverage (1193/1610): Money\.AmountOfSpec.INR.ADA.convert.produces valid amounts (25 mutations)
686.93 s
[really-safe-money-gen] coverage (1194/1610): Money\.AmountOfSpec.INR.fromDouble.fails on -Infinity (6 mutations)
686.94 s
[really-safe-money-gen] coverage (1195/1610): Money\.AmountOfSpec.INR.fromDouble.succeeds on 1 (30 mutations)
687.10 s
[really-safe-money-gen] coverage (1190/1610): Money\.AmountOfSpec.INR.fromMinimalQuantisations.produces valid amounts (0 mutations)
687.77 s
[really-safe-money-gen] coverage (1197/1610): Money\.AmountOfSpec.INR.fromDouble.fails on +Infinity (10 mutations)
688.20 s
[really-safe-money-gen] coverage (1196/1610): Money\.AmountOfSpec.INR.fromDouble.fails on NaN (8 mutations)
689.64 s
[really-safe-money-gen] coverage (1198/1610): Money\.AmountOfSpec.INR.fromDouble.fails on -1 (6 mutations)
689.75 s
[really-safe-money-gen] coverage (1199/1610): Money\.AmountOfSpec.INR.fromDouble.succeeds on 0 (30 mutations)
691.27 s
[really-safe-money-gen] coverage (1200/1610): Money\.AmountOfSpec.INR.fromDouble.produces valid amounts (30 mutations)
692.16 s
[really-safe-money-gen] coverage (1118/1610): Money\.AmountOfSpec.ADA.sum.produces valid amounts (10 mutations)
694.41 s
[really-safe-money-gen] coverage (1134/1610): Money\.AmountOfSpec.ADA.distribute.Eq (Distribution (AmountOf * ADA)).(==) \:\: (Distribution (AmountOf * ADA)) -> (Distribution (AmountOf * ADA)) -> Bool.is reflexive for "valid (Distribution (AmountOf * ADA))"s (1 mutations)
694.64 s
[really-safe-money-gen] coverage (1125/1610): Money\.AmountOfSpec.ADA.add.is commutative (9 mutations)
696.23 s
[really-safe-money-gen] coverage (1121/1610): Money\.AmountOfSpec.ADA.add.has a left-identity\: zero (10 mutations)
696.41 s
[really-safe-money-gen] coverage (1192/1610): Money\.AmountOfSpec.INR.ADA.rate.produces valid amounts (10 mutations)
696.81 s
[really-safe-money-gen] coverage (1201/1610): Money\.AmountOfSpec.INR.Ord (AmountOf * INR)."max \:\: (AmountOf * INR -> AmountOf * INR -> AmountOf * INR)".is equivalent to (\\a b -> if a >= b then a else b) for "valid (AmountOf * INR)"'s (0 mutations)
697.31 s
[really-safe-money-gen] coverage (1202/1610): Money\.AmountOfSpec.INR.Ord (AmountOf * INR).(>) \:\: (AmountOf * INR) -> (AmountOf * INR) -> Bool.is transitive for "valid (AmountOf * INR)"'s (0 mutations)
697.33 s
[really-safe-money-gen] coverage (1124/1610): Money\.AmountOfSpec.ADA.add.produces valid amounts (9 mutations)
697.75 s
[really-safe-money-gen] coverage (1128/1610): Money\.AmountOfSpec.ADA.fromMinimalQuantisations.produces valid amounts (0 mutations)
697.99 s
[really-safe-money-gen] coverage (1122/1610): Money\.AmountOfSpec.ADA.add.has a right-identity\: zero (10 mutations)
698.22 s
[really-safe-money-gen] coverage (1203/1610): Money\.AmountOfSpec.INR.Ord (AmountOf * INR).(>) \:\: (AmountOf * INR) -> (AmountOf * INR) -> Bool.is equivalent to (\\a b -> compare a b == GT) for "valid (AmountOf * INR)"'s (0 mutations)
699.08 s
[really-safe-money-gen] coverage (1204/1610): Money\.AmountOfSpec.INR.Ord (AmountOf * INR).(>) \:\: (AmountOf * INR) -> (AmountOf * INR) -> Bool.is antireflexive for "valid (AmountOf * INR)"'s (0 mutations)
699.57 s
[really-safe-money-gen] coverage (1205/1610): Money\.AmountOfSpec.INR.Ord (AmountOf * INR).(<=) \:\: (AmountOf * INR) -> (AmountOf * INR) -> Bool.is transitive for "valid (AmountOf * INR)"'s (0 mutations)
701.13 s
[really-safe-money-gen] coverage (1206/1610): Money\.AmountOfSpec.INR.Ord (AmountOf * INR).(<=) \:\: (AmountOf * INR) -> (AmountOf * INR) -> Bool.is equivalent to (\\a b -> compare a b /= GT) for "valid (AmountOf * INR)"'s (0 mutations)
701.15 s
[really-safe-money-gen] coverage (1123/1610): Money\.AmountOfSpec.ADA.add.is associative when both succeed (9 mutations)
701.71 s
[really-safe-money-gen] coverage (1207/1610): Money\.AmountOfSpec.INR.Ord (AmountOf * INR).(<=) \:\: (AmountOf * INR) -> (AmountOf * INR) -> Bool.is reflexive for "valid (AmountOf * INR)"'s (0 mutations)
701.82 s
[really-safe-money-gen] coverage (1209/1610): Money\.AmountOfSpec.INR.Ord (AmountOf * INR).(>=) \:\: (AmountOf * INR) -> (AmountOf * INR) -> Bool.is equivalent to (\\a b -> compare a b /= LT) for "valid (AmountOf * INR)"'s (0 mutations)
702.76 s
[really-safe-money-gen] coverage (1210/1610): Money\.AmountOfSpec.INR.Ord (AmountOf * INR).(>=) \:\: (AmountOf * INR) -> (AmountOf * INR) -> Bool.is reflexive for "valid (AmountOf * INR)"'s (0 mutations)
703.58 s
[really-safe-money-gen] coverage (1211/1610): Money\.AmountOfSpec.INR.Ord (AmountOf * INR).(>=) \:\: (AmountOf * INR) -> (AmountOf * INR) -> Bool.is transitive for "valid (AmountOf * INR)"'s (0 mutations)
703.80 s
[really-safe-money-gen] coverage (1213/1610): Money\.AmountOfSpec.INR.Ord (AmountOf * INR).(<) \:\: (AmountOf * INR) -> (AmountOf * INR) -> Bool.is transitive for "valid (AmountOf * INR)"'s (0 mutations)
704.04 s
[really-safe-money-gen] coverage (1212/1610): Money\.AmountOfSpec.INR.Ord (AmountOf * INR).(>=) \:\: (AmountOf * INR) -> (AmountOf * INR) -> Bool.is antisymmetric for "valid (AmountOf * INR)"'s (0 mutations)
704.70 s
[really-safe-money-gen] coverage (1214/1610): Money\.AmountOfSpec.INR.Ord (AmountOf * INR).(<) \:\: (AmountOf * INR) -> (AmountOf * INR) -> Bool.is equivalent to (\\a b -> compare a b == LT) for "valid (AmountOf * INR)"'s (0 mutations)
705.31 s
[really-safe-money-gen] coverage (1215/1610): Money\.AmountOfSpec.INR.Ord (AmountOf * INR).(<) \:\: (AmountOf * INR) -> (AmountOf * INR) -> Bool.is antireflexive for "valid (AmountOf * INR)"'s (0 mutations)
705.51 s
[really-safe-money-gen] coverage (1216/1610): Money\.AmountOfSpec.INR.Ord (AmountOf * INR)."min \:\: (AmountOf * INR -> AmountOf * INR -> AmountOf * INR)".is equivalent to (\\a b -> if a <= b then a else b) for "valid (AmountOf * INR)"'s (0 mutations)
706.01 s
[really-safe-money-gen] coverage (1217/1610): Money\.AmountOfSpec.INR.CHF.convert.produces valid amounts (25 mutations)
707.16 s
[really-safe-money-gen] coverage (1219/1610): Money\.AmountOfSpec.INR.multiply.matches what you would get with Integer, if nothing fails (9 mutations)
707.34 s
[really-safe-money-gen] coverage (1218/1610): Money\.AmountOfSpec.INR.CHF.rate.produces valid amounts (10 mutations)
709.08 s
[really-safe-money-gen] coverage (1220/1610): Money\.AmountOfSpec.INR.multiply.produces valid amounts (9 mutations)
709.12 s
[really-safe-money-gen] coverage (1221/1610): Money\.AmountOfSpec.INR.multiply.is absorbed by 0 (10 mutations)
711.77 s
[really-safe-money-gen] coverage (1222/1610): Money\.AmountOfSpec.INR.multiply.has an identity\: 1 (9 mutations)
712.18 s
[really-safe-money-gen] coverage (1223/1610): Money\.AmountOfSpec.INR.multiply.is distributive with add when both succeed (17 mutations)
713.60 s
[really-safe-money-gen] coverage (1224/1610): Money\.AmountOfSpec.INR.toMinimalQuantisations.roundtrips with fromMinimalQuantisations (0 mutations)
713.70 s
[really-safe-money-gen] coverage (1227/1610): Money\.AmountOfSpec.INR.fromRational.fails on -Infinity (2 mutations)
713.79 s
[really-safe-money-gen] coverage (1226/1610): Money\.AmountOfSpec.INR.fromRational.succeeds on 0 (19 mutations)
713.87 s
[really-safe-money-gen] coverage (1225/1610): Money\.AmountOfSpec.INR.toMinimalQuantisations.produces valid Int64s (0 mutations)
714.13 s
[really-safe-money-gen] coverage (1229/1610): Money\.AmountOfSpec.INR.fromRational.fails on +Infinity (2 mutations)
714.31 s
[really-safe-money-gen] coverage (1228/1610): Money\.AmountOfSpec.INR.fromRational.roundtrips with toRational (19 mutations)
715.18 s
[really-safe-money-gen] coverage (1166/1610): Money\.AmountOfSpec.ADA.Ord (AmountOf * ADA)."min \:\: (AmountOf * ADA -> AmountOf * ADA -> AmountOf * ADA)".is equivalent to (\\a b -> if a <= b then a else b) for "valid (AmountOf * ADA)"'s (0 mutations)
715.89 s
[really-safe-money-gen] coverage (1230/1610): Money\.AmountOfSpec.INR.fromRational.fails on NaN (2 mutations)
717.00 s
[really-safe-money-gen] coverage (1153/1610): Money\.AmountOfSpec.ADA.multiply.has an identity\: 1 (9 mutations)
717.21 s
[really-safe-money-gen] coverage (1231/1610): Money\.AmountOfSpec.INR.fromRational.produces valid Amounts (19 mutations)
718.12 s
[really-safe-money-gen] coverage (1233/1610): Money\.AmountOfSpec.INR.fromRational.fails on -1 (8 mutations)
718.61 s
[really-safe-money-gen] coverage (1117/1610): Money\.AmountOfSpec.ADA.sum.matches what you would get with Integer, if nothing fails (10 mutations)
718.61 s
[really-safe-money-gen] coverage (1154/1610): Money\.AmountOfSpec.ADA.fromDouble.succeeds on 0 (30 mutations)
719.24 s
[really-safe-money-gen] coverage (1158/1610): Money\.AmountOfSpec.ADA.fromDouble.fails on -Infinity (6 mutations)
719.66 s
[really-safe-money-gen] coverage (1234/1610): Money\.AmountOfSpec.INR.add.is commutative (9 mutations)
721.06 s
[really-safe-money-gen] coverage (1235/1610): Money\.AmountOfSpec.INR.add.is associative when both succeed (9 mutations)
721.19 s
[really-safe-money-gen] coverage (1237/1610): Money\.AmountOfSpec.INR.add.has a left-identity\: zero (10 mutations)
721.51 s
[really-safe-money-gen] coverage (1161/1610): Money\.AmountOfSpec.ADA.subtract.matches what you would get with Integer, if nothing fails (10 mutations)
722.06 s
[really-safe-money-gen] coverage (1174/1610): Money\.AmountOfSpec.ADA.Ord (AmountOf * ADA).(>=) \:\: (AmountOf * ADA) -> (AmountOf * ADA) -> Bool.is antisymmetric for "valid (AmountOf * ADA)"'s (0 mutations)
722.56 s
[really-safe-money-gen] coverage (1236/1610): Money\.AmountOfSpec.INR.add.matches what you would get with Integer, if nothing fails (9 mutations)
723.55 s
[really-safe-money-gen] coverage (1238/1610): Money\.AmountOfSpec.INR.add.has a right-identity\: zero (10 mutations)
724.05 s
[really-safe-money-gen] coverage (1152/1610): Money\.AmountOfSpec.ADA.multiply.is distributive with add when both succeed (17 mutations)
724.94 s
[really-safe-money-gen] coverage (1239/1610): Money\.AmountOfSpec.INR.add.produces valid amounts (9 mutations)
725.33 s
[really-safe-money-gen] coverage (1144/1610): Money\.AmountOfSpec.ADA.ADA.rate.produces valid amounts (10 mutations)
726.71 s
[really-safe-money-gen] coverage (1242/1610): Money\.AmountOfSpec.INR.toRational.produces valid Rationals (0 mutations)
726.92 s
[really-safe-money-gen] coverage (1250/1610): Money\.AmountOfSpec.INR.fromRatio.fails on NaN (2 mutations)
729.14 s
[really-safe-money-gen] coverage (1257/1610): Money\.AmountOfSpec.INR.fromRatio.succeeds on 77 (19 mutations)
730.09 s
[really-safe-money-gen] coverage (1258/1610): Money\.AmountOfSpec.INR.GenValid (AmountOf * INR).genValid \:\: Gen (AmountOf * INR).only generates valid '(AmountOf * INR)'s (0 mutations)
731.10 s
[really-safe-money-gen] coverage (1254/1610): Money\.AmountOfSpec.INR.fromRatio.roundtrips with toRatio (19 mutations)
731.16 s
[really-safe-money-gen] coverage (1260/1610): Money\.AmountOfSpec.INR.Eq (AmountOf * INR).(==) \:\: (AmountOf * INR) -> (AmountOf * INR) -> Bool.is transitive for "valid (AmountOf * INR)"s (0 mutations)
731.23 s
[really-safe-money-gen] coverage (1256/1610): Money\.AmountOfSpec.INR.fromRatio.fails on 7\.123 (13 mutations)
731.88 s
[really-safe-money-gen] coverage (1259/1610): Money\.AmountOfSpec.INR.Eq (AmountOf * INR).(==) \:\: (AmountOf * INR) -> (AmountOf * INR) -> Bool.is symmetric for "valid (AmountOf * INR)"s (0 mutations)
731.94 s
[really-safe-money-gen] coverage (1261/1610): Money\.AmountOfSpec.INR.Eq (AmountOf * INR).(==) \:\: (AmountOf * INR) -> (AmountOf * INR) -> Bool.is reflexive for "valid (AmountOf * INR)"s (0 mutations)
731.96 s
[really-safe-money-gen] coverage (1262/1610): Money\.AmountOfSpec.INR.Eq (AmountOf * INR).(==) \:\: (AmountOf * INR) -> (AmountOf * INR) -> Bool.is equivalent to (\\a b -> not $ a /= b) for "valid (AmountOf * INR)"s (0 mutations)
732.37 s
[really-safe-money-gen] coverage (1246/1610): Money\.AmountOfSpec.INR.INR.rate.produces valid amounts (10 mutations)
733.32 s
[really-safe-money-gen] coverage (1241/1610): Money\.AmountOfSpec.INR.Show (AmountOf * INR) and Read (AmountOf * INR).are implemented such that read \. show == id for valid values (1 mutations)
733.98 s
[really-safe-money-gen] coverage (1255/1610): Money\.AmountOfSpec.INR.fromRatio.produces valid AmountOfs (19 mutations)
734.01 s
[really-safe-money-gen] coverage (1247/1610): Money\.AmountOfSpec.INR.INR.convert.produces valid amounts (25 mutations)
735.14 s
[really-safe-money-gen] coverage (1249/1610): Money\.AmountOfSpec.INR.BTC.convert.produces valid amounts (25 mutations)
735.59 s
[really-safe-money-gen] coverage (1253/1610): Money\.AmountOfSpec.INR.fromRatio.succeeds on 0 (20 mutations)
735.80 s
[really-safe-money-gen] coverage (1252/1610): Money\.AmountOfSpec.INR.fromRatio.succeeds on 1 (19 mutations)
736.21 s
[really-safe-money-gen] coverage (1244/1610): Money\.AmountOfSpec.INR.sum.matches what you would get with Integer, if nothing fails (10 mutations)
736.64 s
[really-safe-money-gen] coverage (1245/1610): Money\.AmountOfSpec.INR.format.produces valid strings (3 mutations)
738.13 s
[really-safe-money-gen] coverage (1248/1610): Money\.AmountOfSpec.INR.BTC.rate.produces valid amounts (10 mutations)
738.37 s
[really-safe-money-gen] coverage (1251/1610): Money\.AmountOfSpec.INR.fromRatio.fails on +Infinity (2 mutations)
738.39 s
[really-safe-money-gen] coverage (1263/1610): Money\.AmountOfSpec.INR.Eq (AmountOf * INR).(/=) \:\: (AmountOf * INR) -> (AmountOf * INR) -> Bool.is equivalent to (\\a b -> not $ a == b) for "valid (AmountOf * INR)"s (0 mutations)
739.43 s
[really-safe-money-gen] coverage (1243/1610): Money\.AmountOfSpec.INR.sum.produces valid amounts (10 mutations)
739.58 s
[really-safe-money-gen] coverage (1240/1610): Money\.AmountOfSpec.INR.toRatio.produces valid Rationals when the quantisation factor is nonzero (0 mutations)
739.75 s
[really-safe-money-gen] coverage (1264/1610): Money\.AmountOfSpec.INR.Eq (AmountOf * INR).(/=) \:\: (AmountOf * INR) -> (AmountOf * INR) -> Bool.is antireflexive for "valid (AmountOf * INR)"s (0 mutations)
741.37 s
[really-safe-money-gen] coverage (1265/1610): Money\.AmountOfSpec.INR.USD.convert.produces valid amounts (25 mutations)
741.37 s
[really-safe-money-gen] coverage (1156/1610): Money\.AmountOfSpec.ADA.fromDouble.succeeds on 1 (30 mutations)
742.18 s
[really-safe-money-gen] coverage (1162/1610): Money\.AmountOfSpec.ADA.Ord (AmountOf * ADA).(>) \:\: (AmountOf * ADA) -> (AmountOf * ADA) -> Bool.is antireflexive for "valid (AmountOf * ADA)"'s (0 mutations)
743.08 s
[really-safe-money-gen] coverage (1266/1610): Money\.AmountOfSpec.INR.USD.rate.produces valid amounts (10 mutations)
744.00 s
[really-safe-money-gen] coverage (1165/1610): Money\.AmountOfSpec.ADA.Ord (AmountOf * ADA)."max \:\: (AmountOf * ADA -> AmountOf * ADA -> AmountOf * ADA)".is equivalent to (\\a b -> if a >= b then a else b) for "valid (AmountOf * ADA)"'s (0 mutations)
746.68 s
[really-safe-money-gen] coverage (1267/1610): Money\.AmountOfSpec.BTC.format.produces valid strings (3 mutations)
747.13 s
[really-safe-money-gen] coverage (1132/1610): Money\.AmountOfSpec.ADA.distribute.Eq (Distribution (AmountOf * ADA)).(/=) \:\: (Distribution (AmountOf * ADA)) -> (Distribution (AmountOf * ADA)) -> Bool.is equivalent to (\\a b -> not $ a == b) for "valid (Distribution (AmountOf * ADA))"s (1 mutations)
747.22 s
[really-safe-money-gen] coverage (1163/1610): Money\.AmountOfSpec.ADA.Ord (AmountOf * ADA).(>) \:\: (AmountOf * ADA) -> (AmountOf * ADA) -> Bool.is transitive for "valid (AmountOf * ADA)"'s (0 mutations)
747.65 s
[really-safe-money-gen] coverage (1159/1610): Money\.AmountOfSpec.ADA.fromDouble.produces valid amounts (30 mutations)
748.75 s
[really-safe-money-gen] coverage (1268/1610): Money\.AmountOfSpec.BTC.toMinimalQuantisations.roundtrips with fromMinimalQuantisations (0 mutations)
748.81 s
[really-safe-money-gen] coverage (1208/1610): Money\.AmountOfSpec.INR.Ord (AmountOf * INR).(<=) \:\: (AmountOf * INR) -> (AmountOf * INR) -> Bool.is antisymmetric for "valid (AmountOf * INR)"'s (0 mutations)
748.92 s
[really-safe-money-gen] coverage (1269/1610): Money\.AmountOfSpec.BTC.toMinimalQuantisations.produces valid Int64s (0 mutations)
749.39 s
[really-safe-money-gen] coverage (1160/1610): Money\.AmountOfSpec.ADA.fromDouble.fails on -1 (6 mutations)
749.85 s
[really-safe-money-gen] coverage (1270/1610): Money\.AmountOfSpec.BTC.INR.rate.produces valid amounts (10 mutations)
750.04 s
[really-safe-money-gen] coverage (1275/1610): Money\.AmountOfSpec.BTC.Ord (AmountOf * BTC).(<=) \:\: (AmountOf * BTC) -> (AmountOf * BTC) -> Bool.is antisymmetric for "valid (AmountOf * BTC)"'s (0 mutations)
750.69 s
[really-safe-money-gen] coverage (1271/1610): Money\.AmountOfSpec.BTC.INR.convert.produces valid amounts (25 mutations)
751.19 s
[really-safe-money-gen] coverage (1276/1610): Money\.AmountOfSpec.BTC.Ord (AmountOf * BTC)."min \:\: (AmountOf * BTC -> AmountOf * BTC -> AmountOf * BTC)".is equivalent to (\\a b -> if a <= b then a else b) for "valid (AmountOf * BTC)"'s (0 mutations)
752.67 s
[really-safe-money-gen] coverage (1274/1610): Money\.AmountOfSpec.BTC.Ord (AmountOf * BTC).(<=) \:\: (AmountOf * BTC) -> (AmountOf * BTC) -> Bool.is reflexive for "valid (AmountOf * BTC)"'s (0 mutations)
752.81 s
[really-safe-money-gen] coverage (1277/1610): Money\.AmountOfSpec.BTC.Ord (AmountOf * BTC).(>=) \:\: (AmountOf * BTC) -> (AmountOf * BTC) -> Bool.is antisymmetric for "valid (AmountOf * BTC)"'s (0 mutations)
753.05 s
[really-safe-money-gen] coverage (1272/1610): Money\.AmountOfSpec.BTC.Ord (AmountOf * BTC).(<=) \:\: (AmountOf * BTC) -> (AmountOf * BTC) -> Bool.is equivalent to (\\a b -> compare a b /= GT) for "valid (AmountOf * BTC)"'s (0 mutations)
753.58 s
[really-safe-money-gen] coverage (1278/1610): Money\.AmountOfSpec.BTC.Ord (AmountOf * BTC).(>=) \:\: (AmountOf * BTC) -> (AmountOf * BTC) -> Bool.is reflexive for "valid (AmountOf * BTC)"'s (0 mutations)
754.29 s
[really-safe-money-gen] coverage (1273/1610): Money\.AmountOfSpec.BTC.Ord (AmountOf * BTC).(<=) \:\: (AmountOf * BTC) -> (AmountOf * BTC) -> Bool.is transitive for "valid (AmountOf * BTC)"'s (0 mutations)
755.12 s
[really-safe-money-gen] coverage (1232/1610): Money\.AmountOfSpec.INR.fromRational.succeeds on 1 (19 mutations)
755.44 s
[really-safe-money-gen] coverage (1280/1610): Money\.AmountOfSpec.BTC.Ord (AmountOf * BTC).(>=) \:\: (AmountOf * BTC) -> (AmountOf * BTC) -> Bool.is transitive for "valid (AmountOf * BTC)"'s (0 mutations)
755.73 s
[really-safe-money-gen] coverage (1279/1610): Money\.AmountOfSpec.BTC.Ord (AmountOf * BTC).(>=) \:\: (AmountOf * BTC) -> (AmountOf * BTC) -> Bool.is equivalent to (\\a b -> compare a b /= LT) for "valid (AmountOf * BTC)"'s (0 mutations)
756.32 s
[really-safe-money-gen] coverage (1288/1610): Money\.AmountOfSpec.BTC.fromRatio.roundtrips with toRatio (19 mutations)
757.11 s
[really-safe-money-gen] coverage (1109/1610): Money\.AmountOfSpec.ADA.fromRational.fails on NaN (2 mutations)
757.25 s
[really-safe-money-gen] coverage (1292/1610): Money\.AmountOfSpec.BTC.fromRatio.succeeds on 1 (19 mutations)
757.76 s
[really-safe-money-gen] coverage (1296/1610): Money\.AmountOfSpec.BTC.CHF.convert.produces valid amounts (25 mutations)
758.89 s
[really-safe-money-gen] coverage (1294/1610): Money\.AmountOfSpec.BTC.fromRatio.fails on +Infinity (2 mutations)
760.01 s
[really-safe-money-gen] coverage (1298/1610): Money\.AmountOfSpec.BTC.fromRational.fails on NaN (2 mutations)
760.32 s
[really-safe-money-gen] coverage (1299/1610): Money\.AmountOfSpec.BTC.fromRational.produces valid Amounts (19 mutations)
761.74 s
[really-safe-money-gen] coverage (1301/1610): Money\.AmountOfSpec.BTC.fromRational.succeeds on 1 (19 mutations)
764.25 s
[really-safe-money-gen] coverage (1306/1610): Money\.AmountOfSpec.BTC.fromDouble.fails on +Infinity (10 mutations)
764.43 s
[really-safe-money-gen] coverage (1303/1610): Money\.AmountOfSpec.BTC.fromRational.fails on -Infinity (2 mutations)
764.56 s
[really-safe-money-gen] coverage (1305/1610): Money\.AmountOfSpec.BTC.fromRational.roundtrips with toRational (19 mutations)
765.19 s
[really-safe-money-gen] coverage (1307/1610): Money\.AmountOfSpec.BTC.fromDouble.succeeds on 1 (30 mutations)
766.07 s
[really-safe-money-gen] coverage (1311/1610): Money\.AmountOfSpec.BTC.fromDouble.fails on -Infinity (6 mutations)
766.07 s
[really-safe-money-gen] coverage (1309/1610): Money\.AmountOfSpec.BTC.fromDouble.fails on -1 (6 mutations)
767.06 s
[really-safe-money-gen] coverage (1293/1610): Money\.AmountOfSpec.BTC.fromRatio.produces valid AmountOfs (19 mutations)
767.17 s
[really-safe-money-gen] coverage (1313/1610): Money\.AmountOfSpec.BTC.GenValid (AmountOf * BTC).genValid \:\: Gen (AmountOf * BTC).only generates valid '(AmountOf * BTC)'s (0 mutations)
767.61 s
[really-safe-money-gen] coverage (1315/1610): Money\.AmountOfSpec.BTC.USD.convert.produces valid amounts (25 mutations)
767.73 s
[really-safe-money-gen] coverage (1318/1610): Money\.AmountOfSpec.BTC.Eq (AmountOf * BTC).(==) \:\: (AmountOf * BTC) -> (AmountOf * BTC) -> Bool.is equivalent to (\\a b -> not $ a /= b) for "valid (AmountOf * BTC)"s (0 mutations)
768.36 s
[really-safe-money-gen] coverage (1316/1610): Money\.AmountOfSpec.BTC.Eq (AmountOf * BTC).(==) \:\: (AmountOf * BTC) -> (AmountOf * BTC) -> Bool.is reflexive for "valid (AmountOf * BTC)"s (0 mutations)
769.01 s
[really-safe-money-gen] coverage (1310/1610): Money\.AmountOfSpec.BTC.fromDouble.succeeds on 0 (30 mutations)
769.98 s
[really-safe-money-gen] coverage (1287/1610): Money\.AmountOfSpec.BTC.Ord (AmountOf * BTC).(>) \:\: (AmountOf * BTC) -> (AmountOf * BTC) -> Bool.is equivalent to (\\a b -> compare a b == GT) for "valid (AmountOf * BTC)"'s (0 mutations)
770.12 s
[really-safe-money-gen] coverage (1300/1610): Money\.AmountOfSpec.BTC.fromRational.fails on -1 (8 mutations)
770.78 s
[really-safe-money-gen] coverage (1302/1610): Money\.AmountOfSpec.BTC.fromRational.fails on +Infinity (2 mutations)
771.42 s
[really-safe-money-gen] coverage (1295/1610): Money\.AmountOfSpec.BTC.fromRatio.fails on 7\.123 (13 mutations)
772.41 s
[really-safe-money-gen] coverage (1304/1610): Money\.AmountOfSpec.BTC.fromRational.succeeds on 0 (19 mutations)
772.59 s
[really-safe-money-gen] coverage (1284/1610): Money\.AmountOfSpec.BTC.Ord (AmountOf * BTC).(<) \:\: (AmountOf * BTC) -> (AmountOf * BTC) -> Bool.is transitive for "valid (AmountOf * BTC)"'s (0 mutations)
772.78 s
[really-safe-money-gen] coverage (1297/1610): Money\.AmountOfSpec.BTC.CHF.rate.produces valid amounts (10 mutations)
773.70 s
[really-safe-money-gen] coverage (1289/1610): Money\.AmountOfSpec.BTC.fromRatio.fails on NaN (2 mutations)
774.15 s
[really-safe-money-gen] coverage (1291/1610): Money\.AmountOfSpec.BTC.fromRatio.succeeds on 0 (20 mutations)
774.25 s
[really-safe-money-gen] coverage (1286/1610): Money\.AmountOfSpec.BTC.Ord (AmountOf * BTC).(>) \:\: (AmountOf * BTC) -> (AmountOf * BTC) -> Bool.is transitive for "valid (AmountOf * BTC)"'s (0 mutations)
774.71 s
[really-safe-money-gen] coverage (1308/1610): Money\.AmountOfSpec.BTC.fromDouble.produces valid amounts (30 mutations)
774.78 s
[really-safe-money-gen] coverage (1312/1610): Money\.AmountOfSpec.BTC.fromDouble.fails on NaN (8 mutations)
776.29 s
[really-safe-money-gen] coverage (1314/1610): Money\.AmountOfSpec.BTC.USD.rate.produces valid amounts (10 mutations)
776.40 s
[really-safe-money-gen] coverage (1290/1610): Money\.AmountOfSpec.BTC.fromRatio.succeeds on 77 (19 mutations)
778.10 s
[really-safe-money-gen] coverage (1285/1610): Money\.AmountOfSpec.BTC.Ord (AmountOf * BTC).(>) \:\: (AmountOf * BTC) -> (AmountOf * BTC) -> Bool.is antireflexive for "valid (AmountOf * BTC)"'s (0 mutations)
779.85 s
[really-safe-money-gen] coverage (1282/1610): Money\.AmountOfSpec.BTC.Ord (AmountOf * BTC).(<) \:\: (AmountOf * BTC) -> (AmountOf * BTC) -> Bool.is equivalent to (\\a b -> compare a b == LT) for "valid (AmountOf * BTC)"'s (0 mutations)
782.56 s
[really-safe-money-gen] coverage (1317/1610): Money\.AmountOfSpec.BTC.Eq (AmountOf * BTC).(==) \:\: (AmountOf * BTC) -> (AmountOf * BTC) -> Bool.is transitive for "valid (AmountOf * BTC)"s (0 mutations)
782.70 s
[really-safe-money-gen] coverage (1283/1610): Money\.AmountOfSpec.BTC.Ord (AmountOf * BTC).(<) \:\: (AmountOf * BTC) -> (AmountOf * BTC) -> Bool.is antireflexive for "valid (AmountOf * BTC)"'s (0 mutations)
783.21 s
[really-safe-money-gen] coverage (1322/1610): Money\.AmountOfSpec.BTC.add.has a right-identity\: zero (10 mutations)
783.28 s
[really-safe-money-gen] coverage (1324/1610): Money\.AmountOfSpec.BTC.add.matches what you would get with Integer, if nothing fails (9 mutations)
783.77 s
[really-safe-money-gen] coverage (1323/1610): Money\.AmountOfSpec.BTC.add.has a left-identity\: zero (10 mutations)
784.24 s
[really-safe-money-gen] coverage (1320/1610): Money\.AmountOfSpec.BTC.Eq (AmountOf * BTC).(/=) \:\: (AmountOf * BTC) -> (AmountOf * BTC) -> Bool.is equivalent to (\\a b -> not $ a == b) for "valid (AmountOf * BTC)"s (0 mutations)
785.37 s
[really-safe-money-gen] coverage (1327/1610): Money\.AmountOfSpec.BTC.add.is associative when both succeed (9 mutations)
785.50 s
[really-safe-money-gen] coverage (1321/1610): Money\.AmountOfSpec.BTC.Eq (AmountOf * BTC).(/=) \:\: (AmountOf * BTC) -> (AmountOf * BTC) -> Bool.is antireflexive for "valid (AmountOf * BTC)"s (0 mutations)
786.00 s
[really-safe-money-gen] coverage (1340/1610): Money\.AmountOfSpec.BTC.distribute.Eq (Distribution (AmountOf * BTC)).(/=) \:\: (Distribution (AmountOf * BTC)) -> (Distribution (AmountOf * BTC)) -> Bool.is antireflexive for "valid (Distribution (AmountOf * BTC))"s (1 mutations)
786.12 s
[really-safe-money-gen] coverage (1281/1610): Money\.AmountOfSpec.BTC.Ord (AmountOf * BTC)."max \:\: (AmountOf * BTC -> AmountOf * BTC -> AmountOf * BTC)".is equivalent to (\\a b -> if a >= b then a else b) for "valid (AmountOf * BTC)"'s (0 mutations)
786.32 s
[really-safe-money-gen] coverage (1344/1610): Money\.AmountOfSpec.BTC.distribute.Eq (Distribution (AmountOf * BTC)).(==) \:\: (Distribution (AmountOf * BTC)) -> (Distribution (AmountOf * BTC)) -> Bool.is equivalent to (\\a b -> not $ a /= b) for "valid (Distribution (AmountOf * BTC))"s (1 mutations)
786.50 s
[really-safe-money-gen] coverage (1319/1610): Money\.AmountOfSpec.BTC.Eq (AmountOf * BTC).(==) \:\: (AmountOf * BTC) -> (AmountOf * BTC) -> Bool.is symmetric for "valid (AmountOf * BTC)"s (0 mutations)
787.60 s
[really-safe-money-gen] coverage (1347/1610): Money\.AmountOfSpec.BTC.distribute.produces results that sum up to the greater whole (29 mutations)
787.78 s
[really-safe-money-gen] coverage (1351/1610): Money\.AmountOfSpec.BTC.multiply.is absorbed by 0 (10 mutations)
789.09 s
[really-safe-money-gen] coverage (1353/1610): Money\.AmountOfSpec.BTC.multiply.produces valid amounts (9 mutations)
789.22 s
[really-safe-money-gen] coverage (1342/1610): Money\.AmountOfSpec.BTC.distribute.Eq (Distribution (AmountOf * BTC)).(==) \:\: (Distribution (AmountOf * BTC)) -> (Distribution (AmountOf * BTC)) -> Bool.is reflexive for "valid (Distribution (AmountOf * BTC))"s (1 mutations)
790.18 s
[really-safe-money-gen] coverage (1357/1610): Money\.AmountOfSpec.CHF.INR.rate.produces valid amounts (10 mutations)
790.81 s
[really-safe-money-gen] coverage (1360/1610): Money\.AmountOfSpec.CHF.fromMinimalQuantisations.produces valid amounts (0 mutations)
790.84 s
[really-safe-money-gen] coverage (1363/1610): Money\.AmountOfSpec.CHF.fromRatio.fails on NaN (2 mutations)
791.14 s
[really-safe-money-gen] coverage (1361/1610): Money\.AmountOfSpec.CHF.fromRatio.succeeds on 0 (20 mutations)
791.22 s
[really-safe-money-gen] coverage (1355/1610): Money\.AmountOfSpec.BTC.multiply.is distributive with add when both succeed (17 mutations)
791.91 s
[really-safe-money-gen] coverage (1341/1610): Money\.AmountOfSpec.BTC.distribute.Eq (Distribution (AmountOf * BTC)).(/=) \:\: (Distribution (AmountOf * BTC)) -> (Distribution (AmountOf * BTC)) -> Bool.is equivalent to (\\a b -> not $ a == b) for "valid (Distribution (AmountOf * BTC))"s (1 mutations)
792.47 s
[really-safe-money-gen] coverage (1362/1610): Money\.AmountOfSpec.CHF.fromRatio.fails on +Infinity (2 mutations)
793.23 s
[really-safe-money-gen] coverage (1358/1610): Money\.AmountOfSpec.CHF.USD.convert.produces valid amounts (25 mutations)
793.32 s
[really-safe-money-gen] coverage (1352/1610): Money\.AmountOfSpec.BTC.multiply.has an identity\: 1 (9 mutations)
794.03 s
[really-safe-money-gen] coverage (1359/1610): Money\.AmountOfSpec.CHF.USD.rate.produces valid amounts (10 mutations)
795.84 s
[really-safe-money-gen] coverage (1350/1610): Money\.AmountOfSpec.BTC.fraction.produces valid amounts (17 mutations)
795.96 s
[really-safe-money-gen] coverage (1348/1610): Money\.AmountOfSpec.BTC.distribute.Show (Distribution (AmountOf * BTC)) and Read (Distribution (AmountOf * BTC)).are implemented such that read \. show == id for valid values (1 mutations)
798.99 s
[really-safe-money-gen] coverage (1346/1610): Money\.AmountOfSpec.BTC.distribute.produces valid amounts (21 mutations)
799.80 s
[really-safe-money-gen] coverage (1343/1610): Money\.AmountOfSpec.BTC.distribute.Eq (Distribution (AmountOf * BTC)).(==) \:\: (Distribution (AmountOf * BTC)) -> (Distribution (AmountOf * BTC)) -> Bool.is symmetric for "valid (Distribution (AmountOf * BTC))"s (1 mutations)
799.84 s
[really-safe-money-gen] coverage (1349/1610): Money\.AmountOfSpec.BTC.toRational.produces valid Rationals (0 mutations)
800.31 s
[really-safe-money-gen] coverage (1338/1610): Money\.AmountOfSpec.BTC.sum.matches what you would get with Integer, if nothing fails (10 mutations)
800.91 s
[really-safe-money-gen] coverage (1339/1610): Money\.AmountOfSpec.BTC.sum.produces valid amounts (10 mutations)
802.15 s
[really-safe-money-gen] coverage (1337/1610): Money\.AmountOfSpec.BTC.toRatio.produces valid Rationals when the quantisation factor is nonzero (0 mutations)
802.22 s
[really-safe-money-gen] coverage (1354/1610): Money\.AmountOfSpec.BTC.multiply.matches what you would get with Integer, if nothing fails (9 mutations)
802.87 s
[really-safe-money-gen] coverage (1336/1610): Money\.AmountOfSpec.BTC.fromMinimalQuantisations.produces valid amounts (0 mutations)
802.91 s
[really-safe-money-gen] coverage (1334/1610): Money\.AmountOfSpec.BTC.Show (AmountOf * BTC) and Read (AmountOf * BTC).are implemented such that read \. show == id for valid values (1 mutations)
803.50 s
[really-safe-money-gen] coverage (1335/1610): Money\.AmountOfSpec.BTC.subtract.matches what you would get with Integer, if nothing fails (10 mutations)
803.73 s
[really-safe-money-gen] coverage (1365/1610): Money\.AmountOfSpec.CHF.fromRatio.succeeds on 1 (19 mutations)
803.93 s
[really-safe-money-gen] coverage (1331/1610): Money\.AmountOfSpec.BTC.BTC.convert.produces valid amounts (25 mutations)
804.92 s
[really-safe-money-gen] coverage (1356/1610): Money\.AmountOfSpec.CHF.INR.convert.produces valid amounts (25 mutations)
805.20 s
[really-safe-money-gen] coverage (1332/1610): Money\.AmountOfSpec.BTC.BTC.rate.produces valid amounts (10 mutations)
806.38 s
[really-safe-money-gen] coverage (1366/1610): Money\.AmountOfSpec.CHF.fromRatio.fails on 7\.123 (13 mutations)
806.59 s
[really-safe-money-gen] coverage (1330/1610): Money\.AmountOfSpec.BTC.zero.is valid (1 mutations)
806.79 s
[really-safe-money-gen] coverage (1345/1610): Money\.AmountOfSpec.BTC.distribute.Eq (Distribution (AmountOf * BTC)).(==) \:\: (Distribution (AmountOf * BTC)) -> (Distribution (AmountOf * BTC)) -> Bool.is transitive for "valid (Distribution (AmountOf * BTC))"s (1 mutations)
807.92 s
[really-safe-money-gen] coverage (1326/1610): Money\.AmountOfSpec.BTC.add.produces valid amounts (9 mutations)
808.22 s
[really-safe-money-gen] coverage (1325/1610): Money\.AmountOfSpec.BTC.add.is commutative (9 mutations)
808.37 s
[really-safe-money-gen] coverage (1329/1610): Money\.AmountOfSpec.BTC.ADA.rate.produces valid amounts (10 mutations)
809.03 s
[really-safe-money-gen] coverage (1368/1610): Money\.AmountOfSpec.CHF.fromRatio.produces valid AmountOfs (19 mutations)
809.53 s
[really-safe-money-gen] coverage (1367/1610): Money\.AmountOfSpec.CHF.fromRatio.succeeds on 77 (19 mutations)
810.62 s
[really-safe-money-gen] coverage (1369/1610): Money\.AmountOfSpec.CHF.fraction.produces valid amounts (17 mutations)
810.80 s
[really-safe-money-gen] coverage (1333/1610): Money\.AmountOfSpec.BTC.toDouble.produces valid Doubles (0 mutations)
810.82 s
[really-safe-money-gen] coverage (1328/1610): Money\.AmountOfSpec.BTC.ADA.convert.produces valid amounts (25 mutations)
810.86 s
[really-safe-money-gen] coverage (1375/1610): Money\.AmountOfSpec.CHF.toRatio.produces valid Rationals when the quantisation factor is nonzero (0 mutations)
813.01 s
[really-safe-money-gen] coverage (1376/1610): Money\.AmountOfSpec.CHF.fromRational.fails on +Infinity (2 mutations)
813.46 s
[really-safe-money-gen] coverage (1378/1610): Money\.AmountOfSpec.CHF.fromRational.succeeds on 0 (19 mutations)
816.82 s
[really-safe-money-gen] coverage (1373/1610): Money\.AmountOfSpec.CHF.multiply.matches what you would get with Integer, if nothing fails (9 mutations)
816.90 s
[really-safe-money-gen] coverage (1374/1610): Money\.AmountOfSpec.CHF.multiply.produces valid amounts (9 mutations)
817.10 s
[really-safe-money-gen] coverage (1383/1610): Money\.AmountOfSpec.CHF.fromRational.succeeds on 1 (19 mutations)
817.97 s
[really-safe-money-gen] coverage (1380/1610): Money\.AmountOfSpec.CHF.fromRational.fails on -1 (8 mutations)
818.40 s
[really-safe-money-gen] coverage (1377/1610): Money\.AmountOfSpec.CHF.fromRational.produces valid Amounts (19 mutations)
819.16 s
[really-safe-money-gen] coverage (1379/1610): Money\.AmountOfSpec.CHF.fromRational.fails on -Infinity (2 mutations)
819.71 s
[really-safe-money-gen] coverage (1372/1610): Money\.AmountOfSpec.CHF.multiply.is distributive with add when both succeed (17 mutations)
820.14 s
[really-safe-money-gen] coverage (1371/1610): Money\.AmountOfSpec.CHF.multiply.is absorbed by 0 (10 mutations)
820.41 s
[really-safe-money-gen] coverage (1370/1610): Money\.AmountOfSpec.CHF.multiply.has an identity\: 1 (9 mutations)
821.29 s
[really-safe-money-gen] coverage (1385/1610): Money\.AmountOfSpec.CHF.Eq (AmountOf * CHF).(==) \:\: (AmountOf * CHF) -> (AmountOf * CHF) -> Bool.is symmetric for "valid (AmountOf * CHF)"s (0 mutations)
821.43 s
[really-safe-money-gen] coverage (1386/1610): Money\.AmountOfSpec.CHF.Eq (AmountOf * CHF).(==) \:\: (AmountOf * CHF) -> (AmountOf * CHF) -> Bool.is reflexive for "valid (AmountOf * CHF)"s (0 mutations)
821.49 s
[really-safe-money-gen] coverage (1388/1610): Money\.AmountOfSpec.CHF.Eq (AmountOf * CHF).(/=) \:\: (AmountOf * CHF) -> (AmountOf * CHF) -> Bool.is antireflexive for "valid (AmountOf * CHF)"s (0 mutations)
822.54 s
[really-safe-money-gen] coverage (1393/1610): Money\.AmountOfSpec.CHF.BTC.rate.produces valid amounts (10 mutations)
822.58 s
[really-safe-money-gen] coverage (1392/1610): Money\.AmountOfSpec.CHF.BTC.convert.produces valid amounts (25 mutations)
823.70 s
[really-safe-money-gen] coverage (1391/1610): Money\.AmountOfSpec.CHF.sum.produces valid amounts (10 mutations)
824.32 s
[really-safe-money-gen] coverage (1389/1610): Money\.AmountOfSpec.CHF.Eq (AmountOf * CHF).(/=) \:\: (AmountOf * CHF) -> (AmountOf * CHF) -> Bool.is equivalent to (\\a b -> not $ a == b) for "valid (AmountOf * CHF)"s (0 mutations)
824.41 s
[really-safe-money-gen] coverage (1390/1610): Money\.AmountOfSpec.CHF.sum.matches what you would get with Integer, if nothing fails (10 mutations)
825.41 s
[really-safe-money-gen] coverage (1382/1610): Money\.AmountOfSpec.CHF.fromRational.roundtrips with toRational (19 mutations)
826.27 s
[really-safe-money-gen] coverage (1364/1610): Money\.AmountOfSpec.CHF.fromRatio.roundtrips with toRatio (19 mutations)
826.43 s
[really-safe-money-gen] coverage (1387/1610): Money\.AmountOfSpec.CHF.Eq (AmountOf * CHF).(==) \:\: (AmountOf * CHF) -> (AmountOf * CHF) -> Bool.is transitive for "valid (AmountOf * CHF)"s (0 mutations)
826.61 s
[really-safe-money-gen] coverage (1381/1610): Money\.AmountOfSpec.CHF.fromRational.fails on NaN (2 mutations)
827.12 s
[really-safe-money-gen] coverage (1384/1610): Money\.AmountOfSpec.CHF.Eq (AmountOf * CHF).(==) \:\: (AmountOf * CHF) -> (AmountOf * CHF) -> Bool.is equivalent to (\\a b -> not $ a /= b) for "valid (AmountOf * CHF)"s (0 mutations)
828.09 s
[really-safe-money-gen] coverage (1406/1610): Money\.AmountOfSpec.CHF.fromDouble.fails on -1 (6 mutations)
828.21 s
[really-safe-money-gen] coverage (1403/1610): Money\.AmountOfSpec.CHF.fromDouble.produces valid amounts (30 mutations)
828.49 s
[really-safe-money-gen] coverage (1407/1610): Money\.AmountOfSpec.CHF.fromDouble.fails on NaN (8 mutations)
828.49 s
[really-safe-money-gen] coverage (1404/1610): Money\.AmountOfSpec.CHF.fromDouble.fails on +Infinity (10 mutations)
830.11 s
[really-safe-money-gen] coverage (1408/1610): Money\.AmountOfSpec.CHF.fromDouble.fails on -Infinity (6 mutations)
830.63 s
[really-safe-money-gen] coverage (1409/1610): Money\.AmountOfSpec.CHF.ADA.rate.produces valid amounts (10 mutations)
832.48 s
[really-safe-money-gen] coverage (1421/1610): Money\.AmountOfSpec.CHF.Ord (AmountOf * CHF).(>=) \:\: (AmountOf * CHF) -> (AmountOf * CHF) -> Bool.is reflexive for "valid (AmountOf * CHF)"'s (0 mutations)
833.45 s
[really-safe-money-gen] coverage (1422/1610): Money\.AmountOfSpec.CHF.Ord (AmountOf * CHF).(<) \:\: (AmountOf * CHF) -> (AmountOf * CHF) -> Bool.is antireflexive for "valid (AmountOf * CHF)"'s (0 mutations)
834.47 s
[really-safe-money-gen] coverage (1426/1610): Money\.AmountOfSpec.CHF.Ord (AmountOf * CHF).(<=) \:\: (AmountOf * CHF) -> (AmountOf * CHF) -> Bool.is equivalent to (\\a b -> compare a b /= GT) for "valid (AmountOf * CHF)"'s (0 mutations)
834.53 s
[really-safe-money-gen] coverage (1427/1610): Money\.AmountOfSpec.CHF.Ord (AmountOf * CHF).(<=) \:\: (AmountOf * CHF) -> (AmountOf * CHF) -> Bool.is reflexive for "valid (AmountOf * CHF)"'s (0 mutations)
835.17 s
[really-safe-money-gen] coverage (1429/1610): Money\.AmountOfSpec.CHF.GenValid (AmountOf * CHF).genValid \:\: Gen (AmountOf * CHF).only generates valid '(AmountOf * CHF)'s (0 mutations)
835.85 s
[really-safe-money-gen] coverage (1432/1610): Money\.AmountOfSpec.CHF.distribute.produces results that sum up to the greater whole (29 mutations)
836.77 s
[really-safe-money-gen] coverage (1434/1610): Money\.AmountOfSpec.CHF.distribute.Eq (Distribution (AmountOf * CHF)).(/=) \:\: (Distribution (AmountOf * CHF)) -> (Distribution (AmountOf * CHF)) -> Bool.is equivalent to (\\a b -> not $ a == b) for "valid (Distribution (AmountOf * CHF))"s (1 mutations)
836.78 s
[really-safe-money-gen] coverage (1430/1610): Money\.AmountOfSpec.CHF.distribute.Show (Distribution (AmountOf * CHF)) and Read (Distribution (AmountOf * CHF)).are implemented such that read \. show == id for valid values (1 mutations)
836.82 s
[really-safe-money-gen] coverage (1435/1610): Money\.AmountOfSpec.CHF.distribute.Eq (Distribution (AmountOf * CHF)).(==) \:\: (Distribution (AmountOf * CHF)) -> (Distribution (AmountOf * CHF)) -> Bool.is symmetric for "valid (Distribution (AmountOf * CHF))"s (1 mutations)
838.23 s
[really-safe-money-gen] coverage (1438/1610): Money\.AmountOfSpec.CHF.distribute.Eq (Distribution (AmountOf * CHF)).(==) \:\: (Distribution (AmountOf * CHF)) -> (Distribution (AmountOf * CHF)) -> Bool.is transitive for "valid (Distribution (AmountOf * CHF))"s (1 mutations)
838.37 s
[really-safe-money-gen] coverage (1433/1610): Money\.AmountOfSpec.CHF.distribute.Eq (Distribution (AmountOf * CHF)).(/=) \:\: (Distribution (AmountOf * CHF)) -> (Distribution (AmountOf * CHF)) -> Bool.is antireflexive for "valid (Distribution (AmountOf * CHF))"s (1 mutations)
838.62 s
[really-safe-money-gen] coverage (1436/1610): Money\.AmountOfSpec.CHF.distribute.Eq (Distribution (AmountOf * CHF)).(==) \:\: (Distribution (AmountOf * CHF)) -> (Distribution (AmountOf * CHF)) -> Bool.is equivalent to (\\a b -> not $ a /= b) for "valid (Distribution (AmountOf * CHF))"s (1 mutations)
839.09 s
[really-safe-money-gen] coverage (1439/1610): Money\.AmountOfSpec.CHF.add.is commutative (9 mutations)
839.63 s
[really-safe-money-gen] coverage (1440/1610): Money\.AmountOfSpec.CHF.add.has a left-identity\: zero (10 mutations)
840.10 s
[really-safe-money-gen] coverage (1437/1610): Money\.AmountOfSpec.CHF.distribute.Eq (Distribution (AmountOf * CHF)).(==) \:\: (Distribution (AmountOf * CHF)) -> (Distribution (AmountOf * CHF)) -> Bool.is reflexive for "valid (Distribution (AmountOf * CHF))"s (1 mutations)
840.96 s
[really-safe-money-gen] coverage (1428/1610): Money\.AmountOfSpec.CHF.Ord (AmountOf * CHF).(<=) \:\: (AmountOf * CHF) -> (AmountOf * CHF) -> Bool.is antisymmetric for "valid (AmountOf * CHF)"'s (0 mutations)
841.99 s
[really-safe-money-gen] coverage (1431/1610): Money\.AmountOfSpec.CHF.distribute.produces valid amounts (21 mutations)
842.53 s
[really-safe-money-gen] coverage (1423/1610): Money\.AmountOfSpec.CHF.Ord (AmountOf * CHF).(<) \:\: (AmountOf * CHF) -> (AmountOf * CHF) -> Bool.is equivalent to (\\a b -> compare a b == LT) for "valid (AmountOf * CHF)"'s (0 mutations)
842.79 s
[really-safe-money-gen] coverage (1442/1610): Money\.AmountOfSpec.CHF.add.produces valid amounts (9 mutations)
843.46 s
[really-safe-money-gen] coverage (1443/1610): Money\.AmountOfSpec.CHF.add.matches what you would get with Integer, if nothing fails (9 mutations)
843.57 s
[really-safe-money-gen] coverage (1444/1610): Money\.AmountOfSpec.CHF.add.has a right-identity\: zero (10 mutations)
844.00 s
[really-safe-money-gen] coverage (1424/1610): Money\.AmountOfSpec.CHF.Ord (AmountOf * CHF).(<) \:\: (AmountOf * CHF) -> (AmountOf * CHF) -> Bool.is transitive for "valid (AmountOf * CHF)"'s (0 mutations)
845.48 s
[really-safe-money-gen] coverage (1419/1610): Money\.AmountOfSpec.CHF.Ord (AmountOf * CHF).(>=) \:\: (AmountOf * CHF) -> (AmountOf * CHF) -> Bool.is equivalent to (\\a b -> compare a b /= LT) for "valid (AmountOf * CHF)"'s (0 mutations)
845.63 s
[really-safe-money-gen] coverage (1425/1610): Money\.AmountOfSpec.CHF.Ord (AmountOf * CHF).(<=) \:\: (AmountOf * CHF) -> (AmountOf * CHF) -> Bool.is transitive for "valid (AmountOf * CHF)"'s (0 mutations)
845.75 s
[really-safe-money-gen] coverage (1416/1610): Money\.AmountOfSpec.CHF.Ord (AmountOf * CHF).(>) \:\: (AmountOf * CHF) -> (AmountOf * CHF) -> Bool.is antireflexive for "valid (AmountOf * CHF)"'s (0 mutations)
847.26 s
[really-safe-money-gen] coverage (1415/1610): Money\.AmountOfSpec.CHF.Ord (AmountOf * CHF).(>) \:\: (AmountOf * CHF) -> (AmountOf * CHF) -> Bool.is equivalent to (\\a b -> compare a b == GT) for "valid (AmountOf * CHF)"'s (0 mutations)
847.35 s
[really-safe-money-gen] coverage (1441/1610): Money\.AmountOfSpec.CHF.add.is associative when both succeed (9 mutations)
847.84 s
[really-safe-money-gen] coverage (1418/1610): Money\.AmountOfSpec.CHF.Ord (AmountOf * CHF).(>=) \:\: (AmountOf * CHF) -> (AmountOf * CHF) -> Bool.is transitive for "valid (AmountOf * CHF)"'s (0 mutations)
850.20 s
[really-safe-money-gen] coverage (1417/1610): Money\.AmountOfSpec.CHF.Ord (AmountOf * CHF).(>) \:\: (AmountOf * CHF) -> (AmountOf * CHF) -> Bool.is transitive for "valid (AmountOf * CHF)"'s (0 mutations)
851.04 s
[really-safe-money-gen] coverage (1412/1610): Money\.AmountOfSpec.CHF.toMinimalQuantisations.roundtrips with fromMinimalQuantisations (0 mutations)
851.08 s
[really-safe-money-gen] coverage (1413/1610): Money\.AmountOfSpec.CHF.Ord (AmountOf * CHF)."max \:\: (AmountOf * CHF -> AmountOf * CHF -> AmountOf * CHF)".is equivalent to (\\a b -> if a >= b then a else b) for "valid (AmountOf * CHF)"'s (0 mutations)
851.22 s
[really-safe-money-gen] coverage (1445/1610): Money\.AmountSpec.fraction.Produces a result that has been rounded in the right direction when using RoundDown (6 mutations)
852.04 s
[really-safe-money-gen] coverage (1411/1610): Money\.AmountOfSpec.CHF.toMinimalQuantisations.produces valid Int64s (0 mutations)
852.53 s
[really-safe-money-gen] coverage (1420/1610): Money\.AmountOfSpec.CHF.Ord (AmountOf * CHF).(>=) \:\: (AmountOf * CHF) -> (AmountOf * CHF) -> Bool.is antisymmetric for "valid (AmountOf * CHF)"'s (0 mutations)
853.15 s
[really-safe-money-gen] coverage (1395/1610): Money\.AmountOfSpec.CHF.subtract.matches what you would get with Integer, if nothing fails (10 mutations)
853.71 s
[really-safe-money-gen] coverage (1452/1610): Money\.AmountSpec.format.formats 1 correctly with quantisation factor 10 (3 mutations)
854.33 s
[really-safe-money-gen] coverage (1453/1610): Money\.AmountSpec.format.produces valid strings (3 mutations)
855.57 s
[really-safe-money-gen] coverage (1400/1610): Money\.AmountOfSpec.CHF.Show (AmountOf * CHF) and Read (AmountOf * CHF).are implemented such that read \. show == id for valid values (1 mutations)
856.16 s
[really-safe-money-gen] coverage (1401/1610): Money\.AmountOfSpec.CHF.format.produces valid strings (3 mutations)
856.90 s
[really-safe-money-gen] coverage (1454/1610): Money\.AmountSpec.fromRatio.produces valid Amounts (19 mutations)
857.35 s
[really-safe-money-gen] coverage (1451/1610): Money\.AmountSpec.format.formats 1 correctly with quantisation factor 1 (3 mutations)
857.40 s
[really-safe-money-gen] coverage (1456/1610): Money\.AmountSpec.fromRatio.succeeds on 1 (19 mutations)
857.61 s
[really-safe-money-gen] coverage (1396/1610): Money\.AmountOfSpec.CHF.toDouble.produces valid Doubles (0 mutations)
857.70 s
[really-safe-money-gen] coverage (1399/1610): Money\.AmountOfSpec.CHF.CHF.rate.produces valid amounts (10 mutations)
857.93 s
[really-safe-money-gen] coverage (1455/1610): Money\.AmountSpec.fromRatio.roundtrips with toRatio (19 mutations)
859.64 s
[really-safe-money-gen] coverage (1457/1610): Money\.AmountSpec.fromRatio.fails on NaN (2 mutations)
859.81 s
[really-safe-money-gen] coverage (1458/1610): Money\.AmountSpec.fromRatio.fails on +Infinity (2 mutations)
860.25 s
[really-safe-money-gen] coverage (1459/1610): Money\.AmountSpec.fromRatio.succeeds on 77\.02 with quantisation factor 100 (19 mutations)
860.89 s
[really-safe-money-gen] coverage (1397/1610): Money\.AmountOfSpec.CHF.toRational.produces valid Rationals (0 mutations)
861.36 s
[really-safe-money-gen] coverage (1398/1610): Money\.AmountOfSpec.CHF.CHF.convert.produces valid amounts (25 mutations)
861.59 s
[really-safe-money-gen] coverage (1461/1610): Money\.AmountSpec.fromRatio.fails on 7\.123 with quantisation factor 10 (13 mutations)
861.60 s
[really-safe-money-gen] coverage (1460/1610): Money\.AmountSpec.fromRatio.succeeds on 0 (19 mutations)
863.25 s
[really-safe-money-gen] coverage (1394/1610): Money\.AmountOfSpec.CHF.zero.is valid (1 mutations)
864.87 s
[really-safe-money-gen] coverage (1462/1610): Money\.AmountSpec.distribute.correctly distributes 3 into 3 (5 mutations)
865.93 s
[really-safe-money-gen] coverage (1463/1610): Money\.AmountSpec.distribute.produces results that sum up to the greater whole (25 mutations)
867.98 s
[really-safe-money-gen] coverage (1402/1610): Money\.AmountOfSpec.CHF.fromDouble.succeeds on 1 (30 mutations)
868.02 s
[really-safe-money-gen] coverage (1464/1610): Money\.AmountSpec.distribute.Show (Distribution Amount) and Read (Distribution Amount).are implemented such that read \. show == id for valid values (1 mutations)
868.47 s
[really-safe-money-gen] coverage (1405/1610): Money\.AmountOfSpec.CHF.fromDouble.succeeds on 0 (30 mutations)
868.47 s
[really-safe-money-gen] coverage (1414/1610): Money\.AmountOfSpec.CHF.Ord (AmountOf * CHF)."min \:\: (AmountOf * CHF -> AmountOf * CHF -> AmountOf * CHF)".is equivalent to (\\a b -> if a <= b then a else b) for "valid (AmountOf * CHF)"'s (0 mutations)
868.70 s
[really-safe-money-gen] coverage (1450/1610): Money\.AmountSpec.fraction.Produces a result that has been rounded in the right direction when using RoundUp (6 mutations)
869.74 s
[really-safe-money-gen] coverage (1410/1610): Money\.AmountOfSpec.CHF.ADA.convert.produces valid amounts (25 mutations)
870.58 s
[really-safe-money-gen] coverage (1474/1610): Money\.AmountSpec.distribute.produces valid amounts (17 mutations)
871.06 s
[really-safe-money-gen] coverage (1477/1610): Money\.AmountSpec.sum.fails to sum above maxBound (9 mutations)
872.31 s
[really-safe-money-gen] coverage (1480/1610): Money\.AmountSpec.multiply.fails for 2 * maxbound (8 mutations)
872.36 s
[really-safe-money-gen] coverage (1479/1610): Money\.AmountSpec.multiply.matches what you would get with Integer, if nothing fails (9 mutations)
874.40 s
[really-safe-money-gen] coverage (1476/1610): Money\.AmountSpec.sum.matches what you would get with Integer, if nothing fails (10 mutations)
874.71 s
[really-safe-money-gen] coverage (1470/1610): Money\.AmountSpec.distribute.Eq (Distribution Amount).(==) \:\: (Distribution Amount) -> (Distribution Amount) -> Bool.is reflexive for "valid (Distribution Amount)"s (1 mutations)
875.30 s
[really-safe-money-gen] coverage (1473/1610): Money\.AmountSpec.distribute.Eq (Distribution Amount).(/=) \:\: (Distribution Amount) -> (Distribution Amount) -> Bool.is equivalent to (\\a b -> not $ a == b) for "valid (Distribution Amount)"s (1 mutations)
875.44 s
[really-safe-money-gen] coverage (1472/1610): Money\.AmountSpec.distribute.Eq (Distribution Amount).(/=) \:\: (Distribution Amount) -> (Distribution Amount) -> Bool.is antireflexive for "valid (Distribution Amount)"s (1 mutations)
875.53 s
[really-safe-money-gen] coverage (1471/1610): Money\.AmountSpec.distribute.Eq (Distribution Amount).(==) \:\: (Distribution Amount) -> (Distribution Amount) -> Bool.is transitive for "valid (Distribution Amount)"s (1 mutations)
875.66 s
[really-safe-money-gen] coverage (1467/1610): Money\.AmountSpec.distribute.correctly distributes 5 into 3 (7 mutations)
876.23 s
[really-safe-money-gen] coverage (1469/1610): Money\.AmountSpec.distribute.Eq (Distribution Amount).(==) \:\: (Distribution Amount) -> (Distribution Amount) -> Bool.is equivalent to (\\a b -> not $ a /= b) for "valid (Distribution Amount)"s (1 mutations)
877.17 s
[really-safe-money-gen] coverage (1478/1610): Money\.AmountSpec.sum.correctly sums [1,2,3] to 6 (10 mutations)
877.45 s
[really-safe-money-gen] coverage (1468/1610): Money\.AmountSpec.distribute.Eq (Distribution Amount).(==) \:\: (Distribution Amount) -> (Distribution Amount) -> Bool.is symmetric for "valid (Distribution Amount)"s (1 mutations)
878.33 s
[really-safe-money-gen] coverage (1481/1610): Money\.AmountSpec.multiply.produces valid amounts (9 mutations)
878.74 s
[really-safe-money-gen] coverage (1475/1610): Money\.AmountSpec.sum.produces valid amounts (10 mutations)
878.96 s
[really-safe-money-gen] coverage (1484/1610): Money\.AmountSpec.multiply.has an identity\: 1 (9 mutations)
879.65 s
[really-safe-money-gen] coverage (1494/1610): Money\.AmountSpec.fromDouble.fails on 7\.123 with quantisation factor 10 (24 mutations)
879.73 s
[really-safe-money-gen] coverage (1493/1610): Money\.AmountSpec.fromDouble.fails on -1 (6 mutations)
880.39 s
[really-safe-money-gen] coverage (1483/1610): Money\.AmountSpec.multiply.is distributive with add when both succeed (18 mutations)
880.41 s
[really-safe-money-gen] coverage (1486/1610): Money\.AmountSpec.Show Amount and Read Amount.are implemented such that read \. show == id for valid values (1 mutations)
882.34 s
[really-safe-money-gen] coverage (1495/1610): Money\.AmountSpec.fromDouble.fails on -Infinity (6 mutations)
884.04 s
[really-safe-money-gen] coverage (1496/1610): Money\.AmountSpec.fromDouble.fails on +Infinity (10 mutations)
884.54 s
[really-safe-money-gen] coverage (1501/1610): Money\.AmountSpec.Ord Amount.(<=) \:\: Amount -> Amount -> Bool.is antisymmetric for "valid Amount"'s (0 mutations)
885.21 s
[really-safe-money-gen] coverage (1498/1610): Money\.AmountSpec.fromDouble.succeeds on 0 (30 mutations)
885.29 s
[really-safe-money-gen] coverage (1499/1610): Money\.AmountSpec.Ord Amount.(<=) \:\: Amount -> Amount -> Bool.is reflexive for "valid Amount"'s (0 mutations)
885.48 s
[really-safe-money-gen] coverage (1497/1610): Money\.AmountSpec.fromDouble.succeeds on 1 (30 mutations)
886.40 s
[really-safe-money-gen] coverage (1502/1610): Money\.AmountSpec.Ord Amount.(<=) \:\: Amount -> Amount -> Bool.is transitive for "valid Amount"'s (0 mutations)
886.62 s
[really-safe-money-gen] coverage (1503/1610): Money\.AmountSpec.Ord Amount.(>=) \:\: Amount -> Amount -> Bool.is transitive for "valid Amount"'s (0 mutations)
888.05 s
[really-safe-money-gen] coverage (1511/1610): Money\.AmountSpec.Ord Amount."min \:\: (Amount -> Amount -> Amount)".is equivalent to (\\a b -> if a <= b then a else b) for "valid Amount"'s (0 mutations)
888.34 s
[really-safe-money-gen] coverage (1512/1610): Money\.AmountSpec.Ord Amount.(>) \:\: Amount -> Amount -> Bool.is equivalent to (\\a b -> compare a b == GT) for "valid Amount"'s (0 mutations)
889.53 s
[really-safe-money-gen] coverage (1514/1610): Money\.AmountSpec.Ord Amount.(>) \:\: Amount -> Amount -> Bool.is transitive for "valid Amount"'s (0 mutations)
889.71 s
[really-safe-money-gen] coverage (1513/1610): Money\.AmountSpec.Ord Amount.(>) \:\: Amount -> Amount -> Bool.is antireflexive for "valid Amount"'s (0 mutations)
891.81 s
[really-safe-money-gen] coverage (1515/1610): Money\.AmountSpec.toRational.produces valid Rationals when the quantisation factor is nonzero (0 mutations)
892.65 s
[really-safe-money-gen] coverage (1516/1610): Money\.AmountSpec.toRational.produces an invalid Rational with quantisation factor 0 (1 mutations)
892.67 s
[really-safe-money-gen] coverage (1519/1610): Money\.AmountSpec.fromRational.fails on really large numbers (19 mutations)
892.72 s
[really-safe-money-gen] coverage (1517/1610): Money\.AmountSpec.fromRational.roundtrips with toRational (19 mutations)
893.61 s
[really-safe-money-gen] coverage (1520/1610): Money\.AmountSpec.fromRational.fails on -Infinity (2 mutations)
893.67 s
[really-safe-money-gen] coverage (1518/1610): Money\.AmountSpec.fromRational.succeeds on 0 (19 mutations)
894.24 s
[really-safe-money-gen] coverage (1509/1610): Money\.AmountSpec.Ord Amount.(<) \:\: Amount -> Amount -> Bool.is transitive for "valid Amount"'s (0 mutations)
894.46 s
[really-safe-money-gen] coverage (1506/1610): Money\.AmountSpec.Ord Amount.(>=) \:\: Amount -> Amount -> Bool.is reflexive for "valid Amount"'s (0 mutations)
894.90 s
[really-safe-money-gen] coverage (1521/1610): Money\.AmountSpec.fromRational.succeeds on 1 (19 mutations)
895.04 s
[really-safe-money-gen] coverage (1505/1610): Money\.AmountSpec.Ord Amount.(>=) \:\: Amount -> Amount -> Bool.is antisymmetric for "valid Amount"'s (0 mutations)
895.71 s
[really-safe-money-gen] coverage (1522/1610): Money\.AmountSpec.fromRational.succeeds on 77\.02 with quantisation factor 100 (19 mutations)
896.35 s
[really-safe-money-gen] coverage (1507/1610): Money\.AmountSpec.Ord Amount."max \:\: (Amount -> Amount -> Amount)".is equivalent to (\\a b -> if a >= b then a else b) for "valid Amount"'s (0 mutations)
897.22 s
[really-safe-money-gen] coverage (1510/1610): Money\.AmountSpec.Ord Amount.(<) \:\: Amount -> Amount -> Bool.is equivalent to (\\a b -> compare a b == LT) for "valid Amount"'s (0 mutations)
897.39 s
[really-safe-money-gen] coverage (1532/1610): Money\.AmountSpec.add.has a right-identity\: zero (10 mutations)
897.42 s
[really-safe-money-gen] coverage (1530/1610): Money\.AmountSpec.add.fails for maxBound + 1 (8 mutations)
898.45 s
[really-safe-money-gen] coverage (1531/1610): Money\.AmountSpec.add.matches what you would get with Integer, if nothing fails (9 mutations)
901.51 s
[really-safe-money-gen] coverage (1533/1610): Money\.AmountSpec.add.produces valid amounts (9 mutations)
901.72 s
[really-safe-money-gen] coverage (1534/1610): Money\.AmountSpec.add.fails for maxBound + maxBound (8 mutations)
902.38 s
[really-safe-money-gen] coverage (1535/1610): Money\.AmountSpec.add.has a left-identity\: zero (10 mutations)
902.93 s
[really-safe-money-gen] coverage (1536/1610): Money\.AmountSpec.toMinimalQuantisations.roundtrips with fromMinimalQuantisations (0 mutations)
903.11 s
[really-safe-money-gen] coverage (1537/1610): Money\.AmountSpec.toMinimalQuantisations.produces valid Int64s (0 mutations)
903.33 s
[really-safe-money-gen] coverage (1538/1610): Money\.AmountSpec.Eq Amount.(/=) \:\: Amount -> Amount -> Bool.is antireflexive for "valid Amount"s (0 mutations)
903.85 s
[really-safe-money-gen] coverage (1539/1610): Money\.AmountSpec.Eq Amount.(/=) \:\: Amount -> Amount -> Bool.is equivalent to (\\a b -> not $ a == b) for "valid Amount"s (0 mutations)
905.27 s
[really-safe-money-gen] coverage (1540/1610): Money\.AmountSpec.Eq Amount.(==) \:\: Amount -> Amount -> Bool.is equivalent to (\\a b -> not $ a /= b) for "valid Amount"s (0 mutations)
906.20 s
[really-safe-money-gen] coverage (1542/1610): Money\.AmountSpec.Eq Amount.(==) \:\: Amount -> Amount -> Bool.is reflexive for "valid Amount"s (0 mutations)
907.04 s
[really-safe-money-gen] coverage (1541/1610): Money\.AmountSpec.Eq Amount.(==) \:\: Amount -> Amount -> Bool.is transitive for "valid Amount"s (0 mutations)
907.19 s
[really-safe-money-gen] coverage (1543/1610): Money\.AmountSpec.Eq Amount.(==) \:\: Amount -> Amount -> Bool.is symmetric for "valid Amount"s (0 mutations)
908.30 s
[really-safe-money-gen] coverage (1544/1610): Money\.AmountSpec.GenValid Amount.genValid \:\: Gen Amount.only generates valid 'Amount's (0 mutations)
909.63 s
[really-safe-money-gen] coverage (1545/1610): Money\.AmountSpec.toDouble.produces valid Doubles (0 mutations)
910.17 s
[really-safe-money-gen] coverage (1548/1610): Money\.AmountSpec.rate.produces valid conversion rates (10 mutations)
910.40 s
[really-safe-money-gen] coverage (1547/1610): Money\.AmountSpec.toDouble.produces an infinite Double with quantisation factor 0 (0 mutations)
910.63 s
[really-safe-money-gen] coverage (1546/1610): Money\.AmountSpec.toDouble.succeeds on 7702 with quantisation factor 100 (0 mutations)
911.65 s
[really-safe-money-gen] coverage (1550/1610): Money\.AmountSpec.rate.computes this USD to CHF rate correctly (10 mutations)
911.80 s
[really-safe-money-gen] coverage (1553/1610): Money\.AmountSpec.convert.converts this USD to CHF correctly (22 mutations)
911.83 s
[really-safe-money-gen] coverage (1551/1610): Money\.AmountSpec.zero.is valid (1 mutations)
912.08 s
[really-safe-money-gen] coverage (1552/1610): Money\.AmountSpec.convert.succeeds in converting 1\:1 without rounding if the quantisation factor is the same (25 mutations)
912.68 s
[really-safe-money-gen] coverage (1555/1610): Money\.AmountSpec.toRatio.produces an invalid Rational with quantisation factor 0 (1 mutations)
913.55 s
[really-safe-money-gen] coverage (1558/1610): Money\.AmountSpec.subtract.fails for 0 - 1 (9 mutations)
913.99 s
[really-safe-money-gen] coverage (1557/1610): Money\.AmountSpec.subtract.fails for 0 - maxBound (9 mutations)
914.23 s
[really-safe-money-gen] coverage (1556/1610): Money\.AmountSpec.toRatio.produces valid Rationals when the quantisation factor is nonzero (0 mutations)
914.81 s
[really-safe-money-gen] coverage (1559/1610): Money\.AmountSpec.subtract.matches what you would get with Integer, if nothing fails (10 mutations)
915.03 s
[really-safe-money-gen] coverage (1549/1610): Money\.AmountSpec.rate.computes a rate that can be used to do a conversion without rounding (27 mutations)
915.08 s
[really-safe-money-gen] coverage (1554/1610): Money\.AmountSpec.convert.produces valid amounts (25 mutations)
915.51 s
[really-safe-money-gen] coverage (1560/1610): Money\.AmountSpec.DecimalLiteral.can turn DecimalLiteral (Just True) 600 2 into decimalLiteral QuantisationFactor {unQuantisationFactor = 20} (23 mutations)
918.56 s
[really-safe-money-gen] coverage (1562/1610): Money\.AmountSpec.DecimalLiteral.can turn DecimalLiteral (Just True) 2 0 into decimalLiteral QuantisationFactor {unQuantisationFactor = 1} (23 mutations)
918.71 s
[really-safe-money-gen] coverage (1561/1610): Money\.AmountSpec.DecimalLiteral.can turn decimalLiteral QuantisationFactor {unQuantisationFactor = 100000000} into DecimalLiteral (Just True) 500 8 (50 mutations)
919.82 s
[really-safe-money-gen] coverage (1565/1610): Money\.AmountSpec.DecimalLiteral.can turn DecimalLiteral (Just True) 500 8 into decimalLiteral QuantisationFactor {unQuantisationFactor = 100000000} (23 mutations)
919.99 s
[really-safe-money-gen] coverage (1564/1610): Money\.AmountSpec.DecimalLiteral.can turn DecimalLiteral (Just True) 20 2 into decimalLiteral QuantisationFactor {unQuantisationFactor = 20} (23 mutations)
920.50 s
[really-safe-money-gen] coverage (1504/1610): Money\.AmountSpec.Ord Amount.(>=) \:\: Amount -> Amount -> Bool.is equivalent to (\\a b -> compare a b /= LT) for "valid Amount"'s (0 mutations)
921.06 s
[really-safe-money-gen] coverage (1563/1610): Money\.AmountSpec.DecimalLiteral.can turn decimalLiteral QuantisationFactor {unQuantisationFactor = 20} into DecimalLiteral (Just True) 600 2 (44 mutations)
921.97 s
[really-safe-money-gen] coverage (1529/1610): Money\.AmountSpec.add.is commutative (9 mutations)
922.88 s
[really-safe-money-gen] coverage (1526/1610): Money\.AmountSpec.fromRational.fails on NaN (2 mutations)
923.10 s
[really-safe-money-gen] coverage (1527/1610): Money\.AmountSpec.fromRational.produces valid Amounts (19 mutations)
923.73 s
[really-safe-money-gen] coverage (1523/1610): Money\.AmountSpec.fromRational.fails on 7\.123 with quantisation factor 10 (13 mutations)
924.74 s
[really-safe-money-gen] coverage (1525/1610): Money\.AmountSpec.fromRational.fails on -1 (8 mutations)
925.98 s
[really-safe-money-gen] coverage (1524/1610): Money\.AmountSpec.fromRational.fails on +Infinity (2 mutations)
926.87 s
[really-safe-money-gen] coverage (1449/1610): Money\.AmountSpec.fraction.Correctly fractions 100 with 1 % 100 (12 mutations)
927.66 s
[really-safe-money-gen] coverage (1446/1610): Money\.AmountSpec.fraction.Correctly fractions 101 with 1 % 100 (12 mutations)
928.64 s
[really-safe-money-gen] coverage (1448/1610): Money\.AmountSpec.fraction.produces valid amounts (17 mutations)
928.64 s
[really-safe-money-gen] coverage (1568/1610): Money\.AmountSpec.DecimalLiteral.can turn DecimalLiteral (Just True) 500 2 into decimalLiteral QuantisationFactor {unQuantisationFactor = 20} (23 mutations)
928.64 s
[really-safe-money-gen] coverage (1570/1610): Money\.AmountSpec.DecimalLiteral.Amount\.fromDecimalLiteral.fails on this amount that is too precise (17 mutations)
928.77 s
[really-safe-money-gen] coverage (1487/1610): Money\.AmountSpec.fromDouble.fails on really large numbers (21 mutations)
929.22 s
[really-safe-money-gen] coverage (1500/1610): Money\.AmountSpec.Ord Amount.(<=) \:\: Amount -> Amount -> Bool.is equivalent to (\\a b -> compare a b /= GT) for "valid Amount"'s (0 mutations)
929.74 s
[really-safe-money-gen] coverage (1447/1610): Money\.AmountSpec.fraction.Produces a result that can be multiplied back (17 mutations)
929.96 s
[really-safe-money-gen] coverage (1567/1610): Money\.AmountSpec.DecimalLiteral.can turn decimalLiteral QuantisationFactor {unQuantisationFactor = 20} into DecimalLiteral (Just True) 10 2 (50 mutations)
930.25 s
[really-safe-money-gen] coverage (1566/1610): Money\.AmountSpec.DecimalLiteral.can turn DecimalLiteral (Just True) 200 2 into decimalLiteral QuantisationFactor {unQuantisationFactor = 100} (23 mutations)
930.81 s
[really-safe-money-gen] coverage (1508/1610): Money\.AmountSpec.Ord Amount.(<) \:\: Amount -> Amount -> Bool.is antireflexive for "valid Amount"'s (0 mutations)
931.74 s
[really-safe-money-gen] coverage (1489/1610): Money\.AmountSpec.fromDouble.succeeds on 77\.02 with quantisation factor 100 (30 mutations)
933.00 s
[really-safe-money-gen] coverage (1492/1610): Money\.AmountSpec.fromDouble.fails on NaN (8 mutations)
933.10 s
[really-safe-money-gen] coverage (1490/1610): Money\.AmountSpec.fromDouble.produces valid amounts (30 mutations)
933.22 s
[really-safe-money-gen] coverage (1491/1610): Money\.AmountSpec.fromDouble.fails on really large numbers:1 (10 mutations)
933.93 s
[really-safe-money-gen] coverage (1528/1610): Money\.AmountSpec.add.is associative when both succeed (9 mutations)
935.99 s
[really-safe-money-gen] coverage (1485/1610): Money\.AmountSpec.multiply.succeeds for 3 * 6 (9 mutations)
936.63 s
[really-safe-money-gen] coverage (1466/1610): Money\.AmountSpec.distribute.GenValid (Distribution Amount).genValid \:\: Gen (Distribution Amount).only generates valid '(Distribution Amount)'s (11 mutations)
937.48 s
[really-safe-money-gen] coverage (1465/1610): Money\.AmountSpec.distribute.correctly distributes 10 into 4 (7 mutations)
937.64 s
[really-safe-money-gen] coverage (1579/1610): Money\.AmountSpec.DecimalLiteral.can turn DecimalLiteral (Just True) 4 2 into decimalLiteral QuantisationFactor {unQuantisationFactor = 100} (23 mutations)
938.71 s
[really-safe-money-gen] coverage (1488/1610): Money\.AmountSpec.fromDouble.roundtrips with toDouble, back to double (30 mutations)
938.77 s
[really-safe-money-gen] coverage (1580/1610): Money\.AmountSpec.DecimalLiteral.can turn decimalLiteral QuantisationFactor {unQuantisationFactor = 100} into DecimalLiteral (Just True) 100 2 (44 mutations)
939.99 s
[really-safe-money-gen] coverage (1571/1610): Money\.AmountSpec.DecimalLiteral.Amount\.fromDecimalLiteral.fails on this amount that is too precise:1 (17 mutations)
940.92 s
[really-safe-money-gen] coverage (1569/1610): Money\.AmountSpec.DecimalLiteral.Amount\.fromDecimalLiteral.produces valid factors (23 mutations)
941.93 s
[really-safe-money-gen] coverage (1578/1610): Money\.AmountSpec.DecimalLiteral.can turn decimalLiteral QuantisationFactor {unQuantisationFactor = 100} into DecimalLiteral (Just True) 200 2 (44 mutations)
942.57 s
[really-safe-money-gen] coverage (1572/1610): Money\.AmountSpec.DecimalLiteral.can turn decimalLiteral QuantisationFactor {unQuantisationFactor = 1} into DecimalLiteral (Just True) 2 0 (38 mutations)
943.19 s
[really-safe-money-gen] coverage (1575/1610): Money\.AmountSpec.DecimalLiteral.can turn DecimalLiteral (Just True) 100 2 into decimalLiteral QuantisationFactor {unQuantisationFactor = 100} (23 mutations)
944.46 s
[really-safe-money-gen] coverage (1573/1610): Money\.AmountSpec.DecimalLiteral.can turn decimalLiteral QuantisationFactor {unQuantisationFactor = 1} into DecimalLiteral (Just True) 1 0 (38 mutations)
945.17 s
[really-safe-money-gen] coverage (1577/1610): Money\.AmountSpec.DecimalLiteral.can turn DecimalLiteral (Just True) 3 2 into decimalLiteral QuantisationFactor {unQuantisationFactor = 100} (23 mutations)
946.54 s
[really-safe-money-gen] coverage (1598/1610): Money\.CurrencySpec.Ord Currency.(<=) \:\: Currency -> Currency -> Bool.is antisymmetric for "valid Currency"'s (1 mutations)
946.59 s
[really-safe-money-gen] coverage (1602/1610): Money\.CurrencySpec.Ord Currency.(>) \:\: Currency -> Currency -> Bool.is equivalent to (\\a b -> compare a b == GT) for "valid Currency"'s (1 mutations)
946.88 s
[really-safe-money-gen] coverage (1600/1610): Money\.CurrencySpec.Ord Currency.(<=) \:\: Currency -> Currency -> Bool.is reflexive for "valid Currency"'s (1 mutations)
947.46 s
[really-safe-money-gen] coverage (1599/1610): Money\.CurrencySpec.Ord Currency.(<=) \:\: Currency -> Currency -> Bool.is equivalent to (\\a b -> compare a b /= GT) for "valid Currency"'s (1 mutations)
947.48 s
[really-safe-money-gen] coverage (1601/1610): Money\.CurrencySpec.Ord Currency.(>) \:\: Currency -> Currency -> Bool.is transitive for "valid Currency"'s (1 mutations)
947.95 s
[really-safe-money-gen] coverage (1604/1610): Money\.CurrencySpec.Ord Currency.(>=) \:\: Currency -> Currency -> Bool.is transitive for "valid Currency"'s (1 mutations)
948.39 s
[really-safe-money-gen] coverage (1603/1610): Money\.CurrencySpec.Ord Currency.(>) \:\: Currency -> Currency -> Bool.is antireflexive for "valid Currency"'s (1 mutations)
948.44 s
[really-safe-money-gen] coverage (1592/1610): Money\.CurrencySpec.Eq Currency.(==) \:\: Currency -> Currency -> Bool.is transitive for "valid Currency"s (1 mutations)
948.87 s
[really-safe-money-gen] coverage (1607/1610): Money\.CurrencySpec.Ord Currency.(>=) \:\: Currency -> Currency -> Bool.is equivalent to (\\a b -> compare a b /= LT) for "valid Currency"'s (1 mutations)
948.94 s
[really-safe-money-gen] coverage (1605/1610): Money\.CurrencySpec.Ord Currency.(>=) \:\: Currency -> Currency -> Bool.is antisymmetric for "valid Currency"'s (1 mutations)
949.79 s
[really-safe-money-gen] coverage (1594/1610): Money\.CurrencySpec.Show Currency and Read Currency.are implemented such that read \. show == id for valid values (1 mutations)
950.62 s
[really-safe-money-gen] coverage (1597/1610): Money\.CurrencySpec.Ord Currency.(<=) \:\: Currency -> Currency -> Bool.is transitive for "valid Currency"'s (1 mutations)
950.66 s
[really-safe-money-gen] coverage (1596/1610): Money\.CurrencySpec.Ord Currency."min \:\: (Currency -> Currency -> Currency)".is equivalent to (\\a b -> if a <= b then a else b) for "valid Currency"'s (1 mutations)
952.22 s
[really-safe-money-gen] coverage (1595/1610): Money\.CurrencySpec.Ord Currency."max \:\: (Currency -> Currency -> Currency)".is equivalent to (\\a b -> if a >= b then a else b) for "valid Currency"'s (1 mutations)
952.66 s
[really-safe-money-gen] coverage (1591/1610): Money\.CurrencySpec.Eq Currency.(==) \:\: Currency -> Currency -> Bool.is symmetric for "valid Currency"s (1 mutations)
953.35 s
[really-safe-money-gen] coverage (1590/1610): Money\.CurrencySpec.Eq Currency.(==) \:\: Currency -> Currency -> Bool.is equivalent to (\\a b -> not $ a /= b) for "valid Currency"s (1 mutations)
953.67 s
[really-safe-money-gen] coverage (1589/1610): Money\.CurrencySpec.Eq Currency.(/=) \:\: Currency -> Currency -> Bool.is equivalent to (\\a b -> not $ a == b) for "valid Currency"s (1 mutations)
954.31 s
[really-safe-money-gen] coverage (1608/1610): Money\.CurrencySpec.Ord Currency.(<) \:\: Currency -> Currency -> Bool.is equivalent to (\\a b -> compare a b == LT) for "valid Currency"'s (1 mutations)
954.58 s
[really-safe-money-gen] coverage (1588/1610): Money\.CurrencySpec.Eq Currency.(/=) \:\: Currency -> Currency -> Bool.is antireflexive for "valid Currency"s (1 mutations)
955.05 s
[really-safe-money-gen] coverage (1609/1610): Money\.CurrencySpec.Ord Currency.(<) \:\: Currency -> Currency -> Bool.is transitive for "valid Currency"'s (1 mutations)
955.19 s
[really-safe-money-gen] coverage (1587/1610): Money\.AmountSpec.fromMinimalQuantisations.produces valid amounts (0 mutations)
955.33 s
[really-safe-money-gen] coverage (1593/1610): Money\.CurrencySpec.Eq Currency.(==) \:\: Currency -> Currency -> Bool.is reflexive for "valid Currency"s (1 mutations)
956.07 s
[really-safe-money-gen] coverage (1585/1610): Money\.AmountSpec.DecimalLiteral.can turn DecimalLiteral (Just True) 1 0 into decimalLiteral QuantisationFactor {unQuantisationFactor = 1} (23 mutations)
956.34 s
[really-safe-money-gen] coverage (1586/1610): Money\.AmountSpec.DecimalLiteral.can turn DecimalLiteral (Just True) 10 2 into decimalLiteral QuantisationFactor {unQuantisationFactor = 20} (23 mutations)
956.54 s
[really-safe-money-gen] coverage (1610/1610): Money\.CurrencySpec.Ord Currency.(<) \:\: Currency -> Currency -> Bool.is antireflexive for "valid Currency"'s (1 mutations)
956.78 s
[really-safe-money-gen] coverage (1606/1610): Money\.CurrencySpec.Ord Currency.(>=) \:\: Currency -> Currency -> Bool.is reflexive for "valid Currency"'s (1 mutations)
957.15 s
[really-safe-money-gen] coverage (1584/1610): Money\.AmountSpec.DecimalLiteral.can turn decimalLiteral QuantisationFactor {unQuantisationFactor = 20} into DecimalLiteral (Just True) 20 2 (50 mutations)
957.56 s
[really-safe-money-gen] coverage (1581/1610): Money\.AmountSpec.DecimalLiteral.can turn decimalLiteral QuantisationFactor {unQuantisationFactor = 100} into DecimalLiteral (Just True) 4 2 (44 mutations)
957.66 s
[really-safe-money-gen] coverage (1574/1610): Money\.AmountSpec.DecimalLiteral.can turn decimalLiteral QuantisationFactor {unQuantisationFactor = 100} into DecimalLiteral (Just True) 3 2 (44 mutations)
957.73 s
[really-safe-money-gen] coverage (1576/1610): Money\.AmountSpec.DecimalLiteral.can turn decimalLiteral QuantisationFactor {unQuantisationFactor = 20} into DecimalLiteral (Just True) 500 2 (44 mutations)
957.75 s
[really-safe-money-gen] coverage (1482/1610): Money\.AmountSpec.multiply.is absorbed by 0 (10 mutations)
999.01 s
[really-safe-money-gen] coverage (1582/1610): Money\.AmountSpec.DecimalLiteral.Amount\.toDecimalLiteral.produces valid decimal literals (52 mutations)
1017.25 s
[really-safe-money-gen] coverage (1583/1610): Money\.AmountSpec.DecimalLiteral.Amount\.toDecimalLiteral.roundtrips with Amount\.fromDecimalLiteral (74 mutations)
1018.44 s
[really-safe-money-gen] mutation-nix: running mutations
1028.38 s
[really-safe-money-gen] Testing mutation RemoveCase at src/Money/Account.hs:553:7-39
1028.44 s
[really-safe-money-gen] @@ -550,11 +550,10 @@
1028.44 s
[really-safe-money-gen] let aa1 = abs a1
1028.44 s
[really-safe-money-gen] aa2 = abs a2
1028.45 s
[really-safe-money-gen] mr = Amount.rate qf1 aa1 qf2 aa2
1028.45 s
[really-safe-money-gen] in case (a1, a2) of
1028.45 s
[really-safe-money-gen] - (Positive _, Positive _) -> mr
1028.45 s
[really-safe-money-gen] (Positive _, Negative _) -> Nothing
1028.45 s
[really-safe-money-gen] (Negative _, Positive _) -> Nothing
1028.45 s
[really-safe-money-gen] (Negative _, Negative _) -> mr
1028.45 s
[really-safe-money-gen]
1028.45 s
[really-safe-money-gen] -- | Convert an amount of money of one currency into an amount of money of
1028.45 s
[really-safe-money-gen] -- another currency using a conversion rate.
1028.45 s
[really-safe-money-gen] Testing mutation RemoveCase at src/Money/Account.hs:553:7-39
1028.45 s
[really-safe-money-gen] @@ -550,11 +550,10 @@
1028.45 s
[really-safe-money-gen] let aa1 = abs a1
1028.45 s
[really-safe-money-gen] aa2 = abs a2
1028.45 s
[really-safe-money-gen] mr = Amount.rate qf1 aa1 qf2 aa2
1028.45 s
[really-safe-money-gen] in case (a1, a2) of
1028.45 s
[really-safe-money-gen] (Positive _, Positive _) -> mr
1028.45 s
[really-safe-money-gen] (Positive _, Negative _) -> Nothing
1028.45 s
[really-safe-money-gen] (Negative _, Positive _) -> Nothing
1028.45 s
[really-safe-money-gen] - (Negative _, Negative _) -> mr
1028.45 s
[really-safe-money-gen]
1028.45 s
[really-safe-money-gen] -- | Convert an amount of money of one currency into an amount of money of
1028.45 s
[really-safe-money-gen] -- another currency using a conversion rate.
1028.45 s
[really-safe-money-gen] Testing mutation RemoveCase at src/Money/Account.hs:553:7-39
1028.45 s
[really-safe-money-gen] @@ -550,11 +550,10 @@
1028.45 s
[really-safe-money-gen] let aa1 = abs a1
1028.45 s
[really-safe-money-gen] aa2 = abs a2
1028.45 s
[really-safe-money-gen] mr = Amount.rate qf1 aa1 qf2 aa2
1028.45 s
[really-safe-money-gen] in case (a1, a2) of
1028.45 s
[really-safe-money-gen] (Positive _, Positive _) -> mr
1028.45 s
[really-safe-money-gen] (Positive _, Negative _) -> Nothing
1028.45 s
[really-safe-money-gen] - (Negative _, Positive _) -> Nothing
1028.45 s
[really-safe-money-gen] (Negative _, Negative _) -> mr
1028.45 s
[really-safe-money-gen]
1028.45 s
[really-safe-money-gen] -- | Convert an amount of money of one currency into an amount of money of
1028.45 s
[really-safe-money-gen] -- another currency using a conversion rate.
1028.45 s
[really-safe-money-gen] Testing mutation RemoveCase at src/Money/Account.hs:591:7-44
1028.46 s
[really-safe-money-gen] @@ -588,9 +588,8 @@
1028.46 s
[really-safe-money-gen] (Maybe Account, Maybe ConversionRate)
1028.46 s
[really-safe-money-gen] convert r qf1 a cr qf2 =
1028.46 s
[really-safe-money-gen] let (ma, mr) = Amount.convert r qf1 (abs a) cr qf2
1028.46 s
[really-safe-money-gen] in case a of
1028.46 s
[really-safe-money-gen] Positive _ -> (Positive <$> ma, mr)
1028.46 s
[really-safe-money-gen] - Negative _ -> (Negative <$> ma, mr)
1028.46 s
[really-safe-money-gen]
1028.46 s
[really-safe-money-gen] -- | Format an account of money without a symbol.
1028.46 s
[really-safe-money-gen] --
1028.46 s
[really-safe-money-gen] Testing mutation RemoveCase at src/Money/Account.hs:421:11-29
1028.46 s
[really-safe-money-gen] @@ -418,13 +418,12 @@
1028.46 s
[really-safe-money-gen] multiply :: Int32 -> Account -> Maybe Account
1028.46 s
[really-safe-money-gen] multiply factor account =
1028.46 s
[really-safe-money-gen] let af = (fromIntegral :: Int32 -> Word32) ((Prelude.abs :: Int32 -> Int32) factor)
1028.46 s
[really-safe-money-gen] f = case (compare factor 0, compare account zero) of
1028.46 s
[really-safe-money-gen] - (EQ, _) -> const zero
1028.46 s
[really-safe-money-gen] (_, EQ) -> const zero
1028.46 s
[really-safe-money-gen] (GT, GT) -> Positive
1028.46 s
[really-safe-money-gen] (GT, LT) -> Negative
1028.46 s
[really-safe-money-gen] (LT, GT) -> Negative
1028.46 s
[really-safe-money-gen] (LT, LT) -> Positive
1028.46 s
[really-safe-money-gen] in f <$> Amount.multiply af (abs account)
1028.46 s
[really-safe-money-gen]
1028.46 s
[really-safe-money-gen] -- | Distribute an amount of money into chunks that are as evenly distributed as possible.
1028.46 s
[really-safe-money-gen] Testing mutation RemoveCase at src/Money/Account.hs:421:11-29
1028.46 s
[really-safe-money-gen] @@ -418,13 +418,12 @@
1028.46 s
[really-safe-money-gen] multiply :: Int32 -> Account -> Maybe Account
1028.46 s
[really-safe-money-gen] multiply factor account =
1028.46 s
[really-safe-money-gen] let af = (fromIntegral :: Int32 -> Word32) ((Prelude.abs :: Int32 -> Int32) factor)
1028.46 s
[really-safe-money-gen] f = case (compare factor 0, compare account zero) of
1028.46 s
[really-safe-money-gen] (EQ, _) -> const zero
1028.46 s
[really-safe-money-gen] (_, EQ) -> const zero
1028.46 s
[really-safe-money-gen] (GT, GT) -> Positive
1028.46 s
[really-safe-money-gen] - (GT, LT) -> Negative
1028.47 s
[really-safe-money-gen] (LT, GT) -> Negative
1028.47 s
[really-safe-money-gen] (LT, LT) -> Positive
1028.47 s
[really-safe-money-gen] in f <$> Amount.multiply af (abs account)
1028.47 s
[really-safe-money-gen]
1028.47 s
[really-safe-money-gen] -- | Distribute an amount of money into chunks that are as evenly distributed as possible.
1028.47 s
[really-safe-money-gen] Testing mutation RemoveCase at src/Money/Account.hs:421:11-29
1028.47 s
[really-safe-money-gen] @@ -418,13 +418,12 @@
1028.47 s
[really-safe-money-gen] multiply :: Int32 -> Account -> Maybe Account
1028.47 s
[really-safe-money-gen] multiply factor account =
1028.47 s
[really-safe-money-gen] let af = (fromIntegral :: Int32 -> Word32) ((Prelude.abs :: Int32 -> Int32) factor)
1028.47 s
[really-safe-money-gen] f = case (compare factor 0, compare account zero) of
1028.47 s
[really-safe-money-gen] (EQ, _) -> const zero
1028.47 s
[really-safe-money-gen] - (_, EQ) -> const zero
1028.47 s
[really-safe-money-gen] (GT, GT) -> Positive
1028.47 s
[really-safe-money-gen] (GT, LT) -> Negative
1028.47 s
[really-safe-money-gen] (LT, GT) -> Negative
1028.47 s
[really-safe-money-gen] (LT, LT) -> Positive
1028.47 s
[really-safe-money-gen] in f <$> Amount.multiply af (abs account)
1028.47 s
[really-safe-money-gen]
1028.47 s
[really-safe-money-gen] -- | Distribute an amount of money into chunks that are as evenly distributed as possible.
1028.47 s
[really-safe-money-gen] Testing mutation RemoveCase at src/Money/Account.hs:421:11-29
1028.47 s
[really-safe-money-gen] @@ -418,13 +418,12 @@
1028.47 s
[really-safe-money-gen] multiply :: Int32 -> Account -> Maybe Account
1028.47 s
[really-safe-money-gen] multiply factor account =
1028.47 s
[really-safe-money-gen] let af = (fromIntegral :: Int32 -> Word32) ((Prelude.abs :: Int32 -> Int32) factor)
1028.47 s
[really-safe-money-gen] f = case (compare factor 0, compare account zero) of
1028.47 s
[really-safe-money-gen] (EQ, _) -> const zero
1028.47 s
[really-safe-money-gen] (_, EQ) -> const zero
1028.47 s
[really-safe-money-gen] - (GT, GT) -> Positive
1028.47 s
[really-safe-money-gen] (GT, LT) -> Negative
1028.47 s
[really-safe-money-gen] (LT, GT) -> Negative
1028.47 s
[really-safe-money-gen] (LT, LT) -> Positive
1028.47 s
[really-safe-money-gen] in f <$> Amount.multiply af (abs account)
1028.47 s
[really-safe-money-gen]
1028.47 s
[really-safe-money-gen] -- | Distribute an amount of money into chunks that are as evenly distributed as possible.
1028.47 s
[really-safe-money-gen] Testing mutation RemoveCase at src/Money/Account.hs:421:11-29
1028.47 s
[really-safe-money-gen] @@ -418,13 +418,12 @@
1028.47 s
[really-safe-money-gen] multiply :: Int32 -> Account -> Maybe Account
1028.47 s
[really-safe-money-gen] multiply factor account =
1028.47 s
[really-safe-money-gen] let af = (fromIntegral :: Int32 -> Word32) ((Prelude.abs :: Int32 -> Int32) factor)
1028.48 s
[really-safe-money-gen] f = case (compare factor 0, compare account zero) of
1028.48 s
[really-safe-money-gen] (EQ, _) -> const zero
1028.48 s
[really-safe-money-gen] (_, EQ) -> const zero
1028.48 s
[really-safe-money-gen] (GT, GT) -> Positive
1028.48 s
[really-safe-money-gen] (GT, LT) -> Negative
1028.48 s
[really-safe-money-gen] (LT, GT) -> Negative
1028.48 s
[really-safe-money-gen] - (LT, LT) -> Positive
1028.48 s
[really-safe-money-gen] in f <$> Amount.multiply af (abs account)
1028.48 s
[really-safe-money-gen]
1028.48 s
[really-safe-money-gen] -- | Distribute an amount of money into chunks that are as evenly distributed as possible.
1028.48 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/Account.hs:451:14-23
1028.48 s
[really-safe-money-gen] @@ -448,7 +448,7 @@
1028.48 s
[really-safe-money-gen] DistributedIntoZeroChunks -> DistributedIntoZeroChunks
1028.48 s
[really-safe-money-gen] DistributedZero -> DistributedZero
1028.48 s
[really-safe-money-gen] DistributedIntoEqualChunks numberOfChunks chunk ->
1028.48 s
[really-safe-money-gen] - if a > = z e ro
1028.48 s
[really-safe-money-gen] + if F a ls e
1028.48 s
[really-safe-money-gen] then DistributedIntoEqualChunks numberOfChunks (Positive chunk)
1028.48 s
[really-safe-money-gen] else DistributedIntoEqualChunks numberOfChunks (Negative chunk)
1028.48 s
[really-safe-money-gen] DistributedIntoUnequalChunks numberOfLargerChunks largerChunk numberOfSmallerChunks smallerChunk ->
1028.48 s
[really-safe-money-gen] Testing mutation Cmp at src/Money/Account.hs:451:14-23
1028.48 s
[really-safe-money-gen] @@ -448,7 +448,7 @@
1028.48 s
[really-safe-money-gen] DistributedIntoZeroChunks -> DistributedIntoZeroChunks
1028.48 s
[really-safe-money-gen] DistributedZero -> DistributedZero
1028.48 s
[really-safe-money-gen] DistributedIntoEqualChunks numberOfChunks chunk ->
1028.48 s
[really-safe-money-gen] - if a > = zero
1028.48 s
[really-safe-money-gen] + if a < = zero
1028.48 s
[really-safe-money-gen] then DistributedIntoEqualChunks numberOfChunks (Positive chunk)
1028.48 s
[really-safe-money-gen] else DistributedIntoEqualChunks numberOfChunks (Negative chunk)
1028.48 s
[really-safe-money-gen] DistributedIntoUnequalChunks numberOfLargerChunks largerChunk numberOfSmallerChunks smallerChunk ->
1028.48 s
[really-safe-money-gen] Testing mutation IntLit at src/Money/Account.hs:421:32-33
1028.48 s
[really-safe-money-gen] @@ -418,7 +418,7 @@
1028.48 s
[really-safe-money-gen] multiply :: Int32 -> Account -> Maybe Account
1028.48 s
[really-safe-money-gen] multiply factor account =
1028.48 s
[really-safe-money-gen] let af = (fromIntegral :: Int32 -> Word32) ((Prelude.abs :: Int32 -> Int32) factor)
1028.48 s
[really-safe-money-gen] - f = case (compare factor 0 , compare account zero) of
1028.48 s
[really-safe-money-gen] + f = case (compare factor 1 , compare account zero) of
1028.48 s
[really-safe-money-gen] (EQ, _) -> const zero
1028.48 s
[really-safe-money-gen] (_, EQ) -> const zero
1028.48 s
[really-safe-money-gen] (GT, GT) -> Positive
1028.48 s
[really-safe-money-gen] Testing mutation RemoveCase at src/Money/Account.hs:591:7-44
1028.48 s
[really-safe-money-gen] @@ -588,9 +588,8 @@
1028.49 s
[really-safe-money-gen] (Maybe Account, Maybe ConversionRate)
1028.49 s
[really-safe-money-gen] convert r qf1 a cr qf2 =
1028.49 s
[really-safe-money-gen] let (ma, mr) = Amount.convert r qf1 (abs a) cr qf2
1028.49 s
[really-safe-money-gen] in case a of
1028.49 s
[really-safe-money-gen] - Positive _ -> (Positive <$> ma, mr)
1028.49 s
[really-safe-money-gen] Negative _ -> (Negative <$> ma, mr)
1028.49 s
[really-safe-money-gen]
1028.49 s
[really-safe-money-gen] -- | Format an account of money without a symbol.
1028.49 s
[really-safe-money-gen] --
1028.49 s
[really-safe-money-gen] Testing mutation Cmp at src/Money/Account.hs:455:14-23
1028.49 s
[really-safe-money-gen] @@ -452,7 +452,7 @@
1028.49 s
[really-safe-money-gen] then DistributedIntoEqualChunks numberOfChunks (Positive chunk)
1028.49 s
[really-safe-money-gen] else DistributedIntoEqualChunks numberOfChunks (Negative chunk)
1028.49 s
[really-safe-money-gen] DistributedIntoUnequalChunks numberOfLargerChunks largerChunk numberOfSmallerChunks smallerChunk ->
1028.49 s
[really-safe-money-gen] - if a > = zero
1028.49 s
[really-safe-money-gen] + if a < = zero
1028.49 s
[really-safe-money-gen] then DistributedIntoUnequalChunks numberOfLargerChunks (Positive largerChunk) numberOfSmallerChunks (Positive smallerChunk)
1028.49 s
[really-safe-money-gen] else DistributedIntoUnequalChunks numberOfSmallerChunks (Negative smallerChunk) numberOfLargerChunks (Negative largerChunk)
1028.49 s
[really-safe-money-gen]
1028.49 s
[really-safe-money-gen] Testing mutation Cmp at src/Money/Account.hs:455:14-23
1028.49 s
[really-safe-money-gen] @@ -452,7 +452,7 @@
1028.49 s
[really-safe-money-gen] then DistributedIntoEqualChunks numberOfChunks (Positive chunk)
1028.49 s
[really-safe-money-gen] else DistributedIntoEqualChunks numberOfChunks (Negative chunk)
1028.49 s
[really-safe-money-gen] DistributedIntoUnequalChunks numberOfLargerChunks largerChunk numberOfSmallerChunks smallerChunk ->
1028.49 s
[really-safe-money-gen] - if a > = zero
1028.49 s
[really-safe-money-gen] + if a < zero
1028.49 s
[really-safe-money-gen] then DistributedIntoUnequalChunks numberOfLargerChunks (Positive largerChunk) numberOfSmallerChunks (Positive smallerChunk)
1028.49 s
[really-safe-money-gen] else DistributedIntoUnequalChunks numberOfSmallerChunks (Negative smallerChunk) numberOfLargerChunks (Negative largerChunk)
1028.49 s
[really-safe-money-gen]
1028.49 s
[really-safe-money-gen] Testing mutation Cmp at src/Money/Account.hs:451:14-23
1028.49 s
[really-safe-money-gen] @@ -448,7 +448,7 @@
1028.49 s
[really-safe-money-gen] DistributedIntoZeroChunks -> DistributedIntoZeroChunks
1028.49 s
[really-safe-money-gen] DistributedZero -> DistributedZero
1028.49 s
[really-safe-money-gen] DistributedIntoEqualChunks numberOfChunks chunk ->
1028.49 s
[really-safe-money-gen] - if a > = zero
1028.49 s
[really-safe-money-gen] + if a > zero
1028.49 s
[really-safe-money-gen] then DistributedIntoEqualChunks numberOfChunks (Positive chunk)
1028.49 s
[really-safe-money-gen] else DistributedIntoEqualChunks numberOfChunks (Negative chunk)
1028.49 s
[really-safe-money-gen] DistributedIntoUnequalChunks numberOfLargerChunks largerChunk numberOfSmallerChunks smallerChunk ->
1028.49 s
[really-safe-money-gen] Testing mutation RemoveCase at src/Money/Account.hs:553:7-39
1028.49 s
[really-safe-money-gen] @@ -550,11 +550,10 @@
1028.49 s
[really-safe-money-gen] let aa1 = abs a1
1028.49 s
[really-safe-money-gen] aa2 = abs a2
1028.49 s
[really-safe-money-gen] mr = Amount.rate qf1 aa1 qf2 aa2
1028.49 s
[really-safe-money-gen] in case (a1, a2) of
1028.49 s
[really-safe-money-gen] (Positive _, Positive _) -> mr
1028.49 s
[really-safe-money-gen] - (Positive _, Negative _) -> Nothing
1028.49 s
[really-safe-money-gen] (Negative _, Positive _) -> Nothing
1028.49 s
[really-safe-money-gen] (Negative _, Negative _) -> mr
1028.50 s
[really-safe-money-gen]
1028.50 s
[really-safe-money-gen] -- | Convert an amount of money of one currency into an amount of money of
1028.50 s
[really-safe-money-gen] -- another currency using a conversion rate.
1028.50 s
[really-safe-money-gen] Testing mutation Negate at src/Money/Account.hs:451:14-23
1028.50 s
[really-safe-money-gen] @@ -448,7 +448,7 @@
1028.50 s
[really-safe-money-gen] DistributedIntoZeroChunks -> DistributedIntoZeroChunks
1028.50 s
[really-safe-money-gen] DistributedZero -> DistributedZero
1028.50 s
[really-safe-money-gen] DistributedIntoEqualChunks numberOfChunks chunk ->
1028.50 s
[really-safe-money-gen] - if a >= zero
1028.50 s
[really-safe-money-gen] + if n o t ( a >= zero )
1028.50 s
[really-safe-money-gen] then DistributedIntoEqualChunks numberOfChunks (Positive chunk)
1028.50 s
[really-safe-money-gen] else DistributedIntoEqualChunks numberOfChunks (Negative chunk)
1028.50 s
[really-safe-money-gen] DistributedIntoUnequalChunks numberOfLargerChunks largerChunk numberOfSmallerChunks smallerChunk ->
1028.50 s
[really-safe-money-gen] Testing mutation RemoveCase at src/Money/Account.hs:421:11-29
1028.50 s
[really-safe-money-gen] @@ -418,13 +418,12 @@
1028.50 s
[really-safe-money-gen] multiply :: Int32 -> Account -> Maybe Account
1028.50 s
[really-safe-money-gen] multiply factor account =
1028.50 s
[really-safe-money-gen] let af = (fromIntegral :: Int32 -> Word32) ((Prelude.abs :: Int32 -> Int32) factor)
1028.50 s
[really-safe-money-gen] f = case (compare factor 0, compare account zero) of
1028.50 s
[really-safe-money-gen] (EQ, _) -> const zero
1028.50 s
[really-safe-money-gen] (_, EQ) -> const zero
1028.50 s
[really-safe-money-gen] (GT, GT) -> Positive
1028.50 s
[really-safe-money-gen] (GT, LT) -> Negative
1028.50 s
[really-safe-money-gen] - (LT, GT) -> Negative
1028.50 s
[really-safe-money-gen] (LT, LT) -> Positive
1028.50 s
[really-safe-money-gen] in f <$> Amount.multiply af (abs account)
1028.50 s
[really-safe-money-gen]
1028.50 s
[really-safe-money-gen] -- | Distribute an amount of money into chunks that are as evenly distributed as possible.
1028.50 s
[really-safe-money-gen] Testing mutation Cmp at src/Money/Account.hs:455:14-23
1028.50 s
[really-safe-money-gen] @@ -452,7 +452,7 @@
1028.50 s
[really-safe-money-gen] then DistributedIntoEqualChunks numberOfChunks (Positive chunk)
1028.50 s
[really-safe-money-gen] else DistributedIntoEqualChunks numberOfChunks (Negative chunk)
1028.50 s
[really-safe-money-gen] DistributedIntoUnequalChunks numberOfLargerChunks largerChunk numberOfSmallerChunks smallerChunk ->
1028.50 s
[really-safe-money-gen] - if a > = zero
1028.50 s
[really-safe-money-gen] + if a > zero
1028.50 s
[really-safe-money-gen] then DistributedIntoUnequalChunks numberOfLargerChunks (Positive largerChunk) numberOfSmallerChunks (Positive smallerChunk)
1028.50 s
[really-safe-money-gen] else DistributedIntoUnequalChunks numberOfSmallerChunks (Negative smallerChunk) numberOfLargerChunks (Negative largerChunk)
1028.50 s
[really-safe-money-gen]
1028.50 s
[really-safe-money-gen] Testing mutation Cmp at src/Money/Account.hs:451:14-23
1028.50 s
[really-safe-money-gen] @@ -448,7 +448,7 @@
1028.50 s
[really-safe-money-gen] DistributedIntoZeroChunks -> DistributedIntoZeroChunks
1028.50 s
[really-safe-money-gen] DistributedZero -> DistributedZero
1028.50 s
[really-safe-money-gen] DistributedIntoEqualChunks numberOfChunks chunk ->
1028.50 s
[really-safe-money-gen] - if a > = zero
1028.50 s
[really-safe-money-gen] + if a < zero
1028.50 s
[really-safe-money-gen] then DistributedIntoEqualChunks numberOfChunks (Positive chunk)
1028.50 s
[really-safe-money-gen] else DistributedIntoEqualChunks numberOfChunks (Negative chunk)
1028.50 s
[really-safe-money-gen] DistributedIntoUnequalChunks numberOfLargerChunks largerChunk numberOfSmallerChunks smallerChunk ->
1028.50 s
[really-safe-money-gen] Testing mutation RemoveCase at src/Money/Account.hs:522:19-35
1028.50 s
[really-safe-money-gen] @@ -519,10 +519,9 @@
1028.51 s
[really-safe-money-gen] let aa = abs account
1028.51 s
[really-safe-money-gen] (amount, actualFraction) = Amount.fraction ro aa af
1028.51 s
[really-safe-money-gen] func :: Maybe Amount -> Ratio Natural -> (Maybe Account, Ratio Natural)
1028.51 s
[really-safe-money-gen] func ma r = case compare account zero of
1028.51 s
[really-safe-money-gen] EQ -> (Just zero, r)
1028.51 s
[really-safe-money-gen] GT -> (Positive <$> ma, r)
1028.51 s
[really-safe-money-gen] - LT -> (Negative <$> ma, r)
1028.51 s
[really-safe-money-gen] in func amount actualFraction
1028.51 s
[really-safe-money-gen]
1028.51 s
[really-safe-money-gen] -- | Compute the currency conversion rate between two accounts of money of
1028.51 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/Account.hs:451:14-23
1028.51 s
[really-safe-money-gen] @@ -448,7 +448,7 @@
1028.51 s
[really-safe-money-gen] DistributedIntoZeroChunks -> DistributedIntoZeroChunks
1028.51 s
[really-safe-money-gen] DistributedZero -> DistributedZero
1028.51 s
[really-safe-money-gen] DistributedIntoEqualChunks numberOfChunks chunk ->
1028.51 s
[really-safe-money-gen] - if a > = z e ro
1028.51 s
[really-safe-money-gen] + if Tru e
1028.51 s
[really-safe-money-gen] then DistributedIntoEqualChunks numberOfChunks (Positive chunk)
1028.51 s
[really-safe-money-gen] else DistributedIntoEqualChunks numberOfChunks (Negative chunk)
1028.51 s
[really-safe-money-gen] DistributedIntoUnequalChunks numberOfLargerChunks largerChunk numberOfSmallerChunks smallerChunk ->
1028.51 s
[really-safe-money-gen] Testing mutation RemoveCase at src/Money/Account.hs:447:7-136
1028.51 s
[really-safe-money-gen] @@ -444,17 +444,16 @@
1028.51 s
[really-safe-money-gen] distribute a f =
1028.51 s
[really-safe-money-gen] let aa = abs a
1028.51 s
[really-safe-money-gen] af = (fromIntegral :: Word16 -> Word32) (Prelude.abs f)
1028.51 s
[really-safe-money-gen] in case Amount.distribute aa af of
1028.51 s
[really-safe-money-gen] - DistributedIntoZeroChunks -> DistributedIntoZeroChunks
1028.51 s
[really-safe-money-gen] DistributedZero -> DistributedZero
1028.51 s
[really-safe-money-gen] DistributedIntoEqualChunks numberOfChunks chunk ->
1028.51 s
[really-safe-money-gen] if a >= zero
1028.51 s
[really-safe-money-gen] then DistributedIntoEqualChunks numberOfChunks (Positive chunk)
1028.51 s
[really-safe-money-gen] else DistributedIntoEqualChunks numberOfChunks (Negative chunk)
1028.51 s
[really-safe-money-gen] DistributedIntoUnequalChunks numberOfLargerChunks largerChunk numberOfSmallerChunks smallerChunk ->
1028.51 s
[really-safe-money-gen] if a >= zero
1028.51 s
[really-safe-money-gen] then DistributedIntoUnequalChunks numberOfLargerChunks (Positive largerChunk) numberOfSmallerChunks (Positive smallerChunk)
1028.51 s
[really-safe-money-gen] else DistributedIntoUnequalChunks numberOfSmallerChunks (Negative smallerChunk) numberOfLargerChunks (Negative largerChunk)
1028.51 s
[really-safe-money-gen]
1028.51 s
[really-safe-money-gen] type AccountDistribution = Amount.Distribution Account
1028.51 s
[really-safe-money-gen]
1028.51 s
[really-safe-money-gen] Testing mutation RemoveCase at src/Money/Account.hs:522:19-35
1028.51 s
[really-safe-money-gen] @@ -519,10 +519,9 @@
1028.51 s
[really-safe-money-gen] let aa = abs account
1028.51 s
[really-safe-money-gen] (amount, actualFraction) = Amount.fraction ro aa af
1028.51 s
[really-safe-money-gen] func :: Maybe Amount -> Ratio Natural -> (Maybe Account, Ratio Natural)
1028.51 s
[really-safe-money-gen] func ma r = case compare account zero of
1028.51 s
[really-safe-money-gen] EQ -> (Just zero, r)
1028.51 s
[really-safe-money-gen] - GT -> (Positive <$> ma, r)
1028.51 s
[really-safe-money-gen] LT -> (Negative <$> ma, r)
1028.51 s
[really-safe-money-gen] in func amount actualFraction
1028.52 s
[really-safe-money-gen]
1028.52 s
[really-safe-money-gen] -- | Compute the currency conversion rate between two accounts of money of
1028.52 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/Account.hs:455:14-23
1028.52 s
[really-safe-money-gen] @@ -452,7 +452,7 @@
1028.52 s
[really-safe-money-gen] then DistributedIntoEqualChunks numberOfChunks (Positive chunk)
1028.52 s
[really-safe-money-gen] else DistributedIntoEqualChunks numberOfChunks (Negative chunk)
1028.52 s
[really-safe-money-gen] DistributedIntoUnequalChunks numberOfLargerChunks largerChunk numberOfSmallerChunks smallerChunk ->
1028.52 s
[really-safe-money-gen] - if a > = z e ro
1028.52 s
[really-safe-money-gen] + if Tru e
1028.52 s
[really-safe-money-gen] then DistributedIntoUnequalChunks numberOfLargerChunks (Positive largerChunk) numberOfSmallerChunks (Positive smallerChunk)
1028.52 s
[really-safe-money-gen] else DistributedIntoUnequalChunks numberOfSmallerChunks (Negative smallerChunk) numberOfLargerChunks (Negative largerChunk)
1028.52 s
[really-safe-money-gen]
1028.52 s
[really-safe-money-gen] Testing mutation RemoveCase at src/Money/Account.hs:447:7-136
1028.52 s
[really-safe-money-gen] @@ -444,17 +444,13 @@
1028.52 s
[really-safe-money-gen] distribute a f =
1028.52 s
[really-safe-money-gen] let aa = abs a
1028.52 s
[really-safe-money-gen] af = (fromIntegral :: Word16 -> Word32) (Prelude.abs f)
1028.52 s
[really-safe-money-gen] in case Amount.distribute aa af of
1034.95 s
[really-safe-money-gen] DistributedIntoZeroChunks -> DistributedIntoZeroChunks
1034.97 s
[really-safe-money-gen] DistributedZero -> DistributedZero
1034.97 s
[really-safe-money-gen] - DistributedIntoEqualChunks numberOfChunks chunk ->
1034.97 s
[really-safe-money-gen] - if a >= zero
1034.97 s
[really-safe-money-gen] - then DistributedIntoEqualChunks numberOfChunks (Positive chunk)
1034.97 s
[really-safe-money-gen] - else DistributedIntoEqualChunks numberOfChunks (Negative chunk)
1034.97 s
[really-safe-money-gen] DistributedIntoUnequalChunks numberOfLargerChunks largerChunk numberOfSmallerChunks smallerChunk ->
1034.97 s
[really-safe-money-gen] if a >= zero
1034.98 s
[really-safe-money-gen] then DistributedIntoUnequalChunks numberOfLargerChunks (Positive largerChunk) numberOfSmallerChunks (Positive smallerChunk)
1034.98 s
[really-safe-money-gen] else DistributedIntoUnequalChunks numberOfSmallerChunks (Negative smallerChunk) numberOfLargerChunks (Negative largerChunk)
1034.98 s
[really-safe-money-gen]
1034.98 s
[really-safe-money-gen] type AccountDistribution = Amount.Distribution Account
1034.98 s
[really-safe-money-gen]
1034.98 s
[really-safe-money-gen] Testing mutation MaybeOp at src/Money/Account.hs:523:16-25
1034.98 s
[really-safe-money-gen] @@ -520,7 +520,7 @@
1034.98 s
[really-safe-money-gen] (amount, actualFraction) = Amount.fraction ro aa af
1034.98 s
[really-safe-money-gen] func :: Maybe Amount -> Ratio Natural -> (Maybe Account, Ratio Natural)
1034.98 s
[really-safe-money-gen] func ma r = case compare account zero of
1034.98 s
[really-safe-money-gen] - EQ -> ( J u st ze r o , r)
1034.98 s
[really-safe-money-gen] + EQ -> ( N o th in g , r)
1034.98 s
[really-safe-money-gen] GT -> (Positive <$> ma, r)
1034.98 s
[really-safe-money-gen] LT -> (Negative <$> ma, r)
1034.98 s
[really-safe-money-gen] in func amount actualFraction
1034.98 s
[really-safe-money-gen] Testing mutation Cmp at src/Money/Account.hs:495:12-18
1034.98 s
[really-safe-money-gen] @@ -492,7 +492,7 @@
1034.98 s
[really-safe-money-gen] fraction rounding account f =
1034.98 s
[really-safe-money-gen] let af = (realToFrac :: Rational -> Ratio Natural) ((Prelude.abs :: Rational -> Rational) f)
1034.98 s
[really-safe-money-gen] ro =
1034.98 s
[really-safe-money-gen] - if f > = 0
1034.98 s
[really-safe-money-gen] + if f < = 0
1034.98 s
[really-safe-money-gen] then rounding
1034.98 s
[really-safe-money-gen] else case rounding of
1034.98 s
[really-safe-money-gen] RoundUp -> RoundDown
1034.98 s
[really-safe-money-gen] Testing mutation Cmp at src/Money/Account.hs:495:12-18
1034.98 s
[really-safe-money-gen] @@ -492,7 +492,7 @@
1034.98 s
[really-safe-money-gen] fraction rounding account f =
1034.98 s
[really-safe-money-gen] let af = (realToFrac :: Rational -> Ratio Natural) ((Prelude.abs :: Rational -> Rational) f)
1034.98 s
[really-safe-money-gen] ro =
1034.98 s
[really-safe-money-gen] - if f > = 0
1034.98 s
[really-safe-money-gen] + if f > 0
1034.98 s
[really-safe-money-gen] then rounding
1034.98 s
[really-safe-money-gen] else case rounding of
1034.98 s
[really-safe-money-gen] RoundUp -> RoundDown
1034.98 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/Account.hs:495:12-18
1034.99 s
[really-safe-money-gen] @@ -492,7 +492,7 @@
1034.99 s
[really-safe-money-gen] fraction rounding account f =
1034.99 s
[really-safe-money-gen] let af = (realToFrac :: Rational -> Ratio Natural) ((Prelude.abs :: Rational -> Rational) f)
1034.99 s
[really-safe-money-gen] ro =
1034.99 s
[really-safe-money-gen] - i f f >= 0
1034.99 s
[really-safe-money-gen] + i f Tru e
1034.99 s
[really-safe-money-gen] then rounding
1034.99 s
[really-safe-money-gen] else case rounding of
1034.99 s
[really-safe-money-gen] RoundUp -> RoundDown
1034.99 s
[really-safe-money-gen] Testing mutation Negate at src/Money/Account.hs:455:14-23
1034.99 s
[really-safe-money-gen] @@ -452,7 +452,7 @@
1034.99 s
[really-safe-money-gen] then DistributedIntoEqualChunks numberOfChunks (Positive chunk)
1034.99 s
[really-safe-money-gen] else DistributedIntoEqualChunks numberOfChunks (Negative chunk)
1034.99 s
[really-safe-money-gen] DistributedIntoUnequalChunks numberOfLargerChunks largerChunk numberOfSmallerChunks smallerChunk ->
1034.99 s
[really-safe-money-gen] - if a >= zero
1034.99 s
[really-safe-money-gen] + if n o t ( a >= zero )
1034.99 s
[really-safe-money-gen] then DistributedIntoUnequalChunks numberOfLargerChunks (Positive largerChunk) numberOfSmallerChunks (Positive smallerChunk)
1034.99 s
[really-safe-money-gen] else DistributedIntoUnequalChunks numberOfSmallerChunks (Negative smallerChunk) numberOfLargerChunks (Negative largerChunk)
1034.99 s
[really-safe-money-gen]
1034.99 s
[really-safe-money-gen] Testing mutation RemoveCase at src/Money/Account.hs:447:7-136
1034.99 s
[really-safe-money-gen] @@ -444,17 +444,16 @@
1034.99 s
[really-safe-money-gen] distribute a f =
1034.99 s
[really-safe-money-gen] let aa = abs a
1034.99 s
[really-safe-money-gen] af = (fromIntegral :: Word16 -> Word32) (Prelude.abs f)
1034.99 s
[really-safe-money-gen] in case Amount.distribute aa af of
1034.99 s
[really-safe-money-gen] DistributedIntoZeroChunks -> DistributedIntoZeroChunks
1034.99 s
[really-safe-money-gen] - DistributedZero -> DistributedZero
1034.99 s
[really-safe-money-gen] DistributedIntoEqualChunks numberOfChunks chunk ->
1034.99 s
[really-safe-money-gen] if a >= zero
1034.99 s
[really-safe-money-gen] then DistributedIntoEqualChunks numberOfChunks (Positive chunk)
1034.99 s
[really-safe-money-gen] else DistributedIntoEqualChunks numberOfChunks (Negative chunk)
1034.99 s
[really-safe-money-gen] DistributedIntoUnequalChunks numberOfLargerChunks largerChunk numberOfSmallerChunks smallerChunk ->
1034.99 s
[really-safe-money-gen] if a >= zero
1034.99 s
[really-safe-money-gen] then DistributedIntoUnequalChunks numberOfLargerChunks (Positive largerChunk) numberOfSmallerChunks (Positive smallerChunk)
1034.99 s
[really-safe-money-gen] else DistributedIntoUnequalChunks numberOfSmallerChunks (Negative smallerChunk) numberOfLargerChunks (Negative largerChunk)
1034.99 s
[really-safe-money-gen]
1035.00 s
[really-safe-money-gen] type AccountDistribution = Amount.Distribution Account
1035.00 s
[really-safe-money-gen]
1035.00 s
[really-safe-money-gen] Testing mutation RemoveCase at src/Money/Account.hs:497:16-41
1035.00 s
[really-safe-money-gen] @@ -494,10 +494,9 @@
1035.00 s
[really-safe-money-gen] ro =
1035.00 s
[really-safe-money-gen] if f >= 0
1035.00 s
[really-safe-money-gen] then rounding
1035.00 s
[really-safe-money-gen] else case rounding of
1035.00 s
[really-safe-money-gen] RoundUp -> RoundDown
1035.00 s
[really-safe-money-gen] - RoundDown -> RoundUp
1035.00 s
[really-safe-money-gen] RoundNearest -> RoundNearest
1035.00 s
[really-safe-money-gen] (ma, ar) = fractionRatio ro account af
1035.00 s
[really-safe-money-gen] r = (realToFrac :: Ratio Natural -> Rational) ar
1035.00 s
[really-safe-money-gen] in if f >= 0
1035.00 s
[really-safe-money-gen] Testing mutation Cmp at src/Money/Account.hs:495:12-18
1035.00 s
[really-safe-money-gen] @@ -492,7 +492,7 @@
1035.00 s
[really-safe-money-gen] fraction rounding account f =
1035.00 s
[really-safe-money-gen] let af = (realToFrac :: Rational -> Ratio Natural) ((Prelude.abs :: Rational -> Rational) f)
1035.00 s
[really-safe-money-gen] ro =
1035.00 s
[really-safe-money-gen] - if f > = 0
1035.00 s
[really-safe-money-gen] + if f < 0
1035.00 s
[really-safe-money-gen] then rounding
1035.00 s
[really-safe-money-gen] else case rounding of
1035.00 s
[really-safe-money-gen] RoundUp -> RoundDown
1035.00 s
[really-safe-money-gen] Testing mutation RemoveCase at src/Money/Account.hs:522:19-35
1035.00 s
[really-safe-money-gen] @@ -519,10 +519,9 @@
1035.00 s
[really-safe-money-gen] let aa = abs account
1035.00 s
[really-safe-money-gen] (amount, actualFraction) = Amount.fraction ro aa af
1035.00 s
[really-safe-money-gen] func :: Maybe Amount -> Ratio Natural -> (Maybe Account, Ratio Natural)
1035.00 s
[really-safe-money-gen] func ma r = case compare account zero of
1035.00 s
[really-safe-money-gen] - EQ -> (Just zero, r)
1035.00 s
[really-safe-money-gen] GT -> (Positive <$> ma, r)
1035.00 s
[really-safe-money-gen] LT -> (Negative <$> ma, r)
1035.00 s
[really-safe-money-gen] in func amount actualFraction
1035.00 s
[really-safe-money-gen]
1035.00 s
[really-safe-money-gen] -- | Compute the currency conversion rate between two accounts of money of
1035.00 s
[really-safe-money-gen] Testing mutation RemoveCase at src/Money/Account.hs:497:16-41
1035.00 s
[really-safe-money-gen] @@ -494,10 +494,9 @@
1035.00 s
[really-safe-money-gen] ro =
1035.00 s
[really-safe-money-gen] if f >= 0
1035.00 s
[really-safe-money-gen] then rounding
1035.00 s
[really-safe-money-gen] else case rounding of
1035.00 s
[really-safe-money-gen] RoundUp -> RoundDown
1035.01 s
[really-safe-money-gen] RoundDown -> RoundUp
1035.01 s
[really-safe-money-gen] - RoundNearest -> RoundNearest
1035.01 s
[really-safe-money-gen] (ma, ar) = fractionRatio ro account af
1035.01 s
[really-safe-money-gen] r = (realToFrac :: Ratio Natural -> Rational) ar
1035.01 s
[really-safe-money-gen] in if f >= 0
1035.01 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/Account.hs:455:14-23
1035.01 s
[really-safe-money-gen] @@ -452,7 +452,7 @@
1035.01 s
[really-safe-money-gen] then DistributedIntoEqualChunks numberOfChunks (Positive chunk)
1035.01 s
[really-safe-money-gen] else DistributedIntoEqualChunks numberOfChunks (Negative chunk)
1035.01 s
[really-safe-money-gen] DistributedIntoUnequalChunks numberOfLargerChunks largerChunk numberOfSmallerChunks smallerChunk ->
1035.01 s
[really-safe-money-gen] - if a > = z e ro
1035.01 s
[really-safe-money-gen] + if F a ls e
1035.01 s
[really-safe-money-gen] then DistributedIntoUnequalChunks numberOfLargerChunks (Positive largerChunk) numberOfSmallerChunks (Positive smallerChunk)
1035.01 s
[really-safe-money-gen] else DistributedIntoUnequalChunks numberOfSmallerChunks (Negative smallerChunk) numberOfLargerChunks (Negative largerChunk)
1035.01 s
[really-safe-money-gen]
1035.01 s
[really-safe-money-gen] Testing mutation RemoveCase at src/Money/Account.hs:447:7-136
1035.01 s
[really-safe-money-gen] @@ -444,17 +444,13 @@
1035.01 s
[really-safe-money-gen] distribute a f =
1035.01 s
[really-safe-money-gen] let aa = abs a
1035.01 s
[really-safe-money-gen] af = (fromIntegral :: Word16 -> Word32) (Prelude.abs f)
1035.01 s
[really-safe-money-gen] in case Amount.distribute aa af of
1035.01 s
[really-safe-money-gen] DistributedIntoZeroChunks -> DistributedIntoZeroChunks
1035.01 s
[really-safe-money-gen] DistributedZero -> DistributedZero
1035.01 s
[really-safe-money-gen] DistributedIntoEqualChunks numberOfChunks chunk ->
1035.01 s
[really-safe-money-gen] if a >= zero
1035.01 s
[really-safe-money-gen] then DistributedIntoEqualChunks numberOfChunks (Positive chunk)
1035.01 s
[really-safe-money-gen] else DistributedIntoEqualChunks numberOfChunks (Negative chunk)
1035.01 s
[really-safe-money-gen] - DistributedIntoUnequalChunks numberOfLargerChunks largerChunk numberOfSmallerChunks smallerChunk ->
1035.01 s
[really-safe-money-gen] - if a >= zero
1035.01 s
[really-safe-money-gen] - then DistributedIntoUnequalChunks numberOfLargerChunks (Positive largerChunk) numberOfSmallerChunks (Positive smallerChunk)
1035.01 s
[really-safe-money-gen] - else DistributedIntoUnequalChunks numberOfSmallerChunks (Negative smallerChunk) numberOfLargerChunks (Negative largerChunk)
1035.01 s
[really-safe-money-gen]
1035.01 s
[really-safe-money-gen] type AccountDistribution = Amount.Distribution Account
1035.01 s
[really-safe-money-gen]
1040.15 s
[really-safe-money-gen] Testing mutation IntLit at src/Money/Account.hs:495:17-18
1040.15 s
[really-safe-money-gen] @@ -492,7 +492,7 @@
1040.18 s
[really-safe-money-gen] fraction rounding account f =
1040.18 s
[really-safe-money-gen] let af = (realToFrac :: Rational -> Ratio Natural) ((Prelude.abs :: Rational -> Rational) f)
1040.18 s
[really-safe-money-gen] ro =
1040.18 s
[really-safe-money-gen] - if f >= 0
1040.18 s
[really-safe-money-gen] + if f >= 1
1040.18 s
[really-safe-money-gen] then rounding
1040.18 s
[really-safe-money-gen] else case rounding of
1040.18 s
[really-safe-money-gen] RoundUp -> RoundDown
1040.18 s
[really-safe-money-gen] Testing mutation Negate at src/Money/Account.hs:495:12-18
1040.18 s
[really-safe-money-gen] @@ -492,7 +492,7 @@
1040.18 s
[really-safe-money-gen] fraction rounding account f =
1040.18 s
[really-safe-money-gen] let af = (realToFrac :: Rational -> Ratio Natural) ((Prelude.abs :: Rational -> Rational) f)
1040.19 s
[really-safe-money-gen] ro =
1040.19 s
[really-safe-money-gen] - if f >= 0
1040.19 s
[really-safe-money-gen] + if n o t ( f >= 0 )
1040.19 s
[really-safe-money-gen] then rounding
1040.19 s
[really-safe-money-gen] else case rounding of
1040.19 s
[really-safe-money-gen] RoundUp -> RoundDown
1040.19 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/Account.hs:503:10-16
1040.19 s
[really-safe-money-gen] @@ -500,7 +500,7 @@
1040.19 s
[really-safe-money-gen] RoundNearest -> RoundNearest
1040.19 s
[really-safe-money-gen] (ma, ar) = fractionRatio ro account af
1040.19 s
[really-safe-money-gen] r = (realToFrac :: Ratio Natural -> Rational) ar
1040.19 s
[really-safe-money-gen] - in i f f >= 0
1040.19 s
[really-safe-money-gen] + in i f Tru e
1040.19 s
[really-safe-money-gen] then (ma, r)
1040.19 s
[really-safe-money-gen] else (negate <$> ma, -r)
1040.19 s
[really-safe-money-gen]
1040.19 s
[really-safe-money-gen] Testing mutation Cmp at src/Money/Account.hs:503:10-16
1040.19 s
[really-safe-money-gen] @@ -500,7 +500,7 @@
1040.19 s
[really-safe-money-gen] RoundNearest -> RoundNearest
1040.19 s
[really-safe-money-gen] (ma, ar) = fractionRatio ro account af
1040.19 s
[really-safe-money-gen] r = (realToFrac :: Ratio Natural -> Rational) ar
1040.19 s
[really-safe-money-gen] - in if f > = 0
1040.19 s
[really-safe-money-gen] + in if f < = 0
1040.19 s
[really-safe-money-gen] then (ma, r)
1040.19 s
[really-safe-money-gen] else (negate <$> ma, -r)
1040.19 s
[really-safe-money-gen]
1040.19 s
[really-safe-money-gen] Testing mutation Cmp at src/Money/Account.hs:503:10-16
1040.19 s
[really-safe-money-gen] @@ -500,7 +500,7 @@
1040.19 s
[really-safe-money-gen] RoundNearest -> RoundNearest
1040.19 s
[really-safe-money-gen] (ma, ar) = fractionRatio ro account af
1040.19 s
[really-safe-money-gen] r = (realToFrac :: Ratio Natural -> Rational) ar
1040.19 s
[really-safe-money-gen] - in if f > = 0
1040.19 s
[really-safe-money-gen] + in if f > 0
1040.19 s
[really-safe-money-gen] then (ma, r)
1040.19 s
[really-safe-money-gen] else (negate <$> ma, -r)
1040.19 s
[really-safe-money-gen]
1040.19 s
[really-safe-money-gen] Testing mutation Cmp at src/Money/Account.hs:233:14-20
1040.19 s
[really-safe-money-gen] @@ -230,7 +230,7 @@
1040.20 s
[really-safe-money-gen] fromRational :: QuantisationFactor -> Rational -> Maybe Account
1040.20 s
[really-safe-money-gen] fromRational quantisationFactor r =
1040.20 s
[really-safe-money-gen] let r' = Prelude.abs r
1040.20 s
[really-safe-money-gen] - f = if r > = 0 then Positive else Negative
1040.20 s
[really-safe-money-gen] + f = if r > 0 then Positive else Negative
1040.20 s
[really-safe-money-gen] in f <$> Amount.fromRational quantisationFactor r'
1040.20 s
[really-safe-money-gen]
1040.20 s
[really-safe-money-gen] -- | Turn a 'Rational' into an amount of money.
1040.20 s
[really-safe-money-gen] Testing mutation IntLit at src/Money/Account.hs:233:19-20
1040.20 s
[really-safe-money-gen] @@ -230,7 +230,7 @@
1040.20 s
[really-safe-money-gen] fromRational :: QuantisationFactor -> Rational -> Maybe Account
1040.20 s
[really-safe-money-gen] fromRational quantisationFactor r =
1040.20 s
[really-safe-money-gen] let r' = Prelude.abs r
1040.20 s
[really-safe-money-gen] - f = if r >= 0 then Positive else Negative
1040.20 s
[really-safe-money-gen] + f = if r >= 1 then Positive else Negative
1040.20 s
[really-safe-money-gen] in f <$> Amount.fromRational quantisationFactor r'
1040.20 s
[really-safe-money-gen]
1040.20 s
[really-safe-money-gen] -- | Turn a 'Rational' into an amount of money.
1040.20 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/Account.hs:495:12-18
1040.20 s
[really-safe-money-gen] @@ -492,7 +492,7 @@
1040.20 s
[really-safe-money-gen] fraction rounding account f =
1040.20 s
[really-safe-money-gen] let af = (realToFrac :: Rational -> Ratio Natural) ((Prelude.abs :: Rational -> Rational) f)
1040.20 s
[really-safe-money-gen] ro =
1040.20 s
[really-safe-money-gen] - if f >= 0
1040.20 s
[really-safe-money-gen] + if F a lse
1040.20 s
[really-safe-money-gen] then rounding
1040.20 s
[really-safe-money-gen] else case rounding of
1040.20 s
[really-safe-money-gen] RoundUp -> RoundDown
1040.20 s
[really-safe-money-gen] Testing mutation Cmp at src/Money/Account.hs:197:14-20
1040.20 s
[really-safe-money-gen] @@ -194,7 +194,7 @@
1040.20 s
[really-safe-money-gen] fromDouble :: QuantisationFactor -> Double -> Maybe Account
1040.20 s
[really-safe-money-gen] fromDouble quantisationFactor d =
1040.20 s
[really-safe-money-gen] let d' = Prelude.abs d
1040.20 s
[really-safe-money-gen] - f = if d > = 0 then Positive else Negative
1040.20 s
[really-safe-money-gen] + f = if d > 0 then Positive else Negative
1040.20 s
[really-safe-money-gen] in f <$> Amount.fromDouble quantisationFactor d'
1040.20 s
[really-safe-money-gen]
1040.20 s
[really-safe-money-gen] -- | Turn an amount of money into a 'Rational'.
1040.20 s
[really-safe-money-gen] Testing mutation RemoveCase at src/Money/Account.hs:497:16-41
1040.20 s
[really-safe-money-gen] @@ -494,10 +494,9 @@
1040.20 s
[really-safe-money-gen] ro =
1040.20 s
[really-safe-money-gen] if f >= 0
1040.20 s
[really-safe-money-gen] then rounding
1040.20 s
[really-safe-money-gen] else case rounding of
1040.20 s
[really-safe-money-gen] - RoundUp -> RoundDown
1040.20 s
[really-safe-money-gen] RoundDown -> RoundUp
1040.21 s
[really-safe-money-gen] RoundNearest -> RoundNearest
1040.21 s
[really-safe-money-gen] (ma, ar) = fractionRatio ro account af
1040.21 s
[really-safe-money-gen] r = (realToFrac :: Ratio Natural -> Rational) ar
1040.21 s
[really-safe-money-gen] in if f >= 0
1040.21 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/Account.hs:503:10-16
1040.21 s
[really-safe-money-gen] @@ -500,7 +500,7 @@
1040.21 s
[really-safe-money-gen] RoundNearest -> RoundNearest
1040.21 s
[really-safe-money-gen] (ma, ar) = fractionRatio ro account af
1040.21 s
[really-safe-money-gen] r = (realToFrac :: Ratio Natural -> Rational) ar
1040.21 s
[really-safe-money-gen] - in if f >= 0
1040.21 s
[really-safe-money-gen] + in if F a lse
1040.21 s
[really-safe-money-gen] then (ma, r)
1040.21 s
[really-safe-money-gen] else (negate <$> ma, -r)
1040.21 s
[really-safe-money-gen]
1040.21 s
[really-safe-money-gen] Testing mutation Cmp at src/Money/Account.hs:197:14-20
1040.21 s
[really-safe-money-gen] @@ -194,7 +194,7 @@
1040.21 s
[really-safe-money-gen] fromDouble :: QuantisationFactor -> Double -> Maybe Account
1040.21 s
[really-safe-money-gen] fromDouble quantisationFactor d =
1040.21 s
[really-safe-money-gen] let d' = Prelude.abs d
1040.21 s
[really-safe-money-gen] - f = if d > = 0 then Positive else Negative
1040.21 s
[really-safe-money-gen] + f = if d < = 0 then Positive else Negative
1040.21 s
[really-safe-money-gen] in f <$> Amount.fromDouble quantisationFactor d'
1040.21 s
[really-safe-money-gen]
1040.21 s
[really-safe-money-gen] -- | Turn an amount of money into a 'Rational'.
1040.21 s
[really-safe-money-gen] Testing mutation Cmp at src/Money/Account.hs:197:14-20
1040.21 s
[really-safe-money-gen] @@ -194,7 +194,7 @@
1040.21 s
[really-safe-money-gen] fromDouble :: QuantisationFactor -> Double -> Maybe Account
1040.21 s
[really-safe-money-gen] fromDouble quantisationFactor d =
1040.21 s
[really-safe-money-gen] let d' = Prelude.abs d
1040.21 s
[really-safe-money-gen] - f = if d > = 0 then Positive else Negative
1040.21 s
[really-safe-money-gen] + f = if d < 0 then Positive else Negative
1040.21 s
[really-safe-money-gen] in f <$> Amount.fromDouble quantisationFactor d'
1040.21 s
[really-safe-money-gen]
1040.21 s
[really-safe-money-gen] -- | Turn an amount of money into a 'Rational'.
1040.21 s
[really-safe-money-gen] Testing mutation Cmp at src/Money/Account.hs:503:10-16
1040.21 s
[really-safe-money-gen] @@ -500,7 +500,7 @@
1040.21 s
[really-safe-money-gen] RoundNearest -> RoundNearest
1040.21 s
[really-safe-money-gen] (ma, ar) = fractionRatio ro account af
1040.21 s
[really-safe-money-gen] r = (realToFrac :: Ratio Natural -> Rational) ar
1040.21 s
[really-safe-money-gen] - in if f > = 0
1040.21 s
[really-safe-money-gen] + in if f < 0
1040.21 s
[really-safe-money-gen] then (ma, r)
1040.21 s
[really-safe-money-gen] else (negate <$> ma, -r)
1040.21 s
[really-safe-money-gen]
1040.21 s
[really-safe-money-gen] Testing mutation IntLit at src/Money/Account.hs:197:19-20
1040.21 s
[really-safe-money-gen] @@ -194,7 +194,7 @@
1040.21 s
[really-safe-money-gen] fromDouble :: QuantisationFactor -> Double -> Maybe Account
1040.21 s
[really-safe-money-gen] fromDouble quantisationFactor d =
1040.21 s
[really-safe-money-gen] let d' = Prelude.abs d
1040.21 s
[really-safe-money-gen] - f = if d >= 0 then Positive else Negative
1040.22 s
[really-safe-money-gen] + f = if d >= 1 then Positive else Negative
1040.22 s
[really-safe-money-gen] in f <$> Amount.fromDouble quantisationFactor d'
1040.22 s
[really-safe-money-gen]
1040.22 s
[really-safe-money-gen] -- | Turn an amount of money into a 'Rational'.
1040.22 s
[really-safe-money-gen] Testing mutation IntLit at src/Money/Account.hs:503:15-16
1040.22 s
[really-safe-money-gen] @@ -500,7 +500,7 @@
1040.22 s
[really-safe-money-gen] RoundNearest -> RoundNearest
1040.22 s
[really-safe-money-gen] (ma, ar) = fractionRatio ro account af
1040.22 s
[really-safe-money-gen] r = (realToFrac :: Ratio Natural -> Rational) ar
1040.22 s
[really-safe-money-gen] - in if f >= 0
1040.22 s
[really-safe-money-gen] + in if f >= 1
1040.22 s
[really-safe-money-gen] then (ma, r)
1040.22 s
[really-safe-money-gen] else (negate <$> ma, -r)
1040.22 s
[really-safe-money-gen]
1040.22 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/Account.hs:233:14-20
1040.22 s
[really-safe-money-gen] @@ -230,7 +230,7 @@
1040.22 s
[really-safe-money-gen] fromRational :: QuantisationFactor -> Rational -> Maybe Account
1040.22 s
[really-safe-money-gen] fromRational quantisationFactor r =
1040.22 s
[really-safe-money-gen] let r' = Prelude.abs r
1040.22 s
[really-safe-money-gen] - f = if r >= 0 then Positive else Negative
1040.22 s
[really-safe-money-gen] + f = if F a lse then Positive else Negative
1040.22 s
[really-safe-money-gen] in f <$> Amount.fromRational quantisationFactor r'
1040.22 s
[really-safe-money-gen]
1040.22 s
[really-safe-money-gen] -- | Turn a 'Rational' into an amount of money.
1040.22 s
[really-safe-money-gen] Testing mutation Negate at src/Money/Account.hs:503:10-16
1040.22 s
[really-safe-money-gen] @@ -500,7 +500,7 @@
1040.22 s
[really-safe-money-gen] RoundNearest -> RoundNearest
1040.22 s
[really-safe-money-gen] (ma, ar) = fractionRatio ro account af
1040.22 s
[really-safe-money-gen] r = (realToFrac :: Ratio Natural -> Rational) ar
1040.22 s
[really-safe-money-gen] - in if f >= 0
1040.22 s
[really-safe-money-gen] + in if n o t ( f >= 0 )
1040.22 s
[really-safe-money-gen] then (ma, r)
1040.22 s
[really-safe-money-gen] else (negate <$> ma, -r)
1040.22 s
[really-safe-money-gen]
1040.22 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/Account.hs:197:14-20
1040.22 s
[really-safe-money-gen] @@ -194,7 +194,7 @@
1040.22 s
[really-safe-money-gen] fromDouble :: QuantisationFactor -> Double -> Maybe Account
1040.22 s
[really-safe-money-gen] fromDouble quantisationFactor d =
1040.22 s
[really-safe-money-gen] let d' = Prelude.abs d
1044.57 s
[really-safe-money-gen] - f = if d >= 0 then Positive else Negative
1044.57 s
[really-safe-money-gen] + f = if Tru e then Positive else Negative
1044.57 s
[really-safe-money-gen] in f <$> Amount.fromDouble quantisationFactor d'
1044.57 s
[really-safe-money-gen]
1044.57 s
[really-safe-money-gen] -- | Turn an amount of money into a 'Rational'.
1044.57 s
[really-safe-money-gen] Testing mutation Negate at src/Money/Account.hs:233:14-20
1044.57 s
[really-safe-money-gen] @@ -230,7 +230,7 @@
1044.57 s
[really-safe-money-gen] fromRational :: QuantisationFactor -> Rational -> Maybe Account
1044.57 s
[really-safe-money-gen] fromRational quantisationFactor r =
1044.57 s
[really-safe-money-gen] let r' = Prelude.abs r
1044.57 s
[really-safe-money-gen] - f = if r >= 0 then Positive else Negative
1044.57 s
[really-safe-money-gen] + f = if n o t ( r >= 0 ) then Positive else Negative
1044.57 s
[really-safe-money-gen] in f <$> Amount.fromRational quantisationFactor r'
1044.57 s
[really-safe-money-gen]
1044.57 s
[really-safe-money-gen] -- | Turn a 'Rational' into an amount of money.
1044.57 s
[really-safe-money-gen] Testing mutation RemoveCase at src/Money/Account.hs:211:11-37
1044.58 s
[really-safe-money-gen] @@ -208,9 +208,8 @@
1044.58 s
[really-safe-money-gen] -- (-3) % 20
1044.58 s
[really-safe-money-gen] toRational :: QuantisationFactor -> Account -> Rational
1044.58 s
[really-safe-money-gen] toRational quantisationFactor account =
1044.58 s
[really-safe-money-gen] let f = case account of
1044.58 s
[really-safe-money-gen] - Positive _ -> id
1044.58 s
[really-safe-money-gen] Negative _ -> Prelude.negate
1044.58 s
[really-safe-money-gen] in f $ Amount.toRational quantisationFactor (abs account)
1044.58 s
[really-safe-money-gen]
1044.58 s
[really-safe-money-gen] -- | Turn a 'Rational' into an amount of money.
1044.58 s
[really-safe-money-gen] Testing mutation Cmp at src/Money/Account.hs:233:14-20
1044.58 s
[really-safe-money-gen] @@ -230,7 +230,7 @@
1044.58 s
[really-safe-money-gen] fromRational :: QuantisationFactor -> Rational -> Maybe Account
1044.58 s
[really-safe-money-gen] fromRational quantisationFactor r =
1044.58 s
[really-safe-money-gen] let r' = Prelude.abs r
1044.58 s
[really-safe-money-gen] - f = if r > = 0 then Positive else Negative
1044.58 s
[really-safe-money-gen] + f = if r < 0 then Positive else Negative
1044.58 s
[really-safe-money-gen] in f <$> Amount.fromRational quantisationFactor r'
1044.58 s
[really-safe-money-gen]
1044.58 s
[really-safe-money-gen] -- | Turn a 'Rational' into an amount of money.
1044.58 s
[really-safe-money-gen] Testing mutation RemoveCase at src/Money/Account.hs:211:11-37
1044.58 s
[really-safe-money-gen] @@ -208,9 +208,8 @@
1044.58 s
[really-safe-money-gen] -- (-3) % 20
1044.58 s
[really-safe-money-gen] toRational :: QuantisationFactor -> Account -> Rational
1044.58 s
[really-safe-money-gen] toRational quantisationFactor account =
1044.58 s
[really-safe-money-gen] let f = case account of
1044.58 s
[really-safe-money-gen] Positive _ -> id
1044.58 s
[really-safe-money-gen] - Negative _ -> Prelude.negate
1044.58 s
[really-safe-money-gen] in f $ Amount.toRational quantisationFactor (abs account)
1044.58 s
[really-safe-money-gen]
1044.58 s
[really-safe-money-gen] -- | Turn a 'Rational' into an amount of money.
1044.58 s
[really-safe-money-gen] Testing mutation Cmp at src/Money/Account.hs:233:14-20
1044.58 s
[really-safe-money-gen] @@ -230,7 +230,7 @@
1044.58 s
[really-safe-money-gen] fromRational :: QuantisationFactor -> Rational -> Maybe Account
1044.58 s
[really-safe-money-gen] fromRational quantisationFactor r =
1044.58 s
[really-safe-money-gen] let r' = Prelude.abs r
1044.58 s
[really-safe-money-gen] - f = if r > = 0 then Positive else Negative
1044.58 s
[really-safe-money-gen] + f = if r < = 0 then Positive else Negative
1044.58 s
[really-safe-money-gen] in f <$> Amount.fromRational quantisationFactor r'
1044.58 s
[really-safe-money-gen]
1044.58 s
[really-safe-money-gen] -- | Turn a 'Rational' into an amount of money.
1044.58 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/Account.hs:233:14-20
1044.58 s
[really-safe-money-gen] @@ -230,7 +230,7 @@
1044.58 s
[really-safe-money-gen] fromRational :: QuantisationFactor -> Rational -> Maybe Account
1044.59 s
[really-safe-money-gen] fromRational quantisationFactor r =
1044.59 s
[really-safe-money-gen] let r' = Prelude.abs r
1044.59 s
[really-safe-money-gen] - f = if r >= 0 then Positive else Negative
1044.59 s
[really-safe-money-gen] + f = if T r u e then Positive else Negative
1044.59 s
[really-safe-money-gen] in f <$> Amount.fromRational quantisationFactor r'
1044.59 s
[really-safe-money-gen]
1044.59 s
[really-safe-money-gen] -- | Turn a 'Rational' into an amount of money.
1044.59 s
[really-safe-money-gen] Testing mutation Negate at src/Money/Account.hs:197:14-20
1044.59 s
[really-safe-money-gen] @@ -194,7 +194,7 @@
1044.59 s
[really-safe-money-gen] fromDouble :: QuantisationFactor -> Double -> Maybe Account
1044.59 s
[really-safe-money-gen] fromDouble quantisationFactor d =
1044.59 s
[really-safe-money-gen] let d' = Prelude.abs d
1044.59 s
[really-safe-money-gen] - f = if d >= 0 then Positive else Negative
1044.59 s
[really-safe-money-gen] + f = if n o t ( d >= 0 ) then Positive else Negative
1044.59 s
[really-safe-money-gen] in f <$> Amount.fromDouble quantisationFactor d'
1044.59 s
[really-safe-money-gen]
1044.59 s
[really-safe-money-gen] -- | Turn an amount of money into a 'Rational'.
1044.59 s
[really-safe-money-gen] Testing mutation RemoveCase at src/Money/Account.hs:171:11-37
1044.59 s
[really-safe-money-gen] @@ -168,9 +168,8 @@
1044.59 s
[really-safe-money-gen] -- -0.25
1044.59 s
[really-safe-money-gen] toDouble :: QuantisationFactor -> Account -> Double
1044.59 s
[really-safe-money-gen] toDouble quantisationFactor account =
1044.59 s
[really-safe-money-gen] let f = case account of
1044.59 s
[really-safe-money-gen] - Positive _ -> id
1044.59 s
[really-safe-money-gen] Negative _ -> Prelude.negate
1044.59 s
[really-safe-money-gen] in f $ Amount.toDouble quantisationFactor (abs account)
1044.59 s
[really-safe-money-gen]
1044.59 s
[really-safe-money-gen] -- | Turn a 'Double' into an amount of money.
1044.59 s
[really-safe-money-gen] Testing mutation RemoveCase at src/Money/Account.hs:155:11-37
1044.59 s
[really-safe-money-gen] @@ -152,9 +152,8 @@
1044.59 s
[really-safe-money-gen] -- We return 'Integer' because the result does not fit into a 'Word64'
1044.59 s
[really-safe-money-gen] toMinimalQuantisations :: Account -> Integer
1044.59 s
[really-safe-money-gen] toMinimalQuantisations account =
1044.59 s
[really-safe-money-gen] let f = case account of
1044.59 s
[really-safe-money-gen] - Positive _ -> id
1044.59 s
[really-safe-money-gen] Negative _ -> Prelude.negate
1044.59 s
[really-safe-money-gen] in f $ (fromIntegral :: Word64 -> Integer) $ Amount.toMinimalQuantisations (abs account)
1044.59 s
[really-safe-money-gen]
1044.59 s
[really-safe-money-gen] -- | Turn an amount of money into a 'Double'.
1044.59 s
[really-safe-money-gen] Testing mutation RemoveCase at src/Money/Account.hs:155:11-37
1044.59 s
[really-safe-money-gen] @@ -152,9 +152,8 @@
1044.59 s
[really-safe-money-gen] -- We return 'Integer' because the result does not fit into a 'Word64'
1044.59 s
[really-safe-money-gen] toMinimalQuantisations :: Account -> Integer
1044.59 s
[really-safe-money-gen] toMinimalQuantisations account =
1044.59 s
[really-safe-money-gen] let f = case account of
1044.59 s
[really-safe-money-gen] Positive _ -> id
1044.59 s
[really-safe-money-gen] - Negative _ -> Prelude.negate
1044.59 s
[really-safe-money-gen] in f $ (fromIntegral :: Word64 -> Integer) $ Amount.toMinimalQuantisations (abs account)
1044.59 s
[really-safe-money-gen]
1044.59 s
[really-safe-money-gen] -- | Turn an amount of money into a 'Double'.
1044.59 s
[really-safe-money-gen] Testing mutation Cmp at src/Money/Account.hs:123:10-23
1044.59 s
[really-safe-money-gen] @@ -120,7 +120,7 @@
1044.60 s
[really-safe-money-gen] maxBoundI = (toInteger :: Word64 -> Integer) (maxBound :: Word64)
1044.60 s
[really-safe-money-gen] a :: Integer
1044.60 s
[really-safe-money-gen] a = (Prelude.abs :: Integer -> Integer) i
1044.60 s
[really-safe-money-gen] - in if a > maxBoundI
1044.60 s
[really-safe-money-gen] + in if a < maxBoundI
1044.60 s
[really-safe-money-gen] then Nothing
1044.60 s
[really-safe-money-gen] else
1044.60 s
[really-safe-money-gen] let w :: Word64
1044.60 s
[really-safe-money-gen] Testing mutation Cmp at src/Money/Account.hs:123:10-23
1044.60 s
[really-safe-money-gen] @@ -120,7 +120,7 @@
1044.60 s
[really-safe-money-gen] maxBoundI = (toInteger :: Word64 -> Integer) (maxBound :: Word64)
1044.60 s
[really-safe-money-gen] a :: Integer
1044.60 s
[really-safe-money-gen] a = (Prelude.abs :: Integer -> Integer) i
1044.60 s
[really-safe-money-gen] - in if a > maxBoundI
1044.60 s
[really-safe-money-gen] + in if a < = maxBoundI
1044.60 s
[really-safe-money-gen] then Nothing
1044.60 s
[really-safe-money-gen] else
1044.60 s
[really-safe-money-gen] let w :: Word64
1044.60 s
[really-safe-money-gen] Testing mutation Cmp at src/Money/Account.hs:123:10-23
1044.60 s
[really-safe-money-gen] @@ -120,7 +120,7 @@
1044.60 s
[really-safe-money-gen] maxBoundI = (toInteger :: Word64 -> Integer) (maxBound :: Word64)
1044.60 s
[really-safe-money-gen] a :: Integer
1044.60 s
[really-safe-money-gen] a = (Prelude.abs :: Integer -> Integer) i
1044.60 s
[really-safe-money-gen] - in if a > maxBoundI
1044.60 s
[really-safe-money-gen] + in if a > = maxBoundI
1044.60 s
[really-safe-money-gen] then Nothing
1044.60 s
[really-safe-money-gen] else
1044.60 s
[really-safe-money-gen] let w :: Word64
1044.60 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/Account.hs:123:10-23
1044.60 s
[really-safe-money-gen] @@ -120,7 +120,7 @@
1044.60 s
[really-safe-money-gen] maxBoundI = (toInteger :: Word64 -> Integer) (maxBound :: Word64)
1044.60 s
[really-safe-money-gen] a :: Integer
1044.60 s
[really-safe-money-gen] a = (Prelude.abs :: Integer -> Integer) i
1044.60 s
[really-safe-money-gen] - in if a > ma xB o u ndI
1044.60 s
[really-safe-money-gen] + in if Tr u e
1044.60 s
[really-safe-money-gen] then Nothing
1044.60 s
[really-safe-money-gen] else
1044.60 s
[really-safe-money-gen] let w :: Word64
1044.60 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/Account.hs:197:14-20
1044.60 s
[really-safe-money-gen] @@ -194,7 +194,7 @@
1044.60 s
[really-safe-money-gen] fromDouble :: QuantisationFactor -> Double -> Maybe Account
1044.60 s
[really-safe-money-gen] fromDouble quantisationFactor d =
1044.60 s
[really-safe-money-gen] let d' = Prelude.abs d
1044.60 s
[really-safe-money-gen] - f = if d >= 0 then Positive else Negative
1044.60 s
[really-safe-money-gen] + f = if F a lse then Positive else Negative
1044.60 s
[really-safe-money-gen] in f <$> Amount.fromDouble quantisationFactor d'
1044.60 s
[really-safe-money-gen]
1044.60 s
[really-safe-money-gen] -- | Turn an amount of money into a 'Rational'.
1044.60 s
[really-safe-money-gen] Testing mutation RemoveCase at src/Money/Account.hs:171:11-37
1044.60 s
[really-safe-money-gen] @@ -168,9 +168,8 @@
1044.60 s
[really-safe-money-gen] -- -0.25
1044.60 s
[really-safe-money-gen] toDouble :: QuantisationFactor -> Account -> Double
1044.60 s
[really-safe-money-gen] toDouble quantisationFactor account =
1044.60 s
[really-safe-money-gen] let f = case account of
1044.60 s
[really-safe-money-gen] Positive _ -> id
1044.60 s
[really-safe-money-gen] - Negative _ -> Prelude.negate
1044.60 s
[really-safe-money-gen] in f $ Amount.toDouble quantisationFactor (abs account)
1044.60 s
[really-safe-money-gen]
1044.60 s
[really-safe-money-gen] -- | Turn a 'Double' into an amount of money.
1044.60 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/Account.hs:123:10-23
1044.60 s
[really-safe-money-gen] @@ -120,7 +120,7 @@
1044.60 s
[really-safe-money-gen] maxBoundI = (toInteger :: Word64 -> Integer) (maxBound :: Word64)
1044.60 s
[really-safe-money-gen] a :: Integer
1044.60 s
[really-safe-money-gen] a = (Prelude.abs :: Integer -> Integer) i
1044.60 s
[really-safe-money-gen] - in if a > m a xB ound I
1044.60 s
[really-safe-money-gen] + in if F a l se
1044.60 s
[really-safe-money-gen] then Nothing
1044.61 s
[really-safe-money-gen] else
1044.61 s
[really-safe-money-gen] let w :: Word64
1044.61 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/Account.hs:131:20-26
1044.61 s
[really-safe-money-gen] @@ -128,7 +128,7 @@
1050.04 s
[really-safe-money-gen] amount :: Amount
1050.04 s
[really-safe-money-gen] amount = Amount.fromMinimalQuantisations w
1050.07 s
[really-safe-money-gen] in Just $
1050.07 s
[really-safe-money-gen] - if i >= 0
1050.07 s
[really-safe-money-gen] + if F a lse
1050.08 s
[really-safe-money-gen] then Positive amount
1050.08 s
[really-safe-money-gen] else Negative amount
1050.08 s
[really-safe-money-gen]
1050.08 s
[really-safe-money-gen] Testing mutation Arith at src/Money/Account.hs:341:11-18
1050.08 s
[really-safe-money-gen] @@ -338,7 +338,7 @@
1050.08 s
[really-safe-money-gen] i2 :: Integer
1050.08 s
[really-safe-money-gen] i2 = toMinimalQuantisations a2
1050.08 s
[really-safe-money-gen] r :: Integer
1050.08 s
[really-safe-money-gen] - r = i1 + i2
1050.08 s
[really-safe-money-gen] + r = i1 * i2
1050.08 s
[really-safe-money-gen] in fromMinimalQuantisations r
1050.08 s
[really-safe-money-gen]
1050.08 s
[really-safe-money-gen] -- | Add a number of accounts of money together.
1050.08 s
[really-safe-money-gen] Testing mutation Arith at src/Money/Account.hs:378:11-18
1050.08 s
[really-safe-money-gen] @@ -375,7 +375,7 @@
1050.08 s
[really-safe-money-gen] i2 :: Integer
1050.08 s
[really-safe-money-gen] i2 = toMinimalQuantisations a2
1050.08 s
[really-safe-money-gen] r :: Integer
1050.08 s
[really-safe-money-gen] - r = i1 - i2
1050.08 s
[really-safe-money-gen] + r = i1 + i2
1050.08 s
[really-safe-money-gen] in fromMinimalQuantisations r
1050.08 s
[really-safe-money-gen]
1050.08 s
[really-safe-money-gen] -- | The absolute value of the account
1050.08 s
[really-safe-money-gen] Testing mutation Cmp at src/Money/Account.hs:131:20-26
1050.08 s
[really-safe-money-gen] @@ -128,7 +128,7 @@
1050.08 s
[really-safe-money-gen] amount :: Amount
1050.08 s
[really-safe-money-gen] amount = Amount.fromMinimalQuantisations w
1050.09 s
[really-safe-money-gen] in Just $
1050.09 s
[really-safe-money-gen] - if i > = 0
1050.09 s
[really-safe-money-gen] + if i > 0
1050.09 s
[really-safe-money-gen] then Positive amount
1050.09 s
[really-safe-money-gen] else Negative amount
1050.09 s
[really-safe-money-gen]
1050.09 s
[really-safe-money-gen] Testing mutation Arith at src/Money/Account.hs:378:11-18
1050.09 s
[really-safe-money-gen] @@ -375,7 +375,7 @@
1050.09 s
[really-safe-money-gen] i2 :: Integer
1050.09 s
[really-safe-money-gen] i2 = toMinimalQuantisations a2
1050.09 s
[really-safe-money-gen] r :: Integer
1050.09 s
[really-safe-money-gen] - r = i1 - i2
1050.09 s
[really-safe-money-gen] + r = i1 * i2
1050.09 s
[really-safe-money-gen] in fromMinimalQuantisations r
1050.09 s
[really-safe-money-gen]
1050.09 s
[really-safe-money-gen] -- | The absolute value of the account
1050.09 s
[really-safe-money-gen] Testing mutation Cmp at src/Numeric/DecimalLiteral.hs:368:10-39
1050.09 s
[really-safe-money-gen] @@ -365,7 +365,7 @@
1050.09 s
[really-safe-money-gen] setMinimumDigits wantedDigits dl =
1050.09 s
[really-safe-money-gen] let currentDigits :: Word8
1050.09 s
[really-safe-money-gen] currentDigits = digits dl
1050.09 s
[really-safe-money-gen] - in if wantedDigits < = currentDigits
1050.09 s
[really-safe-money-gen] + in if wantedDigits > currentDigits
1050.09 s
[really-safe-money-gen] then dl
1050.09 s
[really-safe-money-gen] else increaseDigits (wantedDigits - currentDigits) dl
1050.09 s
[really-safe-money-gen] where
1050.09 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/Account.hs:131:20-26
1050.09 s
[really-safe-money-gen] @@ -128,7 +128,7 @@
1050.09 s
[really-safe-money-gen] amount :: Amount
1050.09 s
[really-safe-money-gen] amount = Amount.fromMinimalQuantisations w
1050.09 s
[really-safe-money-gen] in Just $
1050.09 s
[really-safe-money-gen] - if i >= 0
1050.09 s
[really-safe-money-gen] + if Tru e
1050.09 s
[really-safe-money-gen] then Positive amount
1050.09 s
[really-safe-money-gen] else Negative amount
1050.09 s
[really-safe-money-gen]
1050.09 s
[really-safe-money-gen] Testing mutation Cmp at src/Numeric/DecimalLiteral.hs:368:10-39
1050.09 s
[really-safe-money-gen] @@ -365,7 +365,7 @@
1050.09 s
[really-safe-money-gen] setMinimumDigits wantedDigits dl =
1050.09 s
[really-safe-money-gen] let currentDigits :: Word8
1050.09 s
[really-safe-money-gen] currentDigits = digits dl
1050.09 s
[really-safe-money-gen] - in if wantedDigits < = currentDigits
1050.09 s
[really-safe-money-gen] + in if wantedDigits > = currentDigits
1050.09 s
[really-safe-money-gen] then dl
1050.09 s
[really-safe-money-gen] else increaseDigits (wantedDigits - currentDigits) dl
1050.09 s
[really-safe-money-gen] where
1050.09 s
[really-safe-money-gen] Testing mutation Negate at src/Numeric/DecimalLiteral.hs:368:10-39
1050.09 s
[really-safe-money-gen] @@ -365,7 +365,7 @@
1050.09 s
[really-safe-money-gen] setMinimumDigits wantedDigits dl =
1050.09 s
[really-safe-money-gen] let currentDigits :: Word8
1050.09 s
[really-safe-money-gen] currentDigits = digits dl
1050.09 s
[really-safe-money-gen] - in if wantedDigits <= currentDigits
1050.09 s
[really-safe-money-gen] + in if n o t ( wantedDigits <= currentDigits )
1050.09 s
[really-safe-money-gen] then dl
1050.09 s
[really-safe-money-gen] else increaseDigits (wantedDigits - currentDigits) dl
1050.09 s
[really-safe-money-gen] where
1050.09 s
[really-safe-money-gen] Testing mutation IntLit at src/Numeric/DecimalLiteral.hs:375:80-82
1050.09 s
[really-safe-money-gen] @@ -372,7 +372,7 @@
1050.10 s
[really-safe-money-gen] increaseDigits :: Word8 -> DecimalLiteral -> DecimalLiteral
1050.10 s
[really-safe-money-gen] increaseDigits 0 = id
1050.10 s
[really-safe-money-gen] increaseDigits w = \case
1050.10 s
[really-safe-money-gen] - DecimalLiteral mS m e -> increaseDigits (pred w) (DecimalLiteral mS (m * 1 0) (succ e))
1050.10 s
[really-safe-money-gen] + DecimalLiteral mS m e -> increaseDigits (pred w) (DecimalLiteral mS (m * 0) (succ e))
1050.10 s
[really-safe-money-gen]
1050.10 s
[really-safe-money-gen] -- | Ensures that a positive literal has no sign
1050.10 s
[really-safe-money-gen] --
1050.10 s
[really-safe-money-gen] Testing mutation IntLit at src/Numeric/DecimalLiteral.hs:375:80-82
1050.10 s
[really-safe-money-gen] @@ -372,7 +372,7 @@
1050.10 s
[really-safe-money-gen] increaseDigits :: Word8 -> DecimalLiteral -> DecimalLiteral
1050.10 s
[really-safe-money-gen] increaseDigits 0 = id
1050.10 s
[really-safe-money-gen] increaseDigits w = \case
1050.10 s
[really-safe-money-gen] - DecimalLiteral mS m e -> increaseDigits (pred w) (DecimalLiteral mS (m * 1 0 ) (succ e))
1050.10 s
[really-safe-money-gen] + DecimalLiteral mS m e -> increaseDigits (pred w) (DecimalLiteral mS (m * 1 ) (succ e))
1050.10 s
[really-safe-money-gen]
1050.10 s
[really-safe-money-gen] -- | Ensures that a positive literal has no sign
1050.10 s
[really-safe-money-gen] --
1050.10 s
[really-safe-money-gen] Testing mutation Arith at src/Numeric/DecimalLiteral.hs:375:76-82
1050.10 s
[really-safe-money-gen] @@ -372,7 +372,7 @@
1050.10 s
[really-safe-money-gen] increaseDigits :: Word8 -> DecimalLiteral -> DecimalLiteral
1050.10 s
[really-safe-money-gen] increaseDigits 0 = id
1050.10 s
[really-safe-money-gen] increaseDigits w = \case
1050.10 s
[really-safe-money-gen] - DecimalLiteral mS m e -> increaseDigits (pred w) (DecimalLiteral mS (m * 10) (succ e))
1050.10 s
[really-safe-money-gen] + DecimalLiteral mS m e -> increaseDigits (pred w) (DecimalLiteral mS (m + 10) (succ e))
1050.10 s
[really-safe-money-gen]
1050.10 s
[really-safe-money-gen] -- | Ensures that a positive literal has no sign
1050.10 s
[really-safe-money-gen] --
1050.10 s
[really-safe-money-gen] Testing mutation Arith at src/Numeric/DecimalLiteral.hs:375:76-82
1050.10 s
[really-safe-money-gen] @@ -372,7 +372,7 @@
1050.10 s
[really-safe-money-gen] increaseDigits :: Word8 -> DecimalLiteral -> DecimalLiteral
1050.10 s
[really-safe-money-gen] increaseDigits 0 = id
1050.10 s
[really-safe-money-gen] increaseDigits w = \case
1050.10 s
[really-safe-money-gen] - DecimalLiteral mS m e -> increaseDigits (pred w) (DecimalLiteral mS (m * 10) (succ e))
1050.10 s
[really-safe-money-gen] + DecimalLiteral mS m e -> increaseDigits (pred w) (DecimalLiteral mS (m - 10) (succ e))
1050.10 s
[really-safe-money-gen]
1050.10 s
[really-safe-money-gen] -- | Ensures that a positive literal has no sign
1050.10 s
[really-safe-money-gen] --
1050.10 s
[really-safe-money-gen] Testing mutation IntLit at src/Numeric/DecimalLiteral.hs:337:21-22
1050.10 s
[really-safe-money-gen] @@ -334,7 +334,7 @@
1050.10 s
[really-safe-money-gen] pure $ fromIntegral n
1050.10 s
[really-safe-money-gen]
1050.10 s
[really-safe-money-gen] numSign :: (Ord a, Num a) => a -> Maybe Bool
1050.10 s
[really-safe-money-gen] - numSign a = if a >= 0 then Nothing else Just False
1050.10 s
[really-safe-money-gen] + numSign a = if a >= 1 then Nothing else Just False
1050.10 s
[really-safe-money-gen]
1050.10 s
[really-safe-money-gen] signSignum :: (Num a) => Maybe Bool -> (a -> a)
1050.10 s
[really-safe-money-gen] signSignum = \case
1050.10 s
[really-safe-money-gen] Testing mutation Cmp at src/Numeric/DecimalLiteral.hs:337:16-22
1050.10 s
[really-safe-money-gen] @@ -334,7 +334,7 @@
1050.10 s
[really-safe-money-gen] pure $ fromIntegral n
1050.10 s
[really-safe-money-gen]
1050.10 s
[really-safe-money-gen] numSign :: (Ord a, Num a) => a -> Maybe Bool
1050.10 s
[really-safe-money-gen] - numSign a = if a > = 0 then Nothing else Just False
1050.10 s
[really-safe-money-gen] + numSign a = if a < 0 then Nothing else Just False
1050.10 s
[really-safe-money-gen]
1050.10 s
[really-safe-money-gen] signSignum :: (Num a) => Maybe Bool -> (a -> a)
1050.10 s
[really-safe-money-gen] signSignum = \case
1050.11 s
[really-safe-money-gen] Testing mutation Cmp at src/Numeric/DecimalLiteral.hs:337:16-22
1050.11 s
[really-safe-money-gen] @@ -334,7 +334,7 @@
1050.11 s
[really-safe-money-gen] pure $ fromIntegral n
1050.11 s
[really-safe-money-gen]
1050.11 s
[really-safe-money-gen] numSign :: (Ord a, Num a) => a -> Maybe Bool
1050.11 s
[really-safe-money-gen] - numSign a = if a > = 0 then Nothing else Just False
1050.11 s
[really-safe-money-gen] + numSign a = if a < = 0 then Nothing else Just False
1050.11 s
[really-safe-money-gen]
1050.11 s
[really-safe-money-gen] signSignum :: (Num a) => Maybe Bool -> (a -> a)
1050.11 s
[really-safe-money-gen] signSignum = \case
1050.11 s
[really-safe-money-gen] Testing mutation Cmp at src/Numeric/DecimalLiteral.hs:337:16-22
1050.11 s
[really-safe-money-gen] @@ -334,7 +334,7 @@
1050.11 s
[really-safe-money-gen] pure $ fromIntegral n
1050.11 s
[really-safe-money-gen]
1050.11 s
[really-safe-money-gen] numSign :: (Ord a, Num a) => a -> Maybe Bool
1050.11 s
[really-safe-money-gen] - numSign a = if a > = 0 then Nothing else Just False
1050.11 s
[really-safe-money-gen] + numSign a = if a > 0 then Nothing else Just False
1050.11 s
[really-safe-money-gen]
1050.11 s
[really-safe-money-gen] signSignum :: (Num a) => Maybe Bool -> (a -> a)
1050.11 s
[really-safe-money-gen] signSignum = \case
1050.11 s
[really-safe-money-gen] Testing mutation ConstBool at src/Numeric/DecimalLiteral.hs:337:16-22
1050.11 s
[really-safe-money-gen] @@ -334,7 +334,7 @@
1050.11 s
[really-safe-money-gen] pure $ fromIntegral n
1050.11 s
[really-safe-money-gen]
1050.11 s
[really-safe-money-gen] numSign :: (Ord a, Num a) => a -> Maybe Bool
1050.11 s
[really-safe-money-gen] - numSign a = if a >= 0 then Nothing else Just False
1050.11 s
[really-safe-money-gen] + numSign a = if Tru e then Nothing else Just False
1050.11 s
[really-safe-money-gen]
1050.11 s
[really-safe-money-gen] signSignum :: (Num a) => Maybe Bool -> (a -> a)
1050.11 s
[really-safe-money-gen] signSignum = \case
1050.11 s
[really-safe-money-gen] Testing mutation ConstBool at src/Numeric/DecimalLiteral.hs:337:16-22
1050.11 s
[really-safe-money-gen] @@ -334,7 +334,7 @@
1050.11 s
[really-safe-money-gen] pure $ fromIntegral n
1050.11 s
[really-safe-money-gen]
1050.11 s
[really-safe-money-gen] numSign :: (Ord a, Num a) => a -> Maybe Bool
1050.11 s
[really-safe-money-gen] - numSign a = if a > = 0 then Nothing else Just False
1050.11 s
[really-safe-money-gen] + numSign a = if F a l s e then Nothing else Just False
1050.11 s
[really-safe-money-gen]
1050.11 s
[really-safe-money-gen] signSignum :: (Num a) => Maybe Bool -> (a -> a)
1050.11 s
[really-safe-money-gen] signSignum = \case
1054.72 s
[really-safe-money-gen] Testing mutation Negate at src/Numeric/DecimalLiteral.hs:337:16-22
1054.72 s
[really-safe-money-gen] @@ -334,7 +334,7 @@
1054.72 s
[really-safe-money-gen] pure $ fromIntegral n
1054.72 s
[really-safe-money-gen]
1054.72 s
[really-safe-money-gen] numSign :: (Ord a, Num a) => a -> Maybe Bool
1054.72 s
[really-safe-money-gen] - numSign a = if a >= 0 then Nothing else Just False
1054.72 s
[really-safe-money-gen] + numSign a = if n o t ( a >= 0 ) then Nothing else Just False
1054.72 s
[really-safe-money-gen]
1054.72 s
[really-safe-money-gen] signSignum :: (Num a) => Maybe Bool -> (a -> a)
1054.72 s
[really-safe-money-gen] signSignum = \case
1054.72 s
[really-safe-money-gen] Testing mutation BoolLit at src/Numeric/DecimalLiteral.hs:337:46-51
1054.73 s
[really-safe-money-gen] @@ -334,7 +334,7 @@
1054.73 s
[really-safe-money-gen] pure $ fromIntegral n
1054.73 s
[really-safe-money-gen]
1054.73 s
[really-safe-money-gen] numSign :: (Ord a, Num a) => a -> Maybe Bool
1054.73 s
[really-safe-money-gen] - numSign a = if a >= 0 then Nothing else Just F al s e
1054.73 s
[really-safe-money-gen] + numSign a = if a >= 0 then Nothing else Just T ru e
1054.73 s
[really-safe-money-gen]
1054.73 s
[really-safe-money-gen] signSignum :: (Num a) => Maybe Bool -> (a -> a)
1054.73 s
[really-safe-money-gen] signSignum = \case
1054.73 s
[really-safe-money-gen] Testing mutation MaybeOp at src/Numeric/DecimalLiteral.hs:337:41-51
1054.73 s
[really-safe-money-gen] @@ -334,7 +334,7 @@
1054.73 s
[really-safe-money-gen] pure $ fromIntegral n
1054.73 s
[really-safe-money-gen]
1054.73 s
[really-safe-money-gen] numSign :: (Ord a, Num a) => a -> Maybe Bool
1054.73 s
[really-safe-money-gen] - numSign a = if a >= 0 then Nothing else J u s t F a lse
1054.73 s
[really-safe-money-gen] + numSign a = if a >= 0 then Nothing else N o t h in g
1054.73 s
[really-safe-money-gen]
1054.73 s
[really-safe-money-gen] signSignum :: (Num a) => Maybe Bool -> (a -> a)
1054.73 s
[really-safe-money-gen] signSignum = \case
1054.73 s
[really-safe-money-gen] Testing mutation Cmp at src/Numeric/DecimalLiteral.hs:332:11-46
1054.73 s
[really-safe-money-gen] @@ -329,7 +329,7 @@
1054.73 s
[really-safe-money-gen] toInt :: DecimalLiteral -> Maybe Int
1054.73 s
[really-safe-money-gen] toInt dl = do
1054.73 s
[really-safe-money-gen] n <- toInteger dl
1054.73 s
[really-safe-money-gen] - guard $ n < = fromIntegral (maxBound :: Int)
1054.73 s
[really-safe-money-gen] + guard $ n < fromIntegral (maxBound :: Int)
1054.73 s
[really-safe-money-gen] guard $ n >= fromIntegral (minBound :: Int)
1054.73 s
[really-safe-money-gen] pure $ fromIntegral n
1054.73 s
[really-safe-money-gen]
1054.73 s
[really-safe-money-gen] Testing mutation Cmp at src/Numeric/DecimalLiteral.hs:332:11-46
1054.73 s
[really-safe-money-gen] @@ -329,7 +329,7 @@
1054.73 s
[really-safe-money-gen] toInt :: DecimalLiteral -> Maybe Int
1054.73 s
[really-safe-money-gen] toInt dl = do
1054.74 s
[really-safe-money-gen] n <- toInteger dl
1054.74 s
[really-safe-money-gen] - guard $ n < = fromIntegral (maxBound :: Int)
1054.74 s
[really-safe-money-gen] + guard $ n > fromIntegral (maxBound :: Int)
1054.74 s
[really-safe-money-gen] guard $ n >= fromIntegral (minBound :: Int)
1054.74 s
[really-safe-money-gen] pure $ fromIntegral n
1054.74 s
[really-safe-money-gen]
1054.74 s
[really-safe-money-gen] Testing mutation Cmp at src/Money/Account.hs:131:20-26
1054.74 s
[really-safe-money-gen] @@ -128,7 +128,7 @@
1054.74 s
[really-safe-money-gen] amount :: Amount
1054.74 s
[really-safe-money-gen] amount = Amount.fromMinimalQuantisations w
1054.74 s
[really-safe-money-gen] in Just $
1054.74 s
[really-safe-money-gen] - if i > = 0
1054.74 s
[really-safe-money-gen] + if i < = 0
1054.74 s
[really-safe-money-gen] then Positive amount
1054.74 s
[really-safe-money-gen] else Negative amount
1054.74 s
[really-safe-money-gen]
1054.74 s
[really-safe-money-gen] Testing mutation Negate at src/Money/Account.hs:131:20-26
1054.74 s
[really-safe-money-gen] @@ -128,7 +128,7 @@
1054.74 s
[really-safe-money-gen] amount :: Amount
1054.74 s
[really-safe-money-gen] amount = Amount.fromMinimalQuantisations w
1054.74 s
[really-safe-money-gen] in Just $
1054.74 s
[really-safe-money-gen] - if i >= 0
1054.74 s
[really-safe-money-gen] + if n o t ( i >= 0 )
1054.74 s
[really-safe-money-gen] then Positive amount
1054.74 s
[really-safe-money-gen] else Negative amount
1054.74 s
[really-safe-money-gen]
1054.74 s
[really-safe-money-gen] Testing mutation ConstBool at src/Numeric/DecimalLiteral.hs:332:11-46
1054.74 s
[really-safe-money-gen] @@ -329,7 +329,7 @@
1054.74 s
[really-safe-money-gen] toInt :: DecimalLiteral -> Maybe Int
1054.74 s
[really-safe-money-gen] toInt dl = do
1054.74 s
[really-safe-money-gen] n <- toInteger dl
1054.74 s
[really-safe-money-gen] - guard $ n <= f r om I n t e g ral (maxBound :: Int)
1054.74 s
[really-safe-money-gen] + guard $ T r u e
1054.74 s
[really-safe-money-gen] guard $ n >= fromIntegral (minBound :: Int)
1054.74 s
[really-safe-money-gen] pure $ fromIntegral n
1054.74 s
[really-safe-money-gen]
1054.74 s
[really-safe-money-gen] Testing mutation ConstBool at src/Numeric/DecimalLiteral.hs:332:11-46
1054.74 s
[really-safe-money-gen] @@ -329,7 +329,7 @@
1054.74 s
[really-safe-money-gen] toInt :: DecimalLiteral -> Maybe Int
1054.74 s
[really-safe-money-gen] toInt dl = do
1054.74 s
[really-safe-money-gen] n <- toInteger dl
1054.74 s
[really-safe-money-gen] - guard $ n < = from I n te gr al ( maxBound : : Int)
1054.74 s
[really-safe-money-gen] + guard $ F al se
1054.74 s
[really-safe-money-gen] guard $ n >= fromIntegral (minBound :: Int)
1054.74 s
[really-safe-money-gen] pure $ fromIntegral n
1054.74 s
[really-safe-money-gen]
1054.74 s
[really-safe-money-gen] Testing mutation Negate at src/Numeric/DecimalLiteral.hs:332:11-46
1054.74 s
[really-safe-money-gen] @@ -329,7 +329,7 @@
1054.74 s
[really-safe-money-gen] toInt :: DecimalLiteral -> Maybe Int
1054.74 s
[really-safe-money-gen] toInt dl = do
1054.74 s
[really-safe-money-gen] n <- toInteger dl
1054.75 s
[really-safe-money-gen] - guard $ n <= fromIntegral (maxBound :: Int)
1054.75 s
[really-safe-money-gen] + guard $ n o t ( n <= fromIntegral (maxBound :: Int) )
1054.75 s
[really-safe-money-gen] guard $ n >= fromIntegral (minBound :: Int)
1054.75 s
[really-safe-money-gen] pure $ fromIntegral n
1054.75 s
[really-safe-money-gen]
1054.75 s
[really-safe-money-gen] Testing mutation Cmp at src/Numeric/DecimalLiteral.hs:333:11-46
1054.75 s
[really-safe-money-gen] @@ -330,7 +330,7 @@
1054.75 s
[really-safe-money-gen] toInt dl = do
1054.75 s
[really-safe-money-gen] n <- toInteger dl
1054.75 s
[really-safe-money-gen] guard $ n <= fromIntegral (maxBound :: Int)
1054.75 s
[really-safe-money-gen] - guard $ n > = fromIntegral (minBound :: Int)
1054.75 s
[really-safe-money-gen] + guard $ n > fromIntegral (minBound :: Int)
1054.75 s
[really-safe-money-gen] pure $ fromIntegral n
1054.75 s
[really-safe-money-gen]
1054.75 s
[really-safe-money-gen] numSign :: (Ord a, Num a) => a -> Maybe Bool
1054.75 s
[really-safe-money-gen] Testing mutation Arith at src/Money/Account.hs:341:11-18
1054.75 s
[really-safe-money-gen] @@ -338,7 +338,7 @@
1054.75 s
[really-safe-money-gen] i2 :: Integer
1054.75 s
[really-safe-money-gen] i2 = toMinimalQuantisations a2
1054.75 s
[really-safe-money-gen] r :: Integer
1054.75 s
[really-safe-money-gen] - r = i1 + i2
1054.75 s
[really-safe-money-gen] + r = i1 - i2
1054.75 s
[really-safe-money-gen] in fromMinimalQuantisations r
1054.75 s
[really-safe-money-gen]
1054.75 s
[really-safe-money-gen] -- | Add a number of accounts of money together.
1054.75 s
[really-safe-money-gen] Testing mutation RemoveAction at src/Numeric/DecimalLiteral.hs:333:3-46
1054.75 s
[really-safe-money-gen] @@ -330,7 +330,6 @@
1054.75 s
[really-safe-money-gen] toInt dl = do
1054.75 s
[really-safe-money-gen] n <- toInteger dl
1054.75 s
[really-safe-money-gen] guard $ n <= fromIntegral (maxBound :: Int)
1054.75 s
[really-safe-money-gen] - guard $ n >= fromIntegral (minBound :: Int)
1054.75 s
[really-safe-money-gen] pure $ fromIntegral n
1054.75 s
[really-safe-money-gen]
1054.75 s
[really-safe-money-gen] numSign :: (Ord a, Num a) => a -> Maybe Bool
1054.75 s
[really-safe-money-gen] Testing mutation ConstBool at src/Numeric/DecimalLiteral.hs:333:11-46
1054.75 s
[really-safe-money-gen] @@ -330,7 +330,7 @@
1054.75 s
[really-safe-money-gen] toInt dl = do
1054.75 s
[really-safe-money-gen] n <- toInteger dl
1054.75 s
[really-safe-money-gen] guard $ n <= fromIntegral (maxBound :: Int)
1054.75 s
[really-safe-money-gen] - guard $ n >= f r om I n t e g ral (minBound :: Int)
1054.75 s
[really-safe-money-gen] + guard $ T r u e
1054.75 s
[really-safe-money-gen] pure $ fromIntegral n
1054.75 s
[really-safe-money-gen]
1054.75 s
[really-safe-money-gen] numSign :: (Ord a, Num a) => a -> Maybe Bool
1054.75 s
[really-safe-money-gen] Testing mutation Cmp at src/Numeric/DecimalLiteral.hs:332:11-46
1054.75 s
[really-safe-money-gen] @@ -329,7 +329,7 @@
1054.75 s
[really-safe-money-gen] toInt :: DecimalLiteral -> Maybe Int
1054.75 s
[really-safe-money-gen] toInt dl = do
1054.75 s
[really-safe-money-gen] n <- toInteger dl
1054.75 s
[really-safe-money-gen] - guard $ n < = fromIntegral (maxBound :: Int)
1054.75 s
[really-safe-money-gen] + guard $ n > = fromIntegral (maxBound :: Int)
1054.75 s
[really-safe-money-gen] guard $ n >= fromIntegral (minBound :: Int)
1054.75 s
[really-safe-money-gen] pure $ fromIntegral n
1054.75 s
[really-safe-money-gen]
1054.75 s
[really-safe-money-gen] Testing mutation ConstBool at src/Numeric/DecimalLiteral.hs:333:11-46
1054.75 s
[really-safe-money-gen] @@ -330,7 +330,7 @@
1054.76 s
[really-safe-money-gen] toInt dl = do
1054.76 s
[really-safe-money-gen] n <- toInteger dl
1054.76 s
[really-safe-money-gen] guard $ n <= fromIntegral (maxBound :: Int)
1054.76 s
[really-safe-money-gen] - guard $ n > = from I n te gr al ( minBound : : Int)
1054.76 s
[really-safe-money-gen] + guard $ F al se
1054.76 s
[really-safe-money-gen] pure $ fromIntegral n
1054.76 s
[really-safe-money-gen]
1054.76 s
[really-safe-money-gen] numSign :: (Ord a, Num a) => a -> Maybe Bool
1054.76 s
[really-safe-money-gen] Testing mutation Cmp at src/Numeric/DecimalLiteral.hs:333:11-46
1054.76 s
[really-safe-money-gen] @@ -330,7 +330,7 @@
1054.76 s
[really-safe-money-gen] toInt dl = do
1054.76 s
[really-safe-money-gen] n <- toInteger dl
1054.76 s
[really-safe-money-gen] guard $ n <= fromIntegral (maxBound :: Int)
1054.76 s
[really-safe-money-gen] - guard $ n > = fromIntegral (minBound :: Int)
1054.76 s
[really-safe-money-gen] + guard $ n < fromIntegral (minBound :: Int)
1054.76 s
[really-safe-money-gen] pure $ fromIntegral n
1054.76 s
[really-safe-money-gen]
1054.76 s
[really-safe-money-gen] numSign :: (Ord a, Num a) => a -> Maybe Bool
1054.76 s
[really-safe-money-gen] Testing mutation Cmp at src/Numeric/DecimalLiteral.hs:368:10-39
1054.76 s
[really-safe-money-gen] @@ -365,7 +365,7 @@
1054.76 s
[really-safe-money-gen] setMinimumDigits wantedDigits dl =
1054.76 s
[really-safe-money-gen] let currentDigits :: Word8
1054.76 s
[really-safe-money-gen] currentDigits = digits dl
1054.76 s
[really-safe-money-gen] - in if wantedDigits < = currentDigits
1054.76 s
[really-safe-money-gen] + in if wantedDigits < currentDigits
1054.76 s
[really-safe-money-gen] then dl
1054.76 s
[really-safe-money-gen] else increaseDigits (wantedDigits - currentDigits) dl
1054.76 s
[really-safe-money-gen] where
1054.76 s
[really-safe-money-gen] Testing mutation IntLit at src/Money/Account.hs:131:25-26
1054.76 s
[really-safe-money-gen] @@ -128,7 +128,7 @@
1054.76 s
[really-safe-money-gen] amount :: Amount
1054.76 s
[really-safe-money-gen] amount = Amount.fromMinimalQuantisations w
1054.76 s
[really-safe-money-gen] in Just $
1054.76 s
[really-safe-money-gen] - if i >= 0
1054.76 s
[really-safe-money-gen] + if i >= 1
1054.76 s
[really-safe-money-gen] then Positive amount
1054.76 s
[really-safe-money-gen] else Negative amount
1054.76 s
[really-safe-money-gen]
1054.76 s
[really-safe-money-gen] Testing mutation IntLit at src/Numeric/DecimalLiteral.hs:304:42-43
1054.76 s
[really-safe-money-gen] @@ -301,7 +301,7 @@
1054.76 s
[really-safe-money-gen]
1058.40 s
[really-safe-money-gen] -- | Construct a 'DecimalLiteral' from a 'Natural'
1058.40 s
[really-safe-money-gen] fromNatural :: Natural -> DecimalLiteral
1058.47 s
[really-safe-money-gen] - fromNatural n = DecimalLiteral Nothing n 0
1058.47 s
[really-safe-money-gen] + fromNatural n = DecimalLiteral Nothing n 1
1058.47 s
[really-safe-money-gen]
1058.47 s
[really-safe-money-gen] -- | Turn a 'DecimalLiteral' into a 'Natural'
1058.47 s
[really-safe-money-gen] toNatural :: DecimalLiteral -> Maybe Natural
1058.47 s
[really-safe-money-gen] Testing mutation Cmp at src/Numeric/DecimalLiteral.hs:299:11-47
1058.47 s
[really-safe-money-gen] @@ -296,7 +296,7 @@
1058.47 s
[really-safe-money-gen] toWord :: DecimalLiteral -> Maybe Word
1058.47 s
[really-safe-money-gen] toWord dl = do
1058.47 s
[really-safe-money-gen] n <- toNatural dl
1058.47 s
[really-safe-money-gen] - guard $ n < = fromIntegral (maxBound :: Word)
1058.47 s
[really-safe-money-gen] + guard $ n > = fromIntegral (maxBound :: Word)
1058.47 s
[really-safe-money-gen] pure $ fromIntegral n
1058.47 s
[really-safe-money-gen]
1058.47 s
[really-safe-money-gen] -- | Construct a 'DecimalLiteral' from a 'Natural'
1058.47 s
[really-safe-money-gen] Testing mutation IntLit at src/Numeric/DecimalLiteral.hs:315:67-68
1058.47 s
[really-safe-money-gen] @@ -312,7 +312,7 @@
1058.47 s
[really-safe-money-gen]
1058.47 s
[really-safe-money-gen] -- | Construct a 'DecimalLiteral' from an 'Integer'
1058.47 s
[really-safe-money-gen] fromInteger :: Integer -> DecimalLiteral
1058.47 s
[really-safe-money-gen] - fromInteger n = DecimalLiteral (numSign n) (fromIntegral (abs n)) 0
1058.47 s
[really-safe-money-gen] + fromInteger n = DecimalLiteral (numSign n) (fromIntegral (abs n)) 1
1058.47 s
[really-safe-money-gen]
1058.47 s
[really-safe-money-gen] -- | Turn a 'DecimalLiteral' into an 'Integer'
1058.47 s
[really-safe-money-gen] toInteger :: DecimalLiteral -> Maybe Integer
1058.47 s
[really-safe-money-gen] Testing mutation MaybeOp at src/Numeric/DecimalLiteral.hs:310:27-33
1058.48 s
[really-safe-money-gen] @@ -307,7 +307,7 @@
1058.48 s
[really-safe-money-gen] toNatural :: DecimalLiteral -> Maybe Natural
1058.48 s
[really-safe-money-gen] toNatural = \case
1058.48 s
[really-safe-money-gen] DecimalLiteral (Just False) _ _ -> Nothing
1058.48 s
[really-safe-money-gen] - DecimalLiteral _ n 0 -> J us t n
1058.48 s
[really-safe-money-gen] + DecimalLiteral _ n 0 -> N o t h i n g
1058.48 s
[really-safe-money-gen] _ -> Nothing
1058.48 s
[really-safe-money-gen]
1058.48 s
[really-safe-money-gen] -- | Construct a 'DecimalLiteral' from an 'Integer'
1058.48 s
[really-safe-money-gen] Testing mutation ConstBool at src/Numeric/DecimalLiteral.hs:368:10-39
1058.48 s
[really-safe-money-gen] @@ -365,7 +365,7 @@
1058.48 s
[really-safe-money-gen] setMinimumDigits wantedDigits dl =
1058.48 s
[really-safe-money-gen] let currentDigits :: Word8
1058.48 s
[really-safe-money-gen] currentDigits = digits dl
1058.48 s
[really-safe-money-gen] - in if w a nt ed Digits <= c u rr e n tDigits
1058.48 s
[really-safe-money-gen] + in if Tr u e
1058.48 s
[really-safe-money-gen] then dl
1058.48 s
[really-safe-money-gen] else increaseDigits (wantedDigits - currentDigits) dl
1058.48 s
[really-safe-money-gen] where
1058.48 s
[really-safe-money-gen] Testing mutation Cmp at src/Numeric/DecimalLiteral.hs:299:11-47
1058.48 s
[really-safe-money-gen] @@ -296,7 +296,7 @@
1058.48 s
[really-safe-money-gen] toWord :: DecimalLiteral -> Maybe Word
1058.48 s
[really-safe-money-gen] toWord dl = do
1058.48 s
[really-safe-money-gen] n <- toNatural dl
1058.48 s
[really-safe-money-gen] - guard $ n < = fromIntegral (maxBound :: Word)
1058.48 s
[really-safe-money-gen] + guard $ n < fromIntegral (maxBound :: Word)
1058.48 s
[really-safe-money-gen] pure $ fromIntegral n
1058.48 s
[really-safe-money-gen]
1058.48 s
[really-safe-money-gen] -- | Construct a 'DecimalLiteral' from a 'Natural'
1058.48 s
[really-safe-money-gen] Testing mutation Negate at src/Numeric/DecimalLiteral.hs:333:11-46
1058.48 s
[really-safe-money-gen] @@ -330,7 +330,7 @@
1058.48 s
[really-safe-money-gen] toInt dl = do
1058.48 s
[really-safe-money-gen] n <- toInteger dl
1058.48 s
[really-safe-money-gen] guard $ n <= fromIntegral (maxBound :: Int)
1058.49 s
[really-safe-money-gen] - guard $ n >= fromIntegral (minBound :: Int)
1058.49 s
[really-safe-money-gen] + guard $ n o t ( n >= fromIntegral (minBound :: Int) )
1058.49 s
[really-safe-money-gen] pure $ fromIntegral n
1058.49 s
[really-safe-money-gen]
1058.49 s
[really-safe-money-gen] numSign :: (Ord a, Num a) => a -> Maybe Bool
1058.49 s
[really-safe-money-gen] Testing mutation Cmp at src/Numeric/DecimalLiteral.hs:299:11-47
1058.49 s
[really-safe-money-gen] @@ -296,7 +296,7 @@
1058.49 s
[really-safe-money-gen] toWord :: DecimalLiteral -> Maybe Word
1058.49 s
[really-safe-money-gen] toWord dl = do
1058.49 s
[really-safe-money-gen] n <- toNatural dl
1058.49 s
[really-safe-money-gen] - guard $ n < = fromIntegral (maxBound :: Word)
1058.49 s
[really-safe-money-gen] + guard $ n > fromIntegral (maxBound :: Word)
1058.49 s
[really-safe-money-gen] pure $ fromIntegral n
1058.49 s
[really-safe-money-gen]
1058.49 s
[really-safe-money-gen] -- | Construct a 'DecimalLiteral' from a 'Natural'
1058.49 s
[really-safe-money-gen] Testing mutation ConstBool at src/Numeric/DecimalLiteral.hs:299:11-47
1058.49 s
[really-safe-money-gen] @@ -296,7 +296,7 @@
1058.49 s
[really-safe-money-gen] toWord :: DecimalLiteral -> Maybe Word
1058.49 s
[really-safe-money-gen] toWord dl = do
1058.49 s
[really-safe-money-gen] n <- toNatural dl
1058.49 s
[really-safe-money-gen] - guard $ n <= f r om Integ r al (maxBound :: Word)
1058.49 s
[really-safe-money-gen] + guard $ F al se
1058.49 s
[really-safe-money-gen] pure $ fromIntegral n
1058.49 s
[really-safe-money-gen]
1058.49 s
[really-safe-money-gen] -- | Construct a 'DecimalLiteral' from a 'Natural'
1058.49 s
[really-safe-money-gen] Testing mutation Cmp at src/Numeric/DecimalLiteral.hs:333:11-46
1058.49 s
[really-safe-money-gen] @@ -330,7 +330,7 @@
1058.49 s
[really-safe-money-gen] toInt dl = do
1058.49 s
[really-safe-money-gen] n <- toInteger dl
1058.49 s
[really-safe-money-gen] guard $ n <= fromIntegral (maxBound :: Int)
1058.49 s
[really-safe-money-gen] - guard $ n > = fromIntegral (minBound :: Int)
1058.49 s
[really-safe-money-gen] + guard $ n < = fromIntegral (minBound :: Int)
1058.49 s
[really-safe-money-gen] pure $ fromIntegral n
1058.49 s
[really-safe-money-gen]
1058.49 s
[really-safe-money-gen] numSign :: (Ord a, Num a) => a -> Maybe Bool
1058.49 s
[really-safe-money-gen] Testing mutation ConstBool at src/Numeric/DecimalLiteral.hs:299:11-47
1058.50 s
[really-safe-money-gen] @@ -296,7 +296,7 @@
1058.50 s
[really-safe-money-gen] toWord :: DecimalLiteral -> Maybe Word
1058.50 s
[really-safe-money-gen] toWord dl = do
1058.50 s
[really-safe-money-gen] n <- toNatural dl
1058.50 s
[really-safe-money-gen] - guard $ n < = from I n te g r a l (maxB o u n d : : W ord)
1058.50 s
[really-safe-money-gen] + guard $ T r u e
1058.50 s
[really-safe-money-gen] pure $ fromIntegral n
1058.50 s
[really-safe-money-gen]
1058.50 s
[really-safe-money-gen] -- | Construct a 'DecimalLiteral' from a 'Natural'
1058.50 s
[really-safe-money-gen] Testing mutation Negate at src/Numeric/DecimalLiteral.hs:299:11-47
1058.50 s
[really-safe-money-gen] @@ -296,7 +296,7 @@
1058.50 s
[really-safe-money-gen] toWord :: DecimalLiteral -> Maybe Word
1058.50 s
[really-safe-money-gen] toWord dl = do
1058.50 s
[really-safe-money-gen] n <- toNatural dl
1058.50 s
[really-safe-money-gen] - guard $ n <= fromIntegral (maxBound :: Word)
1058.50 s
[really-safe-money-gen] + guard $ n o t ( n <= fromIntegral (maxBound :: Word) )
1058.50 s
[really-safe-money-gen] pure $ fromIntegral n
1058.50 s
[really-safe-money-gen]
1058.50 s
[really-safe-money-gen] -- | Construct a 'DecimalLiteral' from a 'Natural'
1058.50 s
[really-safe-money-gen] Testing mutation ConstBool at src/Numeric/DecimalLiteral.hs:368:10-39
1058.50 s
[really-safe-money-gen] @@ -365,7 +365,7 @@
1058.50 s
[really-safe-money-gen] setMinimumDigits wantedDigits dl =
1058.50 s
[really-safe-money-gen] let currentDigits :: Word8
1058.50 s
[really-safe-money-gen] currentDigits = digits dl
1058.50 s
[really-safe-money-gen] - in if w a nt edD ig i t s < = cu rr e n tDigits
1058.50 s
[really-safe-money-gen] + in if F a l s e
1058.50 s
[really-safe-money-gen] then dl
1058.50 s
[really-safe-money-gen] else increaseDigits (wantedDigits - currentDigits) dl
1058.50 s
[really-safe-money-gen] where
1058.50 s
[really-safe-money-gen] Testing mutation IntLit at src/Numeric/DecimalLiteral.hs:289:33-35
1058.50 s
[really-safe-money-gen] @@ -286,7 +286,7 @@
1058.50 s
[really-safe-money-gen] toRatio :: DecimalLiteral -> Maybe (Ratio Natural)
1058.50 s
[really-safe-money-gen] toRatio (DecimalLiteral mSign m e) = case mSign of
1058.50 s
[really-safe-money-gen] Just False -> Nothing
1058.50 s
[really-safe-money-gen] - _ -> Just $ fromIntegral m / ( 10 ^ e)
1058.50 s
[really-safe-money-gen] + _ -> Just $ fromIntegral m / ( - 10 ^ e)
1058.50 s
[really-safe-money-gen]
1058.50 s
[really-safe-money-gen] -- | Construct a 'DecimalLiteral' from a 'Word'
1058.50 s
[really-safe-money-gen] fromWord :: Word -> DecimalLiteral
1058.50 s
[really-safe-money-gen] Testing mutation MaybeOp at src/Numeric/DecimalLiteral.hs:396:18-27
1058.50 s
[really-safe-money-gen] @@ -393,5 +393,5 @@
1058.50 s
[really-safe-money-gen] DecimalLiteral mS m e -> DecimalLiteral (go mS) m e
1058.50 s
[really-safe-money-gen] where
1058.50 s
[really-safe-money-gen] go = \case
1058.50 s
[really-safe-money-gen] - Nothing -> J u s t T rue
1058.50 s
[really-safe-money-gen] + Nothing -> No t hing
1058.50 s
[really-safe-money-gen] s -> s
1058.50 s
[really-safe-money-gen] Testing mutation Negate at src/Money/Account.hs:123:10-23
1058.50 s
[really-safe-money-gen] @@ -120,7 +120,7 @@
1058.50 s
[really-safe-money-gen] maxBoundI = (toInteger :: Word64 -> Integer) (maxBound :: Word64)
1058.51 s
[really-safe-money-gen] a :: Integer
1058.51 s
[really-safe-money-gen] a = (Prelude.abs :: Integer -> Integer) i
1058.51 s
[really-safe-money-gen] - in if a > maxBoundI
1058.51 s
[really-safe-money-gen] + in if n o t ( a > maxBoundI )
1058.51 s
[really-safe-money-gen] then Nothing
1058.51 s
[really-safe-money-gen] else
1058.51 s
[really-safe-money-gen] let w :: Word64
1058.51 s
[really-safe-money-gen] Testing mutation IntLit at src/Numeric/DecimalLiteral.hs:236:41-44
1058.51 s
[really-safe-money-gen] @@ -233,7 +233,7 @@
1058.51 s
[really-safe-money-gen] -- >>> fromRatio (1 % 3)
1058.51 s
[really-safe-money-gen] -- Nothing
1058.51 s
[really-safe-money-gen] fromRatio :: Ratio Natural -> Maybe DecimalLiteral
1058.51 s
[really-safe-money-gen] - fromRatio = fromRationalRepetendLimited 2 5 6
1058.51 s
[really-safe-money-gen] + fromRatio = fromRationalRepetendLimited 0
1058.51 s
[really-safe-money-gen] where
1058.51 s
[really-safe-money-gen] fromRationalRepetendLimited ::
1058.51 s
[really-safe-money-gen] -- limit
1058.51 s
[really-safe-money-gen] Testing mutation ConstBool at src/Numeric/DecimalLiteral.hs:264:13-26
1058.51 s
[really-safe-money-gen] @@ -261,7 +261,7 @@
1058.51 s
[really-safe-money-gen] Just (c, e)
1058.51 s
[really-safe-money-gen] longDivWithLimit !c !e ns !n
1058.51 s
[really-safe-money-gen] -- If there's a repetend, we can't turn it into a decimal literal
1058.51 s
[really-safe-money-gen] - | S . m e mb er n ns = Nothing
1058.51 s
[really-safe-money-gen] + | T ru e = Nothing
1058.51 s
[really-safe-money-gen] -- Over the limit, stop trying
1058.51 s
[really-safe-money-gen] | e >= l = Nothing
1058.51 s
[really-safe-money-gen] | n < d =
1058.51 s
[really-safe-money-gen] Testing mutation IntLit at src/Numeric/DecimalLiteral.hs:244:14-15
1062.92 s
[really-safe-money-gen] @@ -241,7 +241,7 @@
1062.92 s
[really-safe-money-gen] Ratio Natural ->
1062.92 s
[really-safe-money-gen] Maybe DecimalLiteral
1062.93 s
[really-safe-money-gen] fromRationalRepetendLimited l rational
1062.93 s
[really-safe-money-gen] - | d == 0 = Nothing
1062.93 s
[really-safe-money-gen] + | d == 1 = Nothing
1062.93 s
[really-safe-money-gen] | otherwise = toLiteral Nothing <$> longDiv num
1062.93 s
[really-safe-money-gen] where
1062.93 s
[really-safe-money-gen] toLiteral mSign (m, e) = DecimalLiteral mSign m (fromIntegral e)
1062.93 s
[really-safe-money-gen] Testing mutation Cmp at src/Numeric/DecimalLiteral.hs:266:13-19
1062.93 s
[really-safe-money-gen] @@ -263,7 +263,7 @@
1062.93 s
[really-safe-money-gen] -- If there's a repetend, we can't turn it into a decimal literal
1062.93 s
[really-safe-money-gen] | S.member n ns = Nothing
1062.93 s
[really-safe-money-gen] -- Over the limit, stop trying
1062.93 s
[really-safe-money-gen] - | e > = l = Nothing
1062.93 s
[really-safe-money-gen] + | e < l = Nothing
1062.93 s
[really-safe-money-gen] | n < d =
1062.93 s
[really-safe-money-gen] let !ns' = S.insert n ns
1062.93 s
[really-safe-money-gen] in longDivWithLimit (c * 10) (succ e) ns' (n * 10)
1062.93 s
[really-safe-money-gen] Testing mutation ConstBool at src/Numeric/DecimalLiteral.hs:266:13-19
1062.93 s
[really-safe-money-gen] @@ -263,7 +263,7 @@
1062.93 s
[really-safe-money-gen] -- If there's a repetend, we can't turn it into a decimal literal
1062.93 s
[really-safe-money-gen] | S.member n ns = Nothing
1062.93 s
[really-safe-money-gen] -- Over the limit, stop trying
1062.93 s
[really-safe-money-gen] - | e >= l = Nothing
1062.93 s
[really-safe-money-gen] + | T r u e = Nothing
1062.93 s
[really-safe-money-gen] | n < d =
1062.93 s
[really-safe-money-gen] let !ns' = S.insert n ns
1062.93 s
[really-safe-money-gen] in longDivWithLimit (c * 10) (succ e) ns' (n * 10)
1062.93 s
[really-safe-money-gen] Testing mutation Cmp at src/Numeric/DecimalLiteral.hs:266:13-19
1062.93 s
[really-safe-money-gen] @@ -263,7 +263,7 @@
1062.93 s
[really-safe-money-gen] -- If there's a repetend, we can't turn it into a decimal literal
1062.93 s
[really-safe-money-gen] | S.member n ns = Nothing
1062.93 s
[really-safe-money-gen] -- Over the limit, stop trying
1062.93 s
[really-safe-money-gen] - | e > = l = Nothing
1062.93 s
[really-safe-money-gen] + | e > l = Nothing
1062.93 s
[really-safe-money-gen] | n < d =
1062.93 s
[really-safe-money-gen] let !ns' = S.insert n ns
1062.93 s
[really-safe-money-gen] in longDivWithLimit (c * 10) (succ e) ns' (n * 10)
1062.93 s
[really-safe-money-gen] Testing mutation Cmp at src/Numeric/DecimalLiteral.hs:267:13-18
1062.93 s
[really-safe-money-gen] @@ -264,7 +264,7 @@
1062.93 s
[really-safe-money-gen] | S.member n ns = Nothing
1062.93 s
[really-safe-money-gen] -- Over the limit, stop trying
1062.93 s
[really-safe-money-gen] | e >= l = Nothing
1062.93 s
[really-safe-money-gen] - | n < d =
1062.93 s
[really-safe-money-gen] + | n < = d =
1062.93 s
[really-safe-money-gen] let !ns' = S.insert n ns
1062.93 s
[really-safe-money-gen] in longDivWithLimit (c * 10) (succ e) ns' (n * 10)
1062.93 s
[really-safe-money-gen] | otherwise =
1062.93 s
[really-safe-money-gen] Testing mutation Cmp at src/Numeric/DecimalLiteral.hs:266:13-19
1062.93 s
[really-safe-money-gen] @@ -263,7 +263,7 @@
1062.93 s
[really-safe-money-gen] -- If there's a repetend, we can't turn it into a decimal literal
1062.93 s
[really-safe-money-gen] | S.member n ns = Nothing
1062.93 s
[really-safe-money-gen] -- Over the limit, stop trying
1062.93 s
[really-safe-money-gen] - | e > = l = Nothing
1062.93 s
[really-safe-money-gen] + | e < = l = Nothing
1062.94 s
[really-safe-money-gen] | n < d =
1062.94 s
[really-safe-money-gen] let !ns' = S.insert n ns
1062.94 s
[really-safe-money-gen] in longDivWithLimit (c * 10) (succ e) ns' (n * 10)
1062.94 s
[really-safe-money-gen] Testing mutation ConstBool at src/Numeric/DecimalLiteral.hs:267:13-18
1062.94 s
[really-safe-money-gen] @@ -264,7 +264,7 @@
1062.94 s
[really-safe-money-gen] | S.member n ns = Nothing
1062.94 s
[really-safe-money-gen] -- Over the limit, stop trying
1062.94 s
[really-safe-money-gen] | e >= l = Nothing
1062.94 s
[really-safe-money-gen] - | n < d =
1062.94 s
[really-safe-money-gen] + | T r u e =
1062.94 s
[really-safe-money-gen] let !ns' = S.insert n ns
1062.94 s
[really-safe-money-gen] in longDivWithLimit (c * 10) (succ e) ns' (n * 10)
1062.94 s
[really-safe-money-gen] | otherwise =
1062.94 s
[really-safe-money-gen] Testing mutation Negate at src/Numeric/DecimalLiteral.hs:264:13-26
1062.94 s
[really-safe-money-gen] @@ -261,7 +261,7 @@
1062.94 s
[really-safe-money-gen] Just (c, e)
1062.94 s
[really-safe-money-gen] longDivWithLimit !c !e ns !n
1062.94 s
[really-safe-money-gen] -- If there's a repetend, we can't turn it into a decimal literal
1062.94 s
[really-safe-money-gen] - | S.member n ns = Nothing
1062.94 s
[really-safe-money-gen] + | n o t ( S.member n ns ) = Nothing
1062.94 s
[really-safe-money-gen] -- Over the limit, stop trying
1062.94 s
[really-safe-money-gen] | e >= l = Nothing
1062.94 s
[really-safe-money-gen] | n < d =
1062.94 s
[really-safe-money-gen] Testing mutation RemoveAction at src/Numeric/DecimalLiteral.hs:332:3-46
1062.94 s
[really-safe-money-gen] @@ -329,7 +329,6 @@
1062.94 s
[really-safe-money-gen] toInt :: DecimalLiteral -> Maybe Int
1062.94 s
[really-safe-money-gen] toInt dl = do
1062.94 s
[really-safe-money-gen] n <- toInteger dl
1062.94 s
[really-safe-money-gen] - guard $ n <= fromIntegral (maxBound :: Int)
1062.94 s
[really-safe-money-gen] guard $ n >= fromIntegral (minBound :: Int)
1062.94 s
[really-safe-money-gen] pure $ fromIntegral n
1062.94 s
[really-safe-money-gen]
1062.94 s
[really-safe-money-gen] Testing mutation Arith at src/Numeric/DecimalLiteral.hs:269:59-65
1062.94 s
[really-safe-money-gen] @@ -266,7 +266,7 @@
1062.94 s
[really-safe-money-gen] | e >= l = Nothing
1062.94 s
[really-safe-money-gen] | n < d =
1062.94 s
[really-safe-money-gen] let !ns' = S.insert n ns
1062.94 s
[really-safe-money-gen] - in longDivWithLimit (c * 10) (succ e) ns' (n * 10)
1062.94 s
[really-safe-money-gen] + in longDivWithLimit (c * 10) (succ e) ns' (n + 10)
1062.94 s
[really-safe-money-gen] | otherwise =
1062.94 s
[really-safe-money-gen] let (q, r') = n `quotRem` d
1062.94 s
[really-safe-money-gen] in longDivWithLimit (c + q) e ns r'
1062.94 s
[really-safe-money-gen] Testing mutation Arith at src/Numeric/DecimalLiteral.hs:269:59-65
1062.94 s
[really-safe-money-gen] @@ -266,7 +266,7 @@
1062.94 s
[really-safe-money-gen] | e >= l = Nothing
1062.94 s
[really-safe-money-gen] | n < d =
1062.94 s
[really-safe-money-gen] let !ns' = S.insert n ns
1062.94 s
[really-safe-money-gen] - in longDivWithLimit (c * 10) (succ e) ns' (n * 10)
1062.94 s
[really-safe-money-gen] + in longDivWithLimit (c * 10) (succ e) ns' (n - 10)
1062.94 s
[really-safe-money-gen] | otherwise =
1062.94 s
[really-safe-money-gen] let (q, r') = n `quotRem` d
1062.94 s
[really-safe-money-gen] in longDivWithLimit (c + q) e ns r'
1062.94 s
[really-safe-money-gen] Testing mutation Cmp at src/Money/Account.hs:131:20-26
1062.94 s
[really-safe-money-gen] @@ -128,7 +128,7 @@
1062.94 s
[really-safe-money-gen] amount :: Amount
1062.94 s
[really-safe-money-gen] amount = Amount.fromMinimalQuantisations w
1062.94 s
[really-safe-money-gen] in Just $
1062.94 s
[really-safe-money-gen] - if i > = 0
1062.94 s
[really-safe-money-gen] + if i < 0
1062.94 s
[really-safe-money-gen] then Positive amount
1062.94 s
[really-safe-money-gen] else Negative amount
1062.94 s
[really-safe-money-gen]
1062.94 s
[really-safe-money-gen] Testing mutation Arith at src/Numeric/DecimalLiteral.hs:272:37-42
1062.94 s
[really-safe-money-gen] @@ -269,7 +269,7 @@
1062.94 s
[really-safe-money-gen] in longDivWithLimit (c * 10) (succ e) ns' (n * 10)
1062.94 s
[really-safe-money-gen] | otherwise =
1062.94 s
[really-safe-money-gen] let (q, r') = n `quotRem` d
1062.94 s
[really-safe-money-gen] - in longDivWithLimit (c + q) e ns r'
1062.94 s
[really-safe-money-gen] + in longDivWithLimit (c - q) e ns r'
1062.94 s
[really-safe-money-gen]
1062.94 s
[really-safe-money-gen] -- | Turn a 'DecimalLiteral' into a 'Ratio Natural'
1062.94 s
[really-safe-money-gen] --
1062.94 s
[really-safe-money-gen] Testing mutation Arith at src/Numeric/DecimalLiteral.hs:272:37-42
1062.94 s
[really-safe-money-gen] @@ -269,7 +269,7 @@
1062.94 s
[really-safe-money-gen] in longDivWithLimit (c * 10) (succ e) ns' (n * 10)
1062.94 s
[really-safe-money-gen] | otherwise =
1062.94 s
[really-safe-money-gen] let (q, r') = n `quotRem` d
1062.94 s
[really-safe-money-gen] - in longDivWithLimit (c + q) e ns r'
1062.94 s
[really-safe-money-gen] + in longDivWithLimit (c * q) e ns r'
1062.94 s
[really-safe-money-gen]
1062.94 s
[really-safe-money-gen] -- | Turn a 'DecimalLiteral' into a 'Ratio Natural'
1062.94 s
[really-safe-money-gen] --
1062.94 s
[really-safe-money-gen] Testing mutation IntLit at src/Numeric/DecimalLiteral.hs:252:36-37
1062.94 s
[really-safe-money-gen] @@ -249,7 +249,7 @@
1062.94 s
[really-safe-money-gen] num = numerator rational
1062.94 s
[really-safe-money-gen]
1062.94 s
[really-safe-money-gen] longDiv :: Natural -> Maybe (Natural, Int)
1062.94 s
[really-safe-money-gen] - longDiv = longDivWithLimit 0 0 S.empty
1062.94 s
[really-safe-money-gen] + longDiv = longDivWithLimit 1 0 S.empty
1062.94 s
[really-safe-money-gen]
1062.94 s
[really-safe-money-gen] longDivWithLimit ::
1062.94 s
[really-safe-money-gen] Natural ->
1062.94 s
[really-safe-money-gen] Testing mutation IntLit at src/Numeric/DecimalLiteral.hs:252:38-39
1062.94 s
[really-safe-money-gen] @@ -249,7 +249,7 @@
1062.94 s
[really-safe-money-gen] num = numerator rational
1062.94 s
[really-safe-money-gen]
1062.94 s
[really-safe-money-gen] longDiv :: Natural -> Maybe (Natural, Int)
1062.94 s
[really-safe-money-gen] - longDiv = longDivWithLimit 0 0 S.empty
1062.94 s
[really-safe-money-gen] + longDiv = longDivWithLimit 0 1 S.empty
1062.94 s
[really-safe-money-gen]
1062.94 s
[really-safe-money-gen] longDivWithLimit ::
1062.94 s
[really-safe-money-gen] Natural ->
1062.94 s
[really-safe-money-gen] Testing mutation Negate at src/Numeric/DecimalLiteral.hs:244:9-15
1062.94 s
[really-safe-money-gen] @@ -241,7 +241,7 @@
1062.94 s
[really-safe-money-gen] Ratio Natural ->
1062.94 s
[really-safe-money-gen] Maybe DecimalLiteral
1062.94 s
[really-safe-money-gen] fromRationalRepetendLimited l rational
1062.94 s
[really-safe-money-gen] - | d == 0 = Nothing
1062.94 s
[really-safe-money-gen] + | n o t ( d == 0 ) = Nothing
1062.94 s
[really-safe-money-gen] | otherwise = toLiteral Nothing <$> longDiv num
1062.94 s
[really-safe-money-gen] where
1062.94 s
[really-safe-money-gen] toLiteral mSign (m, e) = DecimalLiteral mSign m (fromIntegral e)
1062.94 s
[really-safe-money-gen] Testing mutation ConstBool at src/Numeric/DecimalLiteral.hs:244:9-15
1062.94 s
[really-safe-money-gen] @@ -241,7 +241,7 @@
1062.94 s
[really-safe-money-gen] Ratio Natural ->
1062.94 s
[really-safe-money-gen] Maybe DecimalLiteral
1062.94 s
[really-safe-money-gen] fromRationalRepetendLimited l rational
1062.94 s
[really-safe-money-gen] - | d == 0 = Nothing
1067.13 s
[really-safe-money-gen] + | Tru e = Nothing
1067.20 s
[really-safe-money-gen] | otherwise = toLiteral Nothing <$> longDiv num
1067.20 s
[really-safe-money-gen] where
1067.20 s
[really-safe-money-gen] toLiteral mSign (m, e) = DecimalLiteral mSign m (fromIntegral e)
1067.20 s
[really-safe-money-gen] Testing mutation IntLit at src/Numeric/DecimalLiteral.hs:223:39-41
1067.20 s
[really-safe-money-gen] @@ -220,7 +220,7 @@
1067.20 s
[really-safe-money-gen] -- (-3) % 10
1067.20 s
[really-safe-money-gen] toRational :: DecimalLiteral -> Rational
1067.20 s
[really-safe-money-gen] toRational (DecimalLiteral mSign m e) =
1067.20 s
[really-safe-money-gen] - signSignum mSign (fromIntegral m / (1 0 ^ e))
1067.20 s
[really-safe-money-gen] + signSignum mSign (fromIntegral m / (1 ^ e))
1067.20 s
[really-safe-money-gen]
1067.20 s
[really-safe-money-gen] -- | Parse a 'DecimalLiteral' from a 'Ratio Natural'
1067.20 s
[really-safe-money-gen] --
1067.20 s
[really-safe-money-gen] Testing mutation Cmp at src/Numeric/DecimalLiteral.hs:267:13-18
1067.20 s
[really-safe-money-gen] @@ -264,7 +264,7 @@
1067.20 s
[really-safe-money-gen] | S.member n ns = Nothing
1067.20 s
[really-safe-money-gen] -- Over the limit, stop trying
1067.20 s
[really-safe-money-gen] | e >= l = Nothing
1067.20 s
[really-safe-money-gen] - | n < d =
1067.20 s
[really-safe-money-gen] + | n > = d =
1067.20 s
[really-safe-money-gen] let !ns' = S.insert n ns
1067.20 s
[really-safe-money-gen] in longDivWithLimit (c * 10) (succ e) ns' (n * 10)
1067.20 s
[really-safe-money-gen] | otherwise =
1067.20 s
[really-safe-money-gen] Testing mutation IntLit at src/Numeric/DecimalLiteral.hs:223:39-41
1067.20 s
[really-safe-money-gen] @@ -220,7 +220,7 @@
1067.20 s
[really-safe-money-gen] -- (-3) % 10
1067.20 s
[really-safe-money-gen] toRational :: DecimalLiteral -> Rational
1067.20 s
[really-safe-money-gen] toRational (DecimalLiteral mSign m e) =
1067.21 s
[really-safe-money-gen] - signSignum mSign (fromIntegral m / ( 1 0 ^ e))
1067.21 s
[really-safe-money-gen] + signSignum mSign (fromIntegral m / ( 0 ^ e))
1067.21 s
[really-safe-money-gen]
1067.21 s
[really-safe-money-gen] -- | Parse a 'DecimalLiteral' from a 'Ratio Natural'
1067.21 s
[really-safe-money-gen] --
1067.21 s
[really-safe-money-gen] Testing mutation IntLit at src/Numeric/DecimalLiteral.hs:208:9-10
1067.21 s
[really-safe-money-gen] @@ -205,7 +205,7 @@
1067.21 s
[really-safe-money-gen] -- Nothing
1067.21 s
[really-safe-money-gen] fromRational :: Rational -> Maybe DecimalLiteral
1067.21 s
[really-safe-money-gen] fromRational (n :% d)
1067.21 s
[really-safe-money-gen] - | n < 0 = (\(DecimalLiteral _ m e) -> DecimalLiteral (Just False) m e) <$> fromRatio (fromIntegral (abs n) % fromIntegral d)
1067.21 s
[really-safe-money-gen] + | n < 1 = (\(DecimalLiteral _ m e) -> DecimalLiteral (Just False) m e) <$> fromRatio (fromIntegral (abs n) % fromIntegral d)
1067.21 s
[really-safe-money-gen] | otherwise = fromRatio (fromIntegral n % fromIntegral d)
1067.21 s
[really-safe-money-gen]
1067.21 s
[really-safe-money-gen] -- | Turn a 'DecimalLiteral' into a 'Rational'
1067.21 s
[really-safe-money-gen] Testing mutation IntLit at src/Numeric/DecimalLiteral.hs:223:39-41
1067.21 s
[really-safe-money-gen] @@ -220,7 +220,7 @@
1067.21 s
[really-safe-money-gen] -- (-3) % 10
1067.21 s
[really-safe-money-gen] toRational :: DecimalLiteral -> Rational
1067.21 s
[really-safe-money-gen] toRational (DecimalLiteral mSign m e) =
1067.21 s
[really-safe-money-gen] - signSignum mSign (fromIntegral m / ( 10 ^ e))
1067.21 s
[really-safe-money-gen] + signSignum mSign (fromIntegral m / ( - 10 ^ e))
1067.21 s
[really-safe-money-gen]
1067.21 s
[really-safe-money-gen] -- | Parse a 'DecimalLiteral' from a 'Ratio Natural'
1067.21 s
[really-safe-money-gen] --
1067.21 s
[really-safe-money-gen] Testing mutation Cmp at src/Numeric/DecimalLiteral.hs:208:5-10
1067.21 s
[really-safe-money-gen] @@ -205,7 +205,7 @@
1067.21 s
[really-safe-money-gen] -- Nothing
1067.21 s
[really-safe-money-gen] fromRational :: Rational -> Maybe DecimalLiteral
1067.21 s
[really-safe-money-gen] fromRational (n :% d)
1067.21 s
[really-safe-money-gen] - | n < 0 = (\(DecimalLiteral _ m e) -> DecimalLiteral (Just False) m e) <$> fromRatio (fromIntegral (abs n) % fromIntegral d)
1067.21 s
[really-safe-money-gen] + | n > 0 = (\(DecimalLiteral _ m e) -> DecimalLiteral (Just False) m e) <$> fromRatio (fromIntegral (abs n) % fromIntegral d)
1067.21 s
[really-safe-money-gen] | otherwise = fromRatio (fromIntegral n % fromIntegral d)
1067.21 s
[really-safe-money-gen]
1067.21 s
[really-safe-money-gen] -- | Turn a 'DecimalLiteral' into a 'Rational'
1067.21 s
[really-safe-money-gen] Testing mutation Cmp at src/Numeric/DecimalLiteral.hs:208:5-10
1067.21 s
[really-safe-money-gen] @@ -205,7 +205,7 @@
1067.21 s
[really-safe-money-gen] -- Nothing
1067.21 s
[really-safe-money-gen] fromRational :: Rational -> Maybe DecimalLiteral
1067.21 s
[really-safe-money-gen] fromRational (n :% d)
1067.21 s
[really-safe-money-gen] - | n < 0 = (\(DecimalLiteral _ m e) -> DecimalLiteral (Just False) m e) <$> fromRatio (fromIntegral (abs n) % fromIntegral d)
1067.21 s
[really-safe-money-gen] + | n < = 0 = (\(DecimalLiteral _ m e) -> DecimalLiteral (Just False) m e) <$> fromRatio (fromIntegral (abs n) % fromIntegral d)
1067.21 s
[really-safe-money-gen] | otherwise = fromRatio (fromIntegral n % fromIntegral d)
1067.21 s
[really-safe-money-gen]
1067.21 s
[really-safe-money-gen] -- | Turn a 'DecimalLiteral' into a 'Rational'
1067.21 s
[really-safe-money-gen] Testing mutation Arith at src/Numeric/DecimalLiteral.hs:269:37-43
1067.21 s
[really-safe-money-gen] @@ -266,7 +266,7 @@
1067.21 s
[really-safe-money-gen] | e >= l = Nothing
1067.21 s
[really-safe-money-gen] | n < d =
1067.21 s
[really-safe-money-gen] let !ns' = S.insert n ns
1067.21 s
[really-safe-money-gen] - in longDivWithLimit (c * 10) (succ e) ns' (n * 10)
1067.21 s
[really-safe-money-gen] + in longDivWithLimit (c - 10) (succ e) ns' (n * 10)
1067.21 s
[really-safe-money-gen] | otherwise =
1067.21 s
[really-safe-money-gen] let (q, r') = n `quotRem` d
1067.21 s
[really-safe-money-gen] in longDivWithLimit (c + q) e ns r'
1067.21 s
[really-safe-money-gen] Testing mutation RemoveCase at src/Numeric/DecimalLiteral.hs:287:38-40
1067.21 s
[really-safe-money-gen] @@ -284,9 +284,8 @@
1067.22 s
[really-safe-money-gen] -- >>> toRatio (DecimalLiteral (Just False) 3 1)
1067.22 s
[really-safe-money-gen] -- Nothing
1067.22 s
[really-safe-money-gen] toRatio :: DecimalLiteral -> Maybe (Ratio Natural)
1067.22 s
[really-safe-money-gen] toRatio (DecimalLiteral mSign m e) = case mSign of
1067.22 s
[really-safe-money-gen] Just False -> Nothing
1067.22 s
[really-safe-money-gen] - _ -> Just $ fromIntegral m / (10 ^ e)
1067.22 s
[really-safe-money-gen]
1067.22 s
[really-safe-money-gen] -- | Construct a 'DecimalLiteral' from a 'Word'
1067.22 s
[really-safe-money-gen] fromWord :: Word -> DecimalLiteral
1067.22 s
[really-safe-money-gen] Testing mutation Cmp at src/Numeric/DecimalLiteral.hs:267:13-18
1067.22 s
[really-safe-money-gen] @@ -264,7 +264,7 @@
1067.22 s
[really-safe-money-gen] | S.member n ns = Nothing
1067.22 s
[really-safe-money-gen] -- Over the limit, stop trying
1067.22 s
[really-safe-money-gen] | e >= l = Nothing
1067.22 s
[really-safe-money-gen] - | n < d =
1067.22 s
[really-safe-money-gen] + | n > d =
1067.22 s
[really-safe-money-gen] let !ns' = S.insert n ns
1067.22 s
[really-safe-money-gen] in longDivWithLimit (c * 10) (succ e) ns' (n * 10)
1067.22 s
[really-safe-money-gen] | otherwise =
1067.22 s
[really-safe-money-gen] Testing mutation IntLit at src/Numeric/DecimalLiteral.hs:269:41-43
1067.22 s
[really-safe-money-gen] @@ -266,7 +266,7 @@
1067.22 s
[really-safe-money-gen] | e >= l = Nothing
1067.22 s
[really-safe-money-gen] | n < d =
1067.22 s
[really-safe-money-gen] let !ns' = S.insert n ns
1067.22 s
[really-safe-money-gen] - in longDivWithLimit (c * 1 0) (succ e) ns' (n * 10)
1067.22 s
[really-safe-money-gen] + in longDivWithLimit (c * 0) (succ e) ns' (n * 10)
1067.22 s
[really-safe-money-gen] | otherwise =
1067.22 s
[really-safe-money-gen] let (q, r') = n `quotRem` d
1067.22 s
[really-safe-money-gen] in longDivWithLimit (c + q) e ns r'
1067.22 s
[really-safe-money-gen] Testing mutation ConstBool at src/Numeric/DecimalLiteral.hs:208:5-10
1067.22 s
[really-safe-money-gen] @@ -205,7 +205,7 @@
1067.22 s
[really-safe-money-gen] -- Nothing
1067.22 s
[really-safe-money-gen] fromRational :: Rational -> Maybe DecimalLiteral
1067.22 s
[really-safe-money-gen] fromRational (n :% d)
1067.22 s
[really-safe-money-gen] - | n < 0 = (\(DecimalLiteral _ m e) -> DecimalLiteral (Just False) m e) <$> fromRatio (fromIntegral (abs n) % fromIntegral d)
1067.22 s
[really-safe-money-gen] + | T r u e = (\(DecimalLiteral _ m e) -> DecimalLiteral (Just False) m e) <$> fromRatio (fromIntegral (abs n) % fromIntegral d)
1067.22 s
[really-safe-money-gen] | otherwise = fromRatio (fromIntegral n % fromIntegral d)
1067.22 s
[really-safe-money-gen]
1067.22 s
[really-safe-money-gen] -- | Turn a 'DecimalLiteral' into a 'Rational'
1067.22 s
[really-safe-money-gen] Testing mutation IntLit at src/Numeric/DecimalLiteral.hs:269:63-65
1067.22 s
[really-safe-money-gen] @@ -266,7 +266,7 @@
1067.22 s
[really-safe-money-gen] | e >= l = Nothing
1067.22 s
[really-safe-money-gen] | n < d =
1067.22 s
[really-safe-money-gen] let !ns' = S.insert n ns
1067.22 s
[really-safe-money-gen] - in longDivWithLimit (c * 10) (succ e) ns' (n * 1 0)
1067.22 s
[really-safe-money-gen] + in longDivWithLimit (c * 10) (succ e) ns' (n * 0)
1067.22 s
[really-safe-money-gen] | otherwise =
1067.22 s
[really-safe-money-gen] let (q, r') = n `quotRem` d
1067.22 s
[really-safe-money-gen] in longDivWithLimit (c + q) e ns r'
1067.22 s
[really-safe-money-gen] Testing mutation BoolLit at src/Numeric/DecimalLiteral.hs:208:62-67
1067.22 s
[really-safe-money-gen] @@ -205,7 +205,7 @@
1067.22 s
[really-safe-money-gen] -- Nothing
1067.22 s
[really-safe-money-gen] fromRational :: Rational -> Maybe DecimalLiteral
1067.22 s
[really-safe-money-gen] fromRational (n :% d)
1067.22 s
[really-safe-money-gen] - | n < 0 = (\(DecimalLiteral _ m e) -> DecimalLiteral (Just F al s e) m e) <$> fromRatio (fromIntegral (abs n) % fromIntegral d)
1067.22 s
[really-safe-money-gen] + | n < 0 = (\(DecimalLiteral _ m e) -> DecimalLiteral (Just T ru e) m e) <$> fromRatio (fromIntegral (abs n) % fromIntegral d)
1067.22 s
[really-safe-money-gen] | otherwise = fromRatio (fromIntegral n % fromIntegral d)
1067.22 s
[really-safe-money-gen]
1067.22 s
[really-safe-money-gen] -- | Turn a 'DecimalLiteral' into a 'Rational'
1067.22 s
[really-safe-money-gen] Testing mutation Negate at src/Numeric/DecimalLiteral.hs:208:5-10
1067.22 s
[really-safe-money-gen] @@ -205,7 +205,7 @@
1067.22 s
[really-safe-money-gen] -- Nothing
1067.22 s
[really-safe-money-gen] fromRational :: Rational -> Maybe DecimalLiteral
1067.22 s
[really-safe-money-gen] fromRational (n :% d)
1067.22 s
[really-safe-money-gen] - | n < 0 = (\(DecimalLiteral _ m e) -> DecimalLiteral (Just False) m e) <$> fromRatio (fromIntegral (abs n) % fromIntegral d)
1067.22 s
[really-safe-money-gen] + | n o t ( n < 0 ) = (\(DecimalLiteral _ m e) -> DecimalLiteral (Just False) m e) <$> fromRatio (fromIntegral (abs n) % fromIntegral d)
1067.22 s
[really-safe-money-gen] | otherwise = fromRatio (fromIntegral n % fromIntegral d)
1067.22 s
[really-safe-money-gen]
1067.22 s
[really-safe-money-gen] -- | Turn a 'DecimalLiteral' into a 'Rational'
1067.22 s
[really-safe-money-gen] Testing mutation Cmp at src/Numeric/DecimalLiteral.hs:208:5-10
1067.22 s
[really-safe-money-gen] @@ -205,7 +205,7 @@
1067.22 s
[really-safe-money-gen] -- Nothing
1067.22 s
[really-safe-money-gen] fromRational :: Rational -> Maybe DecimalLiteral
1067.22 s
[really-safe-money-gen] fromRational (n :% d)
1071.54 s
[really-safe-money-gen] - | n < 0 = (\(DecimalLiteral _ m e) -> DecimalLiteral (Just False) m e) <$> fromRatio (fromIntegral (abs n) % fromIntegral d)
1071.54 s
[really-safe-money-gen] + | n > = 0 = (\(DecimalLiteral _ m e) -> DecimalLiteral (Just False) m e) <$> fromRatio (fromIntegral (abs n) % fromIntegral d)
1071.54 s
[really-safe-money-gen] | otherwise = fromRatio (fromIntegral n % fromIntegral d)
1071.54 s
[really-safe-money-gen]
1071.54 s
[really-safe-money-gen] -- | Turn a 'DecimalLiteral' into a 'Rational'
1071.54 s
[really-safe-money-gen] Testing mutation IntLit at src/Numeric/DecimalLiteral.hs:269:63-65
1071.54 s
[really-safe-money-gen] @@ -266,7 +266,7 @@
1071.54 s
[really-safe-money-gen] | e >= l = Nothing
1071.54 s
[really-safe-money-gen] | n < d =
1071.54 s
[really-safe-money-gen] let !ns' = S.insert n ns
1071.54 s
[really-safe-money-gen] - in longDivWithLimit (c * 10) (succ e) ns' (n * 1 0 )
1071.54 s
[really-safe-money-gen] + in longDivWithLimit (c * 10) (succ e) ns' (n * 1 )
1071.54 s
[really-safe-money-gen] | otherwise =
1071.55 s
[really-safe-money-gen] let (q, r') = n `quotRem` d
1071.55 s
[really-safe-money-gen] in longDivWithLimit (c + q) e ns r'
1071.55 s
[really-safe-money-gen] Testing mutation MaybeOp at src/Numeric/DecimalLiteral.hs:208:57-67
1071.55 s
[really-safe-money-gen] @@ -205,7 +205,7 @@
1071.55 s
[really-safe-money-gen] -- Nothing
1071.55 s
[really-safe-money-gen] fromRational :: Rational -> Maybe DecimalLiteral
1071.55 s
[really-safe-money-gen] fromRational (n :% d)
1071.55 s
[really-safe-money-gen] - | n < 0 = (\(DecimalLiteral _ m e) -> DecimalLiteral ( J u s t F a ls e ) m e) <$> fromRatio (fromIntegral (abs n) % fromIntegral d)
1071.55 s
[really-safe-money-gen] + | n < 0 = (\(DecimalLiteral _ m e) -> DecimalLiteral ( N o t h in g ) m e) <$> fromRatio (fromIntegral (abs n) % fromIntegral d)
1071.55 s
[really-safe-money-gen] | otherwise = fromRatio (fromIntegral n % fromIntegral d)
1071.55 s
[really-safe-money-gen]
1071.55 s
[really-safe-money-gen] -- | Turn a 'DecimalLiteral' into a 'Rational'
1071.55 s
[really-safe-money-gen] Testing mutation Arith at src/Numeric/DecimalLiteral.hs:269:37-43
1071.55 s
[really-safe-money-gen] @@ -266,7 +266,7 @@
1071.55 s
[really-safe-money-gen] | e >= l = Nothing
1071.55 s
[really-safe-money-gen] | n < d =
1071.55 s
[really-safe-money-gen] let !ns' = S.insert n ns
1071.55 s
[really-safe-money-gen] - in longDivWithLimit (c * 10) (succ e) ns' (n * 10)
1071.55 s
[really-safe-money-gen] + in longDivWithLimit (c + 10) (succ e) ns' (n * 10)
1071.55 s
[really-safe-money-gen] | otherwise =
1071.55 s
[really-safe-money-gen] let (q, r') = n `quotRem` d
1071.55 s
[really-safe-money-gen] in longDivWithLimit (c + q) e ns r'
1071.55 s
[really-safe-money-gen] Testing mutation ListLit at src/Numeric/DecimalLiteral.hs:186:15-25
1071.55 s
[really-safe-money-gen] @@ -183,7 +183,6 @@
1071.55 s
[really-safe-money-gen]
1071.55 s
[really-safe-money-gen] goFrac m e = reverse (go e (reverse (show m)))
1071.55 s
[really-safe-money-gen] go :: Word8 -> String -> String
1071.55 s
[really-safe-money-gen] - go 0 [] = ['.', '0']
1071.55 s
[really-safe-money-gen] go 0 s = '.' : s
1071.55 s
[really-safe-money-gen] go e [] = '0' : go (pred e) []
1071.55 s
[really-safe-money-gen] go e (c : cs) = c : go (pred e) cs
1071.55 s
[really-safe-money-gen] Testing mutation IntLit at src/Numeric/DecimalLiteral.hs:145:28-30
1071.55 s
[really-safe-money-gen] @@ -142,7 +142,7 @@
1071.55 s
[really-safe-money-gen] parseDigits :: (a -> Int -> Maybe a) -> a -> ReadP a
1071.55 s
[really-safe-money-gen] parseDigits f z = do
1071.55 s
[really-safe-money-gen] c <- ReadP.satisfy Char.isDigit
1071.55 s
[really-safe-money-gen] - let digit = Char.ord c - 4 8
1071.56 s
[really-safe-money-gen] + let digit = Char.ord c - 0
1071.56 s
[really-safe-money-gen] case f z digit of
1071.56 s
[really-safe-money-gen] Nothing -> fail "Failed to step the first digit"
1071.56 s
[really-safe-money-gen] Just a -> ReadP.look >>= go a
1071.56 s
[really-safe-money-gen] Testing mutation IntLit at src/Numeric/DecimalLiteral.hs:145:28-30
1071.56 s
[really-safe-money-gen] @@ -142,7 +142,7 @@
1071.56 s
[really-safe-money-gen] parseDigits :: (a -> Int -> Maybe a) -> a -> ReadP a
1071.56 s
[really-safe-money-gen] parseDigits f z = do
1071.56 s
[really-safe-money-gen] c <- ReadP.satisfy Char.isDigit
1071.56 s
[really-safe-money-gen] - let digit = Char.ord c - 4 8
1071.56 s
[really-safe-money-gen] + let digit = Char.ord c - 1
1071.56 s
[really-safe-money-gen] case f z digit of
1071.56 s
[really-safe-money-gen] Nothing -> fail "Failed to step the first digit"
1071.56 s
[really-safe-money-gen] Just a -> ReadP.look >>= go a
1071.56 s
[really-safe-money-gen] Testing mutation ListLit at src/Numeric/DecimalLiteral.hs:186:15-25
1071.56 s
[really-safe-money-gen] @@ -183,7 +183,6 @@
1071.56 s
[really-safe-money-gen]
1071.56 s
[really-safe-money-gen] goFrac m e = reverse (go e (reverse (show m)))
1071.56 s
[really-safe-money-gen] go :: Word8 -> String -> String
1071.56 s
[really-safe-money-gen] - go 0 [] = ['.', '0']
1071.56 s
[really-safe-money-gen] go 0 s = '.' : s
1071.56 s
[really-safe-money-gen] go e [] = '0' : go (pred e) []
1071.56 s
[really-safe-money-gen] go e (c : cs) = c : go (pred e) cs
1071.56 s
[really-safe-money-gen] Testing mutation ConstBool at src/Numeric/DecimalLiteral.hs:152:9-23
1071.56 s
[really-safe-money-gen] @@ -149,7 +149,7 @@
1071.56 s
[really-safe-money-gen] where
1071.56 s
[really-safe-money-gen] go !a [] = return a
1071.56 s
[really-safe-money-gen] go !a (c : cs)
1071.56 s
[really-safe-money-gen] - | C h a r .isD igit c = do
1071.56 s
[really-safe-money-gen] + | T r u e = do
1071.56 s
[really-safe-money-gen] _ <- ReadP.get
1071.56 s
[really-safe-money-gen] let digit = Char.ord c - 48
1071.56 s
[really-safe-money-gen] case f a digit of
1071.56 s
[really-safe-money-gen] Testing mutation Negate at src/Numeric/DecimalLiteral.hs:152:9-23
1071.56 s
[really-safe-money-gen] @@ -149,7 +149,7 @@
1071.56 s
[really-safe-money-gen] where
1071.56 s
[really-safe-money-gen] go !a [] = return a
1071.56 s
[really-safe-money-gen] go !a (c : cs)
1071.56 s
[really-safe-money-gen] - | Char.isDigit c = do
1071.56 s
[really-safe-money-gen] + | n o t ( Char.isDigit c ) = do
1071.56 s
[really-safe-money-gen] _ <- ReadP.get
1071.56 s
[really-safe-money-gen] let digit = Char.ord c - 48
1071.56 s
[really-safe-money-gen] case f a digit of
1071.57 s
[really-safe-money-gen] Testing mutation Arith at src/Numeric/DecimalLiteral.hs:154:23-38
1071.57 s
[really-safe-money-gen] @@ -151,7 +151,7 @@
1071.57 s
[really-safe-money-gen] go !a (c : cs)
1071.57 s
[really-safe-money-gen] | Char.isDigit c = do
1071.57 s
[really-safe-money-gen] _ <- ReadP.get
1071.57 s
[really-safe-money-gen] - let digit = Char.ord c - 48
1071.57 s
[really-safe-money-gen] + let digit = Char.ord c * 48
1071.57 s
[really-safe-money-gen] case f a digit of
1071.57 s
[really-safe-money-gen] Nothing -> fail "Failed to step the digit"
1071.57 s
[really-safe-money-gen] Just a' -> go a' cs
1071.57 s
[really-safe-money-gen] Testing mutation Arith at src/Numeric/DecimalLiteral.hs:154:23-38
1071.57 s
[really-safe-money-gen] @@ -151,7 +151,7 @@
1071.57 s
[really-safe-money-gen] go !a (c : cs)
1071.57 s
[really-safe-money-gen] | Char.isDigit c = do
1071.57 s
[really-safe-money-gen] _ <- ReadP.get
1071.57 s
[really-safe-money-gen] - let digit = Char.ord c - 48
1071.57 s
[really-safe-money-gen] + let digit = Char.ord c + 48
1071.57 s
[really-safe-money-gen] case f a digit of
1071.57 s
[really-safe-money-gen] Nothing -> fail "Failed to step the digit"
1071.57 s
[really-safe-money-gen] Just a' -> go a' cs
1071.57 s
[really-safe-money-gen] Testing mutation IntLit at src/Numeric/DecimalLiteral.hs:154:36-38
1071.57 s
[really-safe-money-gen] @@ -151,7 +151,7 @@
1071.57 s
[really-safe-money-gen] go !a (c : cs)
1071.57 s
[really-safe-money-gen] | Char.isDigit c = do
1071.57 s
[really-safe-money-gen] _ <- ReadP.get
1071.57 s
[really-safe-money-gen] - let digit = Char.ord c - 48
1071.57 s
[really-safe-money-gen] + let digit = Char.ord c - - 48
1071.57 s
[really-safe-money-gen] case f a digit of
1071.57 s
[really-safe-money-gen] Nothing -> fail "Failed to step the digit"
1071.57 s
[really-safe-money-gen] Just a' -> go a' cs
1071.57 s
[really-safe-money-gen] Testing mutation Arith at src/Numeric/DecimalLiteral.hs:139:23-29
1071.57 s
[really-safe-money-gen] @@ -136,7 +136,7 @@
1071.57 s
[really-safe-money-gen] stepFraction (m, e) digit = Just (m * 10 + fromIntegral digit, succ e)
1071.57 s
[really-safe-money-gen]
1071.57 s
[really-safe-money-gen] step :: Natural -> Int -> Maybe Natural
1071.57 s
[really-safe-money-gen] - step a digit = Just $ a * 10 + fromIntegral digit
1071.57 s
[really-safe-money-gen] + step a digit = Just $ a + 10 + fromIntegral digit
1071.57 s
[really-safe-money-gen] {-# INLINE step #-}
1071.57 s
[really-safe-money-gen]
1071.57 s
[really-safe-money-gen] parseDigits :: (a -> Int -> Maybe a) -> a -> ReadP a
1071.57 s
[really-safe-money-gen] Testing mutation Arith at src/Numeric/DecimalLiteral.hs:139:23-29
1071.57 s
[really-safe-money-gen] @@ -136,7 +136,7 @@
1071.58 s
[really-safe-money-gen] stepFraction (m, e) digit = Just (m * 10 + fromIntegral digit, succ e)
1071.58 s
[really-safe-money-gen]
1071.58 s
[really-safe-money-gen] step :: Natural -> Int -> Maybe Natural
1071.58 s
[really-safe-money-gen] - step a digit = Just $ a * 10 + fromIntegral digit
1071.58 s
[really-safe-money-gen] + step a digit = Just $ a - 10 + fromIntegral digit
1071.58 s
[really-safe-money-gen] {-# INLINE step #-}
1071.58 s
[really-safe-money-gen]
1071.58 s
[really-safe-money-gen] parseDigits :: (a -> Int -> Maybe a) -> a -> ReadP a
1071.58 s
[really-safe-money-gen] Testing mutation IntLit at src/Numeric/DecimalLiteral.hs:236:41-44
1071.58 s
[really-safe-money-gen] @@ -233,7 +233,7 @@
1071.58 s
[really-safe-money-gen] -- >>> fromRatio (1 % 3)
1071.58 s
[really-safe-money-gen] -- Nothing
1071.58 s
[really-safe-money-gen] fromRatio :: Ratio Natural -> Maybe DecimalLiteral
1071.58 s
[really-safe-money-gen] - fromRatio = fromRationalRepetendLimited 2 5 6
1071.58 s
[really-safe-money-gen] + fromRatio = fromRationalRepetendLimited 1
1071.58 s
[really-safe-money-gen] where
1071.58 s
[really-safe-money-gen] fromRationalRepetendLimited ::
1071.58 s
[really-safe-money-gen] -- limit
1071.58 s
[really-safe-money-gen] Testing mutation Arith at src/Numeric/DecimalLiteral.hs:139:23-50
1071.58 s
[really-safe-money-gen] @@ -136,7 +136,7 @@
1071.58 s
[really-safe-money-gen] stepFraction (m, e) digit = Just (m * 10 + fromIntegral digit, succ e)
1071.58 s
[really-safe-money-gen]
1071.58 s
[really-safe-money-gen] step :: Natural -> Int -> Maybe Natural
1071.58 s
[really-safe-money-gen] - step a digit = Just $ a * 10 + fromIntegral digit
1071.58 s
[really-safe-money-gen] + step a digit = Just $ a * 10 - fromIntegral digit
1071.58 s
[really-safe-money-gen] {-# INLINE step #-}
1071.58 s
[really-safe-money-gen]
1071.58 s
[really-safe-money-gen] parseDigits :: (a -> Int -> Maybe a) -> a -> ReadP a
1071.58 s
[really-safe-money-gen] Testing mutation RemoveAction at src/Numeric/DecimalLiteral.hs:299:3-47
1071.58 s
[really-safe-money-gen] @@ -296,7 +296,6 @@
1071.58 s
[really-safe-money-gen] toWord :: DecimalLiteral -> Maybe Word
1071.58 s
[really-safe-money-gen] toWord dl = do
1071.58 s
[really-safe-money-gen] n <- toNatural dl
1071.58 s
[really-safe-money-gen] - guard $ n <= fromIntegral (maxBound :: Word)
1071.58 s
[really-safe-money-gen] pure $ fromIntegral n
1071.58 s
[really-safe-money-gen]
1071.58 s
[really-safe-money-gen] -- | Construct a 'DecimalLiteral' from a 'Natural'
1071.58 s
[really-safe-money-gen] Testing mutation IntLit at src/Numeric/DecimalLiteral.hs:136:39-41
1071.58 s
[really-safe-money-gen] @@ -133,7 +133,7 @@
1071.58 s
[really-safe-money-gen]
1071.58 s
[really-safe-money-gen] stepFraction :: (Natural, Word8) -> Int -> Maybe (Natural, Word8)
1071.58 s
[really-safe-money-gen] stepFraction (_, 255) _ = Nothing
1071.58 s
[really-safe-money-gen] - stepFraction (m, e) digit = Just (m * 1 0 + fromIntegral digit, succ e)
1075.63 s
[really-safe-money-gen] + stepFraction (m, e) digit = Just (m * 0 + fromIntegral digit, succ e)
1075.63 s
[really-safe-money-gen]
1075.70 s
[really-safe-money-gen] step :: Natural -> Int -> Maybe Natural
1075.70 s
[really-safe-money-gen] step a digit = Just $ a * 10 + fromIntegral digit
1075.70 s
[really-safe-money-gen] Testing mutation Arith at src/Numeric/DecimalLiteral.hs:139:23-50
1075.70 s
[really-safe-money-gen] @@ -136,7 +136,7 @@
1075.71 s
[really-safe-money-gen] stepFraction (m, e) digit = Just (m * 10 + fromIntegral digit, succ e)
1075.71 s
[really-safe-money-gen]
1075.71 s
[really-safe-money-gen] step :: Natural -> Int -> Maybe Natural
1075.71 s
[really-safe-money-gen] - step a digit = Just $ a * 10 + fromIntegral digit
1075.71 s
[really-safe-money-gen] + step a digit = Just $ a * 10 * fromIntegral digit
1075.71 s
[really-safe-money-gen] {-# INLINE step #-}
1075.71 s
[really-safe-money-gen]
1075.71 s
[really-safe-money-gen] parseDigits :: (a -> Int -> Maybe a) -> a -> ReadP a
1075.71 s
[really-safe-money-gen] Testing mutation IntLit at src/Numeric/DecimalLiteral.hs:136:39-41
1075.71 s
[really-safe-money-gen] @@ -133,7 +133,7 @@
1075.71 s
[really-safe-money-gen]
1075.71 s
[really-safe-money-gen] stepFraction :: (Natural, Word8) -> Int -> Maybe (Natural, Word8)
1075.71 s
[really-safe-money-gen] stepFraction (_, 255) _ = Nothing
1075.71 s
[really-safe-money-gen] - stepFraction (m, e) digit = Just (m * 1 0 + fromIntegral digit, succ e)
1075.71 s
[really-safe-money-gen] + stepFraction (m, e) digit = Just (m * 1 + fromIntegral digit, succ e)
1075.71 s
[really-safe-money-gen]
1075.71 s
[really-safe-money-gen] step :: Natural -> Int -> Maybe Natural
1075.71 s
[really-safe-money-gen] step a digit = Just $ a * 10 + fromIntegral digit
1075.71 s
[really-safe-money-gen] Testing mutation Arith at src/Numeric/DecimalLiteral.hs:136:35-62
1075.71 s
[really-safe-money-gen] @@ -133,7 +133,7 @@
1075.71 s
[really-safe-money-gen]
1075.71 s
[really-safe-money-gen] stepFraction :: (Natural, Word8) -> Int -> Maybe (Natural, Word8)
1075.71 s
[really-safe-money-gen] stepFraction (_, 255) _ = Nothing
1075.71 s
[really-safe-money-gen] - stepFraction (m, e) digit = Just (m * 10 + fromIntegral digit, succ e)
1075.71 s
[really-safe-money-gen] + stepFraction (m, e) digit = Just (m * 10 - fromIntegral digit, succ e)
1075.71 s
[really-safe-money-gen]
1075.71 s
[really-safe-money-gen] step :: Natural -> Int -> Maybe Natural
1075.71 s
[really-safe-money-gen] step a digit = Just $ a * 10 + fromIntegral digit
1075.72 s
[really-safe-money-gen] Testing mutation Arith at src/Numeric/DecimalLiteral.hs:136:35-62
1075.72 s
[really-safe-money-gen] @@ -133,7 +133,7 @@
1075.72 s
[really-safe-money-gen]
1075.72 s
[really-safe-money-gen] stepFraction :: (Natural, Word8) -> Int -> Maybe (Natural, Word8)
1075.72 s
[really-safe-money-gen] stepFraction (_, 255) _ = Nothing
1075.72 s
[really-safe-money-gen] - stepFraction (m, e) digit = Just (m * 10 + fromIntegral digit, succ e)
1075.72 s
[really-safe-money-gen] + stepFraction (m, e) digit = Just (m * 10 * fromIntegral digit, succ e)
1075.72 s
[really-safe-money-gen]
1075.72 s
[really-safe-money-gen] step :: Natural -> Int -> Maybe Natural
1075.72 s
[really-safe-money-gen] step a digit = Just $ a * 10 + fromIntegral digit
1075.72 s
[really-safe-money-gen] Testing mutation MaybeOp at src/Numeric/DecimalLiteral.hs:136:29-71
1075.72 s
[really-safe-money-gen] @@ -133,7 +133,7 @@
1075.72 s
[really-safe-money-gen]
1075.72 s
[really-safe-money-gen] stepFraction :: (Natural, Word8) -> Int -> Maybe (Natural, Word8)
1075.72 s
[really-safe-money-gen] stepFraction (_, 255) _ = Nothing
1075.72 s
[really-safe-money-gen] - stepFraction (m, e) digit = J u st (m * 10 + fr o m In t egral d i g i t, succ e)
1075.72 s
[really-safe-money-gen] + stepFraction (m, e) digit = N o t h i n g
1075.72 s
[really-safe-money-gen]
1075.72 s
[really-safe-money-gen] step :: Natural -> Int -> Maybe Natural
1075.72 s
[really-safe-money-gen] step a digit = Just $ a * 10 + fromIntegral digit
1075.72 s
[really-safe-money-gen] Testing mutation ConstBool at src/Numeric/DecimalLiteral.hs:119:22-30
1075.72 s
[really-safe-money-gen] @@ -116,7 +116,7 @@
1075.72 s
[really-safe-money-gen] decimalLiteralP :: ReadP DecimalLiteral
1075.72 s
[really-safe-money-gen] decimalLiteralP = do
1075.72 s
[really-safe-money-gen] let isSignChar :: Char -> Bool
1075.72 s
[really-safe-money-gen] - isSignChar c = c = = ' - ' || c == '+'
1075.72 s
[really-safe-money-gen] + isSignChar c = T ru e || c == '+'
1075.72 s
[really-safe-money-gen]
1075.72 s
[really-safe-money-gen] mSign <- ReadP.option Nothing $ do
1075.72 s
[really-safe-money-gen] signChar <- ReadP.satisfy isSignChar
1075.72 s
[really-safe-money-gen] Testing mutation ConstBool at src/Numeric/DecimalLiteral.hs:119:22-30
1075.72 s
[really-safe-money-gen] @@ -116,7 +116,7 @@
1075.72 s
[really-safe-money-gen] decimalLiteralP :: ReadP DecimalLiteral
1075.72 s
[really-safe-money-gen] decimalLiteralP = do
1075.72 s
[really-safe-money-gen] let isSignChar :: Char -> Bool
1075.72 s
[really-safe-money-gen] - isSignChar c = c = = ' -' || c == '+'
1075.73 s
[really-safe-money-gen] + isSignChar c = F a ls e || c == '+'
1075.73 s
[really-safe-money-gen]
1075.73 s
[really-safe-money-gen] mSign <- ReadP.option Nothing $ do
1075.73 s
[really-safe-money-gen] signChar <- ReadP.satisfy isSignChar
1075.73 s
[really-safe-money-gen] Testing mutation ConstBool at src/Numeric/DecimalLiteral.hs:119:34-42
1075.73 s
[really-safe-money-gen] @@ -116,7 +116,7 @@
1075.73 s
[really-safe-money-gen] decimalLiteralP :: ReadP DecimalLiteral
1075.73 s
[really-safe-money-gen] decimalLiteralP = do
1075.73 s
[really-safe-money-gen] let isSignChar :: Char -> Bool
1075.73 s
[really-safe-money-gen] - isSignChar c = c == '-' || c == ' + '
1075.73 s
[really-safe-money-gen] + isSignChar c = c == '-' || T rue
1075.73 s
[really-safe-money-gen]
1075.73 s
[really-safe-money-gen] mSign <- ReadP.option Nothing $ do
1075.73 s
[really-safe-money-gen] signChar <- ReadP.satisfy isSignChar
1075.73 s
[really-safe-money-gen] Testing mutation Negate at src/Numeric/DecimalLiteral.hs:119:22-30
1075.73 s
[really-safe-money-gen] @@ -116,7 +116,7 @@
1075.73 s
[really-safe-money-gen] decimalLiteralP :: ReadP DecimalLiteral
1075.73 s
[really-safe-money-gen] decimalLiteralP = do
1075.73 s
[really-safe-money-gen] let isSignChar :: Char -> Bool
1075.73 s
[really-safe-money-gen] - isSignChar c = c == '-' || c == '+'
1075.73 s
[really-safe-money-gen] + isSignChar c = n o t ( c == '-' ) || c == '+'
1075.73 s
[really-safe-money-gen]
1075.73 s
[really-safe-money-gen] mSign <- ReadP.option Nothing $ do
1075.73 s
[really-safe-money-gen] signChar <- ReadP.satisfy isSignChar
1075.73 s
[really-safe-money-gen] Testing mutation Arith at src/Numeric/DecimalLiteral.hs:136:35-41
1075.73 s
[really-safe-money-gen] @@ -133,7 +133,7 @@
1075.73 s
[really-safe-money-gen]
1075.73 s
[really-safe-money-gen] stepFraction :: (Natural, Word8) -> Int -> Maybe (Natural, Word8)
1075.73 s
[really-safe-money-gen] stepFraction (_, 255) _ = Nothing
1075.73 s
[really-safe-money-gen] - stepFraction (m, e) digit = Just (m * 10 + fromIntegral digit, succ e)
1075.73 s
[really-safe-money-gen] + stepFraction (m, e) digit = Just (m - 10 + fromIntegral digit, succ e)
1075.73 s
[really-safe-money-gen]
1075.73 s
[really-safe-money-gen] step :: Natural -> Int -> Maybe Natural
1075.73 s
[really-safe-money-gen] step a digit = Just $ a * 10 + fromIntegral digit
1075.73 s
[really-safe-money-gen] Testing mutation Arith at src/Numeric/DecimalLiteral.hs:136:35-41
1075.73 s
[really-safe-money-gen] @@ -133,7 +133,7 @@
1075.73 s
[really-safe-money-gen]
1075.73 s
[really-safe-money-gen] stepFraction :: (Natural, Word8) -> Int -> Maybe (Natural, Word8)
1075.73 s
[really-safe-money-gen] stepFraction (_, 255) _ = Nothing
1075.73 s
[really-safe-money-gen] - stepFraction (m, e) digit = Just (m * 10 + fromIntegral digit, succ e)
1075.73 s
[really-safe-money-gen] + stepFraction (m, e) digit = Just (m + 10 + fromIntegral digit, succ e)
1075.73 s
[really-safe-money-gen]
1075.73 s
[really-safe-money-gen] step :: Natural -> Int -> Maybe Natural
1075.73 s
[really-safe-money-gen] step a digit = Just $ a * 10 + fromIntegral digit
1075.73 s
[really-safe-money-gen] Testing mutation IntLit at src/Numeric/DecimalLiteral.hs:269:41-43
1075.73 s
[really-safe-money-gen] @@ -266,7 +266,7 @@
1075.73 s
[really-safe-money-gen] | e >= l = Nothing
1075.73 s
[really-safe-money-gen] | n < d =
1075.73 s
[really-safe-money-gen] let !ns' = S.insert n ns
1075.73 s
[really-safe-money-gen] - in longDivWithLimit (c * 1 0 ) (succ e) ns' (n * 10)
1075.73 s
[really-safe-money-gen] + in longDivWithLimit (c * 1 ) (succ e) ns' (n * 10)
1075.73 s
[really-safe-money-gen] | otherwise =
1075.73 s
[really-safe-money-gen] let (q, r') = n `quotRem` d
1075.73 s
[really-safe-money-gen] in longDivWithLimit (c + q) e ns r'
1075.74 s
[really-safe-money-gen] Testing mutation Negate at src/Numeric/DecimalLiteral.hs:119:34-42
1075.74 s
[really-safe-money-gen] @@ -116,7 +116,7 @@
1075.74 s
[really-safe-money-gen] decimalLiteralP :: ReadP DecimalLiteral
1075.74 s
[really-safe-money-gen] decimalLiteralP = do
1075.74 s
[really-safe-money-gen] let isSignChar :: Char -> Bool
1075.74 s
[really-safe-money-gen] - isSignChar c = c == '-' || c == '+'
1075.74 s
[really-safe-money-gen] + isSignChar c = c == '-' || n o t ( c == '+' )
1075.74 s
[really-safe-money-gen]
1075.74 s
[really-safe-money-gen] mSign <- ReadP.option Nothing $ do
1075.74 s
[really-safe-money-gen] signChar <- ReadP.satisfy isSignChar
1075.74 s
[really-safe-money-gen] Testing mutation ConstBool at src/Numeric/DecimalLiteral.hs:119:22-42
1075.74 s
[really-safe-money-gen] @@ -116,7 +116,7 @@
1075.74 s
[really-safe-money-gen] decimalLiteralP :: ReadP DecimalLiteral
1075.74 s
[really-safe-money-gen] decimalLiteralP = do
1075.74 s
[really-safe-money-gen] let isSignChar :: Char -> Bool
1075.74 s
[really-safe-money-gen] - isSignChar c = c == '-' || c == '+'
1075.74 s
[really-safe-money-gen] + isSignChar c = F a ls e
1075.74 s
[really-safe-money-gen]
1075.74 s
[really-safe-money-gen] mSign <- ReadP.option Nothing $ do
1075.74 s
[really-safe-money-gen] signChar <- ReadP.satisfy isSignChar
1075.74 s
[really-safe-money-gen] Testing mutation LogicOp at src/Numeric/DecimalLiteral.hs:119:22-42
1075.74 s
[really-safe-money-gen] @@ -116,7 +116,7 @@
1075.74 s
[really-safe-money-gen] decimalLiteralP :: ReadP DecimalLiteral
1075.74 s
[really-safe-money-gen] decimalLiteralP = do
1075.74 s
[really-safe-money-gen] let isSignChar :: Char -> Bool
1075.74 s
[really-safe-money-gen] - isSignChar c = c == '-' | | c == '+'
1075.74 s
[really-safe-money-gen] + isSignChar c = c == '-' & & c == '+'
1075.74 s
[really-safe-money-gen]
1075.74 s
[really-safe-money-gen] mSign <- ReadP.option Nothing $ do
1075.74 s
[really-safe-money-gen] signChar <- ReadP.satisfy isSignChar
1075.74 s
[really-safe-money-gen] Testing mutation Negate at src/Numeric/DecimalLiteral.hs:119:22-42
1075.74 s
[really-safe-money-gen] @@ -116,7 +116,7 @@
1075.74 s
[really-safe-money-gen] decimalLiteralP :: ReadP DecimalLiteral
1075.74 s
[really-safe-money-gen] decimalLiteralP = do
1075.74 s
[really-safe-money-gen] let isSignChar :: Char -> Bool
1075.74 s
[really-safe-money-gen] - isSignChar c = c == '-' || c == '+'
1075.74 s
[really-safe-money-gen] + isSignChar c = n o t ( c == '-' || c == '+' )
1075.74 s
[really-safe-money-gen]
1075.74 s
[really-safe-money-gen] mSign <- ReadP.option Nothing $ do
1075.74 s
[really-safe-money-gen] signChar <- ReadP.satisfy isSignChar
1075.74 s
[really-safe-money-gen] Testing mutation Negate at src/Numeric/DecimalLiteral.hs:266:13-19
1075.74 s
[really-safe-money-gen] @@ -263,7 +263,7 @@
1078.71 s
[really-safe-money-gen] -- If there's a repetend, we can't turn it into a decimal literal
1078.71 s
[really-safe-money-gen] | S.member n ns = Nothing
1078.71 s
[really-safe-money-gen] -- Over the limit, stop trying
1078.71 s
[really-safe-money-gen] - | e >= l = Nothing
1078.71 s
[really-safe-money-gen] + | n o t ( e >= l ) = Nothing
1078.71 s
[really-safe-money-gen] | n < d =
1078.71 s
[really-safe-money-gen] let !ns' = S.insert n ns
1078.71 s
[really-safe-money-gen] in longDivWithLimit (c * 10) (succ e) ns' (n * 10)
1078.71 s
[really-safe-money-gen] Testing mutation Negate at src/Numeric/DecimalLiteral.hs:267:13-18
1078.71 s
[really-safe-money-gen] @@ -264,7 +264,7 @@
1078.71 s
[really-safe-money-gen] | S.member n ns = Nothing
1078.71 s
[really-safe-money-gen] -- Over the limit, stop trying
1078.71 s
[really-safe-money-gen] | e >= l = Nothing
1078.72 s
[really-safe-money-gen] - | n < d =
1078.72 s
[really-safe-money-gen] + | n o t ( n < d ) =
1078.72 s
[really-safe-money-gen] let !ns' = S.insert n ns
1078.72 s
[really-safe-money-gen] in longDivWithLimit (c * 10) (succ e) ns' (n * 10)
1078.72 s
[really-safe-money-gen] | otherwise =
1078.72 s
[really-safe-money-gen] Testing mutation IntLit at src/Numeric/DecimalLiteral.hs:289:33-35
1078.72 s
[really-safe-money-gen] @@ -286,7 +286,7 @@
1078.72 s
[really-safe-money-gen] toRatio :: DecimalLiteral -> Maybe (Ratio Natural)
1078.72 s
[really-safe-money-gen] toRatio (DecimalLiteral mSign m e) = case mSign of
1078.72 s
[really-safe-money-gen] Just False -> Nothing
1078.72 s
[really-safe-money-gen] - _ -> Just $ fromIntegral m / ( 1 0 ^ e)
1078.72 s
[really-safe-money-gen] + _ -> Just $ fromIntegral m / ( 0 ^ e)
1078.72 s
[really-safe-money-gen]
1078.72 s
[really-safe-money-gen] -- | Construct a 'DecimalLiteral' from a 'Word'
1078.72 s
[really-safe-money-gen] fromWord :: Word -> DecimalLiteral
1078.72 s
[really-safe-money-gen] Testing mutation Arith at src/Numeric/DecimalLiteral.hs:370:30-58
1078.72 s
[really-safe-money-gen] @@ -367,7 +367,7 @@
1078.72 s
[really-safe-money-gen] currentDigits = digits dl
1078.72 s
[really-safe-money-gen] in if wantedDigits <= currentDigits
1078.72 s
[really-safe-money-gen] then dl
1078.72 s
[really-safe-money-gen] - else increaseDigits (wantedDigits - currentDigits) dl
1078.72 s
[really-safe-money-gen] + else increaseDigits (wantedDigits * currentDigits) dl
1078.72 s
[really-safe-money-gen] where
1078.72 s
[really-safe-money-gen] increaseDigits :: Word8 -> DecimalLiteral -> DecimalLiteral
1078.72 s
[really-safe-money-gen] increaseDigits 0 = id
1078.72 s
[really-safe-money-gen] Testing mutation BoolLit at src/Numeric/DecimalLiteral.hs:396:23-27
1078.72 s
[really-safe-money-gen] @@ -393,5 +393,5 @@
1078.72 s
[really-safe-money-gen] DecimalLiteral mS m e -> DecimalLiteral (go mS) m e
1078.72 s
[really-safe-money-gen] where
1078.72 s
[really-safe-money-gen] go = \case
1078.72 s
[really-safe-money-gen] - Nothing -> Just Tr u e
1078.72 s
[really-safe-money-gen] + Nothing -> Just F a ls e
1078.72 s
[really-safe-money-gen] s -> s
1078.72 s
[really-safe-money-gen] Testing mutation MaybeOp at src/Numeric/DecimalLiteral.hs:261:11-22
1078.73 s
[really-safe-money-gen] @@ -258,7 +258,7 @@
1078.73 s
[really-safe-money-gen] Natural ->
1078.73 s
[really-safe-money-gen] Maybe (Natural, Int)
1078.73 s
[really-safe-money-gen] longDivWithLimit !c !e _ns 0 =
1078.73 s
[really-safe-money-gen] - J u s t (c , e)
1078.73 s
[really-safe-money-gen] + N o t hing
1078.73 s
[really-safe-money-gen] longDivWithLimit !c !e ns !n
1078.73 s
[really-safe-money-gen] -- If there's a repetend, we can't turn it into a decimal literal
1078.73 s
[really-safe-money-gen] | S.member n ns = Nothing
1078.73 s
[really-safe-money-gen] Testing mutation Arith at src/Numeric/DecimalLiteral.hs:370:30-58
1078.73 s
[really-safe-money-gen] @@ -367,7 +367,7 @@
1078.73 s
[really-safe-money-gen] currentDigits = digits dl
1078.73 s
[really-safe-money-gen] in if wantedDigits <= currentDigits
1078.73 s
[really-safe-money-gen] then dl
1078.73 s
[really-safe-money-gen] - else increaseDigits (wantedDigits - currentDigits) dl
1078.73 s
[really-safe-money-gen] + else increaseDigits (wantedDigits + currentDigits) dl
1078.73 s
[really-safe-money-gen] where
1078.73 s
[really-safe-money-gen] increaseDigits :: Word8 -> DecimalLiteral -> DecimalLiteral
1078.73 s
[really-safe-money-gen] increaseDigits 0 = id
1078.73 s
[really-safe-money-gen] Testing mutation IntLit at src/Numeric/DecimalLiteral.hs:139:27-29
1078.73 s
[really-safe-money-gen] @@ -136,7 +136,7 @@
1078.73 s
[really-safe-money-gen] stepFraction (m, e) digit = Just (m * 10 + fromIntegral digit, succ e)
1078.73 s
[really-safe-money-gen]
1078.73 s
[really-safe-money-gen] step :: Natural -> Int -> Maybe Natural
1078.73 s
[really-safe-money-gen] - step a digit = Just $ a * 1 0 + fromIntegral digit
1078.73 s
[really-safe-money-gen] + step a digit = Just $ a * 0 + fromIntegral digit
1078.73 s
[really-safe-money-gen] {-# INLINE step #-}
1078.73 s
[really-safe-money-gen]
1078.73 s
[really-safe-money-gen] parseDigits :: (a -> Int -> Maybe a) -> a -> ReadP a
1078.73 s
[really-safe-money-gen] Testing mutation IntLit at src/Numeric/DecimalLiteral.hs:139:27-29
1078.73 s
[really-safe-money-gen] @@ -136,7 +136,7 @@
1078.73 s
[really-safe-money-gen] stepFraction (m, e) digit = Just (m * 10 + fromIntegral digit, succ e)
1078.73 s
[really-safe-money-gen]
1078.73 s
[really-safe-money-gen] step :: Natural -> Int -> Maybe Natural
1078.73 s
[really-safe-money-gen] - step a digit = Just $ a * 1 0 + fromIntegral digit
1078.73 s
[really-safe-money-gen] + step a digit = Just $ a * 1 + fromIntegral digit
1078.73 s
[really-safe-money-gen] {-# INLINE step #-}
1078.73 s
[really-safe-money-gen]
1078.73 s
[really-safe-money-gen] parseDigits :: (a -> Int -> Maybe a) -> a -> ReadP a
1078.73 s
[really-safe-money-gen] Testing mutation IntLit at src/Numeric/DecimalLiteral.hs:145:28-30
1078.73 s
[really-safe-money-gen] @@ -142,7 +142,7 @@
1078.73 s
[really-safe-money-gen] parseDigits :: (a -> Int -> Maybe a) -> a -> ReadP a
1078.73 s
[really-safe-money-gen] parseDigits f z = do
1078.73 s
[really-safe-money-gen] c <- ReadP.satisfy Char.isDigit
1078.73 s
[really-safe-money-gen] - let digit = Char.ord c - 48
1078.73 s
[really-safe-money-gen] + let digit = Char.ord c - - 48
1078.73 s
[really-safe-money-gen] case f z digit of
1078.73 s
[really-safe-money-gen] Nothing -> fail "Failed to step the first digit"
1078.73 s
[really-safe-money-gen] Just a -> ReadP.look >>= go a
1078.73 s
[really-safe-money-gen] Testing mutation IntLit at src/Numeric/DecimalLiteral.hs:130:48-49
1078.73 s
[really-safe-money-gen] @@ -127,7 +127,7 @@
1078.73 s
[really-safe-money-gen] ReadP.option (DecimalLiteral mSign units 0) $ do
1078.73 s
[really-safe-money-gen] _ <- ReadP.satisfy (== '.')
1078.73 s
[really-safe-money-gen]
1078.73 s
[really-safe-money-gen] - (m, e) <- parseDigits stepFraction (units, 0 )
1078.73 s
[really-safe-money-gen] + (m, e) <- parseDigits stepFraction (units, 1 )
1078.73 s
[really-safe-money-gen]
1078.73 s
[really-safe-money-gen] pure $ DecimalLiteral mSign m e
1078.73 s
[really-safe-money-gen]
1078.73 s
[really-safe-money-gen] Testing mutation IntLit at src/Numeric/DecimalLiteral.hs:125:29-30
1078.74 s
[really-safe-money-gen] @@ -122,7 +122,7 @@
1078.74 s
[really-safe-money-gen] signChar <- ReadP.satisfy isSignChar
1078.74 s
[really-safe-money-gen] pure $ Just $ signChar == '+'
1078.74 s
[really-safe-money-gen]
1078.74 s
[really-safe-money-gen] - units <- parseDigits step 0
1078.74 s
[really-safe-money-gen] + units <- parseDigits step 1
1078.74 s
[really-safe-money-gen]
1078.74 s
[really-safe-money-gen] ReadP.option (DecimalLiteral mSign units 0) $ do
1078.74 s
[really-safe-money-gen] _ <- ReadP.satisfy (== '.')
1078.74 s
[really-safe-money-gen] Testing mutation RemoveCase at src/Numeric/DecimalLiteral.hs:112:17-21
1078.74 s
[really-safe-money-gen] @@ -109,9 +109,8 @@
1078.74 s
[really-safe-money-gen]
1078.74 s
[really-safe-money-gen] -- | Like 'fromString' but in a 'MonadFail'
1078.74 s
[really-safe-money-gen] fromStringM :: (MonadFail m) => String -> m DecimalLiteral
1078.74 s
[really-safe-money-gen] fromStringM s = case Numeric.DecimalLiteral.fromString s of
1078.74 s
[really-safe-money-gen] - Nothing -> fail $ "Failed to parse decimal literal from: " <> show s
1078.74 s
[really-safe-money-gen] Just dl -> pure dl
1078.74 s
[really-safe-money-gen]
1078.74 s
[really-safe-money-gen] decimalLiteralP :: ReadP DecimalLiteral
1078.74 s
[really-safe-money-gen] decimalLiteralP = do
1078.74 s
[really-safe-money-gen] Testing mutation RemoveCase at src/Numeric/DecimalLiteral.hs:112:17-21
1078.74 s
[really-safe-money-gen] @@ -109,9 +109,8 @@
1078.74 s
[really-safe-money-gen]
1078.74 s
[really-safe-money-gen] -- | Like 'fromString' but in a 'MonadFail'
1078.74 s
[really-safe-money-gen] fromStringM :: (MonadFail m) => String -> m DecimalLiteral
1078.74 s
[really-safe-money-gen] fromStringM s = case Numeric.DecimalLiteral.fromString s of
1078.74 s
[really-safe-money-gen] Nothing -> fail $ "Failed to parse decimal literal from: " <> show s
1078.74 s
[really-safe-money-gen] - Just dl -> pure dl
1078.74 s
[really-safe-money-gen]
1078.74 s
[really-safe-money-gen] decimalLiteralP :: ReadP DecimalLiteral
1078.74 s
[really-safe-money-gen] decimalLiteralP = do
1078.74 s
[really-safe-money-gen] Testing mutation ConstBool at src/Numeric/DecimalLiteral.hs:123:19-34
1078.74 s
[really-safe-money-gen] @@ -120,7 +120,7 @@
1078.74 s
[really-safe-money-gen]
1078.74 s
[really-safe-money-gen] mSign <- ReadP.option Nothing $ do
1078.74 s
[really-safe-money-gen] signChar <- ReadP.satisfy isSignChar
1078.74 s
[really-safe-money-gen] - pure $ Just $ s i gn Ch a r == '+ '
1078.74 s
[really-safe-money-gen] + pure $ Just $ T r u e
1078.74 s
[really-safe-money-gen]
1078.74 s
[really-safe-money-gen] units <- parseDigits step 0
1078.74 s
[really-safe-money-gen]
1078.74 s
[really-safe-money-gen] Testing mutation RemoveCase at src/Numeric/DecimalLiteral.hs:86:18-18
1078.74 s
[really-safe-money-gen] @@ -83,9 +83,8 @@
1078.74 s
[really-safe-money-gen] instance NFData DecimalLiteral
1078.74 s
[really-safe-money-gen]
1078.74 s
[really-safe-money-gen] instance IsString DecimalLiteral where
1078.74 s
[really-safe-money-gen] fromString s = case Numeric.DecimalLiteral.fromString s of
1078.74 s
[really-safe-money-gen] - Nothing -> error $ "Invalid DecimalLiteral: " <> show s
1078.74 s
[really-safe-money-gen] Just dl -> dl
1078.74 s
[really-safe-money-gen]
1078.74 s
[really-safe-money-gen] -- | Parse a decimal literal from a string
1078.74 s
[really-safe-money-gen] --
1078.74 s
[really-safe-money-gen] Testing mutation RemoveCase at src/Numeric/DecimalLiteral.hs:86:18-18
1078.74 s
[really-safe-money-gen] @@ -83,9 +83,8 @@
1078.74 s
[really-safe-money-gen] instance NFData DecimalLiteral
1078.74 s
[really-safe-money-gen]
1078.74 s
[really-safe-money-gen] instance IsString DecimalLiteral where
1078.74 s
[really-safe-money-gen] fromString s = case Numeric.DecimalLiteral.fromString s of
1078.74 s
[really-safe-money-gen] Nothing -> error $ "Invalid DecimalLiteral: " <> show s
1078.74 s
[really-safe-money-gen] - Just dl -> dl
1078.74 s
[really-safe-money-gen]
1078.74 s
[really-safe-money-gen] -- | Parse a decimal literal from a string
1078.74 s
[really-safe-money-gen] --
1078.74 s
[really-safe-money-gen] Testing mutation ConstBool at src/Numeric/DecimalLiteral.hs:119:22-42
1078.74 s
[really-safe-money-gen] @@ -116,7 +116,7 @@
1078.74 s
[really-safe-money-gen] decimalLiteralP :: ReadP DecimalLiteral
1078.74 s
[really-safe-money-gen] decimalLiteralP = do
1078.74 s
[really-safe-money-gen] let isSignChar :: Char -> Bool
1078.74 s
[really-safe-money-gen] - isSignChar c = c == '- ' | | c = = ' + '
1078.74 s
[really-safe-money-gen] + isSignChar c = T rue
1078.74 s
[really-safe-money-gen]
1078.74 s
[really-safe-money-gen] mSign <- ReadP.option Nothing $ do
1078.74 s
[really-safe-money-gen] signChar <- ReadP.satisfy isSignChar
1078.74 s
[really-safe-money-gen] Testing mutation RemoveCase at src/Money/AccountOf.hs:180:30-115
1078.74 s
[really-safe-money-gen] @@ -177,11 +177,10 @@
1078.74 s
[really-safe-money-gen]
1078.74 s
[really-safe-money-gen] -- | See 'Account.distribute'
1078.74 s
[really-safe-money-gen] distribute :: AccountOf currency -> Word16 -> AccountDistributionOf currency
1078.74 s
[really-safe-money-gen] distribute (AccountOf a) w = case Account.distribute a w of
1078.74 s
[really-safe-money-gen] - DistributedIntoZeroChunks -> DistributedIntoZeroChunks
1078.74 s
[really-safe-money-gen] DistributedZero -> DistributedZero
1084.36 s
[really-safe-money-gen] DistributedIntoEqualChunks w' a' -> DistributedIntoEqualChunks w' (fromAccount a')
1084.36 s
[really-safe-money-gen] DistributedIntoUnequalChunks w1 a1 w2 a2 -> DistributedIntoUnequalChunks w1 (fromAccount a1) w2 (fromAccount a2)
1084.39 s
[really-safe-money-gen]
1084.39 s
[really-safe-money-gen] -- | The result of 'distribute'
1084.39 s
[really-safe-money-gen] type AccountDistributionOf (currency :: k) = Distribution (AccountOf currency)
1084.39 s
[really-safe-money-gen] Testing mutation ConstBool at src/Numeric/DecimalLiteral.hs:119:34-42
1084.39 s
[really-safe-money-gen] @@ -116,7 +116,7 @@
1084.39 s
[really-safe-money-gen] decimalLiteralP :: ReadP DecimalLiteral
1084.39 s
[really-safe-money-gen] decimalLiteralP = do
1084.39 s
[really-safe-money-gen] let isSignChar :: Char -> Bool
1084.39 s
[really-safe-money-gen] - isSignChar c = c == '-' || c == '+'
1084.39 s
[really-safe-money-gen] + isSignChar c = c == '-' || F a ls e
1084.39 s
[really-safe-money-gen]
1084.39 s
[really-safe-money-gen] mSign <- ReadP.option Nothing $ do
1084.39 s
[really-safe-money-gen] signChar <- ReadP.satisfy isSignChar
1084.39 s
[really-safe-money-gen] Testing mutation RemoveCase at src/Money/AccountOf.hs:180:30-115
1084.39 s
[really-safe-money-gen] @@ -177,11 +177,10 @@
1084.39 s
[really-safe-money-gen]
1084.39 s
[really-safe-money-gen] -- | See 'Account.distribute'
1084.39 s
[really-safe-money-gen] distribute :: AccountOf currency -> Word16 -> AccountDistributionOf currency
1084.39 s
[really-safe-money-gen] distribute (AccountOf a) w = case Account.distribute a w of
1084.39 s
[really-safe-money-gen] DistributedIntoZeroChunks -> DistributedIntoZeroChunks
1084.39 s
[really-safe-money-gen] - DistributedZero -> DistributedZero
1084.40 s
[really-safe-money-gen] DistributedIntoEqualChunks w' a' -> DistributedIntoEqualChunks w' (fromAccount a')
1084.40 s
[really-safe-money-gen] DistributedIntoUnequalChunks w1 a1 w2 a2 -> DistributedIntoUnequalChunks w1 (fromAccount a1) w2 (fromAccount a2)
1084.40 s
[really-safe-money-gen]
1084.40 s
[really-safe-money-gen] -- | The result of 'distribute'
1084.40 s
[really-safe-money-gen] type AccountDistributionOf (currency :: k) = Distribution (AccountOf currency)
1084.40 s
[really-safe-money-gen] Testing mutation Negate at src/Numeric/DecimalLiteral.hs:123:19-34
1084.40 s
[really-safe-money-gen] @@ -120,7 +120,7 @@
1084.40 s
[really-safe-money-gen]
1084.40 s
[really-safe-money-gen] mSign <- ReadP.option Nothing $ do
1084.40 s
[really-safe-money-gen] signChar <- ReadP.satisfy isSignChar
1084.40 s
[really-safe-money-gen] - pure $ Just $ signChar == '+'
1084.40 s
[really-safe-money-gen] + pure $ Just $ n o t ( signChar == '+' )
1084.40 s
[really-safe-money-gen]
1084.40 s
[really-safe-money-gen] units <- parseDigits step 0
1084.40 s
[really-safe-money-gen]
1084.40 s
[really-safe-money-gen] Testing mutation IntLit at src/Numeric/DecimalLiteral.hs:154:36-38
1084.40 s
[really-safe-money-gen] @@ -151,7 +151,7 @@
1084.40 s
[really-safe-money-gen] go !a (c : cs)
1084.40 s
[really-safe-money-gen] | Char.isDigit c = do
1084.40 s
[really-safe-money-gen] _ <- ReadP.get
1084.40 s
[really-safe-money-gen] - let digit = Char.ord c - 4 8
1084.40 s
[really-safe-money-gen] + let digit = Char.ord c - 1
1084.40 s
[really-safe-money-gen] case f a digit of
1084.40 s
[really-safe-money-gen] Nothing -> fail "Failed to step the digit"
1084.40 s
[really-safe-money-gen] Just a' -> go a' cs
1084.40 s
[really-safe-money-gen] Testing mutation IntLit at src/Numeric/DecimalLiteral.hs:236:41-44
1084.40 s
[really-safe-money-gen] @@ -233,7 +233,7 @@
1084.40 s
[really-safe-money-gen] -- >>> fromRatio (1 % 3)
1084.40 s
[really-safe-money-gen] -- Nothing
1084.40 s
[really-safe-money-gen] fromRatio :: Ratio Natural -> Maybe DecimalLiteral
1084.40 s
[really-safe-money-gen] - fromRatio = fromRationalRepetendLimited 256
1084.40 s
[really-safe-money-gen] + fromRatio = fromRationalRepetendLimited - 256
1084.40 s
[really-safe-money-gen] where
1084.40 s
[really-safe-money-gen] fromRationalRepetendLimited ::
1084.40 s
[really-safe-money-gen] -- limit
1084.41 s
[really-safe-money-gen] Testing mutation RemoveCase at src/Numeric/DecimalLiteral.hs:287:38-40
1084.41 s
[really-safe-money-gen] @@ -284,9 +284,8 @@
1084.41 s
[really-safe-money-gen] -- >>> toRatio (DecimalLiteral (Just False) 3 1)
1084.41 s
[really-safe-money-gen] -- Nothing
1084.41 s
[really-safe-money-gen] toRatio :: DecimalLiteral -> Maybe (Ratio Natural)
1084.41 s
[really-safe-money-gen] toRatio (DecimalLiteral mSign m e) = case mSign of
1084.41 s
[really-safe-money-gen] - Just False -> Nothing
1084.41 s
[really-safe-money-gen] _ -> Just $ fromIntegral m / (10 ^ e)
1084.41 s
[really-safe-money-gen]
1084.41 s
[really-safe-money-gen] -- | Construct a 'DecimalLiteral' from a 'Word'
1084.41 s
[really-safe-money-gen] fromWord :: Word -> DecimalLiteral
1084.41 s
[really-safe-money-gen] Testing mutation IntLit at src/Numeric/DecimalLiteral.hs:154:36-38
1084.41 s
[really-safe-money-gen] @@ -151,7 +151,7 @@
1084.41 s
[really-safe-money-gen] go !a (c : cs)
1084.41 s
[really-safe-money-gen] | Char.isDigit c = do
1084.41 s
[really-safe-money-gen] _ <- ReadP.get
1084.41 s
[really-safe-money-gen] - let digit = Char.ord c - 4 8
1084.41 s
[really-safe-money-gen] + let digit = Char.ord c - 0
1084.41 s
[really-safe-money-gen] case f a digit of
1084.41 s
[really-safe-money-gen] Nothing -> fail "Failed to step the digit"
1084.41 s
[really-safe-money-gen] Just a' -> go a' cs
1084.41 s
[really-safe-money-gen] Testing mutation Arith at src/Numeric/DecimalLiteral.hs:145:15-30
1084.41 s
[really-safe-money-gen] @@ -142,7 +142,7 @@
1084.41 s
[really-safe-money-gen] parseDigits :: (a -> Int -> Maybe a) -> a -> ReadP a
1084.41 s
[really-safe-money-gen] parseDigits f z = do
1084.41 s
[really-safe-money-gen] c <- ReadP.satisfy Char.isDigit
1084.41 s
[really-safe-money-gen] - let digit = Char.ord c - 48
1084.41 s
[really-safe-money-gen] + let digit = Char.ord c + 48
1084.41 s
[really-safe-money-gen] case f z digit of
1084.41 s
[really-safe-money-gen] Nothing -> fail "Failed to step the first digit"
1084.41 s
[really-safe-money-gen] Just a -> ReadP.look >>= go a
1084.41 s
[really-safe-money-gen] Testing mutation Arith at src/Numeric/DecimalLiteral.hs:145:15-30
1084.41 s
[really-safe-money-gen] @@ -142,7 +142,7 @@
1084.41 s
[really-safe-money-gen] parseDigits :: (a -> Int -> Maybe a) -> a -> ReadP a
1084.41 s
[really-safe-money-gen] parseDigits f z = do
1084.41 s
[really-safe-money-gen] c <- ReadP.satisfy Char.isDigit
1084.41 s
[really-safe-money-gen] - let digit = Char.ord c - 48
1084.41 s
[really-safe-money-gen] + let digit = Char.ord c * 48
1084.41 s
[really-safe-money-gen] case f z digit of
1084.42 s
[really-safe-money-gen] Nothing -> fail "Failed to step the first digit"
1084.42 s
[really-safe-money-gen] Just a -> ReadP.look >>= go a
1084.42 s
[really-safe-money-gen] Testing mutation Arith at src/Money/ConversionRate.hs:127:70-79
1084.42 s
[really-safe-money-gen] @@ -124,7 +124,7 @@
1084.42 s
[really-safe-money-gen] -- >>> compose (ConversionRate (2 % 1)) (ConversionRate (1 % 2))
1084.42 s
[really-safe-money-gen] -- ConversionRate {unConversionRate = 1 % 1}
1084.42 s
[really-safe-money-gen] compose :: ConversionRate -> ConversionRate -> ConversionRate
1084.42 s
[really-safe-money-gen] - compose (ConversionRate cr1) (ConversionRate cr2) = ConversionRate $ cr1 * cr2
1084.42 s
[really-safe-money-gen] + compose (ConversionRate cr1) (ConversionRate cr2) = ConversionRate $ cr1 + cr2
1084.42 s
[really-safe-money-gen]
1084.42 s
[really-safe-money-gen] -- | The factor to multiply by when converting currencies.
1084.42 s
[really-safe-money-gen] conversionFactor :: QuantisationFactor -> ConversionRate -> QuantisationFactor -> Ratio Natural
1084.42 s
[really-safe-money-gen] Testing mutation Arith at src/Money/ConversionRate.hs:127:70-79
1084.42 s
[really-safe-money-gen] @@ -124,7 +124,7 @@
1084.42 s
[really-safe-money-gen] -- >>> compose (ConversionRate (2 % 1)) (ConversionRate (1 % 2))
1084.42 s
[really-safe-money-gen] -- ConversionRate {unConversionRate = 1 % 1}
1084.42 s
[really-safe-money-gen] compose :: ConversionRate -> ConversionRate -> ConversionRate
1084.42 s
[really-safe-money-gen] - compose (ConversionRate cr1) (ConversionRate cr2) = ConversionRate $ cr1 * cr2
1084.42 s
[really-safe-money-gen] + compose (ConversionRate cr1) (ConversionRate cr2) = ConversionRate $ cr1 - cr2
1084.42 s
[really-safe-money-gen]
1084.42 s
[really-safe-money-gen] -- | The factor to multiply by when converting currencies.
1084.42 s
[really-safe-money-gen] conversionFactor :: QuantisationFactor -> ConversionRate -> QuantisationFactor -> Ratio Natural
1084.42 s
[really-safe-money-gen] Testing mutation IntLit at src/Money/ConversionRate.hs:116:45-46
1084.42 s
[really-safe-money-gen] @@ -113,7 +113,7 @@
1084.42 s
[really-safe-money-gen] -- >>> invert (ConversionRate (1 % 2))
1084.42 s
[really-safe-money-gen] -- ConversionRate {unConversionRate = 2 % 1}
1084.42 s
[really-safe-money-gen] invert :: ConversionRate -> ConversionRate
1084.42 s
[really-safe-money-gen] - invert (ConversionRate r) = ConversionRate ( 1 / r)
1084.42 s
[really-safe-money-gen] + invert (ConversionRate r) = ConversionRate ( - 1 / r)
1084.42 s
[really-safe-money-gen]
1084.42 s
[really-safe-money-gen] -- | Compose two conversion rates
1084.42 s
[really-safe-money-gen] --
1084.42 s
[really-safe-money-gen] Testing mutation ConstBool at src/Numeric/DecimalLiteral.hs:123:19-34
1084.42 s
[really-safe-money-gen] @@ -120,7 +120,7 @@
1084.42 s
[really-safe-money-gen]
1084.42 s
[really-safe-money-gen] mSign <- ReadP.option Nothing $ do
1084.43 s
[really-safe-money-gen] signChar <- ReadP.satisfy isSignChar
1084.43 s
[really-safe-money-gen] - pure $ Just $ s i gn Ch a r == '+'
1084.43 s
[really-safe-money-gen] + pure $ Just $ F a lse
1084.43 s
[really-safe-money-gen]
1084.43 s
[really-safe-money-gen] units <- parseDigits step 0
1084.43 s
[really-safe-money-gen]
1084.43 s
[really-safe-money-gen] Testing mutation IntLit at src/Money/ConversionRate.hs:109:27-28
1084.43 s
[really-safe-money-gen] @@ -106,7 +106,7 @@
1084.43 s
[really-safe-money-gen]
1084.43 s
[really-safe-money-gen] -- | One-to-one conversion rate
1084.43 s
[really-safe-money-gen] oneToOne :: ConversionRate
1084.43 s
[really-safe-money-gen] - oneToOne = ConversionRate 1
1084.43 s
[really-safe-money-gen] + oneToOne = ConversionRate - 1
1084.43 s
[really-safe-money-gen]
1084.43 s
[really-safe-money-gen] -- | Invert a 'ConversionRate', to convert in the other direction.
1084.43 s
[really-safe-money-gen] --
1084.43 s
[really-safe-money-gen] Testing mutation IntLit at src/Money/ConversionRate.hs:109:27-28
1084.43 s
[really-safe-money-gen] @@ -106,7 +106,7 @@
1084.43 s
[really-safe-money-gen]
1084.43 s
[really-safe-money-gen] -- | One-to-one conversion rate
1084.43 s
[really-safe-money-gen] oneToOne :: ConversionRate
1084.43 s
[really-safe-money-gen] - oneToOne = ConversionRate 1
1084.43 s
[really-safe-money-gen] + oneToOne = ConversionRate 0
1084.43 s
[really-safe-money-gen]
1084.43 s
[really-safe-money-gen] -- | Invert a 'ConversionRate', to convert in the other direction.
1084.43 s
[really-safe-money-gen] --
1084.43 s
[really-safe-money-gen] Testing mutation Cmp at src/Money/ConversionRate.hs:72:21-26
1084.43 s
[really-safe-money-gen] @@ -69,7 +69,7 @@
1084.43 s
[really-safe-money-gen] -- >>> fromRational (0 % 1)
1084.43 s
[really-safe-money-gen] -- Nothing
1084.43 s
[really-safe-money-gen] fromRational :: Rational -> Maybe ConversionRate
1084.43 s
[really-safe-money-gen] - fromRational r = if r < 0 then Nothing else fromRatio (realToFrac r)
1084.43 s
[really-safe-money-gen] + fromRational r = if r < = 0 then Nothing else fromRatio (realToFrac r)
1084.43 s
[really-safe-money-gen]
1084.43 s
[really-safe-money-gen] -- | Turn a 'ConversionRate' back into a 'Rational'
1084.43 s
[really-safe-money-gen] --
1084.43 s
[really-safe-money-gen] Testing mutation Cmp at src/Money/ConversionRate.hs:72:21-26
1084.43 s
[really-safe-money-gen] @@ -69,7 +69,7 @@
1084.43 s
[really-safe-money-gen] -- >>> fromRational (0 % 1)
1084.43 s
[really-safe-money-gen] -- Nothing
1084.43 s
[really-safe-money-gen] fromRational :: Rational -> Maybe ConversionRate
1084.44 s
[really-safe-money-gen] - fromRational r = if r < 0 then Nothing else fromRatio (realToFrac r)
1084.44 s
[really-safe-money-gen] + fromRational r = if r > 0 then Nothing else fromRatio (realToFrac r)
1084.44 s
[really-safe-money-gen]
1084.44 s
[really-safe-money-gen] -- | Turn a 'ConversionRate' back into a 'Rational'
1084.44 s
[really-safe-money-gen] --
1084.44 s
[really-safe-money-gen] Testing mutation RemoveCase at src/Money/AccountOf.hs:180:30-115
1084.44 s
[really-safe-money-gen] @@ -177,11 +177,10 @@
1084.44 s
[really-safe-money-gen]
1084.44 s
[really-safe-money-gen] -- | See 'Account.distribute'
1089.75 s
[really-safe-money-gen] distribute :: AccountOf currency -> Word16 -> AccountDistributionOf currency
1089.78 s
[really-safe-money-gen] distribute (AccountOf a) w = case Account.distribute a w of
1089.78 s
[really-safe-money-gen] DistributedIntoZeroChunks -> DistributedIntoZeroChunks
1089.78 s
[really-safe-money-gen] DistributedZero -> DistributedZero
1089.78 s
[really-safe-money-gen] DistributedIntoEqualChunks w' a' -> DistributedIntoEqualChunks w' (fromAccount a')
1089.78 s
[really-safe-money-gen] - DistributedIntoUnequalChunks w1 a1 w2 a2 -> DistributedIntoUnequalChunks w1 (fromAccount a1) w2 (fromAccount a2)
1089.78 s
[really-safe-money-gen]
1089.78 s
[really-safe-money-gen] -- | The result of 'distribute'
1089.78 s
[really-safe-money-gen] type AccountDistributionOf (currency :: k) = Distribution (AccountOf currency)
1089.78 s
[really-safe-money-gen] Testing mutation IntLit at src/Money/ConversionRate.hs:116:45-46
1089.78 s
[really-safe-money-gen] @@ -113,7 +113,7 @@
1089.78 s
[really-safe-money-gen] -- >>> invert (ConversionRate (1 % 2))
1089.78 s
[really-safe-money-gen] -- ConversionRate {unConversionRate = 2 % 1}
1089.78 s
[really-safe-money-gen] invert :: ConversionRate -> ConversionRate
1089.78 s
[really-safe-money-gen] - invert (ConversionRate r) = ConversionRate ( 1 / r)
1089.78 s
[really-safe-money-gen] + invert (ConversionRate r) = ConversionRate ( 0 / r)
1089.78 s
[really-safe-money-gen]
1089.79 s
[really-safe-money-gen] -- | Compose two conversion rates
1089.79 s
[really-safe-money-gen] --
1089.79 s
[really-safe-money-gen] Testing mutation Negate at src/Money/ConversionRate.hs:72:21-26
1089.79 s
[really-safe-money-gen] @@ -69,7 +69,7 @@
1089.79 s
[really-safe-money-gen] -- >>> fromRational (0 % 1)
1089.79 s
[really-safe-money-gen] -- Nothing
1089.79 s
[really-safe-money-gen] fromRational :: Rational -> Maybe ConversionRate
1089.79 s
[really-safe-money-gen] - fromRational r = if r < 0 then Nothing else fromRatio (realToFrac r)
1089.79 s
[really-safe-money-gen] + fromRational r = if n o t ( r < 0 ) then Nothing else fromRatio (realToFrac r)
1089.79 s
[really-safe-money-gen]
1089.79 s
[really-safe-money-gen] -- | Turn a 'ConversionRate' back into a 'Rational'
1089.79 s
[really-safe-money-gen] --
1089.79 s
[really-safe-money-gen] Testing mutation IntLit at src/Money/ConversionRate.hs:38:56-57
1089.79 s
[really-safe-money-gen] @@ -35,7 +35,7 @@
1089.79 s
[really-safe-money-gen] validate cr@(ConversionRate r) =
1089.79 s
[really-safe-money-gen] mconcat
1089.79 s
[really-safe-money-gen] [ genericValidate cr,
1089.79 s
[really-safe-money-gen] - declare "The rate is nonzero" $ numerator r /= 0
1089.79 s
[really-safe-money-gen] + declare "The rate is nonzero" $ numerator r /= 1
1089.79 s
[really-safe-money-gen] ]
1089.79 s
[really-safe-money-gen]
1089.79 s
[really-safe-money-gen] instance NFData ConversionRate
1089.79 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/ConversionRate.hs:38:41-57
1089.79 s
[really-safe-money-gen] @@ -35,7 +35,7 @@
1089.79 s
[really-safe-money-gen] validate cr@(ConversionRate r) =
1089.79 s
[really-safe-money-gen] mconcat
1089.79 s
[really-safe-money-gen] [ genericValidate cr,
1089.79 s
[really-safe-money-gen] - declare "The rate is nonzero" $ n u m er a t or r /= 0
1089.79 s
[really-safe-money-gen] + declare "The rate is nonzero" $ F a l s e
1089.79 s
[really-safe-money-gen] ]
1089.79 s
[really-safe-money-gen]
1089.79 s
[really-safe-money-gen] instance NFData ConversionRate
1089.79 s
[really-safe-money-gen] Testing mutation RemoveCase at src/Money/AccountOf.hs:180:30-115
1089.79 s
[really-safe-money-gen] @@ -177,11 +177,10 @@
1089.79 s
[really-safe-money-gen]
1089.79 s
[really-safe-money-gen] -- | See 'Account.distribute'
1089.79 s
[really-safe-money-gen] distribute :: AccountOf currency -> Word16 -> AccountDistributionOf currency
1089.79 s
[really-safe-money-gen] distribute (AccountOf a) w = case Account.distribute a w of
1089.79 s
[really-safe-money-gen] DistributedIntoZeroChunks -> DistributedIntoZeroChunks
1089.79 s
[really-safe-money-gen] DistributedZero -> DistributedZero
1089.80 s
[really-safe-money-gen] - DistributedIntoEqualChunks w' a' -> DistributedIntoEqualChunks w' (fromAccount a')
1089.80 s
[really-safe-money-gen] DistributedIntoUnequalChunks w1 a1 w2 a2 -> DistributedIntoUnequalChunks w1 (fromAccount a1) w2 (fromAccount a2)
1089.80 s
[really-safe-money-gen]
1089.80 s
[really-safe-money-gen] -- | The result of 'distribute'
1089.80 s
[really-safe-money-gen] type AccountDistributionOf (currency :: k) = Distribution (AccountOf currency)
1089.80 s
[really-safe-money-gen] Testing mutation Negate at src/Money/ConversionRate.hs:38:41-57
1089.80 s
[really-safe-money-gen] @@ -35,7 +35,7 @@
1089.80 s
[really-safe-money-gen] validate cr@(ConversionRate r) =
1089.80 s
[really-safe-money-gen] mconcat
1089.80 s
[really-safe-money-gen] [ genericValidate cr,
1089.80 s
[really-safe-money-gen] - declare "The rate is nonzero" $ numerator r /= 0
1089.80 s
[really-safe-money-gen] + declare "The rate is nonzero" $ n o t ( numerator r /= 0 )
1089.80 s
[really-safe-money-gen] ]
1089.80 s
[really-safe-money-gen]
1089.80 s
[really-safe-money-gen] instance NFData ConversionRate
1089.80 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/ConversionRate.hs:72:21-26
1089.80 s
[really-safe-money-gen] @@ -69,7 +69,7 @@
1089.80 s
[really-safe-money-gen] -- >>> fromRational (0 % 1)
1089.80 s
[really-safe-money-gen] -- Nothing
1089.80 s
[really-safe-money-gen] fromRational :: Rational -> Maybe ConversionRate
1089.80 s
[really-safe-money-gen] - fromRational r = if r < 0 then Nothing else fromRatio (realToFrac r)
1089.80 s
[really-safe-money-gen] + fromRational r = if Fal s e then Nothing else fromRatio (realToFrac r)
1089.80 s
[really-safe-money-gen]
1089.80 s
[really-safe-money-gen] -- | Turn a 'ConversionRate' back into a 'Rational'
1089.80 s
[really-safe-money-gen] --
1089.80 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/ConversionRate.hs:38:41-57
1089.80 s
[really-safe-money-gen] @@ -35,7 +35,7 @@
1089.80 s
[really-safe-money-gen] validate cr@(ConversionRate r) =
1089.80 s
[really-safe-money-gen] mconcat
1089.80 s
[really-safe-money-gen] [ genericValidate cr,
1089.80 s
[really-safe-money-gen] - declare "The rate is nonzero" $ n u m e rato r r /= 0
1089.80 s
[really-safe-money-gen] + declare "The rate is nonzero" $ T r u e
1089.80 s
[really-safe-money-gen] ]
1089.80 s
[really-safe-money-gen]
1089.80 s
[really-safe-money-gen] instance NFData ConversionRate
1089.80 s
[really-safe-money-gen] Testing mutation Arith at src/Money/ConversionRate.hs:132:3-24
1089.80 s
[really-safe-money-gen] @@ -129,4 +129,4 @@
1089.80 s
[really-safe-money-gen] -- | The factor to multiply by when converting currencies.
1089.80 s
[really-safe-money-gen] conversionFactor :: QuantisationFactor -> ConversionRate -> QuantisationFactor -> Ratio Natural
1089.80 s
[really-safe-money-gen] conversionFactor (QuantisationFactor qf1) (ConversionRate cr) (QuantisationFactor qf2) =
1089.80 s
[really-safe-money-gen] - cr * fromIntegral qf2 / fromIntegral qf1
1089.80 s
[really-safe-money-gen] + cr - fromIntegral qf2 / fromIntegral qf1
1089.80 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/ConversionRate.hs:72:21-26
1089.80 s
[really-safe-money-gen] @@ -69,7 +69,7 @@
1089.80 s
[really-safe-money-gen] -- >>> fromRational (0 % 1)
1089.81 s
[really-safe-money-gen] -- Nothing
1089.81 s
[really-safe-money-gen] fromRational :: Rational -> Maybe ConversionRate
1089.81 s
[really-safe-money-gen] - fromRational r = if r < 0 then Nothing else fromRatio (realToFrac r)
1089.81 s
[really-safe-money-gen] + fromRational r = if T r u e then Nothing else fromRatio (realToFrac r)
1089.81 s
[really-safe-money-gen]
1089.81 s
[really-safe-money-gen] -- | Turn a 'ConversionRate' back into a 'Rational'
1089.81 s
[really-safe-money-gen] --
1089.81 s
[really-safe-money-gen] Testing mutation IntLit at src/Numeric/DecimalLiteral.hs:127:44-45
1089.81 s
[really-safe-money-gen] @@ -124,7 +124,7 @@
1089.81 s
[really-safe-money-gen]
1089.81 s
[really-safe-money-gen] units <- parseDigits step 0
1089.81 s
[really-safe-money-gen]
1089.81 s
[really-safe-money-gen] - ReadP.option (DecimalLiteral mSign units 0 ) $ do
1089.81 s
[really-safe-money-gen] + ReadP.option (DecimalLiteral mSign units 1 ) $ do
1089.81 s
[really-safe-money-gen] _ <- ReadP.satisfy (== '.')
1089.81 s
[really-safe-money-gen]
1089.81 s
[really-safe-money-gen] (m, e) <- parseDigits stepFraction (units, 0)
1089.81 s
[really-safe-money-gen] Testing mutation Arith at src/Money/ConversionRate.hs:132:3-24
1089.81 s
[really-safe-money-gen] @@ -129,4 +129,4 @@
1089.81 s
[really-safe-money-gen] -- | The factor to multiply by when converting currencies.
1089.81 s
[really-safe-money-gen] conversionFactor :: QuantisationFactor -> ConversionRate -> QuantisationFactor -> Ratio Natural
1089.81 s
[really-safe-money-gen] conversionFactor (QuantisationFactor qf1) (ConversionRate cr) (QuantisationFactor qf2) =
1089.81 s
[really-safe-money-gen] - cr * fromIntegral qf2 / fromIntegral qf1
1089.81 s
[really-safe-money-gen] + cr + fromIntegral qf2 / fromIntegral qf1
1089.81 s
[really-safe-money-gen] Testing mutation IntLit at src/Money/ConversionRate.hs:72:25-26
1089.81 s
[really-safe-money-gen] @@ -69,7 +69,7 @@
1089.81 s
[really-safe-money-gen] -- >>> fromRational (0 % 1)
1089.81 s
[really-safe-money-gen] -- Nothing
1089.81 s
[really-safe-money-gen] fromRational :: Rational -> Maybe ConversionRate
1089.81 s
[really-safe-money-gen] - fromRational r = if r < 0 then Nothing else fromRatio (realToFrac r)
1089.81 s
[really-safe-money-gen] + fromRational r = if r < 1 then Nothing else fromRatio (realToFrac r)
1089.81 s
[really-safe-money-gen]
1089.81 s
[really-safe-money-gen] -- | Turn a 'ConversionRate' back into a 'Rational'
1089.81 s
[really-safe-money-gen] --
1089.81 s
[really-safe-money-gen] Testing mutation IntLit at src/Money/QuantisationFactor.hs:92:13-14
1089.81 s
[really-safe-money-gen] @@ -89,7 +89,7 @@
1089.81 s
[really-safe-money-gen] else pure r
1089.81 s
[really-safe-money-gen]
1089.81 s
[really-safe-money-gen] rat <-
1089.81 s
[really-safe-money-gen] - let r = 1 / irat
1089.81 s
[really-safe-money-gen] + let r = - 1 / irat
1089.82 s
[really-safe-money-gen] in if r < 0
1089.82 s
[really-safe-money-gen] then Nothing
1089.82 s
[really-safe-money-gen] else Just r
1089.82 s
[really-safe-money-gen] Testing mutation Cmp at src/Money/QuantisationFactor.hs:93:12-17
1089.82 s
[really-safe-money-gen] @@ -90,7 +90,7 @@
1089.82 s
[really-safe-money-gen]
1089.82 s
[really-safe-money-gen] rat <-
1089.82 s
[really-safe-money-gen] let r = 1 / irat
1089.82 s
[really-safe-money-gen] - in if r < 0
1089.82 s
[really-safe-money-gen] + in if r > 0
1089.82 s
[really-safe-money-gen] then Nothing
1089.82 s
[really-safe-money-gen] else Just r
1089.82 s
[really-safe-money-gen]
1089.82 s
[really-safe-money-gen] Testing mutation Cmp at src/Money/QuantisationFactor.hs:93:12-17
1089.82 s
[really-safe-money-gen] @@ -90,7 +90,7 @@
1089.82 s
[really-safe-money-gen]
1089.82 s
[really-safe-money-gen] rat <-
1089.82 s
[really-safe-money-gen] let r = 1 / irat
1089.82 s
[really-safe-money-gen] - in if r < 0
1089.82 s
[really-safe-money-gen] + in if r > = 0
1089.82 s
[really-safe-money-gen] then Nothing
1089.82 s
[really-safe-money-gen] else Just r
1089.82 s
[really-safe-money-gen]
1089.82 s
[really-safe-money-gen] Testing mutation IntLit at src/Numeric/DecimalLiteral.hs:289:33-35
1089.82 s
[really-safe-money-gen] @@ -286,7 +286,7 @@
1089.82 s
[really-safe-money-gen] toRatio :: DecimalLiteral -> Maybe (Ratio Natural)
1089.82 s
[really-safe-money-gen] toRatio (DecimalLiteral mSign m e) = case mSign of
1089.82 s
[really-safe-money-gen] Just False -> Nothing
1089.82 s
[really-safe-money-gen] - _ -> Just $ fromIntegral m / (1 0 ^ e)
1089.82 s
[really-safe-money-gen] + _ -> Just $ fromIntegral m / (1 ^ e)
1089.82 s
[really-safe-money-gen]
1089.82 s
[really-safe-money-gen] -- | Construct a 'DecimalLiteral' from a 'Word'
1089.82 s
[really-safe-money-gen] fromWord :: Word -> DecimalLiteral
1089.82 s
[really-safe-money-gen] Testing mutation Cmp at src/Money/QuantisationFactor.hs:93:12-17
1089.82 s
[really-safe-money-gen] @@ -90,7 +90,7 @@
1089.82 s
[really-safe-money-gen]
1089.82 s
[really-safe-money-gen] rat <-
1089.82 s
[really-safe-money-gen] let r = 1 / irat
1089.82 s
[really-safe-money-gen] - in if r < 0
1098.12 s
[really-safe-money-gen] + in if r < = 0
1098.14 s
[really-safe-money-gen] then Nothing
1098.14 s
[really-safe-money-gen] else Just r
1098.14 s
[really-safe-money-gen]
1098.14 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/QuantisationFactor.hs:87:12-28
1098.14 s
[really-safe-money-gen] @@ -84,7 +84,7 @@
1098.14 s
[really-safe-money-gen] fromDecimalLiteral dl = do
1098.15 s
[really-safe-money-gen] irat <-
1098.15 s
[really-safe-money-gen] let r = DecimalLiteral.toRational dl
1098.15 s
[really-safe-money-gen] - in if n u m e rato r r == 0
1098.15 s
[really-safe-money-gen] + in if T r u e
1098.15 s
[really-safe-money-gen] then Nothing
1098.15 s
[really-safe-money-gen] else pure r
1098.15 s
[really-safe-money-gen]
1098.15 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/QuantisationFactor.hs:87:12-28
1098.15 s
[really-safe-money-gen] @@ -84,7 +84,7 @@
1098.15 s
[really-safe-money-gen] fromDecimalLiteral dl = do
1098.15 s
[really-safe-money-gen] irat <-
1098.15 s
[really-safe-money-gen] let r = DecimalLiteral.toRational dl
1098.15 s
[really-safe-money-gen] - in if n u m er a t or r == 0
1098.15 s
[really-safe-money-gen] + in if F a l s e
1098.15 s
[really-safe-money-gen] then Nothing
1098.15 s
[really-safe-money-gen] else pure r
1098.15 s
[really-safe-money-gen]
1098.15 s
[really-safe-money-gen] Testing mutation Negate at src/Money/QuantisationFactor.hs:87:12-28
1098.15 s
[really-safe-money-gen] @@ -84,7 +84,7 @@
1098.15 s
[really-safe-money-gen] fromDecimalLiteral dl = do
1098.15 s
[really-safe-money-gen] irat <-
1098.15 s
[really-safe-money-gen] let r = DecimalLiteral.toRational dl
1098.15 s
[really-safe-money-gen] - in if numerator r == 0
1098.15 s
[really-safe-money-gen] + in if n o t ( numerator r == 0 )
1098.15 s
[really-safe-money-gen] then Nothing
1098.15 s
[really-safe-money-gen] else pure r
1098.15 s
[really-safe-money-gen]
1098.15 s
[really-safe-money-gen] Testing mutation Cmp at src/Money/ConversionRate.hs:72:21-26
1098.15 s
[really-safe-money-gen] @@ -69,7 +69,7 @@
1098.15 s
[really-safe-money-gen] -- >>> fromRational (0 % 1)
1098.15 s
[really-safe-money-gen] -- Nothing
1098.16 s
[really-safe-money-gen] fromRational :: Rational -> Maybe ConversionRate
1098.16 s
[really-safe-money-gen] - fromRational r = if r < 0 then Nothing else fromRatio (realToFrac r)
1098.16 s
[really-safe-money-gen] + fromRational r = if r > = 0 then Nothing else fromRatio (realToFrac r)
1098.16 s
[really-safe-money-gen]
1098.16 s
[really-safe-money-gen] -- | Turn a 'ConversionRate' back into a 'Rational'
1098.16 s
[really-safe-money-gen] --
1098.16 s
[really-safe-money-gen] Testing mutation IntLit at src/Money/QuantisationFactor.hs:87:27-28
1098.16 s
[really-safe-money-gen] @@ -84,7 +84,7 @@
1098.16 s
[really-safe-money-gen] fromDecimalLiteral dl = do
1098.16 s
[really-safe-money-gen] irat <-
1098.16 s
[really-safe-money-gen] let r = DecimalLiteral.toRational dl
1098.16 s
[really-safe-money-gen] - in if numerator r == 0
1098.16 s
[really-safe-money-gen] + in if numerator r == 1
1098.16 s
[really-safe-money-gen] then Nothing
1098.16 s
[really-safe-money-gen] else pure r
1098.16 s
[really-safe-money-gen]
1098.16 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/QuantisationFactor.hs:93:12-17
1098.16 s
[really-safe-money-gen] @@ -90,7 +90,7 @@
1098.16 s
[really-safe-money-gen]
1098.16 s
[really-safe-money-gen] rat <-
1098.16 s
[really-safe-money-gen] let r = 1 / irat
1098.16 s
[really-safe-money-gen] - in if r < 0
1098.16 s
[really-safe-money-gen] + in if T r ue
1098.16 s
[really-safe-money-gen] then Nothing
1098.16 s
[really-safe-money-gen] else Just r
1098.16 s
[really-safe-money-gen]
1098.16 s
[really-safe-money-gen] Testing mutation Negate at src/Money/QuantisationFactor.hs:98:8-28
1098.16 s
[really-safe-money-gen] @@ -95,7 +95,7 @@
1098.17 s
[really-safe-money-gen] else Just r
1098.17 s
[really-safe-money-gen]
1098.17 s
[really-safe-money-gen] fac <-
1098.17 s
[really-safe-money-gen] - if denominator rat == 1
1098.17 s
[really-safe-money-gen] + if n o t ( denominator rat == 1 )
1098.17 s
[really-safe-money-gen] then Just (numerator rat)
1098.17 s
[really-safe-money-gen] else Nothing
1098.17 s
[really-safe-money-gen]
1098.17 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/QuantisationFactor.hs:98:8-28
1098.17 s
[really-safe-money-gen] @@ -95,7 +95,7 @@
1098.17 s
[really-safe-money-gen] else Just r
1098.17 s
[really-safe-money-gen]
1098.17 s
[really-safe-money-gen] fac <-
1098.17 s
[really-safe-money-gen] - if d e nom inato r r a t == 1
1098.17 s
[really-safe-money-gen] + if T r ue
1098.17 s
[really-safe-money-gen] then Just (numerator rat)
1098.17 s
[really-safe-money-gen] else Nothing
1098.17 s
[really-safe-money-gen]
1098.17 s
[really-safe-money-gen] Testing mutation IntLit at src/Money/QuantisationFactor.hs:98:27-28
1098.17 s
[really-safe-money-gen] @@ -95,7 +95,7 @@
1098.17 s
[really-safe-money-gen] else Just r
1098.17 s
[really-safe-money-gen]
1098.17 s
[really-safe-money-gen] fac <-
1098.17 s
[really-safe-money-gen] - if denominator rat == 1
1098.17 s
[really-safe-money-gen] + if denominator rat == - 1
1098.17 s
[really-safe-money-gen] then Just (numerator rat)
1098.17 s
[really-safe-money-gen] else Nothing
1098.17 s
[really-safe-money-gen]
1098.18 s
[really-safe-money-gen] Testing mutation IntLit at src/Money/QuantisationFactor.hs:98:27-28
1098.18 s
[really-safe-money-gen] @@ -95,7 +95,7 @@
1098.18 s
[really-safe-money-gen] else Just r
1098.18 s
[really-safe-money-gen]
1098.18 s
[really-safe-money-gen] fac <-
1098.18 s
[really-safe-money-gen] - if denominator rat == 1
1098.18 s
[really-safe-money-gen] + if denominator rat == 0
1098.18 s
[really-safe-money-gen] then Just (numerator rat)
1098.18 s
[really-safe-money-gen] else Nothing
1098.18 s
[really-safe-money-gen]
1098.18 s
[really-safe-money-gen] Testing mutation IntLit at src/Money/QuantisationFactor.hs:93:16-17
1098.18 s
[really-safe-money-gen] @@ -90,7 +90,7 @@
1098.18 s
[really-safe-money-gen]
1098.18 s
[really-safe-money-gen] rat <-
1098.18 s
[really-safe-money-gen] let r = 1 / irat
1098.18 s
[really-safe-money-gen] - in if r < 0
1098.18 s
[really-safe-money-gen] + in if r < 1
1098.18 s
[really-safe-money-gen] then Nothing
1098.18 s
[really-safe-money-gen] else Just r
1098.18 s
[really-safe-money-gen]
1098.18 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/QuantisationFactor.hs:93:12-17
1098.18 s
[really-safe-money-gen] @@ -90,7 +90,7 @@
1098.18 s
[really-safe-money-gen]
1098.19 s
[really-safe-money-gen] rat <-
1098.19 s
[really-safe-money-gen] let r = 1 / irat
1098.19 s
[really-safe-money-gen] - in if r < 0
1098.19 s
[really-safe-money-gen] + in if False
1098.19 s
[really-safe-money-gen] then Nothing
1098.19 s
[really-safe-money-gen] else Just r
1098.19 s
[really-safe-money-gen]
1098.19 s
[really-safe-money-gen] Testing mutation MaybeOp at src/Money/QuantisationFactor.hs:95:16-22
1098.19 s
[really-safe-money-gen] @@ -92,7 +92,7 @@
1098.19 s
[really-safe-money-gen] let r = 1 / irat
1098.19 s
[really-safe-money-gen] in if r < 0
1098.19 s
[really-safe-money-gen] then Nothing
1098.19 s
[really-safe-money-gen] - else J u s t r
1098.19 s
[really-safe-money-gen] + else No t h ing
1098.19 s
[really-safe-money-gen]
1098.19 s
[really-safe-money-gen] fac <-
1098.19 s
[really-safe-money-gen] if denominator rat == 1
1098.19 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/QuantisationFactor.hs:98:8-28
1098.19 s
[really-safe-money-gen] @@ -95,7 +95,7 @@
1098.19 s
[really-safe-money-gen] else Just r
1098.19 s
[really-safe-money-gen]
1098.19 s
[really-safe-money-gen] fac <-
1098.19 s
[really-safe-money-gen] - if d e n omi n a t or rat == 1
1098.19 s
[really-safe-money-gen] + if F a lse
1098.19 s
[really-safe-money-gen] then Just (numerator rat)
1098.19 s
[really-safe-money-gen] else Nothing
1098.20 s
[really-safe-money-gen]
1098.20 s
[really-safe-money-gen] Testing mutation Cmp at src/Money/QuantisationFactor.hs:102:6-46
1098.20 s
[really-safe-money-gen] @@ -99,6 +99,6 @@
1098.20 s
[really-safe-money-gen] then Just (numerator rat)
1098.20 s
[really-safe-money-gen] else Nothing
1098.20 s
[really-safe-money-gen]
1098.20 s
[really-safe-money-gen] - if fac < = fromIntegral (maxBound :: Word32)
1098.20 s
[really-safe-money-gen] + if fac < fromIntegral (maxBound :: Word32)
1098.20 s
[really-safe-money-gen] then Just (QuantisationFactor (fromIntegral fac))
1098.20 s
[really-safe-money-gen] else Nothing
1098.20 s
[really-safe-money-gen] Testing mutation MaybeOp at src/Money/QuantisationFactor.hs:99:12-32
1098.20 s
[really-safe-money-gen] @@ -96,7 +96,7 @@
1098.20 s
[really-safe-money-gen]
1098.20 s
[really-safe-money-gen] fac <-
1098.20 s
[really-safe-money-gen] if denominator rat == 1
1098.20 s
[really-safe-money-gen] - then J u s t ( n u m erator rat)
1098.20 s
[really-safe-money-gen] + then No t hi n g
1098.20 s
[really-safe-money-gen] else Nothing
1098.20 s
[really-safe-money-gen]
1098.20 s
[really-safe-money-gen] if fac <= fromIntegral (maxBound :: Word32)
1098.20 s
[really-safe-money-gen] Testing mutation Negate at src/Money/QuantisationFactor.hs:93:12-17
1098.20 s
[really-safe-money-gen] @@ -90,7 +90,7 @@
1098.20 s
[really-safe-money-gen]
1098.20 s
[really-safe-money-gen] rat <-
1098.20 s
[really-safe-money-gen] let r = 1 / irat
1098.20 s
[really-safe-money-gen] - in if r < 0
1098.21 s
[really-safe-money-gen] + in if n o t ( r < 0 )
1098.21 s
[really-safe-money-gen] then Nothing
1098.21 s
[really-safe-money-gen] else Just r
1098.21 s
[really-safe-money-gen]
1098.21 s
[really-safe-money-gen] Testing mutation Negate at src/Money/QuantisationFactor.hs:102:6-46
1098.21 s
[really-safe-money-gen] @@ -99,6 +99,6 @@
1098.21 s
[really-safe-money-gen] then Just (numerator rat)
1098.21 s
[really-safe-money-gen] else Nothing
1098.21 s
[really-safe-money-gen]
1098.21 s
[really-safe-money-gen] - if fac <= fromIntegral (maxBound :: Word32)
1098.21 s
[really-safe-money-gen] + if n o t ( fac <= fromIntegral (maxBound :: Word32) )
1098.21 s
[really-safe-money-gen] then Just (QuantisationFactor (fromIntegral fac))
1098.21 s
[really-safe-money-gen] else Nothing
1098.21 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/QuantisationFactor.hs:102:6-46
1098.21 s
[really-safe-money-gen] @@ -99,6 +99,6 @@
1098.21 s
[really-safe-money-gen] then Just (numerator rat)
1098.21 s
[really-safe-money-gen] else Nothing
1098.21 s
[really-safe-money-gen]
1098.21 s
[really-safe-money-gen] - if f a c <= fr omInt e gral (maxBound :: Word32)
1098.21 s
[really-safe-money-gen] + if F a ls e
1098.21 s
[really-safe-money-gen] then Just (QuantisationFactor (fromIntegral fac))
1098.21 s
[really-safe-money-gen] else Nothing
1098.21 s
[really-safe-money-gen] Testing mutation Cmp at src/Money/QuantisationFactor.hs:102:6-46
1098.21 s
[really-safe-money-gen] @@ -99,6 +99,6 @@
1098.22 s
[really-safe-money-gen] then Just (numerator rat)
1098.22 s
[really-safe-money-gen] else Nothing
1098.22 s
[really-safe-money-gen]
1098.22 s
[really-safe-money-gen] - if fac < = fromIntegral (maxBound :: Word32)
1098.22 s
[really-safe-money-gen] + if fac > = fromIntegral (maxBound :: Word32)
1098.22 s
[really-safe-money-gen] then Just (QuantisationFactor (fromIntegral fac))
1098.22 s
[really-safe-money-gen] else Nothing
1098.22 s
[really-safe-money-gen] Testing mutation Cmp at src/Money/QuantisationFactor.hs:102:6-46
1098.22 s
[really-safe-money-gen] @@ -99,6 +99,6 @@
1098.22 s
[really-safe-money-gen] then Just (numerator rat)
1098.22 s
[really-safe-money-gen] else Nothing
1098.22 s
[really-safe-money-gen]
1098.22 s
[really-safe-money-gen] - if fac < = fromIntegral (maxBound :: Word32)
1098.22 s
[really-safe-money-gen] + if fac > fromIntegral (maxBound :: Word32)
1098.22 s
[really-safe-money-gen] then Just (QuantisationFactor (fromIntegral fac))
1098.22 s
[really-safe-money-gen] else Nothing
1098.22 s
[really-safe-money-gen] Testing mutation MaybeOp at src/Money/QuantisationFactor.hs:103:10-54
1098.22 s
[really-safe-money-gen] @@ -100,5 +100,5 @@
1098.22 s
[really-safe-money-gen] else Nothing
1098.22 s
[really-safe-money-gen]
1098.22 s
[really-safe-money-gen] if fac <= fromIntegral (maxBound :: Word32)
1098.22 s
[really-safe-money-gen] - then J u st ( Quant isa t i o n F a ct or (fromInt e g r a l fac))
1098.23 s
[really-safe-money-gen] + then No t h i n g
1098.23 s
[really-safe-money-gen] else Nothing
1105.54 s
[really-safe-money-gen] Testing mutation IntLit at src/Money/QuantisationFactor.hs:92:13-14
1105.54 s
[really-safe-money-gen] @@ -89,7 +89,7 @@
1105.57 s
[really-safe-money-gen] else pure r
1105.57 s
[really-safe-money-gen]
1105.57 s
[really-safe-money-gen] rat <-
1105.57 s
[really-safe-money-gen] - let r = 1 / irat
1105.57 s
[really-safe-money-gen] + let r = 0 / irat
1105.57 s
[really-safe-money-gen] in if r < 0
1105.57 s
[really-safe-money-gen] then Nothing
1105.57 s
[really-safe-money-gen] else Just r
1105.58 s
[really-safe-money-gen] Testing mutation ListLit at src/Money/ConversionRate.hs:37:7-8
1105.58 s
[really-safe-money-gen] @@ -34,9 +34,8 @@
1105.58 s
[really-safe-money-gen] instance Validity ConversionRate where
1105.58 s
[really-safe-money-gen] validate cr@(ConversionRate r) =
1105.58 s
[really-safe-money-gen] mconcat
1105.58 s
[really-safe-money-gen] - [ genericValidate cr,
1105.58 s
[really-safe-money-gen] declare "The rate is nonzero" $ numerator r /= 0
1105.58 s
[really-safe-money-gen] ]
1105.58 s
[really-safe-money-gen]
1105.58 s
[really-safe-money-gen] instance NFData ConversionRate
1105.58 s
[really-safe-money-gen]
1105.58 s
[really-safe-money-gen] Testing mutation ListLit at src/Money/ConversionRate.hs:37:7-8
1105.58 s
[really-safe-money-gen] @@ -34,9 +34,7 @@
1105.58 s
[really-safe-money-gen] instance Validity ConversionRate where
1105.58 s
[really-safe-money-gen] validate cr@(ConversionRate r) =
1105.58 s
[really-safe-money-gen] mconcat
1105.58 s
[really-safe-money-gen] - [ genericValidate cr,
1105.58 s
[really-safe-money-gen] - declare "The rate is nonzero" $ numerator r /= 0
1105.58 s
[really-safe-money-gen] ]
1105.58 s
[really-safe-money-gen]
1105.58 s
[really-safe-money-gen] instance NFData ConversionRate
1105.58 s
[really-safe-money-gen]
1105.58 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/QuantisationFactor.hs:102:6-46
1105.58 s
[really-safe-money-gen] @@ -99,6 +99,6 @@
1105.58 s
[really-safe-money-gen] then Just (numerator rat)
1105.58 s
[really-safe-money-gen] else Nothing
1105.58 s
[really-safe-money-gen]
1105.58 s
[really-safe-money-gen] - i f f a c <= f ro mInte g r a l (maxB o u n d : : Wor d 3 2)
1105.58 s
[really-safe-money-gen] + i f T r u e
1105.58 s
[really-safe-money-gen] then Just (QuantisationFactor (fromIntegral fac))
1105.58 s
[really-safe-money-gen] else Nothing
1105.58 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/QuantisationFactor.hs:40:57-63
1105.58 s
[really-safe-money-gen] @@ -37,7 +37,7 @@
1105.58 s
[really-safe-money-gen] validate qf@(QuantisationFactor w) =
1105.58 s
[really-safe-money-gen] mconcat
1105.58 s
[really-safe-money-gen] [ genericValidate qf,
1105.58 s
[really-safe-money-gen] - declare "The quantisation factor is not zero" $ w /= 0
1105.58 s
[really-safe-money-gen] + declare "The quantisation factor is not zero" $ Tru e
1105.58 s
[really-safe-money-gen] ]
1105.58 s
[really-safe-money-gen]
1105.59 s
[really-safe-money-gen] instance NFData QuantisationFactor
1105.59 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/QuantisationFactor.hs:40:57-63
1105.59 s
[really-safe-money-gen] @@ -37,7 +37,7 @@
1105.59 s
[really-safe-money-gen] validate qf@(QuantisationFactor w) =
1105.59 s
[really-safe-money-gen] mconcat
1105.59 s
[really-safe-money-gen] [ genericValidate qf,
1105.59 s
[really-safe-money-gen] - declare "The quantisation factor is not zero" $ w /= 0
1105.59 s
[really-safe-money-gen] + declare "The quantisation factor is not zero" $ F a lse
1105.59 s
[really-safe-money-gen] ]
1105.59 s
[really-safe-money-gen]
1105.59 s
[really-safe-money-gen] instance NFData QuantisationFactor
1105.59 s
[really-safe-money-gen] Testing mutation IntLit at src/Money/Amount.hs:801:36-38
1105.59 s
[really-safe-money-gen] @@ -798,7 +798,7 @@
1105.59 s
[really-safe-money-gen] quantisationFactorFormatString (QuantisationFactor 0) = "%f"
1105.59 s
[really-safe-money-gen] quantisationFactorFormatString (QuantisationFactor qf) =
1105.59 s
[really-safe-money-gen] let decimals :: Int
1105.59 s
[really-safe-money-gen] - decimals = ceiling $ logBase 1 0 (fromIntegral qf :: Float)
1105.59 s
[really-safe-money-gen] + decimals = ceiling $ logBase 0 (fromIntegral qf :: Float)
1105.59 s
[really-safe-money-gen] in printf "%%0.%df" decimals
1105.59 s
[really-safe-money-gen]
1105.59 s
[really-safe-money-gen] -- | Validate that an 'Amount' is strictly positive. I.e. not 'zero'.
1105.59 s
[really-safe-money-gen] Testing mutation Negate at src/Money/QuantisationFactor.hs:40:57-63
1105.59 s
[really-safe-money-gen] @@ -37,7 +37,7 @@
1105.59 s
[really-safe-money-gen] validate qf@(QuantisationFactor w) =
1105.59 s
[really-safe-money-gen] mconcat
1105.59 s
[really-safe-money-gen] [ genericValidate qf,
1105.59 s
[really-safe-money-gen] - declare "The quantisation factor is not zero" $ w /= 0
1105.59 s
[really-safe-money-gen] + declare "The quantisation factor is not zero" $ n o t ( w /= 0 )
1105.59 s
[really-safe-money-gen] ]
1105.59 s
[really-safe-money-gen]
1105.59 s
[really-safe-money-gen] instance NFData QuantisationFactor
1105.59 s
[really-safe-money-gen] Testing mutation IntLit at src/Money/QuantisationFactor.hs:67:67-68
1105.59 s
[really-safe-money-gen] @@ -64,7 +64,7 @@
1105.59 s
[really-safe-money-gen] -- Just (DecimalLiteral Nothing 1 0)
1105.59 s
[really-safe-money-gen] toDecimalLiteral :: QuantisationFactor -> Maybe DecimalLiteral
1105.59 s
[really-safe-money-gen] toDecimalLiteral (QuantisationFactor qfw) =
1105.59 s
[really-safe-money-gen] - DecimalLiteral.setSignOptional <$> DecimalLiteral.fromRational ( 1 % fromIntegral qfw)
1105.59 s
[really-safe-money-gen] + DecimalLiteral.setSignOptional <$> DecimalLiteral.fromRational ( 0 % fromIntegral qfw)
1105.59 s
[really-safe-money-gen]
1105.59 s
[really-safe-money-gen] -- | Parse a 'QuantisationFactor' from a 'DecimalLiteral' that represents the smallest unit
1105.59 s
[really-safe-money-gen] -- TODO explain that it's the inverse.
1105.59 s
[really-safe-money-gen] Testing mutation ListLit at src/Money/QuantisationFactor.hs:39:7-8
1105.59 s
[really-safe-money-gen] @@ -36,9 +36,7 @@
1105.59 s
[really-safe-money-gen] instance Validity QuantisationFactor where
1105.59 s
[really-safe-money-gen] validate qf@(QuantisationFactor w) =
1105.59 s
[really-safe-money-gen] mconcat
1105.59 s
[really-safe-money-gen] - [ genericValidate qf,
1105.59 s
[really-safe-money-gen] - declare "The quantisation factor is not zero" $ w /= 0
1105.59 s
[really-safe-money-gen] ]
1105.59 s
[really-safe-money-gen]
1105.59 s
[really-safe-money-gen] instance NFData QuantisationFactor
1105.59 s
[really-safe-money-gen]
1105.59 s
[really-safe-money-gen] Testing mutation IntLit at src/Money/Amount.hs:801:36-38
1105.59 s
[really-safe-money-gen] @@ -798,7 +798,7 @@
1105.59 s
[really-safe-money-gen] quantisationFactorFormatString (QuantisationFactor 0) = "%f"
1105.59 s
[really-safe-money-gen] quantisationFactorFormatString (QuantisationFactor qf) =
1105.59 s
[really-safe-money-gen] let decimals :: Int
1105.59 s
[really-safe-money-gen] - decimals = ceiling $ logBase 10 (fromIntegral qf :: Float)
1105.59 s
[really-safe-money-gen] + decimals = ceiling $ logBase - 10 (fromIntegral qf :: Float)
1105.59 s
[really-safe-money-gen] in printf "%%0.%df" decimals
1105.59 s
[really-safe-money-gen]
1105.59 s
[really-safe-money-gen] -- | Validate that an 'Amount' is strictly positive. I.e. not 'zero'.
1105.59 s
[really-safe-money-gen] Testing mutation Arith at src/Money/Amount.hs:721:10-44
1105.59 s
[really-safe-money-gen] @@ -718,7 +718,7 @@
1105.60 s
[really-safe-money-gen] rate (QuantisationFactor qf1) (Amount a1) (QuantisationFactor qf2) (Amount a2) =
1105.60 s
[really-safe-money-gen] ConversionRate.fromRatio $
1105.60 s
[really-safe-money-gen] (fromIntegral a2 * fromIntegral qf1)
1105.60 s
[really-safe-money-gen] - % (fromIntegral a1 * fromIntegral qf2)
1105.60 s
[really-safe-money-gen] + % (fromIntegral a1 + fromIntegral qf2)
1105.60 s
[really-safe-money-gen]
1105.60 s
[really-safe-money-gen] -- | Convert an amount of money of one currency into an amount of money of
1105.60 s
[really-safe-money-gen] -- another currency using a conversion rate.
1105.60 s
[really-safe-money-gen] Testing mutation ListLit at src/Money/QuantisationFactor.hs:39:7-8
1105.60 s
[really-safe-money-gen] @@ -36,9 +36,8 @@
1105.60 s
[really-safe-money-gen] instance Validity QuantisationFactor where
1105.60 s
[really-safe-money-gen] validate qf@(QuantisationFactor w) =
1105.60 s
[really-safe-money-gen] mconcat
1105.60 s
[really-safe-money-gen] - [ genericValidate qf,
1105.60 s
[really-safe-money-gen] declare "The quantisation factor is not zero" $ w /= 0
1105.60 s
[really-safe-money-gen] ]
1105.60 s
[really-safe-money-gen]
1105.60 s
[really-safe-money-gen] instance NFData QuantisationFactor
1105.60 s
[really-safe-money-gen]
1105.60 s
[really-safe-money-gen] Testing mutation Arith at src/Money/Amount.hs:577:39-63
1105.60 s
[really-safe-money-gen] @@ -574,7 +574,7 @@
1105.60 s
[really-safe-money-gen] numberOfLargerChunks :: Word32
1105.60 s
[really-safe-money-gen] numberOfLargerChunks = (fromIntegral :: Word64 -> Word32) rest
1105.60 s
[really-safe-money-gen] numberOfSmallerChunks :: Word32
1105.60 s
[really-safe-money-gen] - numberOfSmallerChunks = f - numberOfLargerChunks
1105.60 s
[really-safe-money-gen] + numberOfSmallerChunks = f + numberOfLargerChunks
1105.60 s
[really-safe-money-gen] largerChunk :: Amount
1105.60 s
[really-safe-money-gen] largerChunk = Amount $ succ smallerChunkSize
1105.60 s
[really-safe-money-gen] in DistributedIntoUnequalChunks
1105.60 s
[really-safe-money-gen] Testing mutation Arith at src/Money/Amount.hs:720:6-40
1105.60 s
[really-safe-money-gen] @@ -717,7 +717,7 @@
1105.60 s
[really-safe-money-gen] rate _ _ _ (Amount 0) = Nothing
1105.60 s
[really-safe-money-gen] rate (QuantisationFactor qf1) (Amount a1) (QuantisationFactor qf2) (Amount a2) =
1105.60 s
[really-safe-money-gen] ConversionRate.fromRatio $
1105.60 s
[really-safe-money-gen] - (fromIntegral a2 * fromIntegral qf1)
1105.60 s
[really-safe-money-gen] + (fromIntegral a2 + fromIntegral qf1)
1105.60 s
[really-safe-money-gen] % (fromIntegral a1 * fromIntegral qf2)
1105.60 s
[really-safe-money-gen]
1105.60 s
[really-safe-money-gen] -- | Convert an amount of money of one currency into an amount of money of
1105.60 s
[really-safe-money-gen] Testing mutation Negate at src/Money/Amount.hs:569:10-19
1105.60 s
[really-safe-money-gen] @@ -566,7 +566,7 @@
1105.60 s
[really-safe-money-gen] (smallerChunkSize, rest) = divMod a ((fromIntegral :: Word32 -> Word64) f)
1105.60 s
[really-safe-money-gen] smallerChunk :: Amount
1105.60 s
[really-safe-money-gen] smallerChunk = Amount smallerChunkSize
1105.60 s
[really-safe-money-gen] - in if rest == 0
1105.60 s
[really-safe-money-gen] + in if n o t ( rest == 0 )
1105.60 s
[really-safe-money-gen] then DistributedIntoEqualChunks f smallerChunk
1105.60 s
[really-safe-money-gen] else
1105.60 s
[really-safe-money-gen] let -- This 'fromIntegral' is theoretically not safe, but it's
1105.60 s
[really-safe-money-gen] Testing mutation Arith at src/Money/Amount.hs:543:11-88
1105.60 s
[really-safe-money-gen] @@ -540,7 +540,7 @@
1105.60 s
[really-safe-money-gen] let maxBoundI :: Integer
1105.60 s
[really-safe-money-gen] maxBoundI = (fromIntegral :: Word64 -> Integer) (maxBound :: Word64)
1105.60 s
[really-safe-money-gen] r :: Integer
1105.60 s
[really-safe-money-gen] - r = (fromIntegral :: Word32 -> Integer) f * (fromIntegral :: Word64 -> Integer) a
1105.60 s
[really-safe-money-gen] + r = (fromIntegral :: Word32 -> Integer) f + (fromIntegral :: Word64 -> Integer) a
1105.60 s
[really-safe-money-gen] in if r > maxBoundI
1105.60 s
[really-safe-money-gen] then Nothing
1105.60 s
[really-safe-money-gen] else Just (Amount ((fromInteger :: Integer -> Word64) r))
1105.60 s
[really-safe-money-gen] Testing mutation Cmp at src/Money/Amount.hs:544:10-23
1105.60 s
[really-safe-money-gen] @@ -541,7 +541,7 @@
1105.60 s
[really-safe-money-gen] maxBoundI = (fromIntegral :: Word64 -> Integer) (maxBound :: Word64)
1105.60 s
[really-safe-money-gen] r :: Integer
1105.60 s
[really-safe-money-gen] r = (fromIntegral :: Word32 -> Integer) f * (fromIntegral :: Word64 -> Integer) a
1112.61 s
[really-safe-money-gen] - in if r > maxBoundI
1112.61 s
[really-safe-money-gen] + in if r < maxBoundI
1112.66 s
[really-safe-money-gen] then Nothing
1112.66 s
[really-safe-money-gen] else Just (Amount ((fromInteger :: Integer -> Word64) r))
1112.66 s
[really-safe-money-gen]
1112.66 s
[really-safe-money-gen] Testing mutation Arith at src/Money/Amount.hs:543:11-88
1112.66 s
[really-safe-money-gen] @@ -540,7 +540,7 @@
1112.66 s
[really-safe-money-gen] let maxBoundI :: Integer
1112.66 s
[really-safe-money-gen] maxBoundI = (fromIntegral :: Word64 -> Integer) (maxBound :: Word64)
1112.66 s
[really-safe-money-gen] r :: Integer
1112.67 s
[really-safe-money-gen] - r = (fromIntegral :: Word32 -> Integer) f * (fromIntegral :: Word64 -> Integer) a
1112.67 s
[really-safe-money-gen] + r = (fromIntegral :: Word32 -> Integer) f - (fromIntegral :: Word64 -> Integer) a
1112.67 s
[really-safe-money-gen] in if r > maxBoundI
1112.67 s
[really-safe-money-gen] then Nothing
1112.67 s
[really-safe-money-gen] else Just (Amount ((fromInteger :: Integer -> Word64) r))
1112.67 s
[really-safe-money-gen] Testing mutation Cmp at src/Money/Amount.hs:544:10-23
1112.67 s
[really-safe-money-gen] @@ -541,7 +541,7 @@
1112.67 s
[really-safe-money-gen] maxBoundI = (fromIntegral :: Word64 -> Integer) (maxBound :: Word64)
1112.67 s
[really-safe-money-gen] r :: Integer
1112.67 s
[really-safe-money-gen] r = (fromIntegral :: Word32 -> Integer) f * (fromIntegral :: Word64 -> Integer) a
1112.67 s
[really-safe-money-gen] - in if r > maxBoundI
1112.67 s
[really-safe-money-gen] + in if r > = maxBoundI
1112.67 s
[really-safe-money-gen] then Nothing
1112.67 s
[really-safe-money-gen] else Just (Amount ((fromInteger :: Integer -> Word64) r))
1112.67 s
[really-safe-money-gen]
1112.67 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:544:10-23
1112.67 s
[really-safe-money-gen] @@ -541,7 +541,7 @@
1112.67 s
[really-safe-money-gen] maxBoundI = (fromIntegral :: Word64 -> Integer) (maxBound :: Word64)
1112.67 s
[really-safe-money-gen] r :: Integer
1112.67 s
[really-safe-money-gen] r = (fromIntegral :: Word32 -> Integer) f * (fromIntegral :: Word64 -> Integer) a
1112.67 s
[really-safe-money-gen] - in if r > max Bo u n d I
1112.67 s
[really-safe-money-gen] + in if T r u e
1112.67 s
[really-safe-money-gen] then Nothing
1112.67 s
[really-safe-money-gen] else Just (Amount ((fromInteger :: Integer -> Word64) r))
1112.67 s
[really-safe-money-gen]
1112.67 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:544:10-23
1112.67 s
[really-safe-money-gen] @@ -541,7 +541,7 @@
1112.67 s
[really-safe-money-gen] maxBoundI = (fromIntegral :: Word64 -> Integer) (maxBound :: Word64)
1112.67 s
[really-safe-money-gen] r :: Integer
1112.67 s
[really-safe-money-gen] r = (fromIntegral :: Word32 -> Integer) f * (fromIntegral :: Word64 -> Integer) a
1112.67 s
[really-safe-money-gen] - in if r > m a xB ound I
1112.67 s
[really-safe-money-gen] + in if F a l se
1112.67 s
[really-safe-money-gen] then Nothing
1112.67 s
[really-safe-money-gen] else Just (Amount ((fromInteger :: Integer -> Word64) r))
1112.67 s
[really-safe-money-gen]
1112.67 s
[really-safe-money-gen] Testing mutation Cmp at src/Money/Amount.hs:544:10-23
1112.67 s
[really-safe-money-gen] @@ -541,7 +541,7 @@
1112.67 s
[really-safe-money-gen] maxBoundI = (fromIntegral :: Word64 -> Integer) (maxBound :: Word64)
1112.67 s
[really-safe-money-gen] r :: Integer
1112.67 s
[really-safe-money-gen] r = (fromIntegral :: Word32 -> Integer) f * (fromIntegral :: Word64 -> Integer) a
1112.67 s
[really-safe-money-gen] - in if r > maxBoundI
1112.67 s
[really-safe-money-gen] + in if r < = maxBoundI
1112.68 s
[really-safe-money-gen] then Nothing
1112.68 s
[really-safe-money-gen] else Just (Amount ((fromInteger :: Integer -> Word64) r))
1112.68 s
[really-safe-money-gen]
1112.68 s
[really-safe-money-gen] Testing mutation Negate at src/Money/Amount.hs:544:10-23
1112.68 s
[really-safe-money-gen] @@ -541,7 +541,7 @@
1112.68 s
[really-safe-money-gen] maxBoundI = (fromIntegral :: Word64 -> Integer) (maxBound :: Word64)
1112.68 s
[really-safe-money-gen] r :: Integer
1112.68 s
[really-safe-money-gen] r = (fromIntegral :: Word32 -> Integer) f * (fromIntegral :: Word64 -> Integer) a
1112.68 s
[really-safe-money-gen] - in if r > maxBoundI
1112.68 s
[really-safe-money-gen] + in if n o t ( r > maxBoundI )
1112.68 s
[really-safe-money-gen] then Nothing
1112.68 s
[really-safe-money-gen] else Just (Amount ((fromInteger :: Integer -> Word64) r))
1112.68 s
[really-safe-money-gen]
1112.68 s
[really-safe-money-gen] Testing mutation MaybeOp at src/Money/Amount.hs:546:14-66
1112.68 s
[really-safe-money-gen] @@ -543,7 +543,7 @@
1112.68 s
[really-safe-money-gen] r = (fromIntegral :: Word32 -> Integer) f * (fromIntegral :: Word64 -> Integer) a
1112.68 s
[really-safe-money-gen] in if r > maxBoundI
1112.68 s
[really-safe-money-gen] then Nothing
1112.68 s
[really-safe-money-gen] - else J u s t ( Am o u n t ( (f rom I n t e g er :: Integer -> Word64) r))
1112.68 s
[really-safe-money-gen] + else N o t hi n g
1112.68 s
[really-safe-money-gen]
1112.68 s
[really-safe-money-gen] -- | Distribute an amount of money into chunks that are as evenly distributed as possible.
1112.68 s
[really-safe-money-gen] --
1112.68 s
[really-safe-money-gen] Testing mutation Arith at src/Money/Amount.hs:577:39-63
1112.68 s
[really-safe-money-gen] @@ -574,7 +574,7 @@
1112.68 s
[really-safe-money-gen] numberOfLargerChunks :: Word32
1112.68 s
[really-safe-money-gen] numberOfLargerChunks = (fromIntegral :: Word64 -> Word32) rest
1112.68 s
[really-safe-money-gen] numberOfSmallerChunks :: Word32
1112.68 s
[really-safe-money-gen] - numberOfSmallerChunks = f - numberOfLargerChunks
1112.68 s
[really-safe-money-gen] + numberOfSmallerChunks = f * numberOfLargerChunks
1112.68 s
[really-safe-money-gen] largerChunk :: Amount
1112.68 s
[really-safe-money-gen] largerChunk = Amount $ succ smallerChunkSize
1112.68 s
[really-safe-money-gen] in DistributedIntoUnequalChunks
1112.68 s
[really-safe-money-gen] Testing mutation Arith at src/Money/Amount.hs:517:11-18
1112.68 s
[really-safe-money-gen] @@ -514,7 +514,7 @@
1112.68 s
[really-safe-money-gen] i2 :: Integer
1112.68 s
[really-safe-money-gen] i2 = (fromIntegral :: Word64 -> Integer) a2
1112.68 s
[really-safe-money-gen] r :: Integer
1112.68 s
[really-safe-money-gen] - r = i1 - i2
1112.68 s
[really-safe-money-gen] + r = i1 + i2
1112.68 s
[really-safe-money-gen] in if r < 0
1112.68 s
[really-safe-money-gen] then Nothing
1112.68 s
[really-safe-money-gen] else Just (Amount ((fromInteger :: Integer -> Word64) r))
1112.68 s
[really-safe-money-gen] Testing mutation IntLit at src/Money/Amount.hs:518:14-15
1112.68 s
[really-safe-money-gen] @@ -515,7 +515,7 @@
1112.68 s
[really-safe-money-gen] i2 = (fromIntegral :: Word64 -> Integer) a2
1112.68 s
[really-safe-money-gen] r :: Integer
1112.68 s
[really-safe-money-gen] r = i1 - i2
1112.68 s
[really-safe-money-gen] - in if r < 0
1112.68 s
[really-safe-money-gen] + in if r < 1
1112.68 s
[really-safe-money-gen] then Nothing
1112.68 s
[really-safe-money-gen] else Just (Amount ((fromInteger :: Integer -> Word64) r))
1112.68 s
[really-safe-money-gen]
1112.68 s
[really-safe-money-gen] Testing mutation Arith at src/Money/Amount.hs:517:11-18
1112.68 s
[really-safe-money-gen] @@ -514,7 +514,7 @@
1112.68 s
[really-safe-money-gen] i2 :: Integer
1112.68 s
[really-safe-money-gen] i2 = (fromIntegral :: Word64 -> Integer) a2
1112.68 s
[really-safe-money-gen] r :: Integer
1112.68 s
[really-safe-money-gen] - r = i1 - i2
1112.68 s
[really-safe-money-gen] + r = i1 * i2
1112.69 s
[really-safe-money-gen] in if r < 0
1112.69 s
[really-safe-money-gen] then Nothing
1112.69 s
[really-safe-money-gen] else Just (Amount ((fromInteger :: Integer -> Word64) r))
1112.69 s
[really-safe-money-gen] Testing mutation IntLit at src/Money/QuantisationFactor.hs:40:62-63
1112.69 s
[really-safe-money-gen] @@ -37,7 +37,7 @@
1112.69 s
[really-safe-money-gen] validate qf@(QuantisationFactor w) =
1112.69 s
[really-safe-money-gen] mconcat
1112.69 s
[really-safe-money-gen] [ genericValidate qf,
1112.69 s
[really-safe-money-gen] - declare "The quantisation factor is not zero" $ w /= 0
1112.69 s
[really-safe-money-gen] + declare "The quantisation factor is not zero" $ w /= 1
1112.69 s
[really-safe-money-gen] ]
1112.69 s
[really-safe-money-gen]
1112.69 s
[really-safe-money-gen] instance NFData QuantisationFactor
1112.69 s
[really-safe-money-gen] Testing mutation Negate at src/Money/Amount.hs:518:10-15
1112.69 s
[really-safe-money-gen] @@ -515,7 +515,7 @@
1112.69 s
[really-safe-money-gen] i2 = (fromIntegral :: Word64 -> Integer) a2
1112.69 s
[really-safe-money-gen] r :: Integer
1112.69 s
[really-safe-money-gen] r = i1 - i2
1112.69 s
[really-safe-money-gen] - in if r < 0
1112.69 s
[really-safe-money-gen] + in if n o t ( r < 0 )
1112.69 s
[really-safe-money-gen] then Nothing
1112.69 s
[really-safe-money-gen] else Just (Amount ((fromInteger :: Integer -> Word64) r))
1112.69 s
[really-safe-money-gen]
1112.69 s
[really-safe-money-gen] Testing mutation MaybeOp at src/Money/Amount.hs:520:14-66
1112.69 s
[really-safe-money-gen] @@ -517,7 +517,7 @@
1112.69 s
[really-safe-money-gen] r = i1 - i2
1112.69 s
[really-safe-money-gen] in if r < 0
1112.69 s
[really-safe-money-gen] then Nothing
1112.69 s
[really-safe-money-gen] - else J u s t ( Am o u n t ( (f rom I n t e g er :: Integer -> Word64) r))
1112.69 s
[really-safe-money-gen] + else N o t hi n g
1112.69 s
[really-safe-money-gen]
1112.69 s
[really-safe-money-gen] -- | Multiply an amount of money by an integer scalar
1112.69 s
[really-safe-money-gen] --
1112.69 s
[really-safe-money-gen] Testing mutation Arith at src/Money/Amount.hs:720:6-40
1112.69 s
[really-safe-money-gen] @@ -717,7 +717,7 @@
1112.69 s
[really-safe-money-gen] rate _ _ _ (Amount 0) = Nothing
1112.69 s
[really-safe-money-gen] rate (QuantisationFactor qf1) (Amount a1) (QuantisationFactor qf2) (Amount a2) =
1112.69 s
[really-safe-money-gen] ConversionRate.fromRatio $
1112.69 s
[really-safe-money-gen] - (fromIntegral a2 * fromIntegral qf1)
1112.69 s
[really-safe-money-gen] + (fromIntegral a2 - fromIntegral qf1)
1112.69 s
[really-safe-money-gen] % (fromIntegral a1 * fromIntegral qf2)
1112.69 s
[really-safe-money-gen]
1112.69 s
[really-safe-money-gen] -- | Convert an amount of money of one currency into an amount of money of
1112.69 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:569:10-19
1112.69 s
[really-safe-money-gen] @@ -566,7 +566,7 @@
1112.69 s
[really-safe-money-gen] (smallerChunkSize, rest) = divMod a ((fromIntegral :: Word32 -> Word64) f)
1112.69 s
[really-safe-money-gen] smallerChunk :: Amount
1112.69 s
[really-safe-money-gen] smallerChunk = Amount smallerChunkSize
1112.69 s
[really-safe-money-gen] - in if r e s t == 0
1112.69 s
[really-safe-money-gen] + in if F al s e
1112.69 s
[really-safe-money-gen] then DistributedIntoEqualChunks f smallerChunk
1112.69 s
[really-safe-money-gen] else
1112.69 s
[really-safe-money-gen] let -- This 'fromIntegral' is theoretically not safe, but it's
1112.69 s
[really-safe-money-gen] Testing mutation Cmp at src/Money/Amount.hs:476:10-23
1112.70 s
[really-safe-money-gen] @@ -473,7 +473,7 @@
1112.70 s
[really-safe-money-gen] maxBoundI = fromIntegral (maxBound :: Word64)
1112.70 s
[really-safe-money-gen] r :: Integer
1119.50 s
[really-safe-money-gen] r = i1 + i2
1119.50 s
[really-safe-money-gen] - in if r > maxBoundI
1119.52 s
[really-safe-money-gen] + in if r < = maxBoundI
1119.52 s
[really-safe-money-gen] then Nothing
1119.52 s
[really-safe-money-gen] else Just (Amount ((fromInteger :: Integer -> Word64) r))
1119.52 s
[really-safe-money-gen]
1119.52 s
[really-safe-money-gen] Testing mutation Cmp at src/Money/Amount.hs:518:10-15
1119.52 s
[really-safe-money-gen] @@ -515,7 +515,7 @@
1119.53 s
[really-safe-money-gen] i2 = (fromIntegral :: Word64 -> Integer) a2
1119.53 s
[really-safe-money-gen] r :: Integer
1119.53 s
[really-safe-money-gen] r = i1 - i2
1119.53 s
[really-safe-money-gen] - in if r < 0
1119.53 s
[really-safe-money-gen] + in if r > = 0
1119.53 s
[really-safe-money-gen] then Nothing
1119.53 s
[really-safe-money-gen] else Just (Amount ((fromInteger :: Integer -> Word64) r))
1119.53 s
[really-safe-money-gen]
1119.53 s
[really-safe-money-gen] Testing mutation Cmp at src/Money/Amount.hs:476:10-23
1119.53 s
[really-safe-money-gen] @@ -473,7 +473,7 @@
1119.53 s
[really-safe-money-gen] maxBoundI = fromIntegral (maxBound :: Word64)
1119.53 s
[really-safe-money-gen] r :: Integer
1119.53 s
[really-safe-money-gen] r = i1 + i2
1119.53 s
[really-safe-money-gen] - in if r > maxBoundI
1119.53 s
[really-safe-money-gen] + in if r > = maxBoundI
1119.53 s
[really-safe-money-gen] then Nothing
1119.53 s
[really-safe-money-gen] else Just (Amount ((fromInteger :: Integer -> Word64) r))
1119.53 s
[really-safe-money-gen]
1119.53 s
[really-safe-money-gen] Testing mutation Cmp at src/Money/Amount.hs:518:10-15
1119.53 s
[really-safe-money-gen] @@ -515,7 +515,7 @@
1119.53 s
[really-safe-money-gen] i2 = (fromIntegral :: Word64 -> Integer) a2
1119.53 s
[really-safe-money-gen] r :: Integer
1119.53 s
[really-safe-money-gen] r = i1 - i2
1119.53 s
[really-safe-money-gen] - in if r < 0
1119.53 s
[really-safe-money-gen] + in if r < = 0
1119.53 s
[really-safe-money-gen] then Nothing
1119.53 s
[really-safe-money-gen] else Just (Amount ((fromInteger :: Integer -> Word64) r))
1119.53 s
[really-safe-money-gen]
1119.53 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:476:10-23
1119.53 s
[really-safe-money-gen] @@ -473,7 +473,7 @@
1119.53 s
[really-safe-money-gen] maxBoundI = fromIntegral (maxBound :: Word64)
1119.53 s
[really-safe-money-gen] r :: Integer
1119.53 s
[really-safe-money-gen] r = i1 + i2
1119.53 s
[really-safe-money-gen] - in if r > max Bo u n d I
1119.53 s
[really-safe-money-gen] + in if T r u e
1119.53 s
[really-safe-money-gen] then Nothing
1119.53 s
[really-safe-money-gen] else Just (Amount ((fromInteger :: Integer -> Word64) r))
1119.53 s
[really-safe-money-gen]
1119.53 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:476:10-23
1119.53 s
[really-safe-money-gen] @@ -473,7 +473,7 @@
1119.53 s
[really-safe-money-gen] maxBoundI = fromIntegral (maxBound :: Word64)
1119.53 s
[really-safe-money-gen] r :: Integer
1119.53 s
[really-safe-money-gen] r = i1 + i2
1119.53 s
[really-safe-money-gen] - in if r > m a xB ound I
1119.53 s
[really-safe-money-gen] + in if F a l se
1119.53 s
[really-safe-money-gen] then Nothing
1119.53 s
[really-safe-money-gen] else Just (Amount ((fromInteger :: Integer -> Word64) r))
1119.53 s
[really-safe-money-gen]
1119.53 s
[really-safe-money-gen] Testing mutation Negate at src/Money/Amount.hs:476:10-23
1119.53 s
[really-safe-money-gen] @@ -473,7 +473,7 @@
1119.53 s
[really-safe-money-gen] maxBoundI = fromIntegral (maxBound :: Word64)
1119.53 s
[really-safe-money-gen] r :: Integer
1119.53 s
[really-safe-money-gen] r = i1 + i2
1119.53 s
[really-safe-money-gen] - in if r > maxBoundI
1119.53 s
[really-safe-money-gen] + in if n o t ( r > maxBoundI )
1119.53 s
[really-safe-money-gen] then Nothing
1119.53 s
[really-safe-money-gen] else Just (Amount ((fromInteger :: Integer -> Word64) r))
1119.53 s
[really-safe-money-gen]
1119.53 s
[really-safe-money-gen] Testing mutation Arith at src/Money/Amount.hs:475:11-18
1119.53 s
[really-safe-money-gen] @@ -472,7 +472,7 @@
1119.53 s
[really-safe-money-gen] maxBoundI :: Integer
1119.53 s
[really-safe-money-gen] maxBoundI = fromIntegral (maxBound :: Word64)
1119.53 s
[really-safe-money-gen] r :: Integer
1119.53 s
[really-safe-money-gen] - r = i1 + i2
1119.53 s
[really-safe-money-gen] + r = i1 * i2
1119.53 s
[really-safe-money-gen] in if r > maxBoundI
1119.53 s
[really-safe-money-gen] then Nothing
1119.53 s
[really-safe-money-gen] else Just (Amount ((fromInteger :: Integer -> Word64) r))
1119.53 s
[really-safe-money-gen] Testing mutation MaybeOp at src/Money/Amount.hs:478:14-66
1119.53 s
[really-safe-money-gen] @@ -475,7 +475,7 @@
1119.53 s
[really-safe-money-gen] r = i1 + i2
1119.53 s
[really-safe-money-gen] in if r > maxBoundI
1119.53 s
[really-safe-money-gen] then Nothing
1119.54 s
[really-safe-money-gen] - else J u s t ( Am o u n t ( (f rom I n t e g er :: Integer -> Word64) r))
1119.54 s
[really-safe-money-gen] + else N o t hi n g
1119.54 s
[really-safe-money-gen]
1119.54 s
[really-safe-money-gen] -- | Add a number of amounts of money together.
1119.54 s
[really-safe-money-gen] --
1119.54 s
[really-safe-money-gen] Testing mutation Cmp at src/Money/Amount.hs:476:10-23
1119.54 s
[really-safe-money-gen] @@ -473,7 +473,7 @@
1119.54 s
[really-safe-money-gen] maxBoundI = fromIntegral (maxBound :: Word64)
1119.54 s
[really-safe-money-gen] r :: Integer
1119.54 s
[really-safe-money-gen] r = i1 + i2
1119.54 s
[really-safe-money-gen] - in if r > maxBoundI
1119.54 s
[really-safe-money-gen] + in if r < maxBoundI
1119.54 s
[really-safe-money-gen] then Nothing
1119.54 s
[really-safe-money-gen] else Just (Amount ((fromInteger :: Integer -> Word64) r))
1119.54 s
[really-safe-money-gen]
1119.54 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:388:5-16
1119.54 s
[really-safe-money-gen] @@ -385,7 +385,7 @@
1119.54 s
[really-safe-money-gen] -- Nothing
1119.54 s
[really-safe-money-gen] fromRational :: QuantisationFactor -> Rational -> Maybe Amount
1119.54 s
[really-safe-money-gen] fromRational (QuantisationFactor qf) r
1119.54 s
[really-safe-money-gen] - | i s I nva lid r = Nothing
1119.54 s
[really-safe-money-gen] + | T r u e = Nothing
1119.54 s
[really-safe-money-gen] | r < 0 = Nothing
1119.54 s
[really-safe-money-gen] | otherwise =
1119.54 s
[really-safe-money-gen] let resultRational :: Rational
1119.54 s
[really-safe-money-gen] Testing mutation Arith at src/Money/Amount.hs:475:11-18
1119.54 s
[really-safe-money-gen] @@ -472,7 +472,7 @@
1119.54 s
[really-safe-money-gen] maxBoundI :: Integer
1119.54 s
[really-safe-money-gen] maxBoundI = fromIntegral (maxBound :: Word64)
1119.54 s
[really-safe-money-gen] r :: Integer
1119.54 s
[really-safe-money-gen] - r = i1 + i2
1119.54 s
[really-safe-money-gen] + r = i1 - i2
1119.54 s
[really-safe-money-gen] in if r > maxBoundI
1119.54 s
[really-safe-money-gen] then Nothing
1119.54 s
[really-safe-money-gen] else Just (Amount ((fromInteger :: Integer -> Word64) r))
1119.54 s
[really-safe-money-gen] Testing mutation Negate at src/Money/Amount.hs:388:5-16
1119.54 s
[really-safe-money-gen] @@ -385,7 +385,7 @@
1119.54 s
[really-safe-money-gen] -- Nothing
1119.54 s
[really-safe-money-gen] fromRational :: QuantisationFactor -> Rational -> Maybe Amount
1119.54 s
[really-safe-money-gen] fromRational (QuantisationFactor qf) r
1119.54 s
[really-safe-money-gen] - | isInvalid r = Nothing
1119.54 s
[really-safe-money-gen] + | n o t ( isInvalid r ) = Nothing
1119.54 s
[really-safe-money-gen] | r < 0 = Nothing
1119.54 s
[really-safe-money-gen] | otherwise =
1119.54 s
[really-safe-money-gen] let resultRational :: Rational
1119.54 s
[really-safe-money-gen] Testing mutation IntLit at src/Money/Amount.hs:389:9-10
1119.54 s
[really-safe-money-gen] @@ -386,7 +386,7 @@
1119.54 s
[really-safe-money-gen] fromRational :: QuantisationFactor -> Rational -> Maybe Amount
1119.54 s
[really-safe-money-gen] fromRational (QuantisationFactor qf) r
1119.54 s
[really-safe-money-gen] | isInvalid r = Nothing
1119.54 s
[really-safe-money-gen] - | r < 0 = Nothing
1119.54 s
[really-safe-money-gen] + | r < 1 = Nothing
1119.54 s
[really-safe-money-gen] | otherwise =
1119.54 s
[really-safe-money-gen] let resultRational :: Rational
1119.54 s
[really-safe-money-gen] resultRational = r * (fromIntegral :: Word32 -> Rational) qf
1119.54 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:389:5-10
1119.54 s
[really-safe-money-gen] @@ -386,7 +386,7 @@
1119.54 s
[really-safe-money-gen] fromRational :: QuantisationFactor -> Rational -> Maybe Amount
1119.54 s
[really-safe-money-gen] fromRational (QuantisationFactor qf) r
1119.54 s
[really-safe-money-gen] | isInvalid r = Nothing
1119.54 s
[really-safe-money-gen] - | r < 0 = Nothing
1119.54 s
[really-safe-money-gen] + | T r u e = Nothing
1119.54 s
[really-safe-money-gen] | otherwise =
1119.54 s
[really-safe-money-gen] let resultRational :: Rational
1119.54 s
[really-safe-money-gen] resultRational = r * (fromIntegral :: Word32 -> Rational) qf
1119.54 s
[really-safe-money-gen] Testing mutation Cmp at src/Money/Amount.hs:389:5-10
1119.54 s
[really-safe-money-gen] @@ -386,7 +386,7 @@
1119.54 s
[really-safe-money-gen] fromRational :: QuantisationFactor -> Rational -> Maybe Amount
1119.54 s
[really-safe-money-gen] fromRational (QuantisationFactor qf) r
1119.54 s
[really-safe-money-gen] | isInvalid r = Nothing
1119.54 s
[really-safe-money-gen] - | r < 0 = Nothing
1119.54 s
[really-safe-money-gen] + | r > = 0 = Nothing
1119.54 s
[really-safe-money-gen] | otherwise =
1119.54 s
[really-safe-money-gen] let resultRational :: Rational
1119.54 s
[really-safe-money-gen] resultRational = r * (fromIntegral :: Word32 -> Rational) qf
1119.54 s
[really-safe-money-gen] Testing mutation Arith at src/Money/Amount.hs:392:28-71
1119.54 s
[really-safe-money-gen] @@ -389,7 +389,7 @@
1119.54 s
[really-safe-money-gen] | r < 0 = Nothing
1119.54 s
[really-safe-money-gen] | otherwise =
1119.54 s
[really-safe-money-gen] let resultRational :: Rational
1119.54 s
[really-safe-money-gen] - resultRational = r * (fromIntegral :: Word32 -> Rational) qf
1119.54 s
[really-safe-money-gen] + resultRational = r + (fromIntegral :: Word32 -> Rational) qf
1119.54 s
[really-safe-money-gen] ceiled :: Natural
1119.54 s
[really-safe-money-gen] ceiled = (ceiling :: Rational -> Natural) resultRational
1119.54 s
[really-safe-money-gen] floored :: Natural
1119.54 s
[really-safe-money-gen] Testing mutation Arith at src/Money/Amount.hs:721:10-44
1119.54 s
[really-safe-money-gen] @@ -718,7 +718,7 @@
1119.54 s
[really-safe-money-gen] rate (QuantisationFactor qf1) (Amount a1) (QuantisationFactor qf2) (Amount a2) =
1119.54 s
[really-safe-money-gen] ConversionRate.fromRatio $
1119.54 s
[really-safe-money-gen] (fromIntegral a2 * fromIntegral qf1)
1119.54 s
[really-safe-money-gen] - % (fromIntegral a1 * fromIntegral qf2)
1119.54 s
[really-safe-money-gen] + % (fromIntegral a1 - fromIntegral qf2)
1119.54 s
[really-safe-money-gen]
1119.54 s
[really-safe-money-gen] -- | Convert an amount of money of one currency into an amount of money of
1119.54 s
[really-safe-money-gen] -- another currency using a conversion rate.
1119.54 s
[really-safe-money-gen] Testing mutation Cmp at src/Money/Amount.hs:518:10-15
1119.54 s
[really-safe-money-gen] @@ -515,7 +515,7 @@
1119.54 s
[really-safe-money-gen] i2 = (fromIntegral :: Word64 -> Integer) a2
1119.54 s
[really-safe-money-gen] r :: Integer
1119.54 s
[really-safe-money-gen] r = i1 - i2
1119.54 s
[really-safe-money-gen] - in if r < 0
1119.54 s
[really-safe-money-gen] + in if r > 0
1119.54 s
[really-safe-money-gen] then Nothing
1119.54 s
[really-safe-money-gen] else Just (Amount ((fromInteger :: Integer -> Word64) r))
1119.54 s
[really-safe-money-gen]
1119.54 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:569:10-19
1119.54 s
[really-safe-money-gen] @@ -566,7 +566,7 @@
1126.31 s
[really-safe-money-gen] (smallerChunkSize, rest) = divMod a ((fromIntegral :: Word32 -> Word64) f)
1126.31 s
[really-safe-money-gen] smallerChunk :: Amount
1126.34 s
[really-safe-money-gen] smallerChunk = Amount smallerChunkSize
1126.34 s
[really-safe-money-gen] - in if r e s t == 0
1126.34 s
[really-safe-money-gen] + in if T r u e
1126.34 s
[really-safe-money-gen] then DistributedIntoEqualChunks f smallerChunk
1126.34 s
[really-safe-money-gen] else
1126.34 s
[really-safe-money-gen] let -- This 'fromIntegral' is theoretically not safe, but it's
1126.34 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:397:14-31
1126.34 s
[really-safe-money-gen] @@ -394,7 +394,7 @@
1126.34 s
[really-safe-money-gen] ceiled = (ceiling :: Rational -> Natural) resultRational
1126.34 s
[really-safe-money-gen] floored :: Natural
1126.34 s
[really-safe-money-gen] floored = (floor :: Rational -> Natural) resultRational
1126.34 s
[really-safe-money-gen] - in if c e il ed = = fl oo r e d
1126.34 s
[really-safe-money-gen] + in if T r u e
1126.34 s
[really-safe-money-gen] then
1126.35 s
[really-safe-money-gen] if ceiled > (fromIntegral :: Word64 -> Natural) (maxBound :: Word64)
1126.35 s
[really-safe-money-gen] then Nothing
1126.35 s
[really-safe-money-gen] Testing mutation Negate at src/Money/Amount.hs:397:14-31
1126.35 s
[really-safe-money-gen] @@ -394,7 +394,7 @@
1126.35 s
[really-safe-money-gen] ceiled = (ceiling :: Rational -> Natural) resultRational
1126.35 s
[really-safe-money-gen] floored :: Natural
1126.35 s
[really-safe-money-gen] floored = (floor :: Rational -> Natural) resultRational
1126.35 s
[really-safe-money-gen] - in if ceiled == floored
1126.35 s
[really-safe-money-gen] + in if n o t ( ceiled == floored )
1126.35 s
[really-safe-money-gen] then
1126.35 s
[really-safe-money-gen] if ceiled > (fromIntegral :: Word64 -> Natural) (maxBound :: Word64)
1126.35 s
[really-safe-money-gen] then Nothing
1126.35 s
[really-safe-money-gen] Testing mutation Cmp at src/Money/Amount.hs:389:5-10
1126.35 s
[really-safe-money-gen] @@ -386,7 +386,7 @@
1126.35 s
[really-safe-money-gen] fromRational :: QuantisationFactor -> Rational -> Maybe Amount
1126.35 s
[really-safe-money-gen] fromRational (QuantisationFactor qf) r
1126.35 s
[really-safe-money-gen] | isInvalid r = Nothing
1126.35 s
[really-safe-money-gen] - | r < 0 = Nothing
1126.35 s
[really-safe-money-gen] + | r > 0 = Nothing
1126.35 s
[really-safe-money-gen] | otherwise =
1126.35 s
[really-safe-money-gen] let resultRational :: Rational
1126.35 s
[really-safe-money-gen] resultRational = r * (fromIntegral :: Word32 -> Rational) qf
1126.35 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:397:14-31
1126.35 s
[really-safe-money-gen] @@ -394,7 +394,7 @@
1126.35 s
[really-safe-money-gen] ceiled = (ceiling :: Rational -> Natural) resultRational
1126.35 s
[really-safe-money-gen] floored :: Natural
1126.35 s
[really-safe-money-gen] floored = (floor :: Rational -> Natural) resultRational
1126.35 s
[really-safe-money-gen] - in if c e il ed = = f l oo r e d
1126.35 s
[really-safe-money-gen] + in if F a l s e
1126.35 s
[really-safe-money-gen] then
1126.35 s
[really-safe-money-gen] if ceiled > (fromIntegral :: Word64 -> Natural) (maxBound :: Word64)
1126.35 s
[really-safe-money-gen] then Nothing
1126.35 s
[really-safe-money-gen] Testing mutation Cmp at src/Money/Amount.hs:399:18-83
1126.35 s
[really-safe-money-gen] @@ -396,7 +396,7 @@
1126.35 s
[really-safe-money-gen] floored = (floor :: Rational -> Natural) resultRational
1126.35 s
[really-safe-money-gen] in if ceiled == floored
1126.35 s
[really-safe-money-gen] then
1126.35 s
[really-safe-money-gen] - if ceiled > (fromIntegral :: Word64 -> Natural) (maxBound :: Word64)
1126.36 s
[really-safe-money-gen] + if ceiled < (fromIntegral :: Word64 -> Natural) (maxBound :: Word64)
1126.36 s
[really-safe-money-gen] then Nothing
1126.36 s
[really-safe-money-gen] else Just $ Amount (fromIntegral ceiled)
1126.36 s
[really-safe-money-gen] else Nothing
1126.36 s
[really-safe-money-gen] Testing mutation Cmp at src/Money/Amount.hs:389:5-10
1126.36 s
[really-safe-money-gen] @@ -386,7 +386,7 @@
1126.36 s
[really-safe-money-gen] fromRational :: QuantisationFactor -> Rational -> Maybe Amount
1126.36 s
[really-safe-money-gen] fromRational (QuantisationFactor qf) r
1126.36 s
[really-safe-money-gen] | isInvalid r = Nothing
1126.36 s
[really-safe-money-gen] - | r < 0 = Nothing
1126.36 s
[really-safe-money-gen] + | r < = 0 = Nothing
1126.36 s
[really-safe-money-gen] | otherwise =
1126.36 s
[really-safe-money-gen] let resultRational :: Rational
1126.36 s
[really-safe-money-gen] resultRational = r * (fromIntegral :: Word32 -> Rational) qf
1126.36 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:518:10-15
1126.36 s
[really-safe-money-gen] @@ -515,7 +515,7 @@
1126.36 s
[really-safe-money-gen] i2 = (fromIntegral :: Word64 -> Integer) a2
1126.36 s
[really-safe-money-gen] r :: Integer
1126.36 s
[really-safe-money-gen] r = i1 - i2
1126.36 s
[really-safe-money-gen] - in if r < 0
1126.36 s
[really-safe-money-gen] + in if T r ue
1126.36 s
[really-safe-money-gen] then Nothing
1126.36 s
[really-safe-money-gen] else Just (Amount ((fromInteger :: Integer -> Word64) r))
1126.36 s
[really-safe-money-gen]
1126.36 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:399:18-83
1126.36 s
[really-safe-money-gen] @@ -396,7 +396,7 @@
1126.36 s
[really-safe-money-gen] floored = (floor :: Rational -> Natural) resultRational
1126.36 s
[really-safe-money-gen] in if ceiled == floored
1126.36 s
[really-safe-money-gen] then
1126.36 s
[really-safe-money-gen] - if c e il ed > ( f r o mI n t e g ra l :: Word64 -> Natural) (maxBound :: Word64)
1126.36 s
[really-safe-money-gen] + if T r u e
1126.36 s
[really-safe-money-gen] then Nothing
1126.36 s
[really-safe-money-gen] else Just $ Amount (fromIntegral ceiled)
1126.36 s
[really-safe-money-gen] else Nothing
1126.36 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:399:18-83
1126.36 s
[really-safe-money-gen] @@ -396,7 +396,7 @@
1126.36 s
[really-safe-money-gen] floored = (floor :: Rational -> Natural) resultRational
1126.36 s
[really-safe-money-gen] in if ceiled == floored
1126.36 s
[really-safe-money-gen] then
1126.36 s
[really-safe-money-gen] - if c e il ed > (fromIn tegral :: Word64 - > N a tura l ) (m ax Bound :: Word64)
1126.36 s
[really-safe-money-gen] + if F a l se
1126.36 s
[really-safe-money-gen] then Nothing
1126.36 s
[really-safe-money-gen] else Just $ Amount (fromIntegral ceiled)
1126.36 s
[really-safe-money-gen] else Nothing
1126.36 s
[really-safe-money-gen] Testing mutation Negate at src/Money/Amount.hs:399:18-83
1126.36 s
[really-safe-money-gen] @@ -396,7 +396,7 @@
1126.37 s
[really-safe-money-gen] floored = (floor :: Rational -> Natural) resultRational
1126.37 s
[really-safe-money-gen] in if ceiled == floored
1126.37 s
[really-safe-money-gen] then
1126.37 s
[really-safe-money-gen] - if ceiled > (fromIntegral :: Word64 -> Natural) (maxBound :: Word64)
1126.37 s
[really-safe-money-gen] + if n o t ( ceiled > (fromIntegral :: Word64 -> Natural) (maxBound :: Word64) )
1126.37 s
[really-safe-money-gen] then Nothing
1126.37 s
[really-safe-money-gen] else Just $ Amount (fromIntegral ceiled)
1126.37 s
[really-safe-money-gen] else Nothing
1126.37 s
[really-safe-money-gen] Testing mutation IntLit at src/Money/Amount.hs:320:9-10
1126.37 s
[really-safe-money-gen] @@ -317,7 +317,7 @@
1126.37 s
[really-safe-money-gen] Double ->
1126.37 s
[really-safe-money-gen] Maybe Amount
1126.37 s
[really-safe-money-gen] fromDouble (QuantisationFactor qf) d
1126.37 s
[really-safe-money-gen] - | d < 0 = Nothing
1126.37 s
[really-safe-money-gen] + | d < 1 = Nothing
1126.37 s
[really-safe-money-gen] | otherwise =
1126.37 s
[really-safe-money-gen] let resultDouble :: Double
1126.37 s
[really-safe-money-gen] resultDouble = d * (fromIntegral :: Word32 -> Double) qf
1126.37 s
[really-safe-money-gen] Testing mutation Cmp at src/Money/Amount.hs:320:5-10
1126.37 s
[really-safe-money-gen] @@ -317,7 +317,7 @@
1126.37 s
[really-safe-money-gen] Double ->
1126.37 s
[really-safe-money-gen] Maybe Amount
1126.37 s
[really-safe-money-gen] fromDouble (QuantisationFactor qf) d
1126.37 s
[really-safe-money-gen] - | d < 0 = Nothing
1126.37 s
[really-safe-money-gen] + | d < = 0 = Nothing
1126.37 s
[really-safe-money-gen] | otherwise =
1126.37 s
[really-safe-money-gen] let resultDouble :: Double
1126.37 s
[really-safe-money-gen] resultDouble = d * (fromIntegral :: Word32 -> Double) qf
1126.37 s
[really-safe-money-gen] Testing mutation Arith at src/Money/Amount.hs:392:28-71
1126.37 s
[really-safe-money-gen] @@ -389,7 +389,7 @@
1126.37 s
[really-safe-money-gen] | r < 0 = Nothing
1126.37 s
[really-safe-money-gen] | otherwise =
1126.37 s
[really-safe-money-gen] let resultRational :: Rational
1126.37 s
[really-safe-money-gen] - resultRational = r * (fromIntegral :: Word32 -> Rational) qf
1126.37 s
[really-safe-money-gen] + resultRational = r - (fromIntegral :: Word32 -> Rational) qf
1126.37 s
[really-safe-money-gen] ceiled :: Natural
1126.37 s
[really-safe-money-gen] ceiled = (ceiling :: Rational -> Natural) resultRational
1126.37 s
[really-safe-money-gen] floored :: Natural
1126.37 s
[really-safe-money-gen] Testing mutation Cmp at src/Money/Amount.hs:320:5-10
1126.37 s
[really-safe-money-gen] @@ -317,7 +317,7 @@
1126.37 s
[really-safe-money-gen] Double ->
1126.37 s
[really-safe-money-gen] Maybe Amount
1126.37 s
[really-safe-money-gen] fromDouble (QuantisationFactor qf) d
1126.37 s
[really-safe-money-gen] - | d < 0 = Nothing
1126.37 s
[really-safe-money-gen] + | d > 0 = Nothing
1126.37 s
[really-safe-money-gen] | otherwise =
1126.38 s
[really-safe-money-gen] let resultDouble :: Double
1126.38 s
[really-safe-money-gen] resultDouble = d * (fromIntegral :: Word32 -> Double) qf
1126.38 s
[really-safe-money-gen] Testing mutation Cmp at src/Money/Amount.hs:399:18-83
1126.38 s
[really-safe-money-gen] @@ -396,7 +396,7 @@
1126.38 s
[really-safe-money-gen] floored = (floor :: Rational -> Natural) resultRational
1126.38 s
[really-safe-money-gen] in if ceiled == floored
1126.38 s
[really-safe-money-gen] then
1126.38 s
[really-safe-money-gen] - if ceiled > (fromIntegral :: Word64 -> Natural) (maxBound :: Word64)
1126.38 s
[really-safe-money-gen] + if ceiled > = (fromIntegral :: Word64 -> Natural) (maxBound :: Word64)
1126.38 s
[really-safe-money-gen] then Nothing
1126.38 s
[really-safe-money-gen] else Just $ Amount (fromIntegral ceiled)
1126.38 s
[really-safe-money-gen] else Nothing
1126.38 s
[really-safe-money-gen] Testing mutation Cmp at src/Money/Amount.hs:320:5-10
1126.38 s
[really-safe-money-gen] @@ -317,7 +317,7 @@
1126.38 s
[really-safe-money-gen] Double ->
1126.38 s
[really-safe-money-gen] Maybe Amount
1126.38 s
[really-safe-money-gen] fromDouble (QuantisationFactor qf) d
1126.38 s
[really-safe-money-gen] - | d < 0 = Nothing
1132.37 s
[really-safe-money-gen] + | d > = 0 = Nothing
1132.40 s
[really-safe-money-gen] | otherwise =
1132.40 s
[really-safe-money-gen] let resultDouble :: Double
1132.40 s
[really-safe-money-gen] resultDouble = d * (fromIntegral :: Word32 -> Double) qf
1132.40 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:320:5-10
1132.40 s
[really-safe-money-gen] @@ -317,7 +317,7 @@
1132.40 s
[really-safe-money-gen] Double ->
1132.40 s
[really-safe-money-gen] Maybe Amount
1132.40 s
[really-safe-money-gen] fromDouble (QuantisationFactor qf) d
1132.40 s
[really-safe-money-gen] - | d < 0 = Nothing
1132.40 s
[really-safe-money-gen] + | T r u e = Nothing
1132.40 s
[really-safe-money-gen] | otherwise =
1132.40 s
[really-safe-money-gen] let resultDouble :: Double
1132.41 s
[really-safe-money-gen] resultDouble = d * (fromIntegral :: Word32 -> Double) qf
1132.41 s
[really-safe-money-gen] Testing mutation Negate at src/Money/Amount.hs:320:5-10
1132.41 s
[really-safe-money-gen] @@ -317,7 +317,7 @@
1132.41 s
[really-safe-money-gen] Double ->
1132.41 s
[really-safe-money-gen] Maybe Amount
1132.41 s
[really-safe-money-gen] fromDouble (QuantisationFactor qf) d
1132.41 s
[really-safe-money-gen] - | d < 0 = Nothing
1132.41 s
[really-safe-money-gen] + | n o t ( d < 0 ) = Nothing
1132.41 s
[really-safe-money-gen] | otherwise =
1132.41 s
[really-safe-money-gen] let resultDouble :: Double
1132.41 s
[really-safe-money-gen] resultDouble = d * (fromIntegral :: Word32 -> Double) qf
1132.41 s
[really-safe-money-gen] Testing mutation Arith at src/Money/Amount.hs:323:26-67
1132.41 s
[really-safe-money-gen] @@ -320,7 +320,7 @@
1132.41 s
[really-safe-money-gen] | d < 0 = Nothing
1132.41 s
[really-safe-money-gen] | otherwise =
1132.41 s
[really-safe-money-gen] let resultDouble :: Double
1132.41 s
[really-safe-money-gen] - resultDouble = d * (fromIntegral :: Word32 -> Double) qf
1132.41 s
[really-safe-money-gen] + resultDouble = d + (fromIntegral :: Word32 -> Double) qf
1132.41 s
[really-safe-money-gen] in go resultDouble
1132.41 s
[really-safe-money-gen] where
1132.41 s
[really-safe-money-gen] go resultDouble
1132.41 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:327:9-16
1132.41 s
[really-safe-money-gen] @@ -324,7 +324,7 @@
1132.41 s
[really-safe-money-gen] in go resultDouble
1132.41 s
[really-safe-money-gen] where
1132.41 s
[really-safe-money-gen] go resultDouble
1132.42 s
[really-safe-money-gen] - | i s NaN d = Nothing
1132.42 s
[really-safe-money-gen] + | T rue = Nothing
1132.42 s
[really-safe-money-gen] | isInfinite d = Nothing
1132.42 s
[really-safe-money-gen] | otherwise =
1132.42 s
[really-safe-money-gen] -- Shortcut for numbers that are way too big anyway
1132.42 s
[really-safe-money-gen] Testing mutation IntLit at src/Money/QuantisationFactor.hs:67:67-68
1132.42 s
[really-safe-money-gen] @@ -64,7 +64,7 @@
1132.42 s
[really-safe-money-gen] -- Just (DecimalLiteral Nothing 1 0)
1132.42 s
[really-safe-money-gen] toDecimalLiteral :: QuantisationFactor -> Maybe DecimalLiteral
1132.42 s
[really-safe-money-gen] toDecimalLiteral (QuantisationFactor qfw) =
1132.42 s
[really-safe-money-gen] - DecimalLiteral.setSignOptional <$> DecimalLiteral.fromRational ( 1 % fromIntegral qfw)
1132.42 s
[really-safe-money-gen] + DecimalLiteral.setSignOptional <$> DecimalLiteral.fromRational ( - 1 % fromIntegral qfw)
1132.42 s
[really-safe-money-gen]
1132.42 s
[really-safe-money-gen] -- | Parse a 'QuantisationFactor' from a 'DecimalLiteral' that represents the smallest unit
1132.42 s
[really-safe-money-gen] -- TODO explain that it's the inverse.
1132.42 s
[really-safe-money-gen] Testing mutation Negate at src/Money/Amount.hs:327:9-16
1132.42 s
[really-safe-money-gen] @@ -324,7 +324,7 @@
1132.42 s
[really-safe-money-gen] in go resultDouble
1132.42 s
[really-safe-money-gen] where
1132.42 s
[really-safe-money-gen] go resultDouble
1132.42 s
[really-safe-money-gen] - | isNaN d = Nothing
1132.42 s
[really-safe-money-gen] + | n o t ( isNaN d ) = Nothing
1132.42 s
[really-safe-money-gen] | isInfinite d = Nothing
1132.42 s
[really-safe-money-gen] | otherwise =
1132.42 s
[really-safe-money-gen] -- Shortcut for numbers that are way too big anyway
1132.42 s
[really-safe-money-gen] Testing mutation IntLit at src/Money/Amount.hs:569:18-19
1132.42 s
[really-safe-money-gen] @@ -566,7 +566,7 @@
1132.42 s
[really-safe-money-gen] (smallerChunkSize, rest) = divMod a ((fromIntegral :: Word32 -> Word64) f)
1132.42 s
[really-safe-money-gen] smallerChunk :: Amount
1132.42 s
[really-safe-money-gen] smallerChunk = Amount smallerChunkSize
1132.42 s
[really-safe-money-gen] - in if rest == 0
1132.42 s
[really-safe-money-gen] + in if rest == 1
1132.42 s
[really-safe-money-gen] then DistributedIntoEqualChunks f smallerChunk
1132.42 s
[really-safe-money-gen] else
1132.42 s
[really-safe-money-gen] let -- This 'fromIntegral' is theoretically not safe, but it's
1132.42 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:518:10-15
1132.42 s
[really-safe-money-gen] @@ -515,7 +515,7 @@
1132.42 s
[really-safe-money-gen] i2 = (fromIntegral :: Word64 -> Integer) a2
1132.42 s
[really-safe-money-gen] r :: Integer
1132.42 s
[really-safe-money-gen] r = i1 - i2
1132.42 s
[really-safe-money-gen] - in if r < 0
1132.42 s
[really-safe-money-gen] + in if False
1132.42 s
[really-safe-money-gen] then Nothing
1132.42 s
[really-safe-money-gen] else Just (Amount ((fromInteger :: Integer -> Word64) r))
1132.42 s
[really-safe-money-gen]
1132.42 s
[really-safe-money-gen] Testing mutation IntLit at src/Money/Amount.hs:801:36-38
1132.42 s
[really-safe-money-gen] @@ -798,7 +798,7 @@
1132.43 s
[really-safe-money-gen] quantisationFactorFormatString (QuantisationFactor 0) = "%f"
1132.43 s
[really-safe-money-gen] quantisationFactorFormatString (QuantisationFactor qf) =
1132.43 s
[really-safe-money-gen] let decimals :: Int
1132.43 s
[really-safe-money-gen] - decimals = ceiling $ logBase 1 0 (fromIntegral qf :: Float)
1132.43 s
[really-safe-money-gen] + decimals = ceiling $ logBase 1 (fromIntegral qf :: Float)
1132.43 s
[really-safe-money-gen] in printf "%%0.%df" decimals
1132.43 s
[really-safe-money-gen]
1132.43 s
[really-safe-money-gen] -- | Validate that an 'Amount' is strictly positive. I.e. not 'zero'.
1132.43 s
[really-safe-money-gen] Testing mutation Negate at src/Money/Amount.hs:389:5-10
1132.43 s
[really-safe-money-gen] @@ -386,7 +386,7 @@
1132.43 s
[really-safe-money-gen] fromRational :: QuantisationFactor -> Rational -> Maybe Amount
1132.43 s
[really-safe-money-gen] fromRational (QuantisationFactor qf) r
1132.43 s
[really-safe-money-gen] | isInvalid r = Nothing
1132.43 s
[really-safe-money-gen] - | r < 0 = Nothing
1132.43 s
[really-safe-money-gen] + | n o t ( r < 0 ) = Nothing
1132.43 s
[really-safe-money-gen] | otherwise =
1132.43 s
[really-safe-money-gen] let resultRational :: Rational
1132.43 s
[really-safe-money-gen] resultRational = r * (fromIntegral :: Word32 -> Rational) qf
1132.43 s
[really-safe-money-gen] Testing mutation Cmp at src/Money/Amount.hs:399:18-83
1132.43 s
[really-safe-money-gen] @@ -396,7 +396,7 @@
1132.43 s
[really-safe-money-gen] floored = (floor :: Rational -> Natural) resultRational
1132.43 s
[really-safe-money-gen] in if ceiled == floored
1132.43 s
[really-safe-money-gen] then
1132.43 s
[really-safe-money-gen] - if ceiled > (fromIntegral :: Word64 -> Natural) (maxBound :: Word64)
1132.43 s
[really-safe-money-gen] + if ceiled < = (fromIntegral :: Word64 -> Natural) (maxBound :: Word64)
1132.43 s
[really-safe-money-gen] then Nothing
1132.43 s
[really-safe-money-gen] else Just $ Amount (fromIntegral ceiled)
1132.43 s
[really-safe-money-gen] else Nothing
1132.43 s
[really-safe-money-gen] Testing mutation Arith at src/Money/Amount.hs:323:26-67
1132.43 s
[really-safe-money-gen] @@ -320,7 +320,7 @@
1132.43 s
[really-safe-money-gen] | d < 0 = Nothing
1132.43 s
[really-safe-money-gen] | otherwise =
1132.43 s
[really-safe-money-gen] let resultDouble :: Double
1132.43 s
[really-safe-money-gen] - resultDouble = d * (fromIntegral :: Word32 -> Double) qf
1132.43 s
[really-safe-money-gen] + resultDouble = d - (fromIntegral :: Word32 -> Double) qf
1132.43 s
[really-safe-money-gen] in go resultDouble
1132.43 s
[really-safe-money-gen] where
1132.43 s
[really-safe-money-gen] go resultDouble
1132.43 s
[really-safe-money-gen] Testing mutation Cmp at src/Money/Amount.hs:332:14-40
1132.43 s
[really-safe-money-gen] @@ -329,7 +329,7 @@
1132.43 s
[really-safe-money-gen] | otherwise =
1132.43 s
[really-safe-money-gen] -- Shortcut for numbers that are way too big anyway
1132.43 s
[really-safe-money-gen] -- so that we don't have to compute the according 'Natural' values.
1132.43 s
[really-safe-money-gen] - if exponent resultDouble > 65
1132.43 s
[really-safe-money-gen] + if exponent resultDouble < = 65
1132.43 s
[really-safe-money-gen] then Nothing
1132.43 s
[really-safe-money-gen] else
1132.43 s
[really-safe-money-gen] let ceiled :: Natural
1132.43 s
[really-safe-money-gen] Testing mutation IntLit at src/Money/Amount.hs:332:38-40
1132.43 s
[really-safe-money-gen] @@ -329,7 +329,7 @@
1132.43 s
[really-safe-money-gen] | otherwise =
1132.43 s
[really-safe-money-gen] -- Shortcut for numbers that are way too big anyway
1132.43 s
[really-safe-money-gen] -- so that we don't have to compute the according 'Natural' values.
1132.43 s
[really-safe-money-gen] - if exponent resultDouble > 6 5
1132.43 s
[really-safe-money-gen] + if exponent resultDouble > 0
1132.43 s
[really-safe-money-gen] then Nothing
1132.43 s
[really-safe-money-gen] else
1132.43 s
[really-safe-money-gen] let ceiled :: Natural
1132.43 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:332:14-40
1132.43 s
[really-safe-money-gen] @@ -329,7 +329,7 @@
1132.44 s
[really-safe-money-gen] | otherwise =
1132.44 s
[really-safe-money-gen] -- Shortcut for numbers that are way too big anyway
1132.44 s
[really-safe-money-gen] -- so that we don't have to compute the according 'Natural' values.
1132.44 s
[really-safe-money-gen] - if e x pon ent r e s ult Do u b l e > 65
1132.44 s
[really-safe-money-gen] + if T r u e
1132.44 s
[really-safe-money-gen] then Nothing
1132.44 s
[really-safe-money-gen] else
1132.44 s
[really-safe-money-gen] let ceiled :: Natural
1132.44 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:339:22-39
1132.44 s
[really-safe-money-gen] @@ -336,7 +336,7 @@
1132.44 s
[really-safe-money-gen] ceiled = (ceiling :: Double -> Natural) resultDouble
1132.44 s
[really-safe-money-gen] floored :: Natural
1132.44 s
[really-safe-money-gen] floored = (floor :: Double -> Natural) resultDouble
1132.44 s
[really-safe-money-gen] - in if c e il ed = = fl oo r e d
1132.44 s
[really-safe-money-gen] + in if T r u e
1132.44 s
[really-safe-money-gen] then
1132.44 s
[really-safe-money-gen] if ceiled > (fromIntegral :: Word64 -> Natural) (maxBound :: Word64)
1132.44 s
[really-safe-money-gen] then Nothing
1132.44 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:339:22-39
1132.44 s
[really-safe-money-gen] @@ -336,7 +336,7 @@
1132.44 s
[really-safe-money-gen] ceiled = (ceiling :: Double -> Natural) resultDouble
1136.38 s
[really-safe-money-gen] floored :: Natural
1136.38 s
[really-safe-money-gen] floored = (floor :: Double -> Natural) resultDouble
1136.38 s
[really-safe-money-gen] - in if c e il ed = = f l oo r e d
1136.38 s
[really-safe-money-gen] + in if F a l s e
1136.38 s
[really-safe-money-gen] then
1136.38 s
[really-safe-money-gen] if ceiled > (fromIntegral :: Word64 -> Natural) (maxBound :: Word64)
1136.38 s
[really-safe-money-gen] then Nothing
1136.38 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:328:9-21
1136.38 s
[really-safe-money-gen] @@ -325,7 +325,7 @@
1136.39 s
[really-safe-money-gen] where
1136.39 s
[really-safe-money-gen] go resultDouble
1136.39 s
[really-safe-money-gen] | isNaN d = Nothing
1136.39 s
[really-safe-money-gen] - | i s In fin i t e d = Nothing
1136.39 s
[really-safe-money-gen] + | T ru e = Nothing
1136.39 s
[really-safe-money-gen] | otherwise =
1136.39 s
[really-safe-money-gen] -- Shortcut for numbers that are way too big anyway
1136.39 s
[really-safe-money-gen] -- so that we don't have to compute the according 'Natural' values.
1136.39 s
[really-safe-money-gen] Testing mutation Cmp at src/Money/Amount.hs:341:26-91
1136.39 s
[really-safe-money-gen] @@ -338,7 +338,7 @@
1136.39 s
[really-safe-money-gen] floored = (floor :: Double -> Natural) resultDouble
1136.39 s
[really-safe-money-gen] in if ceiled == floored
1136.39 s
[really-safe-money-gen] then
1136.39 s
[really-safe-money-gen] - if ceiled > (fromIntegral :: Word64 -> Natural) (maxBound :: Word64)
1136.39 s
[really-safe-money-gen] + if ceiled < (fromIntegral :: Word64 -> Natural) (maxBound :: Word64)
1136.39 s
[really-safe-money-gen] then Nothing
1136.39 s
[really-safe-money-gen] else Just $ Amount (fromIntegral ceiled)
1136.39 s
[really-safe-money-gen] else Nothing
1136.39 s
[really-safe-money-gen] Testing mutation Negate at src/Money/Amount.hs:339:22-39
1136.39 s
[really-safe-money-gen] @@ -336,7 +336,7 @@
1136.39 s
[really-safe-money-gen] ceiled = (ceiling :: Double -> Natural) resultDouble
1136.39 s
[really-safe-money-gen] floored :: Natural
1136.39 s
[really-safe-money-gen] floored = (floor :: Double -> Natural) resultDouble
1136.39 s
[really-safe-money-gen] - in if ceiled == floored
1136.39 s
[really-safe-money-gen] + in if n o t ( ceiled == floored )
1136.39 s
[really-safe-money-gen] then
1136.39 s
[really-safe-money-gen] if ceiled > (fromIntegral :: Word64 -> Natural) (maxBound :: Word64)
1136.39 s
[really-safe-money-gen] then Nothing
1136.39 s
[really-safe-money-gen] Testing mutation Cmp at src/Money/Amount.hs:341:26-91
1136.39 s
[really-safe-money-gen] @@ -338,7 +338,7 @@
1136.39 s
[really-safe-money-gen] floored = (floor :: Double -> Natural) resultDouble
1136.39 s
[really-safe-money-gen] in if ceiled == floored
1136.39 s
[really-safe-money-gen] then
1136.39 s
[really-safe-money-gen] - if ceiled > (fromIntegral :: Word64 -> Natural) (maxBound :: Word64)
1136.39 s
[really-safe-money-gen] + if ceiled < = (fromIntegral :: Word64 -> Natural) (maxBound :: Word64)
1136.39 s
[really-safe-money-gen] then Nothing
1136.39 s
[really-safe-money-gen] else Just $ Amount (fromIntegral ceiled)
1136.39 s
[really-safe-money-gen] else Nothing
1136.39 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:341:26-91
1136.39 s
[really-safe-money-gen] @@ -338,7 +338,7 @@
1136.39 s
[really-safe-money-gen] floored = (floor :: Double -> Natural) resultDouble
1136.39 s
[really-safe-money-gen] in if ceiled == floored
1136.39 s
[really-safe-money-gen] then
1136.39 s
[really-safe-money-gen] - if c e il ed > (fromIn tegral :: Word64 - > N a tura l ) (m ax Bound :: Word64)
1136.39 s
[really-safe-money-gen] + if F a l se
1136.39 s
[really-safe-money-gen] then Nothing
1136.39 s
[really-safe-money-gen] else Just $ Amount (fromIntegral ceiled)
1136.39 s
[really-safe-money-gen] else Nothing
1136.39 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:341:26-91
1136.39 s
[really-safe-money-gen] @@ -338,7 +338,7 @@
1136.39 s
[really-safe-money-gen] floored = (floor :: Double -> Natural) resultDouble
1136.39 s
[really-safe-money-gen] in if ceiled == floored
1136.40 s
[really-safe-money-gen] then
1136.40 s
[really-safe-money-gen] - if c e il ed > ( f r o mI n t e g ra l :: Word64 -> Natural) (maxBound :: Word64)
1136.40 s
[really-safe-money-gen] + if T r u e
1136.40 s
[really-safe-money-gen] then Nothing
1136.40 s
[really-safe-money-gen] else Just $ Amount (fromIntegral ceiled)
1136.40 s
[really-safe-money-gen] else Nothing
1136.40 s
[really-safe-money-gen] Testing mutation IntLit at src/Money/Amount.hs:290:79-80
1136.40 s
[really-safe-money-gen] @@ -287,7 +287,7 @@
1136.40 s
[really-safe-money-gen] -- >>> toRatio (QuantisationFactor 100) (Amount 1)
1136.40 s
[really-safe-money-gen] -- 1 % 100
1136.40 s
[really-safe-money-gen] toRatio :: QuantisationFactor -> Amount -> Ratio Natural
1136.40 s
[really-safe-money-gen] - toRatio (QuantisationFactor 0) a = fromIntegral (toMinimalQuantisations a) :% 0
1136.40 s
[really-safe-money-gen] + toRatio (QuantisationFactor 0) a = fromIntegral (toMinimalQuantisations a) :% 1
1136.40 s
[really-safe-money-gen] toRatio (QuantisationFactor quantisationFactor) a =
1136.40 s
[really-safe-money-gen] (fromIntegral :: Word64 -> Natural) (toMinimalQuantisations a)
1136.40 s
[really-safe-money-gen] % (fromIntegral :: Word32 -> Natural) quantisationFactor
1136.40 s
[really-safe-money-gen] Testing mutation Negate at src/Money/Amount.hs:341:26-91
1136.40 s
[really-safe-money-gen] @@ -338,7 +338,7 @@
1136.40 s
[really-safe-money-gen] floored = (floor :: Double -> Natural) resultDouble
1136.40 s
[really-safe-money-gen] in if ceiled == floored
1136.40 s
[really-safe-money-gen] then
1136.40 s
[really-safe-money-gen] - if ceiled > (fromIntegral :: Word64 -> Natural) (maxBound :: Word64)
1136.40 s
[really-safe-money-gen] + if n o t ( ceiled > (fromIntegral :: Word64 -> Natural) (maxBound :: Word64) )
1136.40 s
[really-safe-money-gen] then Nothing
1136.40 s
[really-safe-money-gen] else Just $ Amount (fromIntegral ceiled)
1136.40 s
[really-safe-money-gen] else Nothing
1136.40 s
[really-safe-money-gen] Testing mutation Arith at src/Money/Amount.hs:494:29-94
1136.40 s
[really-safe-money-gen] @@ -491,7 +491,7 @@
1136.40 s
[really-safe-money-gen] let maxBoundI :: Integer
1136.40 s
[really-safe-money-gen] maxBoundI = fromIntegral (maxBound :: Word64)
1136.40 s
[really-safe-money-gen] r :: Integer
1136.40 s
[really-safe-money-gen] - r = foldl' (\acc a -> (toInteger :: Word64 -> Integer) (toMinimalQuantisations a) + acc) 0 l
1136.40 s
[really-safe-money-gen] + r = foldl' (\acc a -> (toInteger :: Word64 -> Integer) (toMinimalQuantisations a) - acc) 0 l
1136.40 s
[really-safe-money-gen] in if r > maxBoundI
1136.40 s
[really-safe-money-gen] then Nothing
1136.40 s
[really-safe-money-gen] else Just (Amount ((fromInteger :: Integer -> Word64) r))
1136.40 s
[really-safe-money-gen] Testing mutation Negate at src/Money/Amount.hs:328:9-21
1136.40 s
[really-safe-money-gen] @@ -325,7 +325,7 @@
1136.40 s
[really-safe-money-gen] where
1136.40 s
[really-safe-money-gen] go resultDouble
1136.40 s
[really-safe-money-gen] | isNaN d = Nothing
1136.40 s
[really-safe-money-gen] - | isInfinite d = Nothing
1136.40 s
[really-safe-money-gen] + | n o t ( isInfinite d ) = Nothing
1136.40 s
[really-safe-money-gen] | otherwise =
1136.40 s
[really-safe-money-gen] -- Shortcut for numbers that are way too big anyway
1136.40 s
[really-safe-money-gen] -- so that we don't have to compute the according 'Natural' values.
1136.41 s
[really-safe-money-gen] Testing mutation Cmp at src/Money/Amount.hs:332:14-40
1136.41 s
[really-safe-money-gen] @@ -329,7 +329,7 @@
1136.41 s
[really-safe-money-gen] | otherwise =
1136.41 s
[really-safe-money-gen] -- Shortcut for numbers that are way too big anyway
1136.41 s
[really-safe-money-gen] -- so that we don't have to compute the according 'Natural' values.
1136.41 s
[really-safe-money-gen] - if exponent resultDouble > 65
1136.41 s
[really-safe-money-gen] + if exponent resultDouble > = 65
1136.41 s
[really-safe-money-gen] then Nothing
1136.41 s
[really-safe-money-gen] else
1136.41 s
[really-safe-money-gen] let ceiled :: Natural
1136.41 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:332:14-40
1136.41 s
[really-safe-money-gen] @@ -329,7 +329,7 @@
1136.41 s
[really-safe-money-gen] | otherwise =
1136.41 s
[really-safe-money-gen] -- Shortcut for numbers that are way too big anyway
1136.41 s
[really-safe-money-gen] -- so that we don't have to compute the according 'Natural' values.
1136.41 s
[really-safe-money-gen] - if e xp one nt r e s ultDoub l e > 65
1136.41 s
[really-safe-money-gen] + if Fa l s e
1136.41 s
[really-safe-money-gen] then Nothing
1136.41 s
[really-safe-money-gen] else
1136.41 s
[really-safe-money-gen] let ceiled :: Natural
1136.41 s
[really-safe-money-gen] Testing mutation Cmp at src/Money/Amount.hs:332:14-40
1136.41 s
[really-safe-money-gen] @@ -329,7 +329,7 @@
1136.41 s
[really-safe-money-gen] | otherwise =
1136.41 s
[really-safe-money-gen] -- Shortcut for numbers that are way too big anyway
1136.41 s
[really-safe-money-gen] -- so that we don't have to compute the according 'Natural' values.
1136.41 s
[really-safe-money-gen] - if exponent resultDouble > 65
1136.41 s
[really-safe-money-gen] + if exponent resultDouble < 65
1136.41 s
[really-safe-money-gen] then Nothing
1136.41 s
[really-safe-money-gen] else
1136.41 s
[really-safe-money-gen] let ceiled :: Natural
1136.41 s
[really-safe-money-gen] Testing mutation Cmp at src/Money/Amount.hs:341:26-91
1136.41 s
[really-safe-money-gen] @@ -338,7 +338,7 @@
1142.58 s
[really-safe-money-gen] floored = (floor :: Double -> Natural) resultDouble
1142.60 s
[really-safe-money-gen] in if ceiled == floored
1142.60 s
[really-safe-money-gen] then
1142.60 s
[really-safe-money-gen] - if ceiled > (fromIntegral :: Word64 -> Natural) (maxBound :: Word64)
1142.60 s
[really-safe-money-gen] + if ceiled > = (fromIntegral :: Word64 -> Natural) (maxBound :: Word64)
1142.61 s
[really-safe-money-gen] then Nothing
1142.61 s
[really-safe-money-gen] else Just $ Amount (fromIntegral ceiled)
1142.61 s
[really-safe-money-gen] else Nothing
1142.61 s
[really-safe-money-gen] Testing mutation IntLit at src/Money/Amount.hs:332:38-40
1142.61 s
[really-safe-money-gen] @@ -329,7 +329,7 @@
1142.61 s
[really-safe-money-gen] | otherwise =
1142.61 s
[really-safe-money-gen] -- Shortcut for numbers that are way too big anyway
1142.61 s
[really-safe-money-gen] -- so that we don't have to compute the according 'Natural' values.
1142.61 s
[really-safe-money-gen] - if exponent resultDouble > 6 5
1142.61 s
[really-safe-money-gen] + if exponent resultDouble > 1
1142.61 s
[really-safe-money-gen] then Nothing
1142.61 s
[really-safe-money-gen] else
1142.61 s
[really-safe-money-gen] let ceiled :: Natural
1142.61 s
[really-safe-money-gen] Testing mutation Cmp at src/Money/Amount.hs:495:10-23
1142.61 s
[really-safe-money-gen] @@ -492,7 +492,7 @@
1142.61 s
[really-safe-money-gen] maxBoundI = fromIntegral (maxBound :: Word64)
1142.61 s
[really-safe-money-gen] r :: Integer
1142.61 s
[really-safe-money-gen] r = foldl' (\acc a -> (toInteger :: Word64 -> Integer) (toMinimalQuantisations a) + acc) 0 l
1142.61 s
[really-safe-money-gen] - in if r > maxBoundI
1142.61 s
[really-safe-money-gen] + in if r < = maxBoundI
1142.61 s
[really-safe-money-gen] then Nothing
1142.61 s
[really-safe-money-gen] else Just (Amount ((fromInteger :: Integer -> Word64) r))
1142.61 s
[really-safe-money-gen]
1142.61 s
[really-safe-money-gen] Testing mutation Cmp at src/Money/Amount.hs:495:10-23
1142.61 s
[really-safe-money-gen] @@ -492,7 +492,7 @@
1142.61 s
[really-safe-money-gen] maxBoundI = fromIntegral (maxBound :: Word64)
1142.61 s
[really-safe-money-gen] r :: Integer
1142.61 s
[really-safe-money-gen] r = foldl' (\acc a -> (toInteger :: Word64 -> Integer) (toMinimalQuantisations a) + acc) 0 l
1142.61 s
[really-safe-money-gen] - in if r > maxBoundI
1142.61 s
[really-safe-money-gen] + in if r > = maxBoundI
1142.61 s
[really-safe-money-gen] then Nothing
1142.61 s
[really-safe-money-gen] else Just (Amount ((fromInteger :: Integer -> Word64) r))
1142.61 s
[really-safe-money-gen]
1142.61 s
[really-safe-money-gen] Testing mutation Cmp at src/Money/Amount.hs:495:10-23
1142.61 s
[really-safe-money-gen] @@ -492,7 +492,7 @@
1142.61 s
[really-safe-money-gen] maxBoundI = fromIntegral (maxBound :: Word64)
1142.61 s
[really-safe-money-gen] r :: Integer
1142.61 s
[really-safe-money-gen] r = foldl' (\acc a -> (toInteger :: Word64 -> Integer) (toMinimalQuantisations a) + acc) 0 l
1142.61 s
[really-safe-money-gen] - in if r > maxBoundI
1142.61 s
[really-safe-money-gen] + in if r < maxBoundI
1142.61 s
[really-safe-money-gen] then Nothing
1142.62 s
[really-safe-money-gen] else Just (Amount ((fromInteger :: Integer -> Word64) r))
1142.62 s
[really-safe-money-gen]
1142.62 s
[really-safe-money-gen] Testing mutation IntLit at src/Money/Amount.hs:494:96-97
1142.62 s
[really-safe-money-gen] @@ -491,7 +491,7 @@
1142.62 s
[really-safe-money-gen] let maxBoundI :: Integer
1142.62 s
[really-safe-money-gen] maxBoundI = fromIntegral (maxBound :: Word64)
1142.62 s
[really-safe-money-gen] r :: Integer
1142.62 s
[really-safe-money-gen] - r = foldl' (\acc a -> (toInteger :: Word64 -> Integer) (toMinimalQuantisations a) + acc) 0 l
1142.62 s
[really-safe-money-gen] + r = foldl' (\acc a -> (toInteger :: Word64 -> Integer) (toMinimalQuantisations a) + acc) 1 l
1142.62 s
[really-safe-money-gen] in if r > maxBoundI
1142.62 s
[really-safe-money-gen] then Nothing
1142.62 s
[really-safe-money-gen] else Just (Amount ((fromInteger :: Integer -> Word64) r))
1142.62 s
[really-safe-money-gen] Testing mutation IntLit at src/Money/Amount.hs:332:38-40
1142.62 s
[really-safe-money-gen] @@ -329,7 +329,7 @@
1142.62 s
[really-safe-money-gen] | otherwise =
1142.62 s
[really-safe-money-gen] -- Shortcut for numbers that are way too big anyway
1142.62 s
[really-safe-money-gen] -- so that we don't have to compute the according 'Natural' values.
1142.62 s
[really-safe-money-gen] - if exponent resultDouble > 65
1142.62 s
[really-safe-money-gen] + if exponent resultDouble > - 65
1142.62 s
[really-safe-money-gen] then Nothing
1142.62 s
[really-safe-money-gen] else
1142.62 s
[really-safe-money-gen] let ceiled :: Natural
1142.62 s
[really-safe-money-gen] Testing mutation IntLit at src/Money/Amount.hs:661:30-31
1142.62 s
[really-safe-money-gen] @@ -658,7 +658,7 @@
1142.62 s
[really-safe-money-gen] -- | The amount and the real rate that was used, considering the 'Rounding'
1142.62 s
[really-safe-money-gen] (Maybe Amount, Ratio Natural)
1142.62 s
[really-safe-money-gen] fraction _ (Amount 0) f = (Just zero, f)
1142.62 s
[really-safe-money-gen] - fraction _ _ 0 = (Just zero, 0 )
1142.62 s
[really-safe-money-gen] + fraction _ _ 0 = (Just zero, 1 )
1142.62 s
[really-safe-money-gen] fraction r (Amount a) f =
1142.62 s
[really-safe-money-gen] let amountAsRatio :: Ratio Natural
1142.62 s
[really-safe-money-gen] amountAsRatio = (fromIntegral :: Word64 -> Ratio Natural) a
1142.62 s
[really-safe-money-gen] Testing mutation Negate at src/Money/Amount.hs:495:10-23
1142.62 s
[really-safe-money-gen] @@ -492,7 +492,7 @@
1142.62 s
[really-safe-money-gen] maxBoundI = fromIntegral (maxBound :: Word64)
1142.62 s
[really-safe-money-gen] r :: Integer
1142.62 s
[really-safe-money-gen] r = foldl' (\acc a -> (toInteger :: Word64 -> Integer) (toMinimalQuantisations a) + acc) 0 l
1142.62 s
[really-safe-money-gen] - in if r > maxBoundI
1142.62 s
[really-safe-money-gen] + in if n o t ( r > maxBoundI )
1142.62 s
[really-safe-money-gen] then Nothing
1142.62 s
[really-safe-money-gen] else Just (Amount ((fromInteger :: Integer -> Word64) r))
1142.62 s
[really-safe-money-gen]
1142.62 s
[really-safe-money-gen] Testing mutation IntLit at src/Money/Amount.hs:250:15-16
1142.62 s
[really-safe-money-gen] @@ -247,7 +247,7 @@
1142.62 s
[really-safe-money-gen] -- >>> zero
1142.62 s
[really-safe-money-gen] -- Amount 0
1142.62 s
[really-safe-money-gen] zero :: Amount
1142.62 s
[really-safe-money-gen] - zero = Amount 0
1142.63 s
[really-safe-money-gen] + zero = Amount 1
1142.63 s
[really-safe-money-gen]
1142.63 s
[really-safe-money-gen] -- | Turn an amount into a number of minimal quantisations.
1142.63 s
[really-safe-money-gen] --
1142.63 s
[really-safe-money-gen] Testing mutation RemoveCase at src/Money/Amount.hs:668:17-30
1142.63 s
[really-safe-money-gen] @@ -665,10 +665,9 @@
1142.63 s
[really-safe-money-gen] theoreticalResult :: Ratio Natural
1142.63 s
[really-safe-money-gen] theoreticalResult = amountAsRatio * f
1142.63 s
[really-safe-money-gen] rounder :: Ratio Natural -> Natural
1142.63 s
[really-safe-money-gen] rounder = case r of
1142.63 s
[really-safe-money-gen] - RoundUp -> ceiling
1142.63 s
[really-safe-money-gen] RoundDown -> floor
1142.63 s
[really-safe-money-gen] RoundNearest -> round
1142.63 s
[really-safe-money-gen] roundedResult :: Natural
1142.63 s
[really-safe-money-gen] roundedResult = rounder theoreticalResult
1142.63 s
[really-safe-money-gen] actualRate :: Ratio Natural
1142.63 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:495:10-23
1142.63 s
[really-safe-money-gen] @@ -492,7 +492,7 @@
1142.63 s
[really-safe-money-gen] maxBoundI = fromIntegral (maxBound :: Word64)
1142.63 s
[really-safe-money-gen] r :: Integer
1142.63 s
[really-safe-money-gen] r = foldl' (\acc a -> (toInteger :: Word64 -> Integer) (toMinimalQuantisations a) + acc) 0 l
1142.63 s
[really-safe-money-gen] - in if r > max Bo u n d I
1142.63 s
[really-safe-money-gen] + in if T r u e
1142.63 s
[really-safe-money-gen] then Nothing
1142.63 s
[really-safe-money-gen] else Just (Amount ((fromInteger :: Integer -> Word64) r))
1142.63 s
[really-safe-money-gen]
1142.63 s
[really-safe-money-gen] Testing mutation MaybeOp at src/Money/Amount.hs:497:14-66
1142.63 s
[really-safe-money-gen] @@ -494,7 +494,7 @@
1142.63 s
[really-safe-money-gen] r = foldl' (\acc a -> (toInteger :: Word64 -> Integer) (toMinimalQuantisations a) + acc) 0 l
1142.63 s
[really-safe-money-gen] in if r > maxBoundI
1142.63 s
[really-safe-money-gen] then Nothing
1142.63 s
[really-safe-money-gen] - else J u s t ( Am o u n t ( (f rom I n t e g er :: Integer -> Word64) r))
1142.63 s
[really-safe-money-gen] + else N o t hi n g
1142.63 s
[really-safe-money-gen]
1142.63 s
[really-safe-money-gen] -- | Add two amounts of money.
1142.63 s
[really-safe-money-gen] --
1142.63 s
[really-safe-money-gen] Testing mutation MaybeOp at src/Money/Amount.hs:660:28-37
1142.63 s
[really-safe-money-gen] @@ -657,7 +657,7 @@
1142.63 s
[really-safe-money-gen] Ratio Natural ->
1142.63 s
[really-safe-money-gen] -- | The amount and the real rate that was used, considering the 'Rounding'
1142.63 s
[really-safe-money-gen] (Maybe Amount, Ratio Natural)
1142.63 s
[really-safe-money-gen] - fraction _ (Amount 0) f = ( J u st ze r o , f)
1142.63 s
[really-safe-money-gen] + fraction _ (Amount 0) f = ( N o th in g , f)
1142.63 s
[really-safe-money-gen] fraction _ _ 0 = (Just zero, 0)
1142.63 s
[really-safe-money-gen] fraction r (Amount a) f =
1142.63 s
[really-safe-money-gen] let amountAsRatio :: Ratio Natural
1142.63 s
[really-safe-money-gen] Testing mutation RemoveCase at src/Money/Amount.hs:668:17-30
1142.63 s
[really-safe-money-gen] @@ -665,10 +665,9 @@
1142.63 s
[really-safe-money-gen] theoreticalResult :: Ratio Natural
1142.63 s
[really-safe-money-gen] theoreticalResult = amountAsRatio * f
1142.63 s
[really-safe-money-gen] rounder :: Ratio Natural -> Natural
1142.63 s
[really-safe-money-gen] rounder = case r of
1142.63 s
[really-safe-money-gen] RoundUp -> ceiling
1142.63 s
[really-safe-money-gen] RoundDown -> floor
1142.63 s
[really-safe-money-gen] - RoundNearest -> round
1142.63 s
[really-safe-money-gen] roundedResult :: Natural
1142.63 s
[really-safe-money-gen] roundedResult = rounder theoreticalResult
1142.64 s
[really-safe-money-gen] actualRate :: Ratio Natural
1142.64 s
[really-safe-money-gen] Testing mutation Arith at src/Money/Amount.hs:666:27-44
1142.64 s
[really-safe-money-gen] @@ -663,7 +663,7 @@
1142.64 s
[really-safe-money-gen] let amountAsRatio :: Ratio Natural
1142.64 s
[really-safe-money-gen] amountAsRatio = (fromIntegral :: Word64 -> Ratio Natural) a
1142.64 s
[really-safe-money-gen] theoreticalResult :: Ratio Natural
1142.64 s
[really-safe-money-gen] - theoreticalResult = amountAsRatio * f
1142.64 s
[really-safe-money-gen] + theoreticalResult = amountAsRatio - f
1142.64 s
[really-safe-money-gen] rounder :: Ratio Natural -> Natural
1142.64 s
[really-safe-money-gen] rounder = case r of
1142.64 s
[really-safe-money-gen] RoundUp -> ceiling
1142.64 s
[really-safe-money-gen] Testing mutation Arith at src/Money/Amount.hs:762:40-49
1142.64 s
[really-safe-money-gen] @@ -759,7 +759,7 @@
1142.64 s
[really-safe-money-gen] let qf1r = Prelude.fromIntegral (QuantisationFactor.unQuantisationFactor qf1)
1142.64 s
[really-safe-money-gen] qf2r = Prelude.fromIntegral (QuantisationFactor.unQuantisationFactor qf2)
1142.64 s
[really-safe-money-gen] (ma, ar) = fraction rounding a (ConversionRate.conversionFactor qf1 cr qf2)
1142.64 s
[really-safe-money-gen] - in (ma, ConversionRate.fromRatio (ar * qf1r / qf2r))
1146.10 s
[really-safe-money-gen] + in (ma, ConversionRate.fromRatio (ar + qf1r / qf2r))
1146.10 s
[really-safe-money-gen]
1146.10 s
[really-safe-money-gen] -- | Format an amount of money without a symbol.
1146.10 s
[really-safe-money-gen] --
1146.11 s
[really-safe-money-gen] Testing mutation MaybeOp at src/Money/Amount.hs:683:16-27
1146.11 s
[really-safe-money-gen] @@ -680,7 +680,7 @@
1146.11 s
[really-safe-money-gen] result = Amount ((fromIntegral :: Natural -> Word64) roundedResult)
1146.11 s
[really-safe-money-gen] in ( if roundedResult > maxBoundN
1146.11 s
[really-safe-money-gen] then Nothing
1146.11 s
[really-safe-money-gen] - else J us t r es ul t ,
1146.11 s
[really-safe-money-gen] + else No t hi n g ,
1146.11 s
[really-safe-money-gen] actualRate
1146.11 s
[really-safe-money-gen] )
1146.11 s
[really-safe-money-gen]
1146.11 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:681:12-37
1146.11 s
[really-safe-money-gen] @@ -678,7 +678,7 @@
1146.11 s
[really-safe-money-gen] maxBoundN :: Natural
1146.11 s
[really-safe-money-gen] maxBoundN = fromIntegral (maxBound :: Word64)
1146.11 s
[really-safe-money-gen] result = Amount ((fromIntegral :: Natural -> Word64) roundedResult)
1146.11 s
[really-safe-money-gen] - in ( if r ou nde dResult > m a xBo u ndN
1146.11 s
[really-safe-money-gen] + in ( if F a l se
1146.11 s
[really-safe-money-gen] then Nothing
1146.11 s
[really-safe-money-gen] else Just result,
1146.11 s
[really-safe-money-gen] actualRate
1146.11 s
[really-safe-money-gen] Testing mutation Arith at src/Money/Amount.hs:666:27-44
1146.11 s
[really-safe-money-gen] @@ -663,7 +663,7 @@
1146.11 s
[really-safe-money-gen] let amountAsRatio :: Ratio Natural
1146.11 s
[really-safe-money-gen] amountAsRatio = (fromIntegral :: Word64 -> Ratio Natural) a
1146.11 s
[really-safe-money-gen] theoreticalResult :: Ratio Natural
1146.11 s
[really-safe-money-gen] - theoreticalResult = amountAsRatio * f
1146.11 s
[really-safe-money-gen] + theoreticalResult = amountAsRatio + f
1146.11 s
[really-safe-money-gen] rounder :: Ratio Natural -> Natural
1146.11 s
[really-safe-money-gen] rounder = case r of
1146.11 s
[really-safe-money-gen] RoundUp -> ceiling
1146.11 s
[really-safe-money-gen] Testing mutation Cmp at src/Money/Amount.hs:681:12-37
1146.11 s
[really-safe-money-gen] @@ -678,7 +678,7 @@
1146.11 s
[really-safe-money-gen] maxBoundN :: Natural
1146.11 s
[really-safe-money-gen] maxBoundN = fromIntegral (maxBound :: Word64)
1146.12 s
[really-safe-money-gen] result = Amount ((fromIntegral :: Natural -> Word64) roundedResult)
1146.12 s
[really-safe-money-gen] - in ( if roundedResult > maxBoundN
1146.12 s
[really-safe-money-gen] + in ( if roundedResult < = maxBoundN
1146.12 s
[really-safe-money-gen] then Nothing
1146.12 s
[really-safe-money-gen] else Just result,
1146.12 s
[really-safe-money-gen] actualRate
1146.12 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:495:10-23
1146.12 s
[really-safe-money-gen] @@ -492,7 +492,7 @@
1146.12 s
[really-safe-money-gen] maxBoundI = fromIntegral (maxBound :: Word64)
1146.12 s
[really-safe-money-gen] r :: Integer
1146.12 s
[really-safe-money-gen] r = foldl' (\acc a -> (toInteger :: Word64 -> Integer) (toMinimalQuantisations a) + acc) 0 l
1146.12 s
[really-safe-money-gen] - in if r > m a xB ound I
1146.12 s
[really-safe-money-gen] + in if F a l se
1146.12 s
[really-safe-money-gen] then Nothing
1146.12 s
[really-safe-money-gen] else Just (Amount ((fromInteger :: Integer -> Word64) r))
1146.12 s
[really-safe-money-gen]
1146.12 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:681:12-37
1146.12 s
[really-safe-money-gen] @@ -678,7 +678,7 @@
1146.12 s
[really-safe-money-gen] maxBoundN :: Natural
1146.12 s
[really-safe-money-gen] maxBoundN = fromIntegral (maxBound :: Word64)
1146.12 s
[really-safe-money-gen] result = Amount ((fromIntegral :: Natural -> Word64) roundedResult)
1146.12 s
[really-safe-money-gen] - in ( if r o u n ded R e s u lt > maxBoundN
1146.12 s
[really-safe-money-gen] + in ( if T r u e
1146.12 s
[really-safe-money-gen] then Nothing
1146.12 s
[really-safe-money-gen] else Just result,
1146.12 s
[really-safe-money-gen] actualRate
1146.12 s
[really-safe-money-gen] Testing mutation Cmp at src/Money/Amount.hs:806:79-92
1146.12 s
[really-safe-money-gen] @@ -803,4 +803,4 @@
1146.12 s
[really-safe-money-gen]
1146.12 s
[really-safe-money-gen] -- | Validate that an 'Amount' is strictly positive. I.e. not 'zero'.
1146.12 s
[really-safe-money-gen] validateStrictlyPositive :: Amount -> Validation
1146.12 s
[really-safe-money-gen] - validateStrictlyPositive amount = declare "The Amount is strictly positive" $ amount > zero
1146.12 s
[really-safe-money-gen] + validateStrictlyPositive amount = declare "The Amount is strictly positive" $ amount < = zero
1146.12 s
[really-safe-money-gen] Testing mutation Cmp at src/Money/Amount.hs:806:79-92
1146.12 s
[really-safe-money-gen] @@ -803,4 +803,4 @@
1146.12 s
[really-safe-money-gen]
1146.12 s
[really-safe-money-gen] -- | Validate that an 'Amount' is strictly positive. I.e. not 'zero'.
1146.12 s
[really-safe-money-gen] validateStrictlyPositive :: Amount -> Validation
1146.12 s
[really-safe-money-gen] - validateStrictlyPositive amount = declare "The Amount is strictly positive" $ amount > zero
1146.12 s
[really-safe-money-gen] + validateStrictlyPositive amount = declare "The Amount is strictly positive" $ amount < zero
1146.12 s
[really-safe-money-gen] Testing mutation Arith at src/Money/Amount.hs:762:40-49
1146.12 s
[really-safe-money-gen] @@ -759,7 +759,7 @@
1146.12 s
[really-safe-money-gen] let qf1r = Prelude.fromIntegral (QuantisationFactor.unQuantisationFactor qf1)
1146.12 s
[really-safe-money-gen] qf2r = Prelude.fromIntegral (QuantisationFactor.unQuantisationFactor qf2)
1146.12 s
[really-safe-money-gen] (ma, ar) = fraction rounding a (ConversionRate.conversionFactor qf1 cr qf2)
1146.12 s
[really-safe-money-gen] - in (ma, ConversionRate.fromRatio (ar * qf1r / qf2r))
1146.12 s
[really-safe-money-gen] + in (ma, ConversionRate.fromRatio (ar - qf1r / qf2r))
1146.12 s
[really-safe-money-gen]
1146.12 s
[really-safe-money-gen] -- | Format an amount of money without a symbol.
1146.12 s
[really-safe-money-gen] --
1146.12 s
[really-safe-money-gen] Testing mutation Cmp at src/Money/Amount.hs:806:79-92
1146.12 s
[really-safe-money-gen] @@ -803,4 +803,4 @@
1146.12 s
[really-safe-money-gen]
1146.12 s
[really-safe-money-gen] -- | Validate that an 'Amount' is strictly positive. I.e. not 'zero'.
1146.12 s
[really-safe-money-gen] validateStrictlyPositive :: Amount -> Validation
1146.12 s
[really-safe-money-gen] - validateStrictlyPositive amount = declare "The Amount is strictly positive" $ amount > zero
1146.13 s
[really-safe-money-gen] + validateStrictlyPositive amount = declare "The Amount is strictly positive" $ amount > = zero
1146.13 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:806:79-92
1146.13 s
[really-safe-money-gen] @@ -803,4 +803,4 @@
1146.13 s
[really-safe-money-gen]
1146.13 s
[really-safe-money-gen] -- | Validate that an 'Amount' is strictly positive. I.e. not 'zero'.
1146.13 s
[really-safe-money-gen] validateStrictlyPositive :: Amount -> Validation
1146.13 s
[really-safe-money-gen] - validateStrictlyPositive amount = declare "The Amount is strictly positive" $ a m o u n t > z e r o
1146.13 s
[really-safe-money-gen] + validateStrictlyPositive amount = declare "The Amount is strictly positive" $ Tr u e
1146.13 s
[really-safe-money-gen] Testing mutation Negate at src/Money/Amount.hs:806:79-92
1146.13 s
[really-safe-money-gen] @@ -803,4 +803,4 @@
1146.13 s
[really-safe-money-gen]
1146.13 s
[really-safe-money-gen] -- | Validate that an 'Amount' is strictly positive. I.e. not 'zero'.
1146.13 s
[really-safe-money-gen] validateStrictlyPositive :: Amount -> Validation
1146.13 s
[really-safe-money-gen] - validateStrictlyPositive amount = declare "The Amount is strictly positive" $ amount > zero
1146.13 s
[really-safe-money-gen] + validateStrictlyPositive amount = declare "The Amount is strictly positive" $ n o t ( amount > zero )
1146.13 s
[really-safe-money-gen] Testing mutation Cmp at src/Money/Amount.hs:607:15-22
1146.13 s
[really-safe-money-gen] @@ -604,7 +604,7 @@
1146.13 s
[really-safe-money-gen] case ad of
1146.13 s
[really-safe-money-gen] DistributedIntoUnequalChunks _ a1 _ a2 ->
1146.13 s
[really-safe-money-gen] declare "The larger chunks are larger" $
1146.13 s
[really-safe-money-gen] - a1 > a2
1146.13 s
[really-safe-money-gen] + a1 < a2
1146.13 s
[really-safe-money-gen] _ -> valid
1146.13 s
[really-safe-money-gen] ]
1146.13 s
[really-safe-money-gen]
1146.13 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:806:79-92
1146.13 s
[really-safe-money-gen] @@ -803,4 +803,4 @@
1146.13 s
[really-safe-money-gen]
1146.13 s
[really-safe-money-gen] -- | Validate that an 'Amount' is strictly positive. I.e. not 'zero'.
1146.13 s
[really-safe-money-gen] validateStrictlyPositive :: Amount -> Validation
1146.13 s
[really-safe-money-gen] - validateStrictlyPositive amount = declare "The Amount is strictly positive" $ a m ou nt > z e r o
1146.13 s
[really-safe-money-gen] + validateStrictlyPositive amount = declare "The Amount is strictly positive" $ F a ls e
1146.13 s
[really-safe-money-gen] Testing mutation Cmp at src/Money/Amount.hs:607:15-22
1146.13 s
[really-safe-money-gen] @@ -604,7 +604,7 @@
1146.13 s
[really-safe-money-gen] case ad of
1146.13 s
[really-safe-money-gen] DistributedIntoUnequalChunks _ a1 _ a2 ->
1146.13 s
[really-safe-money-gen] declare "The larger chunks are larger" $
1146.13 s
[really-safe-money-gen] - a1 > a2
1146.13 s
[really-safe-money-gen] + a1 < = a2
1146.13 s
[really-safe-money-gen] _ -> valid
1146.13 s
[really-safe-money-gen] ]
1146.13 s
[really-safe-money-gen]
1146.13 s
[really-safe-money-gen] Testing mutation Cmp at src/Money/Amount.hs:681:12-37
1146.13 s
[really-safe-money-gen] @@ -678,7 +678,7 @@
1146.13 s
[really-safe-money-gen] maxBoundN :: Natural
1146.13 s
[really-safe-money-gen] maxBoundN = fromIntegral (maxBound :: Word64)
1146.13 s
[really-safe-money-gen] result = Amount ((fromIntegral :: Natural -> Word64) roundedResult)
1146.13 s
[really-safe-money-gen] - in ( if roundedResult > maxBoundN
1146.13 s
[really-safe-money-gen] + in ( if roundedResult > = maxBoundN
1146.13 s
[really-safe-money-gen] then Nothing
1146.13 s
[really-safe-money-gen] else Just result,
1146.13 s
[really-safe-money-gen] actualRate
1146.13 s
[really-safe-money-gen] Testing mutation RemoveCase at src/Money/Amount.hs:604:9-21
1146.13 s
[really-safe-money-gen] @@ -601,11 +601,10 @@
1146.13 s
[really-safe-money-gen] validate ad =
1146.13 s
[really-safe-money-gen] mconcat
1146.13 s
[really-safe-money-gen] [ genericValidate ad,
1146.13 s
[really-safe-money-gen] case ad of
1146.13 s
[really-safe-money-gen] DistributedIntoUnequalChunks _ a1 _ a2 ->
1146.13 s
[really-safe-money-gen] declare "The larger chunks are larger" $
1146.13 s
[really-safe-money-gen] a1 > a2
1146.13 s
[really-safe-money-gen] - _ -> valid
1146.13 s
[really-safe-money-gen] ]
1146.13 s
[really-safe-money-gen]
1146.13 s
[really-safe-money-gen] instance (NFData amount) => NFData (Distribution amount)
1152.50 s
[really-safe-money-gen] Testing mutation RemoveCase at src/Money/MultiAmount.hs:159:25-38
1152.50 s
[really-safe-money-gen] @@ -156,10 +156,9 @@
1152.52 s
[really-safe-money-gen] fmap
1152.52 s
[really-safe-money-gen] ( ( \theoreticalResult ->
1152.52 s
[really-safe-money-gen] let rounder :: Ratio Natural -> Natural
1152.52 s
[really-safe-money-gen] rounder = case r of
1152.52 s
[really-safe-money-gen] - RoundUp -> ceiling
1152.52 s
[really-safe-money-gen] RoundDown -> floor
1152.53 s
[really-safe-money-gen] RoundNearest -> round
1152.53 s
[really-safe-money-gen] roundedResult :: Natural
1152.53 s
[really-safe-money-gen] roundedResult = rounder theoreticalResult
1152.53 s
[really-safe-money-gen] maxBoundN :: Natural
1152.53 s
[really-safe-money-gen] Testing mutation ListLit at src/Money/Amount.hs:603:7-8
1152.53 s
[really-safe-money-gen] @@ -600,13 +600,12 @@
1152.53 s
[really-safe-money-gen] instance (Validity amount, Ord amount) => Validity (Distribution amount) where
1152.53 s
[really-safe-money-gen] validate ad =
1152.53 s
[really-safe-money-gen] mconcat
1152.53 s
[really-safe-money-gen] - [ genericValidate ad,
1152.53 s
[really-safe-money-gen] case ad of
1152.53 s
[really-safe-money-gen] DistributedIntoUnequalChunks _ a1 _ a2 ->
1152.53 s
[really-safe-money-gen] declare "The larger chunks are larger" $
1152.53 s
[really-safe-money-gen] a1 > a2
1152.53 s
[really-safe-money-gen] _ -> valid
1152.53 s
[really-safe-money-gen] ]
1152.53 s
[really-safe-money-gen]
1152.53 s
[really-safe-money-gen] instance (NFData amount) => NFData (Distribution amount)
1152.53 s
[really-safe-money-gen]
1152.53 s
[really-safe-money-gen] Testing mutation RemoveCase at src/Money/MultiAmount.hs:159:25-38
1152.53 s
[really-safe-money-gen] @@ -156,10 +156,9 @@
1152.53 s
[really-safe-money-gen] fmap
1152.53 s
[really-safe-money-gen] ( ( \theoreticalResult ->
1152.53 s
[really-safe-money-gen] let rounder :: Ratio Natural -> Natural
1152.53 s
[really-safe-money-gen] rounder = case r of
1152.53 s
[really-safe-money-gen] RoundUp -> ceiling
1152.53 s
[really-safe-money-gen] - RoundDown -> floor
1152.53 s
[really-safe-money-gen] RoundNearest -> round
1152.53 s
[really-safe-money-gen] roundedResult :: Natural
1152.53 s
[really-safe-money-gen] roundedResult = rounder theoreticalResult
1152.53 s
[really-safe-money-gen] maxBoundN :: Natural
1152.53 s
[really-safe-money-gen] Testing mutation Cmp at src/Money/Amount.hs:681:12-37
1152.53 s
[really-safe-money-gen] @@ -678,7 +678,7 @@
1152.54 s
[really-safe-money-gen] maxBoundN :: Natural
1152.54 s
[really-safe-money-gen] maxBoundN = fromIntegral (maxBound :: Word64)
1152.54 s
[really-safe-money-gen] result = Amount ((fromIntegral :: Natural -> Word64) roundedResult)
1152.54 s
[really-safe-money-gen] - in ( if roundedResult > maxBoundN
1152.54 s
[really-safe-money-gen] + in ( if roundedResult < maxBoundN
1152.54 s
[really-safe-money-gen] then Nothing
1152.54 s
[really-safe-money-gen] else Just result,
1152.54 s
[really-safe-money-gen] actualRate
1152.54 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:607:15-22
1152.54 s
[really-safe-money-gen] @@ -604,7 +604,7 @@
1152.54 s
[really-safe-money-gen] case ad of
1152.54 s
[really-safe-money-gen] DistributedIntoUnequalChunks _ a1 _ a2 ->
1152.54 s
[really-safe-money-gen] declare "The larger chunks are larger" $
1152.54 s
[really-safe-money-gen] - a 1 > a 2
1152.54 s
[really-safe-money-gen] + F a l s e
1152.54 s
[really-safe-money-gen] _ -> valid
1152.54 s
[really-safe-money-gen] ]
1152.54 s
[really-safe-money-gen]
1152.54 s
[really-safe-money-gen] Testing mutation RemoveCase at src/Money/Amount.hs:604:9-21
1152.54 s
[really-safe-money-gen] @@ -601,11 +601,8 @@
1152.54 s
[really-safe-money-gen] validate ad =
1152.54 s
[really-safe-money-gen] mconcat
1152.54 s
[really-safe-money-gen] [ genericValidate ad,
1152.54 s
[really-safe-money-gen] case ad of
1152.54 s
[really-safe-money-gen] - DistributedIntoUnequalChunks _ a1 _ a2 ->
1152.54 s
[really-safe-money-gen] - declare "The larger chunks are larger" $
1152.54 s
[really-safe-money-gen] - a1 > a2
1152.54 s
[really-safe-money-gen] _ -> valid
1152.54 s
[really-safe-money-gen] ]
1152.54 s
[really-safe-money-gen]
1152.54 s
[really-safe-money-gen] instance (NFData amount) => NFData (Distribution amount)
1152.54 s
[really-safe-money-gen] Testing mutation Cmp at src/Money/Amount.hs:607:15-22
1152.54 s
[really-safe-money-gen] @@ -604,7 +604,7 @@
1152.54 s
[really-safe-money-gen] case ad of
1152.54 s
[really-safe-money-gen] DistributedIntoUnequalChunks _ a1 _ a2 ->
1152.54 s
[really-safe-money-gen] declare "The larger chunks are larger" $
1152.54 s
[really-safe-money-gen] - a1 > a2
1152.54 s
[really-safe-money-gen] + a1 > = a2
1152.54 s
[really-safe-money-gen] _ -> valid
1152.54 s
[really-safe-money-gen] ]
1152.54 s
[really-safe-money-gen]
1152.55 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:607:15-22
1152.55 s
[really-safe-money-gen] @@ -604,7 +604,7 @@
1152.55 s
[really-safe-money-gen] case ad of
1152.55 s
[really-safe-money-gen] DistributedIntoUnequalChunks _ a1 _ a2 ->
1152.55 s
[really-safe-money-gen] declare "The larger chunks are larger" $
1152.55 s
[really-safe-money-gen] - a 1 > a2
1152.55 s
[really-safe-money-gen] + T rue
1152.55 s
[really-safe-money-gen] _ -> valid
1152.55 s
[really-safe-money-gen] ]
1152.55 s
[really-safe-money-gen]
1152.55 s
[really-safe-money-gen] Testing mutation Negate at src/Money/Amount.hs:681:12-37
1152.55 s
[really-safe-money-gen] @@ -678,7 +678,7 @@
1152.55 s
[really-safe-money-gen] maxBoundN :: Natural
1152.55 s
[really-safe-money-gen] maxBoundN = fromIntegral (maxBound :: Word64)
1152.55 s
[really-safe-money-gen] result = Amount ((fromIntegral :: Natural -> Word64) roundedResult)
1152.55 s
[really-safe-money-gen] - in ( if roundedResult > maxBoundN
1152.55 s
[really-safe-money-gen] + in ( if n o t ( roundedResult > maxBoundN )
1152.55 s
[really-safe-money-gen] then Nothing
1152.55 s
[really-safe-money-gen] else Just result,
1152.55 s
[really-safe-money-gen] actualRate
1152.55 s
[really-safe-money-gen] Testing mutation Negate at src/Money/Amount.hs:332:14-40
1152.55 s
[really-safe-money-gen] @@ -329,7 +329,7 @@
1152.55 s
[really-safe-money-gen] | otherwise =
1152.55 s
[really-safe-money-gen] -- Shortcut for numbers that are way too big anyway
1152.55 s
[really-safe-money-gen] -- so that we don't have to compute the according 'Natural' values.
1152.55 s
[really-safe-money-gen] - if exponent resultDouble > 65
1152.55 s
[really-safe-money-gen] + if n o t ( exponent resultDouble > 65 )
1152.55 s
[really-safe-money-gen] then Nothing
1152.55 s
[really-safe-money-gen] else
1152.55 s
[really-safe-money-gen] let ceiled :: Natural
1152.55 s
[really-safe-money-gen] Testing mutation Arith at src/Money/Amount.hs:494:29-94
1152.55 s
[really-safe-money-gen] @@ -491,7 +491,7 @@
1152.55 s
[really-safe-money-gen] let maxBoundI :: Integer
1152.55 s
[really-safe-money-gen] maxBoundI = fromIntegral (maxBound :: Word64)
1152.55 s
[really-safe-money-gen] r :: Integer
1152.55 s
[really-safe-money-gen] - r = foldl' (\acc a -> (toInteger :: Word64 -> Integer) (toMinimalQuantisations a) + acc) 0 l
1152.55 s
[really-safe-money-gen] + r = foldl' (\acc a -> (toInteger :: Word64 -> Integer) (toMinimalQuantisations a) * acc) 0 l
1152.55 s
[really-safe-money-gen] in if r > maxBoundI
1152.55 s
[really-safe-money-gen] then Nothing
1152.56 s
[really-safe-money-gen] else Just (Amount ((fromInteger :: Integer -> Word64) r))
1152.56 s
[really-safe-money-gen] Testing mutation Cmp at src/Money/MultiAmount.hs:168:20-45
1152.56 s
[really-safe-money-gen] @@ -165,7 +165,7 @@
1152.56 s
[really-safe-money-gen] maxBoundN :: Natural
1152.56 s
[really-safe-money-gen] maxBoundN = fromIntegral (maxBound :: Word64)
1152.56 s
[really-safe-money-gen] actualResult =
1152.56 s
[really-safe-money-gen] - if roundedResult > maxBoundN
1152.56 s
[really-safe-money-gen] + if roundedResult < = maxBoundN
1152.56 s
[really-safe-money-gen] then Nothing
1152.56 s
[really-safe-money-gen] else Just (fromIntegral roundedResult)
1152.56 s
[really-safe-money-gen] rounded = case compare (fromIntegral roundedResult) theoreticalResult of
1152.56 s
[really-safe-money-gen] Testing mutation Negate at src/Money/Amount.hs:607:15-22
1152.56 s
[really-safe-money-gen] @@ -604,7 +604,7 @@
1152.56 s
[really-safe-money-gen] case ad of
1152.56 s
[really-safe-money-gen] DistributedIntoUnequalChunks _ a1 _ a2 ->
1152.56 s
[really-safe-money-gen] declare "The larger chunks are larger" $
1152.56 s
[really-safe-money-gen] - a1 > a2
1152.56 s
[really-safe-money-gen] + n o t ( a1 > a2 )
1152.56 s
[really-safe-money-gen] _ -> valid
1152.56 s
[really-safe-money-gen] ]
1152.56 s
[really-safe-money-gen]
1152.56 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/MultiAmount.hs:168:20-45
1152.56 s
[really-safe-money-gen] @@ -165,7 +165,7 @@
1152.56 s
[really-safe-money-gen] maxBoundN :: Natural
1152.56 s
[really-safe-money-gen] maxBoundN = fromIntegral (maxBound :: Word64)
1152.56 s
[really-safe-money-gen] actualResult =
1152.56 s
[really-safe-money-gen] - if r ou nde dResult > m a xBo u ndN
1152.56 s
[really-safe-money-gen] + if F a l se
1152.56 s
[really-safe-money-gen] then Nothing
1152.56 s
[really-safe-money-gen] else Just (fromIntegral roundedResult)
1152.56 s
[really-safe-money-gen] rounded = case compare (fromIntegral roundedResult) theoreticalResult of
1152.56 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/MultiAmount.hs:168:20-45
1152.56 s
[really-safe-money-gen] @@ -165,7 +165,7 @@
1152.56 s
[really-safe-money-gen] maxBoundN :: Natural
1152.56 s
[really-safe-money-gen] maxBoundN = fromIntegral (maxBound :: Word64)
1152.56 s
[really-safe-money-gen] actualResult =
1152.56 s
[really-safe-money-gen] - if r o u n ded R e s u lt > maxBoundN
1152.56 s
[really-safe-money-gen] + if T r u e
1152.56 s
[really-safe-money-gen] then Nothing
1152.56 s
[really-safe-money-gen] else Just (fromIntegral roundedResult)
1152.56 s
[really-safe-money-gen] rounded = case compare (fromIntegral roundedResult) theoreticalResult of
1152.56 s
[really-safe-money-gen] Testing mutation Cmp at src/Money/MultiAmount.hs:168:20-45
1152.56 s
[really-safe-money-gen] @@ -165,7 +165,7 @@
1152.56 s
[really-safe-money-gen] maxBoundN :: Natural
1152.56 s
[really-safe-money-gen] maxBoundN = fromIntegral (maxBound :: Word64)
1152.56 s
[really-safe-money-gen] actualResult =
1152.56 s
[really-safe-money-gen] - if roundedResult > maxBoundN
1152.56 s
[really-safe-money-gen] + if roundedResult > = maxBoundN
1152.56 s
[really-safe-money-gen] then Nothing
1152.56 s
[really-safe-money-gen] else Just (fromIntegral roundedResult)
1152.57 s
[really-safe-money-gen] rounded = case compare (fromIntegral roundedResult) theoreticalResult of
1152.57 s
[really-safe-money-gen] Testing mutation Negate at src/Money/MultiAmount.hs:168:20-45
1152.57 s
[really-safe-money-gen] @@ -165,7 +165,7 @@
1152.57 s
[really-safe-money-gen] maxBoundN :: Natural
1152.57 s
[really-safe-money-gen] maxBoundN = fromIntegral (maxBound :: Word64)
1152.57 s
[really-safe-money-gen] actualResult =
1152.57 s
[really-safe-money-gen] - if roundedResult > maxBoundN
1152.57 s
[really-safe-money-gen] + if n o t ( roundedResult > maxBoundN )
1156.40 s
[really-safe-money-gen] then Nothing
1156.40 s
[really-safe-money-gen] else Just (fromIntegral roundedResult)
1156.40 s
[really-safe-money-gen] rounded = case compare (fromIntegral roundedResult) theoreticalResult of
1156.40 s
[really-safe-money-gen] Testing mutation Cmp at src/Money/MultiAmount.hs:168:20-45
1156.40 s
[really-safe-money-gen] @@ -165,7 +165,7 @@
1156.40 s
[really-safe-money-gen] maxBoundN :: Natural
1156.40 s
[really-safe-money-gen] maxBoundN = fromIntegral (maxBound :: Word64)
1156.40 s
[really-safe-money-gen] actualResult =
1156.40 s
[really-safe-money-gen] - if roundedResult > maxBoundN
1156.40 s
[really-safe-money-gen] + if roundedResult < maxBoundN
1156.40 s
[really-safe-money-gen] then Nothing
1156.40 s
[really-safe-money-gen] else Just (fromIntegral roundedResult)
1156.40 s
[really-safe-money-gen] rounded = case compare (fromIntegral roundedResult) theoreticalResult of
1156.40 s
[really-safe-money-gen] Testing mutation MaybeOp at src/Money/MultiAmount.hs:170:24-57
1156.40 s
[really-safe-money-gen] @@ -167,7 +167,7 @@
1156.40 s
[really-safe-money-gen] actualResult =
1156.40 s
[really-safe-money-gen] if roundedResult > maxBoundN
1156.40 s
[really-safe-money-gen] then Nothing
1156.40 s
[really-safe-money-gen] - else J u st (fr o mI n t e gral ro u n d e dResult)
1156.40 s
[really-safe-money-gen] + else N o t hi n g
1156.40 s
[really-safe-money-gen] rounded = case compare (fromIntegral roundedResult) theoreticalResult of
1156.40 s
[really-safe-money-gen] LT -> RoundedDown
1156.41 s
[really-safe-money-gen] EQ -> DidNotRound
1156.41 s
[really-safe-money-gen] Testing mutation RemoveCase at src/Money/MultiAmount.hs:171:25-32
1156.41 s
[really-safe-money-gen] @@ -168,10 +168,9 @@
1156.41 s
[really-safe-money-gen] if roundedResult > maxBoundN
1156.41 s
[really-safe-money-gen] then Nothing
1156.41 s
[really-safe-money-gen] else Just (fromIntegral roundedResult)
1156.41 s
[really-safe-money-gen] rounded = case compare (fromIntegral roundedResult) theoreticalResult of
1156.41 s
[really-safe-money-gen] LT -> RoundedDown
1156.41 s
[really-safe-money-gen] EQ -> DidNotRound
1156.41 s
[really-safe-money-gen] - GT -> RoundedUp
1156.41 s
[really-safe-money-gen] in (Amount.fromMinimalQuantisations <$> actualResult, rounded)
1156.41 s
[really-safe-money-gen] )
1156.41 s
[really-safe-money-gen] . Prelude.sum
1156.41 s
[really-safe-money-gen] Testing mutation RemoveCase at src/Money/MultiAmount.hs:171:25-32
1156.41 s
[really-safe-money-gen] @@ -168,10 +168,9 @@
1156.41 s
[really-safe-money-gen] if roundedResult > maxBoundN
1156.41 s
[really-safe-money-gen] then Nothing
1156.41 s
[really-safe-money-gen] else Just (fromIntegral roundedResult)
1156.41 s
[really-safe-money-gen] rounded = case compare (fromIntegral roundedResult) theoreticalResult of
1156.41 s
[really-safe-money-gen] LT -> RoundedDown
1156.41 s
[really-safe-money-gen] - EQ -> DidNotRound
1156.41 s
[really-safe-money-gen] GT -> RoundedUp
1156.41 s
[really-safe-money-gen] in (Amount.fromMinimalQuantisations <$> actualResult, rounded)
1156.41 s
[really-safe-money-gen] )
1156.41 s
[really-safe-money-gen] . Prelude.sum
1156.41 s
[really-safe-money-gen] Testing mutation RemoveCase at src/Money/MultiAmount.hs:171:25-32
1156.41 s
[really-safe-money-gen] @@ -168,10 +168,9 @@
1156.41 s
[really-safe-money-gen] if roundedResult > maxBoundN
1156.41 s
[really-safe-money-gen] then Nothing
1156.41 s
[really-safe-money-gen] else Just (fromIntegral roundedResult)
1156.41 s
[really-safe-money-gen] rounded = case compare (fromIntegral roundedResult) theoreticalResult of
1156.41 s
[really-safe-money-gen] - LT -> RoundedDown
1156.41 s
[really-safe-money-gen] EQ -> DidNotRound
1156.41 s
[really-safe-money-gen] GT -> RoundedUp
1156.41 s
[really-safe-money-gen] in (Amount.fromMinimalQuantisations <$> actualResult, rounded)
1156.41 s
[really-safe-money-gen] )
1156.41 s
[really-safe-money-gen] . Prelude.sum
1156.41 s
[really-safe-money-gen] Testing mutation RemoveCase at src/Money/MultiAmount.hs:159:25-38
1156.42 s
[really-safe-money-gen] @@ -156,10 +156,9 @@
1156.42 s
[really-safe-money-gen] fmap
1156.42 s
[really-safe-money-gen] ( ( \theoreticalResult ->
1156.42 s
[really-safe-money-gen] let rounder :: Ratio Natural -> Natural
1156.42 s
[really-safe-money-gen] rounder = case r of
1156.42 s
[really-safe-money-gen] RoundUp -> ceiling
1156.42 s
[really-safe-money-gen] RoundDown -> floor
1156.42 s
[really-safe-money-gen] - RoundNearest -> round
1156.42 s
[really-safe-money-gen] roundedResult :: Natural
1156.42 s
[really-safe-money-gen] roundedResult = rounder theoreticalResult
1156.42 s
[really-safe-money-gen] maxBoundN :: Natural
1156.42 s
[really-safe-money-gen] Testing mutation MaybeOp at src/Money/Amount.hs:661:19-28
1156.42 s
[really-safe-money-gen] @@ -658,7 +658,7 @@
1156.42 s
[really-safe-money-gen] -- | The amount and the real rate that was used, considering the 'Rounding'
1156.42 s
[really-safe-money-gen] (Maybe Amount, Ratio Natural)
1156.42 s
[really-safe-money-gen] fraction _ (Amount 0) f = (Just zero, f)
1156.42 s
[really-safe-money-gen] - fraction _ _ 0 = ( J u st ze r o , 0)
1156.42 s
[really-safe-money-gen] + fraction _ _ 0 = ( N o th in g , 0)
1156.42 s
[really-safe-money-gen] fraction r (Amount a) f =
1156.42 s
[really-safe-money-gen] let amountAsRatio :: Ratio Natural
1156.42 s
[really-safe-money-gen] amountAsRatio = (fromIntegral :: Word64 -> Ratio Natural) a
1156.42 s
[really-safe-money-gen] Testing mutation RemoveCase at src/Money/Amount.hs:668:17-30
1156.42 s
[really-safe-money-gen] @@ -665,10 +665,9 @@
1156.42 s
[really-safe-money-gen] theoreticalResult :: Ratio Natural
1156.42 s
[really-safe-money-gen] theoreticalResult = amountAsRatio * f
1156.42 s
[really-safe-money-gen] rounder :: Ratio Natural -> Natural
1156.42 s
[really-safe-money-gen] rounder = case r of
1156.42 s
[really-safe-money-gen] RoundUp -> ceiling
1156.43 s
[really-safe-money-gen] - RoundDown -> floor
1156.43 s
[really-safe-money-gen] RoundNearest -> round
1156.43 s
[really-safe-money-gen] roundedResult :: Natural
1156.43 s
[really-safe-money-gen] roundedResult = rounder theoreticalResult
1156.43 s
[really-safe-money-gen] actualRate :: Ratio Natural
1156.43 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/MultiAmount.hs:119:12-28
1156.43 s
[really-safe-money-gen] @@ -116,7 +116,7 @@
1156.43 s
[really-safe-money-gen] Just a -> do
1156.43 s
[really-safe-money-gen] r <- Amount.subtract a amount
1156.43 s
[really-safe-money-gen] Just $
1156.43 s
[really-safe-money-gen] - if r == Am o u n t. z e r o
1156.43 s
[really-safe-money-gen] + if T r u e
1156.43 s
[really-safe-money-gen] then M.delete currency m
1156.43 s
[really-safe-money-gen] else M.insert currency r m
1156.43 s
[really-safe-money-gen]
1156.43 s
[really-safe-money-gen] Testing mutation MaybeOp at src/Money/MultiAmount.hs:112:33-39
1156.43 s
[really-safe-money-gen] @@ -109,7 +109,7 @@
1156.43 s
[really-safe-money-gen]
1156.43 s
[really-safe-money-gen] -- | Subtract an 'Amount' from a 'MultiAmount'
1156.43 s
[really-safe-money-gen] subtractAmount :: (Ord currency) => MultiAmount currency -> currency -> Amount -> Maybe (MultiAmount currency)
1156.43 s
[really-safe-money-gen] - subtractAmount m _ (Amount 0) = J u s t m
1156.43 s
[really-safe-money-gen] + subtractAmount m _ (Amount 0) = No t h ing
1156.43 s
[really-safe-money-gen] subtractAmount (MultiAmount m) currency amount =
1156.43 s
[really-safe-money-gen] fmap MultiAmount $ case M.lookup currency m of
1156.43 s
[really-safe-money-gen] Nothing -> Nothing -- Can't go below zero
1156.43 s
[really-safe-money-gen] Testing mutation Negate at src/Money/MultiAmount.hs:119:12-28
1156.43 s
[really-safe-money-gen] @@ -116,7 +116,7 @@
1156.43 s
[really-safe-money-gen] Just a -> do
1156.43 s
[really-safe-money-gen] r <- Amount.subtract a amount
1156.43 s
[really-safe-money-gen] Just $
1156.43 s
[really-safe-money-gen] - if r == Amount.zero
1156.43 s
[really-safe-money-gen] + if n o t ( r == Amount.zero )
1156.43 s
[really-safe-money-gen] then M.delete currency m
1156.43 s
[really-safe-money-gen] else M.insert currency r m
1156.43 s
[really-safe-money-gen]
1156.43 s
[really-safe-money-gen] Testing mutation RemoveCase at src/Money/MultiAmount.hs:114:22-37
1156.43 s
[really-safe-money-gen] @@ -111,14 +111,13 @@
1156.44 s
[really-safe-money-gen] subtractAmount :: (Ord currency) => MultiAmount currency -> currency -> Amount -> Maybe (MultiAmount currency)
1156.44 s
[really-safe-money-gen] subtractAmount m _ (Amount 0) = Just m
1156.44 s
[really-safe-money-gen] subtractAmount (MultiAmount m) currency amount =
1156.44 s
[really-safe-money-gen] fmap MultiAmount $ case M.lookup currency m of
1156.44 s
[really-safe-money-gen] - Nothing -> Nothing -- Can't go below zero
1156.44 s
[really-safe-money-gen] Just a -> do
1156.44 s
[really-safe-money-gen] r <- Amount.subtract a amount
1156.44 s
[really-safe-money-gen] Just $
1156.44 s
[really-safe-money-gen] if r == Amount.zero
1156.44 s
[really-safe-money-gen] then M.delete currency m
1156.44 s
[really-safe-money-gen] else M.insert currency r m
1156.44 s
[really-safe-money-gen]
1156.44 s
[really-safe-money-gen] -- | Try to convert every amount to one currency.
1156.44 s
[really-safe-money-gen] --
1156.44 s
[really-safe-money-gen] Testing mutation Arith at src/Money/MultiAmount.hs:182:15-106
1156.44 s
[really-safe-money-gen] @@ -179,7 +179,7 @@
1156.44 s
[really-safe-money-gen] . traverse
1156.44 s
[really-safe-money-gen] ( \(currency, a) ->
1156.44 s
[really-safe-money-gen] ( \(cr, qf2) ->
1156.44 s
[really-safe-money-gen] - fromIntegral (Amount.toMinimalQuantisations a) * ConversionRate.conversionFactor qf2 cr qf1
1156.44 s
[really-safe-money-gen] + fromIntegral (Amount.toMinimalQuantisations a) + ConversionRate.conversionFactor qf2 cr qf1
1156.44 s
[really-safe-money-gen] )
1156.44 s
[really-safe-money-gen] <$> func currency
1156.44 s
[really-safe-money-gen] )
1156.44 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/MultiAmount.hs:119:12-28
1156.44 s
[really-safe-money-gen] @@ -116,7 +116,7 @@
1156.44 s
[really-safe-money-gen] Just a -> do
1156.44 s
[really-safe-money-gen] r <- Amount.subtract a amount
1156.44 s
[really-safe-money-gen] Just $
1156.44 s
[really-safe-money-gen] - if r == A mount .z e ro
1156.44 s
[really-safe-money-gen] + if Fal s e
1156.44 s
[really-safe-money-gen] then M.delete currency m
1156.44 s
[really-safe-money-gen] else M.insert currency r m
1156.44 s
[really-safe-money-gen]
1156.44 s
[really-safe-money-gen] Testing mutation Arith at src/Money/MultiAmount.hs:182:15-106
1156.44 s
[really-safe-money-gen] @@ -179,7 +179,7 @@
1156.44 s
[really-safe-money-gen] . traverse
1156.44 s
[really-safe-money-gen] ( \(currency, a) ->
1156.44 s
[really-safe-money-gen] ( \(cr, qf2) ->
1156.44 s
[really-safe-money-gen] - fromIntegral (Amount.toMinimalQuantisations a) * ConversionRate.conversionFactor qf2 cr qf1
1156.44 s
[really-safe-money-gen] + fromIntegral (Amount.toMinimalQuantisations a) - ConversionRate.conversionFactor qf2 cr qf1
1156.44 s
[really-safe-money-gen] )
1156.44 s
[really-safe-money-gen] <$> func currency
1156.44 s
[really-safe-money-gen] )
1156.44 s
[really-safe-money-gen] Testing mutation Negate at src/Money/MultiAmount.hs:106:12-28
1156.44 s
[really-safe-money-gen] @@ -103,7 +103,7 @@
1156.44 s
[really-safe-money-gen] Just a -> do
1156.44 s
[really-safe-money-gen] r <- Amount.add a amount
1156.44 s
[really-safe-money-gen] Just $
1160.87 s
[really-safe-money-gen] - if r == Amount.zero
1160.87 s
[really-safe-money-gen] + if n o t ( r == Amount.zero )
1160.94 s
[really-safe-money-gen] then M.delete currency m
1160.94 s
[really-safe-money-gen] else M.insert currency r m
1160.94 s
[really-safe-money-gen]
1160.94 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/MultiAmount.hs:106:12-28
1160.94 s
[really-safe-money-gen] @@ -103,7 +103,7 @@
1160.94 s
[really-safe-money-gen] Just a -> do
1160.94 s
[really-safe-money-gen] r <- Amount.add a amount
1160.94 s
[really-safe-money-gen] Just $
1160.94 s
[really-safe-money-gen] - if r == A mount .z e ro
1160.94 s
[really-safe-money-gen] + if Fal s e
1160.94 s
[really-safe-money-gen] then M.delete currency m
1160.94 s
[really-safe-money-gen] else M.insert currency r m
1160.94 s
[really-safe-money-gen]
1160.94 s
[really-safe-money-gen] Testing mutation RemoveCase at src/Money/MultiAmount.hs:114:22-37
1160.94 s
[really-safe-money-gen] @@ -111,14 +111,8 @@
1160.94 s
[really-safe-money-gen] subtractAmount :: (Ord currency) => MultiAmount currency -> currency -> Amount -> Maybe (MultiAmount currency)
1160.94 s
[really-safe-money-gen] subtractAmount m _ (Amount 0) = Just m
1160.95 s
[really-safe-money-gen] subtractAmount (MultiAmount m) currency amount =
1160.95 s
[really-safe-money-gen] fmap MultiAmount $ case M.lookup currency m of
1160.95 s
[really-safe-money-gen] Nothing -> Nothing -- Can't go below zero
1160.95 s
[really-safe-money-gen] - Just a -> do
1160.95 s
[really-safe-money-gen] - r <- Amount.subtract a amount
1160.95 s
[really-safe-money-gen] - Just $
1160.95 s
[really-safe-money-gen] - if r == Amount.zero
1160.95 s
[really-safe-money-gen] - then M.delete currency m
1160.95 s
[really-safe-money-gen] - else M.insert currency r m
1160.95 s
[really-safe-money-gen]
1160.95 s
[really-safe-money-gen] -- | Try to convert every amount to one currency.
1160.95 s
[really-safe-money-gen] --
1160.95 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/MultiAmount.hs:106:12-28
1160.95 s
[really-safe-money-gen] @@ -103,7 +103,7 @@
1160.95 s
[really-safe-money-gen] Just a -> do
1160.95 s
[really-safe-money-gen] r <- Amount.add a amount
1160.95 s
[really-safe-money-gen] Just $
1160.95 s
[really-safe-money-gen] - if r == Am o u n t. z e r o
1160.95 s
[really-safe-money-gen] + if T r u e
1160.95 s
[really-safe-money-gen] then M.delete currency m
1160.95 s
[really-safe-money-gen] else M.insert currency r m
1160.95 s
[really-safe-money-gen]
1160.95 s
[really-safe-money-gen] Testing mutation MaybeOp at src/Money/MultiAmount.hs:99:28-34
1160.95 s
[really-safe-money-gen] @@ -96,7 +96,7 @@
1160.95 s
[really-safe-money-gen]
1160.95 s
[really-safe-money-gen] -- | Add an 'Amount' to a 'MultiAmount'
1160.95 s
[really-safe-money-gen] addAmount :: (Ord currency) => MultiAmount currency -> currency -> Amount -> Maybe (MultiAmount currency)
1160.95 s
[really-safe-money-gen] - addAmount m _ (Amount 0) = J u s t m
1160.95 s
[really-safe-money-gen] + addAmount m _ (Amount 0) = No t h ing
1160.95 s
[really-safe-money-gen] addAmount (MultiAmount m) currency amount =
1160.95 s
[really-safe-money-gen] fmap MultiAmount $ case M.lookup currency m of
1160.95 s
[really-safe-money-gen] Nothing -> Just $ M.insert currency amount m
1160.95 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/MultiAmount.hs:73:6-27
1160.95 s
[really-safe-money-gen] @@ -70,7 +70,7 @@
1160.95 s
[really-safe-money-gen]
1160.95 s
[really-safe-money-gen] fromAmount :: currency -> Amount -> MultiAmount currency
1160.95 s
[really-safe-money-gen] fromAmount currency amount =
1160.95 s
[really-safe-money-gen] - if a m o u n t == Amoun t.z e ro
1160.95 s
[really-safe-money-gen] + if Tr u e
1160.95 s
[really-safe-money-gen] then zero
1160.95 s
[really-safe-money-gen] else MultiAmount $ M.singleton currency amount
1160.95 s
[really-safe-money-gen]
1160.95 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/MultiAmount.hs:73:6-27
1160.95 s
[really-safe-money-gen] @@ -70,7 +70,7 @@
1160.96 s
[really-safe-money-gen]
1160.96 s
[really-safe-money-gen] fromAmount :: currency -> Amount -> MultiAmount currency
1160.96 s
[really-safe-money-gen] fromAmount currency amount =
1160.96 s
[really-safe-money-gen] - if a m o unt == A mou n t.z e ro
1160.96 s
[really-safe-money-gen] + if F a ls e
1160.96 s
[really-safe-money-gen] then zero
1160.96 s
[really-safe-money-gen] else MultiAmount $ M.singleton currency amount
1160.96 s
[really-safe-money-gen]
1160.96 s
[really-safe-money-gen] Testing mutation Negate at src/Money/MultiAmount.hs:73:6-27
1160.96 s
[really-safe-money-gen] @@ -70,7 +70,7 @@
1160.96 s
[really-safe-money-gen]
1160.96 s
[really-safe-money-gen] fromAmount :: currency -> Amount -> MultiAmount currency
1160.96 s
[really-safe-money-gen] fromAmount currency amount =
1160.96 s
[really-safe-money-gen] - if amount == Amount.zero
1160.96 s
[really-safe-money-gen] + if n o t ( amount == Amount.zero )
1160.96 s
[really-safe-money-gen] then zero
1160.96 s
[really-safe-money-gen] else MultiAmount $ M.singleton currency amount
1160.96 s
[really-safe-money-gen]
1160.96 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/MultiAmount.hs:66:13-29
1160.96 s
[really-safe-money-gen] @@ -63,7 +63,7 @@
1160.96 s
[really-safe-money-gen] [ genericValidate ma,
1160.96 s
[really-safe-money-gen] decorateMap m $ \_ a ->
1160.96 s
[really-safe-money-gen] declare "The amount is not zero" $
1160.96 s
[really-safe-money-gen] - a / = Am ount .z e ro
1160.96 s
[really-safe-money-gen] + F a l s e
1160.96 s
[really-safe-money-gen] ]
1160.96 s
[really-safe-money-gen]
1160.96 s
[really-safe-money-gen] instance (NFData currency) => NFData (MultiAmount currency)
1160.96 s
[really-safe-money-gen] Testing mutation Negate at src/Money/MultiAmount.hs:66:13-29
1160.96 s
[really-safe-money-gen] @@ -63,7 +63,7 @@
1160.96 s
[really-safe-money-gen] [ genericValidate ma,
1160.96 s
[really-safe-money-gen] decorateMap m $ \_ a ->
1160.96 s
[really-safe-money-gen] declare "The amount is not zero" $
1160.96 s
[really-safe-money-gen] - a /= Amount.zero
1160.96 s
[really-safe-money-gen] + n o t ( a /= Amount.zero )
1160.96 s
[really-safe-money-gen] ]
1160.96 s
[really-safe-money-gen]
1160.96 s
[really-safe-money-gen] instance (NFData currency) => NFData (MultiAmount currency)
1160.96 s
[really-safe-money-gen] Testing mutation ListLit at src/Money/MultiAmount.hs:63:7-8
1160.96 s
[really-safe-money-gen] @@ -60,11 +60,7 @@
1160.96 s
[really-safe-money-gen] instance (Validity currency, Show currency, Ord currency) => Validity (MultiAmount currency) where
1160.96 s
[really-safe-money-gen] validate ma@(MultiAmount m) =
1160.96 s
[really-safe-money-gen] mconcat
1160.96 s
[really-safe-money-gen] - [ genericValidate ma,
1160.96 s
[really-safe-money-gen] - decorateMap m $ \_ a ->
1160.96 s
[really-safe-money-gen] - declare "The amount is not zero" $
1160.96 s
[really-safe-money-gen] - a /= Amount.zero
1160.96 s
[really-safe-money-gen] ]
1160.96 s
[really-safe-money-gen]
1160.96 s
[really-safe-money-gen] instance (NFData currency) => NFData (MultiAmount currency)
1160.96 s
[really-safe-money-gen]
1160.96 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/MultiAmount.hs:66:13-29
1160.97 s
[really-safe-money-gen] @@ -63,7 +63,7 @@
1160.97 s
[really-safe-money-gen] [ genericValidate ma,
1160.97 s
[really-safe-money-gen] decorateMap m $ \_ a ->
1160.97 s
[really-safe-money-gen] declare "The amount is not zero" $
1160.97 s
[really-safe-money-gen] - a / = A mo u nt .z e ro
1160.97 s
[really-safe-money-gen] + Tr u e
1160.97 s
[really-safe-money-gen] ]
1160.97 s
[really-safe-money-gen]
1160.97 s
[really-safe-money-gen] instance (NFData currency) => NFData (MultiAmount currency)
1160.97 s
[really-safe-money-gen] Testing mutation ListLit at src/Money/MultiAmount.hs:63:7-8
1160.97 s
[really-safe-money-gen] @@ -60,11 +60,10 @@
1160.97 s
[really-safe-money-gen] instance (Validity currency, Show currency, Ord currency) => Validity (MultiAmount currency) where
1160.97 s
[really-safe-money-gen] validate ma@(MultiAmount m) =
1160.97 s
[really-safe-money-gen] mconcat
1160.97 s
[really-safe-money-gen] - [ genericValidate ma,
1160.97 s
[really-safe-money-gen] decorateMap m $ \_ a ->
1160.97 s
[really-safe-money-gen] declare "The amount is not zero" $
1160.97 s
[really-safe-money-gen] a /= Amount.zero
1160.97 s
[really-safe-money-gen] ]
1160.97 s
[really-safe-money-gen]
1160.97 s
[really-safe-money-gen] instance (NFData currency) => NFData (MultiAmount currency)
1160.97 s
[really-safe-money-gen]
1160.97 s
[really-safe-money-gen] Testing mutation RemoveCase at src/Money/AmountOf.hs:215:29-113
1160.97 s
[really-safe-money-gen] @@ -212,11 +212,10 @@
1160.97 s
[really-safe-money-gen]
1160.97 s
[really-safe-money-gen] -- | See 'Amount.distribute'
1160.97 s
[really-safe-money-gen] distribute :: AmountOf currency -> Word32 -> AmountDistributionOf currency
1160.97 s
[really-safe-money-gen] distribute (AmountOf a) f = case Amount.distribute a f of
1160.97 s
[really-safe-money-gen] DistributedIntoZeroChunks -> DistributedIntoZeroChunks
1160.97 s
[really-safe-money-gen] - DistributedZero -> DistributedZero
1160.97 s
[really-safe-money-gen] DistributedIntoEqualChunks w' a' -> DistributedIntoEqualChunks w' (fromAmount a')
1160.97 s
[really-safe-money-gen] DistributedIntoUnequalChunks w1 a1 w2 a2 -> DistributedIntoUnequalChunks w1 (fromAmount a1) w2 (fromAmount a2)
1160.97 s
[really-safe-money-gen]
1160.97 s
[really-safe-money-gen] type AmountDistributionOf (currency :: k) = Distribution (AmountOf currency)
1160.97 s
[really-safe-money-gen]
1160.97 s
[really-safe-money-gen] Testing mutation RemoveCase at src/Money/AmountOf.hs:215:29-113
1160.97 s
[really-safe-money-gen] @@ -212,11 +212,10 @@
1160.97 s
[really-safe-money-gen]
1160.97 s
[really-safe-money-gen] -- | See 'Amount.distribute'
1160.97 s
[really-safe-money-gen] distribute :: AmountOf currency -> Word32 -> AmountDistributionOf currency
1160.97 s
[really-safe-money-gen] distribute (AmountOf a) f = case Amount.distribute a f of
1160.97 s
[really-safe-money-gen] DistributedIntoZeroChunks -> DistributedIntoZeroChunks
1160.97 s
[really-safe-money-gen] DistributedZero -> DistributedZero
1160.97 s
[really-safe-money-gen] DistributedIntoEqualChunks w' a' -> DistributedIntoEqualChunks w' (fromAmount a')
1160.97 s
[really-safe-money-gen] - DistributedIntoUnequalChunks w1 a1 w2 a2 -> DistributedIntoUnequalChunks w1 (fromAmount a1) w2 (fromAmount a2)
1160.97 s
[really-safe-money-gen]
1160.97 s
[really-safe-money-gen] type AmountDistributionOf (currency :: k) = Distribution (AmountOf currency)
1160.97 s
[really-safe-money-gen]
1160.98 s
[really-safe-money-gen] Testing mutation RemoveCase at src/Money/AmountOf.hs:215:29-113
1160.98 s
[really-safe-money-gen] @@ -212,11 +212,10 @@
1160.98 s
[really-safe-money-gen]
1160.98 s
[really-safe-money-gen] -- | See 'Amount.distribute'
1160.98 s
[really-safe-money-gen] distribute :: AmountOf currency -> Word32 -> AmountDistributionOf currency
1160.98 s
[really-safe-money-gen] distribute (AmountOf a) f = case Amount.distribute a f of
1160.98 s
[really-safe-money-gen] DistributedIntoZeroChunks -> DistributedIntoZeroChunks
1160.98 s
[really-safe-money-gen] DistributedZero -> DistributedZero
1160.98 s
[really-safe-money-gen] - DistributedIntoEqualChunks w' a' -> DistributedIntoEqualChunks w' (fromAmount a')
1160.98 s
[really-safe-money-gen] DistributedIntoUnequalChunks w1 a1 w2 a2 -> DistributedIntoUnequalChunks w1 (fromAmount a1) w2 (fromAmount a2)
1160.98 s
[really-safe-money-gen]
1160.98 s
[really-safe-money-gen] type AmountDistributionOf (currency :: k) = Distribution (AmountOf currency)
1160.98 s
[really-safe-money-gen]
1160.98 s
[really-safe-money-gen] Testing mutation RemoveCase at src/Money/MultiAmount.hs:101:22-37
1160.98 s
[really-safe-money-gen] @@ -98,14 +98,8 @@
1160.98 s
[really-safe-money-gen] addAmount :: (Ord currency) => MultiAmount currency -> currency -> Amount -> Maybe (MultiAmount currency)
1160.98 s
[really-safe-money-gen] addAmount m _ (Amount 0) = Just m
1160.98 s
[really-safe-money-gen] addAmount (MultiAmount m) currency amount =
1160.98 s
[really-safe-money-gen] fmap MultiAmount $ case M.lookup currency m of
1165.10 s
[really-safe-money-gen] Nothing -> Just $ M.insert currency amount m
1165.10 s
[really-safe-money-gen] - Just a -> do
1165.10 s
[really-safe-money-gen] - r <- Amount.add a amount
1165.11 s
[really-safe-money-gen] - Just $
1165.11 s
[really-safe-money-gen] - if r == Amount.zero
1165.11 s
[really-safe-money-gen] - then M.delete currency m
1165.11 s
[really-safe-money-gen] - else M.insert currency r m
1165.11 s
[really-safe-money-gen]
1165.11 s
[really-safe-money-gen] -- | Subtract an 'Amount' from a 'MultiAmount'
1165.11 s
[really-safe-money-gen] subtractAmount :: (Ord currency) => MultiAmount currency -> currency -> Amount -> Maybe (MultiAmount currency)
1165.11 s
[really-safe-money-gen] Testing mutation RemoveCase at src/Money/MultiAccount.hs:174:25-38
1165.11 s
[really-safe-money-gen] @@ -171,10 +171,9 @@
1165.11 s
[really-safe-money-gen] fmap
1165.11 s
[really-safe-money-gen] ( ( \theoreticalResult ->
1165.11 s
[really-safe-money-gen] let rounder :: Rational -> Integer
1165.11 s
[really-safe-money-gen] rounder = case r of
1165.11 s
[really-safe-money-gen] RoundUp -> ceiling
1165.11 s
[really-safe-money-gen] - RoundDown -> floor
1165.11 s
[really-safe-money-gen] RoundNearest -> round
1165.11 s
[really-safe-money-gen] roundedResult :: Integer
1165.11 s
[really-safe-money-gen] roundedResult = rounder theoreticalResult
1165.11 s
[really-safe-money-gen] rounded = case compare (fromIntegral roundedResult) theoreticalResult of
1165.11 s
[really-safe-money-gen] Testing mutation RemoveCase at src/Money/MultiAmount.hs:101:22-37
1165.11 s
[really-safe-money-gen] @@ -98,14 +98,13 @@
1165.11 s
[really-safe-money-gen] addAmount :: (Ord currency) => MultiAmount currency -> currency -> Amount -> Maybe (MultiAmount currency)
1165.11 s
[really-safe-money-gen] addAmount m _ (Amount 0) = Just m
1165.11 s
[really-safe-money-gen] addAmount (MultiAmount m) currency amount =
1165.11 s
[really-safe-money-gen] fmap MultiAmount $ case M.lookup currency m of
1165.12 s
[really-safe-money-gen] - Nothing -> Just $ M.insert currency amount m
1165.12 s
[really-safe-money-gen] Just a -> do
1165.12 s
[really-safe-money-gen] r <- Amount.add a amount
1165.12 s
[really-safe-money-gen] Just $
1165.12 s
[really-safe-money-gen] if r == Amount.zero
1165.12 s
[really-safe-money-gen] then M.delete currency m
1165.12 s
[really-safe-money-gen] else M.insert currency r m
1165.12 s
[really-safe-money-gen]
1165.12 s
[really-safe-money-gen] -- | Subtract an 'Amount' from a 'MultiAmount'
1165.12 s
[really-safe-money-gen] subtractAmount :: (Ord currency) => MultiAmount currency -> currency -> Amount -> Maybe (MultiAmount currency)
1165.12 s
[really-safe-money-gen] Testing mutation RemoveCase at src/Money/MultiAccount.hs:174:25-38
1165.12 s
[really-safe-money-gen] @@ -171,10 +171,9 @@
1165.12 s
[really-safe-money-gen] fmap
1165.12 s
[really-safe-money-gen] ( ( \theoreticalResult ->
1165.12 s
[really-safe-money-gen] let rounder :: Rational -> Integer
1165.12 s
[really-safe-money-gen] rounder = case r of
1165.12 s
[really-safe-money-gen] - RoundUp -> ceiling
1165.12 s
[really-safe-money-gen] RoundDown -> floor
1165.12 s
[really-safe-money-gen] RoundNearest -> round
1165.12 s
[really-safe-money-gen] roundedResult :: Integer
1165.12 s
[really-safe-money-gen] roundedResult = rounder theoreticalResult
1165.12 s
[really-safe-money-gen] rounded = case compare (fromIntegral roundedResult) theoreticalResult of
1165.12 s
[really-safe-money-gen] Testing mutation RemoveCase at src/Money/MultiAccount.hs:180:25-32
1165.12 s
[really-safe-money-gen] @@ -177,10 +177,9 @@
1165.12 s
[really-safe-money-gen] RoundNearest -> round
1165.12 s
[really-safe-money-gen] roundedResult :: Integer
1165.12 s
[really-safe-money-gen] roundedResult = rounder theoreticalResult
1165.12 s
[really-safe-money-gen] rounded = case compare (fromIntegral roundedResult) theoreticalResult of
1165.12 s
[really-safe-money-gen] - LT -> RoundedDown
1165.12 s
[really-safe-money-gen] EQ -> DidNotRound
1165.12 s
[really-safe-money-gen] GT -> RoundedUp
1165.12 s
[really-safe-money-gen] in (Account.fromMinimalQuantisations roundedResult, rounded)
1165.12 s
[really-safe-money-gen] )
1165.12 s
[really-safe-money-gen] . Prelude.sum
1165.12 s
[really-safe-money-gen] Testing mutation RemoveCase at src/Money/MultiAccount.hs:174:25-38
1165.12 s
[really-safe-money-gen] @@ -171,10 +171,9 @@
1165.12 s
[really-safe-money-gen] fmap
1165.12 s
[really-safe-money-gen] ( ( \theoreticalResult ->
1165.12 s
[really-safe-money-gen] let rounder :: Rational -> Integer
1165.12 s
[really-safe-money-gen] rounder = case r of
1165.12 s
[really-safe-money-gen] RoundUp -> ceiling
1165.12 s
[really-safe-money-gen] RoundDown -> floor
1165.12 s
[really-safe-money-gen] - RoundNearest -> round
1165.12 s
[really-safe-money-gen] roundedResult :: Integer
1165.12 s
[really-safe-money-gen] roundedResult = rounder theoreticalResult
1165.12 s
[really-safe-money-gen] rounded = case compare (fromIntegral roundedResult) theoreticalResult of
1165.12 s
[really-safe-money-gen] Testing mutation RemoveCase at src/Money/MultiAccount.hs:180:25-32
1165.12 s
[really-safe-money-gen] @@ -177,10 +177,9 @@
1165.12 s
[really-safe-money-gen] RoundNearest -> round
1165.13 s
[really-safe-money-gen] roundedResult :: Integer
1165.13 s
[really-safe-money-gen] roundedResult = rounder theoreticalResult
1165.13 s
[really-safe-money-gen] rounded = case compare (fromIntegral roundedResult) theoreticalResult of
1165.13 s
[really-safe-money-gen] LT -> RoundedDown
1165.13 s
[really-safe-money-gen] - EQ -> DidNotRound
1165.13 s
[really-safe-money-gen] GT -> RoundedUp
1165.13 s
[really-safe-money-gen] in (Account.fromMinimalQuantisations roundedResult, rounded)
1165.13 s
[really-safe-money-gen] )
1165.13 s
[really-safe-money-gen] . Prelude.sum
1165.13 s
[really-safe-money-gen] Testing mutation RemoveCase at src/Money/MultiAccount.hs:180:25-32
1165.13 s
[really-safe-money-gen] @@ -177,10 +177,9 @@
1165.13 s
[really-safe-money-gen] RoundNearest -> round
1165.13 s
[really-safe-money-gen] roundedResult :: Integer
1165.13 s
[really-safe-money-gen] roundedResult = rounder theoreticalResult
1165.13 s
[really-safe-money-gen] rounded = case compare (fromIntegral roundedResult) theoreticalResult of
1165.13 s
[really-safe-money-gen] LT -> RoundedDown
1165.13 s
[really-safe-money-gen] EQ -> DidNotRound
1165.13 s
[really-safe-money-gen] - GT -> RoundedUp
1165.13 s
[really-safe-money-gen] in (Account.fromMinimalQuantisations roundedResult, rounded)
1165.13 s
[really-safe-money-gen] )
1165.13 s
[really-safe-money-gen] . Prelude.sum
1165.13 s
[really-safe-money-gen] Testing mutation Arith at src/Money/MultiAccount.hs:192:19-51
1165.13 s
[really-safe-money-gen] @@ -189,8 +189,8 @@
1165.13 s
[really-safe-money-gen] ( \(currency, a) ->
1165.13 s
[really-safe-money-gen] ( \(cr, qf2) ->
1165.13 s
[really-safe-money-gen] let factor = ConversionRate.conversionFactor qf2 cr qf1
1165.13 s
[really-safe-money-gen] in Account.toMinimalQuantisations a
1165.13 s
[really-safe-money-gen] - * toInteger (numerator factor)
1165.13 s
[really-safe-money-gen] + + toInteger (numerator factor)
1165.13 s
[really-safe-money-gen] % toInteger (denominator factor)
1165.13 s
[really-safe-money-gen] )
1165.13 s
[really-safe-money-gen] <$> func currency
1165.13 s
[really-safe-money-gen] Testing mutation MaybeOp at src/Money/MultiAccount.hs:127:45-51
1165.13 s
[really-safe-money-gen] @@ -124,7 +124,7 @@
1165.13 s
[really-safe-money-gen] -- | Add an 'Account' to a 'MultiAccount'
1165.13 s
[really-safe-money-gen] subtractAccount :: (Ord currency) => MultiAccount currency -> currency -> Account -> Maybe (MultiAccount currency)
1165.13 s
[really-safe-money-gen] subtractAccount m _ (Positive (Amount 0)) = Just m
1165.13 s
[really-safe-money-gen] - subtractAccount m _ (Negative (Amount 0)) = J u s t m
1165.13 s
[really-safe-money-gen] + subtractAccount m _ (Negative (Amount 0)) = No t h ing
1165.13 s
[really-safe-money-gen] subtractAccount (MultiAccount m) currency account =
1165.13 s
[really-safe-money-gen] fmap MultiAccount $ case M.lookup currency m of
1165.13 s
[really-safe-money-gen] Nothing -> Just $ M.insert currency (Account.negate account) m
1165.13 s
[really-safe-money-gen] Testing mutation MaybeOp at src/Money/MultiAccount.hs:126:45-51
1165.13 s
[really-safe-money-gen] @@ -123,7 +123,7 @@
1165.13 s
[really-safe-money-gen]
1165.13 s
[really-safe-money-gen] -- | Add an 'Account' to a 'MultiAccount'
1165.13 s
[really-safe-money-gen] subtractAccount :: (Ord currency) => MultiAccount currency -> currency -> Account -> Maybe (MultiAccount currency)
1165.13 s
[really-safe-money-gen] - subtractAccount m _ (Positive (Amount 0)) = J u s t m
1165.13 s
[really-safe-money-gen] + subtractAccount m _ (Positive (Amount 0)) = No t h ing
1165.13 s
[really-safe-money-gen] subtractAccount m _ (Negative (Amount 0)) = Just m
1165.13 s
[really-safe-money-gen] subtractAccount (MultiAccount m) currency account =
1165.13 s
[really-safe-money-gen] fmap MultiAccount $ case M.lookup currency m of
1165.13 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/MultiAccount.hs:134:12-29
1165.13 s
[really-safe-money-gen] @@ -131,7 +131,7 @@
1165.13 s
[really-safe-money-gen] Just a -> do
1165.13 s
[really-safe-money-gen] r <- Account.subtract a account
1165.13 s
[really-safe-money-gen] Just $
1165.13 s
[really-safe-money-gen] - if r == Accou n t .z e ro
1165.13 s
[really-safe-money-gen] + if F als e
1165.13 s
[really-safe-money-gen] then M.delete currency m
1165.13 s
[really-safe-money-gen] else M.insert currency r m
1165.13 s
[really-safe-money-gen]
1165.13 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/MultiAccount.hs:134:12-29
1165.13 s
[really-safe-money-gen] @@ -131,7 +131,7 @@
1165.13 s
[really-safe-money-gen] Just a -> do
1165.13 s
[really-safe-money-gen] r <- Account.subtract a account
1165.14 s
[really-safe-money-gen] Just $
1165.14 s
[really-safe-money-gen] - if r == Acc o u n t. z e r o
1165.14 s
[really-safe-money-gen] + if T r u e
1165.14 s
[really-safe-money-gen] then M.delete currency m
1165.14 s
[really-safe-money-gen] else M.insert currency r m
1165.14 s
[really-safe-money-gen]
1165.14 s
[really-safe-money-gen] Testing mutation RemoveCase at src/Money/MultiAccount.hs:129:23-37
1165.14 s
[really-safe-money-gen] @@ -126,14 +126,13 @@
1165.14 s
[really-safe-money-gen] subtractAccount m _ (Positive (Amount 0)) = Just m
1165.14 s
[really-safe-money-gen] subtractAccount m _ (Negative (Amount 0)) = Just m
1165.14 s
[really-safe-money-gen] subtractAccount (MultiAccount m) currency account =
1165.14 s
[really-safe-money-gen] fmap MultiAccount $ case M.lookup currency m of
1165.14 s
[really-safe-money-gen] - Nothing -> Just $ M.insert currency (Account.negate account) m
1165.14 s
[really-safe-money-gen] Just a -> do
1165.14 s
[really-safe-money-gen] r <- Account.subtract a account
1165.14 s
[really-safe-money-gen] Just $
1165.14 s
[really-safe-money-gen] if r == Account.zero
1165.14 s
[really-safe-money-gen] then M.delete currency m
1165.14 s
[really-safe-money-gen] else M.insert currency r m
1165.14 s
[really-safe-money-gen]
1165.14 s
[really-safe-money-gen] -- | Try to convert every account to one currency.
1165.14 s
[really-safe-money-gen] --
1165.14 s
[really-safe-money-gen] Testing mutation Negate at src/Money/MultiAccount.hs:134:12-29
1165.14 s
[really-safe-money-gen] @@ -131,7 +131,7 @@
1165.14 s
[really-safe-money-gen] Just a -> do
1165.14 s
[really-safe-money-gen] r <- Account.subtract a account
1165.14 s
[really-safe-money-gen] Just $
1165.14 s
[really-safe-money-gen] - if r == Account.zero
1165.14 s
[really-safe-money-gen] + if n o t ( r == Account.zero )
1165.14 s
[really-safe-money-gen] then M.delete currency m
1165.14 s
[really-safe-money-gen] else M.insert currency r m
1165.14 s
[really-safe-money-gen]
1165.14 s
[really-safe-money-gen] Testing mutation RemoveCase at src/Money/AmountOf.hs:215:29-113
1165.14 s
[really-safe-money-gen] @@ -212,11 +212,10 @@
1165.14 s
[really-safe-money-gen]
1165.14 s
[really-safe-money-gen] -- | See 'Amount.distribute'
1169.18 s
[really-safe-money-gen] distribute :: AmountOf currency -> Word32 -> AmountDistributionOf currency
1169.27 s
[really-safe-money-gen] distribute (AmountOf a) f = case Amount.distribute a f of
1169.27 s
[really-safe-money-gen] - DistributedIntoZeroChunks -> DistributedIntoZeroChunks
1169.27 s
[really-safe-money-gen] DistributedZero -> DistributedZero
1169.27 s
[really-safe-money-gen] DistributedIntoEqualChunks w' a' -> DistributedIntoEqualChunks w' (fromAmount a')
1169.27 s
[really-safe-money-gen] DistributedIntoUnequalChunks w1 a1 w2 a2 -> DistributedIntoUnequalChunks w1 (fromAmount a1) w2 (fromAmount a2)
1169.27 s
[really-safe-money-gen]
1169.27 s
[really-safe-money-gen] type AmountDistributionOf (currency :: k) = Distribution (AmountOf currency)
1169.27 s
[really-safe-money-gen]
1169.27 s
[really-safe-money-gen] Testing mutation ListLit at src/Money/Amount.hs:603:7-8
1169.27 s
[really-safe-money-gen] @@ -600,13 +600,7 @@
1169.27 s
[really-safe-money-gen] instance (Validity amount, Ord amount) => Validity (Distribution amount) where
1169.27 s
[really-safe-money-gen] validate ad =
1169.27 s
[really-safe-money-gen] mconcat
1169.27 s
[really-safe-money-gen] - [ genericValidate ad,
1169.27 s
[really-safe-money-gen] - case ad of
1169.27 s
[really-safe-money-gen] - DistributedIntoUnequalChunks _ a1 _ a2 ->
1169.27 s
[really-safe-money-gen] - declare "The larger chunks are larger" $
1169.27 s
[really-safe-money-gen] - a1 > a2
1169.27 s
[really-safe-money-gen] - _ -> valid
1169.27 s
[really-safe-money-gen] ]
1169.27 s
[really-safe-money-gen]
1169.27 s
[really-safe-money-gen] instance (NFData amount) => NFData (Distribution amount)
1169.27 s
[really-safe-money-gen]
1169.27 s
[really-safe-money-gen] Testing mutation RemoveCase at src/Money/MultiAccount.hs:129:23-37
1169.28 s
[really-safe-money-gen] @@ -126,14 +126,8 @@
1169.28 s
[really-safe-money-gen] subtractAccount m _ (Positive (Amount 0)) = Just m
1169.28 s
[really-safe-money-gen] subtractAccount m _ (Negative (Amount 0)) = Just m
1169.28 s
[really-safe-money-gen] subtractAccount (MultiAccount m) currency account =
1169.28 s
[really-safe-money-gen] fmap MultiAccount $ case M.lookup currency m of
1169.28 s
[really-safe-money-gen] Nothing -> Just $ M.insert currency (Account.negate account) m
1169.28 s
[really-safe-money-gen] - Just a -> do
1169.28 s
[really-safe-money-gen] - r <- Account.subtract a account
1169.28 s
[really-safe-money-gen] - Just $
1169.28 s
[really-safe-money-gen] - if r == Account.zero
1169.28 s
[really-safe-money-gen] - then M.delete currency m
1169.28 s
[really-safe-money-gen] - else M.insert currency r m
1169.28 s
[really-safe-money-gen]
1169.28 s
[really-safe-money-gen] -- | Try to convert every account to one currency.
1169.28 s
[really-safe-money-gen] --
1169.28 s
[really-safe-money-gen] Testing mutation MaybeOp at src/Money/MultiAccount.hs:112:40-46
1169.28 s
[really-safe-money-gen] @@ -109,7 +109,7 @@
1169.28 s
[really-safe-money-gen]
1169.28 s
[really-safe-money-gen] -- | Add an 'Account' to a 'MultiAccount'
1169.28 s
[really-safe-money-gen] addAccount :: (Ord currency) => MultiAccount currency -> currency -> Account -> Maybe (MultiAccount currency)
1169.28 s
[really-safe-money-gen] - addAccount m _ (Positive (Amount 0)) = J u s t m
1169.28 s
[really-safe-money-gen] + addAccount m _ (Positive (Amount 0)) = No t h ing
1169.28 s
[really-safe-money-gen] addAccount m _ (Negative (Amount 0)) = Just m
1169.28 s
[really-safe-money-gen] addAccount (MultiAccount m) currency account =
1169.28 s
[really-safe-money-gen] fmap MultiAccount $ case M.lookup currency m of
1169.28 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/MultiAccount.hs:120:12-29
1169.28 s
[really-safe-money-gen] @@ -117,7 +117,7 @@
1169.28 s
[really-safe-money-gen] Just a -> do
1169.28 s
[really-safe-money-gen] r <- Account.add a account
1169.28 s
[really-safe-money-gen] Just $
1169.28 s
[really-safe-money-gen] - if r == Acc o u n t. z e r o
1169.28 s
[really-safe-money-gen] + if T r u e
1169.28 s
[really-safe-money-gen] then M.delete currency m
1169.28 s
[really-safe-money-gen] else M.insert currency r m
1169.28 s
[really-safe-money-gen]
1169.28 s
[really-safe-money-gen] Testing mutation Negate at src/Money/MultiAccount.hs:120:12-29
1169.28 s
[really-safe-money-gen] @@ -117,7 +117,7 @@
1169.28 s
[really-safe-money-gen] Just a -> do
1169.28 s
[really-safe-money-gen] r <- Account.add a account
1169.28 s
[really-safe-money-gen] Just $
1169.29 s
[really-safe-money-gen] - if r == Account.zero
1169.29 s
[really-safe-money-gen] + if n o t ( r == Account.zero )
1169.29 s
[really-safe-money-gen] then M.delete currency m
1169.29 s
[really-safe-money-gen] else M.insert currency r m
1169.29 s
[really-safe-money-gen]
1169.29 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/MultiAccount.hs:78:6-28
1169.29 s
[really-safe-money-gen] @@ -75,7 +75,7 @@
1169.29 s
[really-safe-money-gen]
1169.29 s
[really-safe-money-gen] fromAccount :: currency -> Account -> MultiAccount currency
1169.29 s
[really-safe-money-gen] fromAccount currency amount =
1169.29 s
[really-safe-money-gen] - if a m o unt == A cco u n t.z e ro
1169.29 s
[really-safe-money-gen] + if Tr u e
1169.29 s
[really-safe-money-gen] then zero
1169.29 s
[really-safe-money-gen] else MultiAccount $ M.singleton currency amount
1169.29 s
[really-safe-money-gen]
1169.29 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/MultiAccount.hs:78:6-28
1169.29 s
[really-safe-money-gen] @@ -75,7 +75,7 @@
1169.29 s
[really-safe-money-gen]
1169.29 s
[really-safe-money-gen] fromAccount :: currency -> Account -> MultiAccount currency
1169.29 s
[really-safe-money-gen] fromAccount currency amount =
1169.29 s
[really-safe-money-gen] - if a m o unt == Accoun t.z e ro
1169.29 s
[really-safe-money-gen] + if F a ls e
1169.29 s
[really-safe-money-gen] then zero
1169.29 s
[really-safe-money-gen] else MultiAccount $ M.singleton currency amount
1169.29 s
[really-safe-money-gen]
1169.29 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/MultiAccount.hs:69:13-30
1169.29 s
[really-safe-money-gen] @@ -66,7 +66,7 @@
1169.29 s
[really-safe-money-gen] [ genericValidate ma,
1169.29 s
[really-safe-money-gen] decorateMap m $ \_ a ->
1169.29 s
[really-safe-money-gen] declare "The account is not zero" $
1169.29 s
[really-safe-money-gen] - a / = Acco u nt .z e ro
1169.29 s
[really-safe-money-gen] + F a ls e
1169.29 s
[really-safe-money-gen] ]
1169.29 s
[really-safe-money-gen]
1169.29 s
[really-safe-money-gen] -- TODO no empty currencies
1169.29 s
[really-safe-money-gen] Testing mutation Negate at src/Money/MultiAccount.hs:78:6-28
1169.29 s
[really-safe-money-gen] @@ -75,7 +75,7 @@
1169.29 s
[really-safe-money-gen]
1169.29 s
[really-safe-money-gen] fromAccount :: currency -> Account -> MultiAccount currency
1169.29 s
[really-safe-money-gen] fromAccount currency amount =
1169.29 s
[really-safe-money-gen] - if amount == Account.zero
1169.29 s
[really-safe-money-gen] + if n o t ( amount == Account.zero )
1169.29 s
[really-safe-money-gen] then zero
1169.29 s
[really-safe-money-gen] else MultiAccount $ M.singleton currency amount
1169.29 s
[really-safe-money-gen]
1169.29 s
[really-safe-money-gen] Testing mutation MaybeOp at src/Money/MultiAccount.hs:113:40-46
1169.29 s
[really-safe-money-gen] @@ -110,7 +110,7 @@
1169.29 s
[really-safe-money-gen] -- | Add an 'Account' to a 'MultiAccount'
1169.29 s
[really-safe-money-gen] addAccount :: (Ord currency) => MultiAccount currency -> currency -> Account -> Maybe (MultiAccount currency)
1169.29 s
[really-safe-money-gen] addAccount m _ (Positive (Amount 0)) = Just m
1169.29 s
[really-safe-money-gen] - addAccount m _ (Negative (Amount 0)) = J u s t m
1169.29 s
[really-safe-money-gen] + addAccount m _ (Negative (Amount 0)) = No t h ing
1169.29 s
[really-safe-money-gen] addAccount (MultiAccount m) currency account =
1169.29 s
[really-safe-money-gen] fmap MultiAccount $ case M.lookup currency m of
1169.29 s
[really-safe-money-gen] Nothing -> Just $ M.insert currency account m
1169.29 s
[really-safe-money-gen] Testing mutation RemoveCase at src/Money/MultiAccount.hs:115:23-37
1169.29 s
[really-safe-money-gen] @@ -112,14 +112,8 @@
1169.29 s
[really-safe-money-gen] addAccount m _ (Positive (Amount 0)) = Just m
1169.29 s
[really-safe-money-gen] addAccount m _ (Negative (Amount 0)) = Just m
1169.29 s
[really-safe-money-gen] addAccount (MultiAccount m) currency account =
1169.29 s
[really-safe-money-gen] fmap MultiAccount $ case M.lookup currency m of
1169.29 s
[really-safe-money-gen] Nothing -> Just $ M.insert currency account m
1169.29 s
[really-safe-money-gen] - Just a -> do
1169.29 s
[really-safe-money-gen] - r <- Account.add a account
1169.29 s
[really-safe-money-gen] - Just $
1169.29 s
[really-safe-money-gen] - if r == Account.zero
1169.29 s
[really-safe-money-gen] - then M.delete currency m
1169.29 s
[really-safe-money-gen] - else M.insert currency r m
1169.29 s
[really-safe-money-gen]
1169.29 s
[really-safe-money-gen] -- | Add an 'Account' to a 'MultiAccount'
1169.29 s
[really-safe-money-gen] subtractAccount :: (Ord currency) => MultiAccount currency -> currency -> Account -> Maybe (MultiAccount currency)
1169.29 s
[really-safe-money-gen] Testing mutation ListLit at src/Money/MultiAccount.hs:66:7-8
1169.29 s
[really-safe-money-gen] @@ -63,11 +63,7 @@
1169.29 s
[really-safe-money-gen] instance (Validity currency, Show currency, Ord currency) => Validity (MultiAccount currency) where
1169.29 s
[really-safe-money-gen] validate ma@(MultiAccount m) =
1169.30 s
[really-safe-money-gen] mconcat
1169.30 s
[really-safe-money-gen] - [ genericValidate ma,
1169.30 s
[really-safe-money-gen] - decorateMap m $ \_ a ->
1169.30 s
[really-safe-money-gen] - declare "The account is not zero" $
1169.30 s
[really-safe-money-gen] - a /= Account.zero
1169.30 s
[really-safe-money-gen] ]
1169.30 s
[really-safe-money-gen]
1169.30 s
[really-safe-money-gen] -- TODO no empty currencies
1169.30 s
[really-safe-money-gen]
1169.30 s
[really-safe-money-gen] Testing mutation Negate at src/Money/MultiAccount.hs:69:13-30
1169.30 s
[really-safe-money-gen] @@ -66,7 +66,7 @@
1169.30 s
[really-safe-money-gen] [ genericValidate ma,
1169.30 s
[really-safe-money-gen] decorateMap m $ \_ a ->
1169.30 s
[really-safe-money-gen] declare "The account is not zero" $
1169.30 s
[really-safe-money-gen] - a /= Account.zero
1169.30 s
[really-safe-money-gen] + n o t ( a /= Account.zero )
1169.30 s
[really-safe-money-gen] ]
1169.30 s
[really-safe-money-gen]
1169.30 s
[really-safe-money-gen] -- TODO no empty currencies
1169.30 s
[really-safe-money-gen] Testing mutation RemoveCase at src/Money/MultiAccount.hs:115:23-37
1169.30 s
[really-safe-money-gen] @@ -112,14 +112,13 @@
1169.30 s
[really-safe-money-gen] addAccount m _ (Positive (Amount 0)) = Just m
1169.30 s
[really-safe-money-gen] addAccount m _ (Negative (Amount 0)) = Just m
1169.30 s
[really-safe-money-gen] addAccount (MultiAccount m) currency account =
1169.30 s
[really-safe-money-gen] fmap MultiAccount $ case M.lookup currency m of
1169.30 s
[really-safe-money-gen] - Nothing -> Just $ M.insert currency account m
1169.30 s
[really-safe-money-gen] Just a -> do
1169.30 s
[really-safe-money-gen] r <- Account.add a account
1169.30 s
[really-safe-money-gen] Just $
1169.30 s
[really-safe-money-gen] if r == Account.zero
1169.30 s
[really-safe-money-gen] then M.delete currency m
1169.30 s
[really-safe-money-gen] else M.insert currency r m
1169.30 s
[really-safe-money-gen]
1169.30 s
[really-safe-money-gen] -- | Add an 'Account' to a 'MultiAccount'
1169.30 s
[really-safe-money-gen] subtractAccount :: (Ord currency) => MultiAccount currency -> currency -> Account -> Maybe (MultiAccount currency)
1169.30 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/MultiAccount.hs:69:13-30
1169.30 s
[really-safe-money-gen] @@ -66,7 +66,7 @@
1169.30 s
[really-safe-money-gen] [ genericValidate ma,
1169.30 s
[really-safe-money-gen] decorateMap m $ \_ a ->
1169.30 s
[really-safe-money-gen] declare "The account is not zero" $
1169.30 s
[really-safe-money-gen] - a / = Ac co u nt .z e ro
1169.30 s
[really-safe-money-gen] + T r u e
1169.30 s
[really-safe-money-gen] ]
1169.30 s
[really-safe-money-gen]
1169.30 s
[really-safe-money-gen] -- TODO no empty currencies
1170.78 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/MultiAccount.hs:120:12-29
1170.78 s
[really-safe-money-gen] @@ -117,7 +117,7 @@
1170.78 s
[really-safe-money-gen] Just a -> do
1170.78 s
[really-safe-money-gen] r <- Account.add a account
1170.78 s
[really-safe-money-gen] Just $
1170.78 s
[really-safe-money-gen] - if r == Accou n t .z e ro
1170.78 s
[really-safe-money-gen] + if F als e
1170.78 s
[really-safe-money-gen] then M.delete currency m
1170.78 s
[really-safe-money-gen] else M.insert currency r m
1170.78 s
[really-safe-money-gen]
1170.78 s
[really-safe-money-gen] Testing mutation Arith at src/Money/MultiAccount.hs:192:19-51
1170.78 s
[really-safe-money-gen] @@ -189,8 +189,8 @@
1170.78 s
[really-safe-money-gen] ( \(currency, a) ->
1170.78 s
[really-safe-money-gen] ( \(cr, qf2) ->
1170.78 s
[really-safe-money-gen] let factor = ConversionRate.conversionFactor qf2 cr qf1
1170.78 s
[really-safe-money-gen] in Account.toMinimalQuantisations a
1170.78 s
[really-safe-money-gen] - * toInteger (numerator factor)
1170.78 s
[really-safe-money-gen] + - toInteger (numerator factor)
1170.78 s
[really-safe-money-gen] % toInteger (denominator factor)
1170.78 s
[really-safe-money-gen] )
1170.78 s
[really-safe-money-gen] <$> func currency
1170.78 s
[really-safe-money-gen] Testing mutation ListLit at src/Money/MultiAccount.hs:66:7-8
1170.78 s
[really-safe-money-gen] @@ -63,11 +63,10 @@
1170.78 s
[really-safe-money-gen] instance (Validity currency, Show currency, Ord currency) => Validity (MultiAccount currency) where
1170.78 s
[really-safe-money-gen] validate ma@(MultiAccount m) =
1170.78 s
[really-safe-money-gen] mconcat
1170.78 s
[really-safe-money-gen] - [ genericValidate ma,
1170.78 s
[really-safe-money-gen] decorateMap m $ \_ a ->
1170.78 s
[really-safe-money-gen] declare "The account is not zero" $
1170.78 s
[really-safe-money-gen] a /= Account.zero
1170.78 s
[really-safe-money-gen] ]
1170.78 s
[really-safe-money-gen]
1170.78 s
[really-safe-money-gen] -- TODO no empty currencies
1170.79 s
[really-safe-money-gen]
1170.79 s
[really-safe-money-gen] Testing mutation RemoveCase at src/Money/QuantisationFactor/Codec.hs:41:11-26
1170.79 s
[really-safe-money-gen] @@ -38,6 +38,5 @@
1170.79 s
[really-safe-money-gen] codec
1170.79 s
[really-safe-money-gen] <?> "QuantisationFactor"
1170.79 s
[really-safe-money-gen] where
1170.79 s
[really-safe-money-gen] f w = case QuantisationFactor.fromWord32 w of
1170.79 s
[really-safe-money-gen] Nothing -> Left $ "Unable to parse as a quantisation factor: " <> show w
1170.79 s
[really-safe-money-gen] - Just qf -> Right qf
1170.79 s
[really-safe-money-gen] Testing mutation ListLit at src/Money/Amount/Codec.hs:47:33-75
1170.79 s
[really-safe-money-gen] @@ -44,7 +44,6 @@
1170.79 s
[really-safe-money-gen] where
1170.79 s
[really-safe-money-gen] f :: String -> Either String Amount
1170.79 s
[really-safe-money-gen] f s = case readMaybe s of
1170.79 s
[really-safe-money-gen] - Nothing -> Left $ unwords ["Could not read string as an Amount:", s]
1170.79 s
[really-safe-money-gen] Just i ->
1170.79 s
[really-safe-money-gen] if (i :: Integer) < toInteger (minBound :: Word64)
1170.79 s
[really-safe-money-gen] then Left $ unwords ["Negative number of minimal quantisations:", show i]
1170.79 s
[really-safe-money-gen] Testing mutation RemoveCase at src/Money/QuantisationFactor/Codec.hs:41:11-26
1170.79 s
[really-safe-money-gen] @@ -38,6 +38,5 @@
1170.79 s
[really-safe-money-gen] codec
1170.79 s
[really-safe-money-gen] <?> "QuantisationFactor"
1170.79 s
[really-safe-money-gen] where
1170.79 s
[really-safe-money-gen] f w = case QuantisationFactor.fromWord32 w of
1170.79 s
[really-safe-money-gen] - Nothing -> Left $ "Unable to parse as a quantisation factor: " <> show w
1170.79 s
[really-safe-money-gen] Just qf -> Right qf
1170.79 s
[really-safe-money-gen] Testing mutation ListLit at src/Money/Amount/Codec.hs:50:31-84
1170.79 s
[really-safe-money-gen] @@ -47,7 +47,6 @@
1170.79 s
[really-safe-money-gen] Nothing -> Left $ unwords ["Could not read string as an Amount:", s]
1170.79 s
[really-safe-money-gen] Just i ->
1170.79 s
[really-safe-money-gen] if (i :: Integer) < toInteger (minBound :: Word64)
1170.79 s
[really-safe-money-gen] - then Left $ unwords ["Negative number of minimal quantisations:", show i]
1170.79 s
[really-safe-money-gen] else
1170.79 s
[really-safe-money-gen] if (i :: Integer) > toInteger (maxBound :: Word64)
1170.79 s
[really-safe-money-gen] then Left $ unwords ["Number of minimal quantisations is too big:", show i]
1170.79 s
[really-safe-money-gen] Testing mutation Cmp at src/Money/Amount/Codec.hs:49:12-59
1170.79 s
[really-safe-money-gen] @@ -46,7 +46,7 @@
1170.79 s
[really-safe-money-gen] f s = case readMaybe s of
1170.79 s
[really-safe-money-gen] Nothing -> Left $ unwords ["Could not read string as an Amount:", s]
1170.79 s
[really-safe-money-gen] Just i ->
1170.79 s
[really-safe-money-gen] - if (i :: Integer) < toInteger (minBound :: Word64)
1170.79 s
[really-safe-money-gen] + if (i :: Integer) < = toInteger (minBound :: Word64)
1170.79 s
[really-safe-money-gen] then Left $ unwords ["Negative number of minimal quantisations:", show i]
1170.79 s
[really-safe-money-gen] else
1170.79 s
[really-safe-money-gen] if (i :: Integer) > toInteger (maxBound :: Word64)
1170.79 s
[really-safe-money-gen] Testing mutation Cmp at src/Money/Amount/Codec.hs:52:16-63
1170.79 s
[really-safe-money-gen] @@ -49,7 +49,7 @@
1170.79 s
[really-safe-money-gen] if (i :: Integer) < toInteger (minBound :: Word64)
1170.79 s
[really-safe-money-gen] then Left $ unwords ["Negative number of minimal quantisations:", show i]
1170.79 s
[really-safe-money-gen] else
1170.79 s
[really-safe-money-gen] - if (i :: Integer) > toInteger (maxBound :: Word64)
1170.79 s
[really-safe-money-gen] + if (i :: Integer) < = toInteger (maxBound :: Word64)
1170.79 s
[really-safe-money-gen] then Left $ unwords ["Number of minimal quantisations is too big:", show i]
1170.79 s
[really-safe-money-gen] else Right $ Amount.fromMinimalQuantisations (fromIntegral i :: Word64)
1170.79 s
[really-safe-money-gen] g :: Amount -> String
1170.79 s
[really-safe-money-gen] Testing mutation Negate at src/Money/Amount/Codec.hs:49:12-59
1170.79 s
[really-safe-money-gen] @@ -46,7 +46,7 @@
1170.79 s
[really-safe-money-gen] f s = case readMaybe s of
1170.79 s
[really-safe-money-gen] Nothing -> Left $ unwords ["Could not read string as an Amount:", s]
1170.79 s
[really-safe-money-gen] Just i ->
1170.79 s
[really-safe-money-gen] - if ( i :: Integer) < toInteger (minBound :: Word64)
1170.79 s
[really-safe-money-gen] + if n o t ( ( i :: Integer) < toInteger (minBound :: Word64) )
1170.79 s
[really-safe-money-gen] then Left $ unwords ["Negative number of minimal quantisations:", show i]
1170.79 s
[really-safe-money-gen] else
1170.79 s
[really-safe-money-gen] if (i :: Integer) > toInteger (maxBound :: Word64)
1170.79 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount/Codec.hs:49:12-59
1170.79 s
[really-safe-money-gen] @@ -46,7 +46,7 @@
1170.79 s
[really-safe-money-gen] f s = case readMaybe s of
1170.79 s
[really-safe-money-gen] Nothing -> Left $ unwords ["Could not read string as an Amount:", s]
1170.79 s
[really-safe-money-gen] Just i ->
1170.79 s
[really-safe-money-gen] - if ( i :: Intege r) < toInteg e r (m inBoun d :: Word64)
1170.79 s
[really-safe-money-gen] + if F al s e
1170.79 s
[really-safe-money-gen] then Left $ unwords ["Negative number of minimal quantisations:", show i]
1170.79 s
[really-safe-money-gen] else
1170.79 s
[really-safe-money-gen] if (i :: Integer) > toInteger (maxBound :: Word64)
1170.79 s
[really-safe-money-gen] Testing mutation Cmp at src/Money/Amount/Codec.hs:52:16-63
1170.79 s
[really-safe-money-gen] @@ -49,7 +49,7 @@
1170.79 s
[really-safe-money-gen] if (i :: Integer) < toInteger (minBound :: Word64)
1170.79 s
[really-safe-money-gen] then Left $ unwords ["Negative number of minimal quantisations:", show i]
1170.79 s
[really-safe-money-gen] else
1170.79 s
[really-safe-money-gen] - if (i :: Integer) > toInteger (maxBound :: Word64)
1170.79 s
[really-safe-money-gen] + if (i :: Integer) < toInteger (maxBound :: Word64)
1170.79 s
[really-safe-money-gen] then Left $ unwords ["Number of minimal quantisations is too big:", show i]
1170.79 s
[really-safe-money-gen] else Right $ Amount.fromMinimalQuantisations (fromIntegral i :: Word64)
1170.79 s
[really-safe-money-gen] g :: Amount -> String
1170.79 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount/Codec.hs:52:16-63
1170.79 s
[really-safe-money-gen] @@ -49,7 +49,7 @@
1170.79 s
[really-safe-money-gen] if (i :: Integer) < toInteger (minBound :: Word64)
1170.79 s
[really-safe-money-gen] then Left $ unwords ["Negative number of minimal quantisations:", show i]
1170.79 s
[really-safe-money-gen] else
1170.79 s
[really-safe-money-gen] - if ( i :: Intege r ) > t oIn t e g er (maxBound :: Word64)
1170.79 s
[really-safe-money-gen] + if T r u e
1170.79 s
[really-safe-money-gen] then Left $ unwords ["Number of minimal quantisations is too big:", show i]
1170.79 s
[really-safe-money-gen] else Right $ Amount.fromMinimalQuantisations (fromIntegral i :: Word64)
1170.79 s
[really-safe-money-gen] g :: Amount -> String
1170.79 s
[really-safe-money-gen] Testing mutation Cmp at src/Money/Amount/Codec.hs:52:16-63
1170.79 s
[really-safe-money-gen] @@ -49,7 +49,7 @@
1170.79 s
[really-safe-money-gen] if (i :: Integer) < toInteger (minBound :: Word64)
1170.79 s
[really-safe-money-gen] then Left $ unwords ["Negative number of minimal quantisations:", show i]
1170.79 s
[really-safe-money-gen] else
1170.79 s
[really-safe-money-gen] - if (i :: Integer) > toInteger (maxBound :: Word64)
1170.79 s
[really-safe-money-gen] + if (i :: Integer) > = toInteger (maxBound :: Word64)
1170.79 s
[really-safe-money-gen] then Left $ unwords ["Number of minimal quantisations is too big:", show i]
1170.79 s
[really-safe-money-gen] else Right $ Amount.fromMinimalQuantisations (fromIntegral i :: Word64)
1170.79 s
[really-safe-money-gen] g :: Amount -> String
1170.79 s
[really-safe-money-gen] Testing mutation ListLit at src/Money/Account/Codec.hs:51:33-76
1170.79 s
[really-safe-money-gen] @@ -48,7 +48,6 @@
1170.79 s
[really-safe-money-gen] where
1170.79 s
[really-safe-money-gen] f :: String -> Either String Account
1170.79 s
[really-safe-money-gen] f s = case readMaybe s >>= Account.fromMinimalQuantisations of
1170.79 s
[really-safe-money-gen] - Nothing -> Left $ unwords ["Could not read string as an Account:", s]
1170.79 s
[really-safe-money-gen] Just a -> Right a
1170.79 s
[really-safe-money-gen] g :: Account -> String
1170.79 s
[really-safe-money-gen] g = show . Account.toMinimalQuantisations
1170.79 s
[really-safe-money-gen] Testing mutation ListLit at src/Money/Account/Codec.hs:51:33-76
1170.79 s
[really-safe-money-gen] @@ -48,7 +48,6 @@
1170.79 s
[really-safe-money-gen] where
1170.79 s
[really-safe-money-gen] f :: String -> Either String Account
1170.79 s
[really-safe-money-gen] f s = case readMaybe s >>= Account.fromMinimalQuantisations of
1170.79 s
[really-safe-money-gen] - Nothing -> Left $ unwords ["Could not read string as an Account:", s]
1170.79 s
[really-safe-money-gen] Just a -> Right a
1170.79 s
[really-safe-money-gen] g :: Account -> String
1170.79 s
[really-safe-money-gen] g = show . Account.toMinimalQuantisations
1170.81 s
[really-safe-money-gen] Testing mutation RemoveCase at src/Money/Account/Codec.hs:79:11-24
1170.81 s
[really-safe-money-gen] @@ -76,6 +76,5 @@
1170.81 s
[really-safe-money-gen] <?> "Account"
1170.81 s
[really-safe-money-gen] where
1170.81 s
[really-safe-money-gen] f :: Integer -> Either String Account
1170.81 s
[really-safe-money-gen] f i = case Account.fromMinimalQuantisations i of
1170.81 s
[really-safe-money-gen] Nothing -> Left $ "Number did not fit into an account value: " <> show i
1170.81 s
[really-safe-money-gen] - Just a -> Right a
1170.81 s
[really-safe-money-gen] Testing mutation ListLit at src/Numeric/DecimalLiteral/Codec.hs:40:33-82
1170.81 s
[really-safe-money-gen] @@ -37,5 +37,4 @@
1170.81 s
[really-safe-money-gen] where
1170.81 s
[really-safe-money-gen] f :: String -> Either String DecimalLiteral
1170.81 s
[really-safe-money-gen] f s = case DecimalLiteral.fromString s of
1170.81 s
[really-safe-money-gen] - Nothing -> Left $ unwords ["Could not read string as a DecimalLiteral:", s]
1170.81 s
[really-safe-money-gen] Just a -> Right a
1170.81 s
[really-safe-money-gen] Testing mutation RemoveCase at src/Money/Account/Codec.hs:50:11-24
1170.81 s
[really-safe-money-gen] @@ -47,9 +47,8 @@
1170.81 s
[really-safe-money-gen] codecViaString = bimapCodec f g stringCodec <?> "Account"
1170.81 s
[really-safe-money-gen] where
1170.81 s
[really-safe-money-gen] f :: String -> Either String Account
1170.81 s
[really-safe-money-gen] f s = case readMaybe s >>= Account.fromMinimalQuantisations of
1170.81 s
[really-safe-money-gen] Nothing -> Left $ unwords ["Could not read string as an Account:", s]
1170.81 s
[really-safe-money-gen] - Just a -> Right a
1170.82 s
[really-safe-money-gen] g :: Account -> String
1170.82 s
[really-safe-money-gen] g = show . Account.toMinimalQuantisations
1170.82 s
[really-safe-money-gen]
1170.82 s
[really-safe-money-gen] Testing mutation ListLit at src/Numeric/DecimalLiteral/Codec.hs:40:33-82
1170.82 s
[really-safe-money-gen] @@ -37,5 +37,4 @@
1170.82 s
[really-safe-money-gen] where
1170.82 s
[really-safe-money-gen] f :: String -> Either String DecimalLiteral
1170.82 s
[really-safe-money-gen] f s = case DecimalLiteral.fromString s of
1170.82 s
[really-safe-money-gen] - Nothing -> Left $ unwords ["Could not read string as a DecimalLiteral:", s]
1170.82 s
[really-safe-money-gen] Just a -> Right a
1170.82 s
[really-safe-money-gen] Testing mutation RemoveCase at src/Numeric/DecimalLiteral/Codec.hs:39:11-24
1170.82 s
[really-safe-money-gen] @@ -36,6 +36,5 @@
1170.82 s
[really-safe-money-gen] codecViaString = bimapCodec f DecimalLiteral.toString stringCodec <?> "DecimalLiteral"
1170.82 s
[really-safe-money-gen] where
1170.82 s
[really-safe-money-gen] f :: String -> Either String DecimalLiteral
1170.82 s
[really-safe-money-gen] f s = case DecimalLiteral.fromString s of
1170.82 s
[really-safe-money-gen] Nothing -> Left $ unwords ["Could not read string as a DecimalLiteral:", s]
1170.82 s
[really-safe-money-gen] - Just a -> Right a
1170.82 s
[really-safe-money-gen] Testing mutation ListLit at src/Money/Amount/Codec.hs:53:35-90
1170.82 s
[really-safe-money-gen] @@ -50,7 +50,6 @@
1170.82 s
[really-safe-money-gen] then Left $ unwords ["Negative number of minimal quantisations:", show i]
1170.82 s
[really-safe-money-gen] else
1170.82 s
[really-safe-money-gen] if (i :: Integer) > toInteger (maxBound :: Word64)
1170.82 s
[really-safe-money-gen] - then Left $ unwords ["Number of minimal quantisations is too big:", show i]
1170.82 s
[really-safe-money-gen] else Right $ Amount.fromMinimalQuantisations (fromIntegral i :: Word64)
1170.82 s
[really-safe-money-gen] g :: Amount -> String
1170.82 s
[really-safe-money-gen] g = show . Amount.toMinimalQuantisations
1170.82 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount/Codec.hs:52:16-63
1170.82 s
[really-safe-money-gen] @@ -49,7 +49,7 @@
1170.82 s
[really-safe-money-gen] if (i :: Integer) < toInteger (minBound :: Word64)
1170.82 s
[really-safe-money-gen] then Left $ unwords ["Negative number of minimal quantisations:", show i]
1170.82 s
[really-safe-money-gen] else
1170.82 s
[really-safe-money-gen] - if ( i :: Intege r) > toInteg er ( m a xBo u n d :: Word64)
1170.82 s
[really-safe-money-gen] + if F a l s e
1170.82 s
[really-safe-money-gen] then Left $ unwords ["Number of minimal quantisations is too big:", show i]
1170.82 s
[really-safe-money-gen] else Right $ Amount.fromMinimalQuantisations (fromIntegral i :: Word64)
1170.82 s
[really-safe-money-gen] g :: Amount -> String
1170.82 s
[really-safe-money-gen] Testing mutation Negate at src/Money/Amount/Codec.hs:52:16-63
1170.82 s
[really-safe-money-gen] @@ -49,7 +49,7 @@
1170.82 s
[really-safe-money-gen] if (i :: Integer) < toInteger (minBound :: Word64)
1170.82 s
[really-safe-money-gen] then Left $ unwords ["Negative number of minimal quantisations:", show i]
1170.82 s
[really-safe-money-gen] else
1170.83 s
[really-safe-money-gen] - if ( i :: Integer) > toInteger (maxBound :: Word64)
1170.83 s
[really-safe-money-gen] + if n o t ( ( i :: Integer) > toInteger (maxBound :: Word64) )
1170.83 s
[really-safe-money-gen] then Left $ unwords ["Number of minimal quantisations is too big:", show i]
1170.83 s
[really-safe-money-gen] else Right $ Amount.fromMinimalQuantisations (fromIntegral i :: Word64)
1170.83 s
[really-safe-money-gen] g :: Amount -> String
1170.83 s
[really-safe-money-gen] Testing mutation RemoveCase at src/Money/Account/Codec.hs:50:11-24
1170.83 s
[really-safe-money-gen] @@ -47,9 +47,8 @@
1170.83 s
[really-safe-money-gen] codecViaString = bimapCodec f g stringCodec <?> "Account"
1170.83 s
[really-safe-money-gen] where
1170.83 s
[really-safe-money-gen] f :: String -> Either String Account
1170.83 s
[really-safe-money-gen] f s = case readMaybe s >>= Account.fromMinimalQuantisations of
1170.83 s
[really-safe-money-gen] - Nothing -> Left $ unwords ["Could not read string as an Account:", s]
1170.83 s
[really-safe-money-gen] Just a -> Right a
1170.83 s
[really-safe-money-gen] g :: Account -> String
1170.83 s
[really-safe-money-gen] g = show . Account.toMinimalQuantisations
1170.83 s
[really-safe-money-gen]
1170.83 s
[really-safe-money-gen] Testing mutation RemoveCase at src/Numeric/DecimalLiteral/Codec.hs:39:11-24
1170.83 s
[really-safe-money-gen] @@ -36,6 +36,5 @@
1170.83 s
[really-safe-money-gen] codecViaString = bimapCodec f DecimalLiteral.toString stringCodec <?> "DecimalLiteral"
1170.83 s
[really-safe-money-gen] where
1170.83 s
[really-safe-money-gen] f :: String -> Either String DecimalLiteral
1170.83 s
[really-safe-money-gen] f s = case DecimalLiteral.fromString s of
1170.83 s
[really-safe-money-gen] - Nothing -> Left $ unwords ["Could not read string as a DecimalLiteral:", s]
1170.83 s
[really-safe-money-gen] Just a -> Right a
1170.83 s
[really-safe-money-gen] Testing mutation Cmp at src/Money/Amount/Codec.hs:49:12-59
1170.83 s
[really-safe-money-gen] @@ -46,7 +46,7 @@
1170.83 s
[really-safe-money-gen] f s = case readMaybe s of
1170.83 s
[really-safe-money-gen] Nothing -> Left $ unwords ["Could not read string as an Amount:", s]
1170.83 s
[really-safe-money-gen] Just i ->
1170.83 s
[really-safe-money-gen] - if (i :: Integer) < toInteger (minBound :: Word64)
1170.83 s
[really-safe-money-gen] + if (i :: Integer) > = toInteger (minBound :: Word64)
1170.83 s
[really-safe-money-gen] then Left $ unwords ["Negative number of minimal quantisations:", show i]
1170.83 s
[really-safe-money-gen] else
1170.83 s
[really-safe-money-gen] if (i :: Integer) > toInteger (maxBound :: Word64)
1170.83 s
[really-safe-money-gen] Testing mutation RemoveCase at src/Money/Account/Codec.hs:79:11-24
1170.83 s
[really-safe-money-gen] @@ -76,6 +76,5 @@
1170.83 s
[really-safe-money-gen] <?> "Account"
1170.83 s
[really-safe-money-gen] where
1170.83 s
[really-safe-money-gen] f :: Integer -> Either String Account
1170.83 s
[really-safe-money-gen] f i = case Account.fromMinimalQuantisations i of
1170.83 s
[really-safe-money-gen] - Nothing -> Left $ "Number did not fit into an account value: " <> show i
1170.83 s
[really-safe-money-gen] Just a -> Right a
1170.83 s
[really-safe-money-gen] Testing mutation RemoveCase at src/Money/Amount/Codec.hs:46:11-86
1170.83 s
[really-safe-money-gen] @@ -43,15 +43,8 @@
1170.83 s
[really-safe-money-gen] codecViaString = bimapCodec f g stringCodec <?> "Amount"
1170.83 s
[really-safe-money-gen] where
1170.83 s
[really-safe-money-gen] f :: String -> Either String Amount
1170.83 s
[really-safe-money-gen] f s = case readMaybe s of
1170.83 s
[really-safe-money-gen] Nothing -> Left $ unwords ["Could not read string as an Amount:", s]
1170.83 s
[really-safe-money-gen] - Just i ->
1170.83 s
[really-safe-money-gen] - if (i :: Integer) < toInteger (minBound :: Word64)
1170.83 s
[really-safe-money-gen] - then Left $ unwords ["Negative number of minimal quantisations:", show i]
1170.83 s
[really-safe-money-gen] - else
1170.83 s
[really-safe-money-gen] - if (i :: Integer) > toInteger (maxBound :: Word64)
1170.83 s
[really-safe-money-gen] - then Left $ unwords ["Number of minimal quantisations is too big:", show i]
1170.83 s
[really-safe-money-gen] - else Right $ Amount.fromMinimalQuantisations (fromIntegral i :: Word64)
1170.83 s
[really-safe-money-gen] g :: Amount -> String
1170.83 s
[really-safe-money-gen] g = show . Amount.toMinimalQuantisations
1170.83 s
[really-safe-money-gen]
1170.83 s
[really-safe-money-gen] Testing mutation RemoveCase at src/Money/Amount/Codec.hs:46:11-86
1170.84 s
[really-safe-money-gen] @@ -43,15 +43,14 @@
1170.84 s
[really-safe-money-gen] codecViaString = bimapCodec f g stringCodec <?> "Amount"
1170.84 s
[really-safe-money-gen] where
1170.84 s
[really-safe-money-gen] f :: String -> Either String Amount
1170.84 s
[really-safe-money-gen] f s = case readMaybe s of
1170.84 s
[really-safe-money-gen] - Nothing -> Left $ unwords ["Could not read string as an Amount:", s]
1170.84 s
[really-safe-money-gen] Just i ->
1170.84 s
[really-safe-money-gen] if (i :: Integer) < toInteger (minBound :: Word64)
1170.84 s
[really-safe-money-gen] then Left $ unwords ["Negative number of minimal quantisations:", show i]
1170.84 s
[really-safe-money-gen] else
1170.84 s
[really-safe-money-gen] if (i :: Integer) > toInteger (maxBound :: Word64)
1170.84 s
[really-safe-money-gen] then Left $ unwords ["Number of minimal quantisations is too big:", show i]
1170.84 s
[really-safe-money-gen] else Right $ Amount.fromMinimalQuantisations (fromIntegral i :: Word64)
1170.84 s
[really-safe-money-gen] g :: Amount -> String
1170.84 s
[really-safe-money-gen] g = show . Amount.toMinimalQuantisations
1170.84 s
[really-safe-money-gen]
1170.84 s
[really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount/Codec.hs:49:12-59
1170.84 s
[really-safe-money-gen] @@ -46,7 +46,7 @@
1170.84 s
[really-safe-money-gen] f s = case readMaybe s of
1170.84 s
[really-safe-money-gen] Nothing -> Left $ unwords ["Could not read string as an Amount:", s]
1170.84 s
[really-safe-money-gen] Just i ->
1170.84 s
[really-safe-money-gen] - if ( i :: Intege r ) < t oIn t e g er (minBound :: Word64)
1170.84 s
[really-safe-money-gen] + if T r u e
1170.84 s
[really-safe-money-gen] then Left $ unwords ["Negative number of minimal quantisations:", show i]
1170.84 s
[really-safe-money-gen] else
1170.84 s
[really-safe-money-gen] if (i :: Integer) > toInteger (maxBound :: Word64)
1170.84 s
[really-safe-money-gen] Testing mutation ListLit at src/Money/Amount/Codec.hs:53:35-90
1170.84 s
[really-safe-money-gen] @@ -50,7 +50,6 @@
1170.84 s
[really-safe-money-gen] then Left $ unwords ["Negative number of minimal quantisations:", show i]
1170.84 s
[really-safe-money-gen] else
1170.84 s
[really-safe-money-gen] if (i :: Integer) > toInteger (maxBound :: Word64)
1187.64 s
[really-safe-money-gen] - then Left $ unwords ["Number of minimal quantisations Killed: 426
1187.67 s
[really-safe-money-gen] (of which timed out: 0 )
1187.67 s
[really-safe-money-gen] Survived: 58
1187.67 s
[really-safe-money-gen] Uncovered: 40
1187.67 s
[really-safe-money-gen]
1187.67 s
[really-safe-money-gen] Surviving mutations:
1187.67 s
[really-safe-money-gen]
1187.67 s
[really-safe-money-gen] ListLit at src/Money/MultiAccount.hs:66:7-8
1187.67 s
[really-safe-money-gen] @@ -63,11 +63,10 @@
1187.67 s
[really-safe-money-gen] instance (Validity currency, Show currency, Ord currency) => Validity (MultiAccount currency) where
1187.67 s
[really-safe-money-gen] validate ma@(MultiAccount m) =
1187.67 s
[really-safe-money-gen] mconcat
1187.67 s
[really-safe-money-gen] - [ genericValidate ma,
1187.67 s
[really-safe-money-gen] decorateMap m $ \_ a ->
1187.68 s
[really-safe-money-gen] declare "The account is not zero" $
1187.68 s
[really-safe-money-gen] a /= Account.zero
1187.68 s
[really-safe-money-gen] ]
1187.68 s
[really-safe-money-gen]
1187.68 s
[really-safe-money-gen] -- TODO no empty currencies
1187.68 s
[really-safe-money-gen]
1187.68 s
[really-safe-money-gen]
1187.68 s
[really-safe-money-gen] ListLit at src/Money/MultiAccount.hs:66:7-8
1187.68 s
[really-safe-money-gen] @@ -63,11 +63,7 @@
1187.68 s
[really-safe-money-gen] instance (Validity currency, Show currency, Ord currency) => Validity (MultiAccount currency) where
1187.68 s
[really-safe-money-gen] validate ma@(MultiAccount m) =
1187.68 s
[really-safe-money-gen] mconcat
1187.68 s
[really-safe-money-gen] - [ genericValidate ma,
1187.68 s
[really-safe-money-gen] - decorateMap m $ \_ a ->
1187.68 s
[really-safe-money-gen] - declare "The account is not zero" $
1187.68 s
[really-safe-money-gen] - a /= Account.zero
1187.68 s
[really-safe-money-gen] ]
1187.68 s
[really-safe-money-gen]
1187.68 s
[really-safe-money-gen] -- TODO no empty currencies
1187.68 s
[really-safe-money-gen]
1187.68 s
[really-safe-money-gen]
1187.68 s
[really-safe-money-gen] ConstBool at src/Money/MultiAccount.hs:69:13-30
1187.68 s
[really-safe-money-gen] @@ -66,7 +66,7 @@
1187.68 s
[really-safe-money-gen] [ genericValidate ma,
1187.68 s
[really-safe-money-gen] decorateMap m $ \_ a ->
1187.68 s
[really-safe-money-gen] declare "The account is not zero" $
1187.68 s
[really-safe-money-gen] - a / = Ac co u nt .z e ro
1187.68 s
[really-safe-money-gen] + T r u e
1187.68 s
[really-safe-money-gen] ]
1187.68 s
[really-safe-money-gen]
1187.68 s
[really-safe-money-gen] -- TODO no empty currencies
1187.68 s
[really-safe-money-gen]
1187.68 s
[really-safe-money-gen] ConstBool at src/Money/MultiAccount.hs:78:6-28
1187.68 s
[really-safe-money-gen] @@ -75,7 +75,7 @@
1187.68 s
[really-safe-money-gen]
1187.68 s
[really-safe-money-gen] fromAccount :: currency -> Account -> MultiAccount currency
1187.68 s
[really-safe-money-gen] fromAccount currency amount =
1187.68 s
[really-safe-money-gen] - if a m o unt == A cco u n t.z e ro
1187.68 s
[really-safe-money-gen] + if Tr u e
1187.68 s
[really-safe-money-gen] then zero
1187.68 s
[really-safe-money-gen] else MultiAccount $ M.singleton currency amount
1187.68 s
[really-safe-money-gen]
1187.68 s
[really-safe-money-gen]
1187.68 s
[really-safe-money-gen] MaybeOp at src/Money/MultiAccount.hs:113:40-46
1187.68 s
[really-safe-money-gen] @@ -110,7 +110,7 @@
1187.68 s
[really-safe-money-gen] -- | Add an 'Account' to a 'MultiAccount'
1187.68 s
[really-safe-money-gen] addAccount :: (Ord currency) => MultiAccount currency -> currency -> Account -> Maybe (MultiAccount currency)
1187.68 s
[really-safe-money-gen] addAccount m _ (Positive (Amount 0)) = Just m
1187.68 s
[really-safe-money-gen] - addAccount m _ (Negative (Amount 0)) = J u s t m
1187.68 s
[really-safe-money-gen] + addAccount m _ (Negative (Amount 0)) = No t h ing
1187.68 s
[really-safe-money-gen] addAccount (MultiAccount m) currency account =
1187.68 s
[really-safe-money-gen] fmap MultiAccount $ case M.lookup currency m of
1187.68 s
[really-safe-money-gen] Nothing -> Just $ M.insert currency account m
1187.68 s
[really-safe-money-gen]
1187.68 s
[really-safe-money-gen] MaybeOp at src/Money/MultiAccount.hs:127:45-51
1187.68 s
[really-safe-money-gen] @@ -124,7 +124,7 @@
1187.68 s
[really-safe-money-gen] -- | Add an 'Account' to a 'MultiAccount'
1187.68 s
[really-safe-money-gen] subtractAccount :: (Ord currency) => MultiAccount currency -> currency -> Account -> Maybe (MultiAccount currency)
1187.68 s
[really-safe-money-gen] subtractAccount m _ (Positive (Amount 0)) = Just m
1187.68 s
[really-safe-money-gen] - subtractAccount m _ (Negative (Amount 0)) = J u s t m
1187.69 s
[really-safe-money-gen] + subtractAccount m _ (Negative (Amount 0)) = No t h ing
1187.69 s
[really-safe-money-gen] subtractAccount (MultiAccount m) currency account =
1187.69 s
[really-safe-money-gen] fmap MultiAccount $ case M.lookup currency m of
1187.69 s
[really-safe-money-gen] Nothing -> Just $ M.insert currency (Account.negate account) m
1187.69 s
[really-safe-money-gen]
1187.69 s
[really-safe-money-gen] MaybeOp at src/Money/MultiAccount.hs:126:45-51
1187.69 s
[really-safe-money-gen] @@ -123,7 +123,7 @@
1187.69 s
[really-safe-money-gen]
1187.69 s
[really-safe-money-gen] -- | Add an 'Account' to a 'MultiAccount'
1187.69 s
[really-safe-money-gen] subtractAccount :: (Ord currency) => MultiAccount currency -> currency -> Account -> Maybe (MultiAccount currency)
1187.69 s
[really-safe-money-gen] - subtractAccount m _ (Positive (Amount 0)) = J u s t m
1187.69 s
[really-safe-money-gen] + subtractAccount m _ (Positive (Amount 0)) = No t h ing
1187.69 s
[really-safe-money-gen] subtractAccount m _ (Negative (Amount 0)) = Just m
1187.69 s
[really-safe-money-gen] subtractAccount (MultiAccount m) currency account =
1187.69 s
[really-safe-money-gen] fmap MultiAccount $ case M.lookup currency m of
1187.69 s
[really-safe-money-gen]
1187.69 s
[really-safe-money-gen] ListLit at src/Money/MultiAmount.hs:63:7-8
1187.69 s
[really-safe-money-gen] @@ -60,11 +60,10 @@
1187.69 s
[really-safe-money-gen] instance (Validity currency, Show currency, Ord currency) => Validity (MultiAmount currency) where
1187.69 s
[really-safe-money-gen] validate ma@(MultiAmount m) =
1187.69 s
[really-safe-money-gen] mconcat
1187.69 s
[really-safe-money-gen] - [ genericValidate ma,
1187.69 s
[really-safe-money-gen] decorateMap m $ \_ a ->
1187.69 s
[really-safe-money-gen] declare "The amount is not zero" $
1187.69 s
[really-safe-money-gen] a /= Amount.zero
1187.69 s
[really-safe-money-gen] ]
1187.69 s
[really-safe-money-gen]
1187.69 s
[really-safe-money-gen] instance (NFData currency) => NFData (MultiAmount currency)
1187.69 s
[really-safe-money-gen]
1187.69 s
[really-safe-money-gen]
1187.69 s
[really-safe-money-gen] ListLit at src/Money/MultiAmount.hs:63:7-8
1187.69 s
[really-safe-money-gen] @@ -60,11 +60,7 @@
1187.69 s
[really-safe-money-gen] instance (Validity currency, Show currency, Ord currency) => Validity (MultiAmount currency) where
1187.69 s
[really-safe-money-gen] validate ma@(MultiAmount m) =
1187.69 s
[really-safe-money-gen] mconcat
1187.69 s
[really-safe-money-gen] - [ genericValidate ma,
1187.69 s
[really-safe-money-gen] - decorateMap m $ \_ a ->
1187.69 s
[really-safe-money-gen] - declare "The amount is not zero" $
1187.69 s
[really-safe-money-gen] - a /= Amount.zero
1187.69 s
[really-safe-money-gen] ]
1187.69 s
[really-safe-money-gen]
1187.69 s
[really-safe-money-gen] instance (NFData currency) => NFData (MultiAmount currency)
1187.69 s
[really-safe-money-gen]
1187.69 s
[really-safe-money-gen]
1187.69 s
[really-safe-money-gen] ConstBool at src/Money/MultiAmount.hs:66:13-29
1187.69 s
[really-safe-money-gen] @@ -63,7 +63,7 @@
1187.69 s
[really-safe-money-gen] [ genericValidate ma,
1187.69 s
[really-safe-money-gen] decorateMap m $ \_ a ->
1187.69 s
[really-safe-money-gen] declare "The amount is not zero" $
1187.69 s
[really-safe-money-gen] - a / = A mo u nt .z e ro
1187.69 s
[really-safe-money-gen] + Tr u e
1187.69 s
[really-safe-money-gen] ]
1187.69 s
[really-safe-money-gen]
1187.69 s
[really-safe-money-gen] instance (NFData currency) => NFData (MultiAmount currency)
1187.69 s
[really-safe-money-gen]
1187.69 s
[really-safe-money-gen] ConstBool at src/Money/MultiAmount.hs:106:12-28
1187.69 s
[really-safe-money-gen] @@ -103,7 +103,7 @@
1187.69 s
[really-safe-money-gen] Just a -> do
1187.69 s
[really-safe-money-gen] r <- Amount.add a amount
1187.69 s
[really-safe-money-gen] Just $
1187.69 s
[really-safe-money-gen] - if r == A mount .z e ro
1187.69 s
[really-safe-money-gen] + if Fal s e
1187.69 s
[really-safe-money-gen] then M.delete currency m
1187.69 s
[really-safe-money-gen] else M.insert currency r m
1187.69 s
[really-safe-money-gen]
1187.69 s
[really-safe-money-gen]
1187.69 s
[really-safe-money-gen] Negate at src/Money/MultiAmount.hs:119:12-28
1187.69 s
[really-safe-money-gen] @@ -116,7 +116,7 @@
1187.69 s
[really-safe-money-gen] Just a -> do
1187.69 s
[really-safe-money-gen] r <- Amount.subtract a amount
1187.69 s
[really-safe-money-gen] Just $
1187.69 s
[really-safe-money-gen] - if r == Amount.zero
1187.69 s
[really-safe-money-gen] + if n o t ( r == Amount.zero )
1187.69 s
[really-safe-money-gen] then M.delete currency m
1187.69 s
[really-safe-money-gen] else M.insert currency r m
1187.69 s
[really-safe-money-gen]
1187.69 s
[really-safe-money-gen]
1187.69 s
[really-safe-money-gen] ConstBool at src/Money/MultiAmount.hs:119:12-28
1187.69 s
[really-safe-money-gen] @@ -116,7 +116,7 @@
1187.70 s
[really-safe-money-gen] Just a -> do
1187.70 s
[really-safe-money-gen] r <- Amount.subtract a amount
1187.70 s
[really-safe-money-gen] Just $
1187.70 s
[really-safe-money-gen] - if r == A mount .z e ro
1187.70 s
[really-safe-money-gen] + if Fal s e
1187.70 s
[really-safe-money-gen] then M.delete currency m
1187.70 s
[really-safe-money-gen] else M.insert currency r m
1187.70 s
[really-safe-money-gen]
1187.70 s
[really-safe-money-gen]
1187.70 s
[really-safe-money-gen] ConstBool at src/Money/MultiAmount.hs:119:12-28
1187.70 s
[really-safe-money-gen] @@ -116,7 +116,7 @@
1187.70 s
[really-safe-money-gen] Just a -> do
1187.70 s
[really-safe-money-gen] r <- Amount.subtract a amount
1187.70 s
[really-safe-money-gen] Just $
1187.70 s
[really-safe-money-gen] - if r == Am o u n t. z e r o
1187.70 s
[really-safe-money-gen] + if T r u e
1187.70 s
[really-safe-money-gen] then M.delete currency m
1187.70 s
[really-safe-money-gen] else M.insert currency r m
1187.70 s
[really-safe-money-gen]
1187.70 s
[really-safe-money-gen]
1187.70 s
[really-safe-money-gen] MaybeOp at src/Money/MultiAmount.hs:112:33-39
1187.70 s
[really-safe-money-gen] @@ -109,7 +109,7 @@
1187.70 s
[really-safe-money-gen]
1187.70 s
[really-safe-money-gen] -- | Subtract an 'Amount' from a 'MultiAmount'
1187.70 s
[really-safe-money-gen] subtractAmount :: (Ord currency) => MultiAmount currency -> currency -> Amount -> Maybe (MultiAmount currency)
1187.70 s
[really-safe-money-gen] - subtractAmount m _ (Amount 0) = J u s t m
1187.70 s
[really-safe-money-gen] + subtractAmount m _ (Amount 0) = No t h ing
1187.70 s
[really-safe-money-gen] subtractAmount (MultiAmount m) currency amount =
1187.70 s
[really-safe-money-gen] fmap MultiAmount $ case M.lookup currency m of
1187.70 s
[really-safe-money-gen] Nothing -> Nothing -- Can't go below zero
1187.70 s
[really-safe-money-gen]
1187.70 s
[really-safe-money-gen] Cmp at src/Money/MultiAmount.hs:168:20-45
1187.70 s
[really-safe-money-gen] @@ -165,7 +165,7 @@
1187.70 s
[really-safe-money-gen] maxBoundN :: Natural
1187.70 s
[really-safe-money-gen] maxBoundN = fromIntegral (maxBound :: Word64)
1187.70 s
[really-safe-money-gen] actualResult =
1187.70 s
[really-safe-money-gen] - if roundedResult > maxBoundN
1187.70 s
[really-safe-money-gen] + if roundedResult > = maxBoundN
1187.70 s
[really-safe-money-gen] then Nothing
1187.70 s
[really-safe-money-gen] else Just (fromIntegral roundedResult)
1187.70 s
[really-safe-money-gen] rounded = case compare (fromIntegral roundedResult) theoreticalResult of
1187.70 s
[really-safe-money-gen]
1187.70 s
[really-safe-money-gen] ListLit at src/Money/Amount.hs:603:7-8
1187.70 s
[really-safe-money-gen] @@ -600,13 +600,12 @@
1187.70 s
[really-safe-money-gen] instance (Validity amount, Ord amount) => Validity (Distribution amount) where
1187.70 s
[really-safe-money-gen] validate ad =
1187.70 s
[really-safe-money-gen] mconcat
1187.70 s
[really-safe-money-gen] - [ genericValidate ad,
1187.70 s
[really-safe-money-gen] case ad of
1187.71 s
[really-safe-money-gen] DistributedIntoUnequalChunks _ a1 _ a2 ->
1187.71 s
[really-safe-money-gen] declare "The larger chunks are larger" $
1187.71 s
[really-safe-money-gen] a1 > a2
1187.71 s
[really-safe-money-gen] _ -> valid
1187.71 s
[really-safe-money-gen] ]
1187.71 s
[really-safe-money-gen]
1187.71 s
[really-safe-money-gen] instance (NFData amount) => NFData (Distribution amount)
1187.71 s
[really-safe-money-gen]
1187.71 s
[really-safe-money-gen]
1187.71 s
[really-safe-money-gen] ListLit at src/Money/Amount.hs:603:7-8
1187.71 s
[really-safe-money-gen] @@ -600,13 +600,7 @@
1187.71 s
[really-safe-money-gen] instance (Validity amount, Ord amount) => Validity (Distribution amount) where
1187.71 s
[really-safe-money-gen] validate ad =
1187.71 s
[really-safe-money-gen] mconcat
1187.71 s
[really-safe-money-gen] - [ genericValidate ad,
1187.71 s
[really-safe-money-gen] - case ad of
1187.71 s
[really-safe-money-gen] - DistributedIntoUnequalChunks _ a1 _ a2 ->
1187.71 s
[really-safe-money-gen] - declare "The larger chunks are larger" $
1187.71 s
[really-safe-money-gen] - a1 > a2
1187.71 s
[really-safe-money-gen] - _ -> valid
1187.71 s
[really-safe-money-gen] ]
1187.71 s
[really-safe-money-gen]
1187.71 s
[really-safe-money-gen] instance (NFData amount) => NFData (Distribution amount)
1187.71 s
[really-safe-money-gen]
1187.71 s
[really-safe-money-gen]
1187.71 s
[really-safe-money-gen] RemoveCase at src/Money/Amount.hs:604:9-21
1187.71 s
[really-safe-money-gen] @@ -601,11 +601,8 @@
1187.71 s
[really-safe-money-gen] validate ad =
1187.71 s
[really-safe-money-gen] mconcat
1187.71 s
[really-safe-money-gen] [ genericValidate ad,
1187.71 s
[really-safe-money-gen] case ad of
1187.71 s
[really-safe-money-gen] - DistributedIntoUnequalChunks _ a1 _ a2 ->
1187.71 s
[really-safe-money-gen] - declare "The larger chunks are larger" $
1187.71 s
[really-safe-money-gen] - a1 > a2
1187.71 s
[really-safe-money-gen] _ -> valid
1187.71 s
[really-safe-money-gen] ]
1187.71 s
[really-safe-money-gen]
1187.71 s
[really-safe-money-gen] instance (NFData amount) => NFData (Distribution amount)
1187.71 s
[really-safe-money-gen]
1187.71 s
[really-safe-money-gen] ConstBool at src/Money/Amount.hs:607:15-22
1187.71 s
[really-safe-money-gen] @@ -604,7 +604,7 @@
1187.71 s
[really-safe-money-gen] case ad of
1187.71 s
[really-safe-money-gen] DistributedIntoUnequalChunks _ a1 _ a2 ->
1187.71 s
[really-safe-money-gen] declare "The larger chunks are larger" $
1187.71 s
[really-safe-money-gen] - a 1 > a2
1187.71 s
[really-safe-money-gen] + T rue
1187.71 s
[really-safe-money-gen] _ -> valid
1187.71 s
[really-safe-money-gen] ]
1187.71 s
[really-safe-money-gen]
1187.71 s
[really-safe-money-gen]
1187.71 s
[really-safe-money-gen] Cmp at src/Money/Amount.hs:607:15-22
1187.71 s
[really-safe-money-gen] @@ -604,7 +604,7 @@
1187.71 s
[really-safe-money-gen] case ad of
1187.71 s
[really-safe-money-gen] DistributedIntoUnequalChunks _ a1 _ a2 ->
1187.71 s
[really-safe-money-gen] declare "The larger chunks are larger" $
1187.71 s
[really-safe-money-gen] - a1 > a2
1187.71 s
[really-safe-money-gen] + a1 > = a2
1187.71 s
[really-safe-money-gen] _ -> valid
1187.72 s
[really-safe-money-gen] ]
1187.72 s
[really-safe-money-gen]
1187.72 s
[really-safe-money-gen]
1187.72 s
[really-safe-money-gen] MaybeOp at src/Money/Amount.hs:661:19-28
1187.72 s
[really-safe-money-gen] @@ -658,7 +658,7 @@
1187.72 s
[really-safe-money-gen] -- | The amount and the real rate that was used, considering the 'Rounding'
1187.72 s
[really-safe-money-gen] (Maybe Amount, Ratio Natural)
1187.72 s
[really-safe-money-gen] fraction _ (Amount 0) f = (Just zero, f)
1187.72 s
[really-safe-money-gen] - fraction _ _ 0 = ( J u st ze r o , 0)
1187.72 s
[really-safe-money-gen] + fraction _ _ 0 = ( N o th in g , 0)
1187.72 s
[really-safe-money-gen] fraction r (Amount a) f =
1187.72 s
[really-safe-money-gen] let amountAsRatio :: Ratio Natural
1187.72 s
[really-safe-money-gen] amountAsRatio = (fromIntegral :: Word64 -> Ratio Natural) a
1187.72 s
[really-safe-money-gen]
1187.72 s
[really-safe-money-gen] Cmp at src/Money/Amount.hs:495:10-23
1187.72 s
[really-safe-money-gen] @@ -492,7 +492,7 @@
1187.72 s
[really-safe-money-gen] maxBoundI = fromIntegral (maxBound :: Word64)
1187.72 s
[really-safe-money-gen] r :: Integer
1187.72 s
[really-safe-money-gen] r = foldl' (\acc a -> (toInteger :: Word64 -> Integer) (toMinimalQuantisations a) + acc) 0 l
1187.72 s
[really-safe-money-gen] - in if r > maxBoundI
1187.72 s
[really-safe-money-gen] + in if r > = maxBoundI
1187.72 s
[really-safe-money-gen] then Nothing
1187.72 s
[really-safe-money-gen] else Just (Amount ((fromInteger :: Integer -> Word64) r))
1187.72 s
[really-safe-money-gen]
1187.72 s
[really-safe-money-gen]
1187.72 s
[really-safe-money-gen] Cmp at src/Money/Amount.hs:341:26-91
1187.72 s
[really-safe-money-gen] @@ -338,7 +338,7 @@
1187.72 s
[really-safe-money-gen] floored = (floor :: Double -> Natural) resultDouble
1187.72 s
[really-safe-money-gen] in if ceiled == floored
1187.72 s
[really-safe-money-gen] then
1187.72 s
[really-safe-money-gen] - if ceiled > (fromIntegral :: Word64 -> Natural) (maxBound :: Word64)
1187.72 s
[really-safe-money-gen] + if ceiled > = (fromIntegral :: Word64 -> Natural) (maxBound :: Word64)
1187.72 s
[really-safe-money-gen] then Nothing
1187.72 s
[really-safe-money-gen] else Just $ Amount (fromIntegral ceiled)
1187.72 s
[really-safe-money-gen] else Nothing
1187.72 s
[really-safe-money-gen]
1187.72 s
[really-safe-money-gen] ConstBool at src/Money/Amount.hs:332:14-40
1187.72 s
[really-safe-money-gen] @@ -329,7 +329,7 @@
1187.72 s
[really-safe-money-gen] | otherwise =
1187.72 s
[really-safe-money-gen] -- Shortcut for numbers that are way too big anyway
1187.72 s
[really-safe-money-gen] -- so that we don't have to compute the according 'Natural' values.
1187.72 s
[really-safe-money-gen] - if e xp one nt r e s ultDoub l e > 65
1187.72 s
[really-safe-money-gen] + if Fa l s e
1187.72 s
[really-safe-money-gen] then Nothing
1187.72 s
[really-safe-money-gen] else
1187.72 s
[really-safe-money-gen] let ceiled :: Natural
1187.72 s
[really-safe-money-gen]
1187.72 s
[really-safe-money-gen] Cmp at src/Money/Amount.hs:332:14-40
1187.72 s
[really-safe-money-gen] @@ -329,7 +329,7 @@
1187.72 s
[really-safe-money-gen] | otherwise =
1187.72 s
[really-safe-money-gen] -- Shortcut for numbers that are way too big anyway
1187.72 s
[really-safe-money-gen] -- so that we don't have to compute the according 'Natural' values.
1187.72 s
[really-safe-money-gen] - if exponent resultDouble > 65
1187.72 s
[really-safe-money-gen] + if exponent resultDouble > = 65
1187.72 s
[really-safe-money-gen] then Nothing
1187.72 s
[really-safe-money-gen] else
1187.72 s
[really-safe-money-gen] let ceiled :: Natural
1187.72 s
[really-safe-money-gen]
1187.72 s
[really-safe-money-gen] MaybeOp at src/Money/Amount.hs:520:14-66
1187.72 s
[really-safe-money-gen] @@ -517,7 +517,7 @@
1187.72 s
[really-safe-money-gen] r = i1 - i2
1187.72 s
[really-safe-money-gen] in if r < 0
1187.72 s
[really-safe-money-gen] then Nothing
1187.72 s
[really-safe-money-gen] - else J u s t ( Am o u n t ( (f rom I n t e g er :: Integer -> Word64) r))
1187.72 s
[really-safe-money-gen] + else N o t hi n g
1187.72 s
[really-safe-money-gen]
1187.73 s
[really-safe-money-gen] -- | Multiply an amount of money by an integer scalar
1187.73 s
[really-safe-money-gen] --
1187.73 s
[really-safe-money-gen]
1187.73 s
[really-safe-money-gen] ConstBool at src/Money/Amount.hs:518:10-15
1187.73 s
[really-safe-money-gen] @@ -515,7 +515,7 @@
1187.73 s
[really-safe-money-gen] i2 = (fromIntegral :: Word64 -> Integer) a2
1187.73 s
[really-safe-money-gen] r :: Integer
1187.73 s
[really-safe-money-gen] r = i1 - i2
1187.73 s
[really-safe-money-gen] - in if r < 0
1187.73 s
[really-safe-money-gen] + in if T r ue
1187.73 s
[really-safe-money-gen] then Nothing
1187.73 s
[really-safe-money-gen] else Just (Amount ((fromInteger :: Integer -> Word64) r))
1187.73 s
[really-safe-money-gen]
1187.73 s
[really-safe-money-gen]
1187.73 s
[really-safe-money-gen] Cmp at src/Money/Amount.hs:518:10-15
1187.73 s
[really-safe-money-gen] @@ -515,7 +515,7 @@
1187.73 s
[really-safe-money-gen] i2 = (fromIntegral :: Word64 -> Integer) a2
1187.73 s
[really-safe-money-gen] r :: Integer
1187.73 s
[really-safe-money-gen] r = i1 - i2
1187.73 s
[really-safe-money-gen] - in if r < 0
1187.73 s
[really-safe-money-gen] + in if r < = 0
1187.73 s
[really-safe-money-gen] then Nothing
1187.73 s
[really-safe-money-gen] else Just (Amount ((fromInteger :: Integer -> Word64) r))
1187.73 s
[really-safe-money-gen]
1187.73 s
[really-safe-money-gen]
1187.73 s
[really-safe-money-gen] IntLit at src/Money/Amount.hs:518:14-15
1187.73 s
[really-safe-money-gen] @@ -515,7 +515,7 @@
1187.73 s
[really-safe-money-gen] i2 = (fromIntegral :: Word64 -> Integer) a2
1187.73 s
[really-safe-money-gen] r :: Integer
1187.73 s
[really-safe-money-gen] r = i1 - i2
1187.73 s
[really-safe-money-gen] - in if r < 0
1187.73 s
[really-safe-money-gen] + in if r < 1
1187.73 s
[really-safe-money-gen] then Nothing
1187.73 s
[really-safe-money-gen] else Just (Amount ((fromInteger :: Integer -> Word64) r))
1187.73 s
[really-safe-money-gen]
1187.73 s
[really-safe-money-gen]
1187.73 s
[really-safe-money-gen] ListLit at src/Money/QuantisationFactor.hs:39:7-8
1187.73 s
[really-safe-money-gen] @@ -36,9 +36,8 @@
1187.73 s
[really-safe-money-gen] instance Validity QuantisationFactor where
1187.73 s
[really-safe-money-gen] validate qf@(QuantisationFactor w) =
1187.73 s
[really-safe-money-gen] mconcat
1187.73 s
[really-safe-money-gen] - [ genericValidate qf,
1187.73 s
[really-safe-money-gen] declare "The quantisation factor is not zero" $ w /= 0
1187.73 s
[really-safe-money-gen] ]
1187.73 s
[really-safe-money-gen]
1187.73 s
[really-safe-money-gen] instance NFData QuantisationFactor
1187.73 s
[really-safe-money-gen]
1187.73 s
[really-safe-money-gen]
1187.73 s
[really-safe-money-gen] ListLit at src/Money/QuantisationFactor.hs:39:7-8
1187.73 s
[really-safe-money-gen] @@ -36,9 +36,7 @@
1187.73 s
[really-safe-money-gen] instance Validity QuantisationFactor where
1187.73 s
[really-safe-money-gen] validate qf@(QuantisationFactor w) =
1187.73 s
[really-safe-money-gen] mconcat
1187.73 s
[really-safe-money-gen] - [ genericValidate qf,
1187.73 s
[really-safe-money-gen] - declare "The quantisation factor is not zero" $ w /= 0
1187.73 s
[really-safe-money-gen] ]
1187.73 s
[really-safe-money-gen]
1187.73 s
[really-safe-money-gen] instance NFData QuantisationFactor
1187.73 s
[really-safe-money-gen]
1187.73 s
[really-safe-money-gen]
1187.73 s
[really-safe-money-gen] ConstBool at src/Money/QuantisationFactor.hs:40:57-63
1187.73 s
[really-safe-money-gen] @@ -37,7 +37,7 @@
1187.73 s
[really-safe-money-gen] validate qf@(QuantisationFactor w) =
1187.73 s
[really-safe-money-gen] mconcat
1187.73 s
[really-safe-money-gen] [ genericValidate qf,
1187.73 s
[really-safe-money-gen] - declare "The quantisation factor is not zero" $ w /= 0
1187.73 s
[really-safe-money-gen] + declare "The quantisation factor is not zero" $ Tru e
1187.73 s
[really-safe-money-gen] ]
1187.73 s
[really-safe-money-gen]
1187.73 s
[really-safe-money-gen] instance NFData QuantisationFactor
1187.73 s
[really-safe-money-gen]
1187.73 s
[really-safe-money-gen] ListLit at src/Money/ConversionRate.hs:37:7-8
1187.74 s
[really-safe-money-gen] @@ -34,9 +34,8 @@
1187.74 s
[really-safe-money-gen] instance Validity ConversionRate where
1187.74 s
[really-safe-money-gen] validate cr@(ConversionRate r) =
1187.74 s
[really-safe-money-gen] mconcat
1187.74 s
[really-safe-money-gen] - [ genericValidate cr,
1187.74 s
[really-safe-money-gen] declare "The rate is nonzero" $ numerator r /= 0
1187.74 s
[really-safe-money-gen] ]
1187.74 s
[really-safe-money-gen]
1187.74 s
[really-safe-money-gen] instance NFData ConversionRate
1187.74 s
[really-safe-money-gen]
1187.74 s
[really-safe-money-gen]
1187.74 s
[really-safe-money-gen] IntLit at src/Money/ConversionRate.hs:109:27-28
1187.74 s
[really-safe-money-gen] @@ -106,7 +106,7 @@
1187.74 s
[really-safe-money-gen]
1187.74 s
[really-safe-money-gen] -- | One-to-one conversion rate
1187.74 s
[really-safe-money-gen] oneToOne :: ConversionRate
1187.74 s
[really-safe-money-gen] - oneToOne = ConversionRate 1
1187.74 s
[really-safe-money-gen] + oneToOne = ConversionRate 0
1187.74 s
[really-safe-money-gen]
1187.74 s
[really-safe-money-gen] -- | Invert a 'ConversionRate', to convert in the other direction.
1187.74 s
[really-safe-money-gen] --
1187.74 s
[really-safe-money-gen]
1187.74 s
[really-safe-money-gen] Arith at src/Money/ConversionRate.hs:127:70-79
1187.74 s
[really-safe-money-gen] @@ -124,7 +124,7 @@
1187.74 s
[really-safe-money-gen] -- >>> compose (ConversionRate (2 % 1)) (ConversionRate (1 % 2))
1187.74 s
[really-safe-money-gen] -- ConversionRate {unConversionRate = 1 % 1}
1187.74 s
[really-safe-money-gen] compose :: ConversionRate -> ConversionRate -> ConversionRate
1187.74 s
[really-safe-money-gen] - compose (ConversionRate cr1) (ConversionRate cr2) = ConversionRate $ cr1 * cr2
1187.74 s
[really-safe-money-gen] + compose (ConversionRate cr1) (ConversionRate cr2) = ConversionRate $ cr1 + cr2
1187.74 s
[really-safe-money-gen]
1187.74 s
[really-safe-money-gen] -- | The factor to multiply by when converting currencies.
1187.74 s
[really-safe-money-gen] conversionFactor :: QuantisationFactor -> ConversionRate -> QuantisationFactor -> Ratio Natural
1187.74 s
[really-safe-money-gen]
1187.74 s
[really-safe-money-gen] RemoveCase at src/Money/AccountOf.hs:180:30-115is too big:", show i]
1187.74 s
[really-safe-money-gen] else Right $ Amount.fromMinimalQuantisations (fromIntegral i :: Word64)
1187.74 s
[really-safe-money-gen] g :: Amount -> String
1187.74 s
[really-safe-money-gen] g = show . Amount.toMinimalQuantisations
1187.74 s
[really-safe-money-gen] Testing mutation ListLit at src/Money/Amount/Codec.hs:50:31-84
1187.74 s
[really-safe-money-gen] @@ -47,7 +47,6 @@
1187.74 s
[really-safe-money-gen] Nothing -> Left $ unwords ["Could not read string as an Amount:", s]
1187.74 s
[really-safe-money-gen] Just i ->
1187.74 s
[really-safe-money-gen] if (i :: Integer) < toInteger (minBound :: Word64)
1187.74 s
[really-safe-money-gen] - then Left $ unwords ["Negative number of minimal quantisations:", show i]
1187.74 s
[really-safe-money-gen] else
1187.74 s
[really-safe-money-gen] if (i :: Integer) > toInteger (maxBound :: Word64)
1187.74 s
[really-safe-money-gen] then Left $ unwords ["Number of minimal quantisations is too big:", show i]
1187.74 s
[really-safe-money-gen] Testing mutation ListLit at src/Money/Amount/Codec.hs:47:33-75
1187.74 s
[really-safe-money-gen] @@ -44,7 +44,6 @@
1187.74 s
[really-safe-money-gen] where
1187.74 s
[really-safe-money-gen] f :: String -> Either String Amount
1187.74 s
[really-safe-money-gen] f s = case readMaybe s of
1187.74 s
[really-safe-money-gen] - Nothing -> Left $ unwords ["Could not read string as an Amount:", s]
1187.74 s
[really-safe-money-gen] Just i ->
1187.74 s
[really-safe-money-gen] if (i :: Integer) < toInteger (minBound :: Word64)
1187.74 s
[really-safe-money-gen] then Left $ unwords ["Negative number of minimal quantisations:", show i]
1187.74 s
[really-safe-money-gen] Testing mutation Cmp at src/Money/Amount/Codec.hs:49:12-59
1187.74 s
[really-safe-money-gen] @@ -46,7 +46,7 @@
1187.74 s
[really-safe-money-gen] f s = case readMaybe s of
1187.74 s
[really-safe-money-gen] Nothing -> Left $ unwords ["Could not read string as an Amount:", s]
1187.74 s
[really-safe-money-gen] Just i ->
1187.74 s
[really-safe-money-gen] - if (i :: Integer) < toInteger (minBound :: Word64)
1187.74 s
[really-safe-money-gen] + if (i :: Integer) > toInteger (minBound :: Word64)
1187.74 s
[really-safe-money-gen] then Left $ unwords ["Negative number of minimal quantisations:", show i]
1187.74 s
[really-safe-money-gen] else
1187.74 s
[really-safe-money-gen] if (i :: Integer) > toInteger (maxBound :: Word64)
1187.74 s
[really-safe-money-gen]
1187.74 s
[really-safe-money-gen] @@ -177,11 +177,10 @@
1187.74 s
[really-safe-money-gen]
1187.74 s
[really-safe-money-gen] -- | See 'Account.distribute'
1187.74 s
[really-safe-money-gen] distribute :: AccountOf currency -> Word16 -> AccountDistributionOf currency
1187.74 s
[really-safe-money-gen] distribute (AccountOf a) w = case Account.distribute a w of
1187.74 s
[really-safe-money-gen] DistributedIntoZeroChunks -> DistributedIntoZeroChunks
1187.74 s
[really-safe-money-gen] DistributedZero -> DistributedZero
1187.74 s
[really-safe-money-gen] - DistributedIntoEqualChunks w' a' -> DistributedIntoEqualChunks w' (fromAccount a')
1187.74 s
[really-safe-money-gen] DistributedIntoUnequalChunks w1 a1 w2 a2 -> DistributedIntoUnequalChunks w1 (fromAccount a1) w2 (fromAccount a2)
1187.75 s
[really-safe-money-gen]
1187.75 s
[really-safe-money-gen] -- | The result of 'distribute'
1187.75 s
[really-safe-money-gen] type AccountDistributionOf (currency :: k) = Distribution (AccountOf currency)
1187.75 s
[really-safe-money-gen]
1187.75 s
[really-safe-money-gen] RemoveCase at src/Numeric/DecimalLiteral.hs:112:17-21
1187.75 s
[really-safe-money-gen] @@ -109,9 +109,8 @@
1187.75 s
[really-safe-money-gen]
1187.75 s
[really-safe-money-gen] -- | Like 'fromString' but in a 'MonadFail'
1187.75 s
[really-safe-money-gen] fromStringM :: (MonadFail m) => String -> m DecimalLiteral
1187.75 s
[really-safe-money-gen] fromStringM s = case Numeric.DecimalLiteral.fromString s of
1187.75 s
[really-safe-money-gen] Nothing -> fail $ "Failed to parse decimal literal from: " <> show s
1187.75 s
[really-safe-money-gen] - Just dl -> pure dl
1187.75 s
[really-safe-money-gen]
1187.75 s
[really-safe-money-gen] decimalLiteralP :: ReadP DecimalLiteral
1187.75 s
[really-safe-money-gen] decimalLiteralP = do
1187.75 s
[really-safe-money-gen]
1187.75 s
[really-safe-money-gen] RemoveCase at src/Numeric/DecimalLiteral.hs:287:38-40
1187.75 s
[really-safe-money-gen] @@ -284,9 +284,8 @@
1187.75 s
[really-safe-money-gen] -- >>> toRatio (DecimalLiteral (Just False) 3 1)
1187.75 s
[really-safe-money-gen] -- Nothing
1187.75 s
[really-safe-money-gen] toRatio :: DecimalLiteral -> Maybe (Ratio Natural)
1187.75 s
[really-safe-money-gen] toRatio (DecimalLiteral mSign m e) = case mSign of
1187.75 s
[really-safe-money-gen] - Just False -> Nothing
1187.75 s
[really-safe-money-gen] _ -> Just $ fromIntegral m / (10 ^ e)
1187.75 s
[really-safe-money-gen]
1187.75 s
[really-safe-money-gen] -- | Construct a 'DecimalLiteral' from a 'Word'
1187.75 s
[really-safe-money-gen] fromWord :: Word -> DecimalLiteral
1187.75 s
[really-safe-money-gen]
1187.75 s
[really-safe-money-gen] IntLit at src/Numeric/DecimalLiteral.hs:289:33-35
1187.75 s
[really-safe-money-gen] @@ -286,7 +286,7 @@
1187.75 s
[really-safe-money-gen] toRatio :: DecimalLiteral -> Maybe (Ratio Natural)
1187.75 s
[really-safe-money-gen] toRatio (DecimalLiteral mSign m e) = case mSign of
1187.75 s
[really-safe-money-gen] Just False -> Nothing
1187.75 s
[really-safe-money-gen] - _ -> Just $ fromIntegral m / (1 0 ^ e)
1187.75 s
[really-safe-money-gen] + _ -> Just $ fromIntegral m / (1 ^ e)
1187.75 s
[really-safe-money-gen]
1187.75 s
[really-safe-money-gen] -- | Construct a 'DecimalLiteral' from a 'Word'
1187.75 s
[really-safe-money-gen] fromWord :: Word -> DecimalLiteral
1187.75 s
[really-safe-money-gen]
1187.75 s
[really-safe-money-gen] RemoveAction at src/Numeric/DecimalLiteral.hs:299:3-47
1187.75 s
[really-safe-money-gen] @@ -296,7 +296,6 @@
1187.75 s
[really-safe-money-gen] toWord :: DecimalLiteral -> Maybe Word
1187.75 s
[really-safe-money-gen] toWord dl = do
1187.75 s
[really-safe-money-gen] n <- toNatural dl
1187.75 s
[really-safe-money-gen] - guard $ n <= fromIntegral (maxBound :: Word)
1187.75 s
[really-safe-money-gen] pure $ fromIntegral n
1187.75 s
[really-safe-money-gen]
1187.75 s
[really-safe-money-gen] -- | Construct a 'DecimalLiteral' from a 'Natural'
1187.75 s
[really-safe-money-gen]
1187.75 s
[really-safe-money-gen] ConstBool at src/Numeric/DecimalLiteral.hs:299:11-47
1187.75 s
[really-safe-money-gen] @@ -296,7 +296,7 @@
1187.75 s
[really-safe-money-gen] toWord :: DecimalLiteral -> Maybe Word
1187.75 s
[really-safe-money-gen] toWord dl = do
1187.75 s
[really-safe-money-gen] n <- toNatural dl
1187.75 s
[really-safe-money-gen] - guard $ n < = from I n te g r a l (maxB o u n d : : W ord)
1187.75 s
[really-safe-money-gen] + guard $ T r u e
1187.75 s
[really-safe-money-gen] pure $ fromIntegral n
1187.75 s
[really-safe-money-gen]
1187.75 s
[really-safe-money-gen] -- | Construct a 'DecimalLiteral' from a 'Natural'
1187.75 s
[really-safe-money-gen]
1187.75 s
[really-safe-money-gen] RemoveAction at src/Numeric/DecimalLiteral.hs:332:3-46
1187.75 s
[really-safe-money-gen] @@ -329,7 +329,6 @@
1187.75 s
[really-safe-money-gen] toInt :: DecimalLiteral -> Maybe Int
1187.75 s
[really-safe-money-gen] toInt dl = do
1187.75 s
[really-safe-money-gen] n <- toInteger dl
1187.75 s
[really-safe-money-gen] - guard $ n <= fromIntegral (maxBound :: Int)
1187.75 s
[really-safe-money-gen] guard $ n >= fromIntegral (minBound :: Int)
1187.75 s
[really-safe-money-gen] pure $ fromIntegral n
1187.75 s
[really-safe-money-gen]
1187.75 s
[really-safe-money-gen]
1187.75 s
[really-safe-money-gen] RemoveAction at src/Numeric/DecimalLiteral.hs:333:3-46
1187.75 s
[really-safe-money-gen] @@ -330,7 +330,6 @@
1187.75 s
[really-safe-money-gen] toInt dl = do
1187.75 s
[really-safe-money-gen] n <- toInteger dl
1187.75 s
[really-safe-money-gen] guard $ n <= fromIntegral (maxBound :: Int)
1187.75 s
[really-safe-money-gen] - guard $ n >= fromIntegral (minBound :: Int)
1187.75 s
[really-safe-money-gen] pure $ fromIntegral n
1187.75 s
[really-safe-money-gen]
1187.75 s
[really-safe-money-gen] numSign :: (Ord a, Num a) => a -> Maybe Bool
1187.75 s
[really-safe-money-gen]
1187.75 s
[really-safe-money-gen] ConstBool at src/Numeric/DecimalLiteral.hs:333:11-46
1187.75 s
[really-safe-money-gen] @@ -330,7 +330,7 @@
1187.75 s
[really-safe-money-gen] toInt dl = do
1187.75 s
[really-safe-money-gen] n <- toInteger dl
1187.75 s
[really-safe-money-gen] guard $ n <= fromIntegral (maxBound :: Int)
1187.75 s
[really-safe-money-gen] - guard $ n >= f r om I n t e g ral (minBound :: Int)
1187.75 s
[really-safe-money-gen] + guard $ T r u e
1187.75 s
[really-safe-money-gen] pure $ fromIntegral n
1187.75 s
[really-safe-money-gen]
1187.75 s
[really-safe-money-gen] numSign :: (Ord a, Num a) => a -> Maybe Bool
1187.75 s
[really-safe-money-gen]
1187.75 s
[really-safe-money-gen] ConstBool at src/Numeric/DecimalLiteral.hs:332:11-46
1187.75 s
[really-safe-money-gen] @@ -329,7 +329,7 @@
1187.75 s
[really-safe-money-gen] toInt :: DecimalLiteral -> Maybe Int
1187.75 s
[really-safe-money-gen] toInt dl = do
1187.75 s
[really-safe-money-gen] n <- toInteger dl
1187.75 s
[really-safe-money-gen] - guard $ n <= f r om I n t e g ral (maxBound :: Int)
1187.75 s
[really-safe-money-gen] + guard $ T r u e
1187.75 s
[really-safe-money-gen] guard $ n >= fromIntegral (minBound :: Int)
1187.75 s
[really-safe-money-gen] pure $ fromIntegral n
1187.75 s
[really-safe-money-gen]
1187.75 s
[really-safe-money-gen]
1187.75 s
[really-safe-money-gen] Cmp at src/Numeric/DecimalLiteral.hs:332:11-46
1187.75 s
[really-safe-money-gen] @@ -329,7 +329,7 @@
1187.76 s
[really-safe-money-gen] toInt :: DecimalLiteral -> Maybe Int
1187.76 s
[really-safe-money-gen] toInt dl = do
1187.76 s
[really-safe-money-gen] n <- toInteger dl
1187.76 s
[really-safe-money-gen] - guard $ n < = fromIntegral (maxBound :: Int)
1187.76 s
[really-safe-money-gen] + guard $ n < fromIntegral (maxBound :: Int)
1187.76 s
[really-safe-money-gen] guard $ n >= fromIntegral (minBound :: Int)
1187.76 s
[really-safe-money-gen] pure $ fromIntegral n
1187.76 s
[really-safe-money-gen]
1187.76 s
[really-safe-money-gen]
1187.76 s
[really-safe-money-gen] Cmp at src/Numeric/DecimalLiteral.hs:337:16-22
1187.76 s
[really-safe-money-gen] @@ -334,7 +334,7 @@
1187.76 s
[really-safe-money-gen] pure $ fromIntegral n
1187.76 s
[really-safe-money-gen]
1187.76 s
[really-safe-money-gen] numSign :: (Ord a, Num a) => a -> Maybe Bool
1187.76 s
[really-safe-money-gen] - numSign a = if a > = 0 then Nothing else Just False
1187.76 s
[really-safe-money-gen] + numSign a = if a > 0 then Nothing else Just False
1187.76 s
[really-safe-money-gen]
1187.76 s
[really-safe-money-gen] signSignum :: (Num a) => Maybe Bool -> (a -> a)
1187.76 s
[really-safe-money-gen] signSignum = \case
1187.76 s
[really-safe-money-gen]
1187.76 s
[really-safe-money-gen] IntLit at src/Numeric/DecimalLiteral.hs:337:21-22
1187.76 s
[really-safe-money-gen] @@ -334,7 +334,7 @@
1187.76 s
[really-safe-money-gen] pure $ fromIntegral n
1187.76 s
[really-safe-money-gen]
1187.76 s
[really-safe-money-gen] numSign :: (Ord a, Num a) => a -> Maybe Bool
1187.76 s
[really-safe-money-gen] - numSign a = if a >= 0 then Nothing else Just False
1187.76 s
[really-safe-money-gen] + numSign a = if a >= 1 then Nothing else Just False
1187.76 s
[really-safe-money-gen]
1187.76 s
[really-safe-money-gen] signSignum :: (Num a) => Maybe Bool -> (a -> a)
1187.76 s
[really-safe-money-gen] signSignum = \case
1187.76 s
[really-safe-money-gen]
1187.76 s
[really-safe-money-gen] Cmp at src/Money/Account.hs:131:20-26
1187.76 s
[really-safe-money-gen] @@ -128,7 +128,7 @@
1187.76 s
[really-safe-money-gen] amount :: Amount
1187.76 s
[really-safe-money-gen] amount = Amount.fromMinimalQuantisations w
1187.76 s
[really-safe-money-gen] in Just $
1187.76 s
[really-safe-money-gen] - if i > = 0
1187.76 s
[really-safe-money-gen] + if i > 0
1187.76 s
[really-safe-money-gen] then Positive amount
1187.76 s
[really-safe-money-gen] else Negative amount
1187.76 s
[really-safe-money-gen]
1187.76 s
[really-safe-money-gen]
1187.76 s
[really-safe-money-gen] IntLit at src/Money/Account.hs:131:25-26
1187.76 s
[really-safe-money-gen] @@ -128,7 +128,7 @@
1187.76 s
[really-safe-money-gen] amount :: Amount
1187.76 s
[really-safe-money-gen] amount = Amount.fromMinimalQuantisations w
1187.76 s
[really-safe-money-gen] in Just $
1187.76 s
[really-safe-money-gen] - if i >= 0
1187.76 s
[really-safe-money-gen] + if i >= 1
1187.76 s
[really-safe-money-gen] then Positive amount
1187.76 s
[really-safe-money-gen] else Negative amount
1187.76 s
[really-safe-money-gen]
1187.76 s
[really-safe-money-gen]
1187.76 s
[really-safe-money-gen] ConstBool at src/Money/Account.hs:123:10-23
1187.76 s
[really-safe-money-gen] @@ -120,7 +120,7 @@
1187.76 s
[really-safe-money-gen] maxBoundI = (toInteger :: Word64 -> Integer) (maxBound :: Word64)
1187.76 s
[really-safe-money-gen] a :: Integer
1187.76 s
[really-safe-money-gen] a = (Prelude.abs :: Integer -> Integer) i
1187.76 s
[really-safe-money-gen] - in if a > m a xB ound I
1187.76 s
[really-safe-money-gen] + in if F a l se
1187.76 s
[really-safe-money-gen] then Nothing
1187.76 s
[really-safe-money-gen] else
1187.76 s
[really-safe-money-gen] let w :: Word64
1187.76 s
[really-safe-money-gen]
1187.76 s
[really-safe-money-gen] Cmp at src/Money/Account.hs:197:14-20
1187.76 s
[really-safe-money-gen] @@ -194,7 +194,7 @@
1187.76 s
[really-safe-money-gen] fromDouble :: QuantisationFactor -> Double -> Maybe Account
1187.76 s
[really-safe-money-gen] fromDouble quantisationFactor d =
1187.76 s
[really-safe-money-gen] let d' = Prelude.abs d
1187.76 s
[really-safe-money-gen] - f = if d > = 0 then Positive else Negative
1187.76 s
[really-safe-money-gen] + f = if d > 0 then Positive else Negative
1187.76 s
[really-safe-money-gen] in f <$> Amount.fromDouble quantisationFactor d'
1187.76 s
[really-safe-money-gen]
1187.76 s
[really-safe-money-gen] -- | Turn an amount of money into a 'Rational'.
1187.76 s
[really-safe-money-gen]
1187.76 s
[really-safe-money-gen] Cmp at src/Money/Account.hs:503:10-16
1187.76 s
[really-safe-money-gen] @@ -500,7 +500,7 @@
1187.76 s
[really-safe-money-gen] RoundNearest -> RoundNearest
1187.76 s
[really-safe-money-gen] (ma, ar) = fractionRatio ro account af
1187.76 s
[really-safe-money-gen] r = (realToFrac :: Ratio Natural -> Rational) ar
1187.76 s
[really-safe-money-gen] - in if f > = 0
1187.76 s
[really-safe-money-gen] + in if f > 0
1187.76 s
[really-safe-money-gen] then (ma, r)
1187.77 s
[really-safe-money-gen] else (negate <$> ma, -r)
1187.77 s
[really-safe-money-gen]
1187.77 s
[really-safe-money-gen]
1187.77 s
[really-safe-money-gen] Cmp at src/Money/Account.hs:495:12-18
1187.77 s
[really-safe-money-gen] @@ -492,7 +492,7 @@
1187.77 s
[really-safe-money-gen] fraction rounding account f =
1187.77 s
[really-safe-money-gen] let af = (realToFrac :: Rational -> Ratio Natural) ((Prelude.abs :: Rational -> Rational) f)
1187.77 s
[really-safe-money-gen] ro =
1187.77 s
[really-safe-money-gen] - if f > = 0
1187.77 s
[really-safe-money-gen] + if f > 0
1187.77 s
[really-safe-money-gen] then rounding
1187.77 s
[really-safe-money-gen] else case rounding of
1187.77 s
[really-safe-money-gen] RoundUp -> RoundDown
1187.77 s
[really-safe-money-gen]
1187.77 s
[really-safe-money-gen] MaybeOp at src/Money/Account.hs:523:16-25
1187.77 s
[really-safe-money-gen] @@ -520,7 +520,7 @@
1187.77 s
[really-safe-money-gen] (amount, actualFraction) = Amount.fraction ro aa af
1187.77 s
[really-safe-money-gen] func :: Maybe Amount -> Ratio Natural -> (Maybe Account, Ratio Natural)
1187.77 s
[really-safe-money-gen] func ma r = case compare account zero of
1187.77 s
[really-safe-money-gen] - EQ -> ( J u st ze r o , r)
1187.77 s
[really-safe-money-gen] + EQ -> ( N o th in g , r)
1187.77 s
[really-safe-money-gen] GT -> (Positive <$> ma, r)
1187.77 s
[really-safe-money-gen] LT -> (Negative <$> ma, r)
1187.77 s
[really-safe-money-gen] in func amount actualFraction
1187.77 s
[really-safe-money-gen]
1187.77 s
[really-safe-money-gen] Cmp at src/Money/Account.hs:455:14-23
1187.77 s
[really-safe-money-gen] @@ -452,7 +452,7 @@
1187.77 s
[really-safe-money-gen] then DistributedIntoEqualChunks numberOfChunks (Positive chunk)
1187.77 s
[really-safe-money-gen] else DistributedIntoEqualChunks numberOfChunks (Negative chunk)
1187.77 s
[really-safe-money-gen] DistributedIntoUnequalChunks numberOfLargerChunks largerChunk numberOfSmallerChunks smallerChunk ->
1187.77 s
[really-safe-money-gen] - if a > = zero
1187.77 s
[really-safe-money-gen] + if a > zero
1187.77 s
[really-safe-money-gen] then DistributedIntoUnequalChunks numberOfLargerChunks (Positive largerChunk) numberOfSmallerChunks (Positive smallerChunk)
1187.77 s
[really-safe-money-gen] else DistributedIntoUnequalChunks numberOfSmallerChunks (Negative smallerChunk) numberOfLargerChunks (Negative largerChunk)
1187.77 s
[really-safe-money-gen]
1187.77 s
[really-safe-money-gen]
1187.77 s
[really-safe-money-gen] Cmp at src/Money/Account.hs:451:14-23
1187.77 s
[really-safe-money-gen] @@ -448,7 +448,7 @@
1187.77 s
[really-safe-money-gen] DistributedIntoZeroChunks -> DistributedIntoZeroChunks
1187.77 s
[really-safe-money-gen] DistributedZero -> DistributedZero
1187.77 s
[really-safe-money-gen] DistributedIntoEqualChunks numberOfChunks chunk ->
1187.77 s
[really-safe-money-gen] - if a > = zero
1187.77 s
[really-safe-money-gen] + if a > zero
1187.77 s
[really-safe-money-gen] then DistributedIntoEqualChunks numberOfChunks (Positive chunk)
1187.77 s
[really-safe-money-gen] else DistributedIntoEqualChunks numberOfChunks (Negative chunk)
1187.77 s
[really-safe-money-gen] DistributedIntoUnequalChunks numberOfLargerChunks largerChunk numberOfSmallerChunks smallerChunk ->
1187.77 s
[really-safe-money-gen] checkPhase completed in 18 minutes 34 seconds
1187.77 s
[really-safe-money-gen] Phase: haddockPhase
1188.38 s
[really-safe-money-gen] Preprocessing library for really-safe-money-gen-0.0.0.0...
1188.39 s
[really-safe-money-gen] Running Haddock on library for really-safe-money-gen-0.0.0.0...
1188.39 s
[really-safe-money-gen] Warning: The documentation for the following packages are not installed. No
1188.39 s
[really-safe-money-gen] links will be generated to these packages: really-safe-money-0.0.0.0
1189.17 s
[really-safe-money-gen] [ 1 of 13] Compiling Money.Amount.Gen ( src/Money/Amount/Gen.hs, nothing )
1189.55 s
[really-safe-money-gen] [ 2 of 13] Compiling Money.Account.Gen ( src/Money/Account/Gen.hs, nothing )
1189.59 s
[really-safe-money-gen] [ 3 of 13] Compiling Money.AccountOf.Gen ( src/Money/AccountOf/Gen.hs, nothing )
1189.61 s
[really-safe-money-gen] [ 4 of 13] Compiling Money.AmountOf.Gen ( src/Money/AmountOf/Gen.hs, nothing )
1189.63 s
[really-safe-money-gen] [ 5 of 13] Compiling Money.ConversionRate.Gen ( src/Money/ConversionRate/Gen.hs, nothing )
1189.68 s
[really-safe-money-gen] [ 6 of 13] Compiling Money.ConversionRateOf.Gen ( src/Money/ConversionRateOf/Gen.hs, nothing )
1189.70 s
[really-safe-money-gen] [ 7 of 13] Compiling Money.QuantisationFactor.Gen ( src/Money/QuantisationFactor/Gen.hs, nothing )
1189.73 s
[really-safe-money-gen] [ 8 of 13] Compiling Money.Currency.Gen ( src/Money/Currency/Gen.hs, nothing )
1189.77 s
[really-safe-money-gen] [ 9 of 13] Compiling Money.MultiAmount.Gen ( src/Money/MultiAmount/Gen.hs, nothing )
1189.88 s
[really-safe-money-gen] [10 of 13] Compiling Money.MultiAccount.Gen ( src/Money/MultiAccount/Gen.hs, nothing )
1189.92 s
[really-safe-money-gen] [11 of 13] Compiling Money.Gen ( src/Money/Gen.hs, nothing )
1189.93 s
[really-safe-money-gen] [12 of 13] Compiling Numeric.DecimalLiteral.Gen ( src/Numeric/DecimalLiteral/Gen.hs, nothing )
1189.97 s
[really-safe-money-gen] [13 of 13] Compiling Paths_really_safe_money_gen ( dist/build/autogen/Paths_really_safe_money_gen.hs, nothing )
1190.08 s
[really-safe-money-gen] Haddock coverage:
1190.08 s
[really-safe-money-gen] 0% ( 0 / 1) in 'Money.Amount.Gen'
1190.08 s
[really-safe-money-gen] Missing documentation for:
1190.08 s
[really-safe-money-gen] Module header
1190.08 s
[really-safe-money-gen] 0% ( 0 / 1) in 'Money.Account.Gen'
1190.08 s
[really-safe-money-gen] Missing documentation for:
1190.08 s
[really-safe-money-gen] Module header
1190.08 s
[really-safe-money-gen] 0% ( 0 / 1) in 'Money.AccountOf.Gen'
1190.08 s
[really-safe-money-gen] Missing documentation for:
1190.08 s
[really-safe-money-gen] Module header
1190.08 s
[really-safe-money-gen] 0% ( 0 / 1) in 'Money.AmountOf.Gen'
1190.09 s
[really-safe-money-gen] Missing documentation for:
1190.09 s
[really-safe-money-gen] Module header
1190.09 s
[really-safe-money-gen] 0% ( 0 / 1) in 'Money.ConversionRate.Gen'
1190.09 s
[really-safe-money-gen] Missing documentation for:
1190.09 s
[really-safe-money-gen] Module header
1190.09 s
[really-safe-money-gen] 0% ( 0 / 1) in 'Money.ConversionRateOf.Gen'
1190.09 s
[really-safe-money-gen] Missing documentation for:
1190.09 s
[really-safe-money-gen] Module header
1190.09 s
[really-safe-money-gen] 0% ( 0 / 1) in 'Money.QuantisationFactor.Gen'
1190.09 s
[really-safe-money-gen] Missing documentation for:
1190.09 s
[really-safe-money-gen] Module header
1190.09 s
[really-safe-money-gen] 0% ( 0 / 1) in 'Money.Currency.Gen'
1190.09 s
[really-safe-money-gen] Missing documentation for:
1190.09 s
[really-safe-money-gen] Module header
1190.09 s
[really-safe-money-gen] 0% ( 0 / 1) in 'Money.MultiAmount.Gen'
1190.09 s
[really-safe-money-gen] Missing documentation for:
1190.09 s
[really-safe-money-gen] Module header
1190.09 s
[really-safe-money-gen] 0% ( 0 / 1) in 'Money.MultiAccount.Gen'
1190.09 s
[really-safe-money-gen] Missing documentation for:
1190.09 s
[really-safe-money-gen] Module header
1190.09 s
[really-safe-money-gen] Warning: Money.Gen: Could not find documentation for exported module: Money.Gen
1190.09 s
[really-safe-money-gen] 90% ( 10 / 11) in 'Money.Gen'
1190.09 s
[really-safe-money-gen] Missing documentation for:
1190.09 s
[really-safe-money-gen] Module header
1190.09 s
[really-safe-money-gen] 0% ( 0 / 2) in 'Numeric.DecimalLiteral.Gen'
1190.09 s
[really-safe-money-gen] Missing documentation for:
1190.09 s
[really-safe-money-gen] Module header
1190.09 s
[really-safe-money-gen] shrinkSign (src/Numeric/DecimalLiteral/Gen.hs:16)
1190.51 s
[really-safe-money-gen] Warning: Money.Amount.Gen: could not find link destinations for:
1190.51 s
[really-safe-money-gen] - Money.Amount.Amount
1190.52 s
[really-safe-money-gen] - Money.Amount.Distribution
1190.52 s
[really-safe-money-gen] - Money.Amount.Rounding
1190.52 s
[really-safe-money-gen] Warning: Money.Account.Gen: could not find link destinations for:
1190.52 s
[really-safe-money-gen] - Money.Account.Account
1190.52 s
[really-safe-money-gen] Warning: Money.AccountOf.Gen: could not find link destinations for:
1190.52 s
[really-safe-money-gen] - Money.AccountOf.AccountOf
1190.52 s
[really-safe-money-gen] Warning: Money.AmountOf.Gen: could not find link destinations for:
1190.52 s
[really-safe-money-gen] - Money.AmountOf.AmountOf
1190.52 s
[really-safe-money-gen] Warning: Money.ConversionRate.Gen: could not find link destinations for:
1190.52 s
[really-safe-money-gen] - Money.ConversionRate.ConversionRate
1190.52 s
[really-safe-money-gen] Warning: Money.ConversionRateOf.Gen: could not find link destinations for:
1190.52 s
[really-safe-money-gen] - Money.ConversionRateOf.ConversionRateOf
1190.52 s
[really-safe-money-gen] Warning: Money.QuantisationFactor.Gen: could not find link destinations for:
1190.52 s
[really-safe-money-gen] - Money.QuantisationFactor.QuantisationFactor
1190.52 s
[really-safe-money-gen] Warning: Money.Currency.Gen: could not find link destinations for:
1190.52 s
[really-safe-money-gen] - Money.Currency.Currency
1190.52 s
[really-safe-money-gen] Warning: Money.MultiAmount.Gen: could not find link destinations for:
1190.52 s
[really-safe-money-gen] - Money.MultiAmount.MultiAmount
1190.52 s
[really-safe-money-gen] Warning: Money.MultiAccount.Gen: could not find link destinations for:
1190.52 s
[really-safe-money-gen] - Money.MultiAccount.MultiAccount
1190.52 s
[really-safe-money-gen] Warning: Numeric.DecimalLiteral.Gen: could not find link destinations for:
1190.52 s
[really-safe-money-gen] - Numeric.DecimalLiteral.DecimalLiteral
1204.44 s
[really-safe-money-gen] Documentation created: dist/doc/html/really-safe-money-gen/,
1204.45 s
[really-safe-money-gen] dist/doc/html/really-safe-money-gen/really-safe-money-gen.txt
1204.62 s
[really-safe-money-gen] Preprocessing test suite 'really-safe-money-test' for really-safe-money-gen-0.0.0.0...
1204.65 s
[really-safe-money-gen] Phase: installPhase
1205.07 s
[really-safe-money-gen] Installing library in /nix/store/cdvvxk19mmf25krj1cj1ksb53fsjw64r-really-safe-money-gen-0.0.0.0/lib/ghc-9.10.3/lib/x86_64-linux-ghc-9.10.3-05f6/really-safe-money-gen-0.0.0.0-DUlrgfbYR751gcgZIqRr4A
1206.41 s
[really-safe-money-gen] Phase: fixupPhase
1206.45 s
[really-safe-money-gen] shrinking RPATHs of ELF executables and libraries in /nix/store/cdvvxk19mmf25krj1cj1ksb53fsjw64r-really-safe-money-gen-0.0.0.0
1206.47 s
[really-safe-money-gen] shrinking /nix/store/cdvvxk19mmf25krj1cj1ksb53fsjw64r-really-safe-money-gen-0.0.0.0/lib/ghc-9.10.3/lib/x86_64-linux-ghc-9.10.3-05f6/libHSreally-safe-money-gen-0.0.0.0-DUlrgfbYR751gcgZIqRr4A-ghc9.10.3.so
1206.49 s
[really-safe-money-gen] checking for references to /build/ in /nix/store/cdvvxk19mmf25krj1cj1ksb53fsjw64r-really-safe-money-gen-0.0.0.0...
1206.56 s
[really-safe-money-gen] patching script interpreter paths in /nix/store/cdvvxk19mmf25krj1cj1ksb53fsjw64r-really-safe-money-gen-0.0.0.0
1206.57 s
[really-safe-money-gen] stripping (with command strip and flags -S -p) in /nix/store/cdvvxk19mmf25krj1cj1ksb53fsjw64r-really-safe-money-gen-0.0.0.0/lib
1206.73 s
[really-safe-money-gen] shrinking RPATHs of ELF executables and libraries in /nix/store/hcj2bk6wxsjr44v2k3xq5qq5dnwb09qw-really-safe-money-gen-0.0.0.0-doc
1206.75 s
[really-safe-money-gen] checking for references to /build/ in /nix/store/hcj2bk6wxsjr44v2k3xq5qq5dnwb09qw-really-safe-money-gen-0.0.0.0-doc...
1206.79 s
[really-safe-money-gen] patching script interpreter paths in /nix/store/hcj2bk6wxsjr44v2k3xq5qq5dnwb09qw-really-safe-money-gen-0.0.0.0-doc
1206.81 s
[really-safe-money-gen] shrinking RPATHs of ELF executables and libraries in /nix/store/lmgf6r68i0mja2j1zd84pwwfjq9hwlsq-really-safe-money-gen-0.0.0.0-report
1206.83 s
[really-safe-money-gen] checking for references to /build/ in /nix/store/lmgf6r68i0mja2j1zd84pwwfjq9hwlsq-really-safe-money-gen-0.0.0.0-report...
1206.88 s
[really-safe-money-gen] patching script interpreter paths in /nix/store/lmgf6r68i0mja2j1zd84pwwfjq9hwlsq-really-safe-money-gen-0.0.0.0-report
1207.19 s
[post-build-hook] Uploading to cachix cache "sydtest": /nix/store/cdvvxk19mmf25krj1cj1ksb53fsjw64r-really-safe-money-gen-0.0.0.0 /nix/store/hcj2bk6wxsjr44v2k3xq5qq5dnwb09qw-really-safe-money-gen-0.0.0.0-doc /nix/store/lmgf6r68i0mja2j1zd84pwwfjq9hwlsq-really-safe-money-gen-0.0.0.0-report
1208.65 s
[post-build-hook] Pushing 3 paths (196 are already present) using zstd to cache sydtest ⏳
1208.65 s
[post-build-hook]
1209.03 s
[post-build-hook] Pushing /nix/store/lmgf6r68i0mja2j1zd84pwwfjq9hwlsq-really-safe-money-gen-0.0.0.0-report (423.02 KiB)
1209.17 s
[post-build-hook] Pushing /nix/store/cdvvxk19mmf25krj1cj1ksb53fsjw64r-really-safe-money-gen-0.0.0.0 (1.52 MiB)
1209.17 s
[post-build-hook] Pushing /nix/store/hcj2bk6wxsjr44v2k3xq5qq5dnwb09qw-really-safe-money-gen-0.0.0.0-doc (288.17 KiB)
1210.92 s
[post-build-hook]
1210.92 s
[post-build-hook] All done.
1210.98 s
[post-build-hook] Uploading to the NixCI staging cache: /nix/store/cdvvxk19mmf25krj1cj1ksb53fsjw64r-really-safe-money-gen-0.0.0.0 /nix/store/hcj2bk6wxsjr44v2k3xq5qq5dnwb09qw-really-safe-money-gen-0.0.0.0-doc /nix/store/lmgf6r68i0mja2j1zd84pwwfjq9hwlsq-really-safe-money-gen-0.0.0.0-report
1211.12 s
[post-build-hook] warning: 'warn-short-path-literals' is deprecated, use 'lint-short-path-literals = ignore' instead
1211.51 s
[post-build-hook] copying 3 paths...
1211.51 s
[post-build-hook] copying path '/nix/store/hcj2bk6wxsjr44v2k3xq5qq5dnwb09qw-really-safe-money-gen-0.0.0.0-doc' to 'https://cache.staging.nix-ci.com'...
1211.51 s
[post-build-hook] copying path '/nix/store/lmgf6r68i0mja2j1zd84pwwfjq9hwlsq-really-safe-money-gen-0.0.0.0-report' to 'https://cache.staging.nix-ci.com'...
1211.70 s
[post-build-hook] copying path '/nix/store/cdvvxk19mmf25krj1cj1ksb53fsjw64r-really-safe-money-gen-0.0.0.0' to 'https://cache.staging.nix-ci.com'...
1212.66 s
[post-build-hook] warning: 'warn-short-path-literals' is deprecated, use 'lint-short-path-literals = ignore' instead
1213.05 s
[post-build-hook] copying 1 paths...
1213.05 s
[post-build-hook] copying path '/nix/store/k6wpllr0zwnzx7ijvg6z0nkwcap674yn-really-safe-money-gen-0.0.0.0.drv' to 'https://cache.staging.nix-ci.com'...
1213.34 s
Progress: 7 of 8 built