./Ultimate.py --spec ../sv-benchmarks/c/properties/unreach-call.prp --file ../sv-benchmarks/c/float-newlib/double_req_bl_1032b.c --full-output -ea --architecture 32bit -------------------------------------------------------------------------------- Checking for ERROR reachability Using default analysis Version 8bd4bc60 Calling Ultimate with: /usr/bin/java -Dosgi.configuration.area=/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/config -Xmx12G -Xms1G -ea -jar /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/org.eclipse.equinox.launcher_1.3.100.v20150511-1540.jar -data @noDefault -ultimatedata /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data -tc /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/AutomizerReach.xml -i ../sv-benchmarks/c/float-newlib/double_req_bl_1032b.c -s /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-Reach-32bit-Automizer_Default.epf --cacsl2boogietranslator.entry.function main --witnessprinter.witness.directory /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux --witnessprinter.witness.filename witness.graphml --witnessprinter.write.witness.besides.input.file false --witnessprinter.graph.data.specification CHECK( init(main()), LTL(G ! call(__VERIFIER_error())) ) --witnessprinter.graph.data.producer Automizer --witnessprinter.graph.data.architecture 32bit --witnessprinter.graph.data.programhash 2fc40f01120ca51e77cbf79a7824b0aac7011828 ............................................................................................................................................................................................................................................................................................................................................................................. Execution finished normally Using bit-precise analysis Retrying with bit-precise analysis Calling Ultimate with: /usr/bin/java -Dosgi.configuration.area=/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/config -Xmx12G -Xms1G -ea -jar /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/org.eclipse.equinox.launcher_1.3.100.v20150511-1540.jar -data @noDefault -ultimatedata /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data -tc /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/AutomizerReach.xml -i ../sv-benchmarks/c/float-newlib/double_req_bl_1032b.c -s /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-Reach-32bit-Automizer_Bitvector.epf --cacsl2boogietranslator.entry.function main --witnessprinter.witness.directory /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux --witnessprinter.witness.filename witness.graphml --witnessprinter.write.witness.besides.input.file false --witnessprinter.graph.data.specification CHECK( init(main()), LTL(G ! call(__VERIFIER_error())) ) --witnessprinter.graph.data.producer Automizer --witnessprinter.graph.data.architecture 32bit --witnessprinter.graph.data.programhash 2fc40f01120ca51e77cbf79a7824b0aac7011828 ................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................... Execution finished normally Writing output log to file Ultimate.log Result: ERROR: ExceptionOrErrorResult: UnsupportedOperationException: translation of (concat (_ BitVec 32) (_ BitVec 32) (_ BitVec 64)) not yet implemented, please contact Matthias --- Real Ultimate output --- This is Ultimate 0.1.25-8bd4bc6 [2020-07-28 17:41:57,376 INFO L177 SettingsManager]: Resetting all preferences to default values... [2020-07-28 17:41:57,378 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2020-07-28 17:41:57,391 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2020-07-28 17:41:57,391 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2020-07-28 17:41:57,392 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2020-07-28 17:41:57,393 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2020-07-28 17:41:57,395 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2020-07-28 17:41:57,397 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2020-07-28 17:41:57,399 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2020-07-28 17:41:57,400 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2020-07-28 17:41:57,401 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2020-07-28 17:41:57,401 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2020-07-28 17:41:57,402 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2020-07-28 17:41:57,404 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2020-07-28 17:41:57,405 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2020-07-28 17:41:57,406 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2020-07-28 17:41:57,407 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2020-07-28 17:41:57,409 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2020-07-28 17:41:57,412 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2020-07-28 17:41:57,414 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2020-07-28 17:41:57,415 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2020-07-28 17:41:57,416 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2020-07-28 17:41:57,417 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2020-07-28 17:41:57,420 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2020-07-28 17:41:57,421 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2020-07-28 17:41:57,421 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2020-07-28 17:41:57,422 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2020-07-28 17:41:57,423 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2020-07-28 17:41:57,424 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2020-07-28 17:41:57,424 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2020-07-28 17:41:57,425 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2020-07-28 17:41:57,426 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2020-07-28 17:41:57,427 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2020-07-28 17:41:57,428 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2020-07-28 17:41:57,428 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2020-07-28 17:41:57,429 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2020-07-28 17:41:57,429 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2020-07-28 17:41:57,430 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2020-07-28 17:41:57,431 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2020-07-28 17:41:57,432 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2020-07-28 17:41:57,432 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-Reach-32bit-Automizer_Default.epf [2020-07-28 17:41:57,449 INFO L113 SettingsManager]: Loading preferences was successful [2020-07-28 17:41:57,450 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2020-07-28 17:41:57,451 INFO L136 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2020-07-28 17:41:57,451 INFO L138 SettingsManager]: * Create parallel compositions if possible=false [2020-07-28 17:41:57,451 INFO L138 SettingsManager]: * Use SBE=true [2020-07-28 17:41:57,452 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2020-07-28 17:41:57,452 INFO L138 SettingsManager]: * sizeof long=4 [2020-07-28 17:41:57,452 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2020-07-28 17:41:57,452 INFO L138 SettingsManager]: * sizeof POINTER=4 [2020-07-28 17:41:57,452 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2020-07-28 17:41:57,453 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2020-07-28 17:41:57,453 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2020-07-28 17:41:57,453 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2020-07-28 17:41:57,453 INFO L138 SettingsManager]: * sizeof long double=12 [2020-07-28 17:41:57,454 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2020-07-28 17:41:57,454 INFO L138 SettingsManager]: * Use constant arrays=true [2020-07-28 17:41:57,454 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2020-07-28 17:41:57,454 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2020-07-28 17:41:57,455 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2020-07-28 17:41:57,455 INFO L138 SettingsManager]: * To the following directory=./dump/ [2020-07-28 17:41:57,455 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2020-07-28 17:41:57,455 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2020-07-28 17:41:57,455 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2020-07-28 17:41:57,456 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2020-07-28 17:41:57,456 INFO L138 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2020-07-28 17:41:57,456 INFO L138 SettingsManager]: * Trace refinement strategy=CAMEL [2020-07-28 17:41:57,456 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2020-07-28 17:41:57,457 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2020-07-28 17:41:57,457 INFO L138 SettingsManager]: * Trace refinement exception blacklist=NONE [2020-07-28 17:41:57,457 INFO L138 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode Applying setting for plugin de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator: Entry function -> main Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Witness directory -> /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Witness filename -> witness.graphml Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Write witness besides input file -> false Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data specification -> CHECK( init(main()), LTL(G ! call(__VERIFIER_error())) ) Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data producer -> Automizer Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data architecture -> 32bit Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data programhash -> 2fc40f01120ca51e77cbf79a7824b0aac7011828 [2020-07-28 17:41:57,783 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2020-07-28 17:41:57,797 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2020-07-28 17:41:57,801 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2020-07-28 17:41:57,803 INFO L271 PluginConnector]: Initializing CDTParser... [2020-07-28 17:41:57,803 INFO L275 PluginConnector]: CDTParser initialized [2020-07-28 17:41:57,804 INFO L429 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../sv-benchmarks/c/float-newlib/double_req_bl_1032b.c [2020-07-28 17:41:57,887 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/3bc398efa/f0c98f3fb84e4b57ba82c84a07ab1eab/FLAGda97c3adb [2020-07-28 17:41:58,358 INFO L306 CDTParser]: Found 1 translation units. [2020-07-28 17:41:58,359 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/float-newlib/double_req_bl_1032b.c [2020-07-28 17:41:58,366 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/3bc398efa/f0c98f3fb84e4b57ba82c84a07ab1eab/FLAGda97c3adb [2020-07-28 17:41:58,714 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/3bc398efa/f0c98f3fb84e4b57ba82c84a07ab1eab [2020-07-28 17:41:58,718 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2020-07-28 17:41:58,721 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2020-07-28 17:41:58,722 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2020-07-28 17:41:58,722 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2020-07-28 17:41:58,726 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2020-07-28 17:41:58,727 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 28.07 05:41:58" (1/1) ... [2020-07-28 17:41:58,730 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@41884872 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.07 05:41:58, skipping insertion in model container [2020-07-28 17:41:58,731 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 28.07 05:41:58" (1/1) ... [2020-07-28 17:41:58,738 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2020-07-28 17:41:58,761 INFO L178 MainTranslator]: Built tables and reachable declarations [2020-07-28 17:41:58,969 INFO L206 PostProcessor]: Analyzing one entry point: main [2020-07-28 17:41:58,973 INFO L203 MainTranslator]: Completed pre-run [2020-07-28 17:41:59,011 INFO L206 PostProcessor]: Analyzing one entry point: main [2020-07-28 17:41:59,035 INFO L208 MainTranslator]: Completed translation [2020-07-28 17:41:59,036 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.07 05:41:59 WrapperNode [2020-07-28 17:41:59,036 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2020-07-28 17:41:59,037 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2020-07-28 17:41:59,038 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2020-07-28 17:41:59,038 INFO L275 PluginConnector]: Boogie Procedure Inliner initialized [2020-07-28 17:41:59,108 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.07 05:41:59" (1/1) ... [2020-07-28 17:41:59,132 INFO L185 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.07 05:41:59" (1/1) ... [2020-07-28 17:41:59,195 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2020-07-28 17:41:59,195 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2020-07-28 17:41:59,195 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2020-07-28 17:41:59,196 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2020-07-28 17:41:59,211 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.07 05:41:59" (1/1) ... [2020-07-28 17:41:59,211 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.07 05:41:59" (1/1) ... [2020-07-28 17:41:59,217 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.07 05:41:59" (1/1) ... [2020-07-28 17:41:59,217 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.07 05:41:59" (1/1) ... [2020-07-28 17:41:59,245 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.07 05:41:59" (1/1) ... [2020-07-28 17:41:59,258 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.07 05:41:59" (1/1) ... [2020-07-28 17:41:59,266 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.07 05:41:59" (1/1) ... [2020-07-28 17:41:59,272 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2020-07-28 17:41:59,273 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2020-07-28 17:41:59,273 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2020-07-28 17:41:59,273 INFO L275 PluginConnector]: RCFGBuilder initialized [2020-07-28 17:41:59,274 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.07 05:41:59" (1/1) ... No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 1 with z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 1 with z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2020-07-28 17:41:59,359 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnStack [2020-07-28 17:41:59,359 INFO L130 BoogieDeclarations]: Found specification of procedure read~real [2020-07-28 17:41:59,359 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2020-07-28 17:41:59,361 INFO L130 BoogieDeclarations]: Found specification of procedure write~real [2020-07-28 17:41:59,361 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2020-07-28 17:41:59,361 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2020-07-28 17:41:59,361 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2020-07-28 17:41:59,361 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2020-07-28 17:41:59,943 INFO L290 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2020-07-28 17:41:59,944 INFO L295 CfgBuilder]: Removed 14 assume(true) statements. [2020-07-28 17:41:59,947 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 28.07 05:41:59 BoogieIcfgContainer [2020-07-28 17:41:59,947 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2020-07-28 17:41:59,949 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2020-07-28 17:41:59,949 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2020-07-28 17:41:59,952 INFO L275 PluginConnector]: TraceAbstraction initialized [2020-07-28 17:41:59,952 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 28.07 05:41:58" (1/3) ... [2020-07-28 17:41:59,953 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@dc1ceee and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 28.07 05:41:59, skipping insertion in model container [2020-07-28 17:41:59,953 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.07 05:41:59" (2/3) ... [2020-07-28 17:41:59,954 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@dc1ceee and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 28.07 05:41:59, skipping insertion in model container [2020-07-28 17:41:59,954 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 28.07 05:41:59" (3/3) ... [2020-07-28 17:41:59,956 INFO L109 eAbstractionObserver]: Analyzing ICFG double_req_bl_1032b.c [2020-07-28 17:41:59,966 INFO L157 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2020-07-28 17:41:59,974 INFO L169 ceAbstractionStarter]: Appying trace abstraction to program that has 1 error locations. [2020-07-28 17:41:59,988 INFO L251 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2020-07-28 17:42:00,012 INFO L375 AbstractCegarLoop]: Interprodecural is true [2020-07-28 17:42:00,013 INFO L376 AbstractCegarLoop]: Hoare is true [2020-07-28 17:42:00,013 INFO L377 AbstractCegarLoop]: Compute interpolants for FPandBP [2020-07-28 17:42:00,013 INFO L378 AbstractCegarLoop]: Backedges is STRAIGHT_LINE [2020-07-28 17:42:00,013 INFO L379 AbstractCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2020-07-28 17:42:00,014 INFO L380 AbstractCegarLoop]: Difference is false [2020-07-28 17:42:00,014 INFO L381 AbstractCegarLoop]: Minimize is MINIMIZE_SEVPA [2020-07-28 17:42:00,014 INFO L385 AbstractCegarLoop]: ======== Iteration 0==of CEGAR loop == AllErrorsAtOnce======== [2020-07-28 17:42:00,031 INFO L276 IsEmpty]: Start isEmpty. Operand 30 states. [2020-07-28 17:42:00,038 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 12 [2020-07-28 17:42:00,038 INFO L414 BasicCegarLoop]: Found error trace [2020-07-28 17:42:00,040 INFO L422 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-28 17:42:00,040 INFO L427 AbstractCegarLoop]: === Iteration 1 === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-28 17:42:00,047 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-28 17:42:00,047 INFO L82 PathProgramCache]: Analyzing trace with hash 2068179301, now seen corresponding path program 1 times [2020-07-28 17:42:00,058 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-28 17:42:00,059 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1332110914] [2020-07-28 17:42:00,059 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-28 17:42:00,156 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 17:42:00,198 INFO L280 TraceCheckUtils]: 0: Hoare triple {33#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {33#true} is VALID [2020-07-28 17:42:00,199 INFO L280 TraceCheckUtils]: 1: Hoare triple {33#true} havoc main_#res;havoc main_#t~ret8, main_#t~ret9, main_#t~short10, main_~x~0, main_~res~0;main_~x~0 := ~someUnaryDOUBLEoperation(0.0);round_double_#in~x := main_~x~0;havoc round_double_#res;havoc round_double_#t~mem0, round_double_#t~union1, round_double_#t~mem2, round_double_#t~union3, round_double_~#ew_u~0.base, round_double_~#ew_u~0.offset, round_double_~exponent_mask~0, round_double_~exponent_mask~1, round_double_~tmp~0, round_double_#t~mem4, round_double_#t~union5.lsw, round_double_#t~union5.msw, round_double_~#iw_u~0.base, round_double_~#iw_u~0.offset, round_double_~x, round_double_~msw~0, round_double_~exponent_less_1023~0, round_double_~lsw~0;round_double_~x := round_double_#in~x;havoc round_double_~msw~0;havoc round_double_~exponent_less_1023~0;havoc round_double_~lsw~0; {33#true} is VALID [2020-07-28 17:42:00,200 INFO L280 TraceCheckUtils]: 2: Hoare triple {33#true} assume !true; {34#false} is VALID [2020-07-28 17:42:00,201 INFO L280 TraceCheckUtils]: 3: Hoare triple {34#false} round_double_~exponent_less_1023~0 := ~bitwiseAnd(round_double_~msw~0, 2146435072) / 1048576 - 1023; {34#false} is VALID [2020-07-28 17:42:00,201 INFO L280 TraceCheckUtils]: 4: Hoare triple {34#false} assume round_double_~exponent_less_1023~0 < 20; {34#false} is VALID [2020-07-28 17:42:00,202 INFO L280 TraceCheckUtils]: 5: Hoare triple {34#false} assume !(round_double_~exponent_less_1023~0 < 0);round_double_~exponent_mask~0 := ~shiftRight(1048575, round_double_~exponent_less_1023~0); {34#false} is VALID [2020-07-28 17:42:00,202 INFO L280 TraceCheckUtils]: 6: Hoare triple {34#false} assume 0 == ~bitwiseAnd(round_double_~msw~0, round_double_~exponent_mask~0) % 4294967296 && 0 == round_double_~lsw~0 % 4294967296;round_double_#res := round_double_~x; {34#false} is VALID [2020-07-28 17:42:00,202 INFO L280 TraceCheckUtils]: 7: Hoare triple {34#false} main_#t~ret8 := round_double_#res;main_~res~0 := main_#t~ret8;havoc main_#t~ret8;main_#t~short10 := ~someBinaryDOUBLEComparisonOperation(main_~res~0, ~someUnaryDOUBLEoperation(0.0)); {34#false} is VALID [2020-07-28 17:42:00,203 INFO L280 TraceCheckUtils]: 8: Hoare triple {34#false} assume !main_#t~short10; {34#false} is VALID [2020-07-28 17:42:00,203 INFO L280 TraceCheckUtils]: 9: Hoare triple {34#false} assume !main_#t~short10;havoc main_#t~short10;havoc main_#t~ret9; {34#false} is VALID [2020-07-28 17:42:00,203 INFO L280 TraceCheckUtils]: 10: Hoare triple {34#false} assume !false; {34#false} is VALID [2020-07-28 17:42:00,206 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-07-28 17:42:00,207 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1332110914] [2020-07-28 17:42:00,208 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-28 17:42:00,208 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2020-07-28 17:42:00,209 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [759818028] [2020-07-28 17:42:00,215 INFO L78 Accepts]: Start accepts. Automaton has 2 states. Word has length 11 [2020-07-28 17:42:00,217 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-28 17:42:00,221 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 2 states. [2020-07-28 17:42:00,253 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 11 edges. 11 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-28 17:42:00,254 INFO L459 AbstractCegarLoop]: Interpolant automaton has 2 states [2020-07-28 17:42:00,254 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-28 17:42:00,263 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 2 interpolants. [2020-07-28 17:42:00,264 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2020-07-28 17:42:00,266 INFO L87 Difference]: Start difference. First operand 30 states. Second operand 2 states. [2020-07-28 17:42:00,350 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 17:42:00,350 INFO L93 Difference]: Finished difference Result 58 states and 88 transitions. [2020-07-28 17:42:00,350 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2020-07-28 17:42:00,351 INFO L78 Accepts]: Start accepts. Automaton has 2 states. Word has length 11 [2020-07-28 17:42:00,351 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-28 17:42:00,352 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 2 states. [2020-07-28 17:42:00,361 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 88 transitions. [2020-07-28 17:42:00,361 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 2 states. [2020-07-28 17:42:00,366 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 88 transitions. [2020-07-28 17:42:00,366 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 2 states and 88 transitions. [2020-07-28 17:42:00,509 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 88 edges. 88 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-28 17:42:00,521 INFO L225 Difference]: With dead ends: 58 [2020-07-28 17:42:00,522 INFO L226 Difference]: Without dead ends: 27 [2020-07-28 17:42:00,525 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 2 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 0 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2020-07-28 17:42:00,545 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 27 states. [2020-07-28 17:42:00,564 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 27 to 27. [2020-07-28 17:42:00,564 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-28 17:42:00,565 INFO L82 GeneralOperation]: Start isEquivalent. First operand 27 states. Second operand 27 states. [2020-07-28 17:42:00,566 INFO L74 IsIncluded]: Start isIncluded. First operand 27 states. Second operand 27 states. [2020-07-28 17:42:00,566 INFO L87 Difference]: Start difference. First operand 27 states. Second operand 27 states. [2020-07-28 17:42:00,569 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 17:42:00,570 INFO L93 Difference]: Finished difference Result 27 states and 35 transitions. [2020-07-28 17:42:00,570 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 35 transitions. [2020-07-28 17:42:00,571 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-28 17:42:00,571 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-28 17:42:00,571 INFO L74 IsIncluded]: Start isIncluded. First operand 27 states. Second operand 27 states. [2020-07-28 17:42:00,572 INFO L87 Difference]: Start difference. First operand 27 states. Second operand 27 states. [2020-07-28 17:42:00,575 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 17:42:00,575 INFO L93 Difference]: Finished difference Result 27 states and 35 transitions. [2020-07-28 17:42:00,575 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 35 transitions. [2020-07-28 17:42:00,576 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-28 17:42:00,576 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-28 17:42:00,576 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-28 17:42:00,577 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-28 17:42:00,577 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 27 states. [2020-07-28 17:42:00,579 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 27 states to 27 states and 35 transitions. [2020-07-28 17:42:00,581 INFO L78 Accepts]: Start accepts. Automaton has 27 states and 35 transitions. Word has length 11 [2020-07-28 17:42:00,581 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-28 17:42:00,582 INFO L479 AbstractCegarLoop]: Abstraction has 27 states and 35 transitions. [2020-07-28 17:42:00,582 INFO L480 AbstractCegarLoop]: Interpolant automaton has 2 states. [2020-07-28 17:42:00,582 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 35 transitions. [2020-07-28 17:42:00,583 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 13 [2020-07-28 17:42:00,583 INFO L414 BasicCegarLoop]: Found error trace [2020-07-28 17:42:00,583 INFO L422 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-28 17:42:00,583 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2020-07-28 17:42:00,584 INFO L427 AbstractCegarLoop]: === Iteration 2 === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-28 17:42:00,584 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-28 17:42:00,584 INFO L82 PathProgramCache]: Analyzing trace with hash -1606867070, now seen corresponding path program 1 times [2020-07-28 17:42:00,585 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-28 17:42:00,585 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1285916625] [2020-07-28 17:42:00,585 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-28 17:42:00,654 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2020-07-28 17:42:00,654 INFO L221 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2020-07-28 17:42:00,689 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2020-07-28 17:42:00,690 INFO L221 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2020-07-28 17:42:00,719 INFO L174 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2020-07-28 17:42:00,719 INFO L520 BasicCegarLoop]: Counterexample might be feasible [2020-07-28 17:42:00,720 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1 [2020-07-28 17:42:00,747 WARN L170 areAnnotationChecker]: ULTIMATE.startENTRY has no Hoare annotation [2020-07-28 17:42:00,747 WARN L170 areAnnotationChecker]: L-1 has no Hoare annotation [2020-07-28 17:42:00,747 WARN L170 areAnnotationChecker]: L20-2 has no Hoare annotation [2020-07-28 17:42:00,747 WARN L170 areAnnotationChecker]: L20-2 has no Hoare annotation [2020-07-28 17:42:00,747 WARN L170 areAnnotationChecker]: L20-1 has no Hoare annotation [2020-07-28 17:42:00,747 WARN L170 areAnnotationChecker]: L20-1 has no Hoare annotation [2020-07-28 17:42:00,748 WARN L170 areAnnotationChecker]: L20-3 has no Hoare annotation [2020-07-28 17:42:00,748 WARN L170 areAnnotationChecker]: L27 has no Hoare annotation [2020-07-28 17:42:00,748 WARN L170 areAnnotationChecker]: L27 has no Hoare annotation [2020-07-28 17:42:00,748 WARN L170 areAnnotationChecker]: L28 has no Hoare annotation [2020-07-28 17:42:00,748 WARN L170 areAnnotationChecker]: L28 has no Hoare annotation [2020-07-28 17:42:00,748 WARN L170 areAnnotationChecker]: L41 has no Hoare annotation [2020-07-28 17:42:00,749 WARN L170 areAnnotationChecker]: L41 has no Hoare annotation [2020-07-28 17:42:00,749 WARN L170 areAnnotationChecker]: L30 has no Hoare annotation [2020-07-28 17:42:00,749 WARN L170 areAnnotationChecker]: L30 has no Hoare annotation [2020-07-28 17:42:00,749 WARN L170 areAnnotationChecker]: L35 has no Hoare annotation [2020-07-28 17:42:00,749 WARN L170 areAnnotationChecker]: L35 has no Hoare annotation [2020-07-28 17:42:00,750 WARN L170 areAnnotationChecker]: L42 has no Hoare annotation [2020-07-28 17:42:00,750 WARN L170 areAnnotationChecker]: L42 has no Hoare annotation [2020-07-28 17:42:00,750 WARN L170 areAnnotationChecker]: L49 has no Hoare annotation [2020-07-28 17:42:00,750 WARN L170 areAnnotationChecker]: L49 has no Hoare annotation [2020-07-28 17:42:00,750 WARN L170 areAnnotationChecker]: L30-2 has no Hoare annotation [2020-07-28 17:42:00,750 WARN L170 areAnnotationChecker]: L63 has no Hoare annotation [2020-07-28 17:42:00,751 WARN L170 areAnnotationChecker]: L57-1 has no Hoare annotation [2020-07-28 17:42:00,751 WARN L170 areAnnotationChecker]: L57-1 has no Hoare annotation [2020-07-28 17:42:00,751 WARN L170 areAnnotationChecker]: L52 has no Hoare annotation [2020-07-28 17:42:00,751 WARN L170 areAnnotationChecker]: L52 has no Hoare annotation [2020-07-28 17:42:00,751 WARN L170 areAnnotationChecker]: L90 has no Hoare annotation [2020-07-28 17:42:00,751 WARN L170 areAnnotationChecker]: L90 has no Hoare annotation [2020-07-28 17:42:00,752 WARN L170 areAnnotationChecker]: L57 has no Hoare annotation [2020-07-28 17:42:00,752 WARN L170 areAnnotationChecker]: L57 has no Hoare annotation [2020-07-28 17:42:00,752 WARN L170 areAnnotationChecker]: L57-2 has no Hoare annotation [2020-07-28 17:42:00,752 WARN L170 areAnnotationChecker]: L52-2 has no Hoare annotation [2020-07-28 17:42:00,752 WARN L170 areAnnotationChecker]: L69-2 has no Hoare annotation [2020-07-28 17:42:00,752 WARN L170 areAnnotationChecker]: L69-2 has no Hoare annotation [2020-07-28 17:42:00,753 WARN L170 areAnnotationChecker]: L90-2 has no Hoare annotation [2020-07-28 17:42:00,753 WARN L170 areAnnotationChecker]: L90-2 has no Hoare annotation [2020-07-28 17:42:00,753 WARN L170 areAnnotationChecker]: L69-1 has no Hoare annotation [2020-07-28 17:42:00,753 WARN L170 areAnnotationChecker]: L69-1 has no Hoare annotation [2020-07-28 17:42:00,753 WARN L170 areAnnotationChecker]: L69-3 has no Hoare annotation [2020-07-28 17:42:00,753 WARN L170 areAnnotationChecker]: L91 has no Hoare annotation [2020-07-28 17:42:00,754 WARN L170 areAnnotationChecker]: L91 has no Hoare annotation [2020-07-28 17:42:00,754 WARN L170 areAnnotationChecker]: L95 has no Hoare annotation [2020-07-28 17:42:00,754 WARN L170 areAnnotationChecker]: L75 has no Hoare annotation [2020-07-28 17:42:00,754 WARN L170 areAnnotationChecker]: ULTIMATE.startFINAL has no Hoare annotation [2020-07-28 17:42:00,754 INFO L163 areAnnotationChecker]: CFG has 0 edges. 0 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. 0 times interpolants missing. [2020-07-28 17:42:00,757 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 28.07 05:42:00 BoogieIcfgContainer [2020-07-28 17:42:00,757 INFO L132 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2020-07-28 17:42:00,758 INFO L113 PluginConnector]: ------------------------Witness Printer---------------------------- [2020-07-28 17:42:00,758 INFO L271 PluginConnector]: Initializing Witness Printer... [2020-07-28 17:42:00,758 INFO L275 PluginConnector]: Witness Printer initialized [2020-07-28 17:42:00,759 INFO L185 PluginConnector]: Executing the observer RCFGCatcher from plugin Witness Printer for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 28.07 05:41:59" (3/4) ... [2020-07-28 17:42:00,762 INFO L140 WitnessPrinter]: No result that supports witness generation found [2020-07-28 17:42:00,763 INFO L132 PluginConnector]: ------------------------ END Witness Printer---------------------------- [2020-07-28 17:42:00,766 INFO L168 Benchmark]: Toolchain (without parser) took 2045.37 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 130.5 MB). Free memory was 956.2 MB in the beginning and 1.0 GB in the end (delta: -72.0 MB). Peak memory consumption was 58.5 MB. Max. memory is 11.5 GB. [2020-07-28 17:42:00,766 INFO L168 Benchmark]: CDTParser took 0.38 ms. Allocated memory is still 1.0 GB. Free memory is still 981.7 MB. There was no memory consumed. Max. memory is 11.5 GB. [2020-07-28 17:42:00,767 INFO L168 Benchmark]: CACSL2BoogieTranslator took 314.70 ms. Allocated memory is still 1.0 GB. Free memory was 956.2 MB in the beginning and 938.8 MB in the end (delta: 17.5 MB). Peak memory consumption was 17.5 MB. Max. memory is 11.5 GB. [2020-07-28 17:42:00,768 INFO L168 Benchmark]: Boogie Procedure Inliner took 157.59 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 130.5 MB). Free memory was 938.8 MB in the beginning and 1.1 GB in the end (delta: -181.6 MB). Peak memory consumption was 9.8 MB. Max. memory is 11.5 GB. [2020-07-28 17:42:00,769 INFO L168 Benchmark]: Boogie Preprocessor took 77.12 ms. Allocated memory is still 1.2 GB. Free memory is still 1.1 GB. There was no memory consumed. Max. memory is 11.5 GB. [2020-07-28 17:42:00,770 INFO L168 Benchmark]: RCFGBuilder took 674.81 ms. Allocated memory is still 1.2 GB. Free memory was 1.1 GB in the beginning and 1.1 GB in the end (delta: 39.2 MB). Peak memory consumption was 39.2 MB. Max. memory is 11.5 GB. [2020-07-28 17:42:00,770 INFO L168 Benchmark]: TraceAbstraction took 808.70 ms. Allocated memory is still 1.2 GB. Free memory was 1.1 GB in the beginning and 1.0 GB in the end (delta: 53.0 MB). Peak memory consumption was 53.0 MB. Max. memory is 11.5 GB. [2020-07-28 17:42:00,771 INFO L168 Benchmark]: Witness Printer took 5.02 ms. Allocated memory is still 1.2 GB. Free memory is still 1.0 GB. There was no memory consumed. Max. memory is 11.5 GB. [2020-07-28 17:42:00,775 INFO L336 ainManager$Toolchain]: ####################### End [Toolchain 1] ####################### --- Results --- * Results from de.uni_freiburg.informatik.ultimate.core: - AssertionsEnabledResult: Assertions are enabled Assertions are enabled - StatisticsResult: Toolchain Benchmarks Benchmark results are: * CDTParser took 0.38 ms. Allocated memory is still 1.0 GB. Free memory is still 981.7 MB. There was no memory consumed. Max. memory is 11.5 GB. * CACSL2BoogieTranslator took 314.70 ms. Allocated memory is still 1.0 GB. Free memory was 956.2 MB in the beginning and 938.8 MB in the end (delta: 17.5 MB). Peak memory consumption was 17.5 MB. Max. memory is 11.5 GB. * Boogie Procedure Inliner took 157.59 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 130.5 MB). Free memory was 938.8 MB in the beginning and 1.1 GB in the end (delta: -181.6 MB). Peak memory consumption was 9.8 MB. Max. memory is 11.5 GB. * Boogie Preprocessor took 77.12 ms. Allocated memory is still 1.2 GB. Free memory is still 1.1 GB. There was no memory consumed. Max. memory is 11.5 GB. * RCFGBuilder took 674.81 ms. Allocated memory is still 1.2 GB. Free memory was 1.1 GB in the beginning and 1.1 GB in the end (delta: 39.2 MB). Peak memory consumption was 39.2 MB. Max. memory is 11.5 GB. * TraceAbstraction took 808.70 ms. Allocated memory is still 1.2 GB. Free memory was 1.1 GB in the beginning and 1.0 GB in the end (delta: 53.0 MB). Peak memory consumption was 53.0 MB. Max. memory is 11.5 GB. * Witness Printer took 5.02 ms. Allocated memory is still 1.2 GB. Free memory is still 1.0 GB. There was no memory consumed. Max. memory is 11.5 GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - UnprovableResult [Line: 91]: Unable to prove that call of __VERIFIER_error() unreachable Unable to prove that call of __VERIFIER_error() unreachable Reason: overapproximation of shiftRight at line 34, overapproximation of someUnaryDOUBLEoperation at line 86, overapproximation of bitwiseAnd at line 35, overapproximation of someBinaryDOUBLEComparisonOperation at line 90. Possible FailurePath: [L86] double x = -0.0; [L18] __int32_t msw, exponent_less_1023; [L19] __uint32_t lsw; [L21] ieee_double_shape_type ew_u; [L22] ew_u.value = (x) [L23] EXPR ew_u.parts.msw [L23] (msw) = ew_u.parts.msw [L24] EXPR ew_u.parts.lsw [L24] (lsw) = ew_u.parts.lsw [L26] exponent_less_1023 = ((msw & 0x7ff00000) >> 20) - 1023 [L27] COND TRUE exponent_less_1023 < 20 [L28] COND FALSE !(exponent_less_1023 < 0) [L34] __uint32_t exponent_mask = 0x000fffff >> exponent_less_1023; [L35] COND TRUE (msw & exponent_mask) == 0 && lsw == 0 [L36] return x; [L87] double res = round_double(x); [L90] EXPR res == -0.0 && __signbit_double(res) == 1 [L90] COND TRUE !(res == -0.0 && __signbit_double(res) == 1) [L91] __VERIFIER_error() - StatisticsResult: Ultimate Automizer benchmark data CFG has 1 procedures, 30 locations, 1 error locations. Started 1 CEGAR loops. VerificationResult: UNSAFE, OverallTime: 0.7s, OverallIterations: 2, TraceHistogramMax: 1, AutomataDifference: 0.2s, DeadEndRemovalTime: 0.0s, HoareAnnotationTime: 0.0s, InitialAbstractionConstructionTime: 0.0s, HoareTripleCheckerStatistics: 38 SDtfs, 0 SDslu, 0 SDs, 0 SdLazy, 0 SolverSat, 0 SolverUnsat, 0 SolverUnknown, 0 SolverNotchecked, 0.0s Time, PredicateUnifierStatistics: 0 DeclaredPredicates, 2 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 0 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s Time, 0.0s BasicInterpolantAutomatonTime, BiggestAbstraction: size=30occurred in iteration=0, traceCheckStatistics: No data available, InterpolantConsolidationStatistics: No data available, PathInvariantsStatistics: No data available, 0/0 InterpolantCoveringCapability, TotalInterpolationStatistics: No data available, 0.0s DumpTime, AutomataMinimizationStatistics: 0.0s AutomataMinimizationTime, 1 MinimizatonAttempts, 0 StatesRemovedByMinimization, 0 NontrivialMinimizations, HoareAnnotationStatistics: No data available, RefinementEngineStatistics: TRACE_CHECK: 0.0s SsaConstructionTime, 0.0s SatisfiabilityAnalysisTime, 0.0s InterpolantComputationTime, 23 NumberOfCodeBlocks, 23 NumberOfCodeBlocksAsserted, 2 NumberOfCheckSat, 10 ConstructedInterpolants, 0 QuantifiedInterpolants, 100 SizeOfPredicates, 0 NumberOfNonLiveVariables, 0 ConjunctsInSsa, 0 ConjunctsInUnsatCore, 1 InterpolantComputations, 1 PerfectInterpolantSequences, 0/0 InterpolantCoveringCapability, INVARIANT_SYNTHESIS: No data available, INTERPOLANT_CONSOLIDATION: No data available, ABSTRACT_INTERPRETATION: No data available, PDR: No data available, ACCELERATED_INTERPOLATION: No data available, SIFA: No data available, ReuseStatistics: No data available RESULT: Ultimate could not prove your program: unable to determine feasibility of some traces Received shutdown request... ### Bit-precise run ### This is Ultimate 0.1.25-8bd4bc6 [2020-07-28 17:42:02,723 INFO L177 SettingsManager]: Resetting all preferences to default values... [2020-07-28 17:42:02,726 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2020-07-28 17:42:02,741 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2020-07-28 17:42:02,741 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2020-07-28 17:42:02,742 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2020-07-28 17:42:02,743 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2020-07-28 17:42:02,745 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2020-07-28 17:42:02,747 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2020-07-28 17:42:02,748 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2020-07-28 17:42:02,749 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2020-07-28 17:42:02,750 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2020-07-28 17:42:02,750 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2020-07-28 17:42:02,751 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2020-07-28 17:42:02,752 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2020-07-28 17:42:02,753 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2020-07-28 17:42:02,754 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2020-07-28 17:42:02,755 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2020-07-28 17:42:02,757 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2020-07-28 17:42:02,759 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2020-07-28 17:42:02,760 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2020-07-28 17:42:02,761 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2020-07-28 17:42:02,763 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2020-07-28 17:42:02,763 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2020-07-28 17:42:02,766 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2020-07-28 17:42:02,767 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2020-07-28 17:42:02,767 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2020-07-28 17:42:02,768 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2020-07-28 17:42:02,768 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2020-07-28 17:42:02,769 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2020-07-28 17:42:02,769 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2020-07-28 17:42:02,770 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2020-07-28 17:42:02,771 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2020-07-28 17:42:02,772 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2020-07-28 17:42:02,773 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2020-07-28 17:42:02,773 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2020-07-28 17:42:02,774 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2020-07-28 17:42:02,774 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2020-07-28 17:42:02,774 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2020-07-28 17:42:02,775 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2020-07-28 17:42:02,776 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2020-07-28 17:42:02,777 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-Reach-32bit-Automizer_Bitvector.epf [2020-07-28 17:42:02,792 INFO L113 SettingsManager]: Loading preferences was successful [2020-07-28 17:42:02,792 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2020-07-28 17:42:02,793 INFO L136 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2020-07-28 17:42:02,794 INFO L138 SettingsManager]: * Create parallel compositions if possible=false [2020-07-28 17:42:02,794 INFO L138 SettingsManager]: * Use SBE=true [2020-07-28 17:42:02,794 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2020-07-28 17:42:02,794 INFO L138 SettingsManager]: * sizeof long=4 [2020-07-28 17:42:02,795 INFO L138 SettingsManager]: * sizeof POINTER=4 [2020-07-28 17:42:02,795 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2020-07-28 17:42:02,795 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2020-07-28 17:42:02,795 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2020-07-28 17:42:02,795 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2020-07-28 17:42:02,796 INFO L138 SettingsManager]: * Use bitvectors instead of ints=true [2020-07-28 17:42:02,796 INFO L138 SettingsManager]: * Memory model=HoenickeLindenmann_4ByteResolution [2020-07-28 17:42:02,796 INFO L138 SettingsManager]: * sizeof long double=12 [2020-07-28 17:42:02,796 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2020-07-28 17:42:02,797 INFO L138 SettingsManager]: * Use constant arrays=true [2020-07-28 17:42:02,797 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2020-07-28 17:42:02,797 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2020-07-28 17:42:02,797 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2020-07-28 17:42:02,797 INFO L138 SettingsManager]: * To the following directory=./dump/ [2020-07-28 17:42:02,798 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2020-07-28 17:42:02,798 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2020-07-28 17:42:02,798 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2020-07-28 17:42:02,798 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2020-07-28 17:42:02,799 INFO L138 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2020-07-28 17:42:02,799 INFO L138 SettingsManager]: * Trace refinement strategy=WOLF [2020-07-28 17:42:02,799 INFO L138 SettingsManager]: * Command for external solver=cvc4 --incremental --rewrite-divk --print-success --lang smt [2020-07-28 17:42:02,799 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2020-07-28 17:42:02,799 INFO L138 SettingsManager]: * Trace refinement exception blacklist=NONE [2020-07-28 17:42:02,800 INFO L138 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2020-07-28 17:42:02,800 INFO L138 SettingsManager]: * Logic for external solver=AUFBV Applying setting for plugin de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator: Entry function -> main Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Witness directory -> /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Witness filename -> witness.graphml Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Write witness besides input file -> false Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data specification -> CHECK( init(main()), LTL(G ! call(__VERIFIER_error())) ) Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data producer -> Automizer Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data architecture -> 32bit Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data programhash -> 2fc40f01120ca51e77cbf79a7824b0aac7011828 [2020-07-28 17:42:03,108 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2020-07-28 17:42:03,120 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2020-07-28 17:42:03,124 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2020-07-28 17:42:03,126 INFO L271 PluginConnector]: Initializing CDTParser... [2020-07-28 17:42:03,126 INFO L275 PluginConnector]: CDTParser initialized [2020-07-28 17:42:03,127 INFO L429 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../sv-benchmarks/c/float-newlib/double_req_bl_1032b.c [2020-07-28 17:42:03,185 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/5500d5850/3e7e1cb6db1649eca981e3d20d1663f5/FLAG1826a7314 [2020-07-28 17:42:03,675 INFO L306 CDTParser]: Found 1 translation units. [2020-07-28 17:42:03,676 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/float-newlib/double_req_bl_1032b.c [2020-07-28 17:42:03,691 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/5500d5850/3e7e1cb6db1649eca981e3d20d1663f5/FLAG1826a7314 [2020-07-28 17:42:04,025 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/5500d5850/3e7e1cb6db1649eca981e3d20d1663f5 [2020-07-28 17:42:04,030 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2020-07-28 17:42:04,035 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2020-07-28 17:42:04,036 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2020-07-28 17:42:04,036 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2020-07-28 17:42:04,040 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2020-07-28 17:42:04,042 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 28.07 05:42:04" (1/1) ... [2020-07-28 17:42:04,047 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@4a5575ae and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.07 05:42:04, skipping insertion in model container [2020-07-28 17:42:04,047 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 28.07 05:42:04" (1/1) ... [2020-07-28 17:42:04,054 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2020-07-28 17:42:04,075 INFO L178 MainTranslator]: Built tables and reachable declarations [2020-07-28 17:42:04,269 INFO L206 PostProcessor]: Analyzing one entry point: main [2020-07-28 17:42:04,279 INFO L203 MainTranslator]: Completed pre-run [2020-07-28 17:42:04,327 INFO L206 PostProcessor]: Analyzing one entry point: main [2020-07-28 17:42:04,420 INFO L208 MainTranslator]: Completed translation [2020-07-28 17:42:04,421 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.07 05:42:04 WrapperNode [2020-07-28 17:42:04,421 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2020-07-28 17:42:04,423 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2020-07-28 17:42:04,423 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2020-07-28 17:42:04,425 INFO L275 PluginConnector]: Boogie Procedure Inliner initialized [2020-07-28 17:42:04,435 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.07 05:42:04" (1/1) ... [2020-07-28 17:42:04,450 INFO L185 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.07 05:42:04" (1/1) ... [2020-07-28 17:42:04,488 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2020-07-28 17:42:04,488 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2020-07-28 17:42:04,488 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2020-07-28 17:42:04,489 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2020-07-28 17:42:04,499 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.07 05:42:04" (1/1) ... [2020-07-28 17:42:04,499 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.07 05:42:04" (1/1) ... [2020-07-28 17:42:04,504 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.07 05:42:04" (1/1) ... [2020-07-28 17:42:04,505 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.07 05:42:04" (1/1) ... [2020-07-28 17:42:04,522 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.07 05:42:04" (1/1) ... [2020-07-28 17:42:04,530 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.07 05:42:04" (1/1) ... [2020-07-28 17:42:04,534 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.07 05:42:04" (1/1) ... [2020-07-28 17:42:04,538 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2020-07-28 17:42:04,539 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2020-07-28 17:42:04,539 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2020-07-28 17:42:04,539 INFO L275 PluginConnector]: RCFGBuilder initialized [2020-07-28 17:42:04,540 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.07 05:42:04" (1/1) ... No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 1 with z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 1 with z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2020-07-28 17:42:04,643 INFO L130 BoogieDeclarations]: Found specification of procedure read~intFLOATTYPE8 [2020-07-28 17:42:04,645 INFO L130 BoogieDeclarations]: Found specification of procedure write~intFLOATTYPE8 [2020-07-28 17:42:04,646 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnStack [2020-07-28 17:42:04,646 INFO L130 BoogieDeclarations]: Found specification of procedure read~intINTTYPE4 [2020-07-28 17:42:04,646 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2020-07-28 17:42:04,646 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2020-07-28 17:42:04,646 INFO L130 BoogieDeclarations]: Found specification of procedure write~intINTTYPE4 [2020-07-28 17:42:04,648 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2020-07-28 17:42:05,347 INFO L290 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2020-07-28 17:42:05,347 INFO L295 CfgBuilder]: Removed 14 assume(true) statements. [2020-07-28 17:42:05,351 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 28.07 05:42:05 BoogieIcfgContainer [2020-07-28 17:42:05,351 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2020-07-28 17:42:05,353 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2020-07-28 17:42:05,353 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2020-07-28 17:42:05,356 INFO L275 PluginConnector]: TraceAbstraction initialized [2020-07-28 17:42:05,356 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 28.07 05:42:04" (1/3) ... [2020-07-28 17:42:05,357 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@61dd91f4 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 28.07 05:42:05, skipping insertion in model container [2020-07-28 17:42:05,358 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.07 05:42:04" (2/3) ... [2020-07-28 17:42:05,358 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@61dd91f4 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 28.07 05:42:05, skipping insertion in model container [2020-07-28 17:42:05,358 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 28.07 05:42:05" (3/3) ... [2020-07-28 17:42:05,360 INFO L109 eAbstractionObserver]: Analyzing ICFG double_req_bl_1032b.c [2020-07-28 17:42:05,371 INFO L157 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2020-07-28 17:42:05,379 INFO L169 ceAbstractionStarter]: Appying trace abstraction to program that has 1 error locations. [2020-07-28 17:42:05,394 INFO L251 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2020-07-28 17:42:05,419 INFO L375 AbstractCegarLoop]: Interprodecural is true [2020-07-28 17:42:05,419 INFO L376 AbstractCegarLoop]: Hoare is true [2020-07-28 17:42:05,419 INFO L377 AbstractCegarLoop]: Compute interpolants for FPandBP [2020-07-28 17:42:05,419 INFO L378 AbstractCegarLoop]: Backedges is STRAIGHT_LINE [2020-07-28 17:42:05,420 INFO L379 AbstractCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2020-07-28 17:42:05,420 INFO L380 AbstractCegarLoop]: Difference is false [2020-07-28 17:42:05,420 INFO L381 AbstractCegarLoop]: Minimize is MINIMIZE_SEVPA [2020-07-28 17:42:05,420 INFO L385 AbstractCegarLoop]: ======== Iteration 0==of CEGAR loop == AllErrorsAtOnce======== [2020-07-28 17:42:05,433 INFO L276 IsEmpty]: Start isEmpty. Operand 30 states. [2020-07-28 17:42:05,439 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 12 [2020-07-28 17:42:05,439 INFO L414 BasicCegarLoop]: Found error trace [2020-07-28 17:42:05,440 INFO L422 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-28 17:42:05,440 INFO L427 AbstractCegarLoop]: === Iteration 1 === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-28 17:42:05,445 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-28 17:42:05,445 INFO L82 PathProgramCache]: Analyzing trace with hash 2068179301, now seen corresponding path program 1 times [2020-07-28 17:42:05,458 INFO L163 FreeRefinementEngine]: Executing refinement strategy WOLF [2020-07-28 17:42:05,458 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [320862602] [2020-07-28 17:42:05,459 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat Starting monitored process 2 with mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 2 with mathsat -unsat_core_generation=3 [2020-07-28 17:42:05,561 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 17:42:05,565 INFO L263 TraceCheckSpWp]: Trace formula consists of 23 conjuncts, 1 conjunts are in the unsatisfiable core [2020-07-28 17:42:05,574 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 17:42:05,579 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2020-07-28 17:42:05,617 INFO L280 TraceCheckUtils]: 0: Hoare triple {33#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1];assume ~bvult32(0bv32, #StackHeapBarrier);currentRoundingMode := ~roundNearestTiesToEven; {33#true} is VALID [2020-07-28 17:42:05,618 INFO L280 TraceCheckUtils]: 1: Hoare triple {33#true} havoc main_#res;havoc main_#t~ret8, main_#t~ret9, main_#t~short10, main_~x~0, main_~res~0;main_~x~0 := ~fp.neg~DOUBLE(~Pluszero~DOUBLE());round_double_#in~x := main_~x~0;havoc round_double_#res;havoc round_double_#t~mem0, round_double_#t~union1, round_double_#t~mem2, round_double_#t~union3, round_double_~#ew_u~0.base, round_double_~#ew_u~0.offset, round_double_~exponent_mask~0, round_double_~exponent_mask~1, round_double_~tmp~0, round_double_#t~mem4, round_double_#t~union5.lsw, round_double_#t~union5.msw, round_double_~#iw_u~0.base, round_double_~#iw_u~0.offset, round_double_~x, round_double_~msw~0, round_double_~exponent_less_1023~0, round_double_~lsw~0;round_double_~x := round_double_#in~x;havoc round_double_~msw~0;havoc round_double_~exponent_less_1023~0;havoc round_double_~lsw~0; {33#true} is VALID [2020-07-28 17:42:05,619 INFO L280 TraceCheckUtils]: 2: Hoare triple {33#true} assume !true; {34#false} is VALID [2020-07-28 17:42:05,619 INFO L280 TraceCheckUtils]: 3: Hoare triple {34#false} round_double_~exponent_less_1023~0 := ~bvsub32(~bvashr32(~bvand32(2146435072bv32, round_double_~msw~0), 20bv32), 1023bv32); {34#false} is VALID [2020-07-28 17:42:05,620 INFO L280 TraceCheckUtils]: 4: Hoare triple {34#false} assume ~bvslt32(round_double_~exponent_less_1023~0, 20bv32); {34#false} is VALID [2020-07-28 17:42:05,620 INFO L280 TraceCheckUtils]: 5: Hoare triple {34#false} assume !~bvslt32(round_double_~exponent_less_1023~0, 0bv32);round_double_~exponent_mask~0 := ~bvashr32(1048575bv32, round_double_~exponent_less_1023~0); {34#false} is VALID [2020-07-28 17:42:05,620 INFO L280 TraceCheckUtils]: 6: Hoare triple {34#false} assume 0bv32 == ~bvand32(round_double_~msw~0, round_double_~exponent_mask~0) && 0bv32 == round_double_~lsw~0;round_double_#res := round_double_~x; {34#false} is VALID [2020-07-28 17:42:05,621 INFO L280 TraceCheckUtils]: 7: Hoare triple {34#false} main_#t~ret8 := round_double_#res;main_~res~0 := main_#t~ret8;havoc main_#t~ret8;main_#t~short10 := ~fp.eq~DOUBLE(main_~res~0, ~fp.neg~DOUBLE(~Pluszero~DOUBLE())); {34#false} is VALID [2020-07-28 17:42:05,621 INFO L280 TraceCheckUtils]: 8: Hoare triple {34#false} assume !main_#t~short10; {34#false} is VALID [2020-07-28 17:42:05,621 INFO L280 TraceCheckUtils]: 9: Hoare triple {34#false} assume !main_#t~short10;havoc main_#t~short10;havoc main_#t~ret9; {34#false} is VALID [2020-07-28 17:42:05,622 INFO L280 TraceCheckUtils]: 10: Hoare triple {34#false} assume !false; {34#false} is VALID [2020-07-28 17:42:05,624 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-07-28 17:42:05,625 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2020-07-28 17:42:05,643 INFO L280 TraceCheckUtils]: 10: Hoare triple {34#false} assume !false; {34#false} is VALID [2020-07-28 17:42:05,643 INFO L280 TraceCheckUtils]: 9: Hoare triple {34#false} assume !main_#t~short10;havoc main_#t~short10;havoc main_#t~ret9; {34#false} is VALID [2020-07-28 17:42:05,644 INFO L280 TraceCheckUtils]: 8: Hoare triple {34#false} assume !main_#t~short10; {34#false} is VALID [2020-07-28 17:42:05,644 INFO L280 TraceCheckUtils]: 7: Hoare triple {34#false} main_#t~ret8 := round_double_#res;main_~res~0 := main_#t~ret8;havoc main_#t~ret8;main_#t~short10 := ~fp.eq~DOUBLE(main_~res~0, ~fp.neg~DOUBLE(~Pluszero~DOUBLE())); {34#false} is VALID [2020-07-28 17:42:05,644 INFO L280 TraceCheckUtils]: 6: Hoare triple {34#false} assume 0bv32 == ~bvand32(round_double_~msw~0, round_double_~exponent_mask~0) && 0bv32 == round_double_~lsw~0;round_double_#res := round_double_~x; {34#false} is VALID [2020-07-28 17:42:05,645 INFO L280 TraceCheckUtils]: 5: Hoare triple {34#false} assume !~bvslt32(round_double_~exponent_less_1023~0, 0bv32);round_double_~exponent_mask~0 := ~bvashr32(1048575bv32, round_double_~exponent_less_1023~0); {34#false} is VALID [2020-07-28 17:42:05,645 INFO L280 TraceCheckUtils]: 4: Hoare triple {34#false} assume ~bvslt32(round_double_~exponent_less_1023~0, 20bv32); {34#false} is VALID [2020-07-28 17:42:05,645 INFO L280 TraceCheckUtils]: 3: Hoare triple {34#false} round_double_~exponent_less_1023~0 := ~bvsub32(~bvashr32(~bvand32(2146435072bv32, round_double_~msw~0), 20bv32), 1023bv32); {34#false} is VALID [2020-07-28 17:42:05,647 INFO L280 TraceCheckUtils]: 2: Hoare triple {33#true} assume !true; {34#false} is VALID [2020-07-28 17:42:05,647 INFO L280 TraceCheckUtils]: 1: Hoare triple {33#true} havoc main_#res;havoc main_#t~ret8, main_#t~ret9, main_#t~short10, main_~x~0, main_~res~0;main_~x~0 := ~fp.neg~DOUBLE(~Pluszero~DOUBLE());round_double_#in~x := main_~x~0;havoc round_double_#res;havoc round_double_#t~mem0, round_double_#t~union1, round_double_#t~mem2, round_double_#t~union3, round_double_~#ew_u~0.base, round_double_~#ew_u~0.offset, round_double_~exponent_mask~0, round_double_~exponent_mask~1, round_double_~tmp~0, round_double_#t~mem4, round_double_#t~union5.lsw, round_double_#t~union5.msw, round_double_~#iw_u~0.base, round_double_~#iw_u~0.offset, round_double_~x, round_double_~msw~0, round_double_~exponent_less_1023~0, round_double_~lsw~0;round_double_~x := round_double_#in~x;havoc round_double_~msw~0;havoc round_double_~exponent_less_1023~0;havoc round_double_~lsw~0; {33#true} is VALID [2020-07-28 17:42:05,647 INFO L280 TraceCheckUtils]: 0: Hoare triple {33#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1];assume ~bvult32(0bv32, #StackHeapBarrier);currentRoundingMode := ~roundNearestTiesToEven; {33#true} is VALID [2020-07-28 17:42:05,648 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-07-28 17:42:05,649 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [320862602] [2020-07-28 17:42:05,650 INFO L220 FreeRefinementEngine]: Constructing automaton from 2 perfect and 0 imperfect interpolant sequences. [2020-07-28 17:42:05,650 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2, 2] imperfect sequences [] total 2 [2020-07-28 17:42:05,652 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [783633297] [2020-07-28 17:42:05,658 INFO L78 Accepts]: Start accepts. Automaton has 2 states. Word has length 11 [2020-07-28 17:42:05,660 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-28 17:42:05,664 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 2 states. [2020-07-28 17:42:05,689 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 11 edges. 11 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-28 17:42:05,689 INFO L459 AbstractCegarLoop]: Interpolant automaton has 2 states [2020-07-28 17:42:05,689 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2020-07-28 17:42:05,698 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 2 interpolants. [2020-07-28 17:42:05,699 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2020-07-28 17:42:05,701 INFO L87 Difference]: Start difference. First operand 30 states. Second operand 2 states. [2020-07-28 17:42:05,935 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 17:42:05,935 INFO L93 Difference]: Finished difference Result 58 states and 88 transitions. [2020-07-28 17:42:05,936 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2020-07-28 17:42:05,936 INFO L78 Accepts]: Start accepts. Automaton has 2 states. Word has length 11 [2020-07-28 17:42:05,936 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-28 17:42:05,937 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 2 states. [2020-07-28 17:42:05,946 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 88 transitions. [2020-07-28 17:42:05,946 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 2 states. [2020-07-28 17:42:05,952 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 88 transitions. [2020-07-28 17:42:05,952 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 2 states and 88 transitions. [2020-07-28 17:42:06,242 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 88 edges. 88 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-28 17:42:06,253 INFO L225 Difference]: With dead ends: 58 [2020-07-28 17:42:06,254 INFO L226 Difference]: Without dead ends: 27 [2020-07-28 17:42:06,258 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 20 GetRequests, 20 SyntacticMatches, 0 SemanticMatches, 0 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2020-07-28 17:42:06,276 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 27 states. [2020-07-28 17:42:06,290 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 27 to 27. [2020-07-28 17:42:06,291 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-28 17:42:06,292 INFO L82 GeneralOperation]: Start isEquivalent. First operand 27 states. Second operand 27 states. [2020-07-28 17:42:06,292 INFO L74 IsIncluded]: Start isIncluded. First operand 27 states. Second operand 27 states. [2020-07-28 17:42:06,293 INFO L87 Difference]: Start difference. First operand 27 states. Second operand 27 states. [2020-07-28 17:42:06,297 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 17:42:06,297 INFO L93 Difference]: Finished difference Result 27 states and 35 transitions. [2020-07-28 17:42:06,297 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 35 transitions. [2020-07-28 17:42:06,298 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-28 17:42:06,298 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-28 17:42:06,298 INFO L74 IsIncluded]: Start isIncluded. First operand 27 states. Second operand 27 states. [2020-07-28 17:42:06,299 INFO L87 Difference]: Start difference. First operand 27 states. Second operand 27 states. [2020-07-28 17:42:06,301 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 17:42:06,302 INFO L93 Difference]: Finished difference Result 27 states and 35 transitions. [2020-07-28 17:42:06,302 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 35 transitions. [2020-07-28 17:42:06,302 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-28 17:42:06,303 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-28 17:42:06,303 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-28 17:42:06,303 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-28 17:42:06,303 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 27 states. [2020-07-28 17:42:06,306 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 27 states to 27 states and 35 transitions. [2020-07-28 17:42:06,308 INFO L78 Accepts]: Start accepts. Automaton has 27 states and 35 transitions. Word has length 11 [2020-07-28 17:42:06,308 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-28 17:42:06,308 INFO L479 AbstractCegarLoop]: Abstraction has 27 states and 35 transitions. [2020-07-28 17:42:06,309 INFO L480 AbstractCegarLoop]: Interpolant automaton has 2 states. [2020-07-28 17:42:06,309 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 35 transitions. [2020-07-28 17:42:06,309 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 13 [2020-07-28 17:42:06,310 INFO L414 BasicCegarLoop]: Found error trace [2020-07-28 17:42:06,310 INFO L422 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-28 17:42:06,522 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 2 mathsat -unsat_core_generation=3 [2020-07-28 17:42:06,524 INFO L427 AbstractCegarLoop]: === Iteration 2 === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-28 17:42:06,524 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-28 17:42:06,525 INFO L82 PathProgramCache]: Analyzing trace with hash -1606867070, now seen corresponding path program 1 times [2020-07-28 17:42:06,526 INFO L163 FreeRefinementEngine]: Executing refinement strategy WOLF [2020-07-28 17:42:06,527 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [209441097] [2020-07-28 17:42:06,527 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat Starting monitored process 3 with mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 3 with mathsat -unsat_core_generation=3 [2020-07-28 17:42:06,590 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 17:42:06,594 INFO L263 TraceCheckSpWp]: Trace formula consists of 36 conjuncts, 8 conjunts are in the unsatisfiable core [2020-07-28 17:42:06,609 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 17:42:06,611 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2020-07-28 17:42:06,779 INFO L280 TraceCheckUtils]: 0: Hoare triple {250#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1];assume ~bvult32(0bv32, #StackHeapBarrier);currentRoundingMode := ~roundNearestTiesToEven; {250#true} is VALID [2020-07-28 17:42:06,781 INFO L280 TraceCheckUtils]: 1: Hoare triple {250#true} havoc main_#res;havoc main_#t~ret8, main_#t~ret9, main_#t~short10, main_~x~0, main_~res~0;main_~x~0 := ~fp.neg~DOUBLE(~Pluszero~DOUBLE());round_double_#in~x := main_~x~0;havoc round_double_#res;havoc round_double_#t~mem0, round_double_#t~union1, round_double_#t~mem2, round_double_#t~union3, round_double_~#ew_u~0.base, round_double_~#ew_u~0.offset, round_double_~exponent_mask~0, round_double_~exponent_mask~1, round_double_~tmp~0, round_double_#t~mem4, round_double_#t~union5.lsw, round_double_#t~union5.msw, round_double_~#iw_u~0.base, round_double_~#iw_u~0.offset, round_double_~x, round_double_~msw~0, round_double_~exponent_less_1023~0, round_double_~lsw~0;round_double_~x := round_double_#in~x;havoc round_double_~msw~0;havoc round_double_~exponent_less_1023~0;havoc round_double_~lsw~0; {258#(= ULTIMATE.start_round_double_~x (fp.neg (_ +zero 11 53)))} is VALID [2020-07-28 17:42:06,787 INFO L280 TraceCheckUtils]: 2: Hoare triple {258#(= ULTIMATE.start_round_double_~x (fp.neg (_ +zero 11 53)))} call round_double_~#ew_u~0.base, round_double_~#ew_u~0.offset := #Ultimate.allocOnStack(8bv32);call write~intFLOATTYPE8(round_double_~x, round_double_~#ew_u~0.base, round_double_~#ew_u~0.offset, 8bv32);call round_double_#t~mem0 := read~intINTTYPE4(round_double_~#ew_u~0.base, ~bvadd32(4bv32, round_double_~#ew_u~0.offset), 4bv32);round_double_~msw~0 := round_double_#t~mem0;call write~intFLOATTYPE8(round_double_#t~union1, round_double_~#ew_u~0.base, round_double_~#ew_u~0.offset, 8bv32);havoc round_double_#t~mem0;havoc round_double_#t~union1;call round_double_#t~mem2 := read~intINTTYPE4(round_double_~#ew_u~0.base, round_double_~#ew_u~0.offset, 4bv32);round_double_~lsw~0 := round_double_#t~mem2;call write~intFLOATTYPE8(round_double_#t~union3, round_double_~#ew_u~0.base, round_double_~#ew_u~0.offset, 8bv32);havoc round_double_#t~mem2;havoc round_double_#t~union3;call ULTIMATE.dealloc(round_double_~#ew_u~0.base, round_double_~#ew_u~0.offset);havoc round_double_~#ew_u~0.base, round_double_~#ew_u~0.offset; {262#(exists ((v_skolemized_v_prenex_2_3 (_ BitVec 64))) (and (= (fp ((_ extract 63 63) v_skolemized_v_prenex_2_3) ((_ extract 62 52) v_skolemized_v_prenex_2_3) ((_ extract 51 0) v_skolemized_v_prenex_2_3)) (fp.neg (_ +zero 11 53))) (= ((_ extract 63 32) v_skolemized_v_prenex_2_3) ULTIMATE.start_round_double_~msw~0)))} is VALID [2020-07-28 17:42:06,788 INFO L280 TraceCheckUtils]: 3: Hoare triple {262#(exists ((v_skolemized_v_prenex_2_3 (_ BitVec 64))) (and (= (fp ((_ extract 63 63) v_skolemized_v_prenex_2_3) ((_ extract 62 52) v_skolemized_v_prenex_2_3) ((_ extract 51 0) v_skolemized_v_prenex_2_3)) (fp.neg (_ +zero 11 53))) (= ((_ extract 63 32) v_skolemized_v_prenex_2_3) ULTIMATE.start_round_double_~msw~0)))} goto; {262#(exists ((v_skolemized_v_prenex_2_3 (_ BitVec 64))) (and (= (fp ((_ extract 63 63) v_skolemized_v_prenex_2_3) ((_ extract 62 52) v_skolemized_v_prenex_2_3) ((_ extract 51 0) v_skolemized_v_prenex_2_3)) (fp.neg (_ +zero 11 53))) (= ((_ extract 63 32) v_skolemized_v_prenex_2_3) ULTIMATE.start_round_double_~msw~0)))} is VALID [2020-07-28 17:42:06,792 INFO L280 TraceCheckUtils]: 4: Hoare triple {262#(exists ((v_skolemized_v_prenex_2_3 (_ BitVec 64))) (and (= (fp ((_ extract 63 63) v_skolemized_v_prenex_2_3) ((_ extract 62 52) v_skolemized_v_prenex_2_3) ((_ extract 51 0) v_skolemized_v_prenex_2_3)) (fp.neg (_ +zero 11 53))) (= ((_ extract 63 32) v_skolemized_v_prenex_2_3) ULTIMATE.start_round_double_~msw~0)))} round_double_~exponent_less_1023~0 := ~bvsub32(~bvashr32(~bvand32(2146435072bv32, round_double_~msw~0), 20bv32), 1023bv32); {269#(exists ((v_skolemized_v_prenex_2_3 (_ BitVec 64))) (and (= (bvadd (bvashr (bvand (_ bv2146435072 32) ((_ extract 63 32) v_skolemized_v_prenex_2_3)) (_ bv20 32)) (_ bv4294966273 32)) ULTIMATE.start_round_double_~exponent_less_1023~0) (= (fp ((_ extract 63 63) v_skolemized_v_prenex_2_3) ((_ extract 62 52) v_skolemized_v_prenex_2_3) ((_ extract 51 0) v_skolemized_v_prenex_2_3)) (fp.neg (_ +zero 11 53)))))} is VALID [2020-07-28 17:42:06,794 INFO L280 TraceCheckUtils]: 5: Hoare triple {269#(exists ((v_skolemized_v_prenex_2_3 (_ BitVec 64))) (and (= (bvadd (bvashr (bvand (_ bv2146435072 32) ((_ extract 63 32) v_skolemized_v_prenex_2_3)) (_ bv20 32)) (_ bv4294966273 32)) ULTIMATE.start_round_double_~exponent_less_1023~0) (= (fp ((_ extract 63 63) v_skolemized_v_prenex_2_3) ((_ extract 62 52) v_skolemized_v_prenex_2_3) ((_ extract 51 0) v_skolemized_v_prenex_2_3)) (fp.neg (_ +zero 11 53)))))} assume ~bvslt32(round_double_~exponent_less_1023~0, 20bv32); {269#(exists ((v_skolemized_v_prenex_2_3 (_ BitVec 64))) (and (= (bvadd (bvashr (bvand (_ bv2146435072 32) ((_ extract 63 32) v_skolemized_v_prenex_2_3)) (_ bv20 32)) (_ bv4294966273 32)) ULTIMATE.start_round_double_~exponent_less_1023~0) (= (fp ((_ extract 63 63) v_skolemized_v_prenex_2_3) ((_ extract 62 52) v_skolemized_v_prenex_2_3) ((_ extract 51 0) v_skolemized_v_prenex_2_3)) (fp.neg (_ +zero 11 53)))))} is VALID [2020-07-28 17:42:06,797 INFO L280 TraceCheckUtils]: 6: Hoare triple {269#(exists ((v_skolemized_v_prenex_2_3 (_ BitVec 64))) (and (= (bvadd (bvashr (bvand (_ bv2146435072 32) ((_ extract 63 32) v_skolemized_v_prenex_2_3)) (_ bv20 32)) (_ bv4294966273 32)) ULTIMATE.start_round_double_~exponent_less_1023~0) (= (fp ((_ extract 63 63) v_skolemized_v_prenex_2_3) ((_ extract 62 52) v_skolemized_v_prenex_2_3) ((_ extract 51 0) v_skolemized_v_prenex_2_3)) (fp.neg (_ +zero 11 53)))))} assume !~bvslt32(round_double_~exponent_less_1023~0, 0bv32);round_double_~exponent_mask~0 := ~bvashr32(1048575bv32, round_double_~exponent_less_1023~0); {251#false} is VALID [2020-07-28 17:42:06,798 INFO L280 TraceCheckUtils]: 7: Hoare triple {251#false} assume 0bv32 == ~bvand32(round_double_~msw~0, round_double_~exponent_mask~0) && 0bv32 == round_double_~lsw~0;round_double_#res := round_double_~x; {251#false} is VALID [2020-07-28 17:42:06,798 INFO L280 TraceCheckUtils]: 8: Hoare triple {251#false} main_#t~ret8 := round_double_#res;main_~res~0 := main_#t~ret8;havoc main_#t~ret8;main_#t~short10 := ~fp.eq~DOUBLE(main_~res~0, ~fp.neg~DOUBLE(~Pluszero~DOUBLE())); {251#false} is VALID [2020-07-28 17:42:06,798 INFO L280 TraceCheckUtils]: 9: Hoare triple {251#false} assume !main_#t~short10; {251#false} is VALID [2020-07-28 17:42:06,798 INFO L280 TraceCheckUtils]: 10: Hoare triple {251#false} assume !main_#t~short10;havoc main_#t~short10;havoc main_#t~ret9; {251#false} is VALID [2020-07-28 17:42:06,799 INFO L280 TraceCheckUtils]: 11: Hoare triple {251#false} assume !false; {251#false} is VALID [2020-07-28 17:42:06,802 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-07-28 17:42:06,802 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2020-07-28 17:42:06,930 INFO L280 TraceCheckUtils]: 11: Hoare triple {251#false} assume !false; {251#false} is VALID [2020-07-28 17:42:06,930 INFO L280 TraceCheckUtils]: 10: Hoare triple {251#false} assume !main_#t~short10;havoc main_#t~short10;havoc main_#t~ret9; {251#false} is VALID [2020-07-28 17:42:06,931 INFO L280 TraceCheckUtils]: 9: Hoare triple {251#false} assume !main_#t~short10; {251#false} is VALID [2020-07-28 17:42:06,931 INFO L280 TraceCheckUtils]: 8: Hoare triple {251#false} main_#t~ret8 := round_double_#res;main_~res~0 := main_#t~ret8;havoc main_#t~ret8;main_#t~short10 := ~fp.eq~DOUBLE(main_~res~0, ~fp.neg~DOUBLE(~Pluszero~DOUBLE())); {251#false} is VALID [2020-07-28 17:42:06,931 INFO L280 TraceCheckUtils]: 7: Hoare triple {251#false} assume 0bv32 == ~bvand32(round_double_~msw~0, round_double_~exponent_mask~0) && 0bv32 == round_double_~lsw~0;round_double_#res := round_double_~x; {251#false} is VALID [2020-07-28 17:42:06,933 INFO L280 TraceCheckUtils]: 6: Hoare triple {306#(bvslt ULTIMATE.start_round_double_~exponent_less_1023~0 (_ bv0 32))} assume !~bvslt32(round_double_~exponent_less_1023~0, 0bv32);round_double_~exponent_mask~0 := ~bvashr32(1048575bv32, round_double_~exponent_less_1023~0); {251#false} is VALID [2020-07-28 17:42:06,934 INFO L280 TraceCheckUtils]: 5: Hoare triple {306#(bvslt ULTIMATE.start_round_double_~exponent_less_1023~0 (_ bv0 32))} assume ~bvslt32(round_double_~exponent_less_1023~0, 20bv32); {306#(bvslt ULTIMATE.start_round_double_~exponent_less_1023~0 (_ bv0 32))} is VALID [2020-07-28 17:42:06,935 INFO L280 TraceCheckUtils]: 4: Hoare triple {313#(bvslt (bvadd (bvashr (bvand (_ bv2146435072 32) ULTIMATE.start_round_double_~msw~0) (_ bv20 32)) (_ bv4294966273 32)) (_ bv0 32))} round_double_~exponent_less_1023~0 := ~bvsub32(~bvashr32(~bvand32(2146435072bv32, round_double_~msw~0), 20bv32), 1023bv32); {306#(bvslt ULTIMATE.start_round_double_~exponent_less_1023~0 (_ bv0 32))} is VALID [2020-07-28 17:42:06,936 INFO L280 TraceCheckUtils]: 3: Hoare triple {313#(bvslt (bvadd (bvashr (bvand (_ bv2146435072 32) ULTIMATE.start_round_double_~msw~0) (_ bv20 32)) (_ bv4294966273 32)) (_ bv0 32))} goto; {313#(bvslt (bvadd (bvashr (bvand (_ bv2146435072 32) ULTIMATE.start_round_double_~msw~0) (_ bv20 32)) (_ bv4294966273 32)) (_ bv0 32))} is VALID [2020-07-28 17:42:06,942 INFO L280 TraceCheckUtils]: 2: Hoare triple {320#(forall ((v_skolemized_v_prenex_2_3 (_ BitVec 64))) (or (bvslt (bvadd (bvashr (bvand (_ bv2146435072 32) ((_ extract 63 32) v_skolemized_v_prenex_2_3)) (_ bv20 32)) (_ bv4294966273 32)) (_ bv0 32)) (not (= ULTIMATE.start_round_double_~x (fp ((_ extract 63 63) v_skolemized_v_prenex_2_3) ((_ extract 62 52) v_skolemized_v_prenex_2_3) ((_ extract 51 0) v_skolemized_v_prenex_2_3))))))} call round_double_~#ew_u~0.base, round_double_~#ew_u~0.offset := #Ultimate.allocOnStack(8bv32);call write~intFLOATTYPE8(round_double_~x, round_double_~#ew_u~0.base, round_double_~#ew_u~0.offset, 8bv32);call round_double_#t~mem0 := read~intINTTYPE4(round_double_~#ew_u~0.base, ~bvadd32(4bv32, round_double_~#ew_u~0.offset), 4bv32);round_double_~msw~0 := round_double_#t~mem0;call write~intFLOATTYPE8(round_double_#t~union1, round_double_~#ew_u~0.base, round_double_~#ew_u~0.offset, 8bv32);havoc round_double_#t~mem0;havoc round_double_#t~union1;call round_double_#t~mem2 := read~intINTTYPE4(round_double_~#ew_u~0.base, round_double_~#ew_u~0.offset, 4bv32);round_double_~lsw~0 := round_double_#t~mem2;call write~intFLOATTYPE8(round_double_#t~union3, round_double_~#ew_u~0.base, round_double_~#ew_u~0.offset, 8bv32);havoc round_double_#t~mem2;havoc round_double_#t~union3;call ULTIMATE.dealloc(round_double_~#ew_u~0.base, round_double_~#ew_u~0.offset);havoc round_double_~#ew_u~0.base, round_double_~#ew_u~0.offset; {313#(bvslt (bvadd (bvashr (bvand (_ bv2146435072 32) ULTIMATE.start_round_double_~msw~0) (_ bv20 32)) (_ bv4294966273 32)) (_ bv0 32))} is VALID [2020-07-28 17:42:06,948 INFO L280 TraceCheckUtils]: 1: Hoare triple {250#true} havoc main_#res;havoc main_#t~ret8, main_#t~ret9, main_#t~short10, main_~x~0, main_~res~0;main_~x~0 := ~fp.neg~DOUBLE(~Pluszero~DOUBLE());round_double_#in~x := main_~x~0;havoc round_double_#res;havoc round_double_#t~mem0, round_double_#t~union1, round_double_#t~mem2, round_double_#t~union3, round_double_~#ew_u~0.base, round_double_~#ew_u~0.offset, round_double_~exponent_mask~0, round_double_~exponent_mask~1, round_double_~tmp~0, round_double_#t~mem4, round_double_#t~union5.lsw, round_double_#t~union5.msw, round_double_~#iw_u~0.base, round_double_~#iw_u~0.offset, round_double_~x, round_double_~msw~0, round_double_~exponent_less_1023~0, round_double_~lsw~0;round_double_~x := round_double_#in~x;havoc round_double_~msw~0;havoc round_double_~exponent_less_1023~0;havoc round_double_~lsw~0; {320#(forall ((v_skolemized_v_prenex_2_3 (_ BitVec 64))) (or (bvslt (bvadd (bvashr (bvand (_ bv2146435072 32) ((_ extract 63 32) v_skolemized_v_prenex_2_3)) (_ bv20 32)) (_ bv4294966273 32)) (_ bv0 32)) (not (= ULTIMATE.start_round_double_~x (fp ((_ extract 63 63) v_skolemized_v_prenex_2_3) ((_ extract 62 52) v_skolemized_v_prenex_2_3) ((_ extract 51 0) v_skolemized_v_prenex_2_3))))))} is VALID [2020-07-28 17:42:06,948 INFO L280 TraceCheckUtils]: 0: Hoare triple {250#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1];assume ~bvult32(0bv32, #StackHeapBarrier);currentRoundingMode := ~roundNearestTiesToEven; {250#true} is VALID [2020-07-28 17:42:06,949 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-07-28 17:42:06,950 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [209441097] [2020-07-28 17:42:06,950 INFO L220 FreeRefinementEngine]: Constructing automaton from 2 perfect and 0 imperfect interpolant sequences. [2020-07-28 17:42:06,951 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5, 5] imperfect sequences [] total 8 [2020-07-28 17:42:06,951 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1262759864] [2020-07-28 17:42:06,953 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 12 [2020-07-28 17:42:06,953 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-28 17:42:06,954 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2020-07-28 17:42:06,993 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 18 edges. 18 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-28 17:42:06,993 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2020-07-28 17:42:06,994 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2020-07-28 17:42:06,994 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2020-07-28 17:42:06,994 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=16, Invalid=40, Unknown=0, NotChecked=0, Total=56 [2020-07-28 17:42:06,995 INFO L87 Difference]: Start difference. First operand 27 states and 35 transitions. Second operand 8 states. [2020-07-28 17:42:07,641 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 17:42:07,641 INFO L93 Difference]: Finished difference Result 40 states and 48 transitions. [2020-07-28 17:42:07,641 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2020-07-28 17:42:07,642 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 12 [2020-07-28 17:42:07,642 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-28 17:42:07,642 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2020-07-28 17:42:07,645 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 48 transitions. [2020-07-28 17:42:07,645 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2020-07-28 17:42:07,647 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 48 transitions. [2020-07-28 17:42:07,647 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 48 transitions. [2020-07-28 17:42:07,860 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 48 edges. 48 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-28 17:42:07,862 INFO L225 Difference]: With dead ends: 40 [2020-07-28 17:42:07,862 INFO L226 Difference]: Without dead ends: 21 [2020-07-28 17:42:07,863 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 25 GetRequests, 16 SyntacticMatches, 0 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 5 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=39, Invalid=71, Unknown=0, NotChecked=0, Total=110 [2020-07-28 17:42:07,864 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 21 states. [2020-07-28 17:42:07,892 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 21 to 21. [2020-07-28 17:42:07,893 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-28 17:42:07,893 INFO L82 GeneralOperation]: Start isEquivalent. First operand 21 states. Second operand 21 states. [2020-07-28 17:42:07,893 INFO L74 IsIncluded]: Start isIncluded. First operand 21 states. Second operand 21 states. [2020-07-28 17:42:07,893 INFO L87 Difference]: Start difference. First operand 21 states. Second operand 21 states. [2020-07-28 17:42:07,895 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 17:42:07,897 INFO L93 Difference]: Finished difference Result 21 states and 21 transitions. [2020-07-28 17:42:07,897 INFO L276 IsEmpty]: Start isEmpty. Operand 21 states and 21 transitions. [2020-07-28 17:42:07,897 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-28 17:42:07,897 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-28 17:42:07,898 INFO L74 IsIncluded]: Start isIncluded. First operand 21 states. Second operand 21 states. [2020-07-28 17:42:07,898 INFO L87 Difference]: Start difference. First operand 21 states. Second operand 21 states. [2020-07-28 17:42:07,899 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 17:42:07,899 INFO L93 Difference]: Finished difference Result 21 states and 21 transitions. [2020-07-28 17:42:07,900 INFO L276 IsEmpty]: Start isEmpty. Operand 21 states and 21 transitions. [2020-07-28 17:42:07,900 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-28 17:42:07,900 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-28 17:42:07,900 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-28 17:42:07,901 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-28 17:42:07,901 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 21 states. [2020-07-28 17:42:07,902 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 21 states to 21 states and 21 transitions. [2020-07-28 17:42:07,902 INFO L78 Accepts]: Start accepts. Automaton has 21 states and 21 transitions. Word has length 12 [2020-07-28 17:42:07,903 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-28 17:42:07,903 INFO L479 AbstractCegarLoop]: Abstraction has 21 states and 21 transitions. [2020-07-28 17:42:07,903 INFO L480 AbstractCegarLoop]: Interpolant automaton has 8 states. [2020-07-28 17:42:07,903 INFO L276 IsEmpty]: Start isEmpty. Operand 21 states and 21 transitions. [2020-07-28 17:42:07,904 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 17 [2020-07-28 17:42:07,904 INFO L414 BasicCegarLoop]: Found error trace [2020-07-28 17:42:07,904 INFO L422 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-28 17:42:08,109 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 3 mathsat -unsat_core_generation=3 [2020-07-28 17:42:08,109 INFO L427 AbstractCegarLoop]: === Iteration 3 === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-28 17:42:08,110 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-28 17:42:08,110 INFO L82 PathProgramCache]: Analyzing trace with hash -1282802547, now seen corresponding path program 1 times [2020-07-28 17:42:08,112 INFO L163 FreeRefinementEngine]: Executing refinement strategy WOLF [2020-07-28 17:42:08,113 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [1085028829] [2020-07-28 17:42:08,113 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat Starting monitored process 4 with mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 4 with mathsat -unsat_core_generation=3 [2020-07-28 17:42:08,181 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 17:42:08,184 INFO L263 TraceCheckSpWp]: Trace formula consists of 44 conjuncts, 7 conjunts are in the unsatisfiable core [2020-07-28 17:42:08,196 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 17:42:08,198 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2020-07-28 17:42:08,323 INFO L384 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 51 treesize of output 45 [2020-07-28 17:42:08,330 INFO L544 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2020-07-28 17:42:08,335 INFO L624 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2020-07-28 17:42:08,335 INFO L544 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2020-07-28 17:42:08,340 INFO L624 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2020-07-28 17:42:08,341 INFO L544 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-2 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2020-07-28 17:42:08,341 INFO L244 ElimStorePlain]: Needed 3 recursive calls to eliminate 3 variables, input treesize:51, output treesize:21 [2020-07-28 17:42:08,398 INFO L523 QuantifierPusher]: Distributing 2 conjuncts over 2 disjuncts [2020-07-28 17:42:08,433 INFO L280 TraceCheckUtils]: 0: Hoare triple {446#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1];assume ~bvult32(0bv32, #StackHeapBarrier);currentRoundingMode := ~roundNearestTiesToEven; {446#true} is VALID [2020-07-28 17:42:08,433 INFO L280 TraceCheckUtils]: 1: Hoare triple {446#true} havoc main_#res;havoc main_#t~ret8, main_#t~ret9, main_#t~short10, main_~x~0, main_~res~0;main_~x~0 := ~fp.neg~DOUBLE(~Pluszero~DOUBLE());round_double_#in~x := main_~x~0;havoc round_double_#res;havoc round_double_#t~mem0, round_double_#t~union1, round_double_#t~mem2, round_double_#t~union3, round_double_~#ew_u~0.base, round_double_~#ew_u~0.offset, round_double_~exponent_mask~0, round_double_~exponent_mask~1, round_double_~tmp~0, round_double_#t~mem4, round_double_#t~union5.lsw, round_double_#t~union5.msw, round_double_~#iw_u~0.base, round_double_~#iw_u~0.offset, round_double_~x, round_double_~msw~0, round_double_~exponent_less_1023~0, round_double_~lsw~0;round_double_~x := round_double_#in~x;havoc round_double_~msw~0;havoc round_double_~exponent_less_1023~0;havoc round_double_~lsw~0; {446#true} is VALID [2020-07-28 17:42:08,433 INFO L280 TraceCheckUtils]: 2: Hoare triple {446#true} call round_double_~#ew_u~0.base, round_double_~#ew_u~0.offset := #Ultimate.allocOnStack(8bv32);call write~intFLOATTYPE8(round_double_~x, round_double_~#ew_u~0.base, round_double_~#ew_u~0.offset, 8bv32);call round_double_#t~mem0 := read~intINTTYPE4(round_double_~#ew_u~0.base, ~bvadd32(4bv32, round_double_~#ew_u~0.offset), 4bv32);round_double_~msw~0 := round_double_#t~mem0;call write~intFLOATTYPE8(round_double_#t~union1, round_double_~#ew_u~0.base, round_double_~#ew_u~0.offset, 8bv32);havoc round_double_#t~mem0;havoc round_double_#t~union1;call round_double_#t~mem2 := read~intINTTYPE4(round_double_~#ew_u~0.base, round_double_~#ew_u~0.offset, 4bv32);round_double_~lsw~0 := round_double_#t~mem2;call write~intFLOATTYPE8(round_double_#t~union3, round_double_~#ew_u~0.base, round_double_~#ew_u~0.offset, 8bv32);havoc round_double_#t~mem2;havoc round_double_#t~union3;call ULTIMATE.dealloc(round_double_~#ew_u~0.base, round_double_~#ew_u~0.offset);havoc round_double_~#ew_u~0.base, round_double_~#ew_u~0.offset; {446#true} is VALID [2020-07-28 17:42:08,434 INFO L280 TraceCheckUtils]: 3: Hoare triple {446#true} goto; {446#true} is VALID [2020-07-28 17:42:08,434 INFO L280 TraceCheckUtils]: 4: Hoare triple {446#true} round_double_~exponent_less_1023~0 := ~bvsub32(~bvashr32(~bvand32(2146435072bv32, round_double_~msw~0), 20bv32), 1023bv32); {446#true} is VALID [2020-07-28 17:42:08,434 INFO L280 TraceCheckUtils]: 5: Hoare triple {446#true} assume ~bvslt32(round_double_~exponent_less_1023~0, 20bv32); {446#true} is VALID [2020-07-28 17:42:08,436 INFO L280 TraceCheckUtils]: 6: Hoare triple {446#true} assume ~bvslt32(round_double_~exponent_less_1023~0, 0bv32);round_double_~msw~0 := ~bvand32(2147483648bv32, round_double_~msw~0); {469#(exists ((v_ULTIMATE.start_round_double_~msw~0_18 (_ BitVec 32))) (= ULTIMATE.start_round_double_~msw~0 (bvand (_ bv2147483648 32) v_ULTIMATE.start_round_double_~msw~0_18)))} is VALID [2020-07-28 17:42:08,448 INFO L280 TraceCheckUtils]: 7: Hoare triple {469#(exists ((v_ULTIMATE.start_round_double_~msw~0_18 (_ BitVec 32))) (= ULTIMATE.start_round_double_~msw~0 (bvand (_ bv2147483648 32) v_ULTIMATE.start_round_double_~msw~0_18)))} assume !(4294967295bv32 == round_double_~exponent_less_1023~0); {469#(exists ((v_ULTIMATE.start_round_double_~msw~0_18 (_ BitVec 32))) (= ULTIMATE.start_round_double_~msw~0 (bvand (_ bv2147483648 32) v_ULTIMATE.start_round_double_~msw~0_18)))} is VALID [2020-07-28 17:42:08,449 INFO L280 TraceCheckUtils]: 8: Hoare triple {469#(exists ((v_ULTIMATE.start_round_double_~msw~0_18 (_ BitVec 32))) (= ULTIMATE.start_round_double_~msw~0 (bvand (_ bv2147483648 32) v_ULTIMATE.start_round_double_~msw~0_18)))} round_double_~lsw~0 := 0bv32; {476#(and (= (_ bv0 32) ULTIMATE.start_round_double_~lsw~0) (exists ((v_ULTIMATE.start_round_double_~msw~0_18 (_ BitVec 32))) (= ULTIMATE.start_round_double_~msw~0 (bvand (_ bv2147483648 32) v_ULTIMATE.start_round_double_~msw~0_18))))} is VALID [2020-07-28 17:42:08,453 INFO L280 TraceCheckUtils]: 9: Hoare triple {476#(and (= (_ bv0 32) ULTIMATE.start_round_double_~lsw~0) (exists ((v_ULTIMATE.start_round_double_~msw~0_18 (_ BitVec 32))) (= ULTIMATE.start_round_double_~msw~0 (bvand (_ bv2147483648 32) v_ULTIMATE.start_round_double_~msw~0_18))))} call round_double_~#iw_u~0.base, round_double_~#iw_u~0.offset := #Ultimate.allocOnStack(8bv32);call write~intINTTYPE4(round_double_~msw~0, round_double_~#iw_u~0.base, ~bvadd32(4bv32, round_double_~#iw_u~0.offset), 4bv32);call write~intINTTYPE4(round_double_~lsw~0, round_double_~#iw_u~0.base, round_double_~#iw_u~0.offset, 4bv32);call round_double_#t~mem4 := read~intFLOATTYPE8(round_double_~#iw_u~0.base, round_double_~#iw_u~0.offset, 8bv32);round_double_~x := round_double_#t~mem4;call write~intINTTYPE4(round_double_#t~union5.lsw, round_double_~#iw_u~0.base, round_double_~#iw_u~0.offset, 4bv32);call write~intINTTYPE4(round_double_#t~union5.msw, round_double_~#iw_u~0.base, ~bvadd32(4bv32, round_double_~#iw_u~0.offset), 4bv32);havoc round_double_#t~mem4;havoc round_double_#t~union5.lsw, round_double_#t~union5.msw;call ULTIMATE.dealloc(round_double_~#iw_u~0.base, round_double_~#iw_u~0.offset);havoc round_double_~#iw_u~0.base, round_double_~#iw_u~0.offset; {480#(exists ((v_ULTIMATE.start_round_double_~msw~0_18 (_ BitVec 32))) (= ULTIMATE.start_round_double_~x (fp ((_ extract 63 63) (concat (bvand (_ bv2147483648 32) v_ULTIMATE.start_round_double_~msw~0_18) (_ bv0 32))) ((_ extract 62 52) (concat (bvand (_ bv2147483648 32) v_ULTIMATE.start_round_double_~msw~0_18) (_ bv0 32))) ((_ extract 51 0) (concat (bvand (_ bv2147483648 32) v_ULTIMATE.start_round_double_~msw~0_18) (_ bv0 32))))))} is VALID [2020-07-28 17:42:08,454 INFO L280 TraceCheckUtils]: 10: Hoare triple {480#(exists ((v_ULTIMATE.start_round_double_~msw~0_18 (_ BitVec 32))) (= ULTIMATE.start_round_double_~x (fp ((_ extract 63 63) (concat (bvand (_ bv2147483648 32) v_ULTIMATE.start_round_double_~msw~0_18) (_ bv0 32))) ((_ extract 62 52) (concat (bvand (_ bv2147483648 32) v_ULTIMATE.start_round_double_~msw~0_18) (_ bv0 32))) ((_ extract 51 0) (concat (bvand (_ bv2147483648 32) v_ULTIMATE.start_round_double_~msw~0_18) (_ bv0 32))))))} goto; {480#(exists ((v_ULTIMATE.start_round_double_~msw~0_18 (_ BitVec 32))) (= ULTIMATE.start_round_double_~x (fp ((_ extract 63 63) (concat (bvand (_ bv2147483648 32) v_ULTIMATE.start_round_double_~msw~0_18) (_ bv0 32))) ((_ extract 62 52) (concat (bvand (_ bv2147483648 32) v_ULTIMATE.start_round_double_~msw~0_18) (_ bv0 32))) ((_ extract 51 0) (concat (bvand (_ bv2147483648 32) v_ULTIMATE.start_round_double_~msw~0_18) (_ bv0 32))))))} is VALID [2020-07-28 17:42:08,457 INFO L280 TraceCheckUtils]: 11: Hoare triple {480#(exists ((v_ULTIMATE.start_round_double_~msw~0_18 (_ BitVec 32))) (= ULTIMATE.start_round_double_~x (fp ((_ extract 63 63) (concat (bvand (_ bv2147483648 32) v_ULTIMATE.start_round_double_~msw~0_18) (_ bv0 32))) ((_ extract 62 52) (concat (bvand (_ bv2147483648 32) v_ULTIMATE.start_round_double_~msw~0_18) (_ bv0 32))) ((_ extract 51 0) (concat (bvand (_ bv2147483648 32) v_ULTIMATE.start_round_double_~msw~0_18) (_ bv0 32))))))} round_double_#res := round_double_~x; {487#(exists ((v_ULTIMATE.start_round_double_~msw~0_18 (_ BitVec 32))) (= (fp ((_ extract 63 63) (concat (bvand (_ bv2147483648 32) v_ULTIMATE.start_round_double_~msw~0_18) (_ bv0 32))) ((_ extract 62 52) (concat (bvand (_ bv2147483648 32) v_ULTIMATE.start_round_double_~msw~0_18) (_ bv0 32))) ((_ extract 51 0) (concat (bvand (_ bv2147483648 32) v_ULTIMATE.start_round_double_~msw~0_18) (_ bv0 32)))) |ULTIMATE.start_round_double_#res|))} is VALID [2020-07-28 17:42:08,459 INFO L280 TraceCheckUtils]: 12: Hoare triple {487#(exists ((v_ULTIMATE.start_round_double_~msw~0_18 (_ BitVec 32))) (= (fp ((_ extract 63 63) (concat (bvand (_ bv2147483648 32) v_ULTIMATE.start_round_double_~msw~0_18) (_ bv0 32))) ((_ extract 62 52) (concat (bvand (_ bv2147483648 32) v_ULTIMATE.start_round_double_~msw~0_18) (_ bv0 32))) ((_ extract 51 0) (concat (bvand (_ bv2147483648 32) v_ULTIMATE.start_round_double_~msw~0_18) (_ bv0 32)))) |ULTIMATE.start_round_double_#res|))} main_#t~ret8 := round_double_#res;main_~res~0 := main_#t~ret8;havoc main_#t~ret8;main_#t~short10 := ~fp.eq~DOUBLE(main_~res~0, ~fp.neg~DOUBLE(~Pluszero~DOUBLE())); {491#|ULTIMATE.start_main_#t~short10|} is VALID [2020-07-28 17:42:08,460 INFO L280 TraceCheckUtils]: 13: Hoare triple {491#|ULTIMATE.start_main_#t~short10|} assume !main_#t~short10; {447#false} is VALID [2020-07-28 17:42:08,460 INFO L280 TraceCheckUtils]: 14: Hoare triple {447#false} assume !main_#t~short10;havoc main_#t~short10;havoc main_#t~ret9; {447#false} is VALID [2020-07-28 17:42:08,461 INFO L280 TraceCheckUtils]: 15: Hoare triple {447#false} assume !false; {447#false} is VALID [2020-07-28 17:42:08,464 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-07-28 17:42:08,464 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2020-07-28 17:42:08,534 INFO L384 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 46 treesize of output 40 [2020-07-28 17:42:08,539 INFO L544 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2020-07-28 17:42:08,543 INFO L624 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2020-07-28 17:42:08,543 INFO L544 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2020-07-28 17:42:08,553 INFO L624 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2020-07-28 17:42:08,553 INFO L544 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2020-07-28 17:42:08,554 INFO L244 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:46, output treesize:16 [2020-07-28 17:42:08,611 INFO L280 TraceCheckUtils]: 15: Hoare triple {447#false} assume !false; {447#false} is VALID [2020-07-28 17:42:08,611 INFO L280 TraceCheckUtils]: 14: Hoare triple {447#false} assume !main_#t~short10;havoc main_#t~short10;havoc main_#t~ret9; {447#false} is VALID [2020-07-28 17:42:08,612 INFO L280 TraceCheckUtils]: 13: Hoare triple {491#|ULTIMATE.start_main_#t~short10|} assume !main_#t~short10; {447#false} is VALID [2020-07-28 17:42:08,615 INFO L280 TraceCheckUtils]: 12: Hoare triple {510#(fp.eq |ULTIMATE.start_round_double_#res| (fp.neg (_ +zero 11 53)))} main_#t~ret8 := round_double_#res;main_~res~0 := main_#t~ret8;havoc main_#t~ret8;main_#t~short10 := ~fp.eq~DOUBLE(main_~res~0, ~fp.neg~DOUBLE(~Pluszero~DOUBLE())); {491#|ULTIMATE.start_main_#t~short10|} is VALID [2020-07-28 17:42:08,615 INFO L280 TraceCheckUtils]: 11: Hoare triple {514#(fp.eq ULTIMATE.start_round_double_~x (fp.neg (_ +zero 11 53)))} round_double_#res := round_double_~x; {510#(fp.eq |ULTIMATE.start_round_double_#res| (fp.neg (_ +zero 11 53)))} is VALID [2020-07-28 17:42:08,616 INFO L280 TraceCheckUtils]: 10: Hoare triple {514#(fp.eq ULTIMATE.start_round_double_~x (fp.neg (_ +zero 11 53)))} goto; {514#(fp.eq ULTIMATE.start_round_double_~x (fp.neg (_ +zero 11 53)))} is VALID [2020-07-28 17:42:08,617 INFO L280 TraceCheckUtils]: 9: Hoare triple {521#(fp.eq (fp ((_ extract 63 63) (concat ULTIMATE.start_round_double_~msw~0 ULTIMATE.start_round_double_~lsw~0)) ((_ extract 62 52) (concat ULTIMATE.start_round_double_~msw~0 ULTIMATE.start_round_double_~lsw~0)) ((_ extract 51 0) (concat ULTIMATE.start_round_double_~msw~0 ULTIMATE.start_round_double_~lsw~0))) (fp.neg (_ +zero 11 53)))} call round_double_~#iw_u~0.base, round_double_~#iw_u~0.offset := #Ultimate.allocOnStack(8bv32);call write~intINTTYPE4(round_double_~msw~0, round_double_~#iw_u~0.base, ~bvadd32(4bv32, round_double_~#iw_u~0.offset), 4bv32);call write~intINTTYPE4(round_double_~lsw~0, round_double_~#iw_u~0.base, round_double_~#iw_u~0.offset, 4bv32);call round_double_#t~mem4 := read~intFLOATTYPE8(round_double_~#iw_u~0.base, round_double_~#iw_u~0.offset, 8bv32);round_double_~x := round_double_#t~mem4;call write~intINTTYPE4(round_double_#t~union5.lsw, round_double_~#iw_u~0.base, round_double_~#iw_u~0.offset, 4bv32);call write~intINTTYPE4(round_double_#t~union5.msw, round_double_~#iw_u~0.base, ~bvadd32(4bv32, round_double_~#iw_u~0.offset), 4bv32);havoc round_double_#t~mem4;havoc round_double_#t~union5.lsw, round_double_#t~union5.msw;call ULTIMATE.dealloc(round_double_~#iw_u~0.base, round_double_~#iw_u~0.offset);havoc round_double_~#iw_u~0.base, round_double_~#iw_u~0.offset; {514#(fp.eq ULTIMATE.start_round_double_~x (fp.neg (_ +zero 11 53)))} is VALID [2020-07-28 17:42:08,618 INFO L280 TraceCheckUtils]: 8: Hoare triple {525#(fp.eq (fp ((_ extract 63 63) (concat ULTIMATE.start_round_double_~msw~0 (_ bv0 32))) ((_ extract 62 52) (concat ULTIMATE.start_round_double_~msw~0 (_ bv0 32))) ((_ extract 51 0) (concat ULTIMATE.start_round_double_~msw~0 (_ bv0 32)))) (fp.neg (_ +zero 11 53)))} round_double_~lsw~0 := 0bv32; {521#(fp.eq (fp ((_ extract 63 63) (concat ULTIMATE.start_round_double_~msw~0 ULTIMATE.start_round_double_~lsw~0)) ((_ extract 62 52) (concat ULTIMATE.start_round_double_~msw~0 ULTIMATE.start_round_double_~lsw~0)) ((_ extract 51 0) (concat ULTIMATE.start_round_double_~msw~0 ULTIMATE.start_round_double_~lsw~0))) (fp.neg (_ +zero 11 53)))} is VALID [2020-07-28 17:42:08,619 INFO L280 TraceCheckUtils]: 7: Hoare triple {525#(fp.eq (fp ((_ extract 63 63) (concat ULTIMATE.start_round_double_~msw~0 (_ bv0 32))) ((_ extract 62 52) (concat ULTIMATE.start_round_double_~msw~0 (_ bv0 32))) ((_ extract 51 0) (concat ULTIMATE.start_round_double_~msw~0 (_ bv0 32)))) (fp.neg (_ +zero 11 53)))} assume !(4294967295bv32 == round_double_~exponent_less_1023~0); {525#(fp.eq (fp ((_ extract 63 63) (concat ULTIMATE.start_round_double_~msw~0 (_ bv0 32))) ((_ extract 62 52) (concat ULTIMATE.start_round_double_~msw~0 (_ bv0 32))) ((_ extract 51 0) (concat ULTIMATE.start_round_double_~msw~0 (_ bv0 32)))) (fp.neg (_ +zero 11 53)))} is VALID [2020-07-28 17:42:08,621 INFO L280 TraceCheckUtils]: 6: Hoare triple {446#true} assume ~bvslt32(round_double_~exponent_less_1023~0, 0bv32);round_double_~msw~0 := ~bvand32(2147483648bv32, round_double_~msw~0); {525#(fp.eq (fp ((_ extract 63 63) (concat ULTIMATE.start_round_double_~msw~0 (_ bv0 32))) ((_ extract 62 52) (concat ULTIMATE.start_round_double_~msw~0 (_ bv0 32))) ((_ extract 51 0) (concat ULTIMATE.start_round_double_~msw~0 (_ bv0 32)))) (fp.neg (_ +zero 11 53)))} is VALID [2020-07-28 17:42:08,621 INFO L280 TraceCheckUtils]: 5: Hoare triple {446#true} assume ~bvslt32(round_double_~exponent_less_1023~0, 20bv32); {446#true} is VALID [2020-07-28 17:42:08,621 INFO L280 TraceCheckUtils]: 4: Hoare triple {446#true} round_double_~exponent_less_1023~0 := ~bvsub32(~bvashr32(~bvand32(2146435072bv32, round_double_~msw~0), 20bv32), 1023bv32); {446#true} is VALID [2020-07-28 17:42:08,622 INFO L280 TraceCheckUtils]: 3: Hoare triple {446#true} goto; {446#true} is VALID [2020-07-28 17:42:08,622 INFO L280 TraceCheckUtils]: 2: Hoare triple {446#true} call round_double_~#ew_u~0.base, round_double_~#ew_u~0.offset := #Ultimate.allocOnStack(8bv32);call write~intFLOATTYPE8(round_double_~x, round_double_~#ew_u~0.base, round_double_~#ew_u~0.offset, 8bv32);call round_double_#t~mem0 := read~intINTTYPE4(round_double_~#ew_u~0.base, ~bvadd32(4bv32, round_double_~#ew_u~0.offset), 4bv32);round_double_~msw~0 := round_double_#t~mem0;call write~intFLOATTYPE8(round_double_#t~union1, round_double_~#ew_u~0.base, round_double_~#ew_u~0.offset, 8bv32);havoc round_double_#t~mem0;havoc round_double_#t~union1;call round_double_#t~mem2 := read~intINTTYPE4(round_double_~#ew_u~0.base, round_double_~#ew_u~0.offset, 4bv32);round_double_~lsw~0 := round_double_#t~mem2;call write~intFLOATTYPE8(round_double_#t~union3, round_double_~#ew_u~0.base, round_double_~#ew_u~0.offset, 8bv32);havoc round_double_#t~mem2;havoc round_double_#t~union3;call ULTIMATE.dealloc(round_double_~#ew_u~0.base, round_double_~#ew_u~0.offset);havoc round_double_~#ew_u~0.base, round_double_~#ew_u~0.offset; {446#true} is VALID [2020-07-28 17:42:08,622 INFO L280 TraceCheckUtils]: 1: Hoare triple {446#true} havoc main_#res;havoc main_#t~ret8, main_#t~ret9, main_#t~short10, main_~x~0, main_~res~0;main_~x~0 := ~fp.neg~DOUBLE(~Pluszero~DOUBLE());round_double_#in~x := main_~x~0;havoc round_double_#res;havoc round_double_#t~mem0, round_double_#t~union1, round_double_#t~mem2, round_double_#t~union3, round_double_~#ew_u~0.base, round_double_~#ew_u~0.offset, round_double_~exponent_mask~0, round_double_~exponent_mask~1, round_double_~tmp~0, round_double_#t~mem4, round_double_#t~union5.lsw, round_double_#t~union5.msw, round_double_~#iw_u~0.base, round_double_~#iw_u~0.offset, round_double_~x, round_double_~msw~0, round_double_~exponent_less_1023~0, round_double_~lsw~0;round_double_~x := round_double_#in~x;havoc round_double_~msw~0;havoc round_double_~exponent_less_1023~0;havoc round_double_~lsw~0; {446#true} is VALID [2020-07-28 17:42:08,622 INFO L280 TraceCheckUtils]: 0: Hoare triple {446#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1];assume ~bvult32(0bv32, #StackHeapBarrier);currentRoundingMode := ~roundNearestTiesToEven; {446#true} is VALID [2020-07-28 17:42:08,623 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-07-28 17:42:08,624 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [1085028829] [2020-07-28 17:42:08,624 INFO L220 FreeRefinementEngine]: Constructing automaton from 2 perfect and 0 imperfect interpolant sequences. [2020-07-28 17:42:08,624 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7, 7] imperfect sequences [] total 11 [2020-07-28 17:42:08,624 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1471465695] [2020-07-28 17:42:08,625 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 16 [2020-07-28 17:42:08,625 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-28 17:42:08,626 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states. [2020-07-28 17:42:08,678 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 23 edges. 23 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-28 17:42:08,678 INFO L459 AbstractCegarLoop]: Interpolant automaton has 11 states [2020-07-28 17:42:08,678 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2020-07-28 17:42:08,679 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2020-07-28 17:42:08,679 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=31, Invalid=79, Unknown=0, NotChecked=0, Total=110 [2020-07-28 17:42:08,679 INFO L87 Difference]: Start difference. First operand 21 states and 21 transitions. Second operand 11 states. [2020-07-28 17:42:09,528 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 17:42:09,529 INFO L93 Difference]: Finished difference Result 24 states and 23 transitions. [2020-07-28 17:42:09,529 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2020-07-28 17:42:09,529 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 16 [2020-07-28 17:42:09,529 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-28 17:42:09,530 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2020-07-28 17:42:09,531 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 23 transitions. [2020-07-28 17:42:09,531 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2020-07-28 17:42:09,533 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 23 transitions. [2020-07-28 17:42:09,533 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 23 transitions. [2020-07-28 17:42:09,651 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 23 edges. 23 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-28 17:42:09,652 INFO L225 Difference]: With dead ends: 24 [2020-07-28 17:42:09,652 INFO L226 Difference]: Without dead ends: 21 [2020-07-28 17:42:09,653 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 36 GetRequests, 22 SyntacticMatches, 1 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 4 DeprecatedPredicates, 25 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=72, Invalid=138, Unknown=0, NotChecked=0, Total=210 [2020-07-28 17:42:09,653 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 21 states. [2020-07-28 17:42:09,669 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 21 to 21. [2020-07-28 17:42:09,669 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-28 17:42:09,669 INFO L82 GeneralOperation]: Start isEquivalent. First operand 21 states. Second operand 21 states. [2020-07-28 17:42:09,670 INFO L74 IsIncluded]: Start isIncluded. First operand 21 states. Second operand 21 states. [2020-07-28 17:42:09,670 INFO L87 Difference]: Start difference. First operand 21 states. Second operand 21 states. [2020-07-28 17:42:09,671 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 17:42:09,672 INFO L93 Difference]: Finished difference Result 21 states and 20 transitions. [2020-07-28 17:42:09,672 INFO L276 IsEmpty]: Start isEmpty. Operand 21 states and 20 transitions. [2020-07-28 17:42:09,672 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-28 17:42:09,672 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-28 17:42:09,673 INFO L74 IsIncluded]: Start isIncluded. First operand 21 states. Second operand 21 states. [2020-07-28 17:42:09,673 INFO L87 Difference]: Start difference. First operand 21 states. Second operand 21 states. [2020-07-28 17:42:09,674 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 17:42:09,674 INFO L93 Difference]: Finished difference Result 21 states and 20 transitions. [2020-07-28 17:42:09,675 INFO L276 IsEmpty]: Start isEmpty. Operand 21 states and 20 transitions. [2020-07-28 17:42:09,675 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-28 17:42:09,675 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-28 17:42:09,675 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-28 17:42:09,676 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-28 17:42:09,676 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 21 states. [2020-07-28 17:42:09,677 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 21 states to 21 states and 20 transitions. [2020-07-28 17:42:09,677 INFO L78 Accepts]: Start accepts. Automaton has 21 states and 20 transitions. Word has length 16 [2020-07-28 17:42:09,678 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-28 17:42:09,678 INFO L479 AbstractCegarLoop]: Abstraction has 21 states and 20 transitions. [2020-07-28 17:42:09,678 INFO L480 AbstractCegarLoop]: Interpolant automaton has 11 states. [2020-07-28 17:42:09,678 INFO L276 IsEmpty]: Start isEmpty. Operand 21 states and 20 transitions. [2020-07-28 17:42:09,679 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 21 [2020-07-28 17:42:09,679 INFO L414 BasicCegarLoop]: Found error trace [2020-07-28 17:42:09,679 INFO L422 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-28 17:42:09,891 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 4 mathsat -unsat_core_generation=3 [2020-07-28 17:42:09,891 INFO L427 AbstractCegarLoop]: === Iteration 4 === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-28 17:42:09,891 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-28 17:42:09,892 INFO L82 PathProgramCache]: Analyzing trace with hash 218634850, now seen corresponding path program 1 times [2020-07-28 17:42:09,892 INFO L163 FreeRefinementEngine]: Executing refinement strategy WOLF [2020-07-28 17:42:09,893 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [1738145906] [2020-07-28 17:42:09,893 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat Starting monitored process 5 with mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 5 with mathsat -unsat_core_generation=3 [2020-07-28 17:42:09,982 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 17:42:09,986 INFO L263 TraceCheckSpWp]: Trace formula consists of 60 conjuncts, 19 conjunts are in the unsatisfiable core [2020-07-28 17:42:10,007 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-28 17:42:10,011 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2020-07-28 17:42:10,128 INFO L384 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 48 treesize of output 42 [2020-07-28 17:42:10,134 INFO L544 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2020-07-28 17:42:10,145 INFO L624 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2020-07-28 17:42:10,145 INFO L544 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2020-07-28 17:42:10,154 INFO L624 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2020-07-28 17:42:10,156 INFO L544 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-2 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2020-07-28 17:42:10,156 INFO L244 ElimStorePlain]: Needed 3 recursive calls to eliminate 4 variables, input treesize:59, output treesize:29 [2020-07-28 17:42:10,428 INFO L523 QuantifierPusher]: Distributing 2 conjuncts over 2 disjuncts [2020-07-28 17:42:10,487 INFO L280 TraceCheckUtils]: 0: Hoare triple {654#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1];assume ~bvult32(0bv32, #StackHeapBarrier);currentRoundingMode := ~roundNearestTiesToEven; {654#true} is VALID [2020-07-28 17:42:10,488 INFO L280 TraceCheckUtils]: 1: Hoare triple {654#true} havoc main_#res;havoc main_#t~ret8, main_#t~ret9, main_#t~short10, main_~x~0, main_~res~0;main_~x~0 := ~fp.neg~DOUBLE(~Pluszero~DOUBLE());round_double_#in~x := main_~x~0;havoc round_double_#res;havoc round_double_#t~mem0, round_double_#t~union1, round_double_#t~mem2, round_double_#t~union3, round_double_~#ew_u~0.base, round_double_~#ew_u~0.offset, round_double_~exponent_mask~0, round_double_~exponent_mask~1, round_double_~tmp~0, round_double_#t~mem4, round_double_#t~union5.lsw, round_double_#t~union5.msw, round_double_~#iw_u~0.base, round_double_~#iw_u~0.offset, round_double_~x, round_double_~msw~0, round_double_~exponent_less_1023~0, round_double_~lsw~0;round_double_~x := round_double_#in~x;havoc round_double_~msw~0;havoc round_double_~exponent_less_1023~0;havoc round_double_~lsw~0; {662#(= ULTIMATE.start_round_double_~x (fp.neg (_ +zero 11 53)))} is VALID [2020-07-28 17:42:10,492 INFO L280 TraceCheckUtils]: 2: Hoare triple {662#(= ULTIMATE.start_round_double_~x (fp.neg (_ +zero 11 53)))} call round_double_~#ew_u~0.base, round_double_~#ew_u~0.offset := #Ultimate.allocOnStack(8bv32);call write~intFLOATTYPE8(round_double_~x, round_double_~#ew_u~0.base, round_double_~#ew_u~0.offset, 8bv32);call round_double_#t~mem0 := read~intINTTYPE4(round_double_~#ew_u~0.base, ~bvadd32(4bv32, round_double_~#ew_u~0.offset), 4bv32);round_double_~msw~0 := round_double_#t~mem0;call write~intFLOATTYPE8(round_double_#t~union1, round_double_~#ew_u~0.base, round_double_~#ew_u~0.offset, 8bv32);havoc round_double_#t~mem0;havoc round_double_#t~union1;call round_double_#t~mem2 := read~intINTTYPE4(round_double_~#ew_u~0.base, round_double_~#ew_u~0.offset, 4bv32);round_double_~lsw~0 := round_double_#t~mem2;call write~intFLOATTYPE8(round_double_#t~union3, round_double_~#ew_u~0.base, round_double_~#ew_u~0.offset, 8bv32);havoc round_double_#t~mem2;havoc round_double_#t~union3;call ULTIMATE.dealloc(round_double_~#ew_u~0.base, round_double_~#ew_u~0.offset);havoc round_double_~#ew_u~0.base, round_double_~#ew_u~0.offset; {666#(exists ((v_skolemized_v_prenex_2_4 (_ BitVec 64))) (and (= ((_ extract 63 32) v_skolemized_v_prenex_2_4) ULTIMATE.start_round_double_~msw~0) (= (fp ((_ extract 63 63) v_skolemized_v_prenex_2_4) ((_ extract 62 52) v_skolemized_v_prenex_2_4) ((_ extract 51 0) v_skolemized_v_prenex_2_4)) (fp.neg (_ +zero 11 53)))))} is VALID [2020-07-28 17:42:10,493 INFO L280 TraceCheckUtils]: 3: Hoare triple {666#(exists ((v_skolemized_v_prenex_2_4 (_ BitVec 64))) (and (= ((_ extract 63 32) v_skolemized_v_prenex_2_4) ULTIMATE.start_round_double_~msw~0) (= (fp ((_ extract 63 63) v_skolemized_v_prenex_2_4) ((_ extract 62 52) v_skolemized_v_prenex_2_4) ((_ extract 51 0) v_skolemized_v_prenex_2_4)) (fp.neg (_ +zero 11 53)))))} goto; {666#(exists ((v_skolemized_v_prenex_2_4 (_ BitVec 64))) (and (= ((_ extract 63 32) v_skolemized_v_prenex_2_4) ULTIMATE.start_round_double_~msw~0) (= (fp ((_ extract 63 63) v_skolemized_v_prenex_2_4) ((_ extract 62 52) v_skolemized_v_prenex_2_4) ((_ extract 51 0) v_skolemized_v_prenex_2_4)) (fp.neg (_ +zero 11 53)))))} is VALID [2020-07-28 17:42:10,494 INFO L280 TraceCheckUtils]: 4: Hoare triple {666#(exists ((v_skolemized_v_prenex_2_4 (_ BitVec 64))) (and (= ((_ extract 63 32) v_skolemized_v_prenex_2_4) ULTIMATE.start_round_double_~msw~0) (= (fp ((_ extract 63 63) v_skolemized_v_prenex_2_4) ((_ extract 62 52) v_skolemized_v_prenex_2_4) ((_ extract 51 0) v_skolemized_v_prenex_2_4)) (fp.neg (_ +zero 11 53)))))} round_double_~exponent_less_1023~0 := ~bvsub32(~bvashr32(~bvand32(2146435072bv32, round_double_~msw~0), 20bv32), 1023bv32); {666#(exists ((v_skolemized_v_prenex_2_4 (_ BitVec 64))) (and (= ((_ extract 63 32) v_skolemized_v_prenex_2_4) ULTIMATE.start_round_double_~msw~0) (= (fp ((_ extract 63 63) v_skolemized_v_prenex_2_4) ((_ extract 62 52) v_skolemized_v_prenex_2_4) ((_ extract 51 0) v_skolemized_v_prenex_2_4)) (fp.neg (_ +zero 11 53)))))} is VALID [2020-07-28 17:42:10,494 INFO L280 TraceCheckUtils]: 5: Hoare triple {666#(exists ((v_skolemized_v_prenex_2_4 (_ BitVec 64))) (and (= ((_ extract 63 32) v_skolemized_v_prenex_2_4) ULTIMATE.start_round_double_~msw~0) (= (fp ((_ extract 63 63) v_skolemized_v_prenex_2_4) ((_ extract 62 52) v_skolemized_v_prenex_2_4) ((_ extract 51 0) v_skolemized_v_prenex_2_4)) (fp.neg (_ +zero 11 53)))))} assume ~bvslt32(round_double_~exponent_less_1023~0, 20bv32); {666#(exists ((v_skolemized_v_prenex_2_4 (_ BitVec 64))) (and (= ((_ extract 63 32) v_skolemized_v_prenex_2_4) ULTIMATE.start_round_double_~msw~0) (= (fp ((_ extract 63 63) v_skolemized_v_prenex_2_4) ((_ extract 62 52) v_skolemized_v_prenex_2_4) ((_ extract 51 0) v_skolemized_v_prenex_2_4)) (fp.neg (_ +zero 11 53)))))} is VALID [2020-07-28 17:42:10,502 INFO L280 TraceCheckUtils]: 6: Hoare triple {666#(exists ((v_skolemized_v_prenex_2_4 (_ BitVec 64))) (and (= ((_ extract 63 32) v_skolemized_v_prenex_2_4) ULTIMATE.start_round_double_~msw~0) (= (fp ((_ extract 63 63) v_skolemized_v_prenex_2_4) ((_ extract 62 52) v_skolemized_v_prenex_2_4) ((_ extract 51 0) v_skolemized_v_prenex_2_4)) (fp.neg (_ +zero 11 53)))))} assume ~bvslt32(round_double_~exponent_less_1023~0, 0bv32);round_double_~msw~0 := ~bvand32(2147483648bv32, round_double_~msw~0); {666#(exists ((v_skolemized_v_prenex_2_4 (_ BitVec 64))) (and (= ((_ extract 63 32) v_skolemized_v_prenex_2_4) ULTIMATE.start_round_double_~msw~0) (= (fp ((_ extract 63 63) v_skolemized_v_prenex_2_4) ((_ extract 62 52) v_skolemized_v_prenex_2_4) ((_ extract 51 0) v_skolemized_v_prenex_2_4)) (fp.neg (_ +zero 11 53)))))} is VALID [2020-07-28 17:42:10,504 INFO L280 TraceCheckUtils]: 7: Hoare triple {666#(exists ((v_skolemized_v_prenex_2_4 (_ BitVec 64))) (and (= ((_ extract 63 32) v_skolemized_v_prenex_2_4) ULTIMATE.start_round_double_~msw~0) (= (fp ((_ extract 63 63) v_skolemized_v_prenex_2_4) ((_ extract 62 52) v_skolemized_v_prenex_2_4) ((_ extract 51 0) v_skolemized_v_prenex_2_4)) (fp.neg (_ +zero 11 53)))))} assume !(4294967295bv32 == round_double_~exponent_less_1023~0); {666#(exists ((v_skolemized_v_prenex_2_4 (_ BitVec 64))) (and (= ((_ extract 63 32) v_skolemized_v_prenex_2_4) ULTIMATE.start_round_double_~msw~0) (= (fp ((_ extract 63 63) v_skolemized_v_prenex_2_4) ((_ extract 62 52) v_skolemized_v_prenex_2_4) ((_ extract 51 0) v_skolemized_v_prenex_2_4)) (fp.neg (_ +zero 11 53)))))} is VALID [2020-07-28 17:42:10,505 INFO L280 TraceCheckUtils]: 8: Hoare triple {666#(exists ((v_skolemized_v_prenex_2_4 (_ BitVec 64))) (and (= ((_ extract 63 32) v_skolemized_v_prenex_2_4) ULTIMATE.start_round_double_~msw~0) (= (fp ((_ extract 63 63) v_skolemized_v_prenex_2_4) ((_ extract 62 52) v_skolemized_v_prenex_2_4) ((_ extract 51 0) v_skolemized_v_prenex_2_4)) (fp.neg (_ +zero 11 53)))))} round_double_~lsw~0 := 0bv32; {666#(exists ((v_skolemized_v_prenex_2_4 (_ BitVec 64))) (and (= ((_ extract 63 32) v_skolemized_v_prenex_2_4) ULTIMATE.start_round_double_~msw~0) (= (fp ((_ extract 63 63) v_skolemized_v_prenex_2_4) ((_ extract 62 52) v_skolemized_v_prenex_2_4) ((_ extract 51 0) v_skolemized_v_prenex_2_4)) (fp.neg (_ +zero 11 53)))))} is VALID [2020-07-28 17:42:10,516 INFO L280 TraceCheckUtils]: 9: Hoare triple {666#(exists ((v_skolemized_v_prenex_2_4 (_ BitVec 64))) (and (= ((_ extract 63 32) v_skolemized_v_prenex_2_4) ULTIMATE.start_round_double_~msw~0) (= (fp ((_ extract 63 63) v_skolemized_v_prenex_2_4) ((_ extract 62 52) v_skolemized_v_prenex_2_4) ((_ extract 51 0) v_skolemized_v_prenex_2_4)) (fp.neg (_ +zero 11 53)))))} call round_double_~#iw_u~0.base, round_double_~#iw_u~0.offset := #Ultimate.allocOnStack(8bv32);call write~intINTTYPE4(round_double_~msw~0, round_double_~#iw_u~0.base, ~bvadd32(4bv32, round_double_~#iw_u~0.offset), 4bv32);call write~intINTTYPE4(round_double_~lsw~0, round_double_~#iw_u~0.base, round_double_~#iw_u~0.offset, 4bv32);call round_double_#t~mem4 := read~intFLOATTYPE8(round_double_~#iw_u~0.base, round_double_~#iw_u~0.offset, 8bv32);round_double_~x := round_double_#t~mem4;call write~intINTTYPE4(round_double_#t~union5.lsw, round_double_~#iw_u~0.base, round_double_~#iw_u~0.offset, 4bv32);call write~intINTTYPE4(round_double_#t~union5.msw, round_double_~#iw_u~0.base, ~bvadd32(4bv32, round_double_~#iw_u~0.offset), 4bv32);havoc round_double_#t~mem4;havoc round_double_#t~union5.lsw, round_double_#t~union5.msw;call ULTIMATE.dealloc(round_double_~#iw_u~0.base, round_double_~#iw_u~0.offset);havoc round_double_~#iw_u~0.base, round_double_~#iw_u~0.offset; {688#(exists ((ULTIMATE.start_round_double_~lsw~0 (_ BitVec 32)) (v_skolemized_v_prenex_2_4 (_ BitVec 64))) (and (= (fp ((_ extract 63 63) v_skolemized_v_prenex_2_4) ((_ extract 62 52) v_skolemized_v_prenex_2_4) ((_ extract 51 0) v_skolemized_v_prenex_2_4)) (fp.neg (_ +zero 11 53))) (= ULTIMATE.start_round_double_~x (fp ((_ extract 63 63) (concat ((_ extract 63 32) v_skolemized_v_prenex_2_4) ULTIMATE.start_round_double_~lsw~0)) ((_ extract 62 52) (concat ((_ extract 63 32) v_skolemized_v_prenex_2_4) ULTIMATE.start_round_double_~lsw~0)) ((_ extract 51 0) (concat ((_ extract 63 32) v_skolemized_v_prenex_2_4) ULTIMATE.start_round_double_~lsw~0))))))} is VALID [2020-07-28 17:42:10,517 INFO L280 TraceCheckUtils]: 10: Hoare triple {688#(exists ((ULTIMATE.start_round_double_~lsw~0 (_ BitVec 32)) (v_skolemized_v_prenex_2_4 (_ BitVec 64))) (and (= (fp ((_ extract 63 63) v_skolemized_v_prenex_2_4) ((_ extract 62 52) v_skolemized_v_prenex_2_4) ((_ extract 51 0) v_skolemized_v_prenex_2_4)) (fp.neg (_ +zero 11 53))) (= ULTIMATE.start_round_double_~x (fp ((_ extract 63 63) (concat ((_ extract 63 32) v_skolemized_v_prenex_2_4) ULTIMATE.start_round_double_~lsw~0)) ((_ extract 62 52) (concat ((_ extract 63 32) v_skolemized_v_prenex_2_4) ULTIMATE.start_round_double_~lsw~0)) ((_ extract 51 0) (concat ((_ extract 63 32) v_skolemized_v_prenex_2_4) ULTIMATE.start_round_double_~lsw~0))))))} goto; {688#(exists ((ULTIMATE.start_round_double_~lsw~0 (_ BitVec 32)) (v_skolemized_v_prenex_2_4 (_ BitVec 64))) (and (= (fp ((_ extract 63 63) v_skolemized_v_prenex_2_4) ((_ extract 62 52) v_skolemized_v_prenex_2_4) ((_ extract 51 0) v_skolemized_v_prenex_2_4)) (fp.neg (_ +zero 11 53))) (= ULTIMATE.start_round_double_~x (fp ((_ extract 63 63) (concat ((_ extract 63 32) v_skolemized_v_prenex_2_4) ULTIMATE.start_round_double_~lsw~0)) ((_ extract 62 52) (concat ((_ extract 63 32) v_skolemized_v_prenex_2_4) ULTIMATE.start_round_double_~lsw~0)) ((_ extract 51 0) (concat ((_ extract 63 32) v_skolemized_v_prenex_2_4) ULTIMATE.start_round_double_~lsw~0))))))} is VALID [2020-07-28 17:42:10,519 INFO L280 TraceCheckUtils]: 11: Hoare triple {688#(exists ((ULTIMATE.start_round_double_~lsw~0 (_ BitVec 32)) (v_skolemized_v_prenex_2_4 (_ BitVec 64))) (and (= (fp ((_ extract 63 63) v_skolemized_v_prenex_2_4) ((_ extract 62 52) v_skolemized_v_prenex_2_4) ((_ extract 51 0) v_skolemized_v_prenex_2_4)) (fp.neg (_ +zero 11 53))) (= ULTIMATE.start_round_double_~x (fp ((_ extract 63 63) (concat ((_ extract 63 32) v_skolemized_v_prenex_2_4) ULTIMATE.start_round_double_~lsw~0)) ((_ extract 62 52) (concat ((_ extract 63 32) v_skolemized_v_prenex_2_4) ULTIMATE.start_round_double_~lsw~0)) ((_ extract 51 0) (concat ((_ extract 63 32) v_skolemized_v_prenex_2_4) ULTIMATE.start_round_double_~lsw~0))))))} round_double_#res := round_double_~x; {695#(exists ((ULTIMATE.start_round_double_~lsw~0 (_ BitVec 32)) (v_skolemized_v_prenex_2_4 (_ BitVec 64))) (and (= (fp ((_ extract 63 63) (concat ((_ extract 63 32) v_skolemized_v_prenex_2_4) ULTIMATE.start_round_double_~lsw~0)) ((_ extract 62 52) (concat ((_ extract 63 32) v_skolemized_v_prenex_2_4) ULTIMATE.start_round_double_~lsw~0)) ((_ extract 51 0) (concat ((_ extract 63 32) v_skolemized_v_prenex_2_4) ULTIMATE.start_round_double_~lsw~0))) |ULTIMATE.start_round_double_#res|) (= (fp ((_ extract 63 63) v_skolemized_v_prenex_2_4) ((_ extract 62 52) v_skolemized_v_prenex_2_4) ((_ extract 51 0) v_skolemized_v_prenex_2_4)) (fp.neg (_ +zero 11 53)))))} is VALID [2020-07-28 17:42:10,522 INFO L280 TraceCheckUtils]: 12: Hoare triple {695#(exists ((ULTIMATE.start_round_double_~lsw~0 (_ BitVec 32)) (v_skolemized_v_prenex_2_4 (_ BitVec 64))) (and (= (fp ((_ extract 63 63) (concat ((_ extract 63 32) v_skolemized_v_prenex_2_4) ULTIMATE.start_round_double_~lsw~0)) ((_ extract 62 52) (concat ((_ extract 63 32) v_skolemized_v_prenex_2_4) ULTIMATE.start_round_double_~lsw~0)) ((_ extract 51 0) (concat ((_ extract 63 32) v_skolemized_v_prenex_2_4) ULTIMATE.start_round_double_~lsw~0))) |ULTIMATE.start_round_double_#res|) (= (fp ((_ extract 63 63) v_skolemized_v_prenex_2_4) ((_ extract 62 52) v_skolemized_v_prenex_2_4) ((_ extract 51 0) v_skolemized_v_prenex_2_4)) (fp.neg (_ +zero 11 53)))))} main_#t~ret8 := round_double_#res;main_~res~0 := main_#t~ret8;havoc main_#t~ret8;main_#t~short10 := ~fp.eq~DOUBLE(main_~res~0, ~fp.neg~DOUBLE(~Pluszero~DOUBLE())); {699#(exists ((ULTIMATE.start_round_double_~lsw~0 (_ BitVec 32)) (v_skolemized_v_prenex_2_4 (_ BitVec 64))) (and (= (fp ((_ extract 63 63) v_skolemized_v_prenex_2_4) ((_ extract 62 52) v_skolemized_v_prenex_2_4) ((_ extract 51 0) v_skolemized_v_prenex_2_4)) (fp.neg (_ +zero 11 53))) (= ULTIMATE.start_main_~res~0 (fp ((_ extract 63 63) (concat ((_ extract 63 32) v_skolemized_v_prenex_2_4) ULTIMATE.start_round_double_~lsw~0)) ((_ extract 62 52) (concat ((_ extract 63 32) v_skolemized_v_prenex_2_4) ULTIMATE.start_round_double_~lsw~0)) ((_ extract 51 0) (concat ((_ extract 63 32) v_skolemized_v_prenex_2_4) ULTIMATE.start_round_double_~lsw~0))))))} is VALID [2020-07-28 17:42:10,525 INFO L280 TraceCheckUtils]: 13: Hoare triple {699#(exists ((ULTIMATE.start_round_double_~lsw~0 (_ BitVec 32)) (v_skolemized_v_prenex_2_4 (_ BitVec 64))) (and (= (fp ((_ extract 63 63) v_skolemized_v_prenex_2_4) ((_ extract 62 52) v_skolemized_v_prenex_2_4) ((_ extract 51 0) v_skolemized_v_prenex_2_4)) (fp.neg (_ +zero 11 53))) (= ULTIMATE.start_main_~res~0 (fp ((_ extract 63 63) (concat ((_ extract 63 32) v_skolemized_v_prenex_2_4) ULTIMATE.start_round_double_~lsw~0)) ((_ extract 62 52) (concat ((_ extract 63 32) v_skolemized_v_prenex_2_4) ULTIMATE.start_round_double_~lsw~0)) ((_ extract 51 0) (concat ((_ extract 63 32) v_skolemized_v_prenex_2_4) ULTIMATE.start_round_double_~lsw~0))))))} assume main_#t~short10;__signbit_double_#in~x := main_~res~0;havoc __signbit_double_#res;havoc __signbit_double_#t~mem6, __signbit_double_#t~union7, __signbit_double_~#gh_u~0.base, __signbit_double_~#gh_u~0.offset, __signbit_double_~x, __signbit_double_~msw~1;__signbit_double_~x := __signbit_double_#in~x;havoc __signbit_double_~msw~1; {703#(exists ((ULTIMATE.start_round_double_~lsw~0 (_ BitVec 32)) (v_skolemized_v_prenex_2_4 (_ BitVec 64))) (and (= ULTIMATE.start___signbit_double_~x (fp ((_ extract 63 63) (concat ((_ extract 63 32) v_skolemized_v_prenex_2_4) ULTIMATE.start_round_double_~lsw~0)) ((_ extract 62 52) (concat ((_ extract 63 32) v_skolemized_v_prenex_2_4) ULTIMATE.start_round_double_~lsw~0)) ((_ extract 51 0) (concat ((_ extract 63 32) v_skolemized_v_prenex_2_4) ULTIMATE.start_round_double_~lsw~0)))) (= (fp ((_ extract 63 63) v_skolemized_v_prenex_2_4) ((_ extract 62 52) v_skolemized_v_prenex_2_4) ((_ extract 51 0) v_skolemized_v_prenex_2_4)) (fp.neg (_ +zero 11 53)))))} is VALID [2020-07-28 17:42:10,528 INFO L280 TraceCheckUtils]: 14: Hoare triple {703#(exists ((ULTIMATE.start_round_double_~lsw~0 (_ BitVec 32)) (v_skolemized_v_prenex_2_4 (_ BitVec 64))) (and (= ULTIMATE.start___signbit_double_~x (fp ((_ extract 63 63) (concat ((_ extract 63 32) v_skolemized_v_prenex_2_4) ULTIMATE.start_round_double_~lsw~0)) ((_ extract 62 52) (concat ((_ extract 63 32) v_skolemized_v_prenex_2_4) ULTIMATE.start_round_double_~lsw~0)) ((_ extract 51 0) (concat ((_ extract 63 32) v_skolemized_v_prenex_2_4) ULTIMATE.start_round_double_~lsw~0)))) (= (fp ((_ extract 63 63) v_skolemized_v_prenex_2_4) ((_ extract 62 52) v_skolemized_v_prenex_2_4) ((_ extract 51 0) v_skolemized_v_prenex_2_4)) (fp.neg (_ +zero 11 53)))))} call __signbit_double_~#gh_u~0.base, __signbit_double_~#gh_u~0.offset := #Ultimate.allocOnStack(8bv32);call write~intFLOATTYPE8(__signbit_double_~x, __signbit_double_~#gh_u~0.base, __signbit_double_~#gh_u~0.offset, 8bv32);call __signbit_double_#t~mem6 := read~intINTTYPE4(__signbit_double_~#gh_u~0.base, ~bvadd32(4bv32, __signbit_double_~#gh_u~0.offset), 4bv32);__signbit_double_~msw~1 := __signbit_double_#t~mem6;call write~intFLOATTYPE8(__signbit_double_#t~union7, __signbit_double_~#gh_u~0.base, __signbit_double_~#gh_u~0.offset, 8bv32);havoc __signbit_double_#t~mem6;havoc __signbit_double_#t~union7;call ULTIMATE.dealloc(__signbit_double_~#gh_u~0.base, __signbit_double_~#gh_u~0.offset);havoc __signbit_double_~#gh_u~0.base, __signbit_double_~#gh_u~0.offset; {707#(exists ((ULTIMATE.start_round_double_~lsw~0 (_ BitVec 32)) (v_skolemized_v_prenex_2_4 (_ BitVec 64)) (v_skolemized_v_prenex_3_3 (_ BitVec 64))) (and (= (fp ((_ extract 63 63) v_skolemized_v_prenex_2_4) ((_ extract 62 52) v_skolemized_v_prenex_2_4) ((_ extract 51 0) v_skolemized_v_prenex_2_4)) (fp.neg (_ +zero 11 53))) (= ULTIMATE.start___signbit_double_~msw~1 ((_ extract 63 32) v_skolemized_v_prenex_3_3)) (= (fp ((_ extract 63 63) v_skolemized_v_prenex_3_3) ((_ extract 62 52) v_skolemized_v_prenex_3_3) ((_ extract 51 0) v_skolemized_v_prenex_3_3)) (fp ((_ extract 63 63) (concat ((_ extract 63 32) v_skolemized_v_prenex_2_4) ULTIMATE.start_round_double_~lsw~0)) ((_ extract 62 52) (concat ((_ extract 63 32) v_skolemized_v_prenex_2_4) ULTIMATE.start_round_double_~lsw~0)) ((_ extract 51 0) (concat ((_ extract 63 32) v_skolemized_v_prenex_2_4) ULTIMATE.start_round_double_~lsw~0))))))} is VALID [2020-07-28 17:42:10,529 INFO L280 TraceCheckUtils]: 15: Hoare triple {707#(exists ((ULTIMATE.start_round_double_~lsw~0 (_ BitVec 32)) (v_skolemized_v_prenex_2_4 (_ BitVec 64)) (v_skolemized_v_prenex_3_3 (_ BitVec 64))) (and (= (fp ((_ extract 63 63) v_skolemized_v_prenex_2_4) ((_ extract 62 52) v_skolemized_v_prenex_2_4) ((_ extract 51 0) v_skolemized_v_prenex_2_4)) (fp.neg (_ +zero 11 53))) (= ULTIMATE.start___signbit_double_~msw~1 ((_ extract 63 32) v_skolemized_v_prenex_3_3)) (= (fp ((_ extract 63 63) v_skolemized_v_prenex_3_3) ((_ extract 62 52) v_skolemized_v_prenex_3_3) ((_ extract 51 0) v_skolemized_v_prenex_3_3)) (fp ((_ extract 63 63) (concat ((_ extract 63 32) v_skolemized_v_prenex_2_4) ULTIMATE.start_round_double_~lsw~0)) ((_ extract 62 52) (concat ((_ extract 63 32) v_skolemized_v_prenex_2_4) ULTIMATE.start_round_double_~lsw~0)) ((_ extract 51 0) (concat ((_ extract 63 32) v_skolemized_v_prenex_2_4) ULTIMATE.start_round_double_~lsw~0))))))} goto; {707#(exists ((ULTIMATE.start_round_double_~lsw~0 (_ BitVec 32)) (v_skolemized_v_prenex_2_4 (_ BitVec 64)) (v_skolemized_v_prenex_3_3 (_ BitVec 64))) (and (= (fp ((_ extract 63 63) v_skolemized_v_prenex_2_4) ((_ extract 62 52) v_skolemized_v_prenex_2_4) ((_ extract 51 0) v_skolemized_v_prenex_2_4)) (fp.neg (_ +zero 11 53))) (= ULTIMATE.start___signbit_double_~msw~1 ((_ extract 63 32) v_skolemized_v_prenex_3_3)) (= (fp ((_ extract 63 63) v_skolemized_v_prenex_3_3) ((_ extract 62 52) v_skolemized_v_prenex_3_3) ((_ extract 51 0) v_skolemized_v_prenex_3_3)) (fp ((_ extract 63 63) (concat ((_ extract 63 32) v_skolemized_v_prenex_2_4) ULTIMATE.start_round_double_~lsw~0)) ((_ extract 62 52) (concat ((_ extract 63 32) v_skolemized_v_prenex_2_4) ULTIMATE.start_round_double_~lsw~0)) ((_ extract 51 0) (concat ((_ extract 63 32) v_skolemized_v_prenex_2_4) ULTIMATE.start_round_double_~lsw~0))))))} is VALID [2020-07-28 17:42:10,531 INFO L280 TraceCheckUtils]: 16: Hoare triple {707#(exists ((ULTIMATE.start_round_double_~lsw~0 (_ BitVec 32)) (v_skolemized_v_prenex_2_4 (_ BitVec 64)) (v_skolemized_v_prenex_3_3 (_ BitVec 64))) (and (= (fp ((_ extract 63 63) v_skolemized_v_prenex_2_4) ((_ extract 62 52) v_skolemized_v_prenex_2_4) ((_ extract 51 0) v_skolemized_v_prenex_2_4)) (fp.neg (_ +zero 11 53))) (= ULTIMATE.start___signbit_double_~msw~1 ((_ extract 63 32) v_skolemized_v_prenex_3_3)) (= (fp ((_ extract 63 63) v_skolemized_v_prenex_3_3) ((_ extract 62 52) v_skolemized_v_prenex_3_3) ((_ extract 51 0) v_skolemized_v_prenex_3_3)) (fp ((_ extract 63 63) (concat ((_ extract 63 32) v_skolemized_v_prenex_2_4) ULTIMATE.start_round_double_~lsw~0)) ((_ extract 62 52) (concat ((_ extract 63 32) v_skolemized_v_prenex_2_4) ULTIMATE.start_round_double_~lsw~0)) ((_ extract 51 0) (concat ((_ extract 63 32) v_skolemized_v_prenex_2_4) ULTIMATE.start_round_double_~lsw~0))))))} __signbit_double_#res := (if 0bv32 != ~bvand32(2147483648bv32, __signbit_double_~msw~1) then 1bv32 else 0bv32); {714#(= (bvadd |ULTIMATE.start___signbit_double_#res| (_ bv4294967295 32)) (_ bv0 32))} is VALID [2020-07-28 17:42:10,532 INFO L280 TraceCheckUtils]: 17: Hoare triple {714#(= (bvadd |ULTIMATE.start___signbit_double_#res| (_ bv4294967295 32)) (_ bv0 32))} main_#t~ret9 := __signbit_double_#res;main_#t~short10 := 1bv32 == main_#t~ret9; {718#|ULTIMATE.start_main_#t~short10|} is VALID [2020-07-28 17:42:10,533 INFO L280 TraceCheckUtils]: 18: Hoare triple {718#|ULTIMATE.start_main_#t~short10|} assume !main_#t~short10;havoc main_#t~short10;havoc main_#t~ret9; {655#false} is VALID [2020-07-28 17:42:10,533 INFO L280 TraceCheckUtils]: 19: Hoare triple {655#false} assume !false; {655#false} is VALID [2020-07-28 17:42:10,536 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-07-28 17:42:10,536 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2020-07-28 17:42:10,903 INFO L384 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 52 treesize of output 46 [2020-07-28 17:42:10,909 INFO L544 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2020-07-28 17:42:10,913 INFO L624 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2020-07-28 17:42:10,914 INFO L544 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2020-07-28 17:42:10,922 INFO L624 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2020-07-28 17:42:10,924 INFO L544 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-2 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2020-07-28 17:42:10,924 INFO L244 ElimStorePlain]: Needed 3 recursive calls to eliminate 4 variables, input treesize:60, output treesize:30 [2020-07-28 17:42:13,430 INFO L280 TraceCheckUtils]: 19: Hoare triple {655#false} assume !false; {655#false} is VALID [2020-07-28 17:42:13,430 INFO L280 TraceCheckUtils]: 18: Hoare triple {718#|ULTIMATE.start_main_#t~short10|} assume !main_#t~short10;havoc main_#t~short10;havoc main_#t~ret9; {655#false} is VALID [2020-07-28 17:42:13,433 INFO L280 TraceCheckUtils]: 17: Hoare triple {714#(= (bvadd |ULTIMATE.start___signbit_double_#res| (_ bv4294967295 32)) (_ bv0 32))} main_#t~ret9 := __signbit_double_#res;main_#t~short10 := 1bv32 == main_#t~ret9; {718#|ULTIMATE.start_main_#t~short10|} is VALID [2020-07-28 17:42:13,435 INFO L280 TraceCheckUtils]: 16: Hoare triple {734#(not (= (bvand (_ bv2147483648 32) ULTIMATE.start___signbit_double_~msw~1) (_ bv0 32)))} __signbit_double_#res := (if 0bv32 != ~bvand32(2147483648bv32, __signbit_double_~msw~1) then 1bv32 else 0bv32); {714#(= (bvadd |ULTIMATE.start___signbit_double_#res| (_ bv4294967295 32)) (_ bv0 32))} is VALID [2020-07-28 17:42:13,435 INFO L280 TraceCheckUtils]: 15: Hoare triple {734#(not (= (bvand (_ bv2147483648 32) ULTIMATE.start___signbit_double_~msw~1) (_ bv0 32)))} goto; {734#(not (= (bvand (_ bv2147483648 32) ULTIMATE.start___signbit_double_~msw~1) (_ bv0 32)))} is VALID [2020-07-28 17:42:13,438 INFO L280 TraceCheckUtils]: 14: Hoare triple {741#(forall ((v_skolemized_v_prenex_3_3 (_ BitVec 64))) (or (not (= (fp ((_ extract 63 63) v_skolemized_v_prenex_3_3) ((_ extract 62 52) v_skolemized_v_prenex_3_3) ((_ extract 51 0) v_skolemized_v_prenex_3_3)) ULTIMATE.start___signbit_double_~x)) (not (= (_ bv0 32) (bvand (_ bv2147483648 32) ((_ extract 63 32) v_skolemized_v_prenex_3_3))))))} call __signbit_double_~#gh_u~0.base, __signbit_double_~#gh_u~0.offset := #Ultimate.allocOnStack(8bv32);call write~intFLOATTYPE8(__signbit_double_~x, __signbit_double_~#gh_u~0.base, __signbit_double_~#gh_u~0.offset, 8bv32);call __signbit_double_#t~mem6 := read~intINTTYPE4(__signbit_double_~#gh_u~0.base, ~bvadd32(4bv32, __signbit_double_~#gh_u~0.offset), 4bv32);__signbit_double_~msw~1 := __signbit_double_#t~mem6;call write~intFLOATTYPE8(__signbit_double_#t~union7, __signbit_double_~#gh_u~0.base, __signbit_double_~#gh_u~0.offset, 8bv32);havoc __signbit_double_#t~mem6;havoc __signbit_double_#t~union7;call ULTIMATE.dealloc(__signbit_double_~#gh_u~0.base, __signbit_double_~#gh_u~0.offset);havoc __signbit_double_~#gh_u~0.base, __signbit_double_~#gh_u~0.offset; {734#(not (= (bvand (_ bv2147483648 32) ULTIMATE.start___signbit_double_~msw~1) (_ bv0 32)))} is VALID [2020-07-28 17:42:13,439 INFO L280 TraceCheckUtils]: 13: Hoare triple {745#(forall ((v_skolemized_v_prenex_3_3 (_ BitVec 64))) (or (not (= (fp ((_ extract 63 63) v_skolemized_v_prenex_3_3) ((_ extract 62 52) v_skolemized_v_prenex_3_3) ((_ extract 51 0) v_skolemized_v_prenex_3_3)) ULTIMATE.start_main_~res~0)) (not (= (_ bv0 32) (bvand (_ bv2147483648 32) ((_ extract 63 32) v_skolemized_v_prenex_3_3))))))} assume main_#t~short10;__signbit_double_#in~x := main_~res~0;havoc __signbit_double_#res;havoc __signbit_double_#t~mem6, __signbit_double_#t~union7, __signbit_double_~#gh_u~0.base, __signbit_double_~#gh_u~0.offset, __signbit_double_~x, __signbit_double_~msw~1;__signbit_double_~x := __signbit_double_#in~x;havoc __signbit_double_~msw~1; {741#(forall ((v_skolemized_v_prenex_3_3 (_ BitVec 64))) (or (not (= (fp ((_ extract 63 63) v_skolemized_v_prenex_3_3) ((_ extract 62 52) v_skolemized_v_prenex_3_3) ((_ extract 51 0) v_skolemized_v_prenex_3_3)) ULTIMATE.start___signbit_double_~x)) (not (= (_ bv0 32) (bvand (_ bv2147483648 32) ((_ extract 63 32) v_skolemized_v_prenex_3_3))))))} is VALID [2020-07-28 17:42:13,441 INFO L280 TraceCheckUtils]: 12: Hoare triple {749#(forall ((v_skolemized_v_prenex_3_3 (_ BitVec 64))) (or (not (= (fp ((_ extract 63 63) v_skolemized_v_prenex_3_3) ((_ extract 62 52) v_skolemized_v_prenex_3_3) ((_ extract 51 0) v_skolemized_v_prenex_3_3)) |ULTIMATE.start_round_double_#res|)) (not (= (_ bv0 32) (bvand (_ bv2147483648 32) ((_ extract 63 32) v_skolemized_v_prenex_3_3))))))} main_#t~ret8 := round_double_#res;main_~res~0 := main_#t~ret8;havoc main_#t~ret8;main_#t~short10 := ~fp.eq~DOUBLE(main_~res~0, ~fp.neg~DOUBLE(~Pluszero~DOUBLE())); {745#(forall ((v_skolemized_v_prenex_3_3 (_ BitVec 64))) (or (not (= (fp ((_ extract 63 63) v_skolemized_v_prenex_3_3) ((_ extract 62 52) v_skolemized_v_prenex_3_3) ((_ extract 51 0) v_skolemized_v_prenex_3_3)) ULTIMATE.start_main_~res~0)) (not (= (_ bv0 32) (bvand (_ bv2147483648 32) ((_ extract 63 32) v_skolemized_v_prenex_3_3))))))} is VALID [2020-07-28 17:42:13,442 INFO L280 TraceCheckUtils]: 11: Hoare triple {753#(forall ((v_skolemized_v_prenex_3_3 (_ BitVec 64))) (or (not (= (fp ((_ extract 63 63) v_skolemized_v_prenex_3_3) ((_ extract 62 52) v_skolemized_v_prenex_3_3) ((_ extract 51 0) v_skolemized_v_prenex_3_3)) ULTIMATE.start_round_double_~x)) (not (= (_ bv0 32) (bvand (_ bv2147483648 32) ((_ extract 63 32) v_skolemized_v_prenex_3_3))))))} round_double_#res := round_double_~x; {749#(forall ((v_skolemized_v_prenex_3_3 (_ BitVec 64))) (or (not (= (fp ((_ extract 63 63) v_skolemized_v_prenex_3_3) ((_ extract 62 52) v_skolemized_v_prenex_3_3) ((_ extract 51 0) v_skolemized_v_prenex_3_3)) |ULTIMATE.start_round_double_#res|)) (not (= (_ bv0 32) (bvand (_ bv2147483648 32) ((_ extract 63 32) v_skolemized_v_prenex_3_3))))))} is VALID [2020-07-28 17:42:13,448 INFO L280 TraceCheckUtils]: 10: Hoare triple {753#(forall ((v_skolemized_v_prenex_3_3 (_ BitVec 64))) (or (not (= (fp ((_ extract 63 63) v_skolemized_v_prenex_3_3) ((_ extract 62 52) v_skolemized_v_prenex_3_3) ((_ extract 51 0) v_skolemized_v_prenex_3_3)) ULTIMATE.start_round_double_~x)) (not (= (_ bv0 32) (bvand (_ bv2147483648 32) ((_ extract 63 32) v_skolemized_v_prenex_3_3))))))} goto; {753#(forall ((v_skolemized_v_prenex_3_3 (_ BitVec 64))) (or (not (= (fp ((_ extract 63 63) v_skolemized_v_prenex_3_3) ((_ extract 62 52) v_skolemized_v_prenex_3_3) ((_ extract 51 0) v_skolemized_v_prenex_3_3)) ULTIMATE.start_round_double_~x)) (not (= (_ bv0 32) (bvand (_ bv2147483648 32) ((_ extract 63 32) v_skolemized_v_prenex_3_3))))))} is VALID [2020-07-28 17:42:13,450 INFO L280 TraceCheckUtils]: 9: Hoare triple {760#(forall ((ULTIMATE.start_round_double_~lsw~0 (_ BitVec 32)) (v_skolemized_v_prenex_3_3 (_ BitVec 64))) (or (not (= (fp ((_ extract 63 63) v_skolemized_v_prenex_3_3) ((_ extract 62 52) v_skolemized_v_prenex_3_3) ((_ extract 51 0) v_skolemized_v_prenex_3_3)) (fp ((_ extract 63 63) (concat ULTIMATE.start_round_double_~msw~0 ULTIMATE.start_round_double_~lsw~0)) ((_ extract 62 52) (concat ULTIMATE.start_round_double_~msw~0 ULTIMATE.start_round_double_~lsw~0)) ((_ extract 51 0) (concat ULTIMATE.start_round_double_~msw~0 ULTIMATE.start_round_double_~lsw~0))))) (not (= (_ bv0 32) (bvand (_ bv2147483648 32) ((_ extract 63 32) v_skolemized_v_prenex_3_3))))))} call round_double_~#iw_u~0.base, round_double_~#iw_u~0.offset := #Ultimate.allocOnStack(8bv32);call write~intINTTYPE4(round_double_~msw~0, round_double_~#iw_u~0.base, ~bvadd32(4bv32, round_double_~#iw_u~0.offset), 4bv32);call write~intINTTYPE4(round_double_~lsw~0, round_double_~#iw_u~0.base, round_double_~#iw_u~0.offset, 4bv32);call round_double_#t~mem4 := read~intFLOATTYPE8(round_double_~#iw_u~0.base, round_double_~#iw_u~0.offset, 8bv32);round_double_~x := round_double_#t~mem4;call write~intINTTYPE4(round_double_#t~union5.lsw, round_double_~#iw_u~0.base, round_double_~#iw_u~0.offset, 4bv32);call write~intINTTYPE4(round_double_#t~union5.msw, round_double_~#iw_u~0.base, ~bvadd32(4bv32, round_double_~#iw_u~0.offset), 4bv32);havoc round_double_#t~mem4;havoc round_double_#t~union5.lsw, round_double_#t~union5.msw;call ULTIMATE.dealloc(round_double_~#iw_u~0.base, round_double_~#iw_u~0.offset);havoc round_double_~#iw_u~0.base, round_double_~#iw_u~0.offset; {753#(forall ((v_skolemized_v_prenex_3_3 (_ BitVec 64))) (or (not (= (fp ((_ extract 63 63) v_skolemized_v_prenex_3_3) ((_ extract 62 52) v_skolemized_v_prenex_3_3) ((_ extract 51 0) v_skolemized_v_prenex_3_3)) ULTIMATE.start_round_double_~x)) (not (= (_ bv0 32) (bvand (_ bv2147483648 32) ((_ extract 63 32) v_skolemized_v_prenex_3_3))))))} is VALID [2020-07-28 17:42:13,451 INFO L280 TraceCheckUtils]: 8: Hoare triple {760#(forall ((ULTIMATE.start_round_double_~lsw~0 (_ BitVec 32)) (v_skolemized_v_prenex_3_3 (_ BitVec 64))) (or (not (= (fp ((_ extract 63 63) v_skolemized_v_prenex_3_3) ((_ extract 62 52) v_skolemized_v_prenex_3_3) ((_ extract 51 0) v_skolemized_v_prenex_3_3)) (fp ((_ extract 63 63) (concat ULTIMATE.start_round_double_~msw~0 ULTIMATE.start_round_double_~lsw~0)) ((_ extract 62 52) (concat ULTIMATE.start_round_double_~msw~0 ULTIMATE.start_round_double_~lsw~0)) ((_ extract 51 0) (concat ULTIMATE.start_round_double_~msw~0 ULTIMATE.start_round_double_~lsw~0))))) (not (= (_ bv0 32) (bvand (_ bv2147483648 32) ((_ extract 63 32) v_skolemized_v_prenex_3_3))))))} round_double_~lsw~0 := 0bv32; {760#(forall ((ULTIMATE.start_round_double_~lsw~0 (_ BitVec 32)) (v_skolemized_v_prenex_3_3 (_ BitVec 64))) (or (not (= (fp ((_ extract 63 63) v_skolemized_v_prenex_3_3) ((_ extract 62 52) v_skolemized_v_prenex_3_3) ((_ extract 51 0) v_skolemized_v_prenex_3_3)) (fp ((_ extract 63 63) (concat ULTIMATE.start_round_double_~msw~0 ULTIMATE.start_round_double_~lsw~0)) ((_ extract 62 52) (concat ULTIMATE.start_round_double_~msw~0 ULTIMATE.start_round_double_~lsw~0)) ((_ extract 51 0) (concat ULTIMATE.start_round_double_~msw~0 ULTIMATE.start_round_double_~lsw~0))))) (not (= (_ bv0 32) (bvand (_ bv2147483648 32) ((_ extract 63 32) v_skolemized_v_prenex_3_3))))))} is VALID [2020-07-28 17:42:13,451 INFO L280 TraceCheckUtils]: 7: Hoare triple {760#(forall ((ULTIMATE.start_round_double_~lsw~0 (_ BitVec 32)) (v_skolemized_v_prenex_3_3 (_ BitVec 64))) (or (not (= (fp ((_ extract 63 63) v_skolemized_v_prenex_3_3) ((_ extract 62 52) v_skolemized_v_prenex_3_3) ((_ extract 51 0) v_skolemized_v_prenex_3_3)) (fp ((_ extract 63 63) (concat ULTIMATE.start_round_double_~msw~0 ULTIMATE.start_round_double_~lsw~0)) ((_ extract 62 52) (concat ULTIMATE.start_round_double_~msw~0 ULTIMATE.start_round_double_~lsw~0)) ((_ extract 51 0) (concat ULTIMATE.start_round_double_~msw~0 ULTIMATE.start_round_double_~lsw~0))))) (not (= (_ bv0 32) (bvand (_ bv2147483648 32) ((_ extract 63 32) v_skolemized_v_prenex_3_3))))))} assume !(4294967295bv32 == round_double_~exponent_less_1023~0); {760#(forall ((ULTIMATE.start_round_double_~lsw~0 (_ BitVec 32)) (v_skolemized_v_prenex_3_3 (_ BitVec 64))) (or (not (= (fp ((_ extract 63 63) v_skolemized_v_prenex_3_3) ((_ extract 62 52) v_skolemized_v_prenex_3_3) ((_ extract 51 0) v_skolemized_v_prenex_3_3)) (fp ((_ extract 63 63) (concat ULTIMATE.start_round_double_~msw~0 ULTIMATE.start_round_double_~lsw~0)) ((_ extract 62 52) (concat ULTIMATE.start_round_double_~msw~0 ULTIMATE.start_round_double_~lsw~0)) ((_ extract 51 0) (concat ULTIMATE.start_round_double_~msw~0 ULTIMATE.start_round_double_~lsw~0))))) (not (= (_ bv0 32) (bvand (_ bv2147483648 32) ((_ extract 63 32) v_skolemized_v_prenex_3_3))))))} is VALID [2020-07-28 17:42:13,454 INFO L280 TraceCheckUtils]: 6: Hoare triple {770#(forall ((ULTIMATE.start_round_double_~lsw~0 (_ BitVec 32)) (v_skolemized_v_prenex_3_3 (_ BitVec 64))) (or (not (= (fp ((_ extract 63 63) v_skolemized_v_prenex_3_3) ((_ extract 62 52) v_skolemized_v_prenex_3_3) ((_ extract 51 0) v_skolemized_v_prenex_3_3)) (fp ((_ extract 63 63) (concat (bvand (_ bv2147483648 32) ULTIMATE.start_round_double_~msw~0) ULTIMATE.start_round_double_~lsw~0)) ((_ extract 62 52) (concat (bvand (_ bv2147483648 32) ULTIMATE.start_round_double_~msw~0) ULTIMATE.start_round_double_~lsw~0)) ((_ extract 51 0) (concat (bvand (_ bv2147483648 32) ULTIMATE.start_round_double_~msw~0) ULTIMATE.start_round_double_~lsw~0))))) (not (= (_ bv0 32) (bvand (_ bv2147483648 32) ((_ extract 63 32) v_skolemized_v_prenex_3_3))))))} assume ~bvslt32(round_double_~exponent_less_1023~0, 0bv32);round_double_~msw~0 := ~bvand32(2147483648bv32, round_double_~msw~0); {760#(forall ((ULTIMATE.start_round_double_~lsw~0 (_ BitVec 32)) (v_skolemized_v_prenex_3_3 (_ BitVec 64))) (or (not (= (fp ((_ extract 63 63) v_skolemized_v_prenex_3_3) ((_ extract 62 52) v_skolemized_v_prenex_3_3) ((_ extract 51 0) v_skolemized_v_prenex_3_3)) (fp ((_ extract 63 63) (concat ULTIMATE.start_round_double_~msw~0 ULTIMATE.start_round_double_~lsw~0)) ((_ extract 62 52) (concat ULTIMATE.start_round_double_~msw~0 ULTIMATE.start_round_double_~lsw~0)) ((_ extract 51 0) (concat ULTIMATE.start_round_double_~msw~0 ULTIMATE.start_round_double_~lsw~0))))) (not (= (_ bv0 32) (bvand (_ bv2147483648 32) ((_ extract 63 32) v_skolemized_v_prenex_3_3))))))} is VALID [2020-07-28 17:42:13,454 INFO L280 TraceCheckUtils]: 5: Hoare triple {770#(forall ((ULTIMATE.start_round_double_~lsw~0 (_ BitVec 32)) (v_skolemized_v_prenex_3_3 (_ BitVec 64))) (or (not (= (fp ((_ extract 63 63) v_skolemized_v_prenex_3_3) ((_ extract 62 52) v_skolemized_v_prenex_3_3) ((_ extract 51 0) v_skolemized_v_prenex_3_3)) (fp ((_ extract 63 63) (concat (bvand (_ bv2147483648 32) ULTIMATE.start_round_double_~msw~0) ULTIMATE.start_round_double_~lsw~0)) ((_ extract 62 52) (concat (bvand (_ bv2147483648 32) ULTIMATE.start_round_double_~msw~0) ULTIMATE.start_round_double_~lsw~0)) ((_ extract 51 0) (concat (bvand (_ bv2147483648 32) ULTIMATE.start_round_double_~msw~0) ULTIMATE.start_round_double_~lsw~0))))) (not (= (_ bv0 32) (bvand (_ bv2147483648 32) ((_ extract 63 32) v_skolemized_v_prenex_3_3))))))} assume ~bvslt32(round_double_~exponent_less_1023~0, 20bv32); {770#(forall ((ULTIMATE.start_round_double_~lsw~0 (_ BitVec 32)) (v_skolemized_v_prenex_3_3 (_ BitVec 64))) (or (not (= (fp ((_ extract 63 63) v_skolemized_v_prenex_3_3) ((_ extract 62 52) v_skolemized_v_prenex_3_3) ((_ extract 51 0) v_skolemized_v_prenex_3_3)) (fp ((_ extract 63 63) (concat (bvand (_ bv2147483648 32) ULTIMATE.start_round_double_~msw~0) ULTIMATE.start_round_double_~lsw~0)) ((_ extract 62 52) (concat (bvand (_ bv2147483648 32) ULTIMATE.start_round_double_~msw~0) ULTIMATE.start_round_double_~lsw~0)) ((_ extract 51 0) (concat (bvand (_ bv2147483648 32) ULTIMATE.start_round_double_~msw~0) ULTIMATE.start_round_double_~lsw~0))))) (not (= (_ bv0 32) (bvand (_ bv2147483648 32) ((_ extract 63 32) v_skolemized_v_prenex_3_3))))))} is VALID [2020-07-28 17:42:13,455 INFO L280 TraceCheckUtils]: 4: Hoare triple {770#(forall ((ULTIMATE.start_round_double_~lsw~0 (_ BitVec 32)) (v_skolemized_v_prenex_3_3 (_ BitVec 64))) (or (not (= (fp ((_ extract 63 63) v_skolemized_v_prenex_3_3) ((_ extract 62 52) v_skolemized_v_prenex_3_3) ((_ extract 51 0) v_skolemized_v_prenex_3_3)) (fp ((_ extract 63 63) (concat (bvand (_ bv2147483648 32) ULTIMATE.start_round_double_~msw~0) ULTIMATE.start_round_double_~lsw~0)) ((_ extract 62 52) (concat (bvand (_ bv2147483648 32) ULTIMATE.start_round_double_~msw~0) ULTIMATE.start_round_double_~lsw~0)) ((_ extract 51 0) (concat (bvand (_ bv2147483648 32) ULTIMATE.start_round_double_~msw~0) ULTIMATE.start_round_double_~lsw~0))))) (not (= (_ bv0 32) (bvand (_ bv2147483648 32) ((_ extract 63 32) v_skolemized_v_prenex_3_3))))))} round_double_~exponent_less_1023~0 := ~bvsub32(~bvashr32(~bvand32(2146435072bv32, round_double_~msw~0), 20bv32), 1023bv32); {770#(forall ((ULTIMATE.start_round_double_~lsw~0 (_ BitVec 32)) (v_skolemized_v_prenex_3_3 (_ BitVec 64))) (or (not (= (fp ((_ extract 63 63) v_skolemized_v_prenex_3_3) ((_ extract 62 52) v_skolemized_v_prenex_3_3) ((_ extract 51 0) v_skolemized_v_prenex_3_3)) (fp ((_ extract 63 63) (concat (bvand (_ bv2147483648 32) ULTIMATE.start_round_double_~msw~0) ULTIMATE.start_round_double_~lsw~0)) ((_ extract 62 52) (concat (bvand (_ bv2147483648 32) ULTIMATE.start_round_double_~msw~0) ULTIMATE.start_round_double_~lsw~0)) ((_ extract 51 0) (concat (bvand (_ bv2147483648 32) ULTIMATE.start_round_double_~msw~0) ULTIMATE.start_round_double_~lsw~0))))) (not (= (_ bv0 32) (bvand (_ bv2147483648 32) ((_ extract 63 32) v_skolemized_v_prenex_3_3))))))} is VALID [2020-07-28 17:42:13,455 INFO L280 TraceCheckUtils]: 3: Hoare triple {770#(forall ((ULTIMATE.start_round_double_~lsw~0 (_ BitVec 32)) (v_skolemized_v_prenex_3_3 (_ BitVec 64))) (or (not (= (fp ((_ extract 63 63) v_skolemized_v_prenex_3_3) ((_ extract 62 52) v_skolemized_v_prenex_3_3) ((_ extract 51 0) v_skolemized_v_prenex_3_3)) (fp ((_ extract 63 63) (concat (bvand (_ bv2147483648 32) ULTIMATE.start_round_double_~msw~0) ULTIMATE.start_round_double_~lsw~0)) ((_ extract 62 52) (concat (bvand (_ bv2147483648 32) ULTIMATE.start_round_double_~msw~0) ULTIMATE.start_round_double_~lsw~0)) ((_ extract 51 0) (concat (bvand (_ bv2147483648 32) ULTIMATE.start_round_double_~msw~0) ULTIMATE.start_round_double_~lsw~0))))) (not (= (_ bv0 32) (bvand (_ bv2147483648 32) ((_ extract 63 32) v_skolemized_v_prenex_3_3))))))} goto; {770#(forall ((ULTIMATE.start_round_double_~lsw~0 (_ BitVec 32)) (v_skolemized_v_prenex_3_3 (_ BitVec 64))) (or (not (= (fp ((_ extract 63 63) v_skolemized_v_prenex_3_3) ((_ extract 62 52) v_skolemized_v_prenex_3_3) ((_ extract 51 0) v_skolemized_v_prenex_3_3)) (fp ((_ extract 63 63) (concat (bvand (_ bv2147483648 32) ULTIMATE.start_round_double_~msw~0) ULTIMATE.start_round_double_~lsw~0)) ((_ extract 62 52) (concat (bvand (_ bv2147483648 32) ULTIMATE.start_round_double_~msw~0) ULTIMATE.start_round_double_~lsw~0)) ((_ extract 51 0) (concat (bvand (_ bv2147483648 32) ULTIMATE.start_round_double_~msw~0) ULTIMATE.start_round_double_~lsw~0))))) (not (= (_ bv0 32) (bvand (_ bv2147483648 32) ((_ extract 63 32) v_skolemized_v_prenex_3_3))))))} is VALID [2020-07-28 17:42:13,459 INFO L280 TraceCheckUtils]: 2: Hoare triple {753#(forall ((v_skolemized_v_prenex_3_3 (_ BitVec 64))) (or (not (= (fp ((_ extract 63 63) v_skolemized_v_prenex_3_3) ((_ extract 62 52) v_skolemized_v_prenex_3_3) ((_ extract 51 0) v_skolemized_v_prenex_3_3)) ULTIMATE.start_round_double_~x)) (not (= (_ bv0 32) (bvand (_ bv2147483648 32) ((_ extract 63 32) v_skolemized_v_prenex_3_3))))))} call round_double_~#ew_u~0.base, round_double_~#ew_u~0.offset := #Ultimate.allocOnStack(8bv32);call write~intFLOATTYPE8(round_double_~x, round_double_~#ew_u~0.base, round_double_~#ew_u~0.offset, 8bv32);call round_double_#t~mem0 := read~intINTTYPE4(round_double_~#ew_u~0.base, ~bvadd32(4bv32, round_double_~#ew_u~0.offset), 4bv32);round_double_~msw~0 := round_double_#t~mem0;call write~intFLOATTYPE8(round_double_#t~union1, round_double_~#ew_u~0.base, round_double_~#ew_u~0.offset, 8bv32);havoc round_double_#t~mem0;havoc round_double_#t~union1;call round_double_#t~mem2 := read~intINTTYPE4(round_double_~#ew_u~0.base, round_double_~#ew_u~0.offset, 4bv32);round_double_~lsw~0 := round_double_#t~mem2;call write~intFLOATTYPE8(round_double_#t~union3, round_double_~#ew_u~0.base, round_double_~#ew_u~0.offset, 8bv32);havoc round_double_#t~mem2;havoc round_double_#t~union3;call ULTIMATE.dealloc(round_double_~#ew_u~0.base, round_double_~#ew_u~0.offset);havoc round_double_~#ew_u~0.base, round_double_~#ew_u~0.offset; {770#(forall ((ULTIMATE.start_round_double_~lsw~0 (_ BitVec 32)) (v_skolemized_v_prenex_3_3 (_ BitVec 64))) (or (not (= (fp ((_ extract 63 63) v_skolemized_v_prenex_3_3) ((_ extract 62 52) v_skolemized_v_prenex_3_3) ((_ extract 51 0) v_skolemized_v_prenex_3_3)) (fp ((_ extract 63 63) (concat (bvand (_ bv2147483648 32) ULTIMATE.start_round_double_~msw~0) ULTIMATE.start_round_double_~lsw~0)) ((_ extract 62 52) (concat (bvand (_ bv2147483648 32) ULTIMATE.start_round_double_~msw~0) ULTIMATE.start_round_double_~lsw~0)) ((_ extract 51 0) (concat (bvand (_ bv2147483648 32) ULTIMATE.start_round_double_~msw~0) ULTIMATE.start_round_double_~lsw~0))))) (not (= (_ bv0 32) (bvand (_ bv2147483648 32) ((_ extract 63 32) v_skolemized_v_prenex_3_3))))))} is VALID [2020-07-28 17:42:13,461 INFO L280 TraceCheckUtils]: 1: Hoare triple {654#true} havoc main_#res;havoc main_#t~ret8, main_#t~ret9, main_#t~short10, main_~x~0, main_~res~0;main_~x~0 := ~fp.neg~DOUBLE(~Pluszero~DOUBLE());round_double_#in~x := main_~x~0;havoc round_double_#res;havoc round_double_#t~mem0, round_double_#t~union1, round_double_#t~mem2, round_double_#t~union3, round_double_~#ew_u~0.base, round_double_~#ew_u~0.offset, round_double_~exponent_mask~0, round_double_~exponent_mask~1, round_double_~tmp~0, round_double_#t~mem4, round_double_#t~union5.lsw, round_double_#t~union5.msw, round_double_~#iw_u~0.base, round_double_~#iw_u~0.offset, round_double_~x, round_double_~msw~0, round_double_~exponent_less_1023~0, round_double_~lsw~0;round_double_~x := round_double_#in~x;havoc round_double_~msw~0;havoc round_double_~exponent_less_1023~0;havoc round_double_~lsw~0; {753#(forall ((v_skolemized_v_prenex_3_3 (_ BitVec 64))) (or (not (= (fp ((_ extract 63 63) v_skolemized_v_prenex_3_3) ((_ extract 62 52) v_skolemized_v_prenex_3_3) ((_ extract 51 0) v_skolemized_v_prenex_3_3)) ULTIMATE.start_round_double_~x)) (not (= (_ bv0 32) (bvand (_ bv2147483648 32) ((_ extract 63 32) v_skolemized_v_prenex_3_3))))))} is VALID [2020-07-28 17:42:13,461 INFO L280 TraceCheckUtils]: 0: Hoare triple {654#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1];assume ~bvult32(0bv32, #StackHeapBarrier);currentRoundingMode := ~roundNearestTiesToEven; {654#true} is VALID [2020-07-28 17:42:13,464 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-07-28 17:42:13,464 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [1738145906] [2020-07-28 17:42:13,464 INFO L220 FreeRefinementEngine]: Constructing automaton from 2 perfect and 0 imperfect interpolant sequences. [2020-07-28 17:42:13,464 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11, 11] imperfect sequences [] total 18 [2020-07-28 17:42:13,464 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [97666433] [2020-07-28 17:42:13,465 INFO L78 Accepts]: Start accepts. Automaton has 18 states. Word has length 20 [2020-07-28 17:42:13,465 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-28 17:42:13,465 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 18 states. [2020-07-28 17:42:13,598 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 36 edges. 36 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-28 17:42:13,599 INFO L459 AbstractCegarLoop]: Interpolant automaton has 18 states [2020-07-28 17:42:13,599 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2020-07-28 17:42:13,599 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 18 interpolants. [2020-07-28 17:42:13,599 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=42, Invalid=263, Unknown=1, NotChecked=0, Total=306 [2020-07-28 17:42:13,599 INFO L87 Difference]: Start difference. First operand 21 states and 20 transitions. Second operand 18 states. [2020-07-28 17:42:15,641 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 17:42:15,642 INFO L93 Difference]: Finished difference Result 21 states and 20 transitions. [2020-07-28 17:42:15,642 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2020-07-28 17:42:15,642 INFO L78 Accepts]: Start accepts. Automaton has 18 states. Word has length 20 [2020-07-28 17:42:15,643 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-28 17:42:15,643 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 18 states. [2020-07-28 17:42:15,645 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 20 transitions. [2020-07-28 17:42:15,645 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 18 states. [2020-07-28 17:42:15,646 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 20 transitions. [2020-07-28 17:42:15,646 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states and 20 transitions. [2020-07-28 17:42:16,064 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 20 edges. 20 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-28 17:42:16,065 INFO L225 Difference]: With dead ends: 21 [2020-07-28 17:42:16,065 INFO L226 Difference]: Without dead ends: 0 [2020-07-28 17:42:16,066 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 45 GetRequests, 20 SyntacticMatches, 2 SemanticMatches, 23 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 44 ImplicationChecksByTransitivity, 3.6s TimeCoverageRelationStatistics Valid=140, Invalid=459, Unknown=1, NotChecked=0, Total=600 [2020-07-28 17:42:16,066 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 0 states. [2020-07-28 17:42:16,067 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 0 to 0. [2020-07-28 17:42:16,067 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-28 17:42:16,067 INFO L82 GeneralOperation]: Start isEquivalent. First operand 0 states. Second operand 0 states. [2020-07-28 17:42:16,067 INFO L74 IsIncluded]: Start isIncluded. First operand 0 states. Second operand 0 states. [2020-07-28 17:42:16,067 INFO L87 Difference]: Start difference. First operand 0 states. Second operand 0 states. [2020-07-28 17:42:16,068 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 17:42:16,068 INFO L93 Difference]: Finished difference Result 0 states and 0 transitions. [2020-07-28 17:42:16,068 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2020-07-28 17:42:16,068 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-28 17:42:16,068 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-28 17:42:16,068 INFO L74 IsIncluded]: Start isIncluded. First operand 0 states. Second operand 0 states. [2020-07-28 17:42:16,069 INFO L87 Difference]: Start difference. First operand 0 states. Second operand 0 states. [2020-07-28 17:42:16,069 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-28 17:42:16,069 INFO L93 Difference]: Finished difference Result 0 states and 0 transitions. [2020-07-28 17:42:16,069 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2020-07-28 17:42:16,069 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-28 17:42:16,069 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-28 17:42:16,069 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-28 17:42:16,069 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-28 17:42:16,070 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 0 states. [2020-07-28 17:42:16,070 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 0 states to 0 states and 0 transitions. [2020-07-28 17:42:16,070 INFO L78 Accepts]: Start accepts. Automaton has 0 states and 0 transitions. Word has length 20 [2020-07-28 17:42:16,070 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-28 17:42:16,070 INFO L479 AbstractCegarLoop]: Abstraction has 0 states and 0 transitions. [2020-07-28 17:42:16,070 INFO L480 AbstractCegarLoop]: Interpolant automaton has 18 states. [2020-07-28 17:42:16,070 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2020-07-28 17:42:16,070 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-28 17:42:16,271 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 5 mathsat -unsat_core_generation=3 [2020-07-28 17:42:16,274 INFO L343 DoubleDeckerVisitor]: Before removal of dead ends 0 states and 0 transitions. [2020-07-28 17:42:16,534 WARN L193 SmtUtils]: Spent 146.00 ms on a formula simplification. DAG size of input: 68 DAG size of output: 58 [2020-07-28 17:42:16,845 WARN L193 SmtUtils]: Spent 304.00 ms on a formula simplification. DAG size of input: 92 DAG size of output: 82 [2020-07-28 17:42:17,087 WARN L193 SmtUtils]: Spent 217.00 ms on a formula simplification. DAG size of input: 77 DAG size of output: 67 [2020-07-28 17:42:17,092 INFO L268 CegarLoopResult]: For program point L27(lines 27 56) no Hoare annotation was computed. [2020-07-28 17:42:17,092 INFO L268 CegarLoopResult]: For program point L52(lines 52 53) no Hoare annotation was computed. [2020-07-28 17:42:17,093 INFO L268 CegarLoopResult]: For program point L52-2(lines 52 53) no Hoare annotation was computed. [2020-07-28 17:42:17,093 INFO L268 CegarLoopResult]: For program point L69-1(lines 69 73) no Hoare annotation was computed. [2020-07-28 17:42:17,094 INFO L264 CegarLoopResult]: At program point L69-2(lines 69 73) the Hoare annotation is: (and (= (_ bv0 32) ULTIMATE.start_round_double_~lsw~0) (exists ((ULTIMATE.start_round_double_~lsw~0 (_ BitVec 32)) (v_skolemized_v_prenex_2_4 (_ BitVec 64))) (and (= ULTIMATE.start___signbit_double_~x (let ((.cse0 (concat ((_ extract 63 32) v_skolemized_v_prenex_2_4) ULTIMATE.start_round_double_~lsw~0))) (fp ((_ extract 63 63) .cse0) ((_ extract 62 52) .cse0) ((_ extract 51 0) .cse0)))) (= (fp ((_ extract 63 63) v_skolemized_v_prenex_2_4) ((_ extract 62 52) v_skolemized_v_prenex_2_4) ((_ extract 51 0) v_skolemized_v_prenex_2_4)) (fp.neg (_ +zero 11 53))))) (exists ((ULTIMATE.start_round_double_~lsw~0 (_ BitVec 32)) (v_skolemized_v_prenex_2_4 (_ BitVec 64))) (and (= (fp ((_ extract 63 63) v_skolemized_v_prenex_2_4) ((_ extract 62 52) v_skolemized_v_prenex_2_4) ((_ extract 51 0) v_skolemized_v_prenex_2_4)) (fp.neg (_ +zero 11 53))) (= ULTIMATE.start_main_~res~0 (let ((.cse1 (concat ((_ extract 63 32) v_skolemized_v_prenex_2_4) ULTIMATE.start_round_double_~lsw~0))) (fp ((_ extract 63 63) .cse1) ((_ extract 62 52) .cse1) ((_ extract 51 0) .cse1)))))) (exists ((v_ULTIMATE.start_round_double_~msw~0_18 (_ BitVec 32))) (= ULTIMATE.start_round_double_~x (let ((.cse2 (concat (bvand (_ bv2147483648 32) v_ULTIMATE.start_round_double_~msw~0_18) (_ bv0 32)))) (fp ((_ extract 63 63) .cse2) ((_ extract 62 52) .cse2) ((_ extract 51 0) .cse2))))) |ULTIMATE.start_main_#t~short10| (exists ((ULTIMATE.start_round_double_~lsw~0 (_ BitVec 32)) (v_skolemized_v_prenex_2_4 (_ BitVec 64))) (and (= (fp ((_ extract 63 63) v_skolemized_v_prenex_2_4) ((_ extract 62 52) v_skolemized_v_prenex_2_4) ((_ extract 51 0) v_skolemized_v_prenex_2_4)) (fp.neg (_ +zero 11 53))) (= ULTIMATE.start_round_double_~x (let ((.cse3 (concat ((_ extract 63 32) v_skolemized_v_prenex_2_4) ULTIMATE.start_round_double_~lsw~0))) (fp ((_ extract 63 63) .cse3) ((_ extract 62 52) .cse3) ((_ extract 51 0) .cse3)))))) (exists ((v_skolemized_v_prenex_2_3 (_ BitVec 64))) (and (= (bvadd (bvashr (bvand (_ bv2146435072 32) ((_ extract 63 32) v_skolemized_v_prenex_2_3)) (_ bv20 32)) (_ bv4294966273 32)) ULTIMATE.start_round_double_~exponent_less_1023~0) (= (fp ((_ extract 63 63) v_skolemized_v_prenex_2_3) ((_ extract 62 52) v_skolemized_v_prenex_2_3) ((_ extract 51 0) v_skolemized_v_prenex_2_3)) (fp.neg (_ +zero 11 53))))) (fp.eq |ULTIMATE.start_round_double_#res| (fp.neg (_ +zero 11 53))) (exists ((v_skolemized_v_prenex_2_4 (_ BitVec 64))) (and (= ((_ extract 63 32) v_skolemized_v_prenex_2_4) ULTIMATE.start_round_double_~msw~0) (= (fp ((_ extract 63 63) v_skolemized_v_prenex_2_4) ((_ extract 62 52) v_skolemized_v_prenex_2_4) ((_ extract 51 0) v_skolemized_v_prenex_2_4)) (fp.neg (_ +zero 11 53))))) (exists ((ULTIMATE.start_round_double_~lsw~0 (_ BitVec 32)) (v_skolemized_v_prenex_2_4 (_ BitVec 64))) (and (= (let ((.cse4 (concat ((_ extract 63 32) v_skolemized_v_prenex_2_4) ULTIMATE.start_round_double_~lsw~0))) (fp ((_ extract 63 63) .cse4) ((_ extract 62 52) .cse4) ((_ extract 51 0) .cse4))) |ULTIMATE.start_round_double_#res|) (= (fp ((_ extract 63 63) v_skolemized_v_prenex_2_4) ((_ extract 62 52) v_skolemized_v_prenex_2_4) ((_ extract 51 0) v_skolemized_v_prenex_2_4)) (fp.neg (_ +zero 11 53)))))) [2020-07-28 17:42:17,094 INFO L268 CegarLoopResult]: For program point L69-3(lines 69 73) no Hoare annotation was computed. [2020-07-28 17:42:17,094 INFO L268 CegarLoopResult]: For program point L-1(line -1) no Hoare annotation was computed. [2020-07-28 17:42:17,094 INFO L268 CegarLoopResult]: For program point ULTIMATE.startENTRY(line -1) no Hoare annotation was computed. [2020-07-28 17:42:17,094 INFO L268 CegarLoopResult]: For program point ULTIMATE.startFINAL(line -1) no Hoare annotation was computed. [2020-07-28 17:42:17,094 INFO L268 CegarLoopResult]: For program point L28(lines 28 40) no Hoare annotation was computed. [2020-07-28 17:42:17,094 INFO L268 CegarLoopResult]: For program point L90(line 90) no Hoare annotation was computed. [2020-07-28 17:42:17,095 INFO L268 CegarLoopResult]: For program point L57(lines 57 62) no Hoare annotation was computed. [2020-07-28 17:42:17,095 INFO L268 CegarLoopResult]: For program point L57-1(lines 17 64) no Hoare annotation was computed. [2020-07-28 17:42:17,095 INFO L268 CegarLoopResult]: For program point L90-2(lines 90 93) no Hoare annotation was computed. [2020-07-28 17:42:17,095 INFO L268 CegarLoopResult]: For program point ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION(line 91) no Hoare annotation was computed. [2020-07-28 17:42:17,095 INFO L268 CegarLoopResult]: For program point L57-2(lines 57 62) no Hoare annotation was computed. [2020-07-28 17:42:17,095 INFO L268 CegarLoopResult]: For program point L20-1(lines 20 25) no Hoare annotation was computed. [2020-07-28 17:42:17,095 INFO L264 CegarLoopResult]: At program point L20-2(lines 20 25) the Hoare annotation is: (= ULTIMATE.start_round_double_~x (fp.neg (_ +zero 11 53))) [2020-07-28 17:42:17,095 INFO L268 CegarLoopResult]: For program point L20-3(lines 20 25) no Hoare annotation was computed. [2020-07-28 17:42:17,095 INFO L268 CegarLoopResult]: For program point L49(lines 49 50) no Hoare annotation was computed. [2020-07-28 17:42:17,095 INFO L268 CegarLoopResult]: For program point L41(lines 41 56) no Hoare annotation was computed. [2020-07-28 17:42:17,096 INFO L268 CegarLoopResult]: For program point ULTIMATE.startEXIT(line -1) no Hoare annotation was computed. [2020-07-28 17:42:17,096 INFO L271 CegarLoopResult]: At program point L95(lines 78 96) the Hoare annotation is: true [2020-07-28 17:42:17,096 INFO L268 CegarLoopResult]: For program point L91(line 91) no Hoare annotation was computed. [2020-07-28 17:42:17,096 INFO L264 CegarLoopResult]: At program point L75(lines 66 76) the Hoare annotation is: (and (= (_ bv0 32) ULTIMATE.start_round_double_~lsw~0) (exists ((ULTIMATE.start_round_double_~lsw~0 (_ BitVec 32)) (v_skolemized_v_prenex_2_4 (_ BitVec 64))) (and (= ULTIMATE.start___signbit_double_~x (let ((.cse0 (concat ((_ extract 63 32) v_skolemized_v_prenex_2_4) ULTIMATE.start_round_double_~lsw~0))) (fp ((_ extract 63 63) .cse0) ((_ extract 62 52) .cse0) ((_ extract 51 0) .cse0)))) (= (fp ((_ extract 63 63) v_skolemized_v_prenex_2_4) ((_ extract 62 52) v_skolemized_v_prenex_2_4) ((_ extract 51 0) v_skolemized_v_prenex_2_4)) (fp.neg (_ +zero 11 53))))) (exists ((ULTIMATE.start_round_double_~lsw~0 (_ BitVec 32)) (v_skolemized_v_prenex_2_4 (_ BitVec 64)) (v_skolemized_v_prenex_3_3 (_ BitVec 64))) (and (= (fp ((_ extract 63 63) v_skolemized_v_prenex_2_4) ((_ extract 62 52) v_skolemized_v_prenex_2_4) ((_ extract 51 0) v_skolemized_v_prenex_2_4)) (fp.neg (_ +zero 11 53))) (= ULTIMATE.start___signbit_double_~msw~1 ((_ extract 63 32) v_skolemized_v_prenex_3_3)) (= (fp ((_ extract 63 63) v_skolemized_v_prenex_3_3) ((_ extract 62 52) v_skolemized_v_prenex_3_3) ((_ extract 51 0) v_skolemized_v_prenex_3_3)) (let ((.cse1 (concat ((_ extract 63 32) v_skolemized_v_prenex_2_4) ULTIMATE.start_round_double_~lsw~0))) (fp ((_ extract 63 63) .cse1) ((_ extract 62 52) .cse1) ((_ extract 51 0) .cse1)))))) (exists ((ULTIMATE.start_round_double_~lsw~0 (_ BitVec 32)) (v_skolemized_v_prenex_2_4 (_ BitVec 64))) (and (= (fp ((_ extract 63 63) v_skolemized_v_prenex_2_4) ((_ extract 62 52) v_skolemized_v_prenex_2_4) ((_ extract 51 0) v_skolemized_v_prenex_2_4)) (fp.neg (_ +zero 11 53))) (= ULTIMATE.start_main_~res~0 (let ((.cse2 (concat ((_ extract 63 32) v_skolemized_v_prenex_2_4) ULTIMATE.start_round_double_~lsw~0))) (fp ((_ extract 63 63) .cse2) ((_ extract 62 52) .cse2) ((_ extract 51 0) .cse2)))))) (exists ((v_ULTIMATE.start_round_double_~msw~0_18 (_ BitVec 32))) (= ULTIMATE.start_round_double_~x (let ((.cse3 (concat (bvand (_ bv2147483648 32) v_ULTIMATE.start_round_double_~msw~0_18) (_ bv0 32)))) (fp ((_ extract 63 63) .cse3) ((_ extract 62 52) .cse3) ((_ extract 51 0) .cse3))))) (= (_ bv0 32) (bvadd |ULTIMATE.start___signbit_double_#res| (_ bv4294967295 32))) |ULTIMATE.start_main_#t~short10| (exists ((ULTIMATE.start_round_double_~lsw~0 (_ BitVec 32)) (v_skolemized_v_prenex_2_4 (_ BitVec 64))) (and (= (fp ((_ extract 63 63) v_skolemized_v_prenex_2_4) ((_ extract 62 52) v_skolemized_v_prenex_2_4) ((_ extract 51 0) v_skolemized_v_prenex_2_4)) (fp.neg (_ +zero 11 53))) (= ULTIMATE.start_round_double_~x (let ((.cse4 (concat ((_ extract 63 32) v_skolemized_v_prenex_2_4) ULTIMATE.start_round_double_~lsw~0))) (fp ((_ extract 63 63) .cse4) ((_ extract 62 52) .cse4) ((_ extract 51 0) .cse4)))))) (exists ((v_skolemized_v_prenex_2_3 (_ BitVec 64))) (and (= (bvadd (bvashr (bvand (_ bv2146435072 32) ((_ extract 63 32) v_skolemized_v_prenex_2_3)) (_ bv20 32)) (_ bv4294966273 32)) ULTIMATE.start_round_double_~exponent_less_1023~0) (= (fp ((_ extract 63 63) v_skolemized_v_prenex_2_3) ((_ extract 62 52) v_skolemized_v_prenex_2_3) ((_ extract 51 0) v_skolemized_v_prenex_2_3)) (fp.neg (_ +zero 11 53))))) (fp.eq |ULTIMATE.start_round_double_#res| (fp.neg (_ +zero 11 53))) (exists ((v_skolemized_v_prenex_2_4 (_ BitVec 64))) (and (= ((_ extract 63 32) v_skolemized_v_prenex_2_4) ULTIMATE.start_round_double_~msw~0) (= (fp ((_ extract 63 63) v_skolemized_v_prenex_2_4) ((_ extract 62 52) v_skolemized_v_prenex_2_4) ((_ extract 51 0) v_skolemized_v_prenex_2_4)) (fp.neg (_ +zero 11 53))))) (exists ((ULTIMATE.start_round_double_~lsw~0 (_ BitVec 32)) (v_skolemized_v_prenex_2_4 (_ BitVec 64))) (and (= (let ((.cse5 (concat ((_ extract 63 32) v_skolemized_v_prenex_2_4) ULTIMATE.start_round_double_~lsw~0))) (fp ((_ extract 63 63) .cse5) ((_ extract 62 52) .cse5) ((_ extract 51 0) .cse5))) |ULTIMATE.start_round_double_#res|) (= (fp ((_ extract 63 63) v_skolemized_v_prenex_2_4) ((_ extract 62 52) v_skolemized_v_prenex_2_4) ((_ extract 51 0) v_skolemized_v_prenex_2_4)) (fp.neg (_ +zero 11 53)))))) [2020-07-28 17:42:17,096 INFO L268 CegarLoopResult]: For program point L42(lines 42 45) no Hoare annotation was computed. [2020-07-28 17:42:17,097 INFO L264 CegarLoopResult]: At program point L63(lines 17 64) the Hoare annotation is: (and (= (_ bv0 32) ULTIMATE.start_round_double_~lsw~0) (exists ((v_ULTIMATE.start_round_double_~msw~0_18 (_ BitVec 32))) (= ULTIMATE.start_round_double_~x (let ((.cse0 (concat (bvand (_ bv2147483648 32) v_ULTIMATE.start_round_double_~msw~0_18) (_ bv0 32)))) (fp ((_ extract 63 63) .cse0) ((_ extract 62 52) .cse0) ((_ extract 51 0) .cse0))))) (exists ((ULTIMATE.start_round_double_~lsw~0 (_ BitVec 32)) (v_skolemized_v_prenex_2_4 (_ BitVec 64))) (and (= (fp ((_ extract 63 63) v_skolemized_v_prenex_2_4) ((_ extract 62 52) v_skolemized_v_prenex_2_4) ((_ extract 51 0) v_skolemized_v_prenex_2_4)) (fp.neg (_ +zero 11 53))) (= ULTIMATE.start_round_double_~x (let ((.cse1 (concat ((_ extract 63 32) v_skolemized_v_prenex_2_4) ULTIMATE.start_round_double_~lsw~0))) (fp ((_ extract 63 63) .cse1) ((_ extract 62 52) .cse1) ((_ extract 51 0) .cse1)))))) (exists ((v_skolemized_v_prenex_2_3 (_ BitVec 64))) (and (= (bvadd (bvashr (bvand (_ bv2146435072 32) ((_ extract 63 32) v_skolemized_v_prenex_2_3)) (_ bv20 32)) (_ bv4294966273 32)) ULTIMATE.start_round_double_~exponent_less_1023~0) (= (fp ((_ extract 63 63) v_skolemized_v_prenex_2_3) ((_ extract 62 52) v_skolemized_v_prenex_2_3) ((_ extract 51 0) v_skolemized_v_prenex_2_3)) (fp.neg (_ +zero 11 53))))) (fp.eq |ULTIMATE.start_round_double_#res| (fp.neg (_ +zero 11 53))) (exists ((v_skolemized_v_prenex_2_4 (_ BitVec 64))) (and (= ((_ extract 63 32) v_skolemized_v_prenex_2_4) ULTIMATE.start_round_double_~msw~0) (= (fp ((_ extract 63 63) v_skolemized_v_prenex_2_4) ((_ extract 62 52) v_skolemized_v_prenex_2_4) ((_ extract 51 0) v_skolemized_v_prenex_2_4)) (fp.neg (_ +zero 11 53))))) (exists ((ULTIMATE.start_round_double_~lsw~0 (_ BitVec 32)) (v_skolemized_v_prenex_2_4 (_ BitVec 64))) (and (= (let ((.cse2 (concat ((_ extract 63 32) v_skolemized_v_prenex_2_4) ULTIMATE.start_round_double_~lsw~0))) (fp ((_ extract 63 63) .cse2) ((_ extract 62 52) .cse2) ((_ extract 51 0) .cse2))) |ULTIMATE.start_round_double_#res|) (= (fp ((_ extract 63 63) v_skolemized_v_prenex_2_4) ((_ extract 62 52) v_skolemized_v_prenex_2_4) ((_ extract 51 0) v_skolemized_v_prenex_2_4)) (fp.neg (_ +zero 11 53)))))) [2020-07-28 17:42:17,097 INFO L268 CegarLoopResult]: For program point L30(lines 30 31) no Hoare annotation was computed. [2020-07-28 17:42:17,097 INFO L268 CegarLoopResult]: For program point L30-2(lines 30 31) no Hoare annotation was computed. [2020-07-28 17:42:17,097 INFO L268 CegarLoopResult]: For program point L35(lines 35 36) no Hoare annotation was computed. [2020-07-28 17:42:17,100 WARN L170 areAnnotationChecker]: ULTIMATE.startENTRY has no Hoare annotation [2020-07-28 17:42:17,101 WARN L170 areAnnotationChecker]: L-1 has no Hoare annotation [2020-07-28 17:42:17,101 WARN L170 areAnnotationChecker]: L20-1 has no Hoare annotation [2020-07-28 17:42:17,101 WARN L170 areAnnotationChecker]: L20-3 has no Hoare annotation [2020-07-28 17:42:17,101 WARN L170 areAnnotationChecker]: L20-1 has no Hoare annotation [2020-07-28 17:42:17,101 WARN L170 areAnnotationChecker]: L20-1 has no Hoare annotation [2020-07-28 17:42:17,101 WARN L170 areAnnotationChecker]: L20-3 has no Hoare annotation [2020-07-28 17:42:17,101 WARN L170 areAnnotationChecker]: L27 has no Hoare annotation [2020-07-28 17:42:17,101 WARN L170 areAnnotationChecker]: L27 has no Hoare annotation [2020-07-28 17:42:17,101 WARN L170 areAnnotationChecker]: L28 has no Hoare annotation [2020-07-28 17:42:17,101 WARN L170 areAnnotationChecker]: L28 has no Hoare annotation [2020-07-28 17:42:17,102 WARN L170 areAnnotationChecker]: L41 has no Hoare annotation [2020-07-28 17:42:17,102 WARN L170 areAnnotationChecker]: L41 has no Hoare annotation [2020-07-28 17:42:17,102 WARN L170 areAnnotationChecker]: L30 has no Hoare annotation [2020-07-28 17:42:17,102 WARN L170 areAnnotationChecker]: L30 has no Hoare annotation [2020-07-28 17:42:17,102 WARN L170 areAnnotationChecker]: L35 has no Hoare annotation [2020-07-28 17:42:17,102 WARN L170 areAnnotationChecker]: L35 has no Hoare annotation [2020-07-28 17:42:17,102 WARN L170 areAnnotationChecker]: L42 has no Hoare annotation [2020-07-28 17:42:17,102 WARN L170 areAnnotationChecker]: L42 has no Hoare annotation [2020-07-28 17:42:17,102 WARN L170 areAnnotationChecker]: L49 has no Hoare annotation [2020-07-28 17:42:17,102 WARN L170 areAnnotationChecker]: L49 has no Hoare annotation [2020-07-28 17:42:17,103 WARN L170 areAnnotationChecker]: L30-2 has no Hoare annotation [2020-07-28 17:42:17,103 WARN L170 areAnnotationChecker]: L90 has no Hoare annotation [2020-07-28 17:42:17,103 WARN L170 areAnnotationChecker]: L57-1 has no Hoare annotation [2020-07-28 17:42:17,103 WARN L170 areAnnotationChecker]: L57-1 has no Hoare annotation [2020-07-28 17:42:17,103 WARN L170 areAnnotationChecker]: L52 has no Hoare annotation [2020-07-28 17:42:17,103 WARN L170 areAnnotationChecker]: L52 has no Hoare annotation [2020-07-28 17:42:17,103 WARN L170 areAnnotationChecker]: L90 has no Hoare annotation [2020-07-28 17:42:17,103 WARN L170 areAnnotationChecker]: L90 has no Hoare annotation [2020-07-28 17:42:17,103 WARN L170 areAnnotationChecker]: L57 has no Hoare annotation [2020-07-28 17:42:17,103 WARN L170 areAnnotationChecker]: L57 has no Hoare annotation [2020-07-28 17:42:17,103 WARN L170 areAnnotationChecker]: L57-2 has no Hoare annotation [2020-07-28 17:42:17,103 WARN L170 areAnnotationChecker]: L52-2 has no Hoare annotation [2020-07-28 17:42:17,104 WARN L170 areAnnotationChecker]: L69-1 has no Hoare annotation [2020-07-28 17:42:17,104 WARN L170 areAnnotationChecker]: L69-3 has no Hoare annotation [2020-07-28 17:42:17,104 WARN L170 areAnnotationChecker]: L90-2 has no Hoare annotation [2020-07-28 17:42:17,104 WARN L170 areAnnotationChecker]: L90-2 has no Hoare annotation [2020-07-28 17:42:17,104 WARN L170 areAnnotationChecker]: L69-1 has no Hoare annotation [2020-07-28 17:42:17,104 WARN L170 areAnnotationChecker]: L69-1 has no Hoare annotation [2020-07-28 17:42:17,104 WARN L170 areAnnotationChecker]: L69-3 has no Hoare annotation [2020-07-28 17:42:17,104 WARN L170 areAnnotationChecker]: L91 has no Hoare annotation [2020-07-28 17:42:17,104 WARN L170 areAnnotationChecker]: L91 has no Hoare annotation [2020-07-28 17:42:17,104 WARN L170 areAnnotationChecker]: ULTIMATE.startFINAL has no Hoare annotation [2020-07-28 17:42:17,104 WARN L170 areAnnotationChecker]: L90-2 has no Hoare annotation [2020-07-28 17:42:17,105 WARN L170 areAnnotationChecker]: ULTIMATE.startFINAL has no Hoare annotation [2020-07-28 17:42:17,105 INFO L163 areAnnotationChecker]: CFG has 0 edges. 0 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. 0 times interpolants missing. [2020-07-28 17:42:17,108 FATAL L? ?]: The Plugin de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction has thrown an exception: java.lang.UnsupportedOperationException: translation of (concat (_ BitVec 32) (_ BitVec 32) (_ BitVec 64)) not yet implemented, please contact Matthias at de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.boogie.Term2Expression.translate(Term2Expression.java:209) at de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.boogie.Term2Expression.translate(Term2Expression.java:129) at de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.boogie.Term2Expression.translate(Term2Expression.java:165) at de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.boogie.Term2Expression.translate(Term2Expression.java:129) at de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.boogie.Term2Expression.translate(Term2Expression.java:165) at de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.boogie.Term2Expression.translate(Term2Expression.java:129) at de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.boogie.Term2Expression.translate(Term2Expression.java:165) at de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.boogie.Term2Expression.translate(Term2Expression.java:129) at de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.boogie.Term2Expression.translate(Term2Expression.java:446) at de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.boogie.Term2Expression.translate(Term2Expression.java:135) at de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.boogie.Term2Expression.translate(Term2Expression.java:165) at de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.boogie.Term2Expression.translate(Term2Expression.java:129) at de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder.RCFGBacktranslator.translateExpression(RCFGBacktranslator.java:394) at de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder.RCFGBacktranslator.translateExpression(RCFGBacktranslator.java:1) at de.uni_freiburg.informatik.ultimate.core.coreplugin.services.ModelTranslationContainer.translateExpression(ModelTranslationContainer.java:106) at de.uni_freiburg.informatik.ultimate.core.coreplugin.services.ModelTranslationContainer.translateExpressionToString(ModelTranslationContainer.java:89) at de.uni_freiburg.informatik.ultimate.core.lib.results.InvariantResult.getLongDescription(InvariantResult.java:65) at de.uni_freiburg.informatik.ultimate.core.coreplugin.services.ResultService.reportResult(ResultService.java:85) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.reportResult(TraceAbstractionStarter.java:693) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.createInvariantResults(TraceAbstractionStarter.java:260) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.runCegarLoops(TraceAbstractionStarter.java:217) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.(TraceAbstractionStarter.java:127) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver.finish(TraceAbstractionObserver.java:120) at de.uni_freiburg.informatik.ultimate.core.coreplugin.PluginConnector.runObserver(PluginConnector.java:168) at de.uni_freiburg.informatik.ultimate.core.coreplugin.PluginConnector.runTool(PluginConnector.java:151) at de.uni_freiburg.informatik.ultimate.core.coreplugin.PluginConnector.run(PluginConnector.java:128) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.executePluginConnector(ToolchainWalker.java:232) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.processPlugin(ToolchainWalker.java:226) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.walkUnprotected(ToolchainWalker.java:142) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.walk(ToolchainWalker.java:104) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainManager$Toolchain.processToolchain(ToolchainManager.java:317) at de.uni_freiburg.informatik.ultimate.core.coreplugin.toolchain.DefaultToolchainJob.run(DefaultToolchainJob.java:145) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55) [2020-07-28 17:42:17,113 INFO L168 Benchmark]: Toolchain (without parser) took 13080.41 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 210.8 MB). Free memory was 956.2 MB in the beginning and 895.5 MB in the end (delta: 60.7 MB). Peak memory consumption was 271.5 MB. Max. memory is 11.5 GB. [2020-07-28 17:42:17,113 INFO L168 Benchmark]: CDTParser took 0.30 ms. Allocated memory is still 1.0 GB. Free memory is still 981.7 MB. There was no memory consumed. Max. memory is 11.5 GB. [2020-07-28 17:42:17,114 INFO L168 Benchmark]: CACSL2BoogieTranslator took 386.15 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 152.6 MB). Free memory was 956.2 MB in the beginning and 1.1 GB in the end (delta: -192.5 MB). Peak memory consumption was 26.3 MB. Max. memory is 11.5 GB. [2020-07-28 17:42:17,115 INFO L168 Benchmark]: Boogie Procedure Inliner took 65.00 ms. Allocated memory is still 1.2 GB. Free memory was 1.1 GB in the beginning and 1.1 GB in the end (delta: 6.5 MB). Peak memory consumption was 6.5 MB. Max. memory is 11.5 GB. [2020-07-28 17:42:17,115 INFO L168 Benchmark]: Boogie Preprocessor took 50.03 ms. Allocated memory is still 1.2 GB. Free memory was 1.1 GB in the beginning and 1.1 GB in the end (delta: 1.6 MB). Peak memory consumption was 1.6 MB. Max. memory is 11.5 GB. [2020-07-28 17:42:17,116 INFO L168 Benchmark]: RCFGBuilder took 812.80 ms. Allocated memory is still 1.2 GB. Free memory was 1.1 GB in the beginning and 1.1 GB in the end (delta: 37.1 MB). Peak memory consumption was 37.1 MB. Max. memory is 11.5 GB. [2020-07-28 17:42:17,117 INFO L168 Benchmark]: TraceAbstraction took 11757.48 ms. Allocated memory was 1.2 GB in the beginning and 1.2 GB in the end (delta: 58.2 MB). Free memory was 1.1 GB in the beginning and 895.5 MB in the end (delta: 207.9 MB). Peak memory consumption was 266.1 MB. Max. memory is 11.5 GB. [2020-07-28 17:42:17,121 INFO L336 ainManager$Toolchain]: ####################### End [Toolchain 1] ####################### --- Results --- * Results from de.uni_freiburg.informatik.ultimate.core: - AssertionsEnabledResult: Assertions are enabled Assertions are enabled - StatisticsResult: Toolchain Benchmarks Benchmark results are: * CDTParser took 0.30 ms. Allocated memory is still 1.0 GB. Free memory is still 981.7 MB. There was no memory consumed. Max. memory is 11.5 GB. * CACSL2BoogieTranslator took 386.15 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 152.6 MB). Free memory was 956.2 MB in the beginning and 1.1 GB in the end (delta: -192.5 MB). Peak memory consumption was 26.3 MB. Max. memory is 11.5 GB. * Boogie Procedure Inliner took 65.00 ms. Allocated memory is still 1.2 GB. Free memory was 1.1 GB in the beginning and 1.1 GB in the end (delta: 6.5 MB). Peak memory consumption was 6.5 MB. Max. memory is 11.5 GB. * Boogie Preprocessor took 50.03 ms. Allocated memory is still 1.2 GB. Free memory was 1.1 GB in the beginning and 1.1 GB in the end (delta: 1.6 MB). Peak memory consumption was 1.6 MB. Max. memory is 11.5 GB. * RCFGBuilder took 812.80 ms. Allocated memory is still 1.2 GB. Free memory was 1.1 GB in the beginning and 1.1 GB in the end (delta: 37.1 MB). Peak memory consumption was 37.1 MB. Max. memory is 11.5 GB. * TraceAbstraction took 11757.48 ms. Allocated memory was 1.2 GB in the beginning and 1.2 GB in the end (delta: 58.2 MB). Free memory was 1.1 GB in the beginning and 895.5 MB in the end (delta: 207.9 MB). Peak memory consumption was 266.1 MB. Max. memory is 11.5 GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - PositiveResult [Line: 91]: call of __VERIFIER_error() unreachable For all program executions holds that call of __VERIFIER_error() unreachable at this location - AllSpecificationsHoldResult: All specifications hold 1 specifications checked. All of them hold - ExceptionOrErrorResult: UnsupportedOperationException: translation of (concat (_ BitVec 32) (_ BitVec 32) (_ BitVec 64)) not yet implemented, please contact Matthias de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: UnsupportedOperationException: translation of (concat (_ BitVec 32) (_ BitVec 32) (_ BitVec 64)) not yet implemented, please contact Matthias: de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.boogie.Term2Expression.translate(Term2Expression.java:209) RESULT: Ultimate could not prove your program: Toolchain returned no result. Received shutdown request...