aboutsummaryrefslogtreecommitdiff
path: root/src/Experiments/NewPipeline/AbstractInterpretationProofs.v
Commit message (Collapse)AuthorAge
* move src/Experiments/NewPipeline/ to src/Gravatar Andres Erbsen2019-01-09
|
* Refactor/generalize some pipeline definitions/proofsGravatar Jason Gross2018-10-30
| | | | | | | | | | | | When we do rewriting after casts, we will need to do extra passes of DCE and subst01 to fully reduce things, so we generalize some of the interp proofs over cast behavior. For ease of rewriting, we make [ident.interp] an alias (notation) for [ident.gen_interp], rather than a [Definition]. We also factor out the rewriting wrapper inside the pipeline module into its own definition.
* Guarantee that casting always returns inrangeGravatar Jason Gross2018-10-12
| | | | | | | | | | | | | | We fuse the bounds relaxation pass with the abstract interpretation pass by folding bounds relaxation into the annotation method. This allows us to not need any particular assumptions about what happens when you cast outside the range. We can therefore now guarantee that the output of casting is always bounded by the given range (rather, by the normalized version of the range), which will be required to take advantage of bounds information in the rewriter (because otherwise we're not guaranteed that casting something to within a range actually outputs something within that range).
* Finish interp proof of abstract interpretationGravatar Jason Gross2018-09-14
| | | | | | | This was an enormous pain, because although we don't actually bounds-analyze higher-order functions, we need to make sure that we discard the bounds information about them in exactly the same way in multiple places.
* Add more operation-specific proofsGravatar Jason Gross2018-08-21
|
* Do most of abs-int interp proofsGravatar Jason Gross2018-08-21
|
* Factor through is_tighter_than_bool, add ↵Gravatar Jason Gross2018-08-13
| | | | is_bounded_by_bool_Proper_if_sumbool_union
* Don't fuse annotationsGravatar Jason Gross2018-08-09
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It was causing issues with proving things, and isn't really needed. Instead, we just check if the current annotation is exactly the state we're attempting to annotate with; if it is, then we don't double up on identical annotations. After | File Name | Before || Change | % Change -------------------------------------------------------------------------------------------------------------------- 17m54.46s | Total | 17m52.24s || +0m02.21s | +0.20% -------------------------------------------------------------------------------------------------------------------- 5m55.78s | Experiments/NewPipeline/SlowPrimeSynthesisExamples | 5m55.41s || +0m00.37s | +0.10% 4m32.97s | Experiments/NewPipeline/Toplevel1 | 4m33.59s || -0m00.62s | -0.22% 1m35.89s | Experiments/NewPipeline/Toplevel2 | 1m35.77s || +0m00.11s | +0.12% 0m39.24s | p521_32.c | 0m38.50s || +0m00.74s | +1.92% 0m38.16s | Experiments/NewPipeline/AbstractInterpretationWf | 0m38.52s || -0m00.36s | -0.93% 0m37.42s | Experiments/NewPipeline/ExtractionOCaml/word_by_word_montgomery | 0m37.34s || +0m00.07s | +0.21% 0m34.59s | Experiments/NewPipeline/ExtractionHaskell/word_by_word_montgomery | 0m34.58s || +0m00.01s | +0.02% 0m32.58s | p521_64.c | 0m31.97s || +0m00.60s | +1.90% 0m23.66s | p384_32.c | 0m23.63s || +0m00.03s | +0.12% 0m21.02s | Experiments/NewPipeline/ExtractionHaskell/unsaturated_solinas | 0m20.88s || +0m00.14s | +0.67% 0m18.92s | Experiments/NewPipeline/ExtractionOCaml/unsaturated_solinas | 0m18.84s || +0m00.08s | +0.42% 0m13.91s | Experiments/NewPipeline/ExtractionHaskell/saturated_solinas | 0m13.99s || -0m00.08s | -0.57% 0m12.56s | Experiments/NewPipeline/CStringification | 0m12.61s || -0m00.04s | -0.39% 0m10.51s | Experiments/NewPipeline/ExtractionOCaml/saturated_solinas | 0m10.66s || -0m00.15s | -1.40% 0m08.55s | p384_64.c | 0m08.46s || +0m00.08s | +1.06% 0m08.51s | Experiments/NewPipeline/ExtractionOCaml/word_by_word_montgomery.ml | 0m08.61s || -0m00.09s | -1.16% 0m05.59s | Experiments/NewPipeline/ExtractionHaskell/word_by_word_montgomery.hs | 0m05.56s || +0m00.03s | +0.53% 0m05.43s | Experiments/NewPipeline/ExtractionOCaml/unsaturated_solinas.ml | 0m05.34s || +0m00.08s | +1.68% 0m04.00s | Experiments/NewPipeline/AbstractInterpretationProofs | 0m03.07s || +0m00.93s | +30.29% 0m04.00s | Experiments/NewPipeline/ExtractionHaskell/unsaturated_solinas.hs | 0m04.04s || -0m00.04s | -0.99% 0m03.91s | secp256k1_32.c | 0m03.93s || -0m00.02s | -0.50% 0m03.87s | Experiments/NewPipeline/ExtractionOCaml/saturated_solinas.ml | 0m03.84s || +0m00.03s | +0.78% 0m03.84s | p256_32.c | 0m03.78s || +0m00.06s | +1.58% 0m03.33s | Experiments/NewPipeline/ExtractionHaskell/saturated_solinas.hs | 0m03.32s || +0m00.01s | +0.30% 0m02.12s | p224_32.c | 0m02.10s || +0m00.02s | +0.95% 0m02.11s | curve25519_32.c | 0m02.03s || +0m00.08s | +3.94% 0m01.56s | p256_64.c | 0m01.55s || +0m00.01s | +0.64% 0m01.53s | p224_64.c | 0m01.55s || -0m00.02s | -1.29% 0m01.50s | secp256k1_64.c | 0m01.51s || -0m00.01s | -0.66% 0m01.44s | curve25519_64.c | 0m01.51s || -0m00.07s | -4.63% 0m01.38s | Experiments/NewPipeline/CLI | 0m01.22s || +0m00.15s | +13.11% 0m01.30s | Experiments/NewPipeline/StandaloneHaskellMain | 0m01.16s || +0m00.14s | +12.06% 0m01.25s | Experiments/NewPipeline/StandaloneOCamlMain | 0m01.25s || +0m00.00s | +0.00% 0m01.04s | Experiments/NewPipeline/CompilersTestCases | 0m01.08s || -0m00.04s | -3.70% 0m01.00s | Experiments/NewPipeline/AbstractInterpretation | 0m01.05s || -0m00.05s | -4.76%
* Push back admits in interp lemmasGravatar Jason Gross2018-08-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Also, we now pull bounds out of the initial expression, rather than the final expression, because it makes the proofs easier. (It means we only have to run bounds analysis with one var type, not talk about its relatedness with multiple var types.) After | File Name | Before || Change | % Change -------------------------------------------------------------------------------------------------------------------- 17m52.60s | Total | 17m53.17s || -0m00.57s | -0.05% -------------------------------------------------------------------------------------------------------------------- 5m55.17s | Experiments/NewPipeline/SlowPrimeSynthesisExamples | 5m55.71s || -0m00.53s | -0.15% 4m33.38s | Experiments/NewPipeline/Toplevel1 | 4m33.93s || -0m00.55s | -0.20% 1m36.04s | Experiments/NewPipeline/Toplevel2 | 1m35.94s || +0m00.09s | +0.10% 0m38.56s | Experiments/NewPipeline/AbstractInterpretationWf | 0m38.44s || +0m00.12s | +0.31% 0m38.50s | p521_32.c | 0m38.63s || -0m00.13s | -0.33% 0m37.71s | Experiments/NewPipeline/ExtractionOCaml/word_by_word_montgomery | 0m37.22s || +0m00.49s | +1.31% 0m35.06s | Experiments/NewPipeline/ExtractionHaskell/word_by_word_montgomery | 0m34.71s || +0m00.35s | +1.00% 0m31.97s | p521_64.c | 0m32.06s || -0m00.09s | -0.28% 0m23.81s | p384_32.c | 0m23.59s || +0m00.21s | +0.93% 0m20.73s | Experiments/NewPipeline/ExtractionHaskell/unsaturated_solinas | 0m20.94s || -0m00.21s | -1.00% 0m18.80s | Experiments/NewPipeline/ExtractionOCaml/unsaturated_solinas | 0m18.85s || -0m00.05s | -0.26% 0m13.79s | Experiments/NewPipeline/ExtractionHaskell/saturated_solinas | 0m14.00s || -0m00.21s | -1.50% 0m12.56s | Experiments/NewPipeline/CStringification | 0m12.59s || -0m00.02s | -0.23% 0m10.52s | Experiments/NewPipeline/ExtractionOCaml/saturated_solinas | 0m10.49s || +0m00.02s | +0.28% 0m08.64s | Experiments/NewPipeline/ExtractionOCaml/word_by_word_montgomery.ml | 0m08.49s || +0m00.15s | +1.76% 0m08.45s | p384_64.c | 0m08.51s || -0m00.06s | -0.70% 0m05.48s | Experiments/NewPipeline/ExtractionHaskell/word_by_word_montgomery.hs | 0m05.50s || -0m00.01s | -0.36% 0m05.36s | Experiments/NewPipeline/ExtractionOCaml/unsaturated_solinas.ml | 0m05.55s || -0m00.18s | -3.42% 0m04.06s | Experiments/NewPipeline/ExtractionHaskell/unsaturated_solinas.hs | 0m04.10s || -0m00.04s | -0.97% 0m03.92s | secp256k1_32.c | 0m03.78s || +0m00.14s | +3.70% 0m03.84s | Experiments/NewPipeline/ExtractionOCaml/saturated_solinas.ml | 0m03.81s || +0m00.02s | +0.78% 0m03.76s | p256_32.c | 0m03.87s || -0m00.11s | -2.84% 0m03.29s | Experiments/NewPipeline/ExtractionHaskell/saturated_solinas.hs | 0m03.25s || +0m00.04s | +1.23% 0m03.09s | Experiments/NewPipeline/AbstractInterpretationProofs | 0m03.11s || -0m00.02s | -0.64% 0m02.22s | p224_32.c | 0m02.24s || -0m00.02s | -0.89% 0m02.03s | curve25519_32.c | 0m02.05s || -0m00.02s | -0.97% 0m01.54s | p224_64.c | 0m01.54s || +0m00.00s | +0.00% 0m01.53s | p256_64.c | 0m01.55s || -0m00.02s | -1.29% 0m01.52s | secp256k1_64.c | 0m01.51s || +0m00.01s | +0.66% 0m01.38s | curve25519_64.c | 0m01.39s || -0m00.01s | -0.71% 0m01.31s | Experiments/NewPipeline/StandaloneHaskellMain | 0m01.22s || +0m00.09s | +7.37% 0m01.27s | Experiments/NewPipeline/StandaloneOCamlMain | 0m01.27s || +0m00.00s | +0.00% 0m01.26s | Experiments/NewPipeline/CLI | 0m01.25s || +0m00.01s | +0.80% 0m01.04s | Experiments/NewPipeline/CompilersTestCases | 0m00.97s || +0m00.07s | +7.21% 0m01.02s | Experiments/NewPipeline/AbstractInterpretation | 0m01.12s || -0m00.10s | -8.92%
* Add some partial interp proofs for abs-intGravatar Jason Gross2018-08-08
|
* Finish relax interp proofsGravatar Jason Gross2018-08-07
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | After | File Name | Before || Change | % Change -------------------------------------------------------------------------------------------------------------------- 17m50.60s | Total | 17m59.23s || -0m08.63s | -0.80% -------------------------------------------------------------------------------------------------------------------- 0m02.92s | Experiments/NewPipeline/AbstractInterpretationProofs | 0m07.06s || -0m04.13s | -58.64% 5m55.40s | Experiments/NewPipeline/SlowPrimeSynthesisExamples | 5m56.43s || -0m01.03s | -0.28% 0m38.25s | Experiments/NewPipeline/AbstractInterpretationWf | 0m40.00s || -0m01.75s | -4.37% 0m23.76s | p384_32.c | 0m25.24s || -0m01.47s | -5.86% 4m32.74s | Experiments/NewPipeline/Toplevel1 | 4m31.77s || +0m00.97s | +0.35% 1m36.34s | Experiments/NewPipeline/Toplevel2 | 1m35.98s || +0m00.36s | +0.37% 0m38.76s | p521_32.c | 0m38.53s || +0m00.22s | +0.59% 0m37.08s | Experiments/NewPipeline/ExtractionOCaml/word_by_word_montgomery | 0m37.15s || -0m00.07s | -0.18% 0m35.15s | Experiments/NewPipeline/ExtractionHaskell/word_by_word_montgomery | 0m34.38s || +0m00.76s | +2.23% 0m32.29s | p521_64.c | 0m32.14s || +0m00.14s | +0.46% 0m20.50s | Experiments/NewPipeline/ExtractionHaskell/unsaturated_solinas | 0m20.86s || -0m00.35s | -1.72% 0m18.69s | Experiments/NewPipeline/ExtractionOCaml/unsaturated_solinas | 0m18.91s || -0m00.21s | -1.16% 0m13.51s | Experiments/NewPipeline/ExtractionHaskell/saturated_solinas | 0m13.95s || -0m00.43s | -3.15% 0m12.46s | Experiments/NewPipeline/CStringification | 0m12.60s || -0m00.13s | -1.11% 0m10.36s | Experiments/NewPipeline/ExtractionOCaml/saturated_solinas | 0m10.52s || -0m00.16s | -1.52% 0m08.55s | p384_64.c | 0m08.77s || -0m00.21s | -2.50% 0m08.52s | Experiments/NewPipeline/ExtractionOCaml/word_by_word_montgomery.ml | 0m08.83s || -0m00.31s | -3.51% 0m05.38s | Experiments/NewPipeline/ExtractionOCaml/unsaturated_solinas.ml | 0m05.43s || -0m00.04s | -0.92% 0m05.34s | Experiments/NewPipeline/ExtractionHaskell/word_by_word_montgomery.hs | 0m05.42s || -0m00.08s | -1.47% 0m04.01s | Experiments/NewPipeline/ExtractionOCaml/saturated_solinas.ml | 0m03.85s || +0m00.15s | +4.15% 0m03.88s | Experiments/NewPipeline/ExtractionHaskell/unsaturated_solinas.hs | 0m04.08s || -0m00.20s | -4.90% 0m03.77s | secp256k1_32.c | 0m03.83s || -0m00.06s | -1.56% 0m03.76s | p256_32.c | 0m03.80s || -0m00.04s | -1.05% 0m03.18s | Experiments/NewPipeline/ExtractionHaskell/saturated_solinas.hs | 0m03.25s || -0m00.06s | -2.15% 0m02.10s | p224_32.c | 0m02.14s || -0m00.04s | -1.86% 0m02.03s | curve25519_32.c | 0m02.06s || -0m00.03s | -1.45% 0m01.60s | p256_64.c | 0m01.67s || -0m00.06s | -4.19% 0m01.59s | p224_64.c | 0m01.58s || +0m00.01s | +0.63% 0m01.53s | secp256k1_64.c | 0m01.68s || -0m00.14s | -8.92% 0m01.42s | Experiments/NewPipeline/CLI | 0m01.38s || +0m00.04s | +2.89% 0m01.38s | curve25519_64.c | 0m01.39s || -0m00.01s | -0.71% 0m01.16s | Experiments/NewPipeline/StandaloneHaskellMain | 0m01.21s || -0m00.05s | -4.13% 0m01.16s | Experiments/NewPipeline/StandaloneOCamlMain | 0m01.25s || -0m00.09s | -7.20% 0m01.02s | Experiments/NewPipeline/CompilersTestCases | 0m01.03s || -0m00.01s | -0.97% 0m01.01s | Experiments/NewPipeline/AbstractInterpretation | 0m01.07s || -0m00.06s | -5.60%
* Add another GeneralizeVar pass to add support for using Wf3Gravatar Jason Gross2018-08-07
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Otherwise we'd have to pipe Wf3 hypotheses around everywhere After | File Name | Before || Change | % Change -------------------------------------------------------------------------------------------------------------------- 18m48.53s | Total | 18m30.49s || +0m18.04s | +1.62% -------------------------------------------------------------------------------------------------------------------- 5m55.03s | Experiments/NewPipeline/SlowPrimeSynthesisExamples | 5m50.73s || +0m04.29s | +1.22% 0m21.32s | Experiments/NewPipeline/LanguageWf | 0m17.25s || +0m04.07s | +23.59% 0m25.28s | p384_32.c | 0m21.48s || +0m03.80s | +17.69% 4m33.01s | Experiments/NewPipeline/Toplevel1 | 4m32.74s || +0m00.26s | +0.09% 1m35.79s | Experiments/NewPipeline/Toplevel2 | 1m34.92s || +0m00.86s | +0.91% 0m40.01s | Experiments/NewPipeline/AbstractInterpretationWf | 0m39.96s || +0m00.04s | +0.12% 0m38.51s | p521_32.c | 0m38.23s || +0m00.28s | +0.73% 0m37.03s | Experiments/NewPipeline/ExtractionOCaml/word_by_word_montgomery | 0m37.16s || -0m00.12s | -0.34% 0m34.59s | Experiments/NewPipeline/ExtractionHaskell/word_by_word_montgomery | 0m34.79s || -0m00.19s | -0.57% 0m31.94s | p521_64.c | 0m31.91s || +0m00.03s | +0.09% 0m23.22s | Experiments/NewPipeline/UnderLetsProofs | 0m23.36s || -0m00.14s | -0.59% 0m21.06s | Experiments/NewPipeline/ExtractionHaskell/unsaturated_solinas | 0m20.44s || +0m00.61s | +3.03% 0m18.85s | Experiments/NewPipeline/ExtractionOCaml/unsaturated_solinas | 0m18.53s || +0m00.32s | +1.72% 0m13.79s | Experiments/NewPipeline/ExtractionHaskell/saturated_solinas | 0m13.46s || +0m00.32s | +2.45% 0m12.59s | Experiments/NewPipeline/CStringification | 0m12.66s || -0m00.07s | -0.55% 0m10.61s | Experiments/NewPipeline/ExtractionOCaml/saturated_solinas | 0m10.38s || +0m00.22s | +2.21% 0m08.82s | p384_64.c | 0m08.04s || +0m00.78s | +9.70% 0m08.62s | Experiments/NewPipeline/ExtractionOCaml/word_by_word_montgomery.ml | 0m08.54s || +0m00.08s | +0.93% 0m07.09s | Experiments/NewPipeline/AbstractInterpretationProofs | 0m06.82s || +0m00.26s | +3.95% 0m05.46s | Experiments/NewPipeline/ExtractionHaskell/word_by_word_montgomery.hs | 0m05.48s || -0m00.02s | -0.36% 0m05.42s | Experiments/NewPipeline/ExtractionOCaml/unsaturated_solinas.ml | 0m05.44s || -0m00.02s | -0.36% 0m04.01s | secp256k1_32.c | 0m03.32s || +0m00.69s | +20.78% 0m03.97s | Experiments/NewPipeline/ExtractionHaskell/unsaturated_solinas.hs | 0m03.87s || +0m00.10s | +2.58% 0m03.86s | Experiments/NewPipeline/ExtractionOCaml/saturated_solinas.ml | 0m03.95s || -0m00.09s | -2.27% 0m03.84s | p256_32.c | 0m03.30s || +0m00.54s | +16.36% 0m03.81s | Experiments/NewPipeline/MiscCompilerPassesProofs | 0m03.88s || -0m00.06s | -1.80% 0m03.28s | Experiments/NewPipeline/ExtractionHaskell/saturated_solinas.hs | 0m03.16s || +0m00.11s | +3.79% 0m02.16s | p224_32.c | 0m01.77s || +0m00.39s | +22.03% 0m02.03s | curve25519_32.c | 0m01.96s || +0m00.06s | +3.57% 0m01.68s | p256_64.c | 0m01.41s || +0m00.27s | +19.14% 0m01.57s | p224_64.c | 0m01.41s || +0m00.16s | +11.34% 0m01.54s | secp256k1_64.c | 0m01.44s || +0m00.10s | +6.94% 0m01.52s | curve25519_64.c | 0m01.33s || +0m00.18s | +14.28% 0m01.38s | Experiments/NewPipeline/CLI | 0m01.42s || -0m00.04s | -2.81% 0m01.31s | Experiments/NewPipeline/RewriterProofs | 0m01.33s || -0m00.02s | -1.50% 0m01.25s | Experiments/NewPipeline/StandaloneOCamlMain | 0m01.21s || +0m00.04s | +3.30% 0m01.24s | Experiments/NewPipeline/StandaloneHaskellMain | 0m01.25s || -0m00.01s | -0.80% 0m01.07s | Experiments/NewPipeline/AbstractInterpretation | 0m01.12s || -0m00.05s | -4.46% 0m00.98s | Experiments/NewPipeline/CompilersTestCases | 0m01.04s || -0m00.06s | -5.76%
* Start setting up abs-int interp proofsGravatar Jason Gross2018-08-06
|
* Remove fastpath for Zcast in absintGravatar Jason Gross2018-08-06
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Yet another premature optimization After | File Name | Before || Change | % Change -------------------------------------------------------------------------------------------------------------------- 17m43.04s | Total | 17m43.59s || -0m00.55s | -0.05% -------------------------------------------------------------------------------------------------------------------- 0m21.28s | p384_32.c | 0m22.70s || -0m01.41s | -6.25% 5m51.41s | Experiments/NewPipeline/SlowPrimeSynthesisExamples | 5m50.56s || +0m00.84s | +0.24% 4m31.08s | Experiments/NewPipeline/Toplevel1 | 4m31.11s || -0m00.03s | -0.01% 1m34.67s | Experiments/NewPipeline/Toplevel2 | 1m34.92s || -0m00.25s | -0.26% 0m45.41s | Experiments/NewPipeline/AbstractInterpretationProofs | 0m45.86s || -0m00.45s | -0.98% 0m38.24s | p521_32.c | 0m37.64s || +0m00.60s | +1.59% 0m37.06s | Experiments/NewPipeline/ExtractionOCaml/word_by_word_montgomery | 0m37.39s || -0m00.32s | -0.88% 0m34.56s | Experiments/NewPipeline/ExtractionHaskell/word_by_word_montgomery | 0m35.06s || -0m00.50s | -1.42% 0m31.74s | p521_64.c | 0m31.42s || +0m00.31s | +1.01% 0m20.95s | Experiments/NewPipeline/ExtractionHaskell/unsaturated_solinas | 0m20.43s || +0m00.51s | +2.54% 0m18.93s | Experiments/NewPipeline/ExtractionOCaml/unsaturated_solinas | 0m18.77s || +0m00.16s | +0.85% 0m13.72s | Experiments/NewPipeline/ExtractionHaskell/saturated_solinas | 0m13.65s || +0m00.07s | +0.51% 0m12.63s | Experiments/NewPipeline/CStringification | 0m12.67s || -0m00.03s | -0.31% 0m10.71s | Experiments/NewPipeline/ExtractionOCaml/saturated_solinas | 0m10.43s || +0m00.28s | +2.68% 0m08.56s | Experiments/NewPipeline/ExtractionOCaml/word_by_word_montgomery.ml | 0m08.58s || -0m00.01s | -0.23% 0m08.12s | p384_64.c | 0m08.36s || -0m00.24s | -2.87% 0m05.48s | Experiments/NewPipeline/ExtractionHaskell/word_by_word_montgomery.hs | 0m05.42s || +0m00.06s | +1.10% 0m05.48s | Experiments/NewPipeline/ExtractionOCaml/unsaturated_solinas.ml | 0m05.58s || -0m00.09s | -1.79% 0m04.01s | Experiments/NewPipeline/ExtractionHaskell/unsaturated_solinas.hs | 0m03.95s || +0m00.05s | +1.51% 0m03.80s | Experiments/NewPipeline/ExtractionOCaml/saturated_solinas.ml | 0m03.94s || -0m00.14s | -3.55% 0m03.35s | Experiments/NewPipeline/ExtractionHaskell/saturated_solinas.hs | 0m03.28s || +0m00.07s | +2.13% 0m03.21s | p256_32.c | 0m03.26s || -0m00.04s | -1.53% 0m03.21s | secp256k1_32.c | 0m03.26s || -0m00.04s | -1.53% 0m01.95s | curve25519_32.c | 0m01.91s || +0m00.04s | +2.09% 0m01.91s | p224_32.c | 0m01.80s || +0m00.10s | +6.11% 0m01.51s | secp256k1_64.c | 0m01.54s || -0m00.03s | -1.94% 0m01.43s | p224_64.c | 0m01.44s || -0m00.01s | -0.69% 0m01.41s | p256_64.c | 0m01.46s || -0m00.05s | -3.42% 0m01.33s | Experiments/NewPipeline/CLI | 0m01.36s || -0m00.03s | -2.20% 0m01.33s | curve25519_64.c | 0m01.30s || +0m00.03s | +2.30% 0m01.24s | Experiments/NewPipeline/StandaloneOCamlMain | 0m01.15s || +0m00.09s | +7.82% 0m01.23s | Experiments/NewPipeline/StandaloneHaskellMain | 0m01.22s || +0m00.01s | +0.81% 0m01.06s | Experiments/NewPipeline/CompilersTestCases | 0m01.03s || +0m00.03s | +2.91% 0m01.03s | Experiments/NewPipeline/AbstractInterpretation | 0m01.15s || -0m00.11s | -10.43%
* Remove thunking from abstract interpretationGravatar Jason Gross2018-08-06
| | | | | | | | | | | | | | | | | | | It was a premature optimization After | File Name | Before || Change | % Change ---------------------------------------------------------------------------------------------------- 12m57.07s | Total | 12m59.91s || -0m02.84s | -0.36% ---------------------------------------------------------------------------------------------------- 5m49.37s | Experiments/NewPipeline/SlowPrimeSynthesisExamples | 5m49.86s || -0m00.49s | -0.14% 4m31.64s | Experiments/NewPipeline/Toplevel1 | 4m32.60s || -0m00.96s | -0.35% 1m33.27s | Experiments/NewPipeline/Toplevel2 | 1m33.94s || -0m00.66s | -0.71% 0m44.30s | Experiments/NewPipeline/AbstractInterpretationProofs | 0m44.73s || -0m00.42s | -0.96% 0m12.60s | Experiments/NewPipeline/CStringification | 0m12.60s || +0m00.00s | +0.00% 0m01.38s | Experiments/NewPipeline/CLI | 0m01.37s || +0m00.00s | +0.72% 0m01.24s | Experiments/NewPipeline/StandaloneHaskellMain | 0m01.39s || -0m00.14s | -10.79% 0m01.12s | Experiments/NewPipeline/StandaloneOCamlMain | 0m01.22s || -0m00.09s | -8.19% 0m01.11s | Experiments/NewPipeline/AbstractInterpretation | 0m01.14s || -0m00.02s | -2.63% 0m01.04s | Experiments/NewPipeline/CompilersTestCases | 0m01.07s || -0m00.03s | -2.80%
* Finish AbsInt Wf proofsGravatar Jason Gross2018-08-04
| | | | | | | | | | | | | | After | File Name | Before || Change | % Change ----------------------------------------------------------------------------------------------------- 12m43.49s | Total | 11m54.85s || +0m48.63s | +6.80% ----------------------------------------------------------------------------------------------------- 0m44.25s | Experiments/NewPipeline/AbstractInterpretationProofs | 0m00.49s || +0m43.75s | +8930.61% 4m31.51s | Experiments/NewPipeline/Toplevel1 | 4m29.26s || +0m02.25s | +0.83% 5m50.40s | Experiments/NewPipeline/SlowPrimeSynthesisExamples | 5m48.62s || +0m01.77s | +0.51% 1m33.52s | Experiments/NewPipeline/Toplevel2 | 1m32.77s || +0m00.75s | +0.80% 0m01.38s | Experiments/NewPipeline/CLI | 0m01.34s || +0m00.03s | +2.98% 0m01.22s | Experiments/NewPipeline/StandaloneOCamlMain | 0m01.13s || +0m00.09s | +7.96% 0m01.21s | Experiments/NewPipeline/StandaloneHaskellMain | 0m01.24s || -0m00.03s | -2.41%
* Generalize type.eqv a bitGravatar Jason Gross2018-07-30
|
* Integrate Wf and Interp proofsGravatar Jason Gross2018-07-30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Now the only admits remaining in Toplevel1 are glue ones about freeze/to_bytes/from_bytes/fe_nonzero. What remains (beyond those admits, and the ones about word-by-word montgomery building blocks in Arithmetic), are the proofs about abstract interpretation and the rewriter. After | File Name | Before || Change | % Change -------------------------------------------------------------------------------------------------------- 12m13.17s | Total | 11m45.42s || +0m27.75s | +3.93% -------------------------------------------------------------------------------------------------------- 3m47.20s | Experiments/NewPipeline/Toplevel1 | 3m27.51s || +0m19.68s | +9.48% 0m17.98s | Experiments/NewPipeline/UnderLetsProofs | N/A || +0m17.98s | ∞ N/A | Experiments/NewPipeline/UnderLetsWf | 0m17.94s || -0m17.94s | -100.00% 4m49.57s | Experiments/NewPipeline/SlowPrimeSynthesisExamples | 4m45.22s || +0m04.34s | +1.52% 1m16.28s | Experiments/NewPipeline/Toplevel2 | 1m13.33s || +0m02.95s | +4.02% 0m02.96s | Experiments/NewPipeline/MiscCompilerPassesProofs | N/A || +0m02.96s | ∞ N/A | Experiments/NewPipeline/MiscCompilerPassesWf | 0m02.91s || -0m02.91s | -100.00% 0m58.32s | Experiments/NewPipeline/Rewriter | 0m58.58s || -0m00.25s | -0.44% 0m28.19s | Experiments/NewPipeline/LanguageInversion | 0m28.02s || +0m00.17s | +0.60% 0m13.14s | Experiments/NewPipeline/LanguageWf | 0m13.09s || +0m00.05s | +0.38% 0m10.11s | Experiments/NewPipeline/CStringification | 0m10.12s || -0m00.00s | -0.09% 0m01.21s | Experiments/NewPipeline/CLI | 0m01.19s || +0m00.02s | +1.68% 0m01.11s | Experiments/NewPipeline/StandaloneOCamlMain | 0m01.13s || -0m00.01s | -1.76% 0m01.09s | Experiments/NewPipeline/GENERATEDIdentifiersWithoutTypes | 0m01.08s || +0m00.01s | +0.92% 0m01.05s | Experiments/NewPipeline/StandaloneHaskellMain | 0m01.07s || -0m00.02s | -1.86% 0m00.98s | Experiments/NewPipeline/Language | 0m00.96s || +0m00.02s | +2.08% 0m00.96s | Experiments/NewPipeline/AbstractInterpretation | 0m00.90s || +0m00.05s | +6.66% 0m00.90s | Experiments/NewPipeline/CompilersTestCases | 0m00.92s || -0m00.02s | -2.17% 0m00.66s | Experiments/NewPipeline/RewriterProofs | N/A || +0m00.66s | ∞ 0m00.64s | Experiments/NewPipeline/MiscCompilerPasses | 0m00.65s || -0m00.01s | -1.53% 0m00.42s | Experiments/NewPipeline/UnderLets | 0m00.38s || +0m00.03s | +10.52% 0m00.40s | Experiments/NewPipeline/AbstractInterpretationProofs | 0m00.42s || -0m00.01s | -4.76%
* New pipeline, split among filesGravatar Jason Gross2018-06-17