In the CMSHL.zip archive you will find two Linux binaries CMSHL and cilkCMSHL, and some C and Cilk C source files. Cilk C source files end with .cilk The software was written by Michael Monagan in 2018 and modified in 2020. To cite it please use Michael Monagan and Baris Tuncer. Sparse multivariate polynomial factorization: a high-performance design and implementation. Proceedings of ICMS 2018, LNCS 10931, pp. 359-368, Springer, July 2018. and Tian Chen and Michael Monagan. The Complexity and Parallel Implementation of two Sparse Multivariate Hensel Lifting Algorithms for Polynomial Factorization. To appear in Proceedings of CASC 2020, 2020. The CMSHL binary is pure C code created with gcc. It is a serial code for our CMSHL algorithm. For the Mac and Windows, you will need to recompile it first. The binary cilkCMSHL was created using the MIT Cilk C compiler. This binary is not statically linked so inorder to run it you will need to download the MIT Cilk C library. To run the serial C code use ./CMSHL n d #f #g This is for factoring a product of two factors f and g in n variables of degree d with #f terms for f and #g terms for g. To run the parallel Cilk C code for the same factorization use ./cilkCMSHL --nproc N N n d #f #g This uses N cores. The first N is for Cilk and the second N for our code. For example ./CMSHL 6 7 1000 500 and ./cilkCMSHL --nproc 1 1 6 7 1000 500 run on 1 core and produce the output in the file "output". The code does one (the last one) Hensel lifting step modulo a prime p. To use a different prime use ./CMSHL n d #f #g p ./cilkCMSHL --nproc N N n d #f #g p To compile CMSHL the gcc compiler is sufficient. To compile cilkCMSHL you will need the MIT Cilk C compiler. A Unix Makefile is included for compilation. Michael Monagan May 25th, 2020