diff options
author | Yannick Moy <moy@adacore.com> | 2023-01-18 08:40:40 +0000 |
---|---|---|
committer | Marc Poulhiès <poulhies@adacore.com> | 2023-05-16 10:30:56 +0200 |
commit | 913794b1cb71cc7bba9850f8ed42c294d542fff4 (patch) | |
tree | 8b7725297645ef85fe00177a84912ee11db50de7 /libada | |
parent | fd0f8d2486678e401b076b74e9f1ae2cb224ba76 (diff) | |
download | gcc-913794b1cb71cc7bba9850f8ed42c294d542fff4.zip gcc-913794b1cb71cc7bba9850f8ed42c294d542fff4.tar.gz gcc-913794b1cb71cc7bba9850f8ed42c294d542fff4.tar.bz2 |
ada: Simplify dramatically ghost code for proof of System.Arith_Double
Using Inline_For_Proof annotation on key expression functions makes
it possible to remove hundreds of lines of ghost code that were
previously needed to guide provers.
gcc/ada/
* libgnat/s-aridou.adb (Big3, Is_Mult_Decomposition)
(Is_Scaled_Mult_Decomposition): Add annotation for inlining.
(Double_Divide, Scaled_Divide): Simplify and remove ghost code.
(Prove_Multiplication): Add calls to lemmas to make proof go
through.
* libgnat/s-aridou.ads (Big, In_Double_Int_Range): Add annotation
for inlining.
Diffstat (limited to 'libada')
0 files changed, 0 insertions, 0 deletions