1. 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=per-test-coverage-manifest&rev=8ac332b46c5cd838d8c89d81205f0cb1d10530ea#checks.x86_64-linux.mutation-really-safe-money --print-build-logs
  2. 0.07 s warning: ignoring untrusted flake configuration setting 'extra-substituters'.
  3. 0.07 s Pass '--accept-flake-config' to trust it
  4. 0.07 s warning: ignoring untrusted flake configuration setting 'extra-trusted-public-keys'.
  5. 0.07 s Pass '--accept-flake-config' to trust it
  6. 0.09 s error (ignored): SQLite database '/var/cache/private/nix-ci-worker/eval-cache-v6/2b6d9a15c0fcb3e1315f04311b877fd4d4e2792afd5f5540f94eb284a87f1ba5.sqlite' is busy
  7. 2.51 s
  8. 3.47 s Downloading cached really-safe-money-0.0.0.0-manifest from https://cache.staging.nix-ci.com
  9. 3.47 s Downloading cached really-safe-money-gen-source from https://cache.staging.nix-ci.com
  10. 3.48 s Downloading cached ghc from https://cache.staging.nix-ci.com
  11. 3.48 s Downloading cached genvalidity-containers-1.0.0.2-doc from https://cache.staging.nix-ci.com
  12. 3.48 s Downloading cached genvalidity-vector-1.0.0.0-doc from https://cache.staging.nix-ci.com
  13. 3.49 s Progress: 0 of 14 built, 1 of 104 downloaded from cache (4 downloading)
  14. 3.49 s Progress: 0 of 13 built, 2 of 104 downloaded from cache (3 downloading)
  15. 3.50 s Progress: 0 of 12 built, 3 of 104 downloaded from cache (2 downloading)
  16. 3.51 s Progress: 0 of 12 built, 4 of 104 downloaded from cache (1 downloading)
  17. 16.67 s Progress: 0 of 12 built, 5 of 104 downloaded from cache
  18. 16.67 s Downloading cached OneTuple from https://cache.staging.nix-ci.com
  19. 16.70 s Downloading cached StateVar from https://cache.staging.nix-ci.com
  20. 16.70 s Downloading cached assoc from https://cache.staging.nix-ci.com
  21. 16.70 s Downloading cached base-orphans from https://cache.staging.nix-ci.com
  22. 16.70 s Downloading cached blaze-builder from https://cache.staging.nix-ci.com
  23. 16.70 s Downloading cached call-stack from https://cache.staging.nix-ci.com
  24. 16.70 s Downloading cached character-ps from https://cache.staging.nix-ci.com
  25. 16.70 s Downloading cached colour from https://cache.staging.nix-ci.com
  26. 16.70 s Downloading cached dlist from https://cache.staging.nix-ci.com
  27. 16.70 s Downloading cached generically from https://cache.staging.nix-ci.com
  28. 16.70 s Downloading cached hashable from https://cache.staging.nix-ci.com
  29. 16.70 s Downloading cached haskell-lexer from https://cache.staging.nix-ci.com
  30. 16.70 s Downloading cached indexed-traversable from https://cache.staging.nix-ci.com
  31. 16.70 s Downloading cached integer-logarithms from https://cache.staging.nix-ci.com
  32. 16.70 s Downloading cached prettyprinter from https://cache.staging.nix-ci.com
  33. 16.70 s Downloading cached primitive from https://cache.staging.nix-ci.com
  34. 16.70 s Progress: 0 of 11 built, 6 of 104 downloaded from cache (15 downloading)
  35. 16.70 s Progress: 0 of 11 built, 7 of 104 downloaded from cache (14 downloading)
  36. 16.70 s Progress: 0 of 11 built, 8 of 104 downloaded from cache (13 downloading)
  37. 16.70 s Progress: 0 of 11 built, 9 of 104 downloaded from cache (12 downloading)
  38. 16.70 s Progress: 0 of 11 built, 10 of 104 downloaded from cache (11 downloading)
  39. 16.70 s Progress: 0 of 11 built, 11 of 104 downloaded from cache (10 downloading)
  40. 16.70 s Progress: 0 of 11 built, 12 of 104 downloaded from cache (9 downloading)
  41. 16.70 s Progress: 0 of 11 built, 13 of 104 downloaded from cache (8 downloading)
  42. 16.70 s Progress: 0 of 11 built, 14 of 104 downloaded from cache (7 downloading)
  43. 16.70 s Progress: 0 of 11 built, 15 of 104 downloaded from cache (6 downloading)
  44. 16.70 s Progress: 0 of 11 built, 16 of 104 downloaded from cache (5 downloading)
  45. 16.70 s Progress: 0 of 11 built, 17 of 104 downloaded from cache (4 downloading)
  46. 16.70 s Progress: 0 of 11 built, 18 of 104 downloaded from cache (3 downloading)
  47. 16.70 s Progress: 0 of 11 built, 19 of 104 downloaded from cache (2 downloading)
  48. 16.70 s Progress: 0 of 11 built, 20 of 104 downloaded from cache (1 downloading)
  49. 16.70 s Progress: 0 of 11 built, 21 of 104 downloaded from cache
  50. 16.70 s Downloading cached safe from https://cache.staging.nix-ci.com
  51. 16.70 s Downloading cached selective from https://cache.staging.nix-ci.com
  52. 16.70 s Downloading cached split from https://cache.staging.nix-ci.com
  53. 16.70 s Downloading cached splitmix from https://cache.staging.nix-ci.com
  54. 16.70 s Downloading cached tagged from https://cache.staging.nix-ci.com
  55. 16.70 s Downloading cached th-abstraction from https://cache.staging.nix-ci.com
  56. 16.70 s Downloading cached th-compat from https://cache.staging.nix-ci.com
  57. 16.70 s Downloading cached transformers-compat from https://cache.staging.nix-ci.com
  58. 16.70 s Downloading cached unix-compat from https://cache.staging.nix-ci.com
  59. 16.70 s Downloading cached validity from https://cache.staging.nix-ci.com
  60. 16.70 s Downloading cached vector-stream from https://cache.staging.nix-ci.com
  61. 16.70 s Downloading cached unliftio-core from https://cache.staging.nix-ci.com
  62. 16.70 s Downloading cached HUnit from https://cache.staging.nix-ci.com
  63. 16.70 s Downloading cached ansi-terminal-types from https://cache.staging.nix-ci.com
  64. 16.70 s Downloading cached async from https://cache.staging.nix-ci.com
  65. 16.70 s Downloading cached contravariant from https://cache.staging.nix-ci.com
  66. 16.70 s Progress: 0 of 11 built, 22 of 104 downloaded from cache (15 downloading)
  67. 16.70 s Progress: 0 of 11 built, 23 of 104 downloaded from cache (14 downloading)
  68. 16.70 s Progress: 0 of 11 built, 24 of 104 downloaded from cache (13 downloading)
  69. 16.70 s Progress: 0 of 11 built, 25 of 104 downloaded from cache (12 downloading)
  70. 16.70 s Progress: 0 of 11 built, 26 of 104 downloaded from cache (11 downloading)
  71. 16.70 s Progress: 0 of 11 built, 27 of 104 downloaded from cache (10 downloading)
  72. 16.70 s Progress: 0 of 11 built, 28 of 104 downloaded from cache (9 downloading)
  73. 16.70 s Progress: 0 of 11 built, 29 of 104 downloaded from cache (8 downloading)
  74. 16.70 s Progress: 0 of 11 built, 30 of 104 downloaded from cache (7 downloading)
  75. 16.70 s Progress: 0 of 11 built, 31 of 104 downloaded from cache (6 downloading)
  76. 16.70 s Progress: 0 of 11 built, 32 of 104 downloaded from cache (5 downloading)
  77. 16.70 s Progress: 0 of 11 built, 33 of 104 downloaded from cache (4 downloading)
  78. 16.70 s Progress: 0 of 11 built, 34 of 104 downloaded from cache (3 downloading)
  79. 16.70 s Progress: 0 of 11 built, 35 of 104 downloaded from cache (2 downloading)
  80. 16.70 s Progress: 0 of 11 built, 36 of 104 downloaded from cache (1 downloading)
  81. 16.70 s Downloading cached data-fix from https://cache.staging.nix-ci.com
  82. 16.71 s Downloading cached integer-conversion from https://cache.staging.nix-ci.com
  83. 16.71 s Downloading cached pretty-show from https://cache.staging.nix-ci.com
  84. 16.71 s Downloading cached scientific from https://cache.staging.nix-ci.com
  85. 16.71 s Downloading cached text-short from https://cache.staging.nix-ci.com
  86. 16.71 s Downloading cached these from https://cache.staging.nix-ci.com
  87. 16.71 s Downloading cached time-compat from https://cache.staging.nix-ci.com
  88. 16.71 s Downloading cached unordered-containers from https://cache.staging.nix-ci.com
  89. 16.71 s Downloading cached ansi-terminal from https://cache.staging.nix-ci.com
  90. 16.71 s Downloading cached distributive from https://cache.staging.nix-ci.com
  91. 16.71 s Downloading cached network-uri from https://cache.staging.nix-ci.com
  92. 16.71 s Downloading cached random from https://cache.staging.nix-ci.com
  93. 16.71 s Downloading cached resourcet from https://cache.staging.nix-ci.com
  94. 16.71 s Downloading cached validity-bytestring from https://cache.staging.nix-ci.com
  95. 16.71 s Downloading cached validity-containers from https://cache.staging.nix-ci.com
  96. 16.71 s Progress: 0 of 11 built, 37 of 104 downloaded from cache (15 downloading)
  97. 16.71 s Progress: 0 of 11 built, 38 of 104 downloaded from cache (14 downloading)
  98. 16.71 s Progress: 0 of 11 built, 39 of 104 downloaded from cache (13 downloading)
  99. 16.71 s Progress: 0 of 11 built, 40 of 104 downloaded from cache (12 downloading)
  100. 16.71 s Progress: 0 of 11 built, 41 of 104 downloaded from cache (11 downloading)
  101. 16.71 s Progress: 0 of 11 built, 42 of 104 downloaded from cache (10 downloading)
  102. 16.71 s Progress: 0 of 11 built, 43 of 104 downloaded from cache (9 downloading)
  103. 16.71 s Progress: 0 of 11 built, 44 of 104 downloaded from cache (8 downloading)
  104. 16.71 s Progress: 0 of 11 built, 45 of 104 downloaded from cache (7 downloading)
  105. 16.71 s Progress: 0 of 11 built, 46 of 104 downloaded from cache (6 downloading)
  106. 16.71 s Progress: 0 of 11 built, 47 of 104 downloaded from cache (5 downloading)
  107. 16.71 s Progress: 0 of 11 built, 48 of 104 downloaded from cache (4 downloading)
  108. 16.71 s Progress: 0 of 11 built, 49 of 104 downloaded from cache (3 downloading)
  109. 16.71 s Downloading cached validity-text from https://cache.staging.nix-ci.com
  110. 16.71 s Downloading cached MonadRandom from https://cache.staging.nix-ci.com
  111. 16.71 s Downloading cached QuickCheck from https://cache.staging.nix-ci.com
  112. 16.71 s Downloading cached attoparsec from https://cache.staging.nix-ci.com
  113. 16.71 s Downloading cached comonad from https://cache.staging.nix-ci.com
  114. 16.71 s Downloading cached prettyprinter-ansi-terminal from https://cache.staging.nix-ci.com
  115. 16.71 s Downloading cached strict from https://cache.staging.nix-ci.com
  116. 16.71 s Downloading cached svg-builder from https://cache.staging.nix-ci.com
  117. 16.71 s Downloading cached temporary from https://cache.staging.nix-ci.com
  118. 16.71 s Downloading cached text-iso8601 from https://cache.staging.nix-ci.com
  119. 16.71 s Downloading cached uuid-types from https://cache.staging.nix-ci.com
  120. 16.71 s Downloading cached validity-scientific from https://cache.staging.nix-ci.com
  121. 16.71 s Downloading cached validity-unordered-containers from https://cache.staging.nix-ci.com
  122. 16.71 s Progress: 0 of 11 built, 50 of 104 downloaded from cache (15 downloading)
  123. 16.71 s Progress: 0 of 11 built, 51 of 104 downloaded from cache (14 downloading)
  124. 16.71 s Progress: 0 of 11 built, 52 of 104 downloaded from cache (13 downloading)
  125. 16.71 s Progress: 0 of 11 built, 53 of 104 downloaded from cache (12 downloading)
  126. 16.71 s Progress: 0 of 11 built, 54 of 104 downloaded from cache (11 downloading)
  127. 16.71 s Progress: 0 of 11 built, 55 of 104 downloaded from cache (10 downloading)
  128. 16.71 s Progress: 0 of 11 built, 56 of 104 downloaded from cache (9 downloading)
  129. 16.71 s Progress: 0 of 11 built, 57 of 104 downloaded from cache (8 downloading)
  130. 16.71 s Progress: 0 of 11 built, 58 of 104 downloaded from cache (7 downloading)
  131. 16.71 s Progress: 0 of 11 built, 59 of 104 downloaded from cache (6 downloading)
  132. 16.71 s Progress: 0 of 11 built, 60 of 104 downloaded from cache (5 downloading)
  133. 16.71 s Progress: 0 of 11 built, 61 of 104 downloaded from cache (4 downloading)
  134. 16.71 s Progress: 0 of 11 built, 62 of 104 downloaded from cache (3 downloading)
  135. 16.71 s Progress: 0 of 11 built, 63 of 104 downloaded from cache (2 downloading)
  136. 16.71 s Downloading cached bifunctors from https://cache.staging.nix-ci.com
  137. 16.71 s Downloading cached genvalidity from https://cache.staging.nix-ci.com
  138. 16.71 s Downloading cached optparse-applicative from https://cache.staging.nix-ci.com
  139. 16.71 s Downloading cached quickcheck-io from https://cache.staging.nix-ci.com
  140. 16.71 s Downloading cached random-shuffle from https://cache.staging.nix-ci.com
  141. 16.71 s Downloading cached safe-coloured-text from https://cache.staging.nix-ci.com
  142. 16.71 s Progress: 0 of 10 built, 64 of 104 downloaded from cache (7 downloading)
  143. 16.71 s Progress: 0 of 10 built, 65 of 104 downloaded from cache (6 downloading)
  144. 16.71 s Progress: 0 of 10 built, 66 of 104 downloaded from cache (5 downloading)
  145. 16.71 s Progress: 0 of 10 built, 67 of 104 downloaded from cache (4 downloading)
  146. 16.72 s Progress: 0 of 10 built, 68 of 104 downloaded from cache (3 downloading)
  147. 16.72 s Progress: 0 of 10 built, 69 of 104 downloaded from cache (2 downloading)
  148. 16.72 s Downloading cached genvalidity-containers from https://cache.staging.nix-ci.com
  149. 16.72 s Downloading cached semigroupoids from https://cache.staging.nix-ci.com
  150. 16.72 s Downloading cached tasty from https://cache.staging.nix-ci.com
  151. 16.72 s Progress: 0 of 9 built, 70 of 104 downloaded from cache (4 downloading)
  152. 16.72 s Progress: 0 of 9 built, 71 of 104 downloaded from cache (3 downloading)
  153. 16.72 s Progress: 0 of 9 built, 72 of 104 downloaded from cache (2 downloading)
  154. 16.72 s Downloading cached safe-coloured-text-layout from https://cache.staging.nix-ci.com
  155. 16.72 s Progress: 0 of 9 built, 73 of 104 downloaded from cache (3 downloading)
  156. 16.72 s Downloading cached safe-coloured-text-terminfo from https://cache.staging.nix-ci.com
  157. 16.72 s Progress: 0 of 9 built, 74 of 104 downloaded from cache (3 downloading)
  158. 16.72 s Downloading cached vector from https://cache.staging.nix-ci.com
  159. 16.72 s Progress: 0 of 9 built, 75 of 104 downloaded from cache (2 downloading)
  160. 16.72 s Progress: 0 of 9 built, 76 of 104 downloaded from cache (1 downloading)
  161. 16.72 s Downloading cached bitvec from https://cache.staging.nix-ci.com
  162. 16.72 s Downloading cached fast-myers-diff from https://cache.staging.nix-ci.com
  163. 16.72 s Downloading cached indexed-traversable-instances from https://cache.staging.nix-ci.com
  164. 16.72 s Downloading cached validity-vector from https://cache.staging.nix-ci.com
  165. 16.72 s Progress: 0 of 8 built, 77 of 104 downloaded from cache (4 downloading)
  166. 16.72 s Progress: 0 of 8 built, 78 of 104 downloaded from cache (3 downloading)
  167. 16.72 s Progress: 0 of 8 built, 79 of 104 downloaded from cache (2 downloading)
  168. 16.72 s Downloading cached semialign from https://cache.staging.nix-ci.com
  169. 16.72 s Downloading cached vector-algorithms from https://cache.staging.nix-ci.com
  170. 16.72 s Downloading cached witherable from https://cache.staging.nix-ci.com
  171. 16.72 s Progress: 0 of 8 built, 80 of 104 downloaded from cache (4 downloading)
  172. 16.72 s Progress: 0 of 8 built, 81 of 104 downloaded from cache (3 downloading)
  173. 16.72 s Progress: 0 of 8 built, 82 of 104 downloaded from cache (3 downloading)
  174. 16.72 s Downloading cached genvalidity-vector from https://cache.staging.nix-ci.com
  175. 16.72 s Progress: 0 of 8 built, 83 of 104 downloaded from cache (2 downloading)
  176. 16.72 s Downloading cached aeson from https://cache.staging.nix-ci.com
  177. 16.72 s Progress: 0 of 8 built, 84 of 104 downloaded from cache (3 downloading)
  178. 16.72 s Downloading cached mono-traversable from https://cache.staging.nix-ci.com
  179. 16.72 s Downloading cached autodocodec from https://cache.staging.nix-ci.com
  180. 16.72 s Downloading cached path from https://cache.staging.nix-ci.com
  181. 16.72 s Progress: 0 of 8 built, 85 of 104 downloaded from cache (5 downloading)
  182. 16.72 s Downloading cached validity-aeson from https://cache.staging.nix-ci.com
  183. 16.72 s Progress: 0 of 8 built, 86 of 104 downloaded from cache (4 downloading)
  184. 16.72 s Downloading cached autodocodec-nix from https://cache.staging.nix-ci.com
  185. 16.72 s Progress: 0 of 8 built, 87 of 104 downloaded from cache (5 downloading)
  186. 16.72 s Downloading cached conduit from https://cache.staging.nix-ci.com
  187. 16.72 s Progress: 0 of 8 built, 88 of 104 downloaded from cache (4 downloading)
  188. 16.72 s Progress: 0 of 8 built, 89 of 104 downloaded from cache (3 downloading)
  189. 16.72 s Downloading cached autodocodec-schema from https://cache.staging.nix-ci.com
  190. 16.72 s Downloading cached path-io from https://cache.staging.nix-ci.com
  191. 16.72 s Progress: 0 of 8 built, 90 of 104 downloaded from cache (4 downloading)
  192. 16.72 s Progress: 0 of 8 built, 91 of 104 downloaded from cache (4 downloading)
  193. 16.72 s Downloading cached libyaml from https://cache.staging.nix-ci.com
  194. 16.72 s Progress: 0 of 8 built, 92 of 104 downloaded from cache (3 downloading)
  195. 16.72 s Downloading cached sydtest-discover from https://cache.staging.nix-ci.com
  196. 16.72 s Progress: 0 of 8 built, 93 of 104 downloaded from cache (4 downloading)
  197. 16.72 s Downloading cached sydtest-mutation-runtime from https://cache.staging.nix-ci.com
  198. 16.73 s Progress: 0 of 8 built, 94 of 104 downloaded from cache (4 downloading)
  199. 16.73 s Progress: 0 of 8 built, 95 of 104 downloaded from cache (3 downloading)
  200. 16.73 s Downloading cached yaml from https://cache.staging.nix-ci.com
  201. 16.73 s Downloading cached sydtest-mutation-plugin from https://cache.staging.nix-ci.com
  202. 16.73 s Progress: 0 of 7 built, 96 of 104 downloaded from cache (3 downloading)
  203. 16.73 s Progress: 0 of 7 built, 97 of 104 downloaded from cache (3 downloading)
  204. 16.73 s Downloading cached autodocodec-yaml from https://cache.staging.nix-ci.com
  205. 16.73 s Progress: 0 of 7 built, 98 of 104 downloaded from cache (3 downloading)
  206. 16.73 s Downloading cached really-safe-money from https://cache.staging.nix-ci.com
  207. 16.73 s Downloading cached opt-env-conf from https://cache.staging.nix-ci.com
  208. 16.73 s Progress: 0 of 7 built, 99 of 104 downloaded from cache (3 downloading)
  209. 16.73 s Downloading cached sydtest from https://cache.staging.nix-ci.com
  210. 16.73 s Progress: 0 of 7 built, 100 of 104 downloaded from cache (3 downloading)
  211. 16.73 s Downloading cached genvalidity-sydtest from https://cache.staging.nix-ci.com
  212. 16.73 s Progress: 0 of 6 built, 101 of 104 downloaded from cache (3 downloading)
  213. 16.73 s Progress: 0 of 5 built, 102 of 104 downloaded from cache (2 downloading)
  214. 16.74 s Progress: 0 of 4 built, 103 of 104 downloaded from cache (1 downloading)
  215. 17.09 s Progress: 0 of 3 built, 104 of 104 downloaded from cache
  216. 17.33 s Building really-safe-money-gen
  217. 17.70 s [really-safe-money-gen] Phase: setupCompilerEnvironmentPhase
  218. 17.71 s [really-safe-money-gen] Build with /nix/store/g22xx6fm6ghg0hfgnl7yc722xdyrmsn6-ghc-9.10.3.
  219. 18.44 s [really-safe-money-gen] Phase: unpackPhase
  220. 18.44 s [really-safe-money-gen] unpacking source archive /nix/store/fymhl39zk09m29hmhhg5jp7c54v0flg9-really-safe-money-gen-source-0.0.0.0/really-safe-money-gen-0.0.0.0.tar.gz
  221. 18.46 s [really-safe-money-gen] source root is really-safe-money-gen-0.0.0.0
  222. 18.47 s [really-safe-money-gen] setting SOURCE_DATE_EPOCH to timestamp 1778512797 of file "really-safe-money-gen-0.0.0.0/test/Spec.hs"
  223. 18.48 s [really-safe-money-gen] Phase: patchPhase
  224. 18.50 s [really-safe-money-gen] Phase: compileBuildDriverPhase
  225. 18.51 s [really-safe-money-gen] setupCompileFlags: -package-db=/build/tmp.fxcsEd6mD2/setup-package.conf.d -threaded
  226. 18.56 s [really-safe-money-gen] [1 of 2] Compiling Main ( Setup.hs, /build/tmp.fxcsEd6mD2/Main.o )
  227. 18.61 s [really-safe-money-gen] [2 of 2] Linking Setup
  228. 19.86 s [really-safe-money-gen] Phase: updateAutotoolsGnuConfigScriptsPhase
  229. 19.88 s [really-safe-money-gen] Phase: configurePhase
  230. 19.89 s [really-safe-money-gen] configureFlags: --verbose --prefix=/nix/store/7s8fcvdclifbfwxyq2ns2fhv9k74a7n0-really-safe-money-gen-0.0.0.0 --libdir=$prefix/lib/$compiler/lib --libsubdir=$abi/$libname --docdir=/nix/store/wn0r4439smrf3d3xfq0qghvprc2z8jaz-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.fxcsEd6mD2/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/45z5ja3qb26d66l44gkni38r7bk36fnh-ncurses-6.5/lib --extra-lib-dirs=/nix/store/6rwsi7k52chjbpxr74khmzdr5hzlc4bb-libffi-3.5.2/lib --extra-lib-dirs=/nix/store/5nklmmj1ypr5vpkg7rxna1ywyzl8lca8-elfutils-0.194/lib --extra-lib-dirs=/nix/store/3xq68v4gdh0pmkxdwxy76bh36w99nb5q-gmp-with-cxx-6.3.0/lib --extra-lib-dirs=/nix/store/kw1l2rrslifbdm7l8blgmaf7xidh0n5q-numactl-2.0.18/lib --extra-lib-dirs=/nix/store/g22xx6fm6ghg0hfgnl7yc722xdyrmsn6-ghc-9.10.3/lib
  231. 19.90 s [really-safe-money-gen] Using Parsec parser
  232. 19.90 s [really-safe-money-gen] Configuring really-safe-money-gen-0.0.0.0...
  233. 20.66 s [really-safe-money-gen] Dependency QuickCheck: using QuickCheck-2.15.0.1
  234. 20.66 s [really-safe-money-gen] Dependency base >=4.7 && <5: using base-4.20.2.0
  235. 20.66 s [really-safe-money-gen] Dependency genvalidity: using genvalidity-1.1.1.0
  236. 20.66 s [really-safe-money-gen] Dependency genvalidity-containers: using genvalidity-containers-1.0.0.2
  237. 20.66 s [really-safe-money-gen] Dependency really-safe-money: using really-safe-money-0.0.0.0
  238. 20.66 s [really-safe-money-gen] Dependency base >=4.7 && <5: using base-4.20.2.0
  239. 20.66 s [really-safe-money-gen] Dependency containers: using containers-0.7
  240. 20.66 s [really-safe-money-gen] Dependency genvalidity-sydtest: using genvalidity-sydtest-1.0.1.0
  241. 20.66 s [really-safe-money-gen] Dependency genvalidity-vector: using genvalidity-vector-1.0.0.0
  242. 20.66 s [really-safe-money-gen] Dependency really-safe-money: using really-safe-money-0.0.0.0
  243. 20.66 s [really-safe-money-gen] Dependency really-safe-money-gen: using really-safe-money-gen-0.0.0.0
  244. 20.66 s [really-safe-money-gen] Dependency sydtest: using sydtest-0.23.0.2
  245. 20.66 s [really-safe-money-gen] Dependency vector: using vector-0.13.2.0
  246. 20.66 s [really-safe-money-gen] Source component graph:
  247. 20.66 s [really-safe-money-gen] component lib
  248. 20.66 s [really-safe-money-gen] component test:really-safe-money-test dependency lib
  249. 20.66 s [really-safe-money-gen] Configured component graph:
  250. 20.66 s [really-safe-money-gen] component really-safe-money-gen-0.0.0.0-6WaElmpWHjxJDN4REgLguv
  251. 20.66 s [really-safe-money-gen] include QuickCheck-2.15.0.1-2886bjxlOc222GFUIJ2dTf
  252. 20.66 s [really-safe-money-gen] include base-4.20.2.0-69bc
  253. 20.66 s [really-safe-money-gen] include genvalidity-1.1.1.0-C6lgfryVTNPDfTwCfdEzxl
  254. 20.66 s [really-safe-money-gen] include genvalidity-containers-1.0.0.2-2lzNb8Y5dc2IJ6H0tDNeRX
  255. 20.66 s [really-safe-money-gen] include really-safe-money-0.0.0.0-L7n7qjdD2rt4pGhbIRDq5i
  256. 20.66 s [really-safe-money-gen] component really-safe-money-gen-0.0.0.0-4eeDNd301Ib3lEQOGg1XlW-really-safe-money-test
  257. 20.66 s [really-safe-money-gen] include base-4.20.2.0-69bc
  258. 20.66 s [really-safe-money-gen] include containers-0.7-9663
  259. 20.66 s [really-safe-money-gen] include genvalidity-sydtest-1.0.1.0-I5M8BpDXHCR6j7xVOiLeXL
  260. 20.66 s [really-safe-money-gen] include genvalidity-vector-1.0.0.0-9MA0WAllRyX6yuBtKHvMqx
  261. 20.66 s [really-safe-money-gen] include really-safe-money-0.0.0.0-L7n7qjdD2rt4pGhbIRDq5i
  262. 20.66 s [really-safe-money-gen] include really-safe-money-gen-0.0.0.0-6WaElmpWHjxJDN4REgLguv
  263. 20.66 s [really-safe-money-gen] include sydtest-0.23.0.2-9qDUZCgIzZAHN3zck4m6UZ
  264. 20.66 s [really-safe-money-gen] include vector-0.13.2.0-8h07OZ6cN9Hc7tYmpamTf
  265. 20.66 s [really-safe-money-gen] Linked component graph:
  266. 20.66 s [really-safe-money-gen] unit really-safe-money-gen-0.0.0.0-6WaElmpWHjxJDN4REgLguv
  267. 20.66 s [really-safe-money-gen] include QuickCheck-2.15.0.1-2886bjxlOc222GFUIJ2dTf
  268. 20.66 s [really-safe-money-gen] include base-4.20.2.0-69bc
  269. 20.66 s [really-safe-money-gen] include genvalidity-1.1.1.0-C6lgfryVTNPDfTwCfdEzxl
  270. 20.66 s [really-safe-money-gen] include genvalidity-containers-1.0.0.2-2lzNb8Y5dc2IJ6H0tDNeRX
  271. 20.66 s [really-safe-money-gen] include really-safe-money-0.0.0.0-L7n7qjdD2rt4pGhbIRDq5i
  272. 20.66 s [really-safe-money-gen] Money.Account.Gen=really-safe-money-gen-0.0.0.0-6WaElmpWHjxJDN4REgLguv:Money.Account.Gen,Money.AccountOf.Gen=really-safe-money-gen-0.0.0.0-6WaElmpWHjxJDN4REgLguv:Money.AccountOf.Gen,Money.Amount.Gen=really-safe-money-gen-0.0.0.0-6WaElmpWHjxJDN4REgLguv:Money.Amount.Gen,Money.AmountOf.Gen=really-safe-money-gen-0.0.0.0-6WaElmpWHjxJDN4REgLguv:Money.AmountOf.Gen,Money.ConversionRate.Gen=really-safe-money-gen-0.0.0.0-6WaElmpWHjxJDN4REgLguv:Money.ConversionRate.Gen,Money.ConversionRateOf.Gen=really-safe-money-gen-0.0.0.0-6WaElmpWHjxJDN4REgLguv:Money.ConversionRateOf.Gen,Money.Currency.Gen=really-safe-money-gen-0.0.0.0-6WaElmpWHjxJDN4REgLguv:Money.Currency.Gen,Money.Gen=really-safe-money-gen-0.0.0.0-6WaElmpWHjxJDN4REgLguv:Money.Gen,Money.MultiAccount.Gen=really-safe-money-gen-0.0.0.0-6WaElmpWHjxJDN4REgLguv:Money.MultiAccount.Gen,Money.MultiAmount.Gen=really-safe-money-gen-0.0.0.0-6WaElmpWHjxJDN4REgLguv:Money.MultiAmount.Gen,Money.QuantisationFactor.Gen=really-safe-money-gen-0.0.0.0-6WaElmpWHjxJDN4REgLguv:Money.QuantisationFactor.Gen,Numeric.DecimalLiteral.Gen=really-safe-money-gen-0.0.0.0-6WaElmpWHjxJDN4REgLguv:Numeric.DecimalLiteral.Gen
  273. 20.66 s [really-safe-money-gen] unit really-safe-money-gen-0.0.0.0-4eeDNd301Ib3lEQOGg1XlW-really-safe-money-test
  274. 20.66 s [really-safe-money-gen] include base-4.20.2.0-69bc
  275. 20.66 s [really-safe-money-gen] include containers-0.7-9663
  276. 20.66 s [really-safe-money-gen] include genvalidity-sydtest-1.0.1.0-I5M8BpDXHCR6j7xVOiLeXL
  277. 20.66 s [really-safe-money-gen] include genvalidity-vector-1.0.0.0-9MA0WAllRyX6yuBtKHvMqx
  278. 20.66 s [really-safe-money-gen] include really-safe-money-0.0.0.0-L7n7qjdD2rt4pGhbIRDq5i
  279. 20.66 s [really-safe-money-gen] include really-safe-money-gen-0.0.0.0-6WaElmpWHjxJDN4REgLguv
  280. 20.66 s [really-safe-money-gen] include sydtest-0.23.0.2-9qDUZCgIzZAHN3zck4m6UZ
  281. 20.66 s [really-safe-money-gen] include vector-0.13.2.0-8h07OZ6cN9Hc7tYmpamTf
  282. 20.66 s [really-safe-money-gen] Ready component graph:
  283. 20.66 s [really-safe-money-gen] definite really-safe-money-gen-0.0.0.0-6WaElmpWHjxJDN4REgLguv
  284. 20.67 s [really-safe-money-gen] depends QuickCheck-2.15.0.1-2886bjxlOc222GFUIJ2dTf
  285. 20.67 s [really-safe-money-gen] depends base-4.20.2.0-69bc
  286. 20.67 s [really-safe-money-gen] depends genvalidity-1.1.1.0-C6lgfryVTNPDfTwCfdEzxl
  287. 20.67 s [really-safe-money-gen] depends genvalidity-containers-1.0.0.2-2lzNb8Y5dc2IJ6H0tDNeRX
  288. 20.67 s [really-safe-money-gen] depends really-safe-money-0.0.0.0-L7n7qjdD2rt4pGhbIRDq5i
  289. 20.67 s [really-safe-money-gen] definite really-safe-money-gen-0.0.0.0-4eeDNd301Ib3lEQOGg1XlW-really-safe-money-test
  290. 20.67 s [really-safe-money-gen] depends base-4.20.2.0-69bc
  291. 20.67 s [really-safe-money-gen] depends containers-0.7-9663
  292. 20.67 s [really-safe-money-gen] depends genvalidity-sydtest-1.0.1.0-I5M8BpDXHCR6j7xVOiLeXL
  293. 20.67 s [really-safe-money-gen] depends genvalidity-vector-1.0.0.0-9MA0WAllRyX6yuBtKHvMqx
  294. 20.67 s [really-safe-money-gen] depends really-safe-money-0.0.0.0-L7n7qjdD2rt4pGhbIRDq5i
  295. 20.67 s [really-safe-money-gen] depends really-safe-money-gen-0.0.0.0-6WaElmpWHjxJDN4REgLguv
  296. 20.67 s [really-safe-money-gen] depends sydtest-0.23.0.2-9qDUZCgIzZAHN3zck4m6UZ
  297. 20.67 s [really-safe-money-gen] depends vector-0.13.2.0-8h07OZ6cN9Hc7tYmpamTf
  298. 20.67 s [really-safe-money-gen] Using Cabal-3.12.1.0 compiled by ghc-9.10
  299. 20.67 s [really-safe-money-gen] Using compiler: ghc-9.10.3
  300. 20.67 s [really-safe-money-gen] Using install prefix:
  301. 20.67 s [really-safe-money-gen] /nix/store/7s8fcvdclifbfwxyq2ns2fhv9k74a7n0-really-safe-money-gen-0.0.0.0
  302. 20.67 s [really-safe-money-gen] Executables installed in:
  303. 20.67 s [really-safe-money-gen] /nix/store/7s8fcvdclifbfwxyq2ns2fhv9k74a7n0-really-safe-money-gen-0.0.0.0/bin
  304. 20.67 s [really-safe-money-gen] Libraries installed in:
  305. 20.67 s [really-safe-money-gen] /nix/store/7s8fcvdclifbfwxyq2ns2fhv9k74a7n0-really-safe-money-gen-0.0.0.0/lib/ghc-9.10.3/lib/x86_64-linux-ghc-9.10.3-c151/really-safe-money-gen-0.0.0.0-6WaElmpWHjxJDN4REgLguv
  306. 20.67 s [really-safe-money-gen] Dynamic Libraries installed in:
  307. 20.67 s [really-safe-money-gen] /nix/store/7s8fcvdclifbfwxyq2ns2fhv9k74a7n0-really-safe-money-gen-0.0.0.0/lib/ghc-9.10.3/lib/x86_64-linux-ghc-9.10.3-c151
  308. 20.67 s [really-safe-money-gen] Private executables installed in:
  309. 20.67 s [really-safe-money-gen] /nix/store/7s8fcvdclifbfwxyq2ns2fhv9k74a7n0-really-safe-money-gen-0.0.0.0/libexec/x86_64-linux-ghc-9.10.3-c151/really-safe-money-gen-0.0.0.0
  310. 20.67 s [really-safe-money-gen] Data files installed in:
  311. 20.67 s [really-safe-money-gen] /nix/store/7s8fcvdclifbfwxyq2ns2fhv9k74a7n0-really-safe-money-gen-0.0.0.0/share/x86_64-linux-ghc-9.10.3-c151/really-safe-money-gen-0.0.0.0
  312. 20.67 s [really-safe-money-gen] Documentation installed in:
  313. 20.67 s [really-safe-money-gen] /nix/store/wn0r4439smrf3d3xfq0qghvprc2z8jaz-really-safe-money-gen-0.0.0.0-doc/share/doc/really-safe-money-gen-0.0.0.0
  314. 20.67 s [really-safe-money-gen] Configuration files installed in:
  315. 20.67 s [really-safe-money-gen] /nix/store/7s8fcvdclifbfwxyq2ns2fhv9k74a7n0-really-safe-money-gen-0.0.0.0/etc
  316. 20.67 s [really-safe-money-gen] No alex found
  317. 20.67 s [really-safe-money-gen] Using ar found on system at:
  318. 20.67 s [really-safe-money-gen] /nix/store/hnan7l0v68sahyxbazz5y358prz253d1-binutils-wrapper-2.44/bin/ar
  319. 20.67 s [really-safe-money-gen] No c2hs found
  320. 20.67 s [really-safe-money-gen] No cpphs found
  321. 20.67 s [really-safe-money-gen] No doctest found
  322. 20.67 s [really-safe-money-gen] Using gcc version 14.3.0 given by user at:
  323. 20.67 s [really-safe-money-gen] /nix/store/kilyfvfmh9x9rlaj47ph1916lbc1pnsr-gcc-wrapper-14.3.0/bin/gcc
  324. 20.67 s [really-safe-money-gen] Using ghc version 9.10.3 found on system at:
  325. 20.67 s [really-safe-money-gen] /nix/store/g22xx6fm6ghg0hfgnl7yc722xdyrmsn6-ghc-9.10.3/bin/ghc
  326. 20.67 s [really-safe-money-gen] Using ghc-pkg version 9.10.3 found on system at:
  327. 20.67 s [really-safe-money-gen] /nix/store/g22xx6fm6ghg0hfgnl7yc722xdyrmsn6-ghc-9.10.3/bin/ghc-pkg-9.10.3
  328. 20.67 s [really-safe-money-gen] No ghcjs found
  329. 20.67 s [really-safe-money-gen] No ghcjs-pkg found
  330. 20.67 s [really-safe-money-gen] No greencard found
  331. 20.67 s [really-safe-money-gen] Using haddock version 2.31.1 found on system at:
  332. 20.67 s [really-safe-money-gen] /nix/store/g22xx6fm6ghg0hfgnl7yc722xdyrmsn6-ghc-9.10.3/bin/haddock-ghc-9.10.3
  333. 20.67 s [really-safe-money-gen] No happy found
  334. 20.67 s [really-safe-money-gen] Using haskell-suite found on system at: haskell-suite-dummy-location
  335. 20.67 s [really-safe-money-gen] Using haskell-suite-pkg found on system at: haskell-suite-pkg-dummy-location
  336. 20.67 s [really-safe-money-gen] No hmake found
  337. 20.67 s [really-safe-money-gen] Using hpc version 0.69 found on system at:
  338. 20.67 s [really-safe-money-gen] /nix/store/g22xx6fm6ghg0hfgnl7yc722xdyrmsn6-ghc-9.10.3/bin/hpc-ghc-9.10.3
  339. 20.67 s [really-safe-money-gen] Using hsc2hs version 0.68.10 found on system at:
  340. 20.67 s [really-safe-money-gen] /nix/store/g22xx6fm6ghg0hfgnl7yc722xdyrmsn6-ghc-9.10.3/bin/hsc2hs-ghc-9.10.3
  341. 20.67 s [really-safe-money-gen] Using hscolour version 1.25 found on system at:
  342. 20.67 s [really-safe-money-gen] /nix/store/4f97zghyhdx2dj13mir9002n11iljwc5-hscolour-1.25/bin/HsColour
  343. 20.67 s [really-safe-money-gen] No jhc found
  344. 20.67 s [really-safe-money-gen] Using ld found on system at:
  345. 20.67 s [really-safe-money-gen] /nix/store/kilyfvfmh9x9rlaj47ph1916lbc1pnsr-gcc-wrapper-14.3.0/bin/ld
  346. 20.67 s [really-safe-money-gen] No pkg-config found
  347. 20.67 s [really-safe-money-gen] Using runghc version 9.10.3 found on system at:
  348. 20.67 s [really-safe-money-gen] /nix/store/g22xx6fm6ghg0hfgnl7yc722xdyrmsn6-ghc-9.10.3/bin/runghc-9.10.3
  349. 20.67 s [really-safe-money-gen] Using strip version 2.44 found on system at:
  350. 20.67 s [really-safe-money-gen] /nix/store/kilyfvfmh9x9rlaj47ph1916lbc1pnsr-gcc-wrapper-14.3.0/bin/strip
  351. 20.67 s [really-safe-money-gen] Using tar found on system at:
  352. 20.67 s [really-safe-money-gen] /nix/store/df3vxyq7lwf9l02h0wljsq0h3189rp75-gnutar-1.35/bin/tar
  353. 20.67 s [really-safe-money-gen] No uhc found
  354. 21.40 s [really-safe-money-gen] Phase: buildPhase
  355. 21.47 s [really-safe-money-gen] Preprocessing library for really-safe-money-gen-0.0.0.0...
  356. 21.47 s [really-safe-money-gen] Building library for really-safe-money-gen-0.0.0.0...
  357. 21.57 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 )
  358. 21.86 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 )
  359. 21.94 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 )
  360. 21.99 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 )
  361. 21.99 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 )
  362. 21.99 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 )
  363. 21.99 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 )
  364. 21.99 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 )
  365. 21.99 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 )
  366. 21.99 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 )
  367. 22.01 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 )
  368. 22.04 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 )
  369. 22.04 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 )
  370. 22.20 s [really-safe-money-gen] [ 1 of 13] Compiling Money.Amount.Gen ( src/Money/Amount/Gen.hs, dist/build/Money/Amount/Gen.p_o )
  371. 22.64 s [really-safe-money-gen] [ 2 of 13] Compiling Money.Account.Gen ( src/Money/Account/Gen.hs, dist/build/Money/Account/Gen.p_o )
  372. 22.91 s [really-safe-money-gen] [ 3 of 13] Compiling Money.AccountOf.Gen ( src/Money/AccountOf/Gen.hs, dist/build/Money/AccountOf/Gen.p_o )
  373. 23.24 s [really-safe-money-gen] [ 4 of 13] Compiling Money.AmountOf.Gen ( src/Money/AmountOf/Gen.hs, dist/build/Money/AmountOf/Gen.p_o )
  374. 23.24 s [really-safe-money-gen] [ 5 of 13] Compiling Money.ConversionRate.Gen ( src/Money/ConversionRate/Gen.hs, dist/build/Money/ConversionRate/Gen.p_o )
  375. 23.24 s [really-safe-money-gen] [ 6 of 13] Compiling Money.ConversionRateOf.Gen ( src/Money/ConversionRateOf/Gen.hs, dist/build/Money/ConversionRateOf/Gen.p_o )
  376. 23.24 s [really-safe-money-gen] [ 7 of 13] Compiling Money.QuantisationFactor.Gen ( src/Money/QuantisationFactor/Gen.hs, dist/build/Money/QuantisationFactor/Gen.p_o )
  377. 23.24 s [really-safe-money-gen] [ 8 of 13] Compiling Money.Currency.Gen ( src/Money/Currency/Gen.hs, dist/build/Money/Currency/Gen.p_o )
  378. 23.24 s [really-safe-money-gen] [ 9 of 13] Compiling Money.MultiAmount.Gen ( src/Money/MultiAmount/Gen.hs, dist/build/Money/MultiAmount/Gen.p_o )
  379. 23.24 s [really-safe-money-gen] [10 of 13] Compiling Money.MultiAccount.Gen ( src/Money/MultiAccount/Gen.hs, dist/build/Money/MultiAccount/Gen.p_o )
  380. 23.24 s [really-safe-money-gen] [11 of 13] Compiling Money.Gen ( src/Money/Gen.hs, dist/build/Money/Gen.p_o )
  381. 23.44 s [really-safe-money-gen] [12 of 13] Compiling Numeric.DecimalLiteral.Gen ( src/Numeric/DecimalLiteral/Gen.hs, dist/build/Numeric/DecimalLiteral/Gen.p_o )
  382. 23.44 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 )
  383. 25.23 s [really-safe-money-gen] Preprocessing test suite 'really-safe-money-test' for really-safe-money-gen-0.0.0.0...
  384. 25.23 s [really-safe-money-gen] Building test suite 'really-safe-money-test' for really-safe-money-gen-0.0.0.0...
  385. 25.40 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 )
  386. 27.88 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 )
  387. 28.09 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 )
  388. 28.09 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 )
  389. 28.09 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 )
  390. 28.09 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 )
  391. 28.09 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 )
  392. 28.09 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 )
  393. 28.09 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 )
  394. 28.09 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 )
  395. 28.09 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 )
  396. 28.09 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 )
  397. 28.09 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 )
  398. 28.15 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 )
  399. 28.42 s [really-safe-money-gen] [15 of 15] Linking dist/build/really-safe-money-test/really-safe-money-test
  400. 30.45 s [really-safe-money-gen] Phase: checkPhase
  401. 30.47 s [really-safe-money-gen] mutation-nix: collecting per-test coverage
  402. 379.00 s [really-safe-money-gen] mutation-nix: running mutations
  403. 379.05 s [really-safe-money-gen] Testing mutation IntLit at src/Money/QuantisationFactor.hs:87:27-28:
  404. 379.07 s [really-safe-money-gen] @@ -84,7 +84,7 @@
  405. 379.07 s [really-safe-money-gen] fromDecimalLiteral dl = do
  406. 379.07 s [really-safe-money-gen] irat <-
  407. 379.07 s [really-safe-money-gen] let r = DecimalLiteral.toRational dl
  408. 379.07 s [really-safe-money-gen] - in if numerator r == 0
  409. 379.07 s [really-safe-money-gen] + in if numerator r == 1
  410. 379.07 s [really-safe-money-gen] then Nothing
  411. 379.07 s [really-safe-money-gen] else pure r
  412. 379.07 s [really-safe-money-gen]
  413. 379.07 s [really-safe-money-gen]
  414. 379.15 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/QuantisationFactor.hs:87:12-28:
  415. 379.15 s [really-safe-money-gen] @@ -84,7 +84,7 @@
  416. 379.15 s [really-safe-money-gen] fromDecimalLiteral dl = do
  417. 379.15 s [really-safe-money-gen] irat <-
  418. 379.15 s [really-safe-money-gen] let r = DecimalLiteral.toRational dl
  419. 379.15 s [really-safe-money-gen] - in if numerator r == 0
  420. 379.15 s [really-safe-money-gen] + in if False
  421. 379.15 s [really-safe-money-gen] then Nothing
  422. 379.15 s [really-safe-money-gen] else pure r
  423. 379.15 s [really-safe-money-gen]
  424. 379.15 s [really-safe-money-gen]
  425. 379.86 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/QuantisationFactor.hs:87:12-28:
  426. 379.87 s [really-safe-money-gen] @@ -84,7 +84,7 @@
  427. 379.87 s [really-safe-money-gen] fromDecimalLiteral dl = do
  428. 379.87 s [really-safe-money-gen] irat <-
  429. 379.87 s [really-safe-money-gen] let r = DecimalLiteral.toRational dl
  430. 379.87 s [really-safe-money-gen] - in if numerator r == 0
  431. 379.87 s [really-safe-money-gen] + in if False
  432. 379.87 s [really-safe-money-gen] then Nothing
  433. 379.87 s [really-safe-money-gen] else pure r
  434. 379.87 s [really-safe-money-gen]
  435. 379.87 s [really-safe-money-gen]
  436. 380.57 s [really-safe-money-gen] Testing mutation Negate at src/Money/QuantisationFactor.hs:87:12-28:
  437. 380.57 s [really-safe-money-gen] @@ -84,7 +84,7 @@
  438. 380.57 s [really-safe-money-gen] fromDecimalLiteral dl = do
  439. 380.57 s [really-safe-money-gen] irat <-
  440. 380.57 s [really-safe-money-gen] let r = DecimalLiteral.toRational dl
  441. 380.57 s [really-safe-money-gen] - in if numerator r == 0
  442. 380.57 s [really-safe-money-gen] + in if not (numerator r == 0)
  443. 380.57 s [really-safe-money-gen] then Nothing
  444. 380.57 s [really-safe-money-gen] else pure r
  445. 380.57 s [really-safe-money-gen]
  446. 380.57 s [really-safe-money-gen]
  447. 409.44 s [really-safe-money-gen] Testing mutation CondFlip at src/Money/QuantisationFactor.hs:87:9-22:
  448. 409.46 s [really-safe-money-gen] @@ -84,7 +84,7 @@
  449. 409.46 s [really-safe-money-gen] fromDecimalLiteral dl = do
  450. 409.46 s [really-safe-money-gen] irat <-
  451. 409.46 s [really-safe-money-gen] let r = DecimalLiteral.toRational dl
  452. 409.46 s [really-safe-money-gen] - in if numerator r == 0
  453. 409.46 s [really-safe-money-gen] + in if numerator r == 0
  454. 409.46 s [really-safe-money-gen] then Nothing
  455. 409.46 s [really-safe-money-gen] else pure r
  456. 409.46 s [really-safe-money-gen]
  457. 409.46 s [really-safe-money-gen]
  458. 438.43 s [really-safe-money-gen] Testing mutation IntLit at src/Money/QuantisationFactor.hs:92:13-14:
  459. 438.43 s [really-safe-money-gen] @@ -89,7 +89,7 @@
  460. 438.45 s [really-safe-money-gen] else pure r
  461. 438.45 s [really-safe-money-gen]
  462. 438.45 s [really-safe-money-gen] rat <-
  463. 438.45 s [really-safe-money-gen] - let r = 1 / irat
  464. 438.45 s [really-safe-money-gen] + let r = -1 / irat
  465. 438.45 s [really-safe-money-gen] in if r < 0
  466. 438.45 s [really-safe-money-gen] then Nothing
  467. 438.45 s [really-safe-money-gen] else Just r
  468. 438.45 s [really-safe-money-gen]
  469. 438.53 s [really-safe-money-gen] Testing mutation IntLit at src/Money/QuantisationFactor.hs:92:13-14:
  470. 438.53 s [really-safe-money-gen] @@ -89,7 +89,7 @@
  471. 438.53 s [really-safe-money-gen] else pure r
  472. 438.53 s [really-safe-money-gen]
  473. 438.53 s [really-safe-money-gen] rat <-
  474. 438.53 s [really-safe-money-gen] - let r = 1 / irat
  475. 438.53 s [really-safe-money-gen] + let r = -1 / irat
  476. 438.53 s [really-safe-money-gen] in if r < 0
  477. 438.53 s [really-safe-money-gen] then Nothing
  478. 438.53 s [really-safe-money-gen] else Just r
  479. 438.53 s [really-safe-money-gen]
  480. 438.63 s [really-safe-money-gen] Testing mutation IntLit at src/Money/QuantisationFactor.hs:93:16-17:
  481. 438.63 s [really-safe-money-gen] @@ -90,7 +90,7 @@
  482. 438.63 s [really-safe-money-gen]
  483. 438.63 s [really-safe-money-gen] rat <-
  484. 438.63 s [really-safe-money-gen] let r = 1 / irat
  485. 438.64 s [really-safe-money-gen] - in if r < 0
  486. 438.64 s [really-safe-money-gen] + in if r < 1
  487. 438.64 s [really-safe-money-gen] then Nothing
  488. 438.64 s [really-safe-money-gen] else Just r
  489. 438.64 s [really-safe-money-gen]
  490. 438.64 s [really-safe-money-gen]
  491. 438.74 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/QuantisationFactor.hs:93:12-17:
  492. 438.74 s [really-safe-money-gen] @@ -90,7 +90,7 @@
  493. 438.74 s [really-safe-money-gen]
  494. 438.74 s [really-safe-money-gen] rat <-
  495. 438.74 s [really-safe-money-gen] let r = 1 / irat
  496. 438.74 s [really-safe-money-gen] - in if r < 0
  497. 438.74 s [really-safe-money-gen] + in if False
  498. 438.74 s [really-safe-money-gen] then Nothing
  499. 438.74 s [really-safe-money-gen] else Just r
  500. 438.74 s [really-safe-money-gen]
  501. 438.74 s [really-safe-money-gen]
  502. 439.57 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/QuantisationFactor.hs:93:12-17:
  503. 439.57 s [really-safe-money-gen] @@ -90,7 +90,7 @@
  504. 439.57 s [really-safe-money-gen]
  505. 439.57 s [really-safe-money-gen] rat <-
  506. 439.57 s [really-safe-money-gen] let r = 1 / irat
  507. 439.57 s [really-safe-money-gen] - in if r < 0
  508. 439.57 s [really-safe-money-gen] + in if False
  509. 439.57 s [really-safe-money-gen] then Nothing
  510. 439.57 s [really-safe-money-gen] else Just r
  511. 439.57 s [really-safe-money-gen]
  512. 439.57 s [really-safe-money-gen]
  513. 440.37 s [really-safe-money-gen] Testing mutation Negate at src/Money/QuantisationFactor.hs:93:12-17:
  514. 440.37 s [really-safe-money-gen] @@ -90,7 +90,7 @@
  515. 440.37 s [really-safe-money-gen]
  516. 440.37 s [really-safe-money-gen] rat <-
  517. 440.37 s [really-safe-money-gen] let r = 1 / irat
  518. 440.37 s [really-safe-money-gen] - in if r < 0
  519. 440.37 s [really-safe-money-gen] + in if not (r < 0)
  520. 440.37 s [really-safe-money-gen] then Nothing
  521. 440.37 s [really-safe-money-gen] else Just r
  522. 440.37 s [really-safe-money-gen]
  523. 440.37 s [really-safe-money-gen]
  524. 441.03 s [really-safe-money-gen] Testing mutation CondFlip at src/Money/QuantisationFactor.hs:93:9-22:
  525. 441.03 s [really-safe-money-gen] @@ -90,7 +90,7 @@
  526. 441.03 s [really-safe-money-gen]
  527. 441.03 s [really-safe-money-gen] rat <-
  528. 441.03 s [really-safe-money-gen] let r = 1 / irat
  529. 441.03 s [really-safe-money-gen] - in if r < 0
  530. 441.03 s [really-safe-money-gen] + in if r < 0
  531. 441.03 s [really-safe-money-gen] then Nothing
  532. 441.03 s [really-safe-money-gen] else Just r
  533. 441.03 s [really-safe-money-gen]
  534. 441.03 s [really-safe-money-gen]
  535. 441.66 s [really-safe-money-gen] Testing mutation IntLit at src/Money/QuantisationFactor.hs:98:27-28:
  536. 441.66 s [really-safe-money-gen] @@ -95,7 +95,7 @@
  537. 441.66 s [really-safe-money-gen] else Just r
  538. 441.66 s [really-safe-money-gen]
  539. 441.66 s [really-safe-money-gen] fac <-
  540. 441.66 s [really-safe-money-gen] - if denominator rat == 1
  541. 441.66 s [really-safe-money-gen] + if denominator rat == -1
  542. 441.66 s [really-safe-money-gen] then Just (numerator rat)
  543. 441.66 s [really-safe-money-gen] else Nothing
  544. 441.66 s [really-safe-money-gen]
  545. 441.66 s [really-safe-money-gen]
  546. 441.80 s [really-safe-money-gen] Testing mutation IntLit at src/Money/QuantisationFactor.hs:98:27-28:
  547. 441.81 s [really-safe-money-gen] @@ -95,7 +95,7 @@
  548. 441.81 s [really-safe-money-gen] else Just r
  549. 441.81 s [really-safe-money-gen]
  550. 441.81 s [really-safe-money-gen] fac <-
  551. 441.81 s [really-safe-money-gen] - if denominator rat == 1
  552. 441.81 s [really-safe-money-gen] + if denominator rat == -1
  553. 441.81 s [really-safe-money-gen] then Just (numerator rat)
  554. 441.81 s [really-safe-money-gen] else Nothing
  555. 441.81 s [really-safe-money-gen]
  556. 441.81 s [really-safe-money-gen]
  557. 441.91 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/QuantisationFactor.hs:98:8-28:
  558. 441.91 s [really-safe-money-gen] @@ -95,7 +95,7 @@
  559. 441.91 s [really-safe-money-gen] else Just r
  560. 441.91 s [really-safe-money-gen]
  561. 441.91 s [really-safe-money-gen] fac <-
  562. 441.91 s [really-safe-money-gen] - if denominator rat == 1
  563. 441.91 s [really-safe-money-gen] + if False
  564. 441.91 s [really-safe-money-gen] then Just (numerator rat)
  565. 441.91 s [really-safe-money-gen] else Nothing
  566. 441.91 s [really-safe-money-gen]
  567. 441.91 s [really-safe-money-gen]
  568. 442.44 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/QuantisationFactor.hs:98:8-28:
  569. 442.44 s [really-safe-money-gen] @@ -95,7 +95,7 @@
  570. 442.44 s [really-safe-money-gen] else Just r
  571. 442.44 s [really-safe-money-gen]
  572. 442.44 s [really-safe-money-gen] fac <-
  573. 442.44 s [really-safe-money-gen] - if denominator rat == 1
  574. 442.44 s [really-safe-money-gen] + if False
  575. 442.44 s [really-safe-money-gen] then Just (numerator rat)
  576. 442.44 s [really-safe-money-gen] else Nothing
  577. 442.44 s [really-safe-money-gen]
  578. 442.44 s [really-safe-money-gen]
  579. 442.98 s [really-safe-money-gen] Testing mutation Negate at src/Money/QuantisationFactor.hs:98:8-28:
  580. 442.98 s [really-safe-money-gen] @@ -95,7 +95,7 @@
  581. 442.98 s [really-safe-money-gen] else Just r
  582. 442.98 s [really-safe-money-gen]
  583. 442.98 s [really-safe-money-gen] fac <-
  584. 442.98 s [really-safe-money-gen] - if denominator rat == 1
  585. 442.99 s [really-safe-money-gen] + if not (denominator rat == 1)
  586. 442.99 s [really-safe-money-gen] then Just (numerator rat)
  587. 442.99 s [really-safe-money-gen] else Nothing
  588. 442.99 s [really-safe-money-gen]
  589. 442.99 s [really-safe-money-gen]
  590. 443.50 s [really-safe-money-gen] Testing mutation CondFlip at src/Money/QuantisationFactor.hs:98:5-19:
  591. 443.54 s [really-safe-money-gen] @@ -95,7 +95,7 @@
  592. 443.54 s [really-safe-money-gen] else Just r
  593. 443.54 s [really-safe-money-gen]
  594. 443.54 s [really-safe-money-gen] fac <-
  595. 443.55 s [really-safe-money-gen] - if denominator rat == 1
  596. 443.55 s [really-safe-money-gen] + if denominator rat == 1
  597. 443.55 s [really-safe-money-gen] then Just (numerator rat)
  598. 443.55 s [really-safe-money-gen] else Nothing
  599. 443.55 s [really-safe-money-gen]
  600. 443.55 s [really-safe-money-gen]
  601. 444.06 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/QuantisationFactor.hs:102:6-46:
  602. 444.06 s [really-safe-money-gen] @@ -99,6 +99,6 @@
  603. 444.06 s [really-safe-money-gen] then Just (numerator rat)
  604. 444.06 s [really-safe-money-gen] else Nothing
  605. 444.06 s [really-safe-money-gen]
  606. 444.06 s [really-safe-money-gen] - if fac <= fromIntegral (maxBound :: Word32)
  607. 444.06 s [really-safe-money-gen] + if False
  608. 444.06 s [really-safe-money-gen] then Just (QuantisationFactor (fromIntegral fac))
  609. 444.06 s [really-safe-money-gen] else Nothing
  610. 444.06 s [really-safe-money-gen]
  611. 444.59 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/QuantisationFactor.hs:102:6-46:
  612. 444.59 s [really-safe-money-gen] @@ -99,6 +99,6 @@
  613. 444.59 s [really-safe-money-gen] then Just (numerator rat)
  614. 444.59 s [really-safe-money-gen] else Nothing
  615. 444.59 s [really-safe-money-gen]
  616. 444.59 s [really-safe-money-gen] - if fac <= fromIntegral (maxBound :: Word32)
  617. 444.59 s [really-safe-money-gen] + if False
  618. 444.59 s [really-safe-money-gen] then Just (QuantisationFactor (fromIntegral fac))
  619. 444.59 s [really-safe-money-gen] else Nothing
  620. 444.59 s [really-safe-money-gen]
  621. 445.11 s [really-safe-money-gen] Testing mutation Negate at src/Money/QuantisationFactor.hs:102:6-46:
  622. 445.11 s [really-safe-money-gen] @@ -99,6 +99,6 @@
  623. 445.11 s [really-safe-money-gen] then Just (numerator rat)
  624. 445.11 s [really-safe-money-gen] else Nothing
  625. 445.11 s [really-safe-money-gen]
  626. 445.11 s [really-safe-money-gen] - if fac <= fromIntegral (maxBound :: Word32)
  627. 445.11 s [really-safe-money-gen] + if not (fac <= fromIntegral (maxBound :: Word32))
  628. 445.11 s [really-safe-money-gen] then Just (QuantisationFactor (fromIntegral fac))
  629. 445.11 s [really-safe-money-gen] else Nothing
  630. 445.11 s [really-safe-money-gen]
  631. 445.64 s [really-safe-money-gen] Testing mutation IntLit at src/Money/QuantisationFactor.hs:67:67-68:
  632. 445.64 s [really-safe-money-gen] @@ -64,7 +64,7 @@
  633. 445.64 s [really-safe-money-gen] -- Just (DecimalLiteral Nothing 1 0)
  634. 445.64 s [really-safe-money-gen] toDecimalLiteral :: QuantisationFactor -> Maybe DecimalLiteral
  635. 445.64 s [really-safe-money-gen] toDecimalLiteral (QuantisationFactor qfw) =
  636. 445.64 s [really-safe-money-gen] - DecimalLiteral.setSignOptional <$> DecimalLiteral.fromRational (1 % fromIntegral qfw)
  637. 445.64 s [really-safe-money-gen] + DecimalLiteral.setSignOptional <$> DecimalLiteral.fromRational (-1 % fromIntegral qfw)
  638. 445.64 s [really-safe-money-gen]
  639. 445.64 s [really-safe-money-gen] -- | Parse a 'QuantisationFactor' from a 'DecimalLiteral' that represents the smallest unit
  640. 445.64 s [really-safe-money-gen] -- TODO explain that it's the inverse.
  641. 445.64 s [really-safe-money-gen]
  642. 446.17 s [really-safe-money-gen] Testing mutation IntLit at src/Money/QuantisationFactor.hs:67:67-68:
  643. 446.17 s [really-safe-money-gen] @@ -64,7 +64,7 @@
  644. 446.17 s [really-safe-money-gen] -- Just (DecimalLiteral Nothing 1 0)
  645. 446.17 s [really-safe-money-gen] toDecimalLiteral :: QuantisationFactor -> Maybe DecimalLiteral
  646. 446.17 s [really-safe-money-gen] toDecimalLiteral (QuantisationFactor qfw) =
  647. 446.17 s [really-safe-money-gen] - DecimalLiteral.setSignOptional <$> DecimalLiteral.fromRational (1 % fromIntegral qfw)
  648. 446.17 s [really-safe-money-gen] + DecimalLiteral.setSignOptional <$> DecimalLiteral.fromRational (-1 % fromIntegral qfw)
  649. 446.17 s [really-safe-money-gen]
  650. 446.17 s [really-safe-money-gen] -- | Parse a 'QuantisationFactor' from a 'DecimalLiteral' that represents the smallest unit
  651. 446.17 s [really-safe-money-gen] -- TODO explain that it's the inverse.
  652. 446.17 s [really-safe-money-gen]
  653. 446.68 s [really-safe-money-gen] Testing mutation IntLit at src/Money/QuantisationFactor.hs:40:62-63:
  654. 446.68 s [really-safe-money-gen] @@ -37,7 +37,7 @@
  655. 446.68 s [really-safe-money-gen] validate qf@(QuantisationFactor w) =
  656. 446.68 s [really-safe-money-gen] mconcat
  657. 446.68 s [really-safe-money-gen] [ genericValidate qf,
  658. 446.68 s [really-safe-money-gen] - declare "The quantisation factor is not zero" $ w /= 0
  659. 446.68 s [really-safe-money-gen] + declare "The quantisation factor is not zero" $ w /= 1
  660. 446.68 s [really-safe-money-gen] ]
  661. 446.68 s [really-safe-money-gen]
  662. 446.68 s [really-safe-money-gen] instance NFData QuantisationFactor
  663. 446.68 s [really-safe-money-gen]
  664. 446.70 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/QuantisationFactor.hs:40:57-63:
  665. 446.70 s [really-safe-money-gen] @@ -37,7 +37,7 @@
  666. 446.70 s [really-safe-money-gen] validate qf@(QuantisationFactor w) =
  667. 446.70 s [really-safe-money-gen] mconcat
  668. 446.70 s [really-safe-money-gen] [ genericValidate qf,
  669. 446.70 s [really-safe-money-gen] - declare "The quantisation factor is not zero" $ w /= 0
  670. 446.70 s [really-safe-money-gen] + declare "The quantisation factor is not zero" $ False
  671. 446.70 s [really-safe-money-gen] ]
  672. 446.70 s [really-safe-money-gen]
  673. 446.70 s [really-safe-money-gen] instance NFData QuantisationFactor
  674. 446.70 s [really-safe-money-gen]
  675. 447.57 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/QuantisationFactor.hs:40:57-63:
  676. 447.57 s [really-safe-money-gen] @@ -37,7 +37,7 @@
  677. 447.57 s [really-safe-money-gen] validate qf@(QuantisationFactor w) =
  678. 447.57 s [really-safe-money-gen] mconcat
  679. 447.57 s [really-safe-money-gen] [ genericValidate qf,
  680. 447.57 s [really-safe-money-gen] - declare "The quantisation factor is not zero" $ w /= 0
  681. 447.57 s [really-safe-money-gen] + declare "The quantisation factor is not zero" $ False
  682. 447.57 s [really-safe-money-gen] ]
  683. 447.57 s [really-safe-money-gen]
  684. 447.57 s [really-safe-money-gen] instance NFData QuantisationFactor
  685. 447.57 s [really-safe-money-gen]
  686. 448.43 s [really-safe-money-gen] Testing mutation Negate at src/Money/QuantisationFactor.hs:40:57-63:
  687. 448.43 s [really-safe-money-gen] @@ -37,7 +37,7 @@
  688. 448.43 s [really-safe-money-gen] validate qf@(QuantisationFactor w) =
  689. 448.43 s [really-safe-money-gen] mconcat
  690. 448.43 s [really-safe-money-gen] [ genericValidate qf,
  691. 448.43 s [really-safe-money-gen] - declare "The quantisation factor is not zero" $ w /= 0
  692. 448.43 s [really-safe-money-gen] + declare "The quantisation factor is not zero" $ not (w /= 0)
  693. 448.43 s [really-safe-money-gen] ]
  694. 448.43 s [really-safe-money-gen]
  695. 448.43 s [really-safe-money-gen] instance NFData QuantisationFactor
  696. 448.43 s [really-safe-money-gen]
  697. 448.52 s [really-safe-money-gen] Testing mutation ListLit at src/Money/QuantisationFactor.hs:39:7-8:
  698. 448.52 s [really-safe-money-gen] @@ -36,7 +36,7 @@
  699. 448.54 s [really-safe-money-gen] instance Validity QuantisationFactor where
  700. 448.54 s [really-safe-money-gen] validate qf@(QuantisationFactor w) =
  701. 448.54 s [really-safe-money-gen] mconcat
  702. 448.54 s [really-safe-money-gen] - [ genericValidate qf,
  703. 448.54 s [really-safe-money-gen] + [ genericValidate qf,
  704. 448.54 s [really-safe-money-gen] declare "The quantisation factor is not zero" $ w /= 0
  705. 448.54 s [really-safe-money-gen] ]
  706. 448.54 s [really-safe-money-gen]
  707. 448.54 s [really-safe-money-gen]
  708. 449.27 s [really-safe-money-gen] Testing mutation ListLit at src/Money/QuantisationFactor.hs:39:7-8:
  709. 449.27 s [really-safe-money-gen] @@ -36,7 +36,7 @@
  710. 449.27 s [really-safe-money-gen] instance Validity QuantisationFactor where
  711. 449.27 s [really-safe-money-gen] validate qf@(QuantisationFactor w) =
  712. 449.27 s [really-safe-money-gen] mconcat
  713. 449.27 s [really-safe-money-gen] - [ genericValidate qf,
  714. 449.27 s [really-safe-money-gen] + [ genericValidate qf,
  715. 449.27 s [really-safe-money-gen] declare "The quantisation factor is not zero" $ w /= 0
  716. 449.27 s [really-safe-money-gen] ]
  717. 449.27 s [really-safe-money-gen]
  718. 449.27 s [really-safe-money-gen]
  719. 450.02 s [really-safe-money-gen] Testing mutation IntLit at src/Money/Amount.hs:801:36-38:
  720. 450.02 s [really-safe-money-gen] @@ -798,7 +798,7 @@
  721. 450.02 s [really-safe-money-gen] quantisationFactorFormatString (QuantisationFactor 0) = "%f"
  722. 450.02 s [really-safe-money-gen] quantisationFactorFormatString (QuantisationFactor qf) =
  723. 450.02 s [really-safe-money-gen] let decimals :: Int
  724. 450.02 s [really-safe-money-gen] - decimals = ceiling $ logBase 10 (fromIntegral qf :: Float)
  725. 450.02 s [really-safe-money-gen] + decimals = ceiling $ logBase -10 (fromIntegral qf :: Float)
  726. 450.02 s [really-safe-money-gen] in printf "%%0.%df" decimals
  727. 450.02 s [really-safe-money-gen]
  728. 450.02 s [really-safe-money-gen] -- | Validate that an 'Amount' is strictly positive. I.e. not 'zero'.
  729. 450.02 s [really-safe-money-gen]
  730. 450.10 s [really-safe-money-gen] Testing mutation IntLit at src/Money/Amount.hs:801:36-38:
  731. 450.10 s [really-safe-money-gen] @@ -798,7 +798,7 @@
  732. 450.10 s [really-safe-money-gen] quantisationFactorFormatString (QuantisationFactor 0) = "%f"
  733. 450.10 s [really-safe-money-gen] quantisationFactorFormatString (QuantisationFactor qf) =
  734. 450.10 s [really-safe-money-gen] let decimals :: Int
  735. 450.10 s [really-safe-money-gen] - decimals = ceiling $ logBase 10 (fromIntegral qf :: Float)
  736. 450.11 s [really-safe-money-gen] + decimals = ceiling $ logBase -10 (fromIntegral qf :: Float)
  737. 450.11 s [really-safe-money-gen] in printf "%%0.%df" decimals
  738. 450.11 s [really-safe-money-gen]
  739. 450.11 s [really-safe-money-gen] -- | Validate that an 'Amount' is strictly positive. I.e. not 'zero'.
  740. 450.11 s [really-safe-money-gen]
  741. 450.18 s [really-safe-money-gen] Testing mutation IntLit at src/Money/Amount.hs:801:36-38:
  742. 450.18 s [really-safe-money-gen] @@ -798,7 +798,7 @@
  743. 450.18 s [really-safe-money-gen] quantisationFactorFormatString (QuantisationFactor 0) = "%f"
  744. 450.18 s [really-safe-money-gen] quantisationFactorFormatString (QuantisationFactor qf) =
  745. 450.18 s [really-safe-money-gen] let decimals :: Int
  746. 450.18 s [really-safe-money-gen] - decimals = ceiling $ logBase 10 (fromIntegral qf :: Float)
  747. 450.18 s [really-safe-money-gen] + decimals = ceiling $ logBase -10 (fromIntegral qf :: Float)
  748. 450.18 s [really-safe-money-gen] in printf "%%0.%df" decimals
  749. 450.18 s [really-safe-money-gen]
  750. 450.18 s [really-safe-money-gen] -- | Validate that an 'Amount' is strictly positive. I.e. not 'zero'.
  751. 450.18 s [really-safe-money-gen]
  752. 450.26 s [really-safe-money-gen] Testing mutation IntLit at src/Money/Amount.hs:569:18-19:
  753. 450.26 s [really-safe-money-gen] @@ -566,7 +566,7 @@
  754. 450.26 s [really-safe-money-gen] (smallerChunkSize, rest) = divMod a ((fromIntegral :: Word32 -> Word64) f)
  755. 450.26 s [really-safe-money-gen] smallerChunk :: Amount
  756. 450.26 s [really-safe-money-gen] smallerChunk = Amount smallerChunkSize
  757. 450.26 s [really-safe-money-gen] - in if rest == 0
  758. 450.26 s [really-safe-money-gen] + in if rest == 1
  759. 450.26 s [really-safe-money-gen] then DistributedIntoEqualChunks f smallerChunk
  760. 450.26 s [really-safe-money-gen] else
  761. 450.26 s [really-safe-money-gen] let -- This 'fromIntegral' is theoretically not safe, but it's
  762. 450.26 s [really-safe-money-gen]
  763. 450.26 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:569:10-19:
  764. 450.26 s [really-safe-money-gen] @@ -566,7 +566,7 @@
  765. 450.26 s [really-safe-money-gen] (smallerChunkSize, rest) = divMod a ((fromIntegral :: Word32 -> Word64) f)
  766. 450.26 s [really-safe-money-gen] smallerChunk :: Amount
  767. 450.26 s [really-safe-money-gen] smallerChunk = Amount smallerChunkSize
  768. 450.26 s [really-safe-money-gen] - in if rest == 0
  769. 450.26 s [really-safe-money-gen] + in if False
  770. 450.26 s [really-safe-money-gen] then DistributedIntoEqualChunks f smallerChunk
  771. 450.26 s [really-safe-money-gen] else
  772. 450.26 s [really-safe-money-gen] let -- This 'fromIntegral' is theoretically not safe, but it's
  773. 450.26 s [really-safe-money-gen]
  774. 450.54 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:569:10-19:
  775. 450.54 s [really-safe-money-gen] @@ -566,7 +566,7 @@
  776. 450.54 s [really-safe-money-gen] (smallerChunkSize, rest) = divMod a ((fromIntegral :: Word32 -> Word64) f)
  777. 450.54 s [really-safe-money-gen] smallerChunk :: Amount
  778. 450.54 s [really-safe-money-gen] smallerChunk = Amount smallerChunkSize
  779. 450.54 s [really-safe-money-gen] - in if rest == 0
  780. 450.54 s [really-safe-money-gen] + in if False
  781. 450.54 s [really-safe-money-gen] then DistributedIntoEqualChunks f smallerChunk
  782. 450.54 s [really-safe-money-gen] else
  783. 450.54 s [really-safe-money-gen] let -- This 'fromIntegral' is theoretically not safe, but it's
  784. 450.54 s [really-safe-money-gen]
  785. 450.80 s [really-safe-money-gen] Testing mutation Negate at src/Money/Amount.hs:569:10-19:
  786. 450.80 s [really-safe-money-gen] @@ -566,7 +566,7 @@
  787. 450.80 s [really-safe-money-gen] (smallerChunkSize, rest) = divMod a ((fromIntegral :: Word32 -> Word64) f)
  788. 450.80 s [really-safe-money-gen] smallerChunk :: Amount
  789. 450.80 s [really-safe-money-gen] smallerChunk = Amount smallerChunkSize
  790. 450.80 s [really-safe-money-gen] - in if rest == 0
  791. 450.80 s [really-safe-money-gen] + in if not (rest == 0)
  792. 450.80 s [really-safe-money-gen] then DistributedIntoEqualChunks f smallerChunk
  793. 450.80 s [really-safe-money-gen] else
  794. 450.80 s [really-safe-money-gen] let -- This 'fromIntegral' is theoretically not safe, but it's
  795. 450.80 s [really-safe-money-gen]
  796. 451.07 s [really-safe-money-gen] Testing mutation CondFlip at src/Money/Amount.hs:569:7-29:
  797. 451.07 s [really-safe-money-gen] @@ -566,7 +566,7 @@
  798. 451.07 s [really-safe-money-gen] (smallerChunkSize, rest) = divMod a ((fromIntegral :: Word32 -> Word64) f)
  799. 451.07 s [really-safe-money-gen] smallerChunk :: Amount
  800. 451.07 s [really-safe-money-gen] smallerChunk = Amount smallerChunkSize
  801. 451.07 s [really-safe-money-gen] - in if rest == 0
  802. 451.07 s [really-safe-money-gen] + in if rest == 0
  803. 451.07 s [really-safe-money-gen] then DistributedIntoEqualChunks f smallerChunk
  804. 451.07 s [really-safe-money-gen] else
  805. 451.07 s [really-safe-money-gen] let -- This 'fromIntegral' is theoretically not safe, but it's
  806. 451.07 s [really-safe-money-gen]
  807. 451.34 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:544:10-23:
  808. 451.34 s [really-safe-money-gen] @@ -541,7 +541,7 @@
  809. 451.34 s [really-safe-money-gen] maxBoundI = (fromIntegral :: Word64 -> Integer) (maxBound :: Word64)
  810. 451.34 s [really-safe-money-gen] r :: Integer
  811. 451.34 s [really-safe-money-gen] r = (fromIntegral :: Word32 -> Integer) f * (fromIntegral :: Word64 -> Integer) a
  812. 451.34 s [really-safe-money-gen] - in if r > maxBoundI
  813. 451.34 s [really-safe-money-gen] + in if False
  814. 451.34 s [really-safe-money-gen] then Nothing
  815. 451.34 s [really-safe-money-gen] else Just (Amount ((fromInteger :: Integer -> Word64) r))
  816. 451.34 s [really-safe-money-gen]
  817. 451.34 s [really-safe-money-gen]
  818. 452.07 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:544:10-23:
  819. 452.07 s [really-safe-money-gen] @@ -541,7 +541,7 @@
  820. 452.07 s [really-safe-money-gen] maxBoundI = (fromIntegral :: Word64 -> Integer) (maxBound :: Word64)
  821. 452.07 s [really-safe-money-gen] r :: Integer
  822. 452.07 s [really-safe-money-gen] r = (fromIntegral :: Word32 -> Integer) f * (fromIntegral :: Word64 -> Integer) a
  823. 452.07 s [really-safe-money-gen] - in if r > maxBoundI
  824. 452.07 s [really-safe-money-gen] + in if False
  825. 452.07 s [really-safe-money-gen] then Nothing
  826. 452.07 s [really-safe-money-gen] else Just (Amount ((fromInteger :: Integer -> Word64) r))
  827. 452.07 s [really-safe-money-gen]
  828. 452.07 s [really-safe-money-gen]
  829. 452.84 s [really-safe-money-gen] Testing mutation Negate at src/Money/Amount.hs:544:10-23:
  830. 452.84 s [really-safe-money-gen] @@ -541,7 +541,7 @@
  831. 452.84 s [really-safe-money-gen] maxBoundI = (fromIntegral :: Word64 -> Integer) (maxBound :: Word64)
  832. 452.84 s [really-safe-money-gen] r :: Integer
  833. 452.84 s [really-safe-money-gen] r = (fromIntegral :: Word32 -> Integer) f * (fromIntegral :: Word64 -> Integer) a
  834. 452.84 s [really-safe-money-gen] - in if r > maxBoundI
  835. 452.84 s [really-safe-money-gen] + in if not (r > maxBoundI)
  836. 452.84 s [really-safe-money-gen] then Nothing
  837. 452.84 s [really-safe-money-gen] else Just (Amount ((fromInteger :: Integer -> Word64) r))
  838. 452.84 s [really-safe-money-gen]
  839. 452.84 s [really-safe-money-gen]
  840. 453.84 s [really-safe-money-gen] Testing mutation CondFlip at src/Money/Amount.hs:544:7-66:
  841. 453.84 s [really-safe-money-gen] @@ -541,7 +541,7 @@
  842. 453.84 s [really-safe-money-gen] maxBoundI = (fromIntegral :: Word64 -> Integer) (maxBound :: Word64)
  843. 453.88 s [really-safe-money-gen] r :: Integer
  844. 453.88 s [really-safe-money-gen] r = (fromIntegral :: Word32 -> Integer) f * (fromIntegral :: Word64 -> Integer) a
  845. 453.88 s [really-safe-money-gen] - in if r > maxBoundI
  846. 453.88 s [really-safe-money-gen] + in if r > maxBoundI
  847. 453.88 s [really-safe-money-gen] then Nothing
  848. 453.88 s [really-safe-money-gen] else Just (Amount ((fromInteger :: Integer -> Word64) r))
  849. 453.88 s [really-safe-money-gen]
  850. 453.88 s [really-safe-money-gen]
  851. 454.85 s [really-safe-money-gen] Testing mutation IntLit at src/Money/Amount.hs:518:14-15:
  852. 454.85 s [really-safe-money-gen] @@ -515,7 +515,7 @@
  853. 454.85 s [really-safe-money-gen] i2 = (fromIntegral :: Word64 -> Integer) a2
  854. 454.85 s [really-safe-money-gen] r :: Integer
  855. 454.85 s [really-safe-money-gen] r = i1 - i2
  856. 454.85 s [really-safe-money-gen] - in if r < 0
  857. 454.85 s [really-safe-money-gen] + in if r < 1
  858. 454.85 s [really-safe-money-gen] then Nothing
  859. 454.85 s [really-safe-money-gen] else Just (Amount ((fromInteger :: Integer -> Word64) r))
  860. 454.85 s [really-safe-money-gen]
  861. 454.85 s [really-safe-money-gen]
  862. 454.86 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:518:10-15:
  863. 454.86 s [really-safe-money-gen] @@ -515,7 +515,7 @@
  864. 454.86 s [really-safe-money-gen] i2 = (fromIntegral :: Word64 -> Integer) a2
  865. 454.86 s [really-safe-money-gen] r :: Integer
  866. 454.86 s [really-safe-money-gen] r = i1 - i2
  867. 454.86 s [really-safe-money-gen] - in if r < 0
  868. 454.86 s [really-safe-money-gen] + in if False
  869. 454.86 s [really-safe-money-gen] then Nothing
  870. 454.86 s [really-safe-money-gen] else Just (Amount ((fromInteger :: Integer -> Word64) r))
  871. 454.86 s [really-safe-money-gen]
  872. 454.86 s [really-safe-money-gen]
  873. 454.94 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:518:10-15:
  874. 454.94 s [really-safe-money-gen] @@ -515,7 +515,7 @@
  875. 454.94 s [really-safe-money-gen] i2 = (fromIntegral :: Word64 -> Integer) a2
  876. 454.94 s [really-safe-money-gen] r :: Integer
  877. 454.94 s [really-safe-money-gen] r = i1 - i2
  878. 454.94 s [really-safe-money-gen] - in if r < 0
  879. 454.95 s [really-safe-money-gen] + in if False
  880. 454.95 s [really-safe-money-gen] then Nothing
  881. 454.95 s [really-safe-money-gen] else Just (Amount ((fromInteger :: Integer -> Word64) r))
  882. 454.95 s [really-safe-money-gen]
  883. 454.95 s [really-safe-money-gen]
  884. 455.03 s [really-safe-money-gen] Testing mutation Negate at src/Money/Amount.hs:518:10-15:
  885. 455.03 s [really-safe-money-gen] @@ -515,7 +515,7 @@
  886. 455.03 s [really-safe-money-gen] i2 = (fromIntegral :: Word64 -> Integer) a2
  887. 455.03 s [really-safe-money-gen] r :: Integer
  888. 455.03 s [really-safe-money-gen] r = i1 - i2
  889. 455.03 s [really-safe-money-gen] - in if r < 0
  890. 455.03 s [really-safe-money-gen] + in if not (r < 0)
  891. 455.03 s [really-safe-money-gen] then Nothing
  892. 455.03 s [really-safe-money-gen] else Just (Amount ((fromInteger :: Integer -> Word64) r))
  893. 455.03 s [really-safe-money-gen]
  894. 455.03 s [really-safe-money-gen]
  895. 455.16 s [really-safe-money-gen] Testing mutation CondFlip at src/Money/Amount.hs:518:7-66:
  896. 455.16 s [really-safe-money-gen] @@ -515,7 +515,7 @@
  897. 455.16 s [really-safe-money-gen] i2 = (fromIntegral :: Word64 -> Integer) a2
  898. 455.16 s [really-safe-money-gen] r :: Integer
  899. 455.16 s [really-safe-money-gen] r = i1 - i2
  900. 455.16 s [really-safe-money-gen] - in if r < 0
  901. 455.16 s [really-safe-money-gen] + in if r < 0
  902. 455.16 s [really-safe-money-gen] then Nothing
  903. 455.16 s [really-safe-money-gen] else Just (Amount ((fromInteger :: Integer -> Word64) r))
  904. 455.16 s [really-safe-money-gen]
  905. 455.16 s [really-safe-money-gen]
  906. 455.32 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:476:10-23:
  907. 455.32 s [really-safe-money-gen] @@ -473,7 +473,7 @@
  908. 455.32 s [really-safe-money-gen] maxBoundI = fromIntegral (maxBound :: Word64)
  909. 455.32 s [really-safe-money-gen] r :: Integer
  910. 455.32 s [really-safe-money-gen] r = i1 + i2
  911. 455.32 s [really-safe-money-gen] - in if r > maxBoundI
  912. 455.32 s [really-safe-money-gen] + in if False
  913. 455.32 s [really-safe-money-gen] then Nothing
  914. 455.32 s [really-safe-money-gen] else Just (Amount ((fromInteger :: Integer -> Word64) r))
  915. 455.32 s [really-safe-money-gen]
  916. 455.32 s [really-safe-money-gen]
  917. 460.21 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:476:10-23:
  918. 460.23 s [really-safe-money-gen] @@ -473,7 +473,7 @@
  919. 460.23 s [really-safe-money-gen] maxBoundI = fromIntegral (maxBound :: Word64)
  920. 460.23 s [really-safe-money-gen] r :: Integer
  921. 460.23 s [really-safe-money-gen] r = i1 + i2
  922. 460.23 s [really-safe-money-gen] - in if r > maxBoundI
  923. 460.23 s [really-safe-money-gen] + in if False
  924. 460.23 s [really-safe-money-gen] then Nothing
  925. 460.23 s [really-safe-money-gen] else Just (Amount ((fromInteger :: Integer -> Word64) r))
  926. 460.23 s [really-safe-money-gen]
  927. 460.23 s [really-safe-money-gen]
  928. 465.17 s [really-safe-money-gen] Testing mutation Negate at src/Money/Amount.hs:476:10-23:
  929. 465.17 s [really-safe-money-gen] @@ -473,7 +473,7 @@
  930. 465.17 s [really-safe-money-gen] maxBoundI = fromIntegral (maxBound :: Word64)
  931. 465.17 s [really-safe-money-gen] r :: Integer
  932. 465.17 s [really-safe-money-gen] r = i1 + i2
  933. 465.17 s [really-safe-money-gen] - in if r > maxBoundI
  934. 465.17 s [really-safe-money-gen] + in if not (r > maxBoundI)
  935. 465.17 s [really-safe-money-gen] then Nothing
  936. 465.17 s [really-safe-money-gen] else Just (Amount ((fromInteger :: Integer -> Word64) r))
  937. 465.17 s [really-safe-money-gen]
  938. 465.17 s [really-safe-money-gen]
  939. 469.90 s [really-safe-money-gen] Testing mutation CondFlip at src/Money/Amount.hs:476:7-66:
  940. 469.96 s [really-safe-money-gen] @@ -473,7 +473,7 @@
  941. 469.96 s [really-safe-money-gen] maxBoundI = fromIntegral (maxBound :: Word64)
  942. 469.96 s [really-safe-money-gen] r :: Integer
  943. 469.96 s [really-safe-money-gen] r = i1 + i2
  944. 469.96 s [really-safe-money-gen] - in if r > maxBoundI
  945. 469.96 s [really-safe-money-gen] + in if r > maxBoundI
  946. 469.96 s [really-safe-money-gen] then Nothing
  947. 469.96 s [really-safe-money-gen] else Just (Amount ((fromInteger :: Integer -> Word64) r))
  948. 469.96 s [really-safe-money-gen]
  949. 469.96 s [really-safe-money-gen]
  950. 473.73 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:388:5-16:
  951. 473.73 s [really-safe-money-gen] @@ -385,7 +385,7 @@
  952. 473.73 s [really-safe-money-gen] -- Nothing
  953. 473.73 s [really-safe-money-gen] fromRational :: QuantisationFactor -> Rational -> Maybe Amount
  954. 473.73 s [really-safe-money-gen] fromRational (QuantisationFactor qf) r
  955. 473.73 s [really-safe-money-gen] - | isInvalid r = Nothing
  956. 473.73 s [really-safe-money-gen] + | False = Nothing
  957. 473.73 s [really-safe-money-gen] | r < 0 = Nothing
  958. 473.73 s [really-safe-money-gen] | otherwise =
  959. 473.73 s [really-safe-money-gen] let resultRational :: Rational
  960. 473.73 s [really-safe-money-gen]
  961. 475.26 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:388:5-16:
  962. 475.26 s [really-safe-money-gen] @@ -385,7 +385,7 @@
  963. 475.28 s [really-safe-money-gen] -- Nothing
  964. 475.28 s [really-safe-money-gen] fromRational :: QuantisationFactor -> Rational -> Maybe Amount
  965. 475.28 s [really-safe-money-gen] fromRational (QuantisationFactor qf) r
  966. 475.28 s [really-safe-money-gen] - | isInvalid r = Nothing
  967. 475.28 s [really-safe-money-gen] + | False = Nothing
  968. 475.28 s [really-safe-money-gen] | r < 0 = Nothing
  969. 475.28 s [really-safe-money-gen] | otherwise =
  970. 475.28 s [really-safe-money-gen] let resultRational :: Rational
  971. 475.28 s [really-safe-money-gen]
  972. 476.81 s [really-safe-money-gen] Testing mutation Negate at src/Money/Amount.hs:388:5-16:
  973. 476.81 s [really-safe-money-gen] @@ -385,7 +385,7 @@
  974. 476.81 s [really-safe-money-gen] -- Nothing
  975. 476.81 s [really-safe-money-gen] fromRational :: QuantisationFactor -> Rational -> Maybe Amount
  976. 476.81 s [really-safe-money-gen] fromRational (QuantisationFactor qf) r
  977. 476.81 s [really-safe-money-gen] - | isInvalid r = Nothing
  978. 476.81 s [really-safe-money-gen] + | not (isInvalid r) = Nothing
  979. 476.81 s [really-safe-money-gen] | r < 0 = Nothing
  980. 476.81 s [really-safe-money-gen] | otherwise =
  981. 476.81 s [really-safe-money-gen] let resultRational :: Rational
  982. 476.81 s [really-safe-money-gen]
  983. 478.64 s [really-safe-money-gen] Testing mutation IntLit at src/Money/Amount.hs:389:9-10:
  984. 478.64 s [really-safe-money-gen] @@ -386,7 +386,7 @@
  985. 478.64 s [really-safe-money-gen] fromRational :: QuantisationFactor -> Rational -> Maybe Amount
  986. 478.64 s [really-safe-money-gen] fromRational (QuantisationFactor qf) r
  987. 478.64 s [really-safe-money-gen] | isInvalid r = Nothing
  988. 478.64 s [really-safe-money-gen] - | r < 0 = Nothing
  989. 478.64 s [really-safe-money-gen] + | r < 1 = Nothing
  990. 478.64 s [really-safe-money-gen] | otherwise =
  991. 478.64 s [really-safe-money-gen] let resultRational :: Rational
  992. 478.64 s [really-safe-money-gen] resultRational = r * (fromIntegral :: Word32 -> Rational) qf
  993. 478.64 s [really-safe-money-gen]
  994. 478.77 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:389:5-10:
  995. 478.77 s [really-safe-money-gen] @@ -386,7 +386,7 @@
  996. 478.77 s [really-safe-money-gen] fromRational :: QuantisationFactor -> Rational -> Maybe Amount
  997. 478.77 s [really-safe-money-gen] fromRational (QuantisationFactor qf) r
  998. 478.77 s [really-safe-money-gen] | isInvalid r = Nothing
  999. 478.77 s [really-safe-money-gen] - | r < 0 = Nothing
  1000. 478.77 s [really-safe-money-gen] + | False = Nothing
  1001. 478.77 s [really-safe-money-gen] | otherwise =
  1002. 478.77 s [really-safe-money-gen] let resultRational :: Rational
  1003. 478.77 s [really-safe-money-gen] resultRational = r * (fromIntegral :: Word32 -> Rational) qf
  1004. 478.77 s [really-safe-money-gen]
  1005. 480.62 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:389:5-10:
  1006. 480.64 s [really-safe-money-gen] @@ -386,7 +386,7 @@
  1007. 480.64 s [really-safe-money-gen] fromRational :: QuantisationFactor -> Rational -> Maybe Amount
  1008. 480.65 s [really-safe-money-gen] fromRational (QuantisationFactor qf) r
  1009. 480.65 s [really-safe-money-gen] | isInvalid r = Nothing
  1010. 480.65 s [really-safe-money-gen] - | r < 0 = Nothing
  1011. 480.65 s [really-safe-money-gen] + | False = Nothing
  1012. 480.65 s [really-safe-money-gen] | otherwise =
  1013. 480.65 s [really-safe-money-gen] let resultRational :: Rational
  1014. 480.65 s [really-safe-money-gen] resultRational = r * (fromIntegral :: Word32 -> Rational) qf
  1015. 480.65 s [really-safe-money-gen]
  1016. 482.45 s [really-safe-money-gen] Testing mutation Negate at src/Money/Amount.hs:389:5-10:
  1017. 482.45 s [really-safe-money-gen] @@ -386,7 +386,7 @@
  1018. 482.45 s [really-safe-money-gen] fromRational :: QuantisationFactor -> Rational -> Maybe Amount
  1019. 482.45 s [really-safe-money-gen] fromRational (QuantisationFactor qf) r
  1020. 482.45 s [really-safe-money-gen] | isInvalid r = Nothing
  1021. 482.45 s [really-safe-money-gen] - | r < 0 = Nothing
  1022. 482.45 s [really-safe-money-gen] + | not (r < 0) = Nothing
  1023. 482.45 s [really-safe-money-gen] | otherwise =
  1024. 482.45 s [really-safe-money-gen] let resultRational :: Rational
  1025. 482.45 s [really-safe-money-gen] resultRational = r * (fromIntegral :: Word32 -> Rational) qf
  1026. 482.45 s [really-safe-money-gen]
  1027. 484.09 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:390:5-14:
  1028. 484.09 s [really-safe-money-gen] @@ -387,7 +387,7 @@
  1029. 484.09 s [really-safe-money-gen] fromRational (QuantisationFactor qf) r
  1030. 484.09 s [really-safe-money-gen] | isInvalid r = Nothing
  1031. 484.09 s [really-safe-money-gen] | r < 0 = Nothing
  1032. 484.09 s [really-safe-money-gen] - | otherwise =
  1033. 484.09 s [really-safe-money-gen] + | False =
  1034. 484.09 s [really-safe-money-gen] let resultRational :: Rational
  1035. 484.09 s [really-safe-money-gen] resultRational = r * (fromIntegral :: Word32 -> Rational) qf
  1036. 484.09 s [really-safe-money-gen] ceiled :: Natural
  1037. 484.09 s [really-safe-money-gen]
  1038. 484.22 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:390:5-14:
  1039. 484.22 s [really-safe-money-gen] @@ -387,7 +387,7 @@
  1040. 484.22 s [really-safe-money-gen] fromRational (QuantisationFactor qf) r
  1041. 484.22 s [really-safe-money-gen] | isInvalid r = Nothing
  1042. 484.22 s [really-safe-money-gen] | r < 0 = Nothing
  1043. 484.22 s [really-safe-money-gen] - | otherwise =
  1044. 484.22 s [really-safe-money-gen] + | False =
  1045. 484.22 s [really-safe-money-gen] let resultRational :: Rational
  1046. 484.22 s [really-safe-money-gen] resultRational = r * (fromIntegral :: Word32 -> Rational) qf
  1047. 484.22 s [really-safe-money-gen] ceiled :: Natural
  1048. 484.22 s [really-safe-money-gen]
  1049. 484.36 s [really-safe-money-gen] Testing mutation Negate at src/Money/Amount.hs:390:5-14:
  1050. 484.36 s [really-safe-money-gen] @@ -387,7 +387,7 @@
  1051. 484.36 s [really-safe-money-gen] fromRational (QuantisationFactor qf) r
  1052. 484.36 s [really-safe-money-gen] | isInvalid r = Nothing
  1053. 484.36 s [really-safe-money-gen] | r < 0 = Nothing
  1054. 484.36 s [really-safe-money-gen] - | otherwise =
  1055. 484.36 s [really-safe-money-gen] + | not (otherwise) =
  1056. 484.36 s [really-safe-money-gen] let resultRational :: Rational
  1057. 484.36 s [really-safe-money-gen] resultRational = r * (fromIntegral :: Word32 -> Rational) qf
  1058. 484.36 s [really-safe-money-gen] ceiled :: Natural
  1059. 484.36 s [really-safe-money-gen]
  1060. 484.48 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:397:14-31:
  1061. 484.48 s [really-safe-money-gen] @@ -394,7 +394,7 @@
  1062. 484.48 s [really-safe-money-gen] ceiled = (ceiling :: Rational -> Natural) resultRational
  1063. 484.48 s [really-safe-money-gen] floored :: Natural
  1064. 484.48 s [really-safe-money-gen] floored = (floor :: Rational -> Natural) resultRational
  1065. 484.48 s [really-safe-money-gen] - in if ceiled == floored
  1066. 484.48 s [really-safe-money-gen] + in if False
  1067. 484.48 s [really-safe-money-gen] then
  1068. 484.48 s [really-safe-money-gen] if ceiled > (fromIntegral :: Word64 -> Natural) (maxBound :: Word64)
  1069. 484.48 s [really-safe-money-gen] then Nothing
  1070. 484.48 s [really-safe-money-gen]
  1071. 537.87 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:397:14-31:
  1072. 537.90 s [really-safe-money-gen] @@ -394,7 +394,7 @@
  1073. 537.90 s [really-safe-money-gen] ceiled = (ceiling :: Rational -> Natural) resultRational
  1074. 537.90 s [really-safe-money-gen] floored :: Natural
  1075. 537.90 s [really-safe-money-gen] floored = (floor :: Rational -> Natural) resultRational
  1076. 537.90 s [really-safe-money-gen] - in if ceiled == floored
  1077. 537.90 s [really-safe-money-gen] + in if False
  1078. 537.90 s [really-safe-money-gen] then
  1079. 537.90 s [really-safe-money-gen] if ceiled > (fromIntegral :: Word64 -> Natural) (maxBound :: Word64)
  1080. 537.90 s [really-safe-money-gen] then Nothing
  1081. 537.90 s [really-safe-money-gen]
  1082. 593.81 s [really-safe-money-gen] Testing mutation Negate at src/Money/Amount.hs:397:14-31:
  1083. 593.81 s [really-safe-money-gen] @@ -394,7 +394,7 @@
  1084. 593.84 s [really-safe-money-gen] ceiled = (ceiling :: Rational -> Natural) resultRational
  1085. 593.84 s [really-safe-money-gen] floored :: Natural
  1086. 593.84 s [really-safe-money-gen] floored = (floor :: Rational -> Natural) resultRational
  1087. 593.84 s [really-safe-money-gen] - in if ceiled == floored
  1088. 593.84 s [really-safe-money-gen] + in if not (ceiled == floored)
  1089. 593.84 s [really-safe-money-gen] then
  1090. 593.84 s [really-safe-money-gen] if ceiled > (fromIntegral :: Word64 -> Natural) (maxBound :: Word64)
  1091. 593.84 s [really-safe-money-gen] then Nothing
  1092. 593.84 s [really-safe-money-gen]
  1093. 596.16 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:399:18-83:
  1094. 596.16 s [really-safe-money-gen] @@ -396,7 +396,7 @@
  1095. 596.16 s [really-safe-money-gen] floored = (floor :: Rational -> Natural) resultRational
  1096. 596.16 s [really-safe-money-gen] in if ceiled == floored
  1097. 596.16 s [really-safe-money-gen] then
  1098. 596.16 s [really-safe-money-gen] - if ceiled > (fromIntegral :: Word64 -> Natural) (maxBound :: Word64)
  1099. 596.16 s [really-safe-money-gen] + if False
  1100. 596.16 s [really-safe-money-gen] then Nothing
  1101. 596.16 s [really-safe-money-gen] else Just $ Amount (fromIntegral ceiled)
  1102. 596.16 s [really-safe-money-gen] else Nothing
  1103. 596.16 s [really-safe-money-gen]
  1104. 598.64 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:399:18-83:
  1105. 598.64 s [really-safe-money-gen] @@ -396,7 +396,7 @@
  1106. 598.64 s [really-safe-money-gen] floored = (floor :: Rational -> Natural) resultRational
  1107. 598.64 s [really-safe-money-gen] in if ceiled == floored
  1108. 598.64 s [really-safe-money-gen] then
  1109. 598.64 s [really-safe-money-gen] - if ceiled > (fromIntegral :: Word64 -> Natural) (maxBound :: Word64)
  1110. 598.64 s [really-safe-money-gen] + if False
  1111. 598.64 s [really-safe-money-gen] then Nothing
  1112. 598.64 s [really-safe-money-gen] else Just $ Amount (fromIntegral ceiled)
  1113. 598.64 s [really-safe-money-gen] else Nothing
  1114. 598.64 s [really-safe-money-gen]
  1115. 601.04 s [really-safe-money-gen] Testing mutation Negate at src/Money/Amount.hs:399:18-83:
  1116. 601.06 s [really-safe-money-gen] @@ -396,7 +396,7 @@
  1117. 601.06 s [really-safe-money-gen] floored = (floor :: Rational -> Natural) resultRational
  1118. 601.06 s [really-safe-money-gen] in if ceiled == floored
  1119. 601.06 s [really-safe-money-gen] then
  1120. 601.06 s [really-safe-money-gen] - if ceiled > (fromIntegral :: Word64 -> Natural) (maxBound :: Word64)
  1121. 601.06 s [really-safe-money-gen] + if not (ceiled > (fromIntegral :: Word64 -> Natural) (maxBound :: Word64))
  1122. 601.06 s [really-safe-money-gen] then Nothing
  1123. 601.06 s [really-safe-money-gen] else Just $ Amount (fromIntegral ceiled)
  1124. 601.06 s [really-safe-money-gen] else Nothing
  1125. 601.06 s [really-safe-money-gen]
  1126. 603.41 s [really-safe-money-gen] Testing mutation CondFlip at src/Money/Amount.hs:399:15-57:
  1127. 603.41 s [really-safe-money-gen] @@ -396,7 +396,7 @@
  1128. 603.41 s [really-safe-money-gen] floored = (floor :: Rational -> Natural) resultRational
  1129. 603.41 s [really-safe-money-gen] in if ceiled == floored
  1130. 603.41 s [really-safe-money-gen] then
  1131. 603.41 s [really-safe-money-gen] - if ceiled > (fromIntegral :: Word64 -> Natural) (maxBound :: Word64)
  1132. 603.41 s [really-safe-money-gen] + if ceiled > (fromIntegral :: Word64 -> Natural) (maxBound :: Word64)
  1133. 603.41 s [really-safe-money-gen] then Nothing
  1134. 603.41 s [really-safe-money-gen] else Just $ Amount (fromIntegral ceiled)
  1135. 603.41 s [really-safe-money-gen] else Nothing
  1136. 603.41 s [really-safe-money-gen]
  1137. 605.34 s [really-safe-money-gen] Testing mutation CondFlip at src/Money/Amount.hs:397:11-25:
  1138. 605.34 s [really-safe-money-gen] @@ -394,7 +394,7 @@
  1139. 605.34 s [really-safe-money-gen] ceiled = (ceiling :: Rational -> Natural) resultRational
  1140. 605.34 s [really-safe-money-gen] floored :: Natural
  1141. 605.34 s [really-safe-money-gen] floored = (floor :: Rational -> Natural) resultRational
  1142. 605.34 s [really-safe-money-gen] - in if ceiled == floored
  1143. 605.34 s [really-safe-money-gen] + in if ceiled == floored
  1144. 605.34 s [really-safe-money-gen] then
  1145. 605.34 s [really-safe-money-gen] if ceiled > (fromIntegral :: Word64 -> Natural) (maxBound :: Word64)
  1146. 605.34 s [really-safe-money-gen] then Nothing
  1147. 605.34 s [really-safe-money-gen]
  1148. 607.54 s [really-safe-money-gen] Testing mutation IntLit at src/Money/Amount.hs:320:9-10:
  1149. 607.55 s [really-safe-money-gen] @@ -317,7 +317,7 @@
  1150. 607.56 s [really-safe-money-gen] Double ->
  1151. 607.56 s [really-safe-money-gen] Maybe Amount
  1152. 607.56 s [really-safe-money-gen] fromDouble (QuantisationFactor qf) d
  1153. 607.56 s [really-safe-money-gen] - | d < 0 = Nothing
  1154. 607.56 s [really-safe-money-gen] + | d < 1 = Nothing
  1155. 607.56 s [really-safe-money-gen] | otherwise =
  1156. 607.56 s [really-safe-money-gen] let resultDouble :: Double
  1157. 607.56 s [really-safe-money-gen] resultDouble = d * (fromIntegral :: Word32 -> Double) qf
  1158. 607.56 s [really-safe-money-gen]
  1159. 607.58 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:320:5-10:
  1160. 607.58 s [really-safe-money-gen] @@ -317,7 +317,7 @@
  1161. 607.58 s [really-safe-money-gen] Double ->
  1162. 607.58 s [really-safe-money-gen] Maybe Amount
  1163. 607.58 s [really-safe-money-gen] fromDouble (QuantisationFactor qf) d
  1164. 607.58 s [really-safe-money-gen] - | d < 0 = Nothing
  1165. 607.58 s [really-safe-money-gen] + | False = Nothing
  1166. 607.58 s [really-safe-money-gen] | otherwise =
  1167. 607.58 s [really-safe-money-gen] let resultDouble :: Double
  1168. 607.58 s [really-safe-money-gen] resultDouble = d * (fromIntegral :: Word32 -> Double) qf
  1169. 607.58 s [really-safe-money-gen]
  1170. 607.86 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:320:5-10:
  1171. 607.86 s [really-safe-money-gen] @@ -317,7 +317,7 @@
  1172. 607.86 s [really-safe-money-gen] Double ->
  1173. 607.86 s [really-safe-money-gen] Maybe Amount
  1174. 607.86 s [really-safe-money-gen] fromDouble (QuantisationFactor qf) d
  1175. 607.86 s [really-safe-money-gen] - | d < 0 = Nothing
  1176. 607.86 s [really-safe-money-gen] + | False = Nothing
  1177. 607.86 s [really-safe-money-gen] | otherwise =
  1178. 607.86 s [really-safe-money-gen] let resultDouble :: Double
  1179. 607.86 s [really-safe-money-gen] resultDouble = d * (fromIntegral :: Word32 -> Double) qf
  1180. 607.86 s [really-safe-money-gen]
  1181. 608.14 s [really-safe-money-gen] Testing mutation Negate at src/Money/Amount.hs:320:5-10:
  1182. 608.14 s [really-safe-money-gen] @@ -317,7 +317,7 @@
  1183. 608.14 s [really-safe-money-gen] Double ->
  1184. 608.14 s [really-safe-money-gen] Maybe Amount
  1185. 608.14 s [really-safe-money-gen] fromDouble (QuantisationFactor qf) d
  1186. 608.14 s [really-safe-money-gen] - | d < 0 = Nothing
  1187. 608.14 s [really-safe-money-gen] + | not (d < 0) = Nothing
  1188. 608.14 s [really-safe-money-gen] | otherwise =
  1189. 608.14 s [really-safe-money-gen] let resultDouble :: Double
  1190. 608.14 s [really-safe-money-gen] resultDouble = d * (fromIntegral :: Word32 -> Double) qf
  1191. 608.14 s [really-safe-money-gen]
  1192. 608.63 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:321:5-14:
  1193. 608.63 s [really-safe-money-gen] @@ -318,7 +318,7 @@
  1194. 608.63 s [really-safe-money-gen] Maybe Amount
  1195. 608.63 s [really-safe-money-gen] fromDouble (QuantisationFactor qf) d
  1196. 608.63 s [really-safe-money-gen] | d < 0 = Nothing
  1197. 608.63 s [really-safe-money-gen] - | otherwise =
  1198. 608.63 s [really-safe-money-gen] + | False =
  1199. 608.63 s [really-safe-money-gen] let resultDouble :: Double
  1200. 608.63 s [really-safe-money-gen] resultDouble = d * (fromIntegral :: Word32 -> Double) qf
  1201. 608.63 s [really-safe-money-gen] in go resultDouble
  1202. 608.63 s [really-safe-money-gen]
  1203. 608.67 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:321:5-14:
  1204. 608.67 s [really-safe-money-gen] @@ -318,7 +318,7 @@
  1205. 608.67 s [really-safe-money-gen] Maybe Amount
  1206. 608.67 s [really-safe-money-gen] fromDouble (QuantisationFactor qf) d
  1207. 608.67 s [really-safe-money-gen] | d < 0 = Nothing
  1208. 608.67 s [really-safe-money-gen] - | otherwise =
  1209. 608.67 s [really-safe-money-gen] + | False =
  1210. 608.67 s [really-safe-money-gen] let resultDouble :: Double
  1211. 608.67 s [really-safe-money-gen] resultDouble = d * (fromIntegral :: Word32 -> Double) qf
  1212. 608.67 s [really-safe-money-gen] in go resultDouble
  1213. 608.67 s [really-safe-money-gen]
  1214. 608.71 s [really-safe-money-gen] Testing mutation Negate at src/Money/Amount.hs:321:5-14:
  1215. 608.71 s [really-safe-money-gen] @@ -318,7 +318,7 @@
  1216. 608.71 s [really-safe-money-gen] Maybe Amount
  1217. 608.71 s [really-safe-money-gen] fromDouble (QuantisationFactor qf) d
  1218. 608.71 s [really-safe-money-gen] | d < 0 = Nothing
  1219. 608.71 s [really-safe-money-gen] - | otherwise =
  1220. 608.71 s [really-safe-money-gen] + | not (otherwise) =
  1221. 608.71 s [really-safe-money-gen] let resultDouble :: Double
  1222. 608.71 s [really-safe-money-gen] resultDouble = d * (fromIntegral :: Word32 -> Double) qf
  1223. 608.71 s [really-safe-money-gen] in go resultDouble
  1224. 608.71 s [really-safe-money-gen]
  1225. 608.75 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:327:9-16:
  1226. 608.75 s [really-safe-money-gen] @@ -324,7 +324,7 @@
  1227. 608.75 s [really-safe-money-gen] in go resultDouble
  1228. 608.75 s [really-safe-money-gen] where
  1229. 608.75 s [really-safe-money-gen] go resultDouble
  1230. 608.75 s [really-safe-money-gen] - | isNaN d = Nothing
  1231. 608.75 s [really-safe-money-gen] + | False = Nothing
  1232. 608.75 s [really-safe-money-gen] | isInfinite d = Nothing
  1233. 608.75 s [really-safe-money-gen] | otherwise =
  1234. 608.75 s [really-safe-money-gen] -- Shortcut for numbers that are way too big anyway
  1235. 608.75 s [really-safe-money-gen]
  1236. 609.07 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:327:9-16:
  1237. 609.07 s [really-safe-money-gen] @@ -324,7 +324,7 @@
  1238. 609.07 s [really-safe-money-gen] in go resultDouble
  1239. 609.07 s [really-safe-money-gen] where
  1240. 609.07 s [really-safe-money-gen] go resultDouble
  1241. 609.07 s [really-safe-money-gen] - | isNaN d = Nothing
  1242. 609.07 s [really-safe-money-gen] + | False = Nothing
  1243. 609.07 s [really-safe-money-gen] | isInfinite d = Nothing
  1244. 609.07 s [really-safe-money-gen] | otherwise =
  1245. 609.07 s [really-safe-money-gen] -- Shortcut for numbers that are way too big anyway
  1246. 609.07 s [really-safe-money-gen]
  1247. 609.40 s [really-safe-money-gen] Testing mutation Negate at src/Money/Amount.hs:327:9-16:
  1248. 609.40 s [really-safe-money-gen] @@ -324,7 +324,7 @@
  1249. 609.40 s [really-safe-money-gen] in go resultDouble
  1250. 609.40 s [really-safe-money-gen] where
  1251. 609.40 s [really-safe-money-gen] go resultDouble
  1252. 609.40 s [really-safe-money-gen] - | isNaN d = Nothing
  1253. 609.40 s [really-safe-money-gen] + | not (isNaN d) = Nothing
  1254. 609.40 s [really-safe-money-gen] | isInfinite d = Nothing
  1255. 609.40 s [really-safe-money-gen] | otherwise =
  1256. 609.40 s [really-safe-money-gen] -- Shortcut for numbers that are way too big anyway
  1257. 609.40 s [really-safe-money-gen]
  1258. 609.93 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:328:9-21:
  1259. 609.93 s [really-safe-money-gen] @@ -325,7 +325,7 @@
  1260. 609.93 s [really-safe-money-gen] where
  1261. 609.93 s [really-safe-money-gen] go resultDouble
  1262. 609.93 s [really-safe-money-gen] | isNaN d = Nothing
  1263. 609.93 s [really-safe-money-gen] - | isInfinite d = Nothing
  1264. 609.93 s [really-safe-money-gen] + | False = Nothing
  1265. 609.93 s [really-safe-money-gen] | otherwise =
  1266. 609.93 s [really-safe-money-gen] -- Shortcut for numbers that are way too big anyway
  1267. 609.93 s [really-safe-money-gen] -- so that we don't have to compute the according 'Natural' values.
  1268. 609.93 s [really-safe-money-gen]
  1269. 610.33 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:328:9-21:
  1270. 610.33 s [really-safe-money-gen] @@ -325,7 +325,7 @@
  1271. 610.33 s [really-safe-money-gen] where
  1272. 610.33 s [really-safe-money-gen] go resultDouble
  1273. 610.33 s [really-safe-money-gen] | isNaN d = Nothing
  1274. 610.33 s [really-safe-money-gen] - | isInfinite d = Nothing
  1275. 610.33 s [really-safe-money-gen] + | False = Nothing
  1276. 610.33 s [really-safe-money-gen] | otherwise =
  1277. 610.33 s [really-safe-money-gen] -- Shortcut for numbers that are way too big anyway
  1278. 610.34 s [really-safe-money-gen] -- so that we don't have to compute the according 'Natural' values.
  1279. 610.34 s [really-safe-money-gen]
  1280. 610.66 s [really-safe-money-gen] Testing mutation Negate at src/Money/Amount.hs:328:9-21:
  1281. 610.66 s [really-safe-money-gen] @@ -325,7 +325,7 @@
  1282. 610.66 s [really-safe-money-gen] where
  1283. 610.66 s [really-safe-money-gen] go resultDouble
  1284. 610.66 s [really-safe-money-gen] | isNaN d = Nothing
  1285. 610.66 s [really-safe-money-gen] - | isInfinite d = Nothing
  1286. 610.66 s [really-safe-money-gen] + | not (isInfinite d) = Nothing
  1287. 610.66 s [really-safe-money-gen] | otherwise =
  1288. 610.66 s [really-safe-money-gen] -- Shortcut for numbers that are way too big anyway
  1289. 610.66 s [really-safe-money-gen] -- so that we don't have to compute the according 'Natural' values.
  1290. 610.66 s [really-safe-money-gen]
  1291. 611.04 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:329:9-18:
  1292. 611.04 s [really-safe-money-gen] @@ -326,7 +326,7 @@
  1293. 611.04 s [really-safe-money-gen] go resultDouble
  1294. 611.04 s [really-safe-money-gen] | isNaN d = Nothing
  1295. 611.04 s [really-safe-money-gen] | isInfinite d = Nothing
  1296. 611.04 s [really-safe-money-gen] - | otherwise =
  1297. 611.04 s [really-safe-money-gen] + | False =
  1298. 611.04 s [really-safe-money-gen] -- Shortcut for numbers that are way too big anyway
  1299. 611.04 s [really-safe-money-gen] -- so that we don't have to compute the according 'Natural' values.
  1300. 611.04 s [really-safe-money-gen] if exponent resultDouble > 65
  1301. 611.04 s [really-safe-money-gen]
  1302. 611.08 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:329:9-18:
  1303. 611.08 s [really-safe-money-gen] @@ -326,7 +326,7 @@
  1304. 611.08 s [really-safe-money-gen] go resultDouble
  1305. 611.08 s [really-safe-money-gen] | isNaN d = Nothing
  1306. 611.08 s [really-safe-money-gen] | isInfinite d = Nothing
  1307. 611.08 s [really-safe-money-gen] - | otherwise =
  1308. 611.08 s [really-safe-money-gen] + | False =
  1309. 611.08 s [really-safe-money-gen] -- Shortcut for numbers that are way too big anyway
  1310. 611.08 s [really-safe-money-gen] -- so that we don't have to compute the according 'Natural' values.
  1311. 611.08 s [really-safe-money-gen] if exponent resultDouble > 65
  1312. 611.08 s [really-safe-money-gen]
  1313. 611.12 s [really-safe-money-gen] Testing mutation Negate at src/Money/Amount.hs:329:9-18:
  1314. 611.12 s [really-safe-money-gen] @@ -326,7 +326,7 @@
  1315. 611.12 s [really-safe-money-gen] go resultDouble
  1316. 611.12 s [really-safe-money-gen] | isNaN d = Nothing
  1317. 611.12 s [really-safe-money-gen] | isInfinite d = Nothing
  1318. 611.12 s [really-safe-money-gen] - | otherwise =
  1319. 611.12 s [really-safe-money-gen] + | not (otherwise) =
  1320. 611.12 s [really-safe-money-gen] -- Shortcut for numbers that are way too big anyway
  1321. 611.12 s [really-safe-money-gen] -- so that we don't have to compute the according 'Natural' values.
  1322. 611.12 s [really-safe-money-gen] if exponent resultDouble > 65
  1323. 611.12 s [really-safe-money-gen]
  1324. 611.16 s [really-safe-money-gen] Testing mutation IntLit at src/Money/Amount.hs:332:38-40:
  1325. 611.16 s [really-safe-money-gen] @@ -329,7 +329,7 @@
  1326. 611.16 s [really-safe-money-gen] | otherwise =
  1327. 611.16 s [really-safe-money-gen] -- Shortcut for numbers that are way too big anyway
  1328. 611.16 s [really-safe-money-gen] -- so that we don't have to compute the according 'Natural' values.
  1329. 611.16 s [really-safe-money-gen] - if exponent resultDouble > 65
  1330. 611.16 s [really-safe-money-gen] + if exponent resultDouble > -65
  1331. 611.16 s [really-safe-money-gen] then Nothing
  1332. 611.16 s [really-safe-money-gen] else
  1333. 611.16 s [really-safe-money-gen] let ceiled :: Natural
  1334. 611.16 s [really-safe-money-gen]
  1335. 611.19 s [really-safe-money-gen] Testing mutation IntLit at src/Money/Amount.hs:332:38-40:
  1336. 611.19 s [really-safe-money-gen] @@ -329,7 +329,7 @@
  1337. 611.19 s [really-safe-money-gen] | otherwise =
  1338. 611.19 s [really-safe-money-gen] -- Shortcut for numbers that are way too big anyway
  1339. 611.19 s [really-safe-money-gen] -- so that we don't have to compute the according 'Natural' values.
  1340. 611.19 s [really-safe-money-gen] - if exponent resultDouble > 65
  1341. 611.19 s [really-safe-money-gen] + if exponent resultDouble > -65
  1342. 611.19 s [really-safe-money-gen] then Nothing
  1343. 611.19 s [really-safe-money-gen] else
  1344. 611.19 s [really-safe-money-gen] let ceiled :: Natural
  1345. 611.19 s [really-safe-money-gen]
  1346. 611.23 s [really-safe-money-gen] Testing mutation IntLit at src/Money/Amount.hs:332:38-40:
  1347. 611.23 s [really-safe-money-gen] @@ -329,7 +329,7 @@
  1348. 611.23 s [really-safe-money-gen] | otherwise =
  1349. 611.23 s [really-safe-money-gen] -- Shortcut for numbers that are way too big anyway
  1350. 611.23 s [really-safe-money-gen] -- so that we don't have to compute the according 'Natural' values.
  1351. 611.23 s [really-safe-money-gen] - if exponent resultDouble > 65
  1352. 611.23 s [really-safe-money-gen] + if exponent resultDouble > -65
  1353. 611.23 s [really-safe-money-gen] then Nothing
  1354. 611.23 s [really-safe-money-gen] else
  1355. 611.23 s [really-safe-money-gen] let ceiled :: Natural
  1356. 611.23 s [really-safe-money-gen]
  1357. 611.27 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:332:14-40:
  1358. 611.27 s [really-safe-money-gen] @@ -329,7 +329,7 @@
  1359. 611.27 s [really-safe-money-gen] | otherwise =
  1360. 611.27 s [really-safe-money-gen] -- Shortcut for numbers that are way too big anyway
  1361. 611.27 s [really-safe-money-gen] -- so that we don't have to compute the according 'Natural' values.
  1362. 611.27 s [really-safe-money-gen] - if exponent resultDouble > 65
  1363. 611.27 s [really-safe-money-gen] + if False
  1364. 611.27 s [really-safe-money-gen] then Nothing
  1365. 611.27 s [really-safe-money-gen] else
  1366. 611.27 s [really-safe-money-gen] let ceiled :: Natural
  1367. 611.27 s [really-safe-money-gen]
  1368. 611.56 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:332:14-40:
  1369. 611.56 s [really-safe-money-gen] @@ -329,7 +329,7 @@
  1370. 611.56 s [really-safe-money-gen] | otherwise =
  1371. 611.56 s [really-safe-money-gen] -- Shortcut for numbers that are way too big anyway
  1372. 611.56 s [really-safe-money-gen] -- so that we don't have to compute the according 'Natural' values.
  1373. 611.56 s [really-safe-money-gen] - if exponent resultDouble > 65
  1374. 611.56 s [really-safe-money-gen] + if False
  1375. 611.56 s [really-safe-money-gen] then Nothing
  1376. 611.56 s [really-safe-money-gen] else
  1377. 611.56 s [really-safe-money-gen] let ceiled :: Natural
  1378. 611.56 s [really-safe-money-gen]
  1379. 611.85 s [really-safe-money-gen] Testing mutation Negate at src/Money/Amount.hs:332:14-40:
  1380. 611.85 s [really-safe-money-gen] @@ -329,7 +329,7 @@
  1381. 611.85 s [really-safe-money-gen] | otherwise =
  1382. 611.85 s [really-safe-money-gen] -- Shortcut for numbers that are way too big anyway
  1383. 611.85 s [really-safe-money-gen] -- so that we don't have to compute the according 'Natural' values.
  1384. 611.85 s [really-safe-money-gen] - if exponent resultDouble > 65
  1385. 611.85 s [really-safe-money-gen] + if not (exponent resultDouble > 65)
  1386. 611.85 s [really-safe-money-gen] then Nothing
  1387. 611.85 s [really-safe-money-gen] else
  1388. 611.85 s [really-safe-money-gen] let ceiled :: Natural
  1389. 611.85 s [really-safe-money-gen]
  1390. 612.24 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:339:22-39:
  1391. 612.24 s [really-safe-money-gen] @@ -336,7 +336,7 @@
  1392. 612.24 s [really-safe-money-gen] ceiled = (ceiling :: Double -> Natural) resultDouble
  1393. 612.24 s [really-safe-money-gen] floored :: Natural
  1394. 612.24 s [really-safe-money-gen] floored = (floor :: Double -> Natural) resultDouble
  1395. 612.24 s [really-safe-money-gen] - in if ceiled == floored
  1396. 612.24 s [really-safe-money-gen] + in if False
  1397. 612.24 s [really-safe-money-gen] then
  1398. 612.24 s [really-safe-money-gen] if ceiled > (fromIntegral :: Word64 -> Natural) (maxBound :: Word64)
  1399. 612.24 s [really-safe-money-gen] then Nothing
  1400. 612.24 s [really-safe-money-gen]
  1401. 612.68 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:339:22-39:
  1402. 612.68 s [really-safe-money-gen] @@ -336,7 +336,7 @@
  1403. 612.73 s [really-safe-money-gen] ceiled = (ceiling :: Double -> Natural) resultDouble
  1404. 612.73 s [really-safe-money-gen] floored :: Natural
  1405. 612.73 s [really-safe-money-gen] floored = (floor :: Double -> Natural) resultDouble
  1406. 612.73 s [really-safe-money-gen] - in if ceiled == floored
  1407. 612.73 s [really-safe-money-gen] + in if False
  1408. 612.74 s [really-safe-money-gen] then
  1409. 612.74 s [really-safe-money-gen] if ceiled > (fromIntegral :: Word64 -> Natural) (maxBound :: Word64)
  1410. 612.74 s [really-safe-money-gen] then Nothing
  1411. 612.74 s [really-safe-money-gen]
  1412. 613.03 s [really-safe-money-gen] Testing mutation Negate at src/Money/Amount.hs:339:22-39:
  1413. 613.03 s [really-safe-money-gen] @@ -336,7 +336,7 @@
  1414. 613.03 s [really-safe-money-gen] ceiled = (ceiling :: Double -> Natural) resultDouble
  1415. 613.03 s [really-safe-money-gen] floored :: Natural
  1416. 613.03 s [really-safe-money-gen] floored = (floor :: Double -> Natural) resultDouble
  1417. 613.03 s [really-safe-money-gen] - in if ceiled == floored
  1418. 613.03 s [really-safe-money-gen] + in if not (ceiled == floored)
  1419. 613.03 s [really-safe-money-gen] then
  1420. 613.03 s [really-safe-money-gen] if ceiled > (fromIntegral :: Word64 -> Natural) (maxBound :: Word64)
  1421. 613.03 s [really-safe-money-gen] then Nothing
  1422. 613.03 s [really-safe-money-gen]
  1423. 613.28 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:341:26-91:
  1424. 613.28 s [really-safe-money-gen] @@ -338,7 +338,7 @@
  1425. 613.28 s [really-safe-money-gen] floored = (floor :: Double -> Natural) resultDouble
  1426. 613.28 s [really-safe-money-gen] in if ceiled == floored
  1427. 613.28 s [really-safe-money-gen] then
  1428. 613.28 s [really-safe-money-gen] - if ceiled > (fromIntegral :: Word64 -> Natural) (maxBound :: Word64)
  1429. 613.28 s [really-safe-money-gen] + if False
  1430. 613.28 s [really-safe-money-gen] then Nothing
  1431. 613.28 s [really-safe-money-gen] else Just $ Amount (fromIntegral ceiled)
  1432. 613.28 s [really-safe-money-gen] else Nothing
  1433. 613.28 s [really-safe-money-gen]
  1434. 613.61 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:341:26-91:
  1435. 613.62 s [really-safe-money-gen] @@ -338,7 +338,7 @@
  1436. 613.62 s [really-safe-money-gen] floored = (floor :: Double -> Natural) resultDouble
  1437. 613.62 s [really-safe-money-gen] in if ceiled == floored
  1438. 613.62 s [really-safe-money-gen] then
  1439. 613.62 s [really-safe-money-gen] - if ceiled > (fromIntegral :: Word64 -> Natural) (maxBound :: Word64)
  1440. 613.62 s [really-safe-money-gen] + if False
  1441. 613.62 s [really-safe-money-gen] then Nothing
  1442. 613.62 s [really-safe-money-gen] else Just $ Amount (fromIntegral ceiled)
  1443. 613.62 s [really-safe-money-gen] else Nothing
  1444. 613.62 s [really-safe-money-gen]
  1445. 613.94 s [really-safe-money-gen] Testing mutation Negate at src/Money/Amount.hs:341:26-91:
  1446. 613.94 s [really-safe-money-gen] @@ -338,7 +338,7 @@
  1447. 613.94 s [really-safe-money-gen] floored = (floor :: Double -> Natural) resultDouble
  1448. 613.94 s [really-safe-money-gen] in if ceiled == floored
  1449. 613.94 s [really-safe-money-gen] then
  1450. 613.94 s [really-safe-money-gen] - if ceiled > (fromIntegral :: Word64 -> Natural) (maxBound :: Word64)
  1451. 613.94 s [really-safe-money-gen] + if not (ceiled > (fromIntegral :: Word64 -> Natural) (maxBound :: Word64))
  1452. 613.94 s [really-safe-money-gen] then Nothing
  1453. 613.94 s [really-safe-money-gen] else Just $ Amount (fromIntegral ceiled)
  1454. 613.94 s [really-safe-money-gen] else Nothing
  1455. 613.94 s [really-safe-money-gen]
  1456. 614.08 s [really-safe-money-gen] Testing mutation CondFlip at src/Money/Amount.hs:341:23-65:
  1457. 614.08 s [really-safe-money-gen] @@ -338,7 +338,7 @@
  1458. 614.08 s [really-safe-money-gen] floored = (floor :: Double -> Natural) resultDouble
  1459. 614.08 s [really-safe-money-gen] in if ceiled == floored
  1460. 614.08 s [really-safe-money-gen] then
  1461. 614.08 s [really-safe-money-gen] - if ceiled > (fromIntegral :: Word64 -> Natural) (maxBound :: Word64)
  1462. 614.08 s [really-safe-money-gen] + if ceiled > (fromIntegral :: Word64 -> Natural) (maxBound :: Word64)
  1463. 614.08 s [really-safe-money-gen] then Nothing
  1464. 614.08 s [really-safe-money-gen] else Just $ Amount (fromIntegral ceiled)
  1465. 614.08 s [really-safe-money-gen] else Nothing
  1466. 614.08 s [really-safe-money-gen]
  1467. 614.22 s [really-safe-money-gen] Testing mutation CondFlip at src/Money/Amount.hs:339:19-33:
  1468. 614.22 s [really-safe-money-gen] @@ -336,7 +336,7 @@
  1469. 614.22 s [really-safe-money-gen] ceiled = (ceiling :: Double -> Natural) resultDouble
  1470. 614.22 s [really-safe-money-gen] floored :: Natural
  1471. 614.22 s [really-safe-money-gen] floored = (floor :: Double -> Natural) resultDouble
  1472. 614.22 s [really-safe-money-gen] - in if ceiled == floored
  1473. 614.22 s [really-safe-money-gen] + in if ceiled == floored
  1474. 614.22 s [really-safe-money-gen] then
  1475. 614.22 s [really-safe-money-gen] if ceiled > (fromIntegral :: Word64 -> Natural) (maxBound :: Word64)
  1476. 614.22 s [really-safe-money-gen] then Nothing
  1477. 614.22 s [really-safe-money-gen]
  1478. 614.47 s [really-safe-money-gen] Testing mutation CondFlip at src/Money/Amount.hs:332:11-33:
  1479. 614.47 s [really-safe-money-gen] @@ -329,7 +329,7 @@
  1480. 614.47 s [really-safe-money-gen] | otherwise =
  1481. 614.47 s [really-safe-money-gen] -- Shortcut for numbers that are way too big anyway
  1482. 614.47 s [really-safe-money-gen] -- so that we don't have to compute the according 'Natural' values.
  1483. 614.47 s [really-safe-money-gen] - if exponent resultDouble > 65
  1484. 614.47 s [really-safe-money-gen] + if exponent resultDouble > 65
  1485. 614.47 s [really-safe-money-gen] then Nothing
  1486. 614.47 s [really-safe-money-gen] else
  1487. 614.47 s [really-safe-money-gen] let ceiled :: Natural
  1488. 614.47 s [really-safe-money-gen]
  1489. 614.79 s [really-safe-money-gen] Testing mutation IntLit at src/Money/Amount.hs:290:79-80:
  1490. 614.79 s [really-safe-money-gen] @@ -287,7 +287,7 @@
  1491. 614.79 s [really-safe-money-gen] -- >>> toRatio (QuantisationFactor 100) (Amount 1)
  1492. 614.79 s [really-safe-money-gen] -- 1 % 100
  1493. 614.79 s [really-safe-money-gen] toRatio :: QuantisationFactor -> Amount -> Ratio Natural
  1494. 614.79 s [really-safe-money-gen] -toRatio (QuantisationFactor 0) a = fromIntegral (toMinimalQuantisations a) :% 0
  1495. 614.80 s [really-safe-money-gen] +toRatio (QuantisationFactor 0) a = fromIntegral (toMinimalQuantisations a) :% 1
  1496. 614.80 s [really-safe-money-gen] toRatio (QuantisationFactor quantisationFactor) a =
  1497. 614.80 s [really-safe-money-gen] (fromIntegral :: Word64 -> Natural) (toMinimalQuantisations a)
  1498. 614.80 s [really-safe-money-gen] % (fromIntegral :: Word32 -> Natural) quantisationFactor
  1499. 614.80 s [really-safe-money-gen]
  1500. 614.80 s [really-safe-money-gen] Testing mutation IntLit at src/Money/Amount.hs:494:96-97:
  1501. 614.80 s [really-safe-money-gen] @@ -491,7 +491,7 @@
  1502. 614.80 s [really-safe-money-gen] let maxBoundI :: Integer
  1503. 614.80 s [really-safe-money-gen] maxBoundI = fromIntegral (maxBound :: Word64)
  1504. 614.80 s [really-safe-money-gen] r :: Integer
  1505. 614.80 s [really-safe-money-gen] - r = foldl' (\acc a -> (toInteger :: Word64 -> Integer) (toMinimalQuantisations a) + acc) 0 l
  1506. 614.80 s [really-safe-money-gen] + r = foldl' (\acc a -> (toInteger :: Word64 -> Integer) (toMinimalQuantisations a) + acc) 1 l
  1507. 614.80 s [really-safe-money-gen] in if r > maxBoundI
  1508. 614.80 s [really-safe-money-gen] then Nothing
  1509. 614.80 s [really-safe-money-gen] else Just (Amount ((fromInteger :: Integer -> Word64) r))
  1510. 614.80 s [really-safe-money-gen]
  1511. 614.80 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:495:10-23:
  1512. 614.80 s [really-safe-money-gen] @@ -492,7 +492,7 @@
  1513. 614.80 s [really-safe-money-gen] maxBoundI = fromIntegral (maxBound :: Word64)
  1514. 614.80 s [really-safe-money-gen] r :: Integer
  1515. 614.80 s [really-safe-money-gen] r = foldl' (\acc a -> (toInteger :: Word64 -> Integer) (toMinimalQuantisations a) + acc) 0 l
  1516. 614.80 s [really-safe-money-gen] - in if r > maxBoundI
  1517. 614.80 s [really-safe-money-gen] + in if False
  1518. 614.80 s [really-safe-money-gen] then Nothing
  1519. 614.80 s [really-safe-money-gen] else Just (Amount ((fromInteger :: Integer -> Word64) r))
  1520. 614.80 s [really-safe-money-gen]
  1521. 614.80 s [really-safe-money-gen]
  1522. 614.87 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:495:10-23:
  1523. 614.87 s [really-safe-money-gen] @@ -492,7 +492,7 @@
  1524. 614.87 s [really-safe-money-gen] maxBoundI = fromIntegral (maxBound :: Word64)
  1525. 614.87 s [really-safe-money-gen] r :: Integer
  1526. 614.87 s [really-safe-money-gen] r = foldl' (\acc a -> (toInteger :: Word64 -> Integer) (toMinimalQuantisations a) + acc) 0 l
  1527. 614.87 s [really-safe-money-gen] - in if r > maxBoundI
  1528. 614.87 s [really-safe-money-gen] + in if False
  1529. 614.87 s [really-safe-money-gen] then Nothing
  1530. 614.87 s [really-safe-money-gen] else Just (Amount ((fromInteger :: Integer -> Word64) r))
  1531. 614.87 s [really-safe-money-gen]
  1532. 614.87 s [really-safe-money-gen]
  1533. 614.93 s [really-safe-money-gen] Testing mutation Negate at src/Money/Amount.hs:495:10-23:
  1534. 614.93 s [really-safe-money-gen] @@ -492,7 +492,7 @@
  1535. 614.93 s [really-safe-money-gen] maxBoundI = fromIntegral (maxBound :: Word64)
  1536. 614.93 s [really-safe-money-gen] r :: Integer
  1537. 614.94 s [really-safe-money-gen] r = foldl' (\acc a -> (toInteger :: Word64 -> Integer) (toMinimalQuantisations a) + acc) 0 l
  1538. 614.94 s [really-safe-money-gen] - in if r > maxBoundI
  1539. 614.94 s [really-safe-money-gen] + in if not (r > maxBoundI)
  1540. 614.94 s [really-safe-money-gen] then Nothing
  1541. 614.94 s [really-safe-money-gen] else Just (Amount ((fromInteger :: Integer -> Word64) r))
  1542. 614.94 s [really-safe-money-gen]
  1543. 614.94 s [really-safe-money-gen]
  1544. 615.16 s [really-safe-money-gen] Testing mutation CondFlip at src/Money/Amount.hs:495:7-66:
  1545. 615.16 s [really-safe-money-gen] @@ -492,7 +492,7 @@
  1546. 615.16 s [really-safe-money-gen] maxBoundI = fromIntegral (maxBound :: Word64)
  1547. 615.16 s [really-safe-money-gen] r :: Integer
  1548. 615.16 s [really-safe-money-gen] r = foldl' (\acc a -> (toInteger :: Word64 -> Integer) (toMinimalQuantisations a) + acc) 0 l
  1549. 615.16 s [really-safe-money-gen] - in if r > maxBoundI
  1550. 615.16 s [really-safe-money-gen] + in if r > maxBoundI
  1551. 615.16 s [really-safe-money-gen] then Nothing
  1552. 615.16 s [really-safe-money-gen] else Just (Amount ((fromInteger :: Integer -> Word64) r))
  1553. 615.16 s [really-safe-money-gen]
  1554. 615.16 s [really-safe-money-gen]
  1555. 615.42 s [really-safe-money-gen] Testing mutation IntLit at src/Money/Amount.hs:250:15-16:
  1556. 615.42 s [really-safe-money-gen] @@ -247,7 +247,7 @@
  1557. 615.42 s [really-safe-money-gen] -- >>> zero
  1558. 615.42 s [really-safe-money-gen] -- Amount 0
  1559. 615.42 s [really-safe-money-gen] zero :: Amount
  1560. 615.42 s [really-safe-money-gen] -zero = Amount 0
  1561. 615.42 s [really-safe-money-gen] +zero = Amount 1
  1562. 615.42 s [really-safe-money-gen]
  1563. 615.42 s [really-safe-money-gen] -- | Turn an amount into a number of minimal quantisations.
  1564. 615.42 s [really-safe-money-gen] --
  1565. 615.42 s [really-safe-money-gen]
  1566. 615.42 s [really-safe-money-gen] Testing mutation IntLit at src/Money/Amount.hs:661:30-31:
  1567. 615.42 s [really-safe-money-gen] @@ -658,7 +658,7 @@
  1568. 615.42 s [really-safe-money-gen] -- | The amount and the real rate that was used, considering the 'Rounding'
  1569. 615.42 s [really-safe-money-gen] (Maybe Amount, Ratio Natural)
  1570. 615.42 s [really-safe-money-gen] fraction _ (Amount 0) f = (Just zero, f)
  1571. 615.42 s [really-safe-money-gen] -fraction _ _ 0 = (Just zero, 0)
  1572. 615.42 s [really-safe-money-gen] +fraction _ _ 0 = (Just zero, 1)
  1573. 615.42 s [really-safe-money-gen] fraction r (Amount a) f =
  1574. 615.42 s [really-safe-money-gen] let amountAsRatio :: Ratio Natural
  1575. 615.42 s [really-safe-money-gen] amountAsRatio = (fromIntegral :: Word64 -> Ratio Natural) a
  1576. 615.42 s [really-safe-money-gen]
  1577. 615.54 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:681:12-37:
  1578. 615.54 s [really-safe-money-gen] @@ -678,7 +678,7 @@
  1579. 615.54 s [really-safe-money-gen] maxBoundN :: Natural
  1580. 615.54 s [really-safe-money-gen] maxBoundN = fromIntegral (maxBound :: Word64)
  1581. 615.54 s [really-safe-money-gen] result = Amount ((fromIntegral :: Natural -> Word64) roundedResult)
  1582. 615.54 s [really-safe-money-gen] - in ( if roundedResult > maxBoundN
  1583. 615.54 s [really-safe-money-gen] + in ( if False
  1584. 615.54 s [really-safe-money-gen] then Nothing
  1585. 615.54 s [really-safe-money-gen] else Just result,
  1586. 615.54 s [really-safe-money-gen] actualRate
  1587. 615.54 s [really-safe-money-gen]
  1588. 617.05 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:681:12-37:
  1589. 617.05 s [really-safe-money-gen] @@ -678,7 +678,7 @@
  1590. 617.05 s [really-safe-money-gen] maxBoundN :: Natural
  1591. 617.06 s [really-safe-money-gen] maxBoundN = fromIntegral (maxBound :: Word64)
  1592. 617.06 s [really-safe-money-gen] result = Amount ((fromIntegral :: Natural -> Word64) roundedResult)
  1593. 617.06 s [really-safe-money-gen] - in ( if roundedResult > maxBoundN
  1594. 617.06 s [really-safe-money-gen] + in ( if False
  1595. 617.06 s [really-safe-money-gen] then Nothing
  1596. 617.06 s [really-safe-money-gen] else Just result,
  1597. 617.06 s [really-safe-money-gen] actualRate
  1598. 617.06 s [really-safe-money-gen]
  1599. 618.53 s [really-safe-money-gen] Testing mutation Negate at src/Money/Amount.hs:681:12-37:
  1600. 618.58 s [really-safe-money-gen] @@ -678,7 +678,7 @@
  1601. 618.58 s [really-safe-money-gen] maxBoundN :: Natural
  1602. 618.58 s [really-safe-money-gen] maxBoundN = fromIntegral (maxBound :: Word64)
  1603. 618.58 s [really-safe-money-gen] result = Amount ((fromIntegral :: Natural -> Word64) roundedResult)
  1604. 618.58 s [really-safe-money-gen] - in ( if roundedResult > maxBoundN
  1605. 618.58 s [really-safe-money-gen] + in ( if not (roundedResult > maxBoundN)
  1606. 618.58 s [really-safe-money-gen] then Nothing
  1607. 618.58 s [really-safe-money-gen] else Just result,
  1608. 618.58 s [really-safe-money-gen] actualRate
  1609. 618.58 s [really-safe-money-gen]
  1610. 619.85 s [really-safe-money-gen] Testing mutation CondFlip at src/Money/Amount.hs:681:9-27:
  1611. 619.85 s [really-safe-money-gen] @@ -678,7 +678,7 @@
  1612. 619.85 s [really-safe-money-gen] maxBoundN :: Natural
  1613. 619.85 s [really-safe-money-gen] maxBoundN = fromIntegral (maxBound :: Word64)
  1614. 619.85 s [really-safe-money-gen] result = Amount ((fromIntegral :: Natural -> Word64) roundedResult)
  1615. 619.85 s [really-safe-money-gen] - in ( if roundedResult > maxBoundN
  1616. 619.85 s [really-safe-money-gen] + in ( if roundedResult > maxBoundN
  1617. 619.85 s [really-safe-money-gen] then Nothing
  1618. 619.85 s [really-safe-money-gen] else Just result,
  1619. 619.85 s [really-safe-money-gen] actualRate
  1620. 619.85 s [really-safe-money-gen]
  1621. 621.25 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:806:79-92:
  1622. 621.26 s [really-safe-money-gen] @@ -803,4 +803,4 @@
  1623. 621.26 s [really-safe-money-gen]
  1624. 621.26 s [really-safe-money-gen] -- | Validate that an 'Amount' is strictly positive. I.e. not 'zero'.
  1625. 621.26 s [really-safe-money-gen] validateStrictlyPositive :: Amount -> Validation
  1626. 621.26 s [really-safe-money-gen] -validateStrictlyPositive amount = declare "The Amount is strictly positive" $ amount > zero
  1627. 621.26 s [really-safe-money-gen] +validateStrictlyPositive amount = declare "The Amount is strictly positive" $ False
  1628. 621.26 s [really-safe-money-gen]
  1629. 621.26 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:806:79-92:
  1630. 621.26 s [really-safe-money-gen] @@ -803,4 +803,4 @@
  1631. 621.26 s [really-safe-money-gen]
  1632. 621.26 s [really-safe-money-gen] -- | Validate that an 'Amount' is strictly positive. I.e. not 'zero'.
  1633. 621.26 s [really-safe-money-gen] validateStrictlyPositive :: Amount -> Validation
  1634. 621.26 s [really-safe-money-gen] -validateStrictlyPositive amount = declare "The Amount is strictly positive" $ amount > zero
  1635. 621.26 s [really-safe-money-gen] +validateStrictlyPositive amount = declare "The Amount is strictly positive" $ False
  1636. 621.26 s [really-safe-money-gen]
  1637. 621.26 s [really-safe-money-gen] Testing mutation Negate at src/Money/Amount.hs:806:79-92:
  1638. 621.26 s [really-safe-money-gen] @@ -803,4 +803,4 @@
  1639. 621.26 s [really-safe-money-gen]
  1640. 621.26 s [really-safe-money-gen] -- | Validate that an 'Amount' is strictly positive. I.e. not 'zero'.
  1641. 621.26 s [really-safe-money-gen] validateStrictlyPositive :: Amount -> Validation
  1642. 621.26 s [really-safe-money-gen] -validateStrictlyPositive amount = declare "The Amount is strictly positive" $ amount > zero
  1643. 621.26 s [really-safe-money-gen] +validateStrictlyPositive amount = declare "The Amount is strictly positive" $ not (amount > zero)
  1644. 621.26 s [really-safe-money-gen]
  1645. 621.26 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:607:15-22:
  1646. 621.26 s [really-safe-money-gen] @@ -604,7 +604,7 @@
  1647. 621.26 s [really-safe-money-gen] case ad of
  1648. 621.26 s [really-safe-money-gen] DistributedIntoUnequalChunks _ a1 _ a2 ->
  1649. 621.26 s [really-safe-money-gen] declare "The larger chunks are larger" $
  1650. 621.26 s [really-safe-money-gen] - a1 > a2
  1651. 621.26 s [really-safe-money-gen] + False
  1652. 621.26 s [really-safe-money-gen] _ -> valid
  1653. 621.26 s [really-safe-money-gen] ]
  1654. 621.26 s [really-safe-money-gen]
  1655. 621.26 s [really-safe-money-gen]
  1656. 621.39 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/Amount.hs:607:15-22:
  1657. 621.39 s [really-safe-money-gen] @@ -604,7 +604,7 @@
  1658. 621.39 s [really-safe-money-gen] case ad of
  1659. 621.39 s [really-safe-money-gen] DistributedIntoUnequalChunks _ a1 _ a2 ->
  1660. 621.39 s [really-safe-money-gen] declare "The larger chunks are larger" $
  1661. 621.39 s [really-safe-money-gen] - a1 > a2
  1662. 621.39 s [really-safe-money-gen] + False
  1663. 621.39 s [really-safe-money-gen] _ -> valid
  1664. 621.39 s [really-safe-money-gen] ]
  1665. 621.39 s [really-safe-money-gen]
  1666. 621.39 s [really-safe-money-gen]
  1667. 621.53 s [really-safe-money-gen] Testing mutation Negate at src/Money/Amount.hs:607:15-22:
  1668. 621.53 s [really-safe-money-gen] @@ -604,7 +604,7 @@
  1669. 621.53 s [really-safe-money-gen] case ad of
  1670. 621.53 s [really-safe-money-gen] DistributedIntoUnequalChunks _ a1 _ a2 ->
  1671. 621.53 s [really-safe-money-gen] declare "The larger chunks are larger" $
  1672. 621.53 s [really-safe-money-gen] - a1 > a2
  1673. 621.53 s [really-safe-money-gen] + not (a1 > a2)
  1674. 621.53 s [really-safe-money-gen] _ -> valid
  1675. 621.53 s [really-safe-money-gen] ]
  1676. 621.53 s [really-safe-money-gen]
  1677. 621.53 s [really-safe-money-gen]
  1678. 621.55 s [really-safe-money-gen] Testing mutation ListLit at src/Money/Amount.hs:603:7-8:
  1679. 621.55 s [really-safe-money-gen] @@ -600,7 +600,7 @@
  1680. 621.55 s [really-safe-money-gen] instance (Validity amount, Ord amount) => Validity (Distribution amount) where
  1681. 621.55 s [really-safe-money-gen] validate ad =
  1682. 621.55 s [really-safe-money-gen] mconcat
  1683. 621.55 s [really-safe-money-gen] - [ genericValidate ad,
  1684. 621.55 s [really-safe-money-gen] + [ genericValidate ad,
  1685. 621.55 s [really-safe-money-gen] case ad of
  1686. 621.55 s [really-safe-money-gen] DistributedIntoUnequalChunks _ a1 _ a2 ->
  1687. 621.55 s [really-safe-money-gen] declare "The larger chunks are larger" $
  1688. 621.55 s [really-safe-money-gen]
  1689. 621.63 s [really-safe-money-gen] Testing mutation ListLit at src/Money/Amount.hs:603:7-8:
  1690. 621.63 s [really-safe-money-gen] @@ -600,7 +600,7 @@
  1691. 621.63 s [really-safe-money-gen] instance (Validity amount, Ord amount) => Validity (Distribution amount) where
  1692. 621.63 s [really-safe-money-gen] validate ad =
  1693. 621.63 s [really-safe-money-gen] mconcat
  1694. 621.63 s [really-safe-money-gen] - [ genericValidate ad,
  1695. 621.63 s [really-safe-money-gen] + [ genericValidate ad,
  1696. 621.63 s [really-safe-money-gen] case ad of
  1697. 621.63 s [really-safe-money-gen] DistributedIntoUnequalChunks _ a1 _ a2 ->
  1698. 621.63 s [really-safe-money-gen] declare "The larger chunks are larger" $
  1699. 621.63 s [really-safe-money-gen]
  1700. 621.71 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/MultiAmount.hs:168:20-45:
  1701. 621.71 s [really-safe-money-gen] @@ -165,7 +165,7 @@
  1702. 621.71 s [really-safe-money-gen] maxBoundN :: Natural
  1703. 621.71 s [really-safe-money-gen] maxBoundN = fromIntegral (maxBound :: Word64)
  1704. 621.71 s [really-safe-money-gen] actualResult =
  1705. 621.71 s [really-safe-money-gen] - if roundedResult > maxBoundN
  1706. 621.71 s [really-safe-money-gen] + if False
  1707. 621.71 s [really-safe-money-gen] then Nothing
  1708. 621.71 s [really-safe-money-gen] else Just (fromIntegral roundedResult)
  1709. 621.71 s [really-safe-money-gen] rounded = case compare (fromIntegral roundedResult) theoreticalResult of
  1710. 621.71 s [really-safe-money-gen]
  1711. 621.77 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/MultiAmount.hs:168:20-45:
  1712. 621.77 s [really-safe-money-gen] @@ -165,7 +165,7 @@
  1713. 621.77 s [really-safe-money-gen] maxBoundN :: Natural
  1714. 621.77 s [really-safe-money-gen] maxBoundN = fromIntegral (maxBound :: Word64)
  1715. 621.77 s [really-safe-money-gen] actualResult =
  1716. 621.77 s [really-safe-money-gen] - if roundedResult > maxBoundN
  1717. 621.77 s [really-safe-money-gen] + if False
  1718. 621.77 s [really-safe-money-gen] then Nothing
  1719. 621.77 s [really-safe-money-gen] else Just (fromIntegral roundedResult)
  1720. 621.77 s [really-safe-money-gen] rounded = case compare (fromIntegral roundedResult) theoreticalResult of
  1721. 621.77 s [really-safe-money-gen]
  1722. 621.83 s [really-safe-money-gen] Testing mutation Negate at src/Money/MultiAmount.hs:168:20-45:
  1723. 621.83 s [really-safe-money-gen] @@ -165,7 +165,7 @@
  1724. 621.83 s [really-safe-money-gen] maxBoundN :: Natural
  1725. 621.83 s [really-safe-money-gen] maxBoundN = fromIntegral (maxBound :: Word64)
  1726. 621.83 s [really-safe-money-gen] actualResult =
  1727. 621.83 s [really-safe-money-gen] - if roundedResult > maxBoundN
  1728. 621.83 s [really-safe-money-gen] + if not (roundedResult > maxBoundN)
  1729. 621.83 s [really-safe-money-gen] then Nothing
  1730. 621.83 s [really-safe-money-gen] else Just (fromIntegral roundedResult)
  1731. 621.83 s [really-safe-money-gen] rounded = case compare (fromIntegral roundedResult) theoreticalResult of
  1732. 621.83 s [really-safe-money-gen]
  1733. 621.89 s [really-safe-money-gen] Testing mutation CondFlip at src/Money/MultiAmount.hs:168:17-57:
  1734. 621.89 s [really-safe-money-gen] @@ -165,7 +165,7 @@
  1735. 621.90 s [really-safe-money-gen] maxBoundN :: Natural
  1736. 621.90 s [really-safe-money-gen] maxBoundN = fromIntegral (maxBound :: Word64)
  1737. 621.90 s [really-safe-money-gen] actualResult =
  1738. 621.90 s [really-safe-money-gen] - if roundedResult > maxBoundN
  1739. 621.90 s [really-safe-money-gen] + if roundedResult > maxBoundN
  1740. 621.90 s [really-safe-money-gen] then Nothing
  1741. 621.90 s [really-safe-money-gen] else Just (fromIntegral roundedResult)
  1742. 621.90 s [really-safe-money-gen] rounded = case compare (fromIntegral roundedResult) theoreticalResult of
  1743. 621.90 s [really-safe-money-gen]
  1744. 621.96 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/MultiAmount.hs:119:12-28:
  1745. 621.96 s [really-safe-money-gen] @@ -116,7 +116,7 @@
  1746. 621.96 s [really-safe-money-gen] Just a -> do
  1747. 621.96 s [really-safe-money-gen] r <- Amount.subtract a amount
  1748. 621.96 s [really-safe-money-gen] Just $
  1749. 621.96 s [really-safe-money-gen] - if r == Amount.zero
  1750. 621.96 s [really-safe-money-gen] + if False
  1751. 621.96 s [really-safe-money-gen] then M.delete currency m
  1752. 621.96 s [really-safe-money-gen] else M.insert currency r m
  1753. 621.96 s [really-safe-money-gen]
  1754. 621.96 s [really-safe-money-gen]
  1755. 621.99 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/MultiAmount.hs:119:12-28:
  1756. 621.99 s [really-safe-money-gen] @@ -116,7 +116,7 @@
  1757. 621.99 s [really-safe-money-gen] Just a -> do
  1758. 622.00 s [really-safe-money-gen] r <- Amount.subtract a amount
  1759. 622.00 s [really-safe-money-gen] Just $
  1760. 622.00 s [really-safe-money-gen] - if r == Amount.zero
  1761. 622.00 s [really-safe-money-gen] + if False
  1762. 622.00 s [really-safe-money-gen] then M.delete currency m
  1763. 622.00 s [really-safe-money-gen] else M.insert currency r m
  1764. 622.00 s [really-safe-money-gen]
  1765. 622.00 s [really-safe-money-gen]
  1766. 622.04 s [really-safe-money-gen] Testing mutation Negate at src/Money/MultiAmount.hs:119:12-28:
  1767. 622.04 s [really-safe-money-gen] @@ -116,7 +116,7 @@
  1768. 622.04 s [really-safe-money-gen] Just a -> do
  1769. 622.04 s [really-safe-money-gen] r <- Amount.subtract a amount
  1770. 622.04 s [really-safe-money-gen] Just $
  1771. 622.04 s [really-safe-money-gen] - if r == Amount.zero
  1772. 622.04 s [really-safe-money-gen] + if not (r == Amount.zero)
  1773. 622.04 s [really-safe-money-gen] then M.delete currency m
  1774. 622.04 s [really-safe-money-gen] else M.insert currency r m
  1775. 622.04 s [really-safe-money-gen]
  1776. 622.04 s [really-safe-money-gen]
  1777. 622.08 s [really-safe-money-gen] Testing mutation CondFlip at src/Money/MultiAmount.hs:119:9-37:
  1778. 622.08 s [really-safe-money-gen] @@ -116,7 +116,7 @@
  1779. 622.08 s [really-safe-money-gen] Just a -> do
  1780. 622.08 s [really-safe-money-gen] r <- Amount.subtract a amount
  1781. 622.08 s [really-safe-money-gen] Just $
  1782. 622.08 s [really-safe-money-gen] - if r == Amount.zero
  1783. 622.08 s [really-safe-money-gen] + if r == Amount.zero
  1784. 622.08 s [really-safe-money-gen] then M.delete currency m
  1785. 622.08 s [really-safe-money-gen] else M.insert currency r m
  1786. 622.08 s [really-safe-money-gen]
  1787. 622.08 s [really-safe-money-gen]
  1788. 622.12 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/MultiAmount.hs:106:12-28:
  1789. 622.12 s [really-safe-money-gen] @@ -103,7 +103,7 @@
  1790. 622.12 s [really-safe-money-gen] Just a -> do
  1791. 622.12 s [really-safe-money-gen] r <- Amount.add a amount
  1792. 622.12 s [really-safe-money-gen] Just $
  1793. 622.12 s [really-safe-money-gen] - if r == Amount.zero
  1794. 622.12 s [really-safe-money-gen] + if False
  1795. 622.12 s [really-safe-money-gen] then M.delete currency m
  1796. 622.12 s [really-safe-money-gen] else M.insert currency r m
  1797. 622.12 s [really-safe-money-gen]
  1798. 622.12 s [really-safe-money-gen]
  1799. 622.70 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/MultiAmount.hs:106:12-28:
  1800. 622.70 s [really-safe-money-gen] @@ -103,7 +103,7 @@
  1801. 622.70 s [really-safe-money-gen] Just a -> do
  1802. 622.70 s [really-safe-money-gen] r <- Amount.add a amount
  1803. 622.70 s [really-safe-money-gen] Just $
  1804. 622.70 s [really-safe-money-gen] - if r == Amount.zero
  1805. 622.70 s [really-safe-money-gen] + if False
  1806. 622.70 s [really-safe-money-gen] then M.delete currency m
  1807. 622.70 s [really-safe-money-gen] else M.insert currency r m
  1808. 622.70 s [really-safe-money-gen]
  1809. 622.70 s [really-safe-money-gen]
  1810. 623.27 s [really-safe-money-gen] Testing mutation Negate at src/Money/MultiAmount.hs:106:12-28:
  1811. 623.27 s [really-safe-money-gen] @@ -103,7 +103,7 @@
  1812. 623.27 s [really-safe-money-gen] Just a -> do
  1813. 623.27 s [really-safe-money-gen] r <- Amount.add a amount
  1814. 623.27 s [really-safe-money-gen] Just $
  1815. 623.27 s [really-safe-money-gen] - if r == Amount.zero
  1816. 623.27 s [really-safe-money-gen] + if not (r == Amount.zero)
  1817. 623.27 s [really-safe-money-gen] then M.delete currency m
  1818. 623.27 s [really-safe-money-gen] else M.insert currency r m
  1819. 623.27 s [really-safe-money-gen]
  1820. 623.27 s [really-safe-money-gen]
  1821. 623.82 s [really-safe-money-gen] Testing mutation CondFlip at src/Money/MultiAmount.hs:106:9-37:
  1822. 623.87 s [really-safe-money-gen] @@ -103,7 +103,7 @@
  1823. 623.87 s [really-safe-money-gen] Just a -> do
  1824. 623.87 s [really-safe-money-gen] r <- Amount.add a amount
  1825. 623.87 s [really-safe-money-gen] Just $
  1826. 623.87 s [really-safe-money-gen] - if r == Amount.zero
  1827. 623.87 s [really-safe-money-gen] + if r == Amount.zero
  1828. 623.87 s [really-safe-money-gen] then M.delete currency m
  1829. 623.87 s [really-safe-money-gen] else M.insert currency r m
  1830. 623.87 s [really-safe-money-gen]
  1831. 623.87 s [really-safe-money-gen]
  1832. 624.49 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/MultiAmount.hs:73:6-27:
  1833. 624.49 s [really-safe-money-gen] @@ -70,7 +70,7 @@
  1834. 624.49 s [really-safe-money-gen]
  1835. 624.49 s [really-safe-money-gen] fromAmount :: currency -> Amount -> MultiAmount currency
  1836. 624.49 s [really-safe-money-gen] fromAmount currency amount =
  1837. 624.49 s [really-safe-money-gen] - if amount == Amount.zero
  1838. 624.49 s [really-safe-money-gen] + if False
  1839. 624.49 s [really-safe-money-gen] then zero
  1840. 624.49 s [really-safe-money-gen] else MultiAmount $ M.singleton currency amount
  1841. 624.49 s [really-safe-money-gen]
  1842. 624.49 s [really-safe-money-gen]
  1843. 624.51 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/MultiAmount.hs:73:6-27:
  1844. 624.51 s [really-safe-money-gen] @@ -70,7 +70,7 @@
  1845. 624.51 s [really-safe-money-gen]
  1846. 624.51 s [really-safe-money-gen] fromAmount :: currency -> Amount -> MultiAmount currency
  1847. 624.51 s [really-safe-money-gen] fromAmount currency amount =
  1848. 624.51 s [really-safe-money-gen] - if amount == Amount.zero
  1849. 624.51 s [really-safe-money-gen] + if False
  1850. 624.51 s [really-safe-money-gen] then zero
  1851. 624.51 s [really-safe-money-gen] else MultiAmount $ M.singleton currency amount
  1852. 624.51 s [really-safe-money-gen]
  1853. 624.51 s [really-safe-money-gen]
  1854. 624.53 s [really-safe-money-gen] Testing mutation Negate at src/Money/MultiAmount.hs:73:6-27:
  1855. 624.53 s [really-safe-money-gen] @@ -70,7 +70,7 @@
  1856. 624.53 s [really-safe-money-gen]
  1857. 624.53 s [really-safe-money-gen] fromAmount :: currency -> Amount -> MultiAmount currency
  1858. 624.53 s [really-safe-money-gen] fromAmount currency amount =
  1859. 624.53 s [really-safe-money-gen] - if amount == Amount.zero
  1860. 624.53 s [really-safe-money-gen] + if not (amount == Amount.zero)
  1861. 624.53 s [really-safe-money-gen] then zero
  1862. 624.53 s [really-safe-money-gen] else MultiAmount $ M.singleton currency amount
  1863. 624.53 s [really-safe-money-gen]
  1864. 624.53 s [really-safe-money-gen]
  1865. 624.56 s [really-safe-money-gen] Testing mutation CondFlip at src/Money/MultiAmount.hs:73:3-51:
  1866. 624.56 s [really-safe-money-gen] @@ -70,7 +70,7 @@
  1867. 624.56 s [really-safe-money-gen]
  1868. 624.56 s [really-safe-money-gen] fromAmount :: currency -> Amount -> MultiAmount currency
  1869. 624.56 s [really-safe-money-gen] fromAmount currency amount =
  1870. 624.56 s [really-safe-money-gen] - if amount == Amount.zero
  1871. 624.56 s [really-safe-money-gen] + if amount == Amount.zero
  1872. 624.56 s [really-safe-money-gen] then zero
  1873. 624.56 s [really-safe-money-gen] else MultiAmount $ M.singleton currency amount
  1874. 624.56 s [really-safe-money-gen]
  1875. 624.56 s [really-safe-money-gen]
  1876. 624.58 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/MultiAmount.hs:66:13-29:
  1877. 624.58 s [really-safe-money-gen] @@ -63,7 +63,7 @@
  1878. 624.58 s [really-safe-money-gen] [ genericValidate ma,
  1879. 624.58 s [really-safe-money-gen] decorateMap m $ \_ a ->
  1880. 624.58 s [really-safe-money-gen] declare "The amount is not zero" $
  1881. 624.58 s [really-safe-money-gen] - a /= Amount.zero
  1882. 624.58 s [really-safe-money-gen] + False
  1883. 624.58 s [really-safe-money-gen] ]
  1884. 624.58 s [really-safe-money-gen]
  1885. 624.58 s [really-safe-money-gen] instance (NFData currency) => NFData (MultiAmount currency)
  1886. 624.58 s [really-safe-money-gen]
  1887. 624.85 s [really-safe-money-gen] Testing mutation ConstBool at src/Money/MultiAmount.hs:66:13-29:
  1888. 624.85 s [really-safe-money-gen] @@ -63,7 +63,7 @@
  1889. 624.85 s [really-safe-money-gen] [ genericValidate ma,
  1890. 624.85 s [really-safe-money-gen] decorateMap m $ \_ a ->
  1891. 624.85 s [really-safe-money-gen] declare "The amount is not zero" $
  1892. 624.85 s [really-safe-money-gen] - a /= Amount.zero
  1893. 624.85 s [really-safe-money-gen] + False
  1894. 624.85 s [really-safe-money-gen] ]
  1895. 624.85 s [really-safe-money-gen]
  1896. 624.85 s [really-safe-money-gen] instance (NFData currency) => NFData (MultiAmount currency)
  1897. 624.85 s [really-safe-money-gen]
  1898. 625.12 s [really-safe-money-gen] Testing mutation Negate at src/Money/MultiAmount.hs:66:13-29:
  1899. 625.12 s [really-safe-money-gen] @@ -63,7 +63,7 @@
  1900. 625.12 s [really-safe-money-gen] [ genericValidate ma,
  1901. 625.12 s [really-safe-money-gen] decorateMap m $ \_ a ->
  1902. 625.12 s [really-safe-money-gen] declare "The amount is not zero" $
  1903. 625.12 s [really-safe-money-gen] - a /= Amount.zero
  1904. 625.12 s [really-safe-money-gen] + not (a /= Amount.zero)
  1905. 625.12 s [really-safe-money-gen] ]
  1906. 625.12 s [really-safe-money-gen]
  1907. 625.12 s [really-safe-money-gen] instance (NFData currency) => NFData (MultiAmount currency)
  1908. 625.12 s [really-safe-money-gen]
  1909. 625.15 s [really-safe-money-gen] Testing mutation ListLit at src/Money/MultiAmount.hs:63:7-8:
  1910. 625.15 s [really-safe-money-gen] @@ -60,7 +60,7 @@
  1911. 625.15 s [really-safe-money-gen] instance (Validity currency, Show currency, Ord currency) => Validity (MultiAmount currency) where
  1912. 625.15 s [really-safe-money-gen] validate ma@(MultiAmount m) =
  1913. 625.15 s [really-safe-money-gen] mconcat
  1914. 625.15 s [really-safe-money-gen] - [ genericValidate ma,
  1915. 625.15 s [really-safe-money-gen] + [ genericValidate ma,
  1916. 625.15 s [really-safe-money-gen] decorateMap m $ \_ a ->
  1917. 625.15 s [really-safe-money-gen] declare "The amount is not zero" $
  1918. 625.15 s [really-safe-money-gen] a /= Amount.zero
  1919. 625.15 s [really-safe-money-gen]
  1920. 625.27 s [really-safe-money-gen] Testing mutation ListLit at src/Money/MultiAmount.hs:63:7-8:
  1921. 625.27 s [really-safe-money-gen] @@ -60,7 +60,7 @@
  1922. 625.27 s [really-safe-money-gen] instance (Validity currency, Show currency, Ord currency) => Validity (MultiAmount currency) where
  1923. 625.27 s [really-safe-money-gen] validate ma@(MultiAmount m) =
  1924. 625.27 s [really-safe-money-gen] mconcat
  1925. 625.27 s [really-safe-money-gen] - [ genericValidate ma,
  1926. 625.27 s [really-safe-money-gen] + [ genericValidate ma,
  1927. 625.27 s [really-safe-money-gen] decorateMap m $ \_ a ->
  1928. 625.27 s [really-safe-money-gen] declare "The amount is not zero" $
  1929. 625.27 s [really-safe-money-gen] a /= Amount.zero
  1930. 625.27 s [really-safe-money-gen]
  1931. 625.39 s [really-safe-money-gen] Testing mutation ConstBool at src/Numeric/DecimalLiteral.hs:396:23-27:
  1932. 625.39 s [really-safe-money-gen] @@ -393,5 +393,5 @@
  1933. 625.39 s [really-safe-money-gen] DecimalLiteral mS m e -> DecimalLiteral (go mS) m e
  1934. 625.39 s [really-safe-money-gen] where
  1935. 625.39 s [really-safe-money-gen] go = \case
  1936. 625.39 s [really-safe-money-gen] - Nothing -> Just True
  1937. 625.39 s [really-safe-money-gen] + Nothing -> Just False
  1938. 625.39 s [really-safe-money-gen] s -> s
  1939. 625.39 s [really-safe-money-gen]
  1940. 625.39 s [really-safe-money-gen] Testing mutation ConstBool at src/Numeric/DecimalLiteral.hs:396:23-27:
  1941. 625.39 s [really-safe-money-gen] @@ -393,5 +393,5 @@
  1942. 625.39 s [really-safe-money-gen] DecimalLiteral mS m e -> DecimalLiteral (go mS) m e
  1943. 625.39 s [really-safe-money-gen] where
  1944. 625.39 s [really-safe-money-gen] go = \case
  1945. 625.39 s [really-safe-money-gen] - Nothing -> Just True
  1946. 625.39 s [really-safe-money-gen] + Nothing -> Just False
  1947. 625.39 s [really-safe-money-gen] s -> s
  1948. 625.39 s [really-safe-money-gen]
  1949. 625.39 s [really-safe-money-gen] Testing mutation Negate at src/Numeric/DecimalLiteral.hs:396:23-27:
  1950. 625.39 s [really-safe-money-gen] @@ -393,5 +393,5 @@
  1951. 625.39 s [really-safe-money-gen] DecimalLiteral mS m e -> DecimalLiteral (go mS) m e
  1952. 625.39 s [really-safe-money-gen] where
  1953. 625.39 s [really-safe-money-gen] go = \case
  1954. 625.39 s [really-safe-money-gen] - Nothing -> Just True
  1955. 625.39 s [really-safe-money-gen] + Nothing -> Just not (True)
  1956. 625.39 s [really-safe-money-gen] s -> s
  1957. 625.39 s [really-safe-money-gen]
  1958. 625.39 s [really-safe-money-gen] Testing mutation ConstBool at src/Numeric/DecimalLiteral.hs:368:10-39:
  1959. 625.39 s [really-safe-money-gen] @@ -365,7 +365,7 @@
  1960. 625.39 s [really-safe-money-gen] setMinimumDigits wantedDigits dl =
  1961. 625.39 s [really-safe-money-gen] let currentDigits :: Word8
  1962. 625.40 s [really-safe-money-gen] currentDigits = digits dl
  1963. 625.40 s [really-safe-money-gen] - in if wantedDigits <= currentDigits
  1964. 625.40 s [really-safe-money-gen] + in if False
  1965. 625.40 s [really-safe-money-gen] then dl
  1966. 625.40 s [really-safe-money-gen] else increaseDigits (wantedDigits - currentDigits) dl
  1967. 625.40 s [really-safe-money-gen] where
  1968. 625.40 s [really-safe-money-gen]
  1969. 686.66 s [really-safe-money-gen] Testing mutation ConstBool at src/Numeric/DecimalLiteral.hs:368:10-39:
  1970. 686.66 s [really-safe-money-gen] @@ -365,7 +365,7 @@
  1971. 686.69 s [really-safe-money-gen] setMinimumDigits wantedDigits dl =
  1972. 686.69 s [really-safe-money-gen] let currentDigits :: Word8
  1973. 686.69 s [really-safe-money-gen] currentDigits = digits dl
  1974. 686.69 s [really-safe-money-gen] - in if wantedDigits <= currentDigits
  1975. 686.69 s [really-safe-money-gen] + in if False
  1976. 686.69 s [really-safe-money-gen] then dl
  1977. 686.69 s [really-safe-money-gen] else increaseDigits (wantedDigits - currentDigits) dl
  1978. 686.69 s [really-safe-money-gen] where
  1979. 686.69 s [really-safe-money-gen]
  1980. 746.38 s [really-safe-money-gen] Testing mutation Negate at src/Numeric/DecimalLiteral.hs:368:10-39:
  1981. 746.38 s [really-safe-money-gen] @@ -365,7 +365,7 @@