./Ultimate.py --spec ../../sv-benchmarks/c/properties/unreach-call.prp --file ../../sv-benchmarks/c/float-newlib/double_req_bl_1091_true-unreach-call.c --full-output --architecture 32bit -------------------------------------------------------------------------------- Checking for ERROR reachability Using default analysis Version aa418289 Calling Ultimate with: java -Dosgi.configuration.area=/tmp/vcloud-vcloud-master/worker/working_dir_33ab0c97-d07d-4be6-b005-7ae7dfd6104f/bin-2019/uautomizer/data/config -Xmx12G -Xms1G -jar /tmp/vcloud-vcloud-master/worker/working_dir_33ab0c97-d07d-4be6-b005-7ae7dfd6104f/bin-2019/uautomizer/plugins/org.eclipse.equinox.launcher_1.3.100.v20150511-1540.jar -data @noDefault -ultimatedata /tmp/vcloud-vcloud-master/worker/working_dir_33ab0c97-d07d-4be6-b005-7ae7dfd6104f/bin-2019/uautomizer/data -tc /tmp/vcloud-vcloud-master/worker/working_dir_33ab0c97-d07d-4be6-b005-7ae7dfd6104f/bin-2019/uautomizer/config/AutomizerReach.xml -i ../../sv-benchmarks/c/float-newlib/double_req_bl_1091_true-unreach-call.c -s /tmp/vcloud-vcloud-master/worker/working_dir_33ab0c97-d07d-4be6-b005-7ae7dfd6104f/bin-2019/uautomizer/config/svcomp-Reach-32bit-Automizer_Default.epf --cacsl2boogietranslator.entry.function main --witnessprinter.witness.directory /tmp/vcloud-vcloud-master/worker/working_dir_33ab0c97-d07d-4be6-b005-7ae7dfd6104f/bin-2019/uautomizer --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 84dba58cac25505e0eb3c404a47a071a268de901 ........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................ Execution finished normally Using bit-precise analysis Retrying with bit-precise analysis Calling Ultimate with: java -Dosgi.configuration.area=/tmp/vcloud-vcloud-master/worker/working_dir_33ab0c97-d07d-4be6-b005-7ae7dfd6104f/bin-2019/uautomizer/data/config -Xmx12G -Xms1G -jar /tmp/vcloud-vcloud-master/worker/working_dir_33ab0c97-d07d-4be6-b005-7ae7dfd6104f/bin-2019/uautomizer/plugins/org.eclipse.equinox.launcher_1.3.100.v20150511-1540.jar -data @noDefault -ultimatedata /tmp/vcloud-vcloud-master/worker/working_dir_33ab0c97-d07d-4be6-b005-7ae7dfd6104f/bin-2019/uautomizer/data -tc /tmp/vcloud-vcloud-master/worker/working_dir_33ab0c97-d07d-4be6-b005-7ae7dfd6104f/bin-2019/uautomizer/config/AutomizerReach.xml -i ../../sv-benchmarks/c/float-newlib/double_req_bl_1091_true-unreach-call.c -s /tmp/vcloud-vcloud-master/worker/working_dir_33ab0c97-d07d-4be6-b005-7ae7dfd6104f/bin-2019/uautomizer/config/svcomp-Reach-32bit-Automizer_Bitvector.epf --cacsl2boogietranslator.entry.function main --witnessprinter.witness.directory /tmp/vcloud-vcloud-master/worker/working_dir_33ab0c97-d07d-4be6-b005-7ae7dfd6104f/bin-2019/uautomizer --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 84dba58cac25505e0eb3c404a47a071a268de901 ................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................ Execution finished normally Writing output log to file Ultimate.log Result: TRUE --- Real Ultimate output --- This is Ultimate 0.1.23-aa41828 [2018-11-23 06:19:05,741 INFO L170 SettingsManager]: Resetting all preferences to default values... [2018-11-23 06:19:05,742 INFO L174 SettingsManager]: Resetting UltimateCore preferences to default values [2018-11-23 06:19:05,751 INFO L177 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2018-11-23 06:19:05,751 INFO L174 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2018-11-23 06:19:05,752 INFO L174 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2018-11-23 06:19:05,753 INFO L174 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2018-11-23 06:19:05,754 INFO L174 SettingsManager]: Resetting LassoRanker preferences to default values [2018-11-23 06:19:05,755 INFO L174 SettingsManager]: Resetting Reaching Definitions preferences to default values [2018-11-23 06:19:05,756 INFO L174 SettingsManager]: Resetting SyntaxChecker preferences to default values [2018-11-23 06:19:05,757 INFO L177 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2018-11-23 06:19:05,757 INFO L174 SettingsManager]: Resetting LTL2Aut preferences to default values [2018-11-23 06:19:05,758 INFO L174 SettingsManager]: Resetting PEA to Boogie preferences to default values [2018-11-23 06:19:05,758 INFO L174 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2018-11-23 06:19:05,759 INFO L174 SettingsManager]: Resetting ChcToBoogie preferences to default values [2018-11-23 06:19:05,760 INFO L174 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2018-11-23 06:19:05,760 INFO L174 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2018-11-23 06:19:05,762 INFO L174 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2018-11-23 06:19:05,764 INFO L174 SettingsManager]: Resetting CodeCheck preferences to default values [2018-11-23 06:19:05,765 INFO L174 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2018-11-23 06:19:05,766 INFO L174 SettingsManager]: Resetting RCFGBuilder preferences to default values [2018-11-23 06:19:05,767 INFO L174 SettingsManager]: Resetting TraceAbstraction preferences to default values [2018-11-23 06:19:05,768 INFO L177 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2018-11-23 06:19:05,769 INFO L177 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2018-11-23 06:19:05,769 INFO L174 SettingsManager]: Resetting TreeAutomizer preferences to default values [2018-11-23 06:19:05,770 INFO L174 SettingsManager]: Resetting IcfgTransformer preferences to default values [2018-11-23 06:19:05,771 INFO L174 SettingsManager]: Resetting Boogie Printer preferences to default values [2018-11-23 06:19:05,771 INFO L174 SettingsManager]: Resetting ReqPrinter preferences to default values [2018-11-23 06:19:05,772 INFO L174 SettingsManager]: Resetting Witness Printer preferences to default values [2018-11-23 06:19:05,773 INFO L177 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2018-11-23 06:19:05,773 INFO L174 SettingsManager]: Resetting CDTParser preferences to default values [2018-11-23 06:19:05,773 INFO L177 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2018-11-23 06:19:05,774 INFO L177 SettingsManager]: ReqParser provides no preferences, ignoring... [2018-11-23 06:19:05,774 INFO L174 SettingsManager]: Resetting SmtParser preferences to default values [2018-11-23 06:19:05,775 INFO L174 SettingsManager]: Resetting Witness Parser preferences to default values [2018-11-23 06:19:05,775 INFO L181 SettingsManager]: Finished resetting all preferences to default values... [2018-11-23 06:19:05,776 INFO L98 SettingsManager]: Beginning loading settings from /tmp/vcloud-vcloud-master/worker/working_dir_33ab0c97-d07d-4be6-b005-7ae7dfd6104f/bin-2019/uautomizer/config/svcomp-Reach-32bit-Automizer_Default.epf [2018-11-23 06:19:05,786 INFO L110 SettingsManager]: Loading preferences was successful [2018-11-23 06:19:05,786 INFO L112 SettingsManager]: Preferences different from defaults after loading the file: [2018-11-23 06:19:05,787 INFO L131 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2018-11-23 06:19:05,787 INFO L133 SettingsManager]: * ... calls to implemented procedures=ONLY_FOR_CONCURRENT_PROGRAMS [2018-11-23 06:19:05,788 INFO L131 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2018-11-23 06:19:05,788 INFO L133 SettingsManager]: * Create parallel compositions if possible=false [2018-11-23 06:19:05,788 INFO L133 SettingsManager]: * Use SBE=true [2018-11-23 06:19:05,788 INFO L131 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2018-11-23 06:19:05,788 INFO L133 SettingsManager]: * sizeof long=4 [2018-11-23 06:19:05,788 INFO L133 SettingsManager]: * Overapproximate operations on floating types=true [2018-11-23 06:19:05,788 INFO L133 SettingsManager]: * sizeof POINTER=4 [2018-11-23 06:19:05,789 INFO L133 SettingsManager]: * Check division by zero=IGNORE [2018-11-23 06:19:05,789 INFO L133 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2018-11-23 06:19:05,789 INFO L133 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2018-11-23 06:19:05,789 INFO L133 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2018-11-23 06:19:05,789 INFO L133 SettingsManager]: * sizeof long double=12 [2018-11-23 06:19:05,789 INFO L133 SettingsManager]: * Check if freed pointer was valid=false [2018-11-23 06:19:05,789 INFO L133 SettingsManager]: * Use constant arrays=true [2018-11-23 06:19:05,789 INFO L133 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2018-11-23 06:19:05,790 INFO L131 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2018-11-23 06:19:05,790 INFO L133 SettingsManager]: * Size of a code block=SequenceOfStatements [2018-11-23 06:19:05,791 INFO L133 SettingsManager]: * To the following directory=./dump/ [2018-11-23 06:19:05,791 INFO L133 SettingsManager]: * SMT solver=External_DefaultMode [2018-11-23 06:19:05,791 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2018-11-23 06:19:05,791 INFO L131 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2018-11-23 06:19:05,791 INFO L133 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2018-11-23 06:19:05,791 INFO L133 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2018-11-23 06:19:05,791 INFO L133 SettingsManager]: * Trace refinement strategy=CAMEL [2018-11-23 06:19:05,791 INFO L133 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2018-11-23 06:19:05,791 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2018-11-23 06:19:05,791 INFO L133 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true 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 -> /tmp/vcloud-vcloud-master/worker/working_dir_33ab0c97-d07d-4be6-b005-7ae7dfd6104f/bin-2019/uautomizer 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 -> 84dba58cac25505e0eb3c404a47a071a268de901 [2018-11-23 06:19:05,813 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2018-11-23 06:19:05,821 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2018-11-23 06:19:05,823 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2018-11-23 06:19:05,823 INFO L271 PluginConnector]: Initializing CDTParser... [2018-11-23 06:19:05,824 INFO L276 PluginConnector]: CDTParser initialized [2018-11-23 06:19:05,824 INFO L418 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /tmp/vcloud-vcloud-master/worker/working_dir_33ab0c97-d07d-4be6-b005-7ae7dfd6104f/bin-2019/uautomizer/../../sv-benchmarks/c/float-newlib/double_req_bl_1091_true-unreach-call.c [2018-11-23 06:19:05,859 INFO L221 CDTParser]: Created temporary CDT project at /tmp/vcloud-vcloud-master/worker/working_dir_33ab0c97-d07d-4be6-b005-7ae7dfd6104f/bin-2019/uautomizer/data/781f44f76/85bbe8e936e44199912c14f7abed3d3a/FLAG55cd07f3e [2018-11-23 06:19:06,258 INFO L307 CDTParser]: Found 1 translation units. [2018-11-23 06:19:06,259 INFO L161 CDTParser]: Scanning /tmp/vcloud-vcloud-master/worker/working_dir_33ab0c97-d07d-4be6-b005-7ae7dfd6104f/sv-benchmarks/c/float-newlib/double_req_bl_1091_true-unreach-call.c [2018-11-23 06:19:06,263 INFO L355 CDTParser]: About to delete temporary CDT project at /tmp/vcloud-vcloud-master/worker/working_dir_33ab0c97-d07d-4be6-b005-7ae7dfd6104f/bin-2019/uautomizer/data/781f44f76/85bbe8e936e44199912c14f7abed3d3a/FLAG55cd07f3e [2018-11-23 06:19:06,272 INFO L363 CDTParser]: Successfully deleted /tmp/vcloud-vcloud-master/worker/working_dir_33ab0c97-d07d-4be6-b005-7ae7dfd6104f/bin-2019/uautomizer/data/781f44f76/85bbe8e936e44199912c14f7abed3d3a [2018-11-23 06:19:06,274 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2018-11-23 06:19:06,275 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2018-11-23 06:19:06,275 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2018-11-23 06:19:06,276 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2018-11-23 06:19:06,278 INFO L276 PluginConnector]: CACSL2BoogieTranslator initialized [2018-11-23 06:19:06,278 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 06:19:06" (1/1) ... [2018-11-23 06:19:06,280 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@3709085a and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 06:19:06, skipping insertion in model container [2018-11-23 06:19:06,280 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 06:19:06" (1/1) ... [2018-11-23 06:19:06,285 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2018-11-23 06:19:06,300 INFO L176 MainTranslator]: Built tables and reachable declarations [2018-11-23 06:19:06,418 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 06:19:06,420 INFO L191 MainTranslator]: Completed pre-run [2018-11-23 06:19:06,438 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 06:19:06,450 INFO L195 MainTranslator]: Completed translation [2018-11-23 06:19:06,450 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 06:19:06 WrapperNode [2018-11-23 06:19:06,450 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2018-11-23 06:19:06,451 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2018-11-23 06:19:06,451 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2018-11-23 06:19:06,451 INFO L276 PluginConnector]: Boogie Procedure Inliner initialized [2018-11-23 06:19:06,457 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 06:19:06" (1/1) ... [2018-11-23 06:19:06,464 INFO L185 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 06:19:06" (1/1) ... [2018-11-23 06:19:06,503 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2018-11-23 06:19:06,504 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2018-11-23 06:19:06,504 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2018-11-23 06:19:06,504 INFO L276 PluginConnector]: Boogie Preprocessor initialized [2018-11-23 06:19:06,509 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 06:19:06" (1/1) ... [2018-11-23 06:19:06,509 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 06:19:06" (1/1) ... [2018-11-23 06:19:06,511 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 06:19:06" (1/1) ... [2018-11-23 06:19:06,511 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 06:19:06" (1/1) ... [2018-11-23 06:19:06,517 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 06:19:06" (1/1) ... [2018-11-23 06:19:06,520 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 06:19:06" (1/1) ... [2018-11-23 06:19:06,522 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 06:19:06" (1/1) ... [2018-11-23 06:19:06,523 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2018-11-23 06:19:06,524 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2018-11-23 06:19:06,524 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2018-11-23 06:19:06,524 INFO L276 PluginConnector]: RCFGBuilder initialized [2018-11-23 06:19:06,525 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 06:19:06" (1/1) ... No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_33ab0c97-d07d-4be6-b005-7ae7dfd6104f/bin-2019/uautomizer/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 [2018-11-23 06:19:06,554 INFO L130 BoogieDeclarations]: Found specification of procedure read~real [2018-11-23 06:19:06,554 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2018-11-23 06:19:06,555 INFO L130 BoogieDeclarations]: Found specification of procedure isnan_double [2018-11-23 06:19:06,555 INFO L138 BoogieDeclarations]: Found implementation of procedure isnan_double [2018-11-23 06:19:06,555 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2018-11-23 06:19:06,555 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2018-11-23 06:19:06,555 INFO L130 BoogieDeclarations]: Found specification of procedure write~real [2018-11-23 06:19:06,555 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.alloc [2018-11-23 06:19:06,555 INFO L130 BoogieDeclarations]: Found specification of procedure ceil_double [2018-11-23 06:19:06,555 INFO L138 BoogieDeclarations]: Found implementation of procedure ceil_double [2018-11-23 06:19:06,555 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2018-11-23 06:19:06,555 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2018-11-23 06:19:06,555 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2018-11-23 06:19:06,555 INFO L130 BoogieDeclarations]: Found specification of procedure main [2018-11-23 06:19:06,556 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2018-11-23 06:19:06,556 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2018-11-23 06:19:06,740 INFO L275 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2018-11-23 06:19:06,740 INFO L280 CfgBuilder]: Removed 4 assue(true) statements. [2018-11-23 06:19:06,741 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 06:19:06 BoogieIcfgContainer [2018-11-23 06:19:06,741 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2018-11-23 06:19:06,741 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2018-11-23 06:19:06,741 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2018-11-23 06:19:06,744 INFO L276 PluginConnector]: TraceAbstraction initialized [2018-11-23 06:19:06,744 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 23.11 06:19:06" (1/3) ... [2018-11-23 06:19:06,744 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@408b1acc and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 23.11 06:19:06, skipping insertion in model container [2018-11-23 06:19:06,745 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 06:19:06" (2/3) ... [2018-11-23 06:19:06,745 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@408b1acc and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 23.11 06:19:06, skipping insertion in model container [2018-11-23 06:19:06,745 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 06:19:06" (3/3) ... [2018-11-23 06:19:06,746 INFO L112 eAbstractionObserver]: Analyzing ICFG double_req_bl_1091_true-unreach-call.c [2018-11-23 06:19:06,754 INFO L156 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2018-11-23 06:19:06,758 INFO L168 ceAbstractionStarter]: Appying trace abstraction to program that has 1 error locations. [2018-11-23 06:19:06,768 INFO L257 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2018-11-23 06:19:06,784 INFO L133 ementStrategyFactory]: Using default assertion order modulation [2018-11-23 06:19:06,785 INFO L382 AbstractCegarLoop]: Interprodecural is true [2018-11-23 06:19:06,785 INFO L383 AbstractCegarLoop]: Hoare is true [2018-11-23 06:19:06,785 INFO L384 AbstractCegarLoop]: Compute interpolants for FPandBP [2018-11-23 06:19:06,785 INFO L385 AbstractCegarLoop]: Backedges is STRAIGHT_LINE [2018-11-23 06:19:06,785 INFO L386 AbstractCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2018-11-23 06:19:06,785 INFO L387 AbstractCegarLoop]: Difference is false [2018-11-23 06:19:06,785 INFO L388 AbstractCegarLoop]: Minimize is MINIMIZE_SEVPA [2018-11-23 06:19:06,785 INFO L393 AbstractCegarLoop]: ======== Iteration 0==of CEGAR loop == AllErrorsAtOnce======== [2018-11-23 06:19:06,797 INFO L276 IsEmpty]: Start isEmpty. Operand 47 states. [2018-11-23 06:19:06,801 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 24 [2018-11-23 06:19:06,801 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 06:19:06,802 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 06:19:06,804 INFO L423 AbstractCegarLoop]: === Iteration 1 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 06:19:06,807 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 06:19:06,807 INFO L82 PathProgramCache]: Analyzing trace with hash 1881433434, now seen corresponding path program 1 times [2018-11-23 06:19:06,809 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 06:19:06,809 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 06:19:06,836 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 06:19:06,836 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 06:19:06,837 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 06:19:06,865 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 06:19:06,892 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 06:19:06,894 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 06:19:06,894 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2018-11-23 06:19:06,896 INFO L459 AbstractCegarLoop]: Interpolant automaton has 2 states [2018-11-23 06:19:06,904 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 2 interpolants. [2018-11-23 06:19:06,904 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2018-11-23 06:19:06,906 INFO L87 Difference]: Start difference. First operand 47 states. Second operand 2 states. [2018-11-23 06:19:06,920 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 06:19:06,920 INFO L93 Difference]: Finished difference Result 86 states and 124 transitions. [2018-11-23 06:19:06,920 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2018-11-23 06:19:06,921 INFO L78 Accepts]: Start accepts. Automaton has 2 states. Word has length 23 [2018-11-23 06:19:06,921 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 06:19:06,928 INFO L225 Difference]: With dead ends: 86 [2018-11-23 06:19:06,928 INFO L226 Difference]: Without dead ends: 43 [2018-11-23 06:19:06,931 INFO L631 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 [2018-11-23 06:19:06,941 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 43 states. [2018-11-23 06:19:06,953 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 43 to 43. [2018-11-23 06:19:06,954 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 43 states. [2018-11-23 06:19:06,955 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 43 states to 43 states and 57 transitions. [2018-11-23 06:19:06,956 INFO L78 Accepts]: Start accepts. Automaton has 43 states and 57 transitions. Word has length 23 [2018-11-23 06:19:06,956 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 06:19:06,956 INFO L480 AbstractCegarLoop]: Abstraction has 43 states and 57 transitions. [2018-11-23 06:19:06,956 INFO L481 AbstractCegarLoop]: Interpolant automaton has 2 states. [2018-11-23 06:19:06,956 INFO L276 IsEmpty]: Start isEmpty. Operand 43 states and 57 transitions. [2018-11-23 06:19:06,957 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 25 [2018-11-23 06:19:06,957 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 06:19:06,957 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 06:19:06,957 INFO L423 AbstractCegarLoop]: === Iteration 2 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 06:19:06,961 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 06:19:06,962 INFO L82 PathProgramCache]: Analyzing trace with hash 1135906069, now seen corresponding path program 1 times [2018-11-23 06:19:06,962 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 06:19:06,962 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 06:19:06,963 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 06:19:06,963 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 06:19:06,963 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 06:19:06,993 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 06:19:07,013 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 06:19:07,031 INFO L469 BasicCegarLoop]: Counterexample might be feasible ----- class de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder.RCFGBacktranslator [?] CALL call ULTIMATE.init(); VAL [|#NULL.base|=6442450950, |#NULL.offset|=6442450945, |old(#NULL.base)|=6442450950, |old(#NULL.offset)|=6442450945, |old(~huge_ceil~0)|=6442450948.0, ~huge_ceil~0=6442450948.0] [?] #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~huge_ceil~0 := 1.0E300; VAL [|#NULL.base|=0, |#NULL.offset|=0, |old(#NULL.base)|=6442450950, |old(#NULL.offset)|=6442450945, |old(~huge_ceil~0)|=6442450948.0, ~huge_ceil~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0] [?] assume true; VAL [|#NULL.base|=0, |#NULL.offset|=0, |old(#NULL.base)|=6442450950, |old(#NULL.offset)|=6442450945, |old(~huge_ceil~0)|=6442450948.0, ~huge_ceil~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0] [?] RET #129#return; VAL [|#NULL.base|=0, |#NULL.offset|=0, ~huge_ceil~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0] [?] CALL call #t~ret8 := main(); VAL [|#NULL.base|=0, |#NULL.offset|=0, ~huge_ceil~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0] [?] ~x~0 := ~someBinaryArithmeticDOUBLEoperation(0.0, 0.0); VAL [|#NULL.base|=0, |#NULL.offset|=0, ~huge_ceil~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0] [?] CALL call #t~ret6 := ceil_double(~x~0); VAL [|#NULL.base|=0, |#NULL.offset|=0, |ceil_double_#in~x|=6442450949.0, ~huge_ceil~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0] [?] ~x := #in~x;havoc ~i0~0;havoc ~i1~0;havoc ~j0~0;havoc ~i~0;havoc ~j~0; VAL [ceil_double_~x=6442450949.0, |#NULL.base|=0, |#NULL.offset|=0, |ceil_double_#in~x|=6442450949.0, ~huge_ceil~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0] [?] call ~#ew_u~0.base, ~#ew_u~0.offset := #Ultimate.alloc(8);call write~real(~x, ~#ew_u~0.base, ~#ew_u~0.offset, 8);call #t~mem0 := read~int(~#ew_u~0.base, 4 + ~#ew_u~0.offset, 4);~i0~0 := (if #t~mem0 % 4294967296 % 4294967296 <= 2147483647 then #t~mem0 % 4294967296 % 4294967296 else #t~mem0 % 4294967296 % 4294967296 - 4294967296);call write~real(#t~union1, ~#ew_u~0.base, ~#ew_u~0.offset, 8);havoc #t~mem0;havoc #t~union1;call #t~mem2 := read~int(~#ew_u~0.base, ~#ew_u~0.offset, 4);~i1~0 := (if #t~mem2 % 4294967296 % 4294967296 <= 2147483647 then #t~mem2 % 4294967296 % 4294967296 else #t~mem2 % 4294967296 % 4294967296 - 4294967296);call write~real(#t~union3, ~#ew_u~0.base, ~#ew_u~0.offset, 8);havoc #t~union3;havoc #t~mem2;call ULTIMATE.dealloc(~#ew_u~0.base, ~#ew_u~0.offset);havoc ~#ew_u~0.base, ~#ew_u~0.offset; VAL [ceil_double_~i0~0=(- 2147483648), ceil_double_~i1~0=2147483647, ceil_double_~x=6442450949.0, |#NULL.base|=0, |#NULL.offset|=0, |ceil_double_#in~x|=6442450949.0, ~huge_ceil~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0] [?] goto; VAL [ceil_double_~i0~0=(- 2147483648), ceil_double_~i1~0=2147483647, ceil_double_~x=6442450949.0, |#NULL.base|=0, |#NULL.offset|=0, |ceil_double_#in~x|=6442450949.0, ~huge_ceil~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0] [?] ~j0~0 := ~bitwiseAnd(~i0~0 / 1048576, 2047) - 1023; VAL [ceil_double_~i0~0=(- 2147483648), ceil_double_~i1~0=2147483647, ceil_double_~x=6442450949.0, |#NULL.base|=0, |#NULL.offset|=0, |ceil_double_#in~x|=6442450949.0, ~huge_ceil~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0] [?] assume ~j0~0 < 20; VAL [ceil_double_~i0~0=(- 2147483648), ceil_double_~i1~0=2147483647, ceil_double_~j0~0=0, ceil_double_~x=6442450949.0, |#NULL.base|=0, |#NULL.offset|=0, |ceil_double_#in~x|=6442450949.0, ~huge_ceil~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0] [?] assume !(~j0~0 < 0);~i~0 := ~shiftRight(1048575, ~j0~0); VAL [ceil_double_~i0~0=(- 2147483648), ceil_double_~i1~0=2147483647, ceil_double_~j0~0=0, ceil_double_~x=6442450949.0, |#NULL.base|=0, |#NULL.offset|=0, |ceil_double_#in~x|=6442450949.0, ~huge_ceil~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0] [?] assume 0 == ~bitwiseOr(~bitwiseAnd(~i0~0, ~i~0), ~i1~0) % 4294967296;#res := ~x; VAL [ceil_double_~i0~0=(- 2147483648), ceil_double_~i1~0=2147483647, ceil_double_~j0~0=0, ceil_double_~x=6442450949.0, |#NULL.base|=0, |#NULL.offset|=0, |ceil_double_#in~x|=6442450949.0, |ceil_double_#res|=6442450949.0, ~huge_ceil~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0] [?] assume true; VAL [ceil_double_~i0~0=(- 2147483648), ceil_double_~i1~0=2147483647, ceil_double_~j0~0=0, ceil_double_~x=6442450949.0, |#NULL.base|=0, |#NULL.offset|=0, |ceil_double_#in~x|=6442450949.0, |ceil_double_#res|=6442450949.0, ~huge_ceil~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0] [?] RET #133#return; VAL [main_~x~0=6442450949.0, |#NULL.base|=0, |#NULL.offset|=0, |main_#t~ret6|=6442450949.0, ~huge_ceil~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0] [?] ~res~0 := #t~ret6;havoc #t~ret6; VAL [main_~res~0=6442450949.0, main_~x~0=6442450949.0, |#NULL.base|=0, |#NULL.offset|=0, ~huge_ceil~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0] [?] CALL call #t~ret7 := isnan_double(~res~0); VAL [|#NULL.base|=0, |#NULL.offset|=0, |isnan_double_#in~x|=6442450949.0, ~huge_ceil~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0] [?] ~x := #in~x;#res := (if ~someBinaryDOUBLEComparisonOperation(~x, ~x) then 1 else 0); VAL [isnan_double_~x=6442450949.0, |#NULL.base|=0, |#NULL.offset|=0, |isnan_double_#in~x|=6442450949.0, |isnan_double_#res|=0, ~huge_ceil~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0] [?] assume true; VAL [isnan_double_~x=6442450949.0, |#NULL.base|=0, |#NULL.offset|=0, |isnan_double_#in~x|=6442450949.0, |isnan_double_#res|=0, ~huge_ceil~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0] [?] RET #135#return; VAL [main_~res~0=6442450949.0, main_~x~0=6442450949.0, |#NULL.base|=0, |#NULL.offset|=0, |main_#t~ret7|=0, ~huge_ceil~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0] [?] assume -2147483648 <= #t~ret7 && #t~ret7 <= 2147483647; VAL [main_~res~0=6442450949.0, main_~x~0=6442450949.0, |#NULL.base|=0, |#NULL.offset|=0, |main_#t~ret7|=0, ~huge_ceil~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0] [?] assume 0 == #t~ret7;havoc #t~ret7; VAL [main_~res~0=6442450949.0, main_~x~0=6442450949.0, |#NULL.base|=0, |#NULL.offset|=0, ~huge_ceil~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0] [?] assume !false; VAL [main_~res~0=6442450949.0, main_~x~0=6442450949.0, |#NULL.base|=0, |#NULL.offset|=0, ~huge_ceil~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0] [?] CALL call ULTIMATE.init(); VAL [#NULL.base=6442450950, #NULL.offset=6442450945, old(#NULL.base)=6442450950, old(#NULL.offset)=6442450945, old(~huge_ceil~0)=6.442450948E9, ~huge_ceil~0=6.442450948E9] [?] #NULL.base, #NULL.offset := 0, 0; [?] #valid := #valid[0 := 0]; [L17] ~huge_ceil~0 := 1.0E300; VAL [#NULL.base=0, #NULL.offset=0, old(#NULL.base)=6442450950, old(#NULL.offset)=6442450945, old(~huge_ceil~0)=6.442450948E9, ~huge_ceil~0=1.0E300] [?] ensures true; VAL [#NULL.base=0, #NULL.offset=0, old(#NULL.base)=6442450950, old(#NULL.offset)=6442450945, old(~huge_ceil~0)=6.442450948E9, ~huge_ceil~0=1.0E300] [?] RET call ULTIMATE.init(); VAL [#NULL.base=0, #NULL.offset=0, ~huge_ceil~0=1.0E300] [?] CALL call #t~ret8 := main(); VAL [#NULL.base=0, #NULL.offset=0, ~huge_ceil~0=1.0E300] [L90] ~x~0 := ~someBinaryArithmeticDOUBLEoperation(0.0, 0.0); VAL [#NULL.base=0, #NULL.offset=0, ~huge_ceil~0=1.0E300] [L91] CALL call #t~ret6 := ceil_double(~x~0); VAL [#in~x=6.442450949E9, #NULL.base=0, #NULL.offset=0, ~huge_ceil~0=1.0E300] [L19-L81] ~x := #in~x; [L20] havoc ~i0~0; [L20] havoc ~i1~0; [L20] havoc ~j0~0; [L21] havoc ~i~0; [L21] havoc ~j~0; VAL [#in~x=6.442450949E9, #NULL.base=0, #NULL.offset=0, ~huge_ceil~0=1.0E300, ~x=6.442450949E9] [L23] call ~#ew_u~0.base, ~#ew_u~0.offset := #Ultimate.alloc(8); [L24] call write~real(~x, ~#ew_u~0.base, ~#ew_u~0.offset, 8); [L25] call #t~mem0 := read~int(~#ew_u~0.base, 4 + ~#ew_u~0.offset, 4); [L25] ~i0~0 := (if #t~mem0 % 4294967296 % 4294967296 <= 2147483647 then #t~mem0 % 4294967296 % 4294967296 else #t~mem0 % 4294967296 % 4294967296 - 4294967296); [L25] call write~real(#t~union1, ~#ew_u~0.base, ~#ew_u~0.offset, 8); [L25] havoc #t~mem0; [L25] havoc #t~union1; [L26] call #t~mem2 := read~int(~#ew_u~0.base, ~#ew_u~0.offset, 4); [L26] ~i1~0 := (if #t~mem2 % 4294967296 % 4294967296 <= 2147483647 then #t~mem2 % 4294967296 % 4294967296 else #t~mem2 % 4294967296 % 4294967296 - 4294967296); [L26] call write~real(#t~union3, ~#ew_u~0.base, ~#ew_u~0.offset, 8); [L26] havoc #t~union3; [L26] havoc #t~mem2; [L23] call ULTIMATE.dealloc(~#ew_u~0.base, ~#ew_u~0.offset); [L23] havoc ~#ew_u~0.base, ~#ew_u~0.offset; VAL [#in~x=6.442450949E9, #NULL.base=0, #NULL.offset=0, ~huge_ceil~0=1.0E300, ~i0~0=-2147483648, ~i1~0=2147483647, ~x=6.442450949E9] [L28] ~j0~0 := ~bitwiseAnd(~i0~0 / 1048576, 2047) - 1023; VAL [#in~x=6.442450949E9, #NULL.base=0, #NULL.offset=0, ~huge_ceil~0=1.0E300, ~i0~0=-2147483648, ~i1~0=2147483647, ~x=6.442450949E9] [L29-L73] assume ~j0~0 < 20; VAL [#in~x=6.442450949E9, #NULL.base=0, #NULL.offset=0, ~huge_ceil~0=1.0E300, ~i0~0=-2147483648, ~i1~0=2147483647, ~j0~0=0, ~x=6.442450949E9] [L30-L50] assume !(~j0~0 < 0); [L41] ~i~0 := ~shiftRight(1048575, ~j0~0); VAL [#in~x=6.442450949E9, #NULL.base=0, #NULL.offset=0, ~huge_ceil~0=1.0E300, ~i0~0=-2147483648, ~i1~0=2147483647, ~j0~0=0, ~x=6.442450949E9] [L42-L43] assume 0 == ~bitwiseOr(~bitwiseAnd(~i0~0, ~i~0), ~i1~0) % 4294967296; [L43] #res := ~x; VAL [#in~x=6.442450949E9, #NULL.base=0, #NULL.offset=0, #res=6.442450949E9, ~huge_ceil~0=1.0E300, ~i0~0=-2147483648, ~i1~0=2147483647, ~j0~0=0, ~x=6.442450949E9] [L19-L81] ensures true; VAL [#in~x=6.442450949E9, #NULL.base=0, #NULL.offset=0, #res=6.442450949E9, ~huge_ceil~0=1.0E300, ~i0~0=-2147483648, ~i1~0=2147483647, ~j0~0=0, ~x=6.442450949E9] [L91] RET call #t~ret6 := ceil_double(~x~0); VAL [#NULL.base=0, #NULL.offset=0, #t~ret6=6.442450949E9, ~huge_ceil~0=1.0E300, ~x~0=6.442450949E9] [L91] ~res~0 := #t~ret6; [L91] havoc #t~ret6; VAL [#NULL.base=0, #NULL.offset=0, ~huge_ceil~0=1.0E300, ~res~0=6.442450949E9, ~x~0=6.442450949E9] [L94] CALL call #t~ret7 := isnan_double(~res~0); VAL [#in~x=6.442450949E9, #NULL.base=0, #NULL.offset=0, ~huge_ceil~0=1.0E300] [L15] ~x := #in~x; [L15] #res := (if ~someBinaryDOUBLEComparisonOperation(~x, ~x) then 1 else 0); VAL [#in~x=6.442450949E9, #NULL.base=0, #NULL.offset=0, #res=0, ~huge_ceil~0=1.0E300, ~x=6.442450949E9] [L15] ensures true; VAL [#in~x=6.442450949E9, #NULL.base=0, #NULL.offset=0, #res=0, ~huge_ceil~0=1.0E300, ~x=6.442450949E9] [L94] RET call #t~ret7 := isnan_double(~res~0); VAL [#NULL.base=0, #NULL.offset=0, #t~ret7=0, ~huge_ceil~0=1.0E300, ~res~0=6.442450949E9, ~x~0=6.442450949E9] [L94] assume -2147483648 <= #t~ret7 && #t~ret7 <= 2147483647; VAL [#NULL.base=0, #NULL.offset=0, #t~ret7=0, ~huge_ceil~0=1.0E300, ~res~0=6.442450949E9, ~x~0=6.442450949E9] [L94-L97] assume 0 == #t~ret7; [L94] havoc #t~ret7; VAL [#NULL.base=0, #NULL.offset=0, ~huge_ceil~0=1.0E300, ~res~0=6.442450949E9, ~x~0=6.442450949E9] [L95] assert false; VAL [#NULL.base=0, #NULL.offset=0, ~huge_ceil~0=1.0E300, ~res~0=6.442450949E9, ~x~0=6.442450949E9] ----- ----- class de.uni_freiburg.informatik.ultimate.boogie.preprocessor.BoogiePreprocessorBacktranslator [?] CALL call ULTIMATE.init(); VAL [#NULL.base=6442450950, #NULL.offset=6442450945, old(#NULL.base)=6442450950, old(#NULL.offset)=6442450945, old(~huge_ceil~0)=6.442450948E9, ~huge_ceil~0=6.442450948E9] [?] #NULL.base, #NULL.offset := 0, 0; [?] #valid := #valid[0 := 0]; [L17] ~huge_ceil~0 := 1.0E300; VAL [#NULL.base=0, #NULL.offset=0, old(#NULL.base)=6442450950, old(#NULL.offset)=6442450945, old(~huge_ceil~0)=6.442450948E9, ~huge_ceil~0=1.0E300] [?] ensures true; VAL [#NULL.base=0, #NULL.offset=0, old(#NULL.base)=6442450950, old(#NULL.offset)=6442450945, old(~huge_ceil~0)=6.442450948E9, ~huge_ceil~0=1.0E300] [?] RET call ULTIMATE.init(); VAL [#NULL.base=0, #NULL.offset=0, ~huge_ceil~0=1.0E300] [?] CALL call #t~ret8 := main(); VAL [#NULL.base=0, #NULL.offset=0, ~huge_ceil~0=1.0E300] [L90] ~x~0 := ~someBinaryArithmeticDOUBLEoperation(0.0, 0.0); VAL [#NULL.base=0, #NULL.offset=0, ~huge_ceil~0=1.0E300] [L91] CALL call #t~ret6 := ceil_double(~x~0); VAL [#in~x=6.442450949E9, #NULL.base=0, #NULL.offset=0, ~huge_ceil~0=1.0E300] [L19-L81] ~x := #in~x; [L20] havoc ~i0~0; [L20] havoc ~i1~0; [L20] havoc ~j0~0; [L21] havoc ~i~0; [L21] havoc ~j~0; VAL [#in~x=6.442450949E9, #NULL.base=0, #NULL.offset=0, ~huge_ceil~0=1.0E300, ~x=6.442450949E9] [L23] call ~#ew_u~0.base, ~#ew_u~0.offset := #Ultimate.alloc(8); [L24] call write~real(~x, ~#ew_u~0.base, ~#ew_u~0.offset, 8); [L25] call #t~mem0 := read~int(~#ew_u~0.base, 4 + ~#ew_u~0.offset, 4); [L25] ~i0~0 := (if #t~mem0 % 4294967296 % 4294967296 <= 2147483647 then #t~mem0 % 4294967296 % 4294967296 else #t~mem0 % 4294967296 % 4294967296 - 4294967296); [L25] call write~real(#t~union1, ~#ew_u~0.base, ~#ew_u~0.offset, 8); [L25] havoc #t~mem0; [L25] havoc #t~union1; [L26] call #t~mem2 := read~int(~#ew_u~0.base, ~#ew_u~0.offset, 4); [L26] ~i1~0 := (if #t~mem2 % 4294967296 % 4294967296 <= 2147483647 then #t~mem2 % 4294967296 % 4294967296 else #t~mem2 % 4294967296 % 4294967296 - 4294967296); [L26] call write~real(#t~union3, ~#ew_u~0.base, ~#ew_u~0.offset, 8); [L26] havoc #t~union3; [L26] havoc #t~mem2; [L23] call ULTIMATE.dealloc(~#ew_u~0.base, ~#ew_u~0.offset); [L23] havoc ~#ew_u~0.base, ~#ew_u~0.offset; VAL [#in~x=6.442450949E9, #NULL.base=0, #NULL.offset=0, ~huge_ceil~0=1.0E300, ~i0~0=-2147483648, ~i1~0=2147483647, ~x=6.442450949E9] [L28] ~j0~0 := ~bitwiseAnd(~i0~0 / 1048576, 2047) - 1023; VAL [#in~x=6.442450949E9, #NULL.base=0, #NULL.offset=0, ~huge_ceil~0=1.0E300, ~i0~0=-2147483648, ~i1~0=2147483647, ~x=6.442450949E9] [L29-L73] assume ~j0~0 < 20; VAL [#in~x=6.442450949E9, #NULL.base=0, #NULL.offset=0, ~huge_ceil~0=1.0E300, ~i0~0=-2147483648, ~i1~0=2147483647, ~j0~0=0, ~x=6.442450949E9] [L30-L50] assume !(~j0~0 < 0); [L41] ~i~0 := ~shiftRight(1048575, ~j0~0); VAL [#in~x=6.442450949E9, #NULL.base=0, #NULL.offset=0, ~huge_ceil~0=1.0E300, ~i0~0=-2147483648, ~i1~0=2147483647, ~j0~0=0, ~x=6.442450949E9] [L42-L43] assume 0 == ~bitwiseOr(~bitwiseAnd(~i0~0, ~i~0), ~i1~0) % 4294967296; [L43] #res := ~x; VAL [#in~x=6.442450949E9, #NULL.base=0, #NULL.offset=0, #res=6.442450949E9, ~huge_ceil~0=1.0E300, ~i0~0=-2147483648, ~i1~0=2147483647, ~j0~0=0, ~x=6.442450949E9] [L19-L81] ensures true; VAL [#in~x=6.442450949E9, #NULL.base=0, #NULL.offset=0, #res=6.442450949E9, ~huge_ceil~0=1.0E300, ~i0~0=-2147483648, ~i1~0=2147483647, ~j0~0=0, ~x=6.442450949E9] [L91] RET call #t~ret6 := ceil_double(~x~0); VAL [#NULL.base=0, #NULL.offset=0, #t~ret6=6.442450949E9, ~huge_ceil~0=1.0E300, ~x~0=6.442450949E9] [L91] ~res~0 := #t~ret6; [L91] havoc #t~ret6; VAL [#NULL.base=0, #NULL.offset=0, ~huge_ceil~0=1.0E300, ~res~0=6.442450949E9, ~x~0=6.442450949E9] [L94] CALL call #t~ret7 := isnan_double(~res~0); VAL [#in~x=6.442450949E9, #NULL.base=0, #NULL.offset=0, ~huge_ceil~0=1.0E300] [L15] ~x := #in~x; [L15] #res := (if ~someBinaryDOUBLEComparisonOperation(~x, ~x) then 1 else 0); VAL [#in~x=6.442450949E9, #NULL.base=0, #NULL.offset=0, #res=0, ~huge_ceil~0=1.0E300, ~x=6.442450949E9] [L15] ensures true; VAL [#in~x=6.442450949E9, #NULL.base=0, #NULL.offset=0, #res=0, ~huge_ceil~0=1.0E300, ~x=6.442450949E9] [L94] RET call #t~ret7 := isnan_double(~res~0); VAL [#NULL.base=0, #NULL.offset=0, #t~ret7=0, ~huge_ceil~0=1.0E300, ~res~0=6.442450949E9, ~x~0=6.442450949E9] [L94] assume -2147483648 <= #t~ret7 && #t~ret7 <= 2147483647; VAL [#NULL.base=0, #NULL.offset=0, #t~ret7=0, ~huge_ceil~0=1.0E300, ~res~0=6.442450949E9, ~x~0=6.442450949E9] [L94-L97] assume 0 == #t~ret7; [L94] havoc #t~ret7; VAL [#NULL.base=0, #NULL.offset=0, ~huge_ceil~0=1.0E300, ~res~0=6.442450949E9, ~x~0=6.442450949E9] [L95] assert false; VAL [#NULL.base=0, #NULL.offset=0, ~huge_ceil~0=1.0E300, ~res~0=6.442450949E9, ~x~0=6.442450949E9] [?] CALL call ULTIMATE.init(); VAL [#NULL!base=6442450950, #NULL!offset=6442450945, old(#NULL!base)=6442450950, old(#NULL!offset)=6442450945, old(~huge_ceil~0)=6.442450948E9, ~huge_ceil~0=6.442450948E9] [?] #NULL := { base: 0, offset: 0 }; [?] #valid[0] := 0; [L17] ~huge_ceil~0 := 1.0E300; VAL [#NULL!base=0, #NULL!offset=0, old(#NULL!base)=6442450950, old(#NULL!offset)=6442450945, old(~huge_ceil~0)=6.442450948E9, ~huge_ceil~0=1.0E300] [?] RET call ULTIMATE.init(); VAL [#NULL!base=0, #NULL!offset=0, ~huge_ceil~0=1.0E300] [?] CALL call #t~ret8 := main(); VAL [#NULL!base=0, #NULL!offset=0, ~huge_ceil~0=1.0E300] [L90] ~x~0 := ~someBinaryArithmeticDOUBLEoperation(0.0, 0.0); VAL [#NULL!base=0, #NULL!offset=0, ~huge_ceil~0=1.0E300] [L91] CALL call #t~ret6 := ceil_double(~x~0); VAL [#in~x=6.442450949E9, #NULL!base=0, #NULL!offset=0, ~huge_ceil~0=1.0E300] [L19-L81] ~x := #in~x; [L20] havoc ~i0~0; [L20] havoc ~i1~0; [L20] havoc ~j0~0; [L21] havoc ~i~0; [L21] havoc ~j~0; VAL [#in~x=6.442450949E9, #NULL!base=0, #NULL!offset=0, ~huge_ceil~0=1.0E300, ~x=6.442450949E9] [L23] FCALL call ~#ew_u~0 := #Ultimate.alloc(8); [L24] FCALL call write~real(~x, { base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 8); [L25] FCALL call #t~mem0 := read~int({ base: ~#ew_u~0!base, offset: 4 + ~#ew_u~0!offset }, 4); [L25] ~i0~0 := (if #t~mem0 % 4294967296 % 4294967296 <= 2147483647 then #t~mem0 % 4294967296 % 4294967296 else #t~mem0 % 4294967296 % 4294967296 - 4294967296); [L25] FCALL call write~real(#t~union1, { base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 8); [L25] havoc #t~mem0; [L25] havoc #t~union1; [L26] FCALL call #t~mem2 := read~int({ base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 4); [L26] ~i1~0 := (if #t~mem2 % 4294967296 % 4294967296 <= 2147483647 then #t~mem2 % 4294967296 % 4294967296 else #t~mem2 % 4294967296 % 4294967296 - 4294967296); [L26] FCALL call write~real(#t~union3, { base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 8); [L26] havoc #t~union3; [L26] havoc #t~mem2; [L23] FCALL call ULTIMATE.dealloc(~#ew_u~0); [L23] havoc ~#ew_u~0; VAL [#in~x=6.442450949E9, #NULL!base=0, #NULL!offset=0, ~huge_ceil~0=1.0E300, ~i0~0=-2147483648, ~i1~0=2147483647, ~x=6.442450949E9] [L28] ~j0~0 := ~bitwiseAnd(~i0~0 / 1048576, 2047) - 1023; VAL [#in~x=6.442450949E9, #NULL!base=0, #NULL!offset=0, ~huge_ceil~0=1.0E300, ~i0~0=-2147483648, ~i1~0=2147483647, ~x=6.442450949E9] [L29] COND TRUE ~j0~0 < 20 VAL [#in~x=6.442450949E9, #NULL!base=0, #NULL!offset=0, ~huge_ceil~0=1.0E300, ~i0~0=-2147483648, ~i1~0=2147483647, ~j0~0=0, ~x=6.442450949E9] [L30] COND FALSE !(~j0~0 < 0) [L41] ~i~0 := ~shiftRight(1048575, ~j0~0); VAL [#in~x=6.442450949E9, #NULL!base=0, #NULL!offset=0, ~huge_ceil~0=1.0E300, ~i0~0=-2147483648, ~i1~0=2147483647, ~j0~0=0, ~x=6.442450949E9] [L42] COND TRUE 0 == ~bitwiseOr(~bitwiseAnd(~i0~0, ~i~0), ~i1~0) % 4294967296 [L43] #res := ~x; VAL [#in~x=6.442450949E9, #NULL!base=0, #NULL!offset=0, #res=6.442450949E9, ~huge_ceil~0=1.0E300, ~i0~0=-2147483648, ~i1~0=2147483647, ~j0~0=0, ~x=6.442450949E9] [L91] RET call #t~ret6 := ceil_double(~x~0); VAL [#NULL!base=0, #NULL!offset=0, #t~ret6=6.442450949E9, ~huge_ceil~0=1.0E300, ~x~0=6.442450949E9] [L91] ~res~0 := #t~ret6; [L91] havoc #t~ret6; VAL [#NULL!base=0, #NULL!offset=0, ~huge_ceil~0=1.0E300, ~res~0=6.442450949E9, ~x~0=6.442450949E9] [L94] CALL call #t~ret7 := isnan_double(~res~0); VAL [#in~x=6.442450949E9, #NULL!base=0, #NULL!offset=0, ~huge_ceil~0=1.0E300] [L15] ~x := #in~x; [L15] #res := (if ~someBinaryDOUBLEComparisonOperation(~x, ~x) then 1 else 0); VAL [#in~x=6.442450949E9, #NULL!base=0, #NULL!offset=0, #res=0, ~huge_ceil~0=1.0E300, ~x=6.442450949E9] [L94] RET call #t~ret7 := isnan_double(~res~0); VAL [#NULL!base=0, #NULL!offset=0, #t~ret7=0, ~huge_ceil~0=1.0E300, ~res~0=6.442450949E9, ~x~0=6.442450949E9] [L94] assume -2147483648 <= #t~ret7 && #t~ret7 <= 2147483647; VAL [#NULL!base=0, #NULL!offset=0, #t~ret7=0, ~huge_ceil~0=1.0E300, ~res~0=6.442450949E9, ~x~0=6.442450949E9] [L94] COND TRUE 0 == #t~ret7 [L94] havoc #t~ret7; VAL [#NULL!base=0, #NULL!offset=0, ~huge_ceil~0=1.0E300, ~res~0=6.442450949E9, ~x~0=6.442450949E9] [L95] assert false; VAL [#NULL!base=0, #NULL!offset=0, ~huge_ceil~0=1.0E300, ~res~0=6.442450949E9, ~x~0=6.442450949E9] ----- ----- class de.uni_freiburg.informatik.ultimate.boogie.procedureinliner.backtranslation.InlinerBacktranslator [?] CALL call ULTIMATE.init(); VAL [#NULL!base=6442450950, #NULL!offset=6442450945, old(#NULL!base)=6442450950, old(#NULL!offset)=6442450945, old(~huge_ceil~0)=6.442450948E9, ~huge_ceil~0=6.442450948E9] [?] #NULL := { base: 0, offset: 0 }; [?] #valid[0] := 0; [L17] ~huge_ceil~0 := 1.0E300; VAL [#NULL!base=0, #NULL!offset=0, old(#NULL!base)=6442450950, old(#NULL!offset)=6442450945, old(~huge_ceil~0)=6.442450948E9, ~huge_ceil~0=1.0E300] [?] RET call ULTIMATE.init(); VAL [#NULL!base=0, #NULL!offset=0, ~huge_ceil~0=1.0E300] [?] CALL call #t~ret8 := main(); VAL [#NULL!base=0, #NULL!offset=0, ~huge_ceil~0=1.0E300] [L90] ~x~0 := ~someBinaryArithmeticDOUBLEoperation(0.0, 0.0); VAL [#NULL!base=0, #NULL!offset=0, ~huge_ceil~0=1.0E300] [L91] CALL call #t~ret6 := ceil_double(~x~0); VAL [#in~x=6.442450949E9, #NULL!base=0, #NULL!offset=0, ~huge_ceil~0=1.0E300] [L19-L81] ~x := #in~x; [L20] havoc ~i0~0; [L20] havoc ~i1~0; [L20] havoc ~j0~0; [L21] havoc ~i~0; [L21] havoc ~j~0; VAL [#in~x=6.442450949E9, #NULL!base=0, #NULL!offset=0, ~huge_ceil~0=1.0E300, ~x=6.442450949E9] [L23] FCALL call ~#ew_u~0 := #Ultimate.alloc(8); [L24] FCALL call write~real(~x, { base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 8); [L25] FCALL call #t~mem0 := read~int({ base: ~#ew_u~0!base, offset: 4 + ~#ew_u~0!offset }, 4); [L25] ~i0~0 := (if #t~mem0 % 4294967296 % 4294967296 <= 2147483647 then #t~mem0 % 4294967296 % 4294967296 else #t~mem0 % 4294967296 % 4294967296 - 4294967296); [L25] FCALL call write~real(#t~union1, { base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 8); [L25] havoc #t~mem0; [L25] havoc #t~union1; [L26] FCALL call #t~mem2 := read~int({ base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 4); [L26] ~i1~0 := (if #t~mem2 % 4294967296 % 4294967296 <= 2147483647 then #t~mem2 % 4294967296 % 4294967296 else #t~mem2 % 4294967296 % 4294967296 - 4294967296); [L26] FCALL call write~real(#t~union3, { base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 8); [L26] havoc #t~union3; [L26] havoc #t~mem2; [L23] FCALL call ULTIMATE.dealloc(~#ew_u~0); [L23] havoc ~#ew_u~0; VAL [#in~x=6.442450949E9, #NULL!base=0, #NULL!offset=0, ~huge_ceil~0=1.0E300, ~i0~0=-2147483648, ~i1~0=2147483647, ~x=6.442450949E9] [L28] ~j0~0 := ~bitwiseAnd(~i0~0 / 1048576, 2047) - 1023; VAL [#in~x=6.442450949E9, #NULL!base=0, #NULL!offset=0, ~huge_ceil~0=1.0E300, ~i0~0=-2147483648, ~i1~0=2147483647, ~x=6.442450949E9] [L29] COND TRUE ~j0~0 < 20 VAL [#in~x=6.442450949E9, #NULL!base=0, #NULL!offset=0, ~huge_ceil~0=1.0E300, ~i0~0=-2147483648, ~i1~0=2147483647, ~j0~0=0, ~x=6.442450949E9] [L30] COND FALSE !(~j0~0 < 0) [L41] ~i~0 := ~shiftRight(1048575, ~j0~0); VAL [#in~x=6.442450949E9, #NULL!base=0, #NULL!offset=0, ~huge_ceil~0=1.0E300, ~i0~0=-2147483648, ~i1~0=2147483647, ~j0~0=0, ~x=6.442450949E9] [L42] COND TRUE 0 == ~bitwiseOr(~bitwiseAnd(~i0~0, ~i~0), ~i1~0) % 4294967296 [L43] #res := ~x; VAL [#in~x=6.442450949E9, #NULL!base=0, #NULL!offset=0, #res=6.442450949E9, ~huge_ceil~0=1.0E300, ~i0~0=-2147483648, ~i1~0=2147483647, ~j0~0=0, ~x=6.442450949E9] [L91] RET call #t~ret6 := ceil_double(~x~0); VAL [#NULL!base=0, #NULL!offset=0, #t~ret6=6.442450949E9, ~huge_ceil~0=1.0E300, ~x~0=6.442450949E9] [L91] ~res~0 := #t~ret6; [L91] havoc #t~ret6; VAL [#NULL!base=0, #NULL!offset=0, ~huge_ceil~0=1.0E300, ~res~0=6.442450949E9, ~x~0=6.442450949E9] [L94] CALL call #t~ret7 := isnan_double(~res~0); VAL [#in~x=6.442450949E9, #NULL!base=0, #NULL!offset=0, ~huge_ceil~0=1.0E300] [L15] ~x := #in~x; [L15] #res := (if ~someBinaryDOUBLEComparisonOperation(~x, ~x) then 1 else 0); VAL [#in~x=6.442450949E9, #NULL!base=0, #NULL!offset=0, #res=0, ~huge_ceil~0=1.0E300, ~x=6.442450949E9] [L94] RET call #t~ret7 := isnan_double(~res~0); VAL [#NULL!base=0, #NULL!offset=0, #t~ret7=0, ~huge_ceil~0=1.0E300, ~res~0=6.442450949E9, ~x~0=6.442450949E9] [L94] assume -2147483648 <= #t~ret7 && #t~ret7 <= 2147483647; VAL [#NULL!base=0, #NULL!offset=0, #t~ret7=0, ~huge_ceil~0=1.0E300, ~res~0=6.442450949E9, ~x~0=6.442450949E9] [L94] COND TRUE 0 == #t~ret7 [L94] havoc #t~ret7; VAL [#NULL!base=0, #NULL!offset=0, ~huge_ceil~0=1.0E300, ~res~0=6.442450949E9, ~x~0=6.442450949E9] [L95] assert false; VAL [#NULL!base=0, #NULL!offset=0, ~huge_ceil~0=1.0E300, ~res~0=6.442450949E9, ~x~0=6.442450949E9] [?] CALL call ULTIMATE.init(); VAL [#NULL!base=6442450950, #NULL!offset=6442450945, old(#NULL!base)=6442450950, old(#NULL!offset)=6442450945, old(~huge_ceil~0)=6.442450948E9, ~huge_ceil~0=6.442450948E9] [?] #NULL := { base: 0, offset: 0 }; [?] #valid[0] := 0; [L17] ~huge_ceil~0 := 1.0E300; VAL [#NULL!base=0, #NULL!offset=0, old(#NULL!base)=6442450950, old(#NULL!offset)=6442450945, old(~huge_ceil~0)=6.442450948E9, ~huge_ceil~0=1.0E300] [?] RET call ULTIMATE.init(); VAL [#NULL!base=0, #NULL!offset=0, ~huge_ceil~0=1.0E300] [?] CALL call #t~ret8 := main(); VAL [#NULL!base=0, #NULL!offset=0, ~huge_ceil~0=1.0E300] [L90] ~x~0 := ~someBinaryArithmeticDOUBLEoperation(0.0, 0.0); VAL [#NULL!base=0, #NULL!offset=0, ~huge_ceil~0=1.0E300] [L91] CALL call #t~ret6 := ceil_double(~x~0); VAL [#in~x=6.442450949E9, #NULL!base=0, #NULL!offset=0, ~huge_ceil~0=1.0E300] [L19-L81] ~x := #in~x; [L20] havoc ~i0~0; [L20] havoc ~i1~0; [L20] havoc ~j0~0; [L21] havoc ~i~0; [L21] havoc ~j~0; VAL [#in~x=6.442450949E9, #NULL!base=0, #NULL!offset=0, ~huge_ceil~0=1.0E300, ~x=6.442450949E9] [L23] FCALL call ~#ew_u~0 := #Ultimate.alloc(8); [L24] FCALL call write~real(~x, { base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 8); [L25] FCALL call #t~mem0 := read~int({ base: ~#ew_u~0!base, offset: 4 + ~#ew_u~0!offset }, 4); [L25] ~i0~0 := (if #t~mem0 % 4294967296 % 4294967296 <= 2147483647 then #t~mem0 % 4294967296 % 4294967296 else #t~mem0 % 4294967296 % 4294967296 - 4294967296); [L25] FCALL call write~real(#t~union1, { base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 8); [L25] havoc #t~mem0; [L25] havoc #t~union1; [L26] FCALL call #t~mem2 := read~int({ base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 4); [L26] ~i1~0 := (if #t~mem2 % 4294967296 % 4294967296 <= 2147483647 then #t~mem2 % 4294967296 % 4294967296 else #t~mem2 % 4294967296 % 4294967296 - 4294967296); [L26] FCALL call write~real(#t~union3, { base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 8); [L26] havoc #t~union3; [L26] havoc #t~mem2; [L23] FCALL call ULTIMATE.dealloc(~#ew_u~0); [L23] havoc ~#ew_u~0; VAL [#in~x=6.442450949E9, #NULL!base=0, #NULL!offset=0, ~huge_ceil~0=1.0E300, ~i0~0=-2147483648, ~i1~0=2147483647, ~x=6.442450949E9] [L28] ~j0~0 := ~bitwiseAnd(~i0~0 / 1048576, 2047) - 1023; VAL [#in~x=6.442450949E9, #NULL!base=0, #NULL!offset=0, ~huge_ceil~0=1.0E300, ~i0~0=-2147483648, ~i1~0=2147483647, ~x=6.442450949E9] [L29] COND TRUE ~j0~0 < 20 VAL [#in~x=6.442450949E9, #NULL!base=0, #NULL!offset=0, ~huge_ceil~0=1.0E300, ~i0~0=-2147483648, ~i1~0=2147483647, ~j0~0=0, ~x=6.442450949E9] [L30] COND FALSE !(~j0~0 < 0) [L41] ~i~0 := ~shiftRight(1048575, ~j0~0); VAL [#in~x=6.442450949E9, #NULL!base=0, #NULL!offset=0, ~huge_ceil~0=1.0E300, ~i0~0=-2147483648, ~i1~0=2147483647, ~j0~0=0, ~x=6.442450949E9] [L42] COND TRUE 0 == ~bitwiseOr(~bitwiseAnd(~i0~0, ~i~0), ~i1~0) % 4294967296 [L43] #res := ~x; VAL [#in~x=6.442450949E9, #NULL!base=0, #NULL!offset=0, #res=6.442450949E9, ~huge_ceil~0=1.0E300, ~i0~0=-2147483648, ~i1~0=2147483647, ~j0~0=0, ~x=6.442450949E9] [L91] RET call #t~ret6 := ceil_double(~x~0); VAL [#NULL!base=0, #NULL!offset=0, #t~ret6=6.442450949E9, ~huge_ceil~0=1.0E300, ~x~0=6.442450949E9] [L91] ~res~0 := #t~ret6; [L91] havoc #t~ret6; VAL [#NULL!base=0, #NULL!offset=0, ~huge_ceil~0=1.0E300, ~res~0=6.442450949E9, ~x~0=6.442450949E9] [L94] CALL call #t~ret7 := isnan_double(~res~0); VAL [#in~x=6.442450949E9, #NULL!base=0, #NULL!offset=0, ~huge_ceil~0=1.0E300] [L15] ~x := #in~x; [L15] #res := (if ~someBinaryDOUBLEComparisonOperation(~x, ~x) then 1 else 0); VAL [#in~x=6.442450949E9, #NULL!base=0, #NULL!offset=0, #res=0, ~huge_ceil~0=1.0E300, ~x=6.442450949E9] [L94] RET call #t~ret7 := isnan_double(~res~0); VAL [#NULL!base=0, #NULL!offset=0, #t~ret7=0, ~huge_ceil~0=1.0E300, ~res~0=6.442450949E9, ~x~0=6.442450949E9] [L94] assume -2147483648 <= #t~ret7 && #t~ret7 <= 2147483647; VAL [#NULL!base=0, #NULL!offset=0, #t~ret7=0, ~huge_ceil~0=1.0E300, ~res~0=6.442450949E9, ~x~0=6.442450949E9] [L94] COND TRUE 0 == #t~ret7 [L94] havoc #t~ret7; VAL [#NULL!base=0, #NULL!offset=0, ~huge_ceil~0=1.0E300, ~res~0=6.442450949E9, ~x~0=6.442450949E9] [L95] assert false; VAL [#NULL!base=0, #NULL!offset=0, ~huge_ceil~0=1.0E300, ~res~0=6.442450949E9, ~x~0=6.442450949E9] ----- ----- class de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.CACSL2BoogieBacktranslator [?] CALL call ULTIMATE.init(); VAL [#NULL!base=6442450950, #NULL!offset=6442450945, old(#NULL!base)=6442450950, old(#NULL!offset)=6442450945, old(~huge_ceil~0)=6.442450948E9, ~huge_ceil~0=6.442450948E9] [?] #NULL := { base: 0, offset: 0 }; [?] #valid[0] := 0; [L17] ~huge_ceil~0 := 1.0E300; VAL [#NULL!base=0, #NULL!offset=0, old(#NULL!base)=6442450950, old(#NULL!offset)=6442450945, old(~huge_ceil~0)=6.442450948E9, ~huge_ceil~0=1.0E300] [?] RET call ULTIMATE.init(); VAL [#NULL!base=0, #NULL!offset=0, ~huge_ceil~0=1.0E300] [?] CALL call #t~ret8 := main(); VAL [#NULL!base=0, #NULL!offset=0, ~huge_ceil~0=1.0E300] [L90] ~x~0 := ~someBinaryArithmeticDOUBLEoperation(0.0, 0.0); VAL [#NULL!base=0, #NULL!offset=0, ~huge_ceil~0=1.0E300] [L91] CALL call #t~ret6 := ceil_double(~x~0); VAL [#in~x=6.442450949E9, #NULL!base=0, #NULL!offset=0, ~huge_ceil~0=1.0E300] [L19-L81] ~x := #in~x; [L20] havoc ~i0~0; [L20] havoc ~i1~0; [L20] havoc ~j0~0; [L21] havoc ~i~0; [L21] havoc ~j~0; VAL [#in~x=6.442450949E9, #NULL!base=0, #NULL!offset=0, ~huge_ceil~0=1.0E300, ~x=6.442450949E9] [L23] FCALL call ~#ew_u~0 := #Ultimate.alloc(8); [L24] FCALL call write~real(~x, { base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 8); [L25] FCALL call #t~mem0 := read~int({ base: ~#ew_u~0!base, offset: 4 + ~#ew_u~0!offset }, 4); [L25] ~i0~0 := (if #t~mem0 % 4294967296 % 4294967296 <= 2147483647 then #t~mem0 % 4294967296 % 4294967296 else #t~mem0 % 4294967296 % 4294967296 - 4294967296); [L25] FCALL call write~real(#t~union1, { base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 8); [L25] havoc #t~mem0; [L25] havoc #t~union1; [L26] FCALL call #t~mem2 := read~int({ base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 4); [L26] ~i1~0 := (if #t~mem2 % 4294967296 % 4294967296 <= 2147483647 then #t~mem2 % 4294967296 % 4294967296 else #t~mem2 % 4294967296 % 4294967296 - 4294967296); [L26] FCALL call write~real(#t~union3, { base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 8); [L26] havoc #t~union3; [L26] havoc #t~mem2; [L23] FCALL call ULTIMATE.dealloc(~#ew_u~0); [L23] havoc ~#ew_u~0; VAL [#in~x=6.442450949E9, #NULL!base=0, #NULL!offset=0, ~huge_ceil~0=1.0E300, ~i0~0=-2147483648, ~i1~0=2147483647, ~x=6.442450949E9] [L28] ~j0~0 := ~bitwiseAnd(~i0~0 / 1048576, 2047) - 1023; VAL [#in~x=6.442450949E9, #NULL!base=0, #NULL!offset=0, ~huge_ceil~0=1.0E300, ~i0~0=-2147483648, ~i1~0=2147483647, ~x=6.442450949E9] [L29] COND TRUE ~j0~0 < 20 VAL [#in~x=6.442450949E9, #NULL!base=0, #NULL!offset=0, ~huge_ceil~0=1.0E300, ~i0~0=-2147483648, ~i1~0=2147483647, ~j0~0=0, ~x=6.442450949E9] [L30] COND FALSE !(~j0~0 < 0) [L41] ~i~0 := ~shiftRight(1048575, ~j0~0); VAL [#in~x=6.442450949E9, #NULL!base=0, #NULL!offset=0, ~huge_ceil~0=1.0E300, ~i0~0=-2147483648, ~i1~0=2147483647, ~j0~0=0, ~x=6.442450949E9] [L42] COND TRUE 0 == ~bitwiseOr(~bitwiseAnd(~i0~0, ~i~0), ~i1~0) % 4294967296 [L43] #res := ~x; VAL [#in~x=6.442450949E9, #NULL!base=0, #NULL!offset=0, #res=6.442450949E9, ~huge_ceil~0=1.0E300, ~i0~0=-2147483648, ~i1~0=2147483647, ~j0~0=0, ~x=6.442450949E9] [L91] RET call #t~ret6 := ceil_double(~x~0); VAL [#NULL!base=0, #NULL!offset=0, #t~ret6=6.442450949E9, ~huge_ceil~0=1.0E300, ~x~0=6.442450949E9] [L91] ~res~0 := #t~ret6; [L91] havoc #t~ret6; VAL [#NULL!base=0, #NULL!offset=0, ~huge_ceil~0=1.0E300, ~res~0=6.442450949E9, ~x~0=6.442450949E9] [L94] CALL call #t~ret7 := isnan_double(~res~0); VAL [#in~x=6.442450949E9, #NULL!base=0, #NULL!offset=0, ~huge_ceil~0=1.0E300] [L15] ~x := #in~x; [L15] #res := (if ~someBinaryDOUBLEComparisonOperation(~x, ~x) then 1 else 0); VAL [#in~x=6.442450949E9, #NULL!base=0, #NULL!offset=0, #res=0, ~huge_ceil~0=1.0E300, ~x=6.442450949E9] [L94] RET call #t~ret7 := isnan_double(~res~0); VAL [#NULL!base=0, #NULL!offset=0, #t~ret7=0, ~huge_ceil~0=1.0E300, ~res~0=6.442450949E9, ~x~0=6.442450949E9] [L94] assume -2147483648 <= #t~ret7 && #t~ret7 <= 2147483647; VAL [#NULL!base=0, #NULL!offset=0, #t~ret7=0, ~huge_ceil~0=1.0E300, ~res~0=6.442450949E9, ~x~0=6.442450949E9] [L94] COND TRUE 0 == #t~ret7 [L94] havoc #t~ret7; VAL [#NULL!base=0, #NULL!offset=0, ~huge_ceil~0=1.0E300, ~res~0=6.442450949E9, ~x~0=6.442450949E9] [L95] assert false; VAL [#NULL!base=0, #NULL!offset=0, ~huge_ceil~0=1.0E300, ~res~0=6.442450949E9, ~x~0=6.442450949E9] [L17] static const double huge_ceil = 1.0e300; VAL [\old(huge_ceil)=6442450948, huge_ceil=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000] [L90] double x = 0.0 / 0.0; VAL [huge_ceil=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000] [L91] CALL, EXPR ceil_double(x) VAL [\old(x)=6442450949, huge_ceil=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000] [L20] __int32_t i0, i1, j0; [L21] __uint32_t i, j; VAL [\old(x)=6442450949, huge_ceil=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, x=6442450949] [L23] ieee_double_shape_type ew_u; [L24] ew_u.value = (x) [L25] EXPR ew_u.parts.msw [L25] (i0) = ew_u.parts.msw [L26] EXPR ew_u.parts.lsw [L26] (i1) = ew_u.parts.lsw [L28] j0 = ((i0 >> 20) & 0x7ff) - 0x3ff VAL [\old(x)=6442450949, huge_ceil=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, i0=-2147483648, i1=2147483647, x=6442450949] [L29] COND TRUE j0 < 20 VAL [\old(x)=6442450949, huge_ceil=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, i0=-2147483648, i1=2147483647, j0=0, x=6442450949] [L30] COND FALSE !(j0 < 0) [L41] i = (0x000fffff) >> j0 VAL [\old(x)=6442450949, huge_ceil=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, i0=-2147483648, i1=2147483647, j0=0, x=6442450949] [L42] COND TRUE ((i0 & i) | i1) == 0 [L43] return x; VAL [\old(x)=6442450949, \result=6442450949, huge_ceil=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, i0=-2147483648, i1=2147483647, j0=0, x=6442450949] [L91] RET, EXPR ceil_double(x) VAL [ceil_double(x)=6442450949, huge_ceil=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, x=6442450949] [L91] double res = ceil_double(x); [L94] CALL, EXPR isnan_double(res) VAL [\old(x)=6442450949, huge_ceil=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000] [L15] return x != x; VAL [\old(x)=6442450949, \result=0, huge_ceil=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, x=6442450949] [L94] RET, EXPR isnan_double(res) VAL [huge_ceil=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, isnan_double(res)=0, res=6442450949, x=6442450949] [L94] COND TRUE !isnan_double(res) [L95] __VERIFIER_error() VAL [huge_ceil=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, res=6442450949, x=6442450949] ----- [2018-11-23 06:19:07,073 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 23.11 06:19:07 BoogieIcfgContainer [2018-11-23 06:19:07,073 INFO L132 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2018-11-23 06:19:07,074 INFO L113 PluginConnector]: ------------------------Witness Printer---------------------------- [2018-11-23 06:19:07,074 INFO L271 PluginConnector]: Initializing Witness Printer... [2018-11-23 06:19:07,074 INFO L276 PluginConnector]: Witness Printer initialized [2018-11-23 06:19:07,074 INFO L185 PluginConnector]: Executing the observer RCFGCatcher from plugin Witness Printer for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 06:19:06" (3/4) ... [2018-11-23 06:19:07,077 INFO L147 WitnessPrinter]: No result that supports witness generation found [2018-11-23 06:19:07,077 INFO L132 PluginConnector]: ------------------------ END Witness Printer---------------------------- [2018-11-23 06:19:07,077 INFO L168 Benchmark]: Toolchain (without parser) took 803.09 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 172.0 MB). Free memory was 959.2 MB in the beginning and 1.1 GB in the end (delta: -146.6 MB). Peak memory consumption was 25.3 MB. Max. memory is 11.5 GB. [2018-11-23 06:19:07,078 INFO L168 Benchmark]: CDTParser took 0.11 ms. Allocated memory is still 1.0 GB. Free memory is still 985.6 MB. There was no memory consumed. Max. memory is 11.5 GB. [2018-11-23 06:19:07,079 INFO L168 Benchmark]: CACSL2BoogieTranslator took 175.21 ms. Allocated memory is still 1.0 GB. Free memory was 959.2 MB in the beginning and 945.8 MB in the end (delta: 13.4 MB). Peak memory consumption was 13.4 MB. Max. memory is 11.5 GB. [2018-11-23 06:19:07,079 INFO L168 Benchmark]: Boogie Procedure Inliner took 52.61 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 172.0 MB). Free memory was 945.8 MB in the beginning and 1.2 GB in the end (delta: -224.6 MB). Peak memory consumption was 14.4 MB. Max. memory is 11.5 GB. [2018-11-23 06:19:07,080 INFO L168 Benchmark]: Boogie Preprocessor took 19.85 ms. Allocated memory is still 1.2 GB. Free memory was 1.2 GB in the beginning and 1.2 GB in the end (delta: 3.3 MB). Peak memory consumption was 3.3 MB. Max. memory is 11.5 GB. [2018-11-23 06:19:07,080 INFO L168 Benchmark]: RCFGBuilder took 217.00 ms. Allocated memory is still 1.2 GB. Free memory was 1.2 GB in the beginning and 1.1 GB in the end (delta: 24.0 MB). Peak memory consumption was 24.0 MB. Max. memory is 11.5 GB. [2018-11-23 06:19:07,081 INFO L168 Benchmark]: TraceAbstraction took 332.16 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: 34.0 MB). Peak memory consumption was 34.0 MB. Max. memory is 11.5 GB. [2018-11-23 06:19:07,081 INFO L168 Benchmark]: Witness Printer took 3.23 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: 3.3 MB). Peak memory consumption was 3.3 MB. Max. memory is 11.5 GB. [2018-11-23 06:19:07,084 INFO L336 ainManager$Toolchain]: ####################### End [Toolchain 1] ####################### --- Results --- * Results from de.uni_freiburg.informatik.ultimate.core: - StatisticsResult: Toolchain Benchmarks Benchmark results are: * CDTParser took 0.11 ms. Allocated memory is still 1.0 GB. Free memory is still 985.6 MB. There was no memory consumed. Max. memory is 11.5 GB. * CACSL2BoogieTranslator took 175.21 ms. Allocated memory is still 1.0 GB. Free memory was 959.2 MB in the beginning and 945.8 MB in the end (delta: 13.4 MB). Peak memory consumption was 13.4 MB. Max. memory is 11.5 GB. * Boogie Procedure Inliner took 52.61 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 172.0 MB). Free memory was 945.8 MB in the beginning and 1.2 GB in the end (delta: -224.6 MB). Peak memory consumption was 14.4 MB. Max. memory is 11.5 GB. * Boogie Preprocessor took 19.85 ms. Allocated memory is still 1.2 GB. Free memory was 1.2 GB in the beginning and 1.2 GB in the end (delta: 3.3 MB). Peak memory consumption was 3.3 MB. Max. memory is 11.5 GB. * RCFGBuilder took 217.00 ms. Allocated memory is still 1.2 GB. Free memory was 1.2 GB in the beginning and 1.1 GB in the end (delta: 24.0 MB). Peak memory consumption was 24.0 MB. Max. memory is 11.5 GB. * TraceAbstraction took 332.16 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: 34.0 MB). Peak memory consumption was 34.0 MB. Max. memory is 11.5 GB. * Witness Printer took 3.23 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: 3.3 MB). Peak memory consumption was 3.3 MB. Max. memory is 11.5 GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - UnprovableResult [Line: 95]: Unable to prove that call of __VERIFIER_error() unreachable Unable to prove that call of __VERIFIER_error() unreachable Reason: overapproximation of shiftRight at line 41, overapproximation of bitwiseOr at line 42, overapproximation of someBinaryArithmeticDOUBLEoperation at line 90, overapproximation of bitwiseAnd at line 28, overapproximation of someBinaryDOUBLEComparisonOperation at line 15. Possible FailurePath: [L17] static const double huge_ceil = 1.0e300; VAL [\old(huge_ceil)=6442450948, huge_ceil=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000] [L90] double x = 0.0 / 0.0; VAL [huge_ceil=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000] [L91] CALL, EXPR ceil_double(x) VAL [\old(x)=6442450949, huge_ceil=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000] [L20] __int32_t i0, i1, j0; [L21] __uint32_t i, j; VAL [\old(x)=6442450949, huge_ceil=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, x=6442450949] [L23] ieee_double_shape_type ew_u; [L24] ew_u.value = (x) [L25] EXPR ew_u.parts.msw [L25] (i0) = ew_u.parts.msw [L26] EXPR ew_u.parts.lsw [L26] (i1) = ew_u.parts.lsw [L28] j0 = ((i0 >> 20) & 0x7ff) - 0x3ff VAL [\old(x)=6442450949, huge_ceil=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, i0=-2147483648, i1=2147483647, x=6442450949] [L29] COND TRUE j0 < 20 VAL [\old(x)=6442450949, huge_ceil=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, i0=-2147483648, i1=2147483647, j0=0, x=6442450949] [L30] COND FALSE !(j0 < 0) [L41] i = (0x000fffff) >> j0 VAL [\old(x)=6442450949, huge_ceil=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, i0=-2147483648, i1=2147483647, j0=0, x=6442450949] [L42] COND TRUE ((i0 & i) | i1) == 0 [L43] return x; VAL [\old(x)=6442450949, \result=6442450949, huge_ceil=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, i0=-2147483648, i1=2147483647, j0=0, x=6442450949] [L91] RET, EXPR ceil_double(x) VAL [ceil_double(x)=6442450949, huge_ceil=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, x=6442450949] [L91] double res = ceil_double(x); [L94] CALL, EXPR isnan_double(res) VAL [\old(x)=6442450949, huge_ceil=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000] [L15] return x != x; VAL [\old(x)=6442450949, \result=0, huge_ceil=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, x=6442450949] [L94] RET, EXPR isnan_double(res) VAL [huge_ceil=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, isnan_double(res)=0, res=6442450949, x=6442450949] [L94] COND TRUE !isnan_double(res) [L95] __VERIFIER_error() VAL [huge_ceil=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, res=6442450949, x=6442450949] - StatisticsResult: Ultimate Automizer benchmark data CFG has 5 procedures, 47 locations, 1 error locations. UNSAFE Result, 0.2s OverallTime, 2 OverallIterations, 1 TraceHistogramMax, 0.0s AutomataDifference, 0.0s DeadEndRemovalTime, 0.0s HoareAnnotationTime, HoareTripleCheckerStatistics: 61 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=47occurred in iteration=0, traceCheckStatistics: No data available, InterpolantConsolidationStatistics: No data available, PathInvariantsStatistics: No data available, 0/0 InterpolantCoveringCapability, TotalInterpolationStatistics: No data available, 0.0s AbstIntTime, 0 AbstIntIterations, 0 AbstIntStrong, NaN AbsIntWeakeningRatio, NaN AbsIntAvgWeakeningVarsNumRemoved, NaN AbsIntAvgWeakenedConjuncts, 0.0s DumpTime, AutomataMinimizationStatistics: 0.0s AutomataMinimizationTime, 1 MinimizatonAttempts, 0 StatesRemovedByMinimization, 0 NontrivialMinimizations, HoareAnnotationStatistics: No data available, RefinementEngineStatistics: TraceCheckStatistics: 0.0s SsaConstructionTime, 0.0s SatisfiabilityAnalysisTime, 0.0s InterpolantComputationTime, 47 NumberOfCodeBlocks, 47 NumberOfCodeBlocksAsserted, 2 NumberOfCheckSat, 22 ConstructedInterpolants, 0 QuantifiedInterpolants, 484 SizeOfPredicates, 0 NumberOfNonLiveVariables, 0 ConjunctsInSsa, 0 ConjunctsInUnsatCore, 1 InterpolantComputations, 1 PerfectInterpolantSequences, 0/0 InterpolantCoveringCapability, InvariantSynthesisStatistics: No data available, InterpolantConsolidationStatistics: 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.23-aa41828 [2018-11-23 06:19:08,491 INFO L170 SettingsManager]: Resetting all preferences to default values... [2018-11-23 06:19:08,492 INFO L174 SettingsManager]: Resetting UltimateCore preferences to default values [2018-11-23 06:19:08,500 INFO L177 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2018-11-23 06:19:08,500 INFO L174 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2018-11-23 06:19:08,501 INFO L174 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2018-11-23 06:19:08,502 INFO L174 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2018-11-23 06:19:08,503 INFO L174 SettingsManager]: Resetting LassoRanker preferences to default values [2018-11-23 06:19:08,504 INFO L174 SettingsManager]: Resetting Reaching Definitions preferences to default values [2018-11-23 06:19:08,505 INFO L174 SettingsManager]: Resetting SyntaxChecker preferences to default values [2018-11-23 06:19:08,505 INFO L177 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2018-11-23 06:19:08,505 INFO L174 SettingsManager]: Resetting LTL2Aut preferences to default values [2018-11-23 06:19:08,506 INFO L174 SettingsManager]: Resetting PEA to Boogie preferences to default values [2018-11-23 06:19:08,507 INFO L174 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2018-11-23 06:19:08,507 INFO L174 SettingsManager]: Resetting ChcToBoogie preferences to default values [2018-11-23 06:19:08,508 INFO L174 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2018-11-23 06:19:08,508 INFO L174 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2018-11-23 06:19:08,509 INFO L174 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2018-11-23 06:19:08,511 INFO L174 SettingsManager]: Resetting CodeCheck preferences to default values [2018-11-23 06:19:08,512 INFO L174 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2018-11-23 06:19:08,512 INFO L174 SettingsManager]: Resetting RCFGBuilder preferences to default values [2018-11-23 06:19:08,513 INFO L174 SettingsManager]: Resetting TraceAbstraction preferences to default values [2018-11-23 06:19:08,515 INFO L177 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2018-11-23 06:19:08,515 INFO L177 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2018-11-23 06:19:08,515 INFO L174 SettingsManager]: Resetting TreeAutomizer preferences to default values [2018-11-23 06:19:08,516 INFO L174 SettingsManager]: Resetting IcfgTransformer preferences to default values [2018-11-23 06:19:08,516 INFO L174 SettingsManager]: Resetting Boogie Printer preferences to default values [2018-11-23 06:19:08,517 INFO L174 SettingsManager]: Resetting ReqPrinter preferences to default values [2018-11-23 06:19:08,518 INFO L174 SettingsManager]: Resetting Witness Printer preferences to default values [2018-11-23 06:19:08,518 INFO L177 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2018-11-23 06:19:08,518 INFO L174 SettingsManager]: Resetting CDTParser preferences to default values [2018-11-23 06:19:08,519 INFO L177 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2018-11-23 06:19:08,519 INFO L177 SettingsManager]: ReqParser provides no preferences, ignoring... [2018-11-23 06:19:08,519 INFO L174 SettingsManager]: Resetting SmtParser preferences to default values [2018-11-23 06:19:08,520 INFO L174 SettingsManager]: Resetting Witness Parser preferences to default values [2018-11-23 06:19:08,520 INFO L181 SettingsManager]: Finished resetting all preferences to default values... [2018-11-23 06:19:08,520 INFO L98 SettingsManager]: Beginning loading settings from /tmp/vcloud-vcloud-master/worker/working_dir_33ab0c97-d07d-4be6-b005-7ae7dfd6104f/bin-2019/uautomizer/config/svcomp-Reach-32bit-Automizer_Bitvector.epf [2018-11-23 06:19:08,530 INFO L110 SettingsManager]: Loading preferences was successful [2018-11-23 06:19:08,530 INFO L112 SettingsManager]: Preferences different from defaults after loading the file: [2018-11-23 06:19:08,531 INFO L131 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2018-11-23 06:19:08,531 INFO L133 SettingsManager]: * ... calls to implemented procedures=ONLY_FOR_CONCURRENT_PROGRAMS [2018-11-23 06:19:08,531 INFO L131 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2018-11-23 06:19:08,532 INFO L133 SettingsManager]: * Create parallel compositions if possible=false [2018-11-23 06:19:08,532 INFO L133 SettingsManager]: * Use SBE=true [2018-11-23 06:19:08,532 INFO L131 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2018-11-23 06:19:08,532 INFO L133 SettingsManager]: * sizeof long=4 [2018-11-23 06:19:08,532 INFO L133 SettingsManager]: * sizeof POINTER=4 [2018-11-23 06:19:08,532 INFO L133 SettingsManager]: * Check division by zero=IGNORE [2018-11-23 06:19:08,532 INFO L133 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2018-11-23 06:19:08,533 INFO L133 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2018-11-23 06:19:08,533 INFO L133 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2018-11-23 06:19:08,533 INFO L133 SettingsManager]: * Use bitvectors instead of ints=true [2018-11-23 06:19:08,533 INFO L133 SettingsManager]: * Memory model=HoenickeLindenmann_4ByteResolution [2018-11-23 06:19:08,533 INFO L133 SettingsManager]: * sizeof long double=12 [2018-11-23 06:19:08,533 INFO L133 SettingsManager]: * Check if freed pointer was valid=false [2018-11-23 06:19:08,533 INFO L133 SettingsManager]: * Use constant arrays=true [2018-11-23 06:19:08,533 INFO L133 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2018-11-23 06:19:08,534 INFO L131 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2018-11-23 06:19:08,534 INFO L133 SettingsManager]: * Size of a code block=SequenceOfStatements [2018-11-23 06:19:08,534 INFO L133 SettingsManager]: * To the following directory=./dump/ [2018-11-23 06:19:08,534 INFO L133 SettingsManager]: * SMT solver=External_DefaultMode [2018-11-23 06:19:08,534 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2018-11-23 06:19:08,534 INFO L131 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2018-11-23 06:19:08,534 INFO L133 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2018-11-23 06:19:08,535 INFO L133 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2018-11-23 06:19:08,535 INFO L133 SettingsManager]: * Trace refinement strategy=WOLF [2018-11-23 06:19:08,535 INFO L133 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2018-11-23 06:19:08,535 INFO L133 SettingsManager]: * Command for external solver=cvc4nyu --tear-down-incremental --rewrite-divk --print-success --lang smt [2018-11-23 06:19:08,535 INFO L133 SettingsManager]: * Logic for external solver=AUFBV [2018-11-23 06:19:08,535 INFO L133 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true 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 -> /tmp/vcloud-vcloud-master/worker/working_dir_33ab0c97-d07d-4be6-b005-7ae7dfd6104f/bin-2019/uautomizer 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 -> 84dba58cac25505e0eb3c404a47a071a268de901 [2018-11-23 06:19:08,564 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2018-11-23 06:19:08,573 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2018-11-23 06:19:08,576 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2018-11-23 06:19:08,577 INFO L271 PluginConnector]: Initializing CDTParser... [2018-11-23 06:19:08,577 INFO L276 PluginConnector]: CDTParser initialized [2018-11-23 06:19:08,578 INFO L418 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /tmp/vcloud-vcloud-master/worker/working_dir_33ab0c97-d07d-4be6-b005-7ae7dfd6104f/bin-2019/uautomizer/../../sv-benchmarks/c/float-newlib/double_req_bl_1091_true-unreach-call.c [2018-11-23 06:19:08,619 INFO L221 CDTParser]: Created temporary CDT project at /tmp/vcloud-vcloud-master/worker/working_dir_33ab0c97-d07d-4be6-b005-7ae7dfd6104f/bin-2019/uautomizer/data/7e6dfa4b0/d3404e34404345ce95893353f11f3833/FLAG899d3a363 [2018-11-23 06:19:09,019 INFO L307 CDTParser]: Found 1 translation units. [2018-11-23 06:19:09,020 INFO L161 CDTParser]: Scanning /tmp/vcloud-vcloud-master/worker/working_dir_33ab0c97-d07d-4be6-b005-7ae7dfd6104f/sv-benchmarks/c/float-newlib/double_req_bl_1091_true-unreach-call.c [2018-11-23 06:19:09,024 INFO L355 CDTParser]: About to delete temporary CDT project at /tmp/vcloud-vcloud-master/worker/working_dir_33ab0c97-d07d-4be6-b005-7ae7dfd6104f/bin-2019/uautomizer/data/7e6dfa4b0/d3404e34404345ce95893353f11f3833/FLAG899d3a363 [2018-11-23 06:19:09,035 INFO L363 CDTParser]: Successfully deleted /tmp/vcloud-vcloud-master/worker/working_dir_33ab0c97-d07d-4be6-b005-7ae7dfd6104f/bin-2019/uautomizer/data/7e6dfa4b0/d3404e34404345ce95893353f11f3833 [2018-11-23 06:19:09,038 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2018-11-23 06:19:09,039 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2018-11-23 06:19:09,040 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2018-11-23 06:19:09,040 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2018-11-23 06:19:09,043 INFO L276 PluginConnector]: CACSL2BoogieTranslator initialized [2018-11-23 06:19:09,044 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 06:19:09" (1/1) ... [2018-11-23 06:19:09,046 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@6b2a43b9 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 06:19:09, skipping insertion in model container [2018-11-23 06:19:09,046 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 06:19:09" (1/1) ... [2018-11-23 06:19:09,053 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2018-11-23 06:19:09,071 INFO L176 MainTranslator]: Built tables and reachable declarations [2018-11-23 06:19:09,202 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 06:19:09,206 INFO L191 MainTranslator]: Completed pre-run [2018-11-23 06:19:09,229 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 06:19:09,246 INFO L195 MainTranslator]: Completed translation [2018-11-23 06:19:09,246 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 06:19:09 WrapperNode [2018-11-23 06:19:09,246 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2018-11-23 06:19:09,247 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2018-11-23 06:19:09,247 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2018-11-23 06:19:09,247 INFO L276 PluginConnector]: Boogie Procedure Inliner initialized [2018-11-23 06:19:09,254 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 06:19:09" (1/1) ... [2018-11-23 06:19:09,261 INFO L185 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 06:19:09" (1/1) ... [2018-11-23 06:19:09,265 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2018-11-23 06:19:09,266 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2018-11-23 06:19:09,266 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2018-11-23 06:19:09,266 INFO L276 PluginConnector]: Boogie Preprocessor initialized [2018-11-23 06:19:09,272 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 06:19:09" (1/1) ... [2018-11-23 06:19:09,272 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 06:19:09" (1/1) ... [2018-11-23 06:19:09,275 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 06:19:09" (1/1) ... [2018-11-23 06:19:09,275 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 06:19:09" (1/1) ... [2018-11-23 06:19:09,330 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 06:19:09" (1/1) ... [2018-11-23 06:19:09,334 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 06:19:09" (1/1) ... [2018-11-23 06:19:09,336 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 06:19:09" (1/1) ... [2018-11-23 06:19:09,339 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2018-11-23 06:19:09,339 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2018-11-23 06:19:09,339 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2018-11-23 06:19:09,340 INFO L276 PluginConnector]: RCFGBuilder initialized [2018-11-23 06:19:09,340 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 06:19:09" (1/1) ... No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_33ab0c97-d07d-4be6-b005-7ae7dfd6104f/bin-2019/uautomizer/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 [2018-11-23 06:19:09,377 INFO L130 BoogieDeclarations]: Found specification of procedure isnan_double [2018-11-23 06:19:09,377 INFO L138 BoogieDeclarations]: Found implementation of procedure isnan_double [2018-11-23 06:19:09,377 INFO L130 BoogieDeclarations]: Found specification of procedure read~intFLOATTYPE8 [2018-11-23 06:19:09,377 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2018-11-23 06:19:09,378 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2018-11-23 06:19:09,378 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.alloc [2018-11-23 06:19:09,378 INFO L130 BoogieDeclarations]: Found specification of procedure read~intINTTYPE4 [2018-11-23 06:19:09,378 INFO L130 BoogieDeclarations]: Found specification of procedure write~intFLOATTYPE8 [2018-11-23 06:19:09,378 INFO L130 BoogieDeclarations]: Found specification of procedure ceil_double [2018-11-23 06:19:09,378 INFO L138 BoogieDeclarations]: Found implementation of procedure ceil_double [2018-11-23 06:19:09,378 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2018-11-23 06:19:09,378 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2018-11-23 06:19:09,379 INFO L130 BoogieDeclarations]: Found specification of procedure main [2018-11-23 06:19:09,379 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2018-11-23 06:19:09,379 INFO L130 BoogieDeclarations]: Found specification of procedure write~intINTTYPE4 [2018-11-23 06:19:09,379 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2018-11-23 06:19:09,559 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 06:19:10,560 INFO L275 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2018-11-23 06:19:10,560 INFO L280 CfgBuilder]: Removed 4 assue(true) statements. [2018-11-23 06:19:10,561 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 06:19:10 BoogieIcfgContainer [2018-11-23 06:19:10,561 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2018-11-23 06:19:10,561 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2018-11-23 06:19:10,562 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2018-11-23 06:19:10,564 INFO L276 PluginConnector]: TraceAbstraction initialized [2018-11-23 06:19:10,564 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 23.11 06:19:09" (1/3) ... [2018-11-23 06:19:10,564 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@7bcc9539 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 23.11 06:19:10, skipping insertion in model container [2018-11-23 06:19:10,565 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 06:19:09" (2/3) ... [2018-11-23 06:19:10,565 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@7bcc9539 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 23.11 06:19:10, skipping insertion in model container [2018-11-23 06:19:10,565 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 06:19:10" (3/3) ... [2018-11-23 06:19:10,566 INFO L112 eAbstractionObserver]: Analyzing ICFG double_req_bl_1091_true-unreach-call.c [2018-11-23 06:19:10,572 INFO L156 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2018-11-23 06:19:10,578 INFO L168 ceAbstractionStarter]: Appying trace abstraction to program that has 1 error locations. [2018-11-23 06:19:10,589 INFO L257 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2018-11-23 06:19:10,606 INFO L133 ementStrategyFactory]: Using default assertion order modulation [2018-11-23 06:19:10,607 INFO L382 AbstractCegarLoop]: Interprodecural is true [2018-11-23 06:19:10,607 INFO L383 AbstractCegarLoop]: Hoare is true [2018-11-23 06:19:10,607 INFO L384 AbstractCegarLoop]: Compute interpolants for FPandBP [2018-11-23 06:19:10,607 INFO L385 AbstractCegarLoop]: Backedges is STRAIGHT_LINE [2018-11-23 06:19:10,607 INFO L386 AbstractCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2018-11-23 06:19:10,607 INFO L387 AbstractCegarLoop]: Difference is false [2018-11-23 06:19:10,607 INFO L388 AbstractCegarLoop]: Minimize is MINIMIZE_SEVPA [2018-11-23 06:19:10,607 INFO L393 AbstractCegarLoop]: ======== Iteration 0==of CEGAR loop == AllErrorsAtOnce======== [2018-11-23 06:19:10,618 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states. [2018-11-23 06:19:10,623 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 23 [2018-11-23 06:19:10,623 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 06:19:10,624 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 06:19:10,625 INFO L423 AbstractCegarLoop]: === Iteration 1 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 06:19:10,628 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 06:19:10,628 INFO L82 PathProgramCache]: Analyzing trace with hash -645750269, now seen corresponding path program 1 times [2018-11-23 06:19:10,630 INFO L223 ckRefinementStrategy]: Switched to mode MATHSAT_FPBP [2018-11-23 06:19:10,630 INFO L69 tionRefinementEngine]: Using refinement strategy WolfRefinementStrategy No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_33ab0c97-d07d-4be6-b005-7ae7dfd6104f/bin-2019/uautomizer/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 [2018-11-23 06:19:10,634 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 06:19:10,676 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 06:19:10,682 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 06:19:10,693 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 06:19:10,693 INFO L312 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2018-11-23 06:19:10,702 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 06:19:10,702 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2018-11-23 06:19:10,704 INFO L459 AbstractCegarLoop]: Interpolant automaton has 2 states [2018-11-23 06:19:10,711 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 2 interpolants. [2018-11-23 06:19:10,712 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2018-11-23 06:19:10,713 INFO L87 Difference]: Start difference. First operand 46 states. Second operand 2 states. [2018-11-23 06:19:10,728 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 06:19:10,728 INFO L93 Difference]: Finished difference Result 84 states and 122 transitions. [2018-11-23 06:19:10,728 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2018-11-23 06:19:10,729 INFO L78 Accepts]: Start accepts. Automaton has 2 states. Word has length 22 [2018-11-23 06:19:10,729 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 06:19:10,737 INFO L225 Difference]: With dead ends: 84 [2018-11-23 06:19:10,737 INFO L226 Difference]: Without dead ends: 42 [2018-11-23 06:19:10,740 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 21 GetRequests, 21 SyntacticMatches, 0 SemanticMatches, 0 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2018-11-23 06:19:10,755 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 42 states. [2018-11-23 06:19:10,768 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 42 to 42. [2018-11-23 06:19:10,769 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 42 states. [2018-11-23 06:19:10,770 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 42 states to 42 states and 56 transitions. [2018-11-23 06:19:10,771 INFO L78 Accepts]: Start accepts. Automaton has 42 states and 56 transitions. Word has length 22 [2018-11-23 06:19:10,771 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 06:19:10,771 INFO L480 AbstractCegarLoop]: Abstraction has 42 states and 56 transitions. [2018-11-23 06:19:10,771 INFO L481 AbstractCegarLoop]: Interpolant automaton has 2 states. [2018-11-23 06:19:10,771 INFO L276 IsEmpty]: Start isEmpty. Operand 42 states and 56 transitions. [2018-11-23 06:19:10,772 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 24 [2018-11-23 06:19:10,772 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 06:19:10,772 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 06:19:10,772 INFO L423 AbstractCegarLoop]: === Iteration 2 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 06:19:10,772 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 06:19:10,773 INFO L82 PathProgramCache]: Analyzing trace with hash 938296292, now seen corresponding path program 1 times [2018-11-23 06:19:10,773 INFO L223 ckRefinementStrategy]: Switched to mode MATHSAT_FPBP [2018-11-23 06:19:10,773 INFO L69 tionRefinementEngine]: Using refinement strategy WolfRefinementStrategy No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_33ab0c97-d07d-4be6-b005-7ae7dfd6104f/bin-2019/uautomizer/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 [2018-11-23 06:19:10,779 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 06:19:10,817 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 06:19:10,822 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 06:19:11,035 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 06:19:11,035 INFO L312 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2018-11-23 06:19:11,048 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 06:19:11,049 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2018-11-23 06:19:11,050 INFO L459 AbstractCegarLoop]: Interpolant automaton has 9 states [2018-11-23 06:19:11,050 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2018-11-23 06:19:11,050 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=15, Invalid=57, Unknown=0, NotChecked=0, Total=72 [2018-11-23 06:19:11,051 INFO L87 Difference]: Start difference. First operand 42 states and 56 transitions. Second operand 9 states. [2018-11-23 06:19:11,460 WARN L180 SmtUtils]: Spent 129.00 ms on a formula simplification that was a NOOP. DAG size: 6 [2018-11-23 06:19:12,643 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 06:19:12,643 INFO L93 Difference]: Finished difference Result 51 states and 65 transitions. [2018-11-23 06:19:12,644 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2018-11-23 06:19:12,644 INFO L78 Accepts]: Start accepts. Automaton has 9 states. Word has length 23 [2018-11-23 06:19:12,644 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 06:19:12,646 INFO L225 Difference]: With dead ends: 51 [2018-11-23 06:19:12,646 INFO L226 Difference]: Without dead ends: 44 [2018-11-23 06:19:12,647 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 26 GetRequests, 15 SyntacticMatches, 0 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 5 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=33, Invalid=123, Unknown=0, NotChecked=0, Total=156 [2018-11-23 06:19:12,648 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 44 states. [2018-11-23 06:19:12,655 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 44 to 42. [2018-11-23 06:19:12,655 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 42 states. [2018-11-23 06:19:12,656 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 42 states to 42 states and 53 transitions. [2018-11-23 06:19:12,656 INFO L78 Accepts]: Start accepts. Automaton has 42 states and 53 transitions. Word has length 23 [2018-11-23 06:19:12,656 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 06:19:12,656 INFO L480 AbstractCegarLoop]: Abstraction has 42 states and 53 transitions. [2018-11-23 06:19:12,657 INFO L481 AbstractCegarLoop]: Interpolant automaton has 9 states. [2018-11-23 06:19:12,657 INFO L276 IsEmpty]: Start isEmpty. Operand 42 states and 53 transitions. [2018-11-23 06:19:12,657 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 24 [2018-11-23 06:19:12,657 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 06:19:12,658 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 06:19:12,658 INFO L423 AbstractCegarLoop]: === Iteration 3 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 06:19:12,658 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 06:19:12,658 INFO L82 PathProgramCache]: Analyzing trace with hash 1029166427, now seen corresponding path program 1 times [2018-11-23 06:19:12,659 INFO L223 ckRefinementStrategy]: Switched to mode MATHSAT_FPBP [2018-11-23 06:19:12,659 INFO L69 tionRefinementEngine]: Using refinement strategy WolfRefinementStrategy No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_33ab0c97-d07d-4be6-b005-7ae7dfd6104f/bin-2019/uautomizer/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 [2018-11-23 06:19:12,667 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 06:19:12,729 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 06:19:12,739 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 06:19:13,290 WARN L180 SmtUtils]: Spent 129.00 ms on a formula simplification that was a NOOP. DAG size: 5 [2018-11-23 06:19:13,948 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 06:19:13,949 INFO L312 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2018-11-23 06:19:13,956 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 06:19:13,957 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2018-11-23 06:19:13,957 INFO L459 AbstractCegarLoop]: Interpolant automaton has 9 states [2018-11-23 06:19:13,957 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2018-11-23 06:19:13,957 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=15, Invalid=57, Unknown=0, NotChecked=0, Total=72 [2018-11-23 06:19:13,957 INFO L87 Difference]: Start difference. First operand 42 states and 53 transitions. Second operand 9 states. [2018-11-23 06:19:15,733 WARN L180 SmtUtils]: Spent 311.00 ms on a formula simplification that was a NOOP. DAG size: 8 [2018-11-23 06:19:17,900 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 06:19:17,900 INFO L93 Difference]: Finished difference Result 49 states and 60 transitions. [2018-11-23 06:19:17,901 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2018-11-23 06:19:17,901 INFO L78 Accepts]: Start accepts. Automaton has 9 states. Word has length 23 [2018-11-23 06:19:17,901 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 06:19:17,902 INFO L225 Difference]: With dead ends: 49 [2018-11-23 06:19:17,902 INFO L226 Difference]: Without dead ends: 41 [2018-11-23 06:19:17,902 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 26 GetRequests, 15 SyntacticMatches, 0 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 5 ImplicationChecksByTransitivity, 2.0s TimeCoverageRelationStatistics Valid=33, Invalid=123, Unknown=0, NotChecked=0, Total=156 [2018-11-23 06:19:17,902 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 41 states. [2018-11-23 06:19:17,904 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 41 to 41. [2018-11-23 06:19:17,904 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 41 states. [2018-11-23 06:19:17,905 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 41 states to 41 states and 51 transitions. [2018-11-23 06:19:17,905 INFO L78 Accepts]: Start accepts. Automaton has 41 states and 51 transitions. Word has length 23 [2018-11-23 06:19:17,905 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 06:19:17,905 INFO L480 AbstractCegarLoop]: Abstraction has 41 states and 51 transitions. [2018-11-23 06:19:17,906 INFO L481 AbstractCegarLoop]: Interpolant automaton has 9 states. [2018-11-23 06:19:17,906 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 51 transitions. [2018-11-23 06:19:17,906 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 27 [2018-11-23 06:19:17,906 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 06:19:17,906 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 06:19:17,907 INFO L423 AbstractCegarLoop]: === Iteration 4 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 06:19:17,907 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 06:19:17,907 INFO L82 PathProgramCache]: Analyzing trace with hash 1513115684, now seen corresponding path program 1 times [2018-11-23 06:19:17,907 INFO L223 ckRefinementStrategy]: Switched to mode MATHSAT_FPBP [2018-11-23 06:19:17,907 INFO L69 tionRefinementEngine]: Using refinement strategy WolfRefinementStrategy No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_33ab0c97-d07d-4be6-b005-7ae7dfd6104f/bin-2019/uautomizer/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 [2018-11-23 06:19:17,911 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 06:19:18,013 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 06:19:18,025 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 06:19:18,058 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 06:19:18,058 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 06:19:18,062 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 2 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 33 treesize of output 43 [2018-11-23 06:19:18,093 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 06:19:18,100 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 2 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 24 treesize of output 24 [2018-11-23 06:19:18,100 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 06:19:18,111 INFO L478 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 24 treesize of output 18 [2018-11-23 06:19:18,115 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 4 [2018-11-23 06:19:18,116 INFO L267 ElimStorePlain]: Start of recursive call 5: End of recursive call: and 1 xjuncts. [2018-11-23 06:19:18,118 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 06:19:18,120 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 06:19:18,126 INFO L267 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. [2018-11-23 06:19:18,126 INFO L202 ElimStorePlain]: Needed 5 recursive calls to eliminate 3 variables, input treesize:42, output treesize:14 [2018-11-23 06:19:18,217 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 06:19:18,217 INFO L312 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2018-11-23 06:19:18,225 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 06:19:18,225 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2018-11-23 06:19:18,226 INFO L459 AbstractCegarLoop]: Interpolant automaton has 7 states [2018-11-23 06:19:18,226 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2018-11-23 06:19:18,226 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=11, Invalid=31, Unknown=0, NotChecked=0, Total=42 [2018-11-23 06:19:18,226 INFO L87 Difference]: Start difference. First operand 41 states and 51 transitions. Second operand 7 states. [2018-11-23 06:19:18,633 WARN L180 SmtUtils]: Spent 199.00 ms on a formula simplification that was a NOOP. DAG size: 25 [2018-11-23 06:19:20,365 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 06:19:20,366 INFO L93 Difference]: Finished difference Result 67 states and 76 transitions. [2018-11-23 06:19:20,367 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2018-11-23 06:19:20,367 INFO L78 Accepts]: Start accepts. Automaton has 7 states. Word has length 26 [2018-11-23 06:19:20,367 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 06:19:20,368 INFO L225 Difference]: With dead ends: 67 [2018-11-23 06:19:20,368 INFO L226 Difference]: Without dead ends: 40 [2018-11-23 06:19:20,368 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 33 GetRequests, 20 SyntacticMatches, 0 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 27 ImplicationChecksByTransitivity, 0.6s TimeCoverageRelationStatistics Valid=62, Invalid=148, Unknown=0, NotChecked=0, Total=210 [2018-11-23 06:19:20,368 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 40 states. [2018-11-23 06:19:20,371 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 40 to 33. [2018-11-23 06:19:20,371 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 33 states. [2018-11-23 06:19:20,372 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 33 states to 33 states and 36 transitions. [2018-11-23 06:19:20,372 INFO L78 Accepts]: Start accepts. Automaton has 33 states and 36 transitions. Word has length 26 [2018-11-23 06:19:20,372 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 06:19:20,372 INFO L480 AbstractCegarLoop]: Abstraction has 33 states and 36 transitions. [2018-11-23 06:19:20,372 INFO L481 AbstractCegarLoop]: Interpolant automaton has 7 states. [2018-11-23 06:19:20,373 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 36 transitions. [2018-11-23 06:19:20,373 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 28 [2018-11-23 06:19:20,373 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 06:19:20,373 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 06:19:20,373 INFO L423 AbstractCegarLoop]: === Iteration 5 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 06:19:20,374 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 06:19:20,374 INFO L82 PathProgramCache]: Analyzing trace with hash 1571354609, now seen corresponding path program 1 times [2018-11-23 06:19:20,374 INFO L223 ckRefinementStrategy]: Switched to mode MATHSAT_FPBP [2018-11-23 06:19:20,374 INFO L69 tionRefinementEngine]: Using refinement strategy WolfRefinementStrategy No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_33ab0c97-d07d-4be6-b005-7ae7dfd6104f/bin-2019/uautomizer/mathsat Starting monitored process 6 with mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 6 with mathsat -unsat_core_generation=3 [2018-11-23 06:19:20,378 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 06:19:20,479 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 06:19:20,490 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 06:19:20,506 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 06:19:20,507 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 06:19:20,507 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 2 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 33 treesize of output 43 [2018-11-23 06:19:20,540 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 21 [2018-11-23 06:19:20,540 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 06:19:20,552 INFO L478 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 17 treesize of output 13 [2018-11-23 06:19:20,556 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 13 treesize of output 1 [2018-11-23 06:19:20,557 INFO L267 ElimStorePlain]: Start of recursive call 5: End of recursive call: and 1 xjuncts. [2018-11-23 06:19:20,558 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 06:19:20,560 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 06:19:20,567 INFO L267 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. [2018-11-23 06:19:20,567 INFO L202 ElimStorePlain]: Needed 5 recursive calls to eliminate 3 variables, input treesize:42, output treesize:14 [2018-11-23 06:19:20,686 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 06:19:20,686 INFO L312 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2018-11-23 06:19:20,694 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 06:19:20,694 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2018-11-23 06:19:20,695 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2018-11-23 06:19:20,695 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2018-11-23 06:19:20,695 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=14, Invalid=42, Unknown=0, NotChecked=0, Total=56 [2018-11-23 06:19:20,695 INFO L87 Difference]: Start difference. First operand 33 states and 36 transitions. Second operand 8 states. [2018-11-23 06:19:21,148 WARN L180 SmtUtils]: Spent 218.00 ms on a formula simplification. DAG size of input: 34 DAG size of output: 32 [2018-11-23 06:19:21,915 WARN L180 SmtUtils]: Spent 313.00 ms on a formula simplification. DAG size of input: 30 DAG size of output: 28 [2018-11-23 06:19:22,032 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 06:19:22,032 INFO L93 Difference]: Finished difference Result 40 states and 43 transitions. [2018-11-23 06:19:22,033 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2018-11-23 06:19:22,033 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 27 [2018-11-23 06:19:22,033 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 06:19:22,033 INFO L225 Difference]: With dead ends: 40 [2018-11-23 06:19:22,033 INFO L226 Difference]: Without dead ends: 0 [2018-11-23 06:19:22,034 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 33 GetRequests, 20 SyntacticMatches, 0 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 17 ImplicationChecksByTransitivity, 0.9s TimeCoverageRelationStatistics Valid=64, Invalid=146, Unknown=0, NotChecked=0, Total=210 [2018-11-23 06:19:22,034 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 0 states. [2018-11-23 06:19:22,034 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 0 to 0. [2018-11-23 06:19:22,034 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 0 states. [2018-11-23 06:19:22,034 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 0 states to 0 states and 0 transitions. [2018-11-23 06:19:22,034 INFO L78 Accepts]: Start accepts. Automaton has 0 states and 0 transitions. Word has length 27 [2018-11-23 06:19:22,034 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 06:19:22,034 INFO L480 AbstractCegarLoop]: Abstraction has 0 states and 0 transitions. [2018-11-23 06:19:22,034 INFO L481 AbstractCegarLoop]: Interpolant automaton has 8 states. [2018-11-23 06:19:22,034 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2018-11-23 06:19:22,035 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 06:19:22,037 INFO L343 DoubleDeckerVisitor]: Before removal of dead ends 0 states and 0 transitions. [2018-11-23 06:19:22,103 INFO L451 ceAbstractionStarter]: At program point isnan_doubleENTRY(line 15) the Hoare annotation is: true [2018-11-23 06:19:22,103 INFO L448 ceAbstractionStarter]: For program point isnan_doubleEXIT(line 15) no Hoare annotation was computed. [2018-11-23 06:19:22,103 INFO L448 ceAbstractionStarter]: For program point isnan_doubleFINAL(line 15) no Hoare annotation was computed. [2018-11-23 06:19:22,103 INFO L448 ceAbstractionStarter]: For program point ULTIMATE.initFINAL(line -1) no Hoare annotation was computed. [2018-11-23 06:19:22,103 INFO L451 ceAbstractionStarter]: At program point ULTIMATE.initENTRY(line -1) the Hoare annotation is: true [2018-11-23 06:19:22,103 INFO L448 ceAbstractionStarter]: For program point ULTIMATE.initEXIT(line -1) no Hoare annotation was computed. [2018-11-23 06:19:22,103 INFO L448 ceAbstractionStarter]: For program point L31(lines 31 39) no Hoare annotation was computed. [2018-11-23 06:19:22,103 INFO L448 ceAbstractionStarter]: For program point L60(lines 60 72) no Hoare annotation was computed. [2018-11-23 06:19:22,103 INFO L448 ceAbstractionStarter]: For program point L52(lines 52 55) no Hoare annotation was computed. [2018-11-23 06:19:22,103 INFO L448 ceAbstractionStarter]: For program point L44(lines 44 49) no Hoare annotation was computed. [2018-11-23 06:19:22,104 INFO L448 ceAbstractionStarter]: For program point L32(lines 32 38) no Hoare annotation was computed. [2018-11-23 06:19:22,104 INFO L448 ceAbstractionStarter]: For program point L61(lines 61 70) no Hoare annotation was computed. [2018-11-23 06:19:22,104 INFO L448 ceAbstractionStarter]: For program point L61-1(lines 61 70) no Hoare annotation was computed. [2018-11-23 06:19:22,104 INFO L448 ceAbstractionStarter]: For program point L45(lines 45 46) no Hoare annotation was computed. [2018-11-23 06:19:22,104 INFO L448 ceAbstractionStarter]: For program point L45-2(lines 45 46) no Hoare annotation was computed. [2018-11-23 06:19:22,104 INFO L448 ceAbstractionStarter]: For program point L74(lines 74 79) no Hoare annotation was computed. [2018-11-23 06:19:22,104 INFO L448 ceAbstractionStarter]: For program point L74-1(lines 19 81) no Hoare annotation was computed. [2018-11-23 06:19:22,104 INFO L448 ceAbstractionStarter]: For program point L74-2(lines 74 79) no Hoare annotation was computed. [2018-11-23 06:19:22,104 INFO L448 ceAbstractionStarter]: For program point L66(lines 66 67) no Hoare annotation was computed. [2018-11-23 06:19:22,104 INFO L448 ceAbstractionStarter]: For program point L66-2(lines 66 67) no Hoare annotation was computed. [2018-11-23 06:19:22,105 INFO L448 ceAbstractionStarter]: For program point L62(lines 62 69) no Hoare annotation was computed. [2018-11-23 06:19:22,105 INFO L448 ceAbstractionStarter]: For program point L29(lines 29 73) no Hoare annotation was computed. [2018-11-23 06:19:22,105 INFO L448 ceAbstractionStarter]: For program point L58(lines 58 59) no Hoare annotation was computed. [2018-11-23 06:19:22,105 INFO L451 ceAbstractionStarter]: At program point ceil_doubleENTRY(lines 19 81) the Hoare annotation is: true [2018-11-23 06:19:22,105 INFO L448 ceAbstractionStarter]: For program point L42(lines 42 43) no Hoare annotation was computed. [2018-11-23 06:19:22,105 INFO L448 ceAbstractionStarter]: For program point ceil_doubleFINAL(lines 19 81) no Hoare annotation was computed. [2018-11-23 06:19:22,105 INFO L448 ceAbstractionStarter]: For program point ceil_doubleEXIT(lines 19 81) no Hoare annotation was computed. [2018-11-23 06:19:22,105 INFO L448 ceAbstractionStarter]: For program point L30(lines 30 50) no Hoare annotation was computed. [2018-11-23 06:19:22,105 INFO L448 ceAbstractionStarter]: For program point L22-1(lines 22 27) no Hoare annotation was computed. [2018-11-23 06:19:22,105 INFO L444 ceAbstractionStarter]: At program point L22-2(lines 22 27) the Hoare annotation is: (= |ceil_double_#in~x| ceil_double_~x) [2018-11-23 06:19:22,105 INFO L448 ceAbstractionStarter]: For program point L22-3(lines 22 27) no Hoare annotation was computed. [2018-11-23 06:19:22,106 INFO L448 ceAbstractionStarter]: For program point L51(lines 51 73) no Hoare annotation was computed. [2018-11-23 06:19:22,106 INFO L448 ceAbstractionStarter]: For program point L35(lines 35 38) no Hoare annotation was computed. [2018-11-23 06:19:22,106 INFO L448 ceAbstractionStarter]: For program point ULTIMATE.startEXIT(line -1) no Hoare annotation was computed. [2018-11-23 06:19:22,106 INFO L451 ceAbstractionStarter]: At program point L-1(line -1) the Hoare annotation is: true [2018-11-23 06:19:22,106 INFO L451 ceAbstractionStarter]: At program point ULTIMATE.startENTRY(line -1) the Hoare annotation is: true [2018-11-23 06:19:22,106 INFO L448 ceAbstractionStarter]: For program point ULTIMATE.startFINAL(line -1) no Hoare annotation was computed. [2018-11-23 06:19:22,106 INFO L448 ceAbstractionStarter]: For program point L95(line 95) no Hoare annotation was computed. [2018-11-23 06:19:22,106 INFO L448 ceAbstractionStarter]: For program point mainErr0ASSERT_VIOLATIONERROR_FUNCTION(line 95) no Hoare annotation was computed. [2018-11-23 06:19:22,106 INFO L444 ceAbstractionStarter]: At program point L94(line 94) the Hoare annotation is: (let ((.cse0 (fp.div roundNearestTiesToEven (_ +zero 11 53) (_ +zero 11 53)))) (and (= main_~x~0 .cse0) (= main_~res~0 .cse0))) [2018-11-23 06:19:22,107 INFO L451 ceAbstractionStarter]: At program point mainENTRY(lines 83 100) the Hoare annotation is: true [2018-11-23 06:19:22,107 INFO L448 ceAbstractionStarter]: For program point L94-1(lines 94 97) no Hoare annotation was computed. [2018-11-23 06:19:22,107 INFO L448 ceAbstractionStarter]: For program point mainFINAL(lines 83 100) no Hoare annotation was computed. [2018-11-23 06:19:22,107 INFO L444 ceAbstractionStarter]: At program point L91(line 91) the Hoare annotation is: (= main_~x~0 (fp.div roundNearestTiesToEven (_ +zero 11 53) (_ +zero 11 53))) [2018-11-23 06:19:22,107 INFO L448 ceAbstractionStarter]: For program point L91-1(line 91) no Hoare annotation was computed. [2018-11-23 06:19:22,107 INFO L448 ceAbstractionStarter]: For program point mainEXIT(lines 83 100) no Hoare annotation was computed. [2018-11-23 06:19:22,115 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 23.11 06:19:22 BoogieIcfgContainer [2018-11-23 06:19:22,115 INFO L132 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2018-11-23 06:19:22,115 INFO L113 PluginConnector]: ------------------------Witness Printer---------------------------- [2018-11-23 06:19:22,115 INFO L271 PluginConnector]: Initializing Witness Printer... [2018-11-23 06:19:22,116 INFO L276 PluginConnector]: Witness Printer initialized [2018-11-23 06:19:22,116 INFO L185 PluginConnector]: Executing the observer RCFGCatcher from plugin Witness Printer for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 06:19:10" (3/4) ... [2018-11-23 06:19:22,118 INFO L144 WitnessPrinter]: Generating witness for correct program [2018-11-23 06:19:22,123 INFO L354 RCFGBacktranslator]: Ignoring RootEdge to procedure isnan_double [2018-11-23 06:19:22,123 INFO L354 RCFGBacktranslator]: Ignoring RootEdge to procedure ULTIMATE.init [2018-11-23 06:19:22,123 INFO L354 RCFGBacktranslator]: Ignoring RootEdge to procedure ceil_double [2018-11-23 06:19:22,123 INFO L354 RCFGBacktranslator]: Ignoring RootEdge to procedure main [2018-11-23 06:19:22,126 INFO L879 BoogieBacktranslator]: Reduced CFG by removing 19 nodes and edges [2018-11-23 06:19:22,126 INFO L879 BoogieBacktranslator]: Reduced CFG by removing 8 nodes and edges [2018-11-23 06:19:22,127 INFO L879 BoogieBacktranslator]: Reduced CFG by removing 1 nodes and edges [2018-11-23 06:19:22,145 WARN L221 nessWitnessGenerator]: Not writing invariant because ACSL is forbidden: \old(x) == x [2018-11-23 06:19:22,165 INFO L145 WitnessManager]: Wrote witness to /tmp/vcloud-vcloud-master/worker/working_dir_33ab0c97-d07d-4be6-b005-7ae7dfd6104f/bin-2019/uautomizer/witness.graphml [2018-11-23 06:19:22,165 INFO L132 PluginConnector]: ------------------------ END Witness Printer---------------------------- [2018-11-23 06:19:22,166 INFO L168 Benchmark]: Toolchain (without parser) took 13127.45 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 145.2 MB). Free memory was 950.8 MB in the beginning and 854.5 MB in the end (delta: 96.3 MB). Peak memory consumption was 241.5 MB. Max. memory is 11.5 GB. [2018-11-23 06:19:22,166 INFO L168 Benchmark]: CDTParser took 0.16 ms. Allocated memory is still 1.0 GB. Free memory is still 978.7 MB. There was no memory consumed. Max. memory is 11.5 GB. [2018-11-23 06:19:22,166 INFO L168 Benchmark]: CACSL2BoogieTranslator took 206.94 ms. Allocated memory is still 1.0 GB. Free memory was 950.8 MB in the beginning and 934.7 MB in the end (delta: 16.1 MB). Peak memory consumption was 16.1 MB. Max. memory is 11.5 GB. [2018-11-23 06:19:22,167 INFO L168 Benchmark]: Boogie Procedure Inliner took 18.14 ms. Allocated memory is still 1.0 GB. Free memory is still 934.7 MB. There was no memory consumed. Max. memory is 11.5 GB. [2018-11-23 06:19:22,167 INFO L168 Benchmark]: Boogie Preprocessor took 73.56 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 145.2 MB). Free memory was 934.7 MB in the beginning and 1.1 GB in the end (delta: -198.3 MB). Peak memory consumption was 15.3 MB. Max. memory is 11.5 GB. [2018-11-23 06:19:22,167 INFO L168 Benchmark]: RCFGBuilder took 1221.50 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: 31.4 MB). Peak memory consumption was 31.4 MB. Max. memory is 11.5 GB. [2018-11-23 06:19:22,167 INFO L168 Benchmark]: TraceAbstraction took 11553.68 ms. Allocated memory is still 1.2 GB. Free memory was 1.1 GB in the beginning and 854.5 MB in the end (delta: 247.0 MB). Peak memory consumption was 247.0 MB. Max. memory is 11.5 GB. [2018-11-23 06:19:22,168 INFO L168 Benchmark]: Witness Printer took 49.83 ms. Allocated memory is still 1.2 GB. Free memory is still 854.5 MB. There was no memory consumed. Max. memory is 11.5 GB. [2018-11-23 06:19:22,169 INFO L336 ainManager$Toolchain]: ####################### End [Toolchain 1] ####################### --- Results --- * Results from de.uni_freiburg.informatik.ultimate.core: - StatisticsResult: Toolchain Benchmarks Benchmark results are: * CDTParser took 0.16 ms. Allocated memory is still 1.0 GB. Free memory is still 978.7 MB. There was no memory consumed. Max. memory is 11.5 GB. * CACSL2BoogieTranslator took 206.94 ms. Allocated memory is still 1.0 GB. Free memory was 950.8 MB in the beginning and 934.7 MB in the end (delta: 16.1 MB). Peak memory consumption was 16.1 MB. Max. memory is 11.5 GB. * Boogie Procedure Inliner took 18.14 ms. Allocated memory is still 1.0 GB. Free memory is still 934.7 MB. There was no memory consumed. Max. memory is 11.5 GB. * Boogie Preprocessor took 73.56 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 145.2 MB). Free memory was 934.7 MB in the beginning and 1.1 GB in the end (delta: -198.3 MB). Peak memory consumption was 15.3 MB. Max. memory is 11.5 GB. * RCFGBuilder took 1221.50 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: 31.4 MB). Peak memory consumption was 31.4 MB. Max. memory is 11.5 GB. * TraceAbstraction took 11553.68 ms. Allocated memory is still 1.2 GB. Free memory was 1.1 GB in the beginning and 854.5 MB in the end (delta: 247.0 MB). Peak memory consumption was 247.0 MB. Max. memory is 11.5 GB. * Witness Printer took 49.83 ms. Allocated memory is still 1.2 GB. Free memory is still 854.5 MB. There was no memory consumed. Max. memory is 11.5 GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - PositiveResult [Line: 95]: 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 - InvariantResult [Line: 22]: Loop Invariant Derived loop invariant: \old(x) == x - StatisticsResult: Ultimate Automizer benchmark data CFG has 5 procedures, 46 locations, 1 error locations. SAFE Result, 11.5s OverallTime, 5 OverallIterations, 1 TraceHistogramMax, 9.0s AutomataDifference, 0.0s DeadEndRemovalTime, 0.0s HoareAnnotationTime, HoareTripleCheckerStatistics: 186 SDtfs, 249 SDslu, 649 SDs, 0 SdLazy, 326 SolverSat, 36 SolverUnsat, 0 SolverUnknown, 0 SolverNotchecked, 6.1s Time, PredicateUnifierStatistics: 0 DeclaredPredicates, 139 GetRequests, 91 SyntacticMatches, 0 SemanticMatches, 48 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 54 ImplicationChecksByTransitivity, 4.0s Time, 0.0s BasicInterpolantAutomatonTime, BiggestAbstraction: size=46occurred in iteration=0, traceCheckStatistics: No data available, InterpolantConsolidationStatistics: No data available, PathInvariantsStatistics: No data available, 0/0 InterpolantCoveringCapability, TotalInterpolationStatistics: No data available, 0.0s AbstIntTime, 0 AbstIntIterations, 0 AbstIntStrong, NaN AbsIntWeakeningRatio, NaN AbsIntAvgWeakeningVarsNumRemoved, NaN AbsIntAvgWeakenedConjuncts, 0.0s DumpTime, AutomataMinimizationStatistics: 0.0s AutomataMinimizationTime, 5 MinimizatonAttempts, 9 StatesRemovedByMinimization, 2 NontrivialMinimizations, HoareAnnotationStatistics: 0.0s HoareAnnotationTime, 9 LocationsWithAnnotation, 13 PreInvPairs, 16 NumberOfFragments, 28 HoareAnnotationTreeSize, 13 FomulaSimplifications, 0 FormulaSimplificationTreeSizeReduction, 0.0s HoareSimplificationTime, 9 FomulaSimplificationsInter, 20 FormulaSimplificationTreeSizeReductionInter, 0.0s HoareSimplificationTimeInter, RefinementEngineStatistics: TraceCheckStatistics: 0.0s SsaConstructionTime, 0.3s SatisfiabilityAnalysisTime, 1.8s InterpolantComputationTime, 121 NumberOfCodeBlocks, 121 NumberOfCodeBlocksAsserted, 5 NumberOfCheckSat, 116 ConstructedInterpolants, 21 QuantifiedInterpolants, 18833 SizeOfPredicates, 16 NumberOfNonLiveVariables, 325 ConjunctsInSsa, 40 ConjunctsInUnsatCore, 5 InterpolantComputations, 5 PerfectInterpolantSequences, 0/0 InterpolantCoveringCapability, InvariantSynthesisStatistics: No data available, InterpolantConsolidationStatistics: No data available, ReuseStatistics: No data available RESULT: Ultimate proved your program to be correct! Received shutdown request...