packages feed

ppad-fixed 0.1.4 → 0.1.5

raw patch · 4 files changed

+335/−705 lines, 4 files

Files

CHANGELOG view
@@ -1,5 +1,9 @@ # Changelog +- 0.1.5 (2026-06-07)+  * Improves constant-time modular inverse performance on the Montgomery+    'Curve' module by about 2x, and on the 'Scalar' module by about 1.5x.+ - 0.1.4 (2026-05-22)   * Adds variable-time comparison functions to Data.Word.Wider. 
lib/Numeric/Montgomery/Secp256k1/Curve.hs view
@@ -474,514 +474,288 @@   :: Limb4   -> Limb4 inv# a =-  let -- montgomery 'one'-      !t0 = L4 0x1000003D1## 0## 0## 0##-      !t1 = sqr# t0-      !t2 = mul# a t1+  let+      !t1 = sqr# a+      !t2 = mul# t1 a       !t3 = sqr# t2-      !t4 = mul# a t3-      !t5 = sqr# t4-      !t6 = mul# a t5+      !t4 = sqr# t3+      !t5 = mul# t4 t2+      !t6 = sqr# t5       !t7 = sqr# t6-      !t8 = mul# a t7+      !t8 = sqr# t7       !t9 = sqr# t8-      !t10 = mul# a t9+      !t10 = mul# t9 t5       !t11 = sqr# t10-      !t12 = mul# a t11+      !t12 = sqr# t11       !t13 = sqr# t12-      !t14 = mul# a t13+      !t14 = sqr# t13       !t15 = sqr# t14-      !t16 = mul# a t15+      !t16 = sqr# t15       !t17 = sqr# t16-      !t18 = mul# a t17-      !t19 = sqr# t18-      !t20 = mul# a t19+      !t18 = sqr# t17+      !t19 = mul# t18 t10+      !t20 = sqr# t19       !t21 = sqr# t20-      !t22 = mul# a t21+      !t22 = sqr# t21       !t23 = sqr# t22-      !t24 = mul# a t23+      !t24 = sqr# t23       !t25 = sqr# t24-      !t26 = mul# a t25+      !t26 = sqr# t25       !t27 = sqr# t26-      !t28 = mul# a t27+      !t28 = sqr# t27       !t29 = sqr# t28-      !t30 = mul# a t29+      !t30 = sqr# t29       !t31 = sqr# t30-      !t32 = mul# a t31+      !t32 = sqr# t31       !t33 = sqr# t32-      !t34 = mul# a t33+      !t34 = sqr# t33       !t35 = sqr# t34-      !t36 = mul# a t35+      !t36 = mul# t35 t19       !t37 = sqr# t36-      !t38 = mul# a t37+      !t38 = sqr# t37       !t39 = sqr# t38-      !t40 = mul# a t39+      !t40 = sqr# t39       !t41 = sqr# t40-      !t42 = mul# a t41+      !t42 = sqr# t41       !t43 = sqr# t42-      !t44 = mul# a t43+      !t44 = sqr# t43       !t45 = sqr# t44-      !t46 = mul# a t45+      !t46 = sqr# t45       !t47 = sqr# t46-      !t48 = mul# a t47+      !t48 = sqr# t47       !t49 = sqr# t48-      !t50 = mul# a t49+      !t50 = sqr# t49       !t51 = sqr# t50-      !t52 = mul# a t51+      !t52 = sqr# t51       !t53 = sqr# t52-      !t54 = mul# a t53+      !t54 = sqr# t53       !t55 = sqr# t54-      !t56 = mul# a t55+      !t56 = sqr# t55       !t57 = sqr# t56-      !t58 = mul# a t57+      !t58 = sqr# t57       !t59 = sqr# t58-      !t60 = mul# a t59+      !t60 = sqr# t59       !t61 = sqr# t60-      !t62 = mul# a t61+      !t62 = sqr# t61       !t63 = sqr# t62-      !t64 = mul# a t63+      !t64 = sqr# t63       !t65 = sqr# t64-      !t66 = mul# a t65+      !t66 = sqr# t65       !t67 = sqr# t66-      !t68 = mul# a t67-      !t69 = sqr# t68-      !t70 = mul# a t69+      !t68 = sqr# t67+      !t69 = mul# t68 t36+      !t70 = sqr# t69       !t71 = sqr# t70-      !t72 = mul# a t71+      !t72 = sqr# t71       !t73 = sqr# t72-      !t74 = mul# a t73+      !t74 = sqr# t73       !t75 = sqr# t74-      !t76 = mul# a t75+      !t76 = sqr# t75       !t77 = sqr# t76-      !t78 = mul# a t77+      !t78 = sqr# t77       !t79 = sqr# t78-      !t80 = mul# a t79+      !t80 = sqr# t79       !t81 = sqr# t80-      !t82 = mul# a t81+      !t82 = sqr# t81       !t83 = sqr# t82-      !t84 = mul# a t83+      !t84 = sqr# t83       !t85 = sqr# t84-      !t86 = mul# a t85+      !t86 = sqr# t85       !t87 = sqr# t86-      !t88 = mul# a t87+      !t88 = sqr# t87       !t89 = sqr# t88-      !t90 = mul# a t89+      !t90 = sqr# t89       !t91 = sqr# t90-      !t92 = mul# a t91+      !t92 = sqr# t91       !t93 = sqr# t92-      !t94 = mul# a t93+      !t94 = sqr# t93       !t95 = sqr# t94-      !t96 = mul# a t95+      !t96 = sqr# t95       !t97 = sqr# t96-      !t98 = mul# a t97+      !t98 = sqr# t97       !t99 = sqr# t98-      !t100 = mul# a t99+      !t100 = sqr# t99       !t101 = sqr# t100-      !t102 = mul# a t101+      !t102 = sqr# t101       !t103 = sqr# t102-      !t104 = mul# a t103+      !t104 = sqr# t103       !t105 = sqr# t104-      !t106 = mul# a t105+      !t106 = sqr# t105       !t107 = sqr# t106-      !t108 = mul# a t107+      !t108 = sqr# t107       !t109 = sqr# t108-      !t110 = mul# a t109+      !t110 = sqr# t109       !t111 = sqr# t110-      !t112 = mul# a t111+      !t112 = sqr# t111       !t113 = sqr# t112-      !t114 = mul# a t113+      !t114 = sqr# t113       !t115 = sqr# t114-      !t116 = mul# a t115+      !t116 = sqr# t115       !t117 = sqr# t116-      !t118 = mul# a t117+      !t118 = sqr# t117       !t119 = sqr# t118-      !t120 = mul# a t119+      !t120 = sqr# t119       !t121 = sqr# t120-      !t122 = mul# a t121+      !t122 = sqr# t121       !t123 = sqr# t122-      !t124 = mul# a t123+      !t124 = sqr# t123       !t125 = sqr# t124-      !t126 = mul# a t125+      !t126 = sqr# t125       !t127 = sqr# t126-      !t128 = mul# a t127+      !t128 = sqr# t127       !t129 = sqr# t128-      !t130 = mul# a t129+      !t130 = sqr# t129       !t131 = sqr# t130-      !t132 = mul# a t131+      !t132 = sqr# t131       !t133 = sqr# t132-      !t134 = mul# a t133+      !t134 = mul# t133 t69       !t135 = sqr# t134-      !t136 = mul# a t135+      !t136 = sqr# t135       !t137 = sqr# t136-      !t138 = mul# a t137+      !t138 = sqr# t137       !t139 = sqr# t138-      !t140 = mul# a t139+      !t140 = sqr# t139       !t141 = sqr# t140-      !t142 = mul# a t141+      !t142 = sqr# t141       !t143 = sqr# t142-      !t144 = mul# a t143+      !t144 = sqr# t143       !t145 = sqr# t144-      !t146 = mul# a t145+      !t146 = sqr# t145       !t147 = sqr# t146-      !t148 = mul# a t147+      !t148 = sqr# t147       !t149 = sqr# t148-      !t150 = mul# a t149+      !t150 = sqr# t149       !t151 = sqr# t150-      !t152 = mul# a t151+      !t152 = sqr# t151       !t153 = sqr# t152-      !t154 = mul# a t153+      !t154 = sqr# t153       !t155 = sqr# t154-      !t156 = mul# a t155+      !t156 = sqr# t155       !t157 = sqr# t156-      !t158 = mul# a t157+      !t158 = sqr# t157       !t159 = sqr# t158-      !t160 = mul# a t159+      !t160 = sqr# t159       !t161 = sqr# t160-      !t162 = mul# a t161+      !t162 = sqr# t161       !t163 = sqr# t162-      !t164 = mul# a t163+      !t164 = sqr# t163       !t165 = sqr# t164-      !t166 = mul# a t165+      !t166 = sqr# t165       !t167 = sqr# t166-      !t168 = mul# a t167+      !t168 = sqr# t167       !t169 = sqr# t168-      !t170 = mul# a t169+      !t170 = sqr# t169       !t171 = sqr# t170-      !t172 = mul# a t171+      !t172 = sqr# t171       !t173 = sqr# t172-      !t174 = mul# a t173+      !t174 = sqr# t173       !t175 = sqr# t174-      !t176 = mul# a t175+      !t176 = sqr# t175       !t177 = sqr# t176-      !t178 = mul# a t177+      !t178 = sqr# t177       !t179 = sqr# t178-      !t180 = mul# a t179+      !t180 = sqr# t179       !t181 = sqr# t180-      !t182 = mul# a t181+      !t182 = sqr# t181       !t183 = sqr# t182-      !t184 = mul# a t183+      !t184 = sqr# t183       !t185 = sqr# t184-      !t186 = mul# a t185+      !t186 = sqr# t185       !t187 = sqr# t186-      !t188 = mul# a t187+      !t188 = sqr# t187       !t189 = sqr# t188-      !t190 = mul# a t189+      !t190 = sqr# t189       !t191 = sqr# t190-      !t192 = mul# a t191+      !t192 = sqr# t191       !t193 = sqr# t192-      !t194 = mul# a t193+      !t194 = sqr# t193       !t195 = sqr# t194-      !t196 = mul# a t195+      !t196 = sqr# t195       !t197 = sqr# t196-      !t198 = mul# a t197-      !t199 = sqr# t198-      !t200 = mul# a t199+      !t198 = sqr# t197+      !t199 = mul# t198 t69+      !t200 = sqr# t199       !t201 = sqr# t200-      !t202 = mul# a t201+      !t202 = sqr# t201       !t203 = sqr# t202-      !t204 = mul# a t203+      !t204 = sqr# t203       !t205 = sqr# t204-      !t206 = mul# a t205+      !t206 = sqr# t205       !t207 = sqr# t206-      !t208 = mul# a t207+      !t208 = sqr# t207       !t209 = sqr# t208-      !t210 = mul# a t209+      !t210 = sqr# t209       !t211 = sqr# t210-      !t212 = mul# a t211+      !t212 = sqr# t211       !t213 = sqr# t212-      !t214 = mul# a t213+      !t214 = sqr# t213       !t215 = sqr# t214-      !t216 = mul# a t215+      !t216 = mul# t215 t19       !t217 = sqr# t216-      !t218 = mul# a t217+      !t218 = sqr# t217       !t219 = sqr# t218-      !t220 = mul# a t219+      !t220 = sqr# t219       !t221 = sqr# t220-      !t222 = mul# a t221+      !t222 = sqr# t221       !t223 = sqr# t222-      !t224 = mul# a t223-      !t225 = sqr# t224-      !t226 = mul# a t225+      !t224 = sqr# t223+      !t225 = mul# t224 t10+      !t226 = sqr# t225       !t227 = sqr# t226-      !t228 = mul# a t227+      !t228 = sqr# t227       !t229 = sqr# t228-      !t230 = mul# a t229+      !t230 = mul# t229 t5       !t231 = sqr# t230-      !t232 = mul# a t231-      !t233 = sqr# t232-      !t234 = mul# a t233-      !t235 = sqr# t234-      !t236 = mul# a t235+      !t232 = sqr# t231+      !t233 = mul# t232 t2+      !t234 = sqr# t233+      !t235 = mul# t234 a+      !t236 = sqr# t19       !t237 = sqr# t236-      !t238 = mul# a t237+      !t238 = sqr# t237       !t239 = sqr# t238-      !t240 = mul# a t239+      !t240 = mul# t239 t5       !t241 = sqr# t240-      !t242 = mul# a t241-      !t243 = sqr# t242-      !t244 = mul# a t243+      !t242 = sqr# t241+      !t243 = mul# t242 t2+      !t244 = sqr# t235       !t245 = sqr# t244-      !t246 = mul# a t245+      !t246 = sqr# t245       !t247 = sqr# t246-      !t248 = mul# a t247+      !t248 = sqr# t247       !t249 = sqr# t248-      !t250 = mul# a t249+      !t250 = sqr# t249       !t251 = sqr# t250-      !t252 = mul# a t251+      !t252 = sqr# t251       !t253 = sqr# t252-      !t254 = mul# a t253+      !t254 = sqr# t253       !t255 = sqr# t254-      !t256 = mul# a t255+      !t256 = sqr# t255       !t257 = sqr# t256-      !t258 = mul# a t257+      !t258 = sqr# t257       !t259 = sqr# t258-      !t260 = mul# a t259+      !t260 = sqr# t259       !t261 = sqr# t260-      !t262 = mul# a t261+      !t262 = sqr# t261       !t263 = sqr# t262-      !t264 = mul# a t263+      !t264 = sqr# t263       !t265 = sqr# t264-      !t266 = mul# a t265-      !t267 = sqr# t266-      !t268 = mul# a t267+      !t266 = sqr# t265+      !t267 = mul# t266 t243+      !t268 = sqr# t267       !t269 = sqr# t268-      !t270 = mul# a t269+      !t270 = sqr# t269       !t271 = sqr# t270-      !t272 = mul# a t271-      !t273 = sqr# t272-      !t274 = mul# a t273+      !t272 = sqr# t271+      !t273 = mul# t272 a+      !t274 = sqr# t273       !t275 = sqr# t274-      !t276 = mul# a t275-      !t277 = sqr# t276-      !t278 = mul# a t277+      !t276 = sqr# t275+      !t277 = mul# t276 t2+      !t278 = sqr# t277       !t279 = sqr# t278-      !t280 = mul# a t279-      !t281 = sqr# t280-      !t282 = mul# a t281-      !t283 = sqr# t282-      !t284 = mul# a t283-      !t285 = sqr# t284-      !t286 = mul# a t285-      !t287 = sqr# t286-      !t288 = mul# a t287-      !t289 = sqr# t288-      !t290 = mul# a t289-      !t291 = sqr# t290-      !t292 = mul# a t291-      !t293 = sqr# t292-      !t294 = mul# a t293-      !t295 = sqr# t294-      !t296 = mul# a t295-      !t297 = sqr# t296-      !t298 = mul# a t297-      !t299 = sqr# t298-      !t300 = mul# a t299-      !t301 = sqr# t300-      !t302 = mul# a t301-      !t303 = sqr# t302-      !t304 = mul# a t303-      !t305 = sqr# t304-      !t306 = mul# a t305-      !t307 = sqr# t306-      !t308 = mul# a t307-      !t309 = sqr# t308-      !t310 = mul# a t309-      !t311 = sqr# t310-      !t312 = mul# a t311-      !t313 = sqr# t312-      !t314 = mul# a t313-      !t315 = sqr# t314-      !t316 = mul# a t315-      !t317 = sqr# t316-      !t318 = mul# a t317-      !t319 = sqr# t318-      !t320 = mul# a t319-      !t321 = sqr# t320-      !t322 = mul# a t321-      !t323 = sqr# t322-      !t324 = mul# a t323-      !t325 = sqr# t324-      !t326 = mul# a t325-      !t327 = sqr# t326-      !t328 = mul# a t327-      !t329 = sqr# t328-      !t330 = mul# a t329-      !t331 = sqr# t330-      !t332 = mul# a t331-      !t333 = sqr# t332-      !t334 = mul# a t333-      !t335 = sqr# t334-      !t336 = mul# a t335-      !t337 = sqr# t336-      !t338 = mul# a t337-      !t339 = sqr# t338-      !t340 = mul# a t339-      !t341 = sqr# t340-      !t342 = mul# a t341-      !t343 = sqr# t342-      !t344 = mul# a t343-      !t345 = sqr# t344-      !t346 = mul# a t345-      !t347 = sqr# t346-      !t348 = mul# a t347-      !t349 = sqr# t348-      !t350 = mul# a t349-      !t351 = sqr# t350-      !t352 = mul# a t351-      !t353 = sqr# t352-      !t354 = mul# a t353-      !t355 = sqr# t354-      !t356 = mul# a t355-      !t357 = sqr# t356-      !t358 = mul# a t357-      !t359 = sqr# t358-      !t360 = mul# a t359-      !t361 = sqr# t360-      !t362 = mul# a t361-      !t363 = sqr# t362-      !t364 = mul# a t363-      !t365 = sqr# t364-      !t366 = mul# a t365-      !t367 = sqr# t366-      !t368 = mul# a t367-      !t369 = sqr# t368-      !t370 = mul# a t369-      !t371 = sqr# t370-      !t372 = mul# a t371-      !t373 = sqr# t372-      !t374 = mul# a t373-      !t375 = sqr# t374-      !t376 = mul# a t375-      !t377 = sqr# t376-      !t378 = mul# a t377-      !t379 = sqr# t378-      !t380 = mul# a t379-      !t381 = sqr# t380-      !t382 = mul# a t381-      !t383 = sqr# t382-      !t384 = mul# a t383-      !t385 = sqr# t384-      !t386 = mul# a t385-      !t387 = sqr# t386-      !t388 = mul# a t387-      !t389 = sqr# t388-      !t390 = mul# a t389-      !t391 = sqr# t390-      !t392 = mul# a t391-      !t393 = sqr# t392-      !t394 = mul# a t393-      !t395 = sqr# t394-      !t396 = mul# a t395-      !t397 = sqr# t396-      !t398 = mul# a t397-      !t399 = sqr# t398-      !t400 = mul# a t399-      !t401 = sqr# t400-      !t402 = mul# a t401-      !t403 = sqr# t402-      !t404 = mul# a t403-      !t405 = sqr# t404-      !t406 = mul# a t405-      !t407 = sqr# t406-      !t408 = mul# a t407-      !t409 = sqr# t408-      !t410 = mul# a t409-      !t411 = sqr# t410-      !t412 = mul# a t411-      !t413 = sqr# t412-      !t414 = mul# a t413-      !t415 = sqr# t414-      !t416 = mul# a t415-      !t417 = sqr# t416-      !t418 = mul# a t417-      !t419 = sqr# t418-      !t420 = mul# a t419-      !t421 = sqr# t420-      !t422 = mul# a t421-      !t423 = sqr# t422-      !t424 = mul# a t423-      !t425 = sqr# t424-      !t426 = mul# a t425-      !t427 = sqr# t426-      !t428 = mul# a t427-      !t429 = sqr# t428-      !t430 = mul# a t429-      !t431 = sqr# t430-      !t432 = mul# a t431-      !t433 = sqr# t432-      !t434 = mul# a t433-      !t435 = sqr# t434-      !t436 = mul# a t435-      !t437 = sqr# t436-      !t438 = mul# a t437-      !t439 = sqr# t438-      !t440 = mul# a t439-      !t441 = sqr# t440-      !t442 = mul# a t441-      !t443 = sqr# t442-      !t444 = mul# a t443-      !t445 = sqr# t444-      !t446 = mul# a t445-      !t447 = sqr# t446-      !t448 = sqr# t447-      !t449 = mul# a t448-      !t450 = sqr# t449-      !t451 = mul# a t450-      !t452 = sqr# t451-      !t453 = mul# a t452-      !t454 = sqr# t453-      !t455 = mul# a t454-      !t456 = sqr# t455-      !t457 = mul# a t456-      !t458 = sqr# t457-      !t459 = mul# a t458-      !t460 = sqr# t459-      !t461 = mul# a t460-      !t462 = sqr# t461-      !t463 = mul# a t462-      !t464 = sqr# t463-      !t465 = mul# a t464-      !t466 = sqr# t465-      !t467 = mul# a t466-      !t468 = sqr# t467-      !t469 = mul# a t468-      !t470 = sqr# t469-      !t471 = mul# a t470-      !t472 = sqr# t471-      !t473 = mul# a t472-      !t474 = sqr# t473-      !t475 = mul# a t474-      !t476 = sqr# t475-      !t477 = mul# a t476-      !t478 = sqr# t477-      !t479 = mul# a t478-      !t480 = sqr# t479-      !t481 = mul# a t480-      !t482 = sqr# t481-      !t483 = mul# a t482-      !t484 = sqr# t483-      !t485 = mul# a t484-      !t486 = sqr# t485-      !t487 = mul# a t486-      !t488 = sqr# t487-      !t489 = mul# a t488-      !t490 = sqr# t489-      !t491 = mul# a t490-      !t492 = sqr# t491-      !t493 = sqr# t492-      !t494 = sqr# t493-      !t495 = sqr# t494-      !t496 = sqr# t495-      !t497 = mul# a t496-      !t498 = sqr# t497-      !t499 = sqr# t498-      !t500 = mul# a t499-      !t501 = sqr# t500-      !t502 = mul# a t501-      !t503 = sqr# t502-      !t504 = sqr# t503-      !t505 = mul# a t504-      !r = t505+      !t280 = mul# t279 a+      !r = t280   in  r {-# INLINE inv# #-} 
lib/Numeric/Montgomery/Secp256k1/Scalar.hs view
@@ -480,461 +480,313 @@   :: Limb4   -> Limb4 inv# a =-  let !t0 = L4 0x402DA1732FC9BEBF## 0x4551231950B75FC4##-               0x0000000000000001## 0x0000000000000000##-      !t1 = sqr# t0-      !t2 = mul# a t1+  let+      !t1 = sqr# a+      !t2 = mul# t1 a       !t3 = sqr# t2-      !t4 = mul# a t3-      !t5 = sqr# t4-      !t6 = mul# a t5+      !t4 = sqr# t3+      !t5 = mul# t4 t2+      !t6 = sqr# t5       !t7 = sqr# t6-      !t8 = mul# a t7+      !t8 = sqr# t7       !t9 = sqr# t8-      !t10 = mul# a t9+      !t10 = mul# t9 t5       !t11 = sqr# t10-      !t12 = mul# a t11+      !t12 = sqr# t11       !t13 = sqr# t12-      !t14 = mul# a t13+      !t14 = sqr# t13       !t15 = sqr# t14-      !t16 = mul# a t15+      !t16 = sqr# t15       !t17 = sqr# t16-      !t18 = mul# a t17-      !t19 = sqr# t18-      !t20 = mul# a t19+      !t18 = sqr# t17+      !t19 = mul# t18 t10+      !t20 = sqr# t19       !t21 = sqr# t20-      !t22 = mul# a t21+      !t22 = sqr# t21       !t23 = sqr# t22-      !t24 = mul# a t23+      !t24 = sqr# t23       !t25 = sqr# t24-      !t26 = mul# a t25+      !t26 = sqr# t25       !t27 = sqr# t26-      !t28 = mul# a t27+      !t28 = sqr# t27       !t29 = sqr# t28-      !t30 = mul# a t29+      !t30 = sqr# t29       !t31 = sqr# t30-      !t32 = mul# a t31+      !t32 = sqr# t31       !t33 = sqr# t32-      !t34 = mul# a t33+      !t34 = sqr# t33       !t35 = sqr# t34-      !t36 = mul# a t35+      !t36 = mul# t35 t19       !t37 = sqr# t36-      !t38 = mul# a t37+      !t38 = sqr# t37       !t39 = sqr# t38-      !t40 = mul# a t39+      !t40 = sqr# t39       !t41 = sqr# t40-      !t42 = mul# a t41+      !t42 = sqr# t41       !t43 = sqr# t42-      !t44 = mul# a t43+      !t44 = sqr# t43       !t45 = sqr# t44-      !t46 = mul# a t45+      !t46 = sqr# t45       !t47 = sqr# t46-      !t48 = mul# a t47+      !t48 = sqr# t47       !t49 = sqr# t48-      !t50 = mul# a t49+      !t50 = sqr# t49       !t51 = sqr# t50-      !t52 = mul# a t51+      !t52 = sqr# t51       !t53 = sqr# t52-      !t54 = mul# a t53+      !t54 = sqr# t53       !t55 = sqr# t54-      !t56 = mul# a t55+      !t56 = sqr# t55       !t57 = sqr# t56-      !t58 = mul# a t57+      !t58 = sqr# t57       !t59 = sqr# t58-      !t60 = mul# a t59+      !t60 = sqr# t59       !t61 = sqr# t60-      !t62 = mul# a t61+      !t62 = sqr# t61       !t63 = sqr# t62-      !t64 = mul# a t63+      !t64 = sqr# t63       !t65 = sqr# t64-      !t66 = mul# a t65+      !t66 = sqr# t65       !t67 = sqr# t66-      !t68 = mul# a t67-      !t69 = sqr# t68-      !t70 = mul# a t69+      !t68 = sqr# t67+      !t69 = mul# t68 t36+      !t70 = sqr# t69       !t71 = sqr# t70-      !t72 = mul# a t71+      !t72 = sqr# t71       !t73 = sqr# t72-      !t74 = mul# a t73+      !t74 = sqr# t73       !t75 = sqr# t74-      !t76 = mul# a t75+      !t76 = sqr# t75       !t77 = sqr# t76-      !t78 = mul# a t77+      !t78 = sqr# t77       !t79 = sqr# t78-      !t80 = mul# a t79+      !t80 = sqr# t79       !t81 = sqr# t80-      !t82 = mul# a t81+      !t82 = sqr# t81       !t83 = sqr# t82-      !t84 = mul# a t83+      !t84 = sqr# t83       !t85 = sqr# t84-      !t86 = mul# a t85+      !t86 = sqr# t85       !t87 = sqr# t86-      !t88 = mul# a t87+      !t88 = sqr# t87       !t89 = sqr# t88-      !t90 = mul# a t89+      !t90 = sqr# t89       !t91 = sqr# t90-      !t92 = mul# a t91+      !t92 = sqr# t91       !t93 = sqr# t92-      !t94 = mul# a t93+      !t94 = sqr# t93       !t95 = sqr# t94-      !t96 = mul# a t95+      !t96 = sqr# t95       !t97 = sqr# t96-      !t98 = mul# a t97+      !t98 = sqr# t97       !t99 = sqr# t98-      !t100 = mul# a t99+      !t100 = sqr# t99       !t101 = sqr# t100-      !t102 = mul# a t101+      !t102 = mul# t101 t36       !t103 = sqr# t102-      !t104 = mul# a t103+      !t104 = sqr# t103       !t105 = sqr# t104-      !t106 = mul# a t105+      !t106 = sqr# t105       !t107 = sqr# t106-      !t108 = mul# a t107+      !t108 = sqr# t107       !t109 = sqr# t108-      !t110 = mul# a t109+      !t110 = sqr# t109       !t111 = sqr# t110-      !t112 = mul# a t111+      !t112 = sqr# t111       !t113 = sqr# t112-      !t114 = mul# a t113+      !t114 = sqr# t113       !t115 = sqr# t114-      !t116 = mul# a t115+      !t116 = sqr# t115       !t117 = sqr# t116-      !t118 = mul# a t117-      !t119 = sqr# t118-      !t120 = mul# a t119+      !t118 = sqr# t117+      !t119 = mul# t118 t19+      !t120 = sqr# t119       !t121 = sqr# t120-      !t122 = mul# a t121+      !t122 = sqr# t121       !t123 = sqr# t122-      !t124 = mul# a t123+      !t124 = sqr# t123       !t125 = sqr# t124-      !t126 = mul# a t125+      !t126 = sqr# t125       !t127 = sqr# t126-      !t128 = mul# a t127+      !t128 = mul# t127 t10       !t129 = sqr# t128-      !t130 = mul# a t129+      !t130 = sqr# t129       !t131 = sqr# t130-      !t132 = mul# a t131-      !t133 = sqr# t132-      !t134 = mul# a t133+      !t132 = sqr# t131+      !t133 = mul# t132 t5+      !t134 = sqr# t133       !t135 = sqr# t134-      !t136 = mul# a t135+      !t136 = mul# t135 t2       !t137 = sqr# t136-      !t138 = mul# a t137-      !t139 = sqr# t138-      !t140 = mul# a t139-      !t141 = sqr# t140-      !t142 = mul# a t141-      !t143 = sqr# t142-      !t144 = mul# a t143+      !t138 = mul# t137 a+      !t139 = sqr# t2+      !t140 = mul# t139 a+      !t141 = sqr# t5+      !t142 = sqr# t141+      !t143 = mul# t142 t2+      !t144 = sqr# t138       !t145 = sqr# t144-      !t146 = mul# a t145+      !t146 = mul# t145 a       !t147 = sqr# t146-      !t148 = mul# a t147+      !t148 = sqr# t147       !t149 = sqr# t148-      !t150 = mul# a t149-      !t151 = sqr# t150-      !t152 = mul# a t151+      !t150 = sqr# t149+      !t151 = mul# t150 t140+      !t152 = sqr# t151       !t153 = sqr# t152-      !t154 = mul# a t153+      !t154 = mul# t153 a       !t155 = sqr# t154-      !t156 = mul# a t155-      !t157 = sqr# t156-      !t158 = mul# a t157+      !t156 = sqr# t155+      !t157 = mul# t156 a+      !t158 = sqr# t157       !t159 = sqr# t158-      !t160 = mul# a t159+      !t160 = mul# t159 a       !t161 = sqr# t160-      !t162 = mul# a t161+      !t162 = sqr# t161       !t163 = sqr# t162-      !t164 = mul# a t163-      !t165 = sqr# t164-      !t166 = mul# a t165+      !t164 = sqr# t163+      !t165 = mul# t164 t140+      !t166 = sqr# t165       !t167 = sqr# t166-      !t168 = mul# a t167-      !t169 = sqr# t168-      !t170 = mul# a t169+      !t168 = sqr# t167+      !t169 = mul# t168 t2+      !t170 = sqr# t169       !t171 = sqr# t170-      !t172 = mul# a t171+      !t172 = sqr# t171       !t173 = sqr# t172-      !t174 = mul# a t173+      !t174 = mul# t173 t140       !t175 = sqr# t174-      !t176 = mul# a t175+      !t176 = sqr# t175       !t177 = sqr# t176-      !t178 = mul# a t177+      !t178 = sqr# t177       !t179 = sqr# t178-      !t180 = mul# a t179+      !t180 = mul# t179 t140       !t181 = sqr# t180-      !t182 = mul# a t181+      !t182 = sqr# t181       !t183 = sqr# t182-      !t184 = mul# a t183-      !t185 = sqr# t184-      !t186 = mul# a t185+      !t184 = sqr# t183+      !t185 = mul# t184 t2+      !t186 = sqr# t185       !t187 = sqr# t186-      !t188 = mul# a t187+      !t188 = mul# t187 a       !t189 = sqr# t188-      !t190 = mul# a t189-      !t191 = sqr# t190-      !t192 = mul# a t191+      !t190 = sqr# t189+      !t191 = mul# t190 a+      !t192 = sqr# t191       !t193 = sqr# t192-      !t194 = mul# a t193+      !t194 = sqr# t193       !t195 = sqr# t194-      !t196 = mul# a t195-      !t197 = sqr# t196-      !t198 = mul# a t197+      !t196 = sqr# t195+      !t197 = mul# t196 t5+      !t198 = sqr# t197       !t199 = sqr# t198-      !t200 = mul# a t199+      !t200 = mul# t199 a       !t201 = sqr# t200-      !t202 = mul# a t201+      !t202 = sqr# t201       !t203 = sqr# t202-      !t204 = mul# a t203+      !t204 = mul# t203 a       !t205 = sqr# t204-      !t206 = mul# a t205+      !t206 = sqr# t205       !t207 = sqr# t206-      !t208 = mul# a t207-      !t209 = sqr# t208-      !t210 = mul# a t209+      !t208 = sqr# t207+      !t209 = mul# t208 a+      !t210 = sqr# t209       !t211 = sqr# t210-      !t212 = mul# a t211+      !t212 = mul# t211 a       !t213 = sqr# t212-      !t214 = mul# a t213+      !t214 = sqr# t213       !t215 = sqr# t214-      !t216 = mul# a t215+      !t216 = sqr# t215       !t217 = sqr# t216-      !t218 = mul# a t217+      !t218 = sqr# t217       !t219 = sqr# t218-      !t220 = mul# a t219+      !t220 = sqr# t219       !t221 = sqr# t220-      !t222 = mul# a t221-      !t223 = sqr# t222-      !t224 = mul# a t223+      !t222 = sqr# t221+      !t223 = mul# t222 t140+      !t224 = sqr# t223       !t225 = sqr# t224-      !t226 = mul# a t225+      !t226 = sqr# t225       !t227 = sqr# t226-      !t228 = mul# a t227+      !t228 = mul# t227 t140       !t229 = sqr# t228-      !t230 = mul# a t229+      !t230 = sqr# t229       !t231 = sqr# t230-      !t232 = mul# a t231+      !t232 = sqr# t231       !t233 = sqr# t232-      !t234 = mul# a t233+      !t234 = sqr# t233       !t235 = sqr# t234-      !t236 = mul# a t235+      !t236 = sqr# t235       !t237 = sqr# t236-      !t238 = mul# a t237+      !t238 = mul# t237 t10       !t239 = sqr# t238-      !t240 = mul# a t239-      !t241 = sqr# t240-      !t242 = mul# a t241+      !t240 = sqr# t239+      !t241 = mul# t240 a+      !t242 = sqr# t241       !t243 = sqr# t242-      !t244 = mul# a t243-      !t245 = sqr# t244-      !t246 = mul# a t245+      !t244 = sqr# t243+      !t245 = mul# t244 a+      !t246 = sqr# t245       !t247 = sqr# t246-      !t248 = mul# a t247-      !t249 = sqr# t248-      !t250 = mul# a t249+      !t248 = sqr# t247+      !t249 = mul# t248 a+      !t250 = sqr# t249       !t251 = sqr# t250-      !t252 = mul# a t251+      !t252 = sqr# t251       !t253 = sqr# t252-      !t254 = mul# a t253-      !t255 = sqr# t254+      !t254 = sqr# t253+      !t255 = mul# t254 t5       !t256 = sqr# t255-      !t257 = mul# a t256-      !t258 = sqr# t257+      !t257 = sqr# t256+      !t258 = mul# t257 a       !t259 = sqr# t258-      !t260 = mul# a t259+      !t260 = sqr# t259       !t261 = sqr# t260-      !t262 = mul# a t261+      !t262 = sqr# t261       !t263 = sqr# t262-      !t264 = mul# a t263+      !t264 = mul# t263 t2       !t265 = sqr# t264       !t266 = sqr# t265-      !t267 = mul# a t266+      !t267 = sqr# t266       !t268 = sqr# t267-      !t269 = sqr# t268-      !t270 = mul# a t269+      !t269 = mul# t268 t2+      !t270 = sqr# t269       !t271 = sqr# t270-      !t272 = sqr# t271-      !t273 = mul# a t272+      !t272 = mul# t271 a+      !t273 = sqr# t272       !t274 = sqr# t273       !t275 = sqr# t274-      !t276 = mul# a t275+      !t276 = sqr# t275       !t277 = sqr# t276-      !t278 = mul# a t277+      !t278 = sqr# t277       !t279 = sqr# t278-      !t280 = mul# a t279-      !t281 = sqr# t280+      !t280 = sqr# t279+      !t281 = mul# t280 t2       !t282 = sqr# t281-      !t283 = mul# a t282+      !t283 = sqr# t282       !t284 = sqr# t283-      !t285 = mul# a t284+      !t285 = mul# t284 t2       !t286 = sqr# t285       !t287 = sqr# t286-      !t288 = mul# a t287-      !t289 = sqr# t288-      !t290 = mul# a t289+      !t288 = sqr# t287+      !t289 = mul# t288 a+      !t290 = sqr# t289       !t291 = sqr# t290-      !t292 = mul# a t291+      !t292 = sqr# t291       !t293 = sqr# t292       !t294 = sqr# t293       !t295 = sqr# t294-      !t296 = mul# a t295+      !t296 = mul# t295 a       !t297 = sqr# t296-      !t298 = mul# a t297+      !t298 = sqr# t297       !t299 = sqr# t298-      !t300 = mul# a t299+      !t300 = sqr# t299       !t301 = sqr# t300       !t302 = sqr# t301       !t303 = sqr# t302-      !t304 = mul# a t303-      !t305 = sqr# t304-      !t306 = mul# a t305-      !t307 = sqr# t306-      !t308 = sqr# t307-      !t309 = mul# a t308-      !t310 = sqr# t309-      !t311 = sqr# t310-      !t312 = mul# a t311-      !t313 = sqr# t312-      !t314 = sqr# t313-      !t315 = mul# a t314-      !t316 = sqr# t315-      !t317 = mul# a t316-      !t318 = sqr# t317-      !t319 = mul# a t318-      !t320 = sqr# t319-      !t321 = mul# a t320-      !t322 = sqr# t321-      !t323 = sqr# t322-      !t324 = mul# a t323-      !t325 = sqr# t324-      !t326 = sqr# t325-      !t327 = sqr# t326-      !t328 = mul# a t327-      !t329 = sqr# t328-      !t330 = sqr# t329-      !t331 = sqr# t330-      !t332 = sqr# t331-      !t333 = mul# a t332-      !t334 = sqr# t333-      !t335 = sqr# t334-      !t336 = mul# a t335-      !t337 = sqr# t336-      !t338 = sqr# t337-      !t339 = sqr# t338-      !t340 = sqr# t339-      !t341 = sqr# t340-      !t342 = sqr# t341-      !t343 = sqr# t342-      !t344 = sqr# t343-      !t345 = mul# a t344-      !t346 = sqr# t345-      !t347 = mul# a t346-      !t348 = sqr# t347-      !t349 = mul# a t348-      !t350 = sqr# t349-      !t351 = sqr# t350-      !t352 = mul# a t351-      !t353 = sqr# t352-      !t354 = mul# a t353-      !t355 = sqr# t354-      !t356 = mul# a t355-      !t357 = sqr# t356-      !t358 = sqr# t357-      !t359 = mul# a t358-      !t360 = sqr# t359-      !t361 = mul# a t360-      !t362 = sqr# t361-      !t363 = mul# a t362-      !t364 = sqr# t363-      !t365 = mul# a t364-      !t366 = sqr# t365-      !t367 = mul# a t366-      !t368 = sqr# t367-      !t369 = mul# a t368-      !t370 = sqr# t369-      !t371 = mul# a t370-      !t372 = sqr# t371-      !t373 = mul# a t372-      !t374 = sqr# t373-      !t375 = sqr# t374-      !t376 = mul# a t375-      !t377 = sqr# t376-      !t378 = sqr# t377-      !t379 = sqr# t378-      !t380 = mul# a t379-      !t381 = sqr# t380-      !t382 = sqr# t381-      !t383 = sqr# t382-      !t384 = mul# a t383-      !t385 = sqr# t384-      !t386 = sqr# t385-      !t387 = mul# a t386-      !t388 = sqr# t387-      !t389 = mul# a t388-      !t390 = sqr# t389-      !t391 = mul# a t390-      !t392 = sqr# t391-      !t393 = mul# a t392-      !t394 = sqr# t393-      !t395 = sqr# t394-      !t396 = mul# a t395-      !t397 = sqr# t396-      !t398 = sqr# t397-      !t399 = sqr# t398-      !t400 = sqr# t399-      !t401 = mul# a t400-      !t402 = sqr# t401-      !t403 = mul# a t402-      !t404 = sqr# t403-      !t405 = sqr# t404-      !t406 = sqr# t405-      !t407 = mul# a t406-      !t408 = sqr# t407-      !t409 = mul# a t408-      !t410 = sqr# t409-      !t411 = sqr# t410-      !t412 = mul# a t411-      !t413 = sqr# t412-      !t414 = sqr# t413-      !t415 = sqr# t414-      !t416 = sqr# t415-      !t417 = sqr# t416-      !t418 = sqr# t417-      !t419 = sqr# t418-      !t420 = mul# a t419-      !t421 = sqr# t420-      !t422 = mul# a t421-      !t423 = sqr# t422-      !t424 = sqr# t423-      !t425 = mul# a t424-      !t426 = sqr# t425-      !t427 = mul# a t426-      !t428 = sqr# t427-      !t429 = sqr# t428-      !t430 = sqr# t429-      !t431 = mul# a t430-      !t432 = sqr# t431-      !t433 = sqr# t432-      !t434 = sqr# t433-      !t435 = sqr# t434-      !t436 = sqr# t435-      !t437 = sqr# t436-      !t438 = mul# a t437-      !t439 = sqr# t438-      !t440 = sqr# t439-      !t441 = sqr# t440-      !t442 = mul# a t441-      !t443 = sqr# t442-      !t444 = mul# a t443-      !t445 = sqr# t444-      !t446 = mul# a t445-      !t447 = sqr# t446-      !t448 = mul# a t447-      !t449 = sqr# t448-      !t450 = mul# a t449-      !t451 = sqr# t450-      !t452 = mul# a t451-      !r = t452+      !t304 = sqr# t303+      !t305 = mul# t304 t143+      !r = t305   in  r {-# INLINE inv# #-} 
ppad-fixed.cabal view
@@ -1,6 +1,6 @@ cabal-version:      3.0 name:               ppad-fixed-version:            0.1.4+version:            0.1.5 synopsis:           Large fixed-width words and constant-time arithmetic. license:            MIT license-file:       LICENSE