{ "access": { "embargo": { "active": false, "reason": null }, "files": "public", "record": "public", "status": "open" }, "created": "2019-06-17T16:11:36.744326+00:00", "custom_fields": {}, "deletion_status": { "is_deleted": false, "status": "P" }, "files": { "count": 1, "enabled": true, "entries": { "Experiments.zip": { "checksum": "md5:5e5bbcc7c6970a7b341e7dbf104dfb97", "ext": "zip", "id": "bf602b0a-28b7-44f4-af5b-f4e634e43807", "key": "Experiments.zip", "metadata": null, "mimetype": "application/zip", "size": 566386 } }, "order": [], "total_bytes": 566386 }, "id": "3247727", "is_draft": false, "is_published": true, "links": { "access": "https://zenodo.org/api/records/3247727/access", "access_links": "https://zenodo.org/api/records/3247727/access/links", "access_request": "https://zenodo.org/api/records/3247727/access/request", "access_users": "https://zenodo.org/api/records/3247727/access/users", "archive": "https://zenodo.org/api/records/3247727/files-archive", "archive_media": "https://zenodo.org/api/records/3247727/media-files-archive", "communities": "https://zenodo.org/api/records/3247727/communities", "communities-suggestions": "https://zenodo.org/api/records/3247727/communities-suggestions", "doi": "https://doi.org/10.5281/zenodo.3247727", "draft": "https://zenodo.org/api/records/3247727/draft", "files": "https://zenodo.org/api/records/3247727/files", "latest": "https://zenodo.org/api/records/3247727/versions/latest", "latest_html": "https://zenodo.org/records/3247727/latest", "media_files": "https://zenodo.org/api/records/3247727/media-files", "parent": "https://zenodo.org/api/records/2525350", "parent_doi": "https://zenodo.org/doi/10.5281/zenodo.2525350", "parent_html": "https://zenodo.org/records/2525350", "requests": "https://zenodo.org/api/records/3247727/requests", "reserve_doi": "https://zenodo.org/api/records/3247727/draft/pids/doi", "self": "https://zenodo.org/api/records/3247727", "self_doi": "https://zenodo.org/doi/10.5281/zenodo.3247727", "self_html": "https://zenodo.org/records/3247727", "self_iiif_manifest": "https://zenodo.org/api/iiif/record:3247727/manifest", "self_iiif_sequence": "https://zenodo.org/api/iiif/record:3247727/sequence/default", "versions": "https://zenodo.org/api/records/3247727/versions" }, "media_files": { "count": 0, "enabled": false, "entries": {}, "order": [], "total_bytes": 0 }, "metadata": { "creators": [ { "affiliations": [ { "name": "University of La Rioja, Spain" } ], "person_or_org": { "family_name": "Divas\u00f3n", "given_name": "Jose", "identifiers": [ { "identifier": "0000-0002-5173-128X", "scheme": "orcid" } ], "name": "Divas\u00f3n, Jose", "type": "personal" } }, { "affiliations": [ { "name": "University of Innsbruck, Austria" } ], "person_or_org": { "family_name": "Joosten", "given_name": "Sebastiaan J. C.", "identifiers": [ { "identifier": "0000-0002-6590-6220", "scheme": "orcid" } ], "name": "Joosten, Sebastiaan J. C.", "type": "personal" } }, { "affiliations": [ { "name": "University of Innsbruck, Austria" } ], "person_or_org": { "family_name": "Thiemann", "given_name": "Ren\u00e9", "identifiers": [ { "identifier": "0000-0002-0323-8829", "scheme": "orcid" } ], "name": "Thiemann, Ren\u00e9", "type": "personal" } }, { "affiliations": [ { "name": "University of Innsbruck, Austria" } ], "person_or_org": { "family_name": "Yamada", "given_name": "Akihisa", "identifiers": [ { "identifier": "0000-0001-8872-2240", "scheme": "orcid" } ], "name": "Yamada, Akihisa", "type": "personal" } } ], "description": "
This is the supporting material for the paper A Verified Implementation of the Berlekamp–Zassenhaus Factorization Algorithm by Jose Divasón, Sebastiaan Joosten, René Thiemann and Akihisa Yamada.
\n\nAbstract
\n\nWe formalize the Berlekamp--Zassenhaus algorithm for factoring square-free integer polynomials in Isabelle/HOL. We further adapt an existing formalization of Yun's square-free factorization algorithm to integer polynomials, and thus provide an efficient and certified factorization algorithm for arbitrary univariate polynomials.
\n\nThe algorithm first performs factorization in the prime field GF(p) and then performs computations in the ring of integers modulo pk, where both p and k are determined at runtime. Since a natural modeling of these structures via dependent types is not possible in Isabelle/HOL, we formalize the whole algorithm using locales and local type definitions.
\n\nThrough experiments we verify that our algorithm factors polynomials of degree up to 500 within seconds.
\n\nFormalization
\n\nThe formalization is part of the Archive of Formal Proofs for Isabelle 2019 within the entry The Factorization Algorithm of Berlekamp and Zassenhaus.
\n\nThe following list documents the relationship between the paper and the formalization:
\n\nSection 1 Introduction
\n\nSection 3 Formalizing Prime Fields
\n\nSection 4 Square-Free Factorization of Integer Polynomials
\n\nSection 5 Square-Free Polynomials in GF(p)
\n\nSection 6 Berlekamp's Algorithm
\n\nSection 7 Mignotte's Factor Bound
\n\nSection 8 Hensel Lifting
\n\nSection 9 Reconstructing True Factors
\n\nSection 10 Assembled Factorization Algorithm
\n\nExperiments
\n\nOne can rerun the experiments as follows:
\n\nOne can also run the experiments disabling some of the optimizations by means of the files Code_New_No_{...}/Main.hs
\n\nIn addition, the Isabelle file Generate_Code.thy generates the Haskell sources.
\n\nThe following table contains all the experiments of Figure 1 in the article.
\n\nPolynomial Mathematica Old New
\npoly_100.poly 0.478s 0.194s 0.085s
\npoly_101.poly 0.449s 0.209s 0.095s
\npoly_102.poly 0.475s 0.247s 0.145s
\npoly_103.poly 0.491s 0.171s 0.109s
\npoly_104.poly 0.479s 0.131s 0.096s
\npoly_105.poly 0.492s 0.276s 0.140s
\npoly_106.poly 0.458s 0.148s 0.097s
\npoly_107.poly 0.463s 0.180s 0.107s
\npoly_108.poly 0.472s 0.216s 0.122s
\npoly_109.poly 0.477s 0.154s 0.103s
\npoly_110.poly 0.457s 0.180s 0.119s
\npoly_111.poly 0.465s 0.218s 0.122s
\npoly_112.poly 0.487s 0.217s 0.132s
\npoly_113.poly 0.471s 0.130s 0.084s
\npoly_114.poly 0.465s 0.269s 0.120s
\npoly_115.poly 0.464s 0.243s 0.105s
\npoly_116.poly 0.457s 0.269s 0.122s
\npoly_117.poly 0.476s 0.333s 0.135s
\npoly_118.poly 0.498s 0.220s 0.082s
\npoly_119.poly 0.462s 0.228s 0.134s
\npoly_120.poly 0.449s 0.318s 0.109s
\npoly_121.poly 0.485s 0.271s 0.181s
\npoly_122.poly 0.483s 0.229s 0.108s
\npoly_123.poly 0.465s 0.254s 0.147s
\npoly_124.poly 0.495s 0.278s 0.158s
\npoly_125.poly 0.460s 0.378s 0.157s
\npoly_126.poly 0.480s 0.306s 0.168s
\npoly_127.poly 0.476s 0.328s 0.198s
\npoly_128.poly 0.492s 0.272s 0.144s
\npoly_129.poly 0.464s 0.421s 0.226s
\npoly_130.poly 0.483s 0.267s 0.132s
\npoly_131.poly 0.497s 0.329s 0.158s
\npoly_132.poly 0.471s 0.482s 0.241s
\npoly_133.poly 0.493s 0.448s 0.294s
\npoly_134.poly 0.474s 0.317s 0.172s
\npoly_135.poly 0.507s 0.408s 0.170s
\npoly_136.poly 0.502s 0.429s 0.242s
\npoly_137.poly 0.499s 0.279s 0.171s
\npoly_138.poly 0.480s 0.326s 0.195s
\npoly_139.poly 0.499s 0.327s 0.157s
\npoly_140.poly 0.481s 0.390s 0.245s
\npoly_141.poly 0.516s 0.412s 0.249s
\npoly_142.poly 0.496s 0.295s 0.192s
\npoly_143.poly 0.500s 0.280s 0.185s
\npoly_144.poly 0.525s 0.513s 0.268s
\npoly_145.poly 0.518s 0.424s 0.257s
\npoly_146.poly 0.492s 0.478s 0.209s
\npoly_147.poly 0.474s 0.595s 0.296s
\npoly_148.poly 0.483s 0.379s 0.209s
\npoly_149.poly 0.483s 0.542s 0.296s
\npoly_150.poly 0.493s 0.224s 0.131s
\npoly_151.poly 0.484s 0.533s 0.232s
\npoly_152.poly 0.537s 0.473s 0.183s
\npoly_153.poly 0.513s 0.500s 0.301s
\npoly_154.poly 0.487s 0.357s 0.183s
\npoly_155.poly 0.544s 0.659s 0.294s
\npoly_156.poly 0.497s 0.627s 0.221s
\npoly_157.poly 0.491s 0.706s 0.390s
\npoly_158.poly 0.538s 0.473s 0.208s
\npoly_159.poly 0.487s 0.920s 0.470s
\npoly_160.poly 0.544s 0.665s 0.249s
\npoly_161.poly 0.515s 0.605s 0.207s
\npoly_162.poly 0.509s 1.037s 0.384s
\npoly_163.poly 0.493s 0.622s 0.294s
\npoly_164.poly 0.498s 0.441s 0.269s
\npoly_165.poly 0.487s 0.889s 0.432s
\npoly_166.poly 0.561s 0.578s 0.299s
\npoly_167.poly 0.531s 0.905s 0.236s
\npoly_168.poly 0.504s 0.834s 0.318s
\npoly_169.poly 0.533s 1.177s 0.347s
\npoly_170.poly 0.534s 0.743s 0.271s
\npoly_171.poly 0.509s 0.718s 0.393s
\npoly_172.poly 0.590s 0.703s 0.342s
\npoly_173.poly 0.488s 0.828s 0.259s
\npoly_174.poly 0.526s 0.711s 0.346s
\npoly_175.poly 0.522s 0.722s 0.428s
\npoly_176.poly 0.559s 0.722s 0.295s
\npoly_177.poly 0.521s 1.151s 0.320s
\npoly_178.poly 0.504s 0.816s 0.333s
\npoly_179.poly 0.535s 1.206s 0.629s
\npoly_180.poly 0.495s 0.707s 0.293s
\npoly_181.poly 0.478s 0.948s 0.331s
\npoly_182.poly 0.537s 1.259s 0.435s
\npoly_183.poly 0.519s 0.863s 0.390s
\npoly_184.poly 0.550s 1.716s 0.669s
\npoly_185.poly 0.507s 1.166s 0.320s
\npoly_186.poly 0.556s 1.187s 0.508s
\npoly_187.poly 0.547s 1.070s 0.654s
\npoly_188.poly 0.529s 0.979s 0.354s
\npoly_189.poly 1.232s 1.565s 0.578s
\npoly_190.poly 0.578s 1.383s 0.407s
\npoly_191.poly 0.521s 1.093s 0.417s
\npoly_192.poly 0.510s 1.031s 0.393s
\npoly_193.poly 0.623s 0.886s 0.524s
\npoly_194.poly 0.548s 1.434s 0.562s
\npoly_195.poly 0.525s 1.580s 0.336s
\npoly_196.poly 0.567s 1.640s 0.647s
\npoly_197.poly 0.543s 1.223s 0.593s
\npoly_198.poly 0.569s 1.351s 0.732s
\npoly_199.poly 0.547s 1.096s 0.469s
\npoly_200.poly 0.507s 1.449s 0.729s
\npoly_201.poly 0.643s 1.653s 0.594s
\npoly_202.poly 0.550s 1.233s 0.361s
\npoly_203.poly 0.612s 1.274s 0.651s
\npoly_204.poly 0.538s 1.064s 0.595s
\npoly_205.poly 0.628s 1.539s 0.767s
\npoly_206.poly 0.587s 1.217s 0.486s
\npoly_207.poly 0.496s 1.833s 0.533s
\npoly_208.poly 0.565s 1.547s 0.370s
\npoly_209.poly 0.557s 1.796s 0.805s
\npoly_210.poly 0.507s 1.988s 0.504s
\npoly_211.poly 0.710s 1.440s 0.661s
\npoly_212.poly 0.567s 1.301s 0.443s
\npoly_213.poly 0.535s 1.277s 0.463s
\npoly_214.poly 0.562s 1.963s 0.769s
\npoly_215.poly 0.607s 1.809s 0.695s
\npoly_216.poly 0.556s 1.627s 0.835s
\npoly_217.poly 0.583s 2.044s 0.837s
\npoly_218.poly 0.622s 2.638s 0.571s
\npoly_219.poly 0.618s 1.851s 0.755s
\npoly_220.poly 0.549s 2.227s 0.605s
\npoly_221.poly 0.562s 1.441s 0.725s
\npoly_222.poly 0.519s 1.129s 0.595s
\npoly_223.poly 0.538s 2.158s 0.863s
\npoly_224.poly 0.542s 1.832s 0.646s
\npoly_225.poly 0.533s 3.330s 0.928s
\npoly_226.poly 0.635s 1.760s 0.953s
\npoly_227.poly 0.560s 1.580s 0.460s
\npoly_228.poly 0.609s 2.838s 1.023s
\npoly_229.poly 0.636s 1.961s 0.860s
\npoly_230.poly 0.643s 1.743s 0.459s
\npoly_231.poly 0.756s 2.141s 0.722s
\npoly_232.poly 0.553s 2.869s 1.206s
\npoly_233.poly 0.627s 1.933s 0.755s
\npoly_234.poly 0.567s 3.316s 0.435s
\npoly_235.poly 0.633s 2.612s 0.758s
\npoly_236.poly 0.542s 1.896s 0.490s
\npoly_237.poly 0.693s 3.163s 0.729s
\npoly_238.poly 0.647s 1.464s 0.699s
\npoly_239.poly 0.555s 1.564s 0.658s
\npoly_240.poly 0.567s 2.361s 0.793s
\npoly_241.poly 0.640s 3.208s 0.607s
\npoly_242.poly 0.780s 2.006s 0.876s
\npoly_243.poly 0.556s 2.465s 0.973s
\npoly_244.poly 0.694s 2.305s 1.191s
\npoly_245.poly 0.588s 2.651s 0.525s
\npoly_246.poly 0.588s 3.791s 0.973s
\npoly_247.poly 0.684s 3.583s 0.820s
\npoly_248.poly 0.626s 3.027s 1.153s
\npoly_249.poly 0.540s 1.997s 0.647s
\npoly_250.poly 0.614s 2.558s 1.139s
\npoly_251.poly 0.663s 2.376s 1.259s
\npoly_252.poly 0.655s 2.551s 0.952s
\npoly_253.poly 0.685s 3.436s 0.999s
\npoly_254.poly 0.727s 3.217s 1.133s
\npoly_255.poly 0.831s 2.706s 0.923s
\npoly_256.poly 0.730s 3.011s 1.385s
\npoly_257.poly 0.605s 2.808s 1.121s
\npoly_258.poly 0.609s 2.056s 0.825s
\npoly_259.poly 0.740s 3.579s 1.263s
\npoly_260.poly 0.655s 3.068s 1.411s
\npoly_261.poly 0.647s 2.959s 1.240s
\npoly_262.poly 0.574s 3.489s 1.158s
\npoly_263.poly 0.757s 3.162s 1.207s
\npoly_264.poly 0.710s 3.118s 1.047s
\npoly_265.poly 0.728s 3.967s 1.332s
\npoly_266.poly 0.765s 3.685s 1.115s
\npoly_267.poly 0.592s 4.304s 1.330s
\npoly_268.poly 0.717s 3.360s 1.578s
\npoly_269.poly 0.885s 4.903s 0.857s
\npoly_270.poly 0.953s 3.333s 1.233s
\npoly_271.poly 0.817s 3.409s 0.753s
\npoly_272.poly 0.776s 3.498s 1.303s
\npoly_273.poly 0.707s 4.628s 0.852s
\npoly_274.poly 0.689s 5.255s 1.282s
\npoly_275.poly 0.892s 5.099s 0.855s
\npoly_276.poly 0.567s 4.737s 1.194s
\npoly_277.poly 0.873s 4.736s 0.962s
\npoly_278.poly 0.766s 3.295s 1.257s
\npoly_279.poly 0.969s 2.762s 0.942s
\npoly_280.poly 0.732s 4.787s 0.891s
\npoly_281.poly 0.732s 4.608s 1.302s
\npoly_282.poly 0.871s 5.127s 0.782s
\npoly_283.poly 0.738s 3.931s 1.004s
\npoly_284.poly 0.857s 4.326s 1.888s
\npoly_285.poly 0.646s 5.082s 1.506s
\npoly_286.poly 0.815s 4.132s 1.396s
\npoly_287.poly 0.965s 4.368s 1.355s
\npoly_288.poly 0.746s 4.417s 1.476s
\npoly_289.poly 0.764s 6.243s 1.312s
\npoly_290.poly 0.610s 3.899s 0.984s
\npoly_291.poly 0.680s 5.110s 0.958s
\npoly_292.poly 0.717s 5.487s 0.880s
\npoly_293.poly 0.717s 8.597s 1.738s
\npoly_294.poly 0.721s 6.355s 2.375s
\npoly_295.poly 0.987s 3.809s 1.191s
\npoly_296.poly 0.876s 5.080s 2.065s
\npoly_297.poly 0.882s 5.162s 1.925s
\npoly_298.poly 1.053s 6.622s 1.675s
\npoly_299.poly 0.787s 4.366s 1.351s
\npoly_300.poly 0.878s 7.252s 1.340s
\npoly_301.poly 0.718s 5.359s 0.977s
\npoly_302.poly 1.076s 5.446s 1.446s
\npoly_303.poly 1.355s 3.074s 1.388s
\npoly_304.poly 0.710s 7.352s 1.100s
\npoly_305.poly 0.862s 5.038s 1.036s
\npoly_306.poly 0.640s 5.466s 2.315s
\npoly_307.poly 0.907s 6.191s 2.003s
\npoly_308.poly 0.825s 4.889s 1.787s
\npoly_309.poly 1.157s 4.730s 1.683s
\npoly_310.poly 1.048s 6.380s 1.899s
\npoly_311.poly 0.821s 5.340s 1.493s
\npoly_312.poly 0.734s 4.584s 1.257s
\npoly_313.poly 0.875s 5.126s 1.942s
\npoly_314.poly 1.152s 6.076s 1.132s
\npoly_315.poly 0.646s 8.902s 2.290s
\npoly_316.poly 0.864s 7.926s 1.816s
\npoly_317.poly 0.865s 5.540s 2.609s
\npoly_318.poly 1.217s 8.536s 2.028s
\npoly_319.poly 0.787s 6.662s 2.033s
\npoly_320.poly 1.368s 5.776s 1.548s
\npoly_321.poly 0.984s 8.860s 2.601s
\npoly_322.poly 0.869s 9.124s 1.810s
\npoly_323.poly 0.648s 6.936s 1.108s
\npoly_324.poly 0.937s 7.901s 1.841s
\npoly_325.poly 0.901s 6.507s 2.776s
\npoly_326.poly 0.733s 6.871s 1.727s
\npoly_327.poly 0.765s 8.104s 2.637s
\npoly_328.poly 0.885s 10.401s 2.218s
\npoly_329.poly 1.001s 4.122s 1.249s
\npoly_330.poly 0.785s 6.544s 1.827s
\npoly_331.poly 0.918s 9.594s 1.460s
\npoly_332.poly 0.843s 7.225s 3.023s
\npoly_333.poly 1.150s 11.494s 2.873s
\npoly_334.poly 0.950s 10.194s 2.355s
\npoly_335.poly 1.172s 8.722s 2.315s
\npoly_336.poly 1.027s 6.473s 1.449s
\npoly_337.poly 0.751s 11.346s 1.752s
\npoly_338.poly 0.813s 9.438s 1.968s
\npoly_339.poly 0.815s 7.378s 2.027s
\npoly_340.poly 0.664s 8.289s 1.205s
\npoly_341.poly 0.919s 6.848s 2.083s
\npoly_342.poly 1.027s 14.903s 1.691s
\npoly_343.poly 1.158s 9.495s 2.103s
\npoly_344.poly 0.812s 9.516s 3.305s
\npoly_345.poly 1.189s 5.334s 2.104s
\npoly_346.poly 1.014s 10.649s 3.294s
\npoly_347.poly 0.975s 8.088s 1.566s
\npoly_348.poly 0.877s 10.249s 2.408s
\npoly_349.poly 0.850s 13.374s 3.216s
\npoly_350.poly 1.246s 11.256s 2.747s
\npoly_351.poly 0.959s 8.027s 2.336s
\npoly_352.poly 1.013s 9.565s 2.848s
\npoly_353.poly 0.764s 9.335s 1.650s
\npoly_354.poly 1.242s 9.831s 2.840s
\npoly_355.poly 1.636s 7.602s 2.256s
\npoly_356.poly 1.080s 8.711s 3.033s
\npoly_357.poly 0.776s 10.423s 3.029s
\npoly_358.poly 0.909s 12.636s 3.057s
\npoly_359.poly 0.894s 15.462s 3.104s
\npoly_360.poly 1.062s 12.932s 3.219s
\npoly_361.poly 0.964s 15.856s 2.869s
\npoly_362.poly 0.863s 10.977s 4.597s
\npoly_363.poly 1.288s 21.610s 2.335s
\npoly_364.poly 0.895s 17.265s 1.675s
\npoly_365.poly 0.979s 9.957s 2.394s
\npoly_366.poly 1.727s 8.259s 3.021s
\npoly_367.poly 0.977s 10.959s 4.299s
\npoly_368.poly 1.248s 15.490s 3.341s
\npoly_369.poly 0.791s 12.137s 3.151s
\npoly_370.poly 0.754s 13.471s 1.879s
\npoly_371.poly 1.289s 12.679s 2.693s
\npoly_372.poly 0.856s 6.906s 1.488s
\npoly_373.poly 1.442s 9.346s 3.019s
\npoly_374.poly 0.961s 13.392s 3.527s
\npoly_375.poly 0.982s 9.665s 2.495s
\npoly_376.poly 1.431s 8.820s 2.613s
\npoly_377.poly 1.262s 10.092s 2.358s
\npoly_378.poly 1.067s 13.103s 4.017s
\npoly_379.poly 0.798s 11.407s 2.530s
\npoly_380.poly 1.381s 12.311s 2.954s
\npoly_381.poly 1.278s 8.984s 1.999s
\npoly_382.poly 0.895s 9.518s 2.817s
\npoly_383.poly 0.945s 13.615s 3.512s
\npoly_384.poly 1.031s 19.243s 3.481s
\npoly_385.poly 1.046s 13.784s 2.661s
\npoly_386.poly 1.275s 10.230s 3.170s
\npoly_387.poly 0.976s 13.687s 3.704s
\npoly_388.poly 0.733s 8.044s 1.772s
\npoly_389.poly 0.902s 9.925s 2.886s
\npoly_390.poly 0.766s 8.027s 1.704s
\npoly_391.poly 0.774s 19.267s 3.956s
\npoly_392.poly 1.368s 17.336s 2.238s
\npoly_393.poly 1.079s 11.014s 3.572s
\npoly_394.poly 0.971s 14.128s 4.558s
\npoly_395.poly 1.163s 12.663s 2.931s
\npoly_396.poly 0.984s 13.827s 2.365s
\npoly_397.poly 1.796s 14.465s 4.155s
\npoly_398.poly 0.899s 13.236s 1.938s
\npoly_399.poly 1.339s 20.634s 4.699s
\npoly_400.poly 1.162s 13.476s 1.849s
\npoly_401.poly 1.086s 8.101s 2.171s
\npoly_402.poly 1.891s 11.124s 3.086s
\npoly_403.poly 0.988s 11.010s 2.644s
\npoly_404.poly 1.051s 20.160s 2.425s
\npoly_405.poly 1.647s 23.650s 5.199s
\npoly_406.poly 1.036s 15.906s 4.767s
\npoly_407.poly 1.083s 16.742s 2.401s
\npoly_408.poly 1.177s 19.860s 3.804s
\npoly_409.poly 1.107s 12.738s 3.757s
\npoly_410.poly 1.193s 11.465s 3.740s
\npoly_411.poly 1.550s 16.718s 3.228s
\npoly_412.poly 1.252s 23.868s 4.908s
\npoly_413.poly 0.895s 14.672s 2.091s
\npoly_414.poly 1.146s 20.009s 4.559s
\npoly_415.poly 1.152s 30.237s 3.488s
\npoly_416.poly 1.262s 15.382s 3.950s
\npoly_417.poly 1.472s 17.767s 3.577s
\npoly_418.poly 1.928s 13.745s 2.527s
\npoly_419.poly 1.431s 18.499s 3.931s
\npoly_420.poly 1.035s 12.498s 4.095s
\npoly_421.poly 2.506s 20.517s 3.537s
\npoly_422.poly 1.489s 24.745s 4.400s
\npoly_423.poly 1.250s 22.582s 6.671s
\npoly_424.poly 0.972s 14.030s 2.653s
\npoly_425.poly 1.212s 18.464s 5.370s
\npoly_426.poly 0.962s 14.179s 2.795s
\npoly_427.poly 1.252s 19.630s 5.115s
\npoly_428.poly 1.220s 27.196s 6.014s
\npoly_429.poly 1.027s 19.862s 5.965s
\npoly_430.poly 1.201s 23.786s 5.561s
\npoly_431.poly 1.734s 18.729s 2.498s
\npoly_432.poly 1.238s 28.353s 4.299s
\npoly_433.poly 1.174s 14.652s 2.770s
\npoly_434.poly 1.760s 20.187s 6.655s
\npoly_435.poly 1.538s 11.108s 2.718s
\npoly_436.poly 1.594s 14.872s 3.205s
\npoly_437.poly 1.147s 14.635s 3.155s
\npoly_438.poly 1.690s 20.034s 3.980s
\npoly_439.poly 1.411s 25.149s 2.364s
\npoly_440.poly 1.163s 25.878s 4.781s
\npoly_441.poly 1.384s 25.170s 5.160s
\npoly_442.poly 0.870s 11.668s 2.323s
\npoly_443.poly 0.951s 33.579s 6.205s
\npoly_444.poly 1.065s 17.941s 2.910s
\npoly_445.poly 1.998s 16.430s 3.563s
\npoly_446.poly 1.045s 26.910s 4.228s
\npoly_447.poly 1.295s 29.425s 5.399s
\npoly_448.poly 1.661s 16.258s 2.585s
\npoly_449.poly 1.622s 17.693s 4.303s
\npoly_450.poly 1.641s 22.936s 6.282s
\npoly_451.poly 1.703s 22.255s 4.342s
\npoly_452.poly 1.430s 31.131s 4.344s
\npoly_453.poly 1.971s 21.473s 4.852s
\npoly_454.poly 1.567s 37.292s 6.394s
\npoly_455.poly 1.935s 30.081s 4.497s
\npoly_456.poly 1.516s 22.825s 6.350s
\npoly_457.poly 0.990s 22.727s 5.842s
\npoly_458.poly 2.405s 27.059s 5.239s
\npoly_459.poly 2.000s 29.375s 3.965s
\npoly_460.poly 1.269s 21.120s 4.921s
\npoly_461.poly 1.220s 18.023s 3.005s
\npoly_462.poly 1.530s 30.173s 5.349s
\npoly_463.poly 1.502s 35.296s 4.015s
\npoly_464.poly 2.152s 27.638s 4.711s
\npoly_465.poly 1.497s 33.634s 6.219s
\npoly_466.poly 1.395s 31.657s 5.550s
\npoly_467.poly 1.275s 28.666s 4.809s
\npoly_468.poly 2.117s 16.743s 3.226s
\npoly_469.poly 2.483s 34.383s 5.065s
\npoly_470.poly 2.317s 17.479s 5.529s
\npoly_471.poly 1.959s 22.467s 7.354s
\npoly_472.poly 2.504s 23.219s 3.251s
\npoly_473.poly 3.680s 35.369s 7.189s
\npoly_474.poly 1.325s 33.530s 5.067s
\npoly_475.poly 1.061s 26.542s 5.007s
\npoly_476.poly 1.638s 24.279s 3.182s
\npoly_477.poly 1.551s 23.888s 7.094s
\npoly_478.poly 1.480s 30.671s 5.880s
\npoly_479.poly 1.545s 30.107s 8.659s
\npoly_480.poly 1.674s 34.370s 7.401s
\npoly_481.poly 2.276s 29.611s 5.249s
\npoly_482.poly 2.612s 26.880s 7.500s
\npoly_483.poly 2.534s 19.501s 3.872s
\npoly_484.poly 2.033s 45.472s 5.112s
\npoly_485.poly 2.442s 32.935s 6.633s
\npoly_486.poly 1.616s 30.956s 6.961s
\npoly_487.poly 1.807s 28.656s 3.263s
\npoly_488.poly 1.165s 41.173s 5.497s
\npoly_489.poly 1.978s 40.021s 4.627s
\npoly_490.poly 1.133s 37.273s 5.103s
\npoly_491.poly 2.112s 36.685s 7.104s
\npoly_492.poly 2.086s 30.427s 7.117s
\npoly_493.poly 1.297s 46.938s 6.873s
\npoly_494.poly 1.755s 34.678s 5.329s
\npoly_495.poly 2.274s 31.758s 6.371s
\npoly_496.poly 2.010s 34.106s 9.385s
\npoly_497.poly 2.014s 39.699s 5.630s
\npoly_498.poly 1.945s 38.142s 3.470s
\npoly_499.poly 1.622s 38.871s 5.723s