./Ultimate.py --spec ../../sv-benchmarks/c/properties/unreach-call.prp --file ../../sv-benchmarks/c/float-newlib/double_req_bl_1051_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_08bffa03-2ed3-4a1f-8d88-cc38e1c1b291/bin-2019/utaipan/data/config -Xmx12G -Xms1G -jar /tmp/vcloud-vcloud-master/worker/working_dir_08bffa03-2ed3-4a1f-8d88-cc38e1c1b291/bin-2019/utaipan/plugins/org.eclipse.equinox.launcher_1.3.100.v20150511-1540.jar -data @noDefault -ultimatedata /tmp/vcloud-vcloud-master/worker/working_dir_08bffa03-2ed3-4a1f-8d88-cc38e1c1b291/bin-2019/utaipan/data -tc /tmp/vcloud-vcloud-master/worker/working_dir_08bffa03-2ed3-4a1f-8d88-cc38e1c1b291/bin-2019/utaipan/config/TaipanReach.xml -i ../../sv-benchmarks/c/float-newlib/double_req_bl_1051_true-unreach-call.c -s /tmp/vcloud-vcloud-master/worker/working_dir_08bffa03-2ed3-4a1f-8d88-cc38e1c1b291/bin-2019/utaipan/config/svcomp-Reach-32bit-Taipan_Default.epf --cacsl2boogietranslator.entry.function main --witnessprinter.witness.directory /tmp/vcloud-vcloud-master/worker/working_dir_08bffa03-2ed3-4a1f-8d88-cc38e1c1b291/bin-2019/utaipan --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 Taipan --witnessprinter.graph.data.architecture 32bit --witnessprinter.graph.data.programhash 0fa375491f6ee23468a1ede5cb9608fff6035ced ......................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................... 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_08bffa03-2ed3-4a1f-8d88-cc38e1c1b291/bin-2019/utaipan/data/config -Xmx12G -Xms1G -jar /tmp/vcloud-vcloud-master/worker/working_dir_08bffa03-2ed3-4a1f-8d88-cc38e1c1b291/bin-2019/utaipan/plugins/org.eclipse.equinox.launcher_1.3.100.v20150511-1540.jar -data @noDefault -ultimatedata /tmp/vcloud-vcloud-master/worker/working_dir_08bffa03-2ed3-4a1f-8d88-cc38e1c1b291/bin-2019/utaipan/data -tc /tmp/vcloud-vcloud-master/worker/working_dir_08bffa03-2ed3-4a1f-8d88-cc38e1c1b291/bin-2019/utaipan/config/TaipanReach.xml -i ../../sv-benchmarks/c/float-newlib/double_req_bl_1051_true-unreach-call.c -s /tmp/vcloud-vcloud-master/worker/working_dir_08bffa03-2ed3-4a1f-8d88-cc38e1c1b291/bin-2019/utaipan/config/svcomp-Reach-32bit-Taipan_Bitvector.epf --cacsl2boogietranslator.entry.function main --witnessprinter.witness.directory /tmp/vcloud-vcloud-master/worker/working_dir_08bffa03-2ed3-4a1f-8d88-cc38e1c1b291/bin-2019/utaipan --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 Taipan --witnessprinter.graph.data.architecture 32bit --witnessprinter.graph.data.programhash 0fa375491f6ee23468a1ede5cb9608fff6035ced ............................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................... Execution finished normally Writing output log to file Ultimate.log Result: TRUE --- Real Ultimate output --- This is Ultimate 0.1.23-aa41828 [2018-11-22 22:27:49,660 INFO L170 SettingsManager]: Resetting all preferences to default values... [2018-11-22 22:27:49,661 INFO L174 SettingsManager]: Resetting UltimateCore preferences to default values [2018-11-22 22:27:49,669 INFO L177 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2018-11-22 22:27:49,669 INFO L174 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2018-11-22 22:27:49,670 INFO L174 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2018-11-22 22:27:49,671 INFO L174 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2018-11-22 22:27:49,672 INFO L174 SettingsManager]: Resetting LassoRanker preferences to default values [2018-11-22 22:27:49,673 INFO L174 SettingsManager]: Resetting Reaching Definitions preferences to default values [2018-11-22 22:27:49,674 INFO L174 SettingsManager]: Resetting SyntaxChecker preferences to default values [2018-11-22 22:27:49,674 INFO L177 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2018-11-22 22:27:49,675 INFO L174 SettingsManager]: Resetting LTL2Aut preferences to default values [2018-11-22 22:27:49,675 INFO L174 SettingsManager]: Resetting PEA to Boogie preferences to default values [2018-11-22 22:27:49,676 INFO L174 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2018-11-22 22:27:49,677 INFO L174 SettingsManager]: Resetting ChcToBoogie preferences to default values [2018-11-22 22:27:49,677 INFO L174 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2018-11-22 22:27:49,678 INFO L174 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2018-11-22 22:27:49,679 INFO L174 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2018-11-22 22:27:49,680 INFO L174 SettingsManager]: Resetting CodeCheck preferences to default values [2018-11-22 22:27:49,681 INFO L174 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2018-11-22 22:27:49,682 INFO L174 SettingsManager]: Resetting RCFGBuilder preferences to default values [2018-11-22 22:27:49,683 INFO L174 SettingsManager]: Resetting TraceAbstraction preferences to default values [2018-11-22 22:27:49,684 INFO L177 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2018-11-22 22:27:49,685 INFO L177 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2018-11-22 22:27:49,685 INFO L174 SettingsManager]: Resetting TreeAutomizer preferences to default values [2018-11-22 22:27:49,686 INFO L174 SettingsManager]: Resetting IcfgTransformer preferences to default values [2018-11-22 22:27:49,686 INFO L174 SettingsManager]: Resetting Boogie Printer preferences to default values [2018-11-22 22:27:49,687 INFO L174 SettingsManager]: Resetting ReqPrinter preferences to default values [2018-11-22 22:27:49,687 INFO L174 SettingsManager]: Resetting Witness Printer preferences to default values [2018-11-22 22:27:49,688 INFO L177 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2018-11-22 22:27:49,688 INFO L174 SettingsManager]: Resetting CDTParser preferences to default values [2018-11-22 22:27:49,689 INFO L177 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2018-11-22 22:27:49,689 INFO L177 SettingsManager]: ReqParser provides no preferences, ignoring... [2018-11-22 22:27:49,689 INFO L174 SettingsManager]: Resetting SmtParser preferences to default values [2018-11-22 22:27:49,690 INFO L174 SettingsManager]: Resetting Witness Parser preferences to default values [2018-11-22 22:27:49,690 INFO L181 SettingsManager]: Finished resetting all preferences to default values... [2018-11-22 22:27:49,690 INFO L98 SettingsManager]: Beginning loading settings from /tmp/vcloud-vcloud-master/worker/working_dir_08bffa03-2ed3-4a1f-8d88-cc38e1c1b291/bin-2019/utaipan/config/svcomp-Reach-32bit-Taipan_Default.epf [2018-11-22 22:27:49,701 INFO L110 SettingsManager]: Loading preferences was successful [2018-11-22 22:27:49,701 INFO L112 SettingsManager]: Preferences different from defaults after loading the file: [2018-11-22 22:27:49,701 INFO L131 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2018-11-22 22:27:49,701 INFO L133 SettingsManager]: * ... calls to implemented procedures=ONLY_FOR_CONCURRENT_PROGRAMS [2018-11-22 22:27:49,702 INFO L133 SettingsManager]: * User list type=DISABLED [2018-11-22 22:27:49,702 INFO L131 SettingsManager]: Preferences of Abstract Interpretation differ from their defaults: [2018-11-22 22:27:49,702 INFO L133 SettingsManager]: * Explicit value domain=true [2018-11-22 22:27:49,702 INFO L133 SettingsManager]: * Abstract domain for RCFG-of-the-future=PoormanAbstractDomain [2018-11-22 22:27:49,702 INFO L133 SettingsManager]: * Octagon Domain=false [2018-11-22 22:27:49,702 INFO L133 SettingsManager]: * Abstract domain=CompoundDomain [2018-11-22 22:27:49,702 INFO L133 SettingsManager]: * Check feasibility of abstract posts with an SMT solver=true [2018-11-22 22:27:49,702 INFO L133 SettingsManager]: * Use the RCFG-of-the-future interface=true [2018-11-22 22:27:49,703 INFO L133 SettingsManager]: * Interval Domain=false [2018-11-22 22:27:49,703 INFO L131 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2018-11-22 22:27:49,703 INFO L133 SettingsManager]: * sizeof long=4 [2018-11-22 22:27:49,703 INFO L133 SettingsManager]: * Overapproximate operations on floating types=true [2018-11-22 22:27:49,703 INFO L133 SettingsManager]: * sizeof POINTER=4 [2018-11-22 22:27:49,704 INFO L133 SettingsManager]: * Check division by zero=IGNORE [2018-11-22 22:27:49,704 INFO L133 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2018-11-22 22:27:49,704 INFO L133 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2018-11-22 22:27:49,704 INFO L133 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2018-11-22 22:27:49,704 INFO L133 SettingsManager]: * sizeof long double=12 [2018-11-22 22:27:49,704 INFO L133 SettingsManager]: * Check if freed pointer was valid=false [2018-11-22 22:27:49,704 INFO L133 SettingsManager]: * Use constant arrays=true [2018-11-22 22:27:49,705 INFO L133 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2018-11-22 22:27:49,705 INFO L131 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2018-11-22 22:27:49,705 INFO L133 SettingsManager]: * Size of a code block=SequenceOfStatements [2018-11-22 22:27:49,705 INFO L133 SettingsManager]: * To the following directory=./dump/ [2018-11-22 22:27:49,705 INFO L133 SettingsManager]: * SMT solver=External_DefaultMode [2018-11-22 22:27:49,705 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2018-11-22 22:27:49,705 INFO L131 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2018-11-22 22:27:49,706 INFO L133 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2018-11-22 22:27:49,706 INFO L133 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2018-11-22 22:27:49,706 INFO L133 SettingsManager]: * Trace refinement strategy=TAIPAN [2018-11-22 22:27:49,706 INFO L133 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2018-11-22 22:27:49,706 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2018-11-22 22:27:49,706 INFO L133 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2018-11-22 22:27:49,706 INFO L133 SettingsManager]: * Abstract interpretation Mode=USE_PREDICATES 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_08bffa03-2ed3-4a1f-8d88-cc38e1c1b291/bin-2019/utaipan 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 -> Taipan 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 -> 0fa375491f6ee23468a1ede5cb9608fff6035ced [2018-11-22 22:27:49,731 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2018-11-22 22:27:49,740 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2018-11-22 22:27:49,742 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2018-11-22 22:27:49,743 INFO L271 PluginConnector]: Initializing CDTParser... [2018-11-22 22:27:49,744 INFO L276 PluginConnector]: CDTParser initialized [2018-11-22 22:27:49,744 INFO L418 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /tmp/vcloud-vcloud-master/worker/working_dir_08bffa03-2ed3-4a1f-8d88-cc38e1c1b291/bin-2019/utaipan/../../sv-benchmarks/c/float-newlib/double_req_bl_1051_true-unreach-call.c [2018-11-22 22:27:49,782 INFO L221 CDTParser]: Created temporary CDT project at /tmp/vcloud-vcloud-master/worker/working_dir_08bffa03-2ed3-4a1f-8d88-cc38e1c1b291/bin-2019/utaipan/data/d3b71dea2/3b0a203eecf249569faef302463f3725/FLAG2e5d0b8d0 [2018-11-22 22:27:50,173 INFO L307 CDTParser]: Found 1 translation units. [2018-11-22 22:27:50,174 INFO L161 CDTParser]: Scanning /tmp/vcloud-vcloud-master/worker/working_dir_08bffa03-2ed3-4a1f-8d88-cc38e1c1b291/sv-benchmarks/c/float-newlib/double_req_bl_1051_true-unreach-call.c [2018-11-22 22:27:50,177 INFO L355 CDTParser]: About to delete temporary CDT project at /tmp/vcloud-vcloud-master/worker/working_dir_08bffa03-2ed3-4a1f-8d88-cc38e1c1b291/bin-2019/utaipan/data/d3b71dea2/3b0a203eecf249569faef302463f3725/FLAG2e5d0b8d0 [2018-11-22 22:27:50,186 INFO L363 CDTParser]: Successfully deleted /tmp/vcloud-vcloud-master/worker/working_dir_08bffa03-2ed3-4a1f-8d88-cc38e1c1b291/bin-2019/utaipan/data/d3b71dea2/3b0a203eecf249569faef302463f3725 [2018-11-22 22:27:50,188 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2018-11-22 22:27:50,188 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2018-11-22 22:27:50,189 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2018-11-22 22:27:50,189 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2018-11-22 22:27:50,192 INFO L276 PluginConnector]: CACSL2BoogieTranslator initialized [2018-11-22 22:27:50,192 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 22.11 10:27:50" (1/1) ... [2018-11-22 22:27:50,194 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@2adc4100 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 10:27:50, skipping insertion in model container [2018-11-22 22:27:50,194 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 22.11 10:27:50" (1/1) ... [2018-11-22 22:27:50,202 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2018-11-22 22:27:50,219 INFO L176 MainTranslator]: Built tables and reachable declarations [2018-11-22 22:27:50,349 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-22 22:27:50,351 INFO L191 MainTranslator]: Completed pre-run [2018-11-22 22:27:50,369 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-22 22:27:50,382 INFO L195 MainTranslator]: Completed translation [2018-11-22 22:27:50,382 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 10:27:50 WrapperNode [2018-11-22 22:27:50,382 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2018-11-22 22:27:50,383 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2018-11-22 22:27:50,383 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2018-11-22 22:27:50,383 INFO L276 PluginConnector]: Boogie Procedure Inliner initialized [2018-11-22 22:27:50,388 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 10:27:50" (1/1) ... [2018-11-22 22:27:50,394 INFO L185 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 10:27:50" (1/1) ... [2018-11-22 22:27:50,433 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2018-11-22 22:27:50,433 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2018-11-22 22:27:50,433 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2018-11-22 22:27:50,433 INFO L276 PluginConnector]: Boogie Preprocessor initialized [2018-11-22 22:27:50,439 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 10:27:50" (1/1) ... [2018-11-22 22:27:50,439 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 10:27:50" (1/1) ... [2018-11-22 22:27:50,441 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 10:27:50" (1/1) ... [2018-11-22 22:27:50,441 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 10:27:50" (1/1) ... [2018-11-22 22:27:50,450 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 10:27:50" (1/1) ... [2018-11-22 22:27:50,454 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 10:27:50" (1/1) ... [2018-11-22 22:27:50,456 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 10:27:50" (1/1) ... [2018-11-22 22:27:50,457 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2018-11-22 22:27:50,458 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2018-11-22 22:27:50,458 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2018-11-22 22:27:50,458 INFO L276 PluginConnector]: RCFGBuilder initialized [2018-11-22 22:27:50,459 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 10:27:50" (1/1) ... No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_08bffa03-2ed3-4a1f-8d88-cc38e1c1b291/bin-2019/utaipan/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-22 22:27:50,493 INFO L130 BoogieDeclarations]: Found specification of procedure read~real [2018-11-22 22:27:50,493 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2018-11-22 22:27:50,493 INFO L130 BoogieDeclarations]: Found specification of procedure floor_double [2018-11-22 22:27:50,493 INFO L138 BoogieDeclarations]: Found implementation of procedure floor_double [2018-11-22 22:27:50,493 INFO L130 BoogieDeclarations]: Found specification of procedure isnan_double [2018-11-22 22:27:50,494 INFO L138 BoogieDeclarations]: Found implementation of procedure isnan_double [2018-11-22 22:27:50,494 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2018-11-22 22:27:50,494 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2018-11-22 22:27:50,494 INFO L130 BoogieDeclarations]: Found specification of procedure write~real [2018-11-22 22:27:50,494 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.alloc [2018-11-22 22:27:50,494 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2018-11-22 22:27:50,494 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2018-11-22 22:27:50,494 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2018-11-22 22:27:50,494 INFO L130 BoogieDeclarations]: Found specification of procedure main [2018-11-22 22:27:50,494 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2018-11-22 22:27:50,494 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2018-11-22 22:27:50,684 INFO L275 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2018-11-22 22:27:50,684 INFO L280 CfgBuilder]: Removed 4 assue(true) statements. [2018-11-22 22:27:50,684 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 22.11 10:27:50 BoogieIcfgContainer [2018-11-22 22:27:50,684 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2018-11-22 22:27:50,685 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2018-11-22 22:27:50,685 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2018-11-22 22:27:50,688 INFO L276 PluginConnector]: TraceAbstraction initialized [2018-11-22 22:27:50,688 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 22.11 10:27:50" (1/3) ... [2018-11-22 22:27:50,689 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@73bafe5f and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 22.11 10:27:50, skipping insertion in model container [2018-11-22 22:27:50,689 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 10:27:50" (2/3) ... [2018-11-22 22:27:50,690 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@73bafe5f and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 22.11 10:27:50, skipping insertion in model container [2018-11-22 22:27:50,690 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 22.11 10:27:50" (3/3) ... [2018-11-22 22:27:50,691 INFO L112 eAbstractionObserver]: Analyzing ICFG double_req_bl_1051_true-unreach-call.c [2018-11-22 22:27:50,697 INFO L156 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2018-11-22 22:27:50,701 INFO L168 ceAbstractionStarter]: Appying trace abstraction to program that has 1 error locations. [2018-11-22 22:27:50,715 INFO L257 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2018-11-22 22:27:50,734 INFO L382 AbstractCegarLoop]: Interprodecural is true [2018-11-22 22:27:50,734 INFO L383 AbstractCegarLoop]: Hoare is true [2018-11-22 22:27:50,734 INFO L384 AbstractCegarLoop]: Compute interpolants for FPandBP [2018-11-22 22:27:50,734 INFO L385 AbstractCegarLoop]: Backedges is STRAIGHT_LINE [2018-11-22 22:27:50,734 INFO L386 AbstractCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2018-11-22 22:27:50,734 INFO L387 AbstractCegarLoop]: Difference is false [2018-11-22 22:27:50,734 INFO L388 AbstractCegarLoop]: Minimize is MINIMIZE_SEVPA [2018-11-22 22:27:50,734 INFO L393 AbstractCegarLoop]: ======== Iteration 0==of CEGAR loop == AllErrorsAtOnce======== [2018-11-22 22:27:50,745 INFO L276 IsEmpty]: Start isEmpty. Operand 47 states. [2018-11-22 22:27:50,750 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 24 [2018-11-22 22:27:50,750 INFO L394 BasicCegarLoop]: Found error trace [2018-11-22 22:27:50,751 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-22 22:27:50,752 INFO L423 AbstractCegarLoop]: === Iteration 1 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-22 22:27:50,757 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-22 22:27:50,757 INFO L82 PathProgramCache]: Analyzing trace with hash 1635654302, now seen corresponding path program 1 times [2018-11-22 22:27:50,759 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-11-22 22:27:50,795 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-22 22:27:50,795 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-22 22:27:50,795 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-22 22:27:50,795 INFO L286 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-11-22 22:27:50,825 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-22 22:27:50,853 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-22 22:27:50,854 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-22 22:27:50,855 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2018-11-22 22:27:50,855 INFO L256 anRefinementStrategy]: Using the first perfect interpolant sequence [2018-11-22 22:27:50,860 INFO L459 AbstractCegarLoop]: Interpolant automaton has 2 states [2018-11-22 22:27:50,868 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 2 interpolants. [2018-11-22 22:27:50,868 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2018-11-22 22:27:50,870 INFO L87 Difference]: Start difference. First operand 47 states. Second operand 2 states. [2018-11-22 22:27:50,884 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-22 22:27:50,884 INFO L93 Difference]: Finished difference Result 86 states and 124 transitions. [2018-11-22 22:27:50,884 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2018-11-22 22:27:50,885 INFO L78 Accepts]: Start accepts. Automaton has 2 states. Word has length 23 [2018-11-22 22:27:50,886 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-22 22:27:50,893 INFO L225 Difference]: With dead ends: 86 [2018-11-22 22:27:50,893 INFO L226 Difference]: Without dead ends: 43 [2018-11-22 22:27:50,896 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-22 22:27:50,906 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 43 states. [2018-11-22 22:27:50,917 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 43 to 43. [2018-11-22 22:27:50,918 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 43 states. [2018-11-22 22:27:50,920 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 43 states to 43 states and 57 transitions. [2018-11-22 22:27:50,921 INFO L78 Accepts]: Start accepts. Automaton has 43 states and 57 transitions. Word has length 23 [2018-11-22 22:27:50,922 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-22 22:27:50,922 INFO L480 AbstractCegarLoop]: Abstraction has 43 states and 57 transitions. [2018-11-22 22:27:50,922 INFO L481 AbstractCegarLoop]: Interpolant automaton has 2 states. [2018-11-22 22:27:50,922 INFO L276 IsEmpty]: Start isEmpty. Operand 43 states and 57 transitions. [2018-11-22 22:27:50,922 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 25 [2018-11-22 22:27:50,923 INFO L394 BasicCegarLoop]: Found error trace [2018-11-22 22:27:50,923 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-22 22:27:50,923 INFO L423 AbstractCegarLoop]: === Iteration 2 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-22 22:27:50,923 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-22 22:27:50,923 INFO L82 PathProgramCache]: Analyzing trace with hash 744784661, now seen corresponding path program 1 times [2018-11-22 22:27:50,923 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-11-22 22:27:50,924 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-22 22:27:50,925 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-22 22:27:50,925 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-22 22:27:50,925 INFO L286 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-11-22 22:27:50,956 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-22 22:27:50,975 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-22 22:27:50,990 INFO L469 BasicCegarLoop]: Counterexample might be feasible ----- class de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder.RCFGBacktranslator [?] CALL call ULTIMATE.init(); VAL [|#NULL.base|=6442450951, |#NULL.offset|=6442450945, |old(#NULL.base)|=6442450951, |old(#NULL.offset)|=6442450945, |old(~huge_floor~0)|=6442450948.0, ~huge_floor~0=6442450948.0] [?] #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~huge_floor~0 := 1.0E300; VAL [|#NULL.base|=0, |#NULL.offset|=0, |old(#NULL.base)|=6442450951, |old(#NULL.offset)|=6442450945, |old(~huge_floor~0)|=6442450948.0, ~huge_floor~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0] [?] assume true; VAL [|#NULL.base|=0, |#NULL.offset|=0, |old(#NULL.base)|=6442450951, |old(#NULL.offset)|=6442450945, |old(~huge_floor~0)|=6442450948.0, ~huge_floor~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0] [?] RET #129#return; VAL [|#NULL.base|=0, |#NULL.offset|=0, ~huge_floor~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0] [?] CALL call #t~ret8 := main(); VAL [|#NULL.base|=0, |#NULL.offset|=0, ~huge_floor~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0] [?] ~x~0 := ~someBinaryArithmeticDOUBLEoperation(0.0, 0.0); VAL [|#NULL.base|=0, |#NULL.offset|=0, ~huge_floor~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0] [?] CALL call #t~ret6 := floor_double(~x~0); VAL [|#NULL.base|=0, |#NULL.offset|=0, |floor_double_#in~x|=6442450952.0, ~huge_floor~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0] [?] ~x := #in~x;havoc ~i0~0;havoc ~i1~0;havoc ~j0~0;havoc ~i~0;havoc ~j~0; VAL [floor_double_~x=6442450952.0, |#NULL.base|=0, |#NULL.offset|=0, |floor_double_#in~x|=6442450952.0, ~huge_floor~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 [floor_double_~i0~0=(- 2147483648), floor_double_~i1~0=3, floor_double_~x=6442450952.0, |#NULL.base|=0, |#NULL.offset|=0, |floor_double_#in~x|=6442450952.0, ~huge_floor~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0] [?] goto; VAL [floor_double_~i0~0=(- 2147483648), floor_double_~i1~0=3, floor_double_~x=6442450952.0, |#NULL.base|=0, |#NULL.offset|=0, |floor_double_#in~x|=6442450952.0, ~huge_floor~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0] [?] ~j0~0 := ~bitwiseAnd(~i0~0 / 1048576, 2047) - 1023; VAL [floor_double_~i0~0=(- 2147483648), floor_double_~i1~0=3, floor_double_~x=6442450952.0, |#NULL.base|=0, |#NULL.offset|=0, |floor_double_#in~x|=6442450952.0, ~huge_floor~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0] [?] assume ~j0~0 < 20; VAL [floor_double_~i0~0=(- 2147483648), floor_double_~i1~0=3, floor_double_~j0~0=0, floor_double_~x=6442450952.0, |#NULL.base|=0, |#NULL.offset|=0, |floor_double_#in~x|=6442450952.0, ~huge_floor~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0] [?] assume !(~j0~0 < 0);~i~0 := ~shiftRight(1048575, ~j0~0); VAL [floor_double_~i0~0=(- 2147483648), floor_double_~i1~0=3, floor_double_~j0~0=0, floor_double_~x=6442450952.0, |#NULL.base|=0, |#NULL.offset|=0, |floor_double_#in~x|=6442450952.0, ~huge_floor~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0] [?] assume 0 == ~bitwiseOr(~bitwiseAnd(~i0~0, ~i~0), ~i1~0) % 4294967296;#res := ~x; VAL [floor_double_~i0~0=(- 2147483648), floor_double_~i1~0=3, floor_double_~j0~0=0, floor_double_~x=6442450952.0, |#NULL.base|=0, |#NULL.offset|=0, |floor_double_#in~x|=6442450952.0, |floor_double_#res|=6442450952.0, ~huge_floor~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0] [?] assume true; VAL [floor_double_~i0~0=(- 2147483648), floor_double_~i1~0=3, floor_double_~j0~0=0, floor_double_~x=6442450952.0, |#NULL.base|=0, |#NULL.offset|=0, |floor_double_#in~x|=6442450952.0, |floor_double_#res|=6442450952.0, ~huge_floor~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0] [?] RET #133#return; VAL [main_~x~0=6442450952.0, |#NULL.base|=0, |#NULL.offset|=0, |main_#t~ret6|=6442450952.0, ~huge_floor~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0] [?] ~res~0 := #t~ret6;havoc #t~ret6; VAL [main_~res~0=6442450952.0, main_~x~0=6442450952.0, |#NULL.base|=0, |#NULL.offset|=0, ~huge_floor~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0] [?] CALL call #t~ret7 := isnan_double(~res~0); VAL [|#NULL.base|=0, |#NULL.offset|=0, |isnan_double_#in~x|=6442450952.0, ~huge_floor~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0] [?] ~x := #in~x;#res := (if ~someBinaryDOUBLEComparisonOperation(~x, ~x) then 1 else 0); VAL [isnan_double_~x=6442450952.0, |#NULL.base|=0, |#NULL.offset|=0, |isnan_double_#in~x|=6442450952.0, |isnan_double_#res|=0, ~huge_floor~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0] [?] assume true; VAL [isnan_double_~x=6442450952.0, |#NULL.base|=0, |#NULL.offset|=0, |isnan_double_#in~x|=6442450952.0, |isnan_double_#res|=0, ~huge_floor~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0] [?] RET #135#return; VAL [main_~res~0=6442450952.0, main_~x~0=6442450952.0, |#NULL.base|=0, |#NULL.offset|=0, |main_#t~ret7|=0, ~huge_floor~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0] [?] assume -2147483648 <= #t~ret7 && #t~ret7 <= 2147483647; VAL [main_~res~0=6442450952.0, main_~x~0=6442450952.0, |#NULL.base|=0, |#NULL.offset|=0, |main_#t~ret7|=0, ~huge_floor~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0] [?] assume 0 == #t~ret7;havoc #t~ret7; VAL [main_~res~0=6442450952.0, main_~x~0=6442450952.0, |#NULL.base|=0, |#NULL.offset|=0, ~huge_floor~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0] [?] assume !false; VAL [main_~res~0=6442450952.0, main_~x~0=6442450952.0, |#NULL.base|=0, |#NULL.offset|=0, ~huge_floor~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0] [?] CALL call ULTIMATE.init(); VAL [#NULL.base=6442450951, #NULL.offset=6442450945, old(#NULL.base)=6442450951, old(#NULL.offset)=6442450945, old(~huge_floor~0)=6.442450948E9, ~huge_floor~0=6.442450948E9] [?] #NULL.base, #NULL.offset := 0, 0; [?] #valid := #valid[0 := 0]; [L14] ~huge_floor~0 := 1.0E300; VAL [#NULL.base=0, #NULL.offset=0, old(#NULL.base)=6442450951, old(#NULL.offset)=6442450945, old(~huge_floor~0)=6.442450948E9, ~huge_floor~0=1.0E300] [?] ensures true; VAL [#NULL.base=0, #NULL.offset=0, old(#NULL.base)=6442450951, old(#NULL.offset)=6442450945, old(~huge_floor~0)=6.442450948E9, ~huge_floor~0=1.0E300] [?] RET call ULTIMATE.init(); VAL [#NULL.base=0, #NULL.offset=0, ~huge_floor~0=1.0E300] [?] CALL call #t~ret8 := main(); VAL [#NULL.base=0, #NULL.offset=0, ~huge_floor~0=1.0E300] [L88] ~x~0 := ~someBinaryArithmeticDOUBLEoperation(0.0, 0.0); VAL [#NULL.base=0, #NULL.offset=0, ~huge_floor~0=1.0E300] [L89] CALL call #t~ret6 := floor_double(~x~0); VAL [#in~x=6.442450952E9, #NULL.base=0, #NULL.offset=0, ~huge_floor~0=1.0E300] [L16-L77] ~x := #in~x; [L17] havoc ~i0~0; [L17] havoc ~i1~0; [L17] havoc ~j0~0; [L18] havoc ~i~0; [L18] havoc ~j~0; VAL [#in~x=6.442450952E9, #NULL.base=0, #NULL.offset=0, ~huge_floor~0=1.0E300, ~x=6.442450952E9] [L20] call ~#ew_u~0.base, ~#ew_u~0.offset := #Ultimate.alloc(8); [L21] call write~real(~x, ~#ew_u~0.base, ~#ew_u~0.offset, 8); [L22] call #t~mem0 := read~int(~#ew_u~0.base, 4 + ~#ew_u~0.offset, 4); [L22] ~i0~0 := (if #t~mem0 % 4294967296 % 4294967296 <= 2147483647 then #t~mem0 % 4294967296 % 4294967296 else #t~mem0 % 4294967296 % 4294967296 - 4294967296); [L22] call write~real(#t~union1, ~#ew_u~0.base, ~#ew_u~0.offset, 8); [L22] havoc #t~mem0; [L22] havoc #t~union1; [L23] call #t~mem2 := read~int(~#ew_u~0.base, ~#ew_u~0.offset, 4); [L23] ~i1~0 := (if #t~mem2 % 4294967296 % 4294967296 <= 2147483647 then #t~mem2 % 4294967296 % 4294967296 else #t~mem2 % 4294967296 % 4294967296 - 4294967296); [L23] call write~real(#t~union3, ~#ew_u~0.base, ~#ew_u~0.offset, 8); [L23] havoc #t~union3; [L23] havoc #t~mem2; [L20] call ULTIMATE.dealloc(~#ew_u~0.base, ~#ew_u~0.offset); [L20] havoc ~#ew_u~0.base, ~#ew_u~0.offset; VAL [#in~x=6.442450952E9, #NULL.base=0, #NULL.offset=0, ~huge_floor~0=1.0E300, ~i0~0=-2147483648, ~i1~0=3, ~x=6.442450952E9] [L25] ~j0~0 := ~bitwiseAnd(~i0~0 / 1048576, 2047) - 1023; VAL [#in~x=6.442450952E9, #NULL.base=0, #NULL.offset=0, ~huge_floor~0=1.0E300, ~i0~0=-2147483648, ~i1~0=3, ~x=6.442450952E9] [L26-L69] assume ~j0~0 < 20; VAL [#in~x=6.442450952E9, #NULL.base=0, #NULL.offset=0, ~huge_floor~0=1.0E300, ~i0~0=-2147483648, ~i1~0=3, ~j0~0=0, ~x=6.442450952E9] [L27-L46] assume !(~j0~0 < 0); [L37] ~i~0 := ~shiftRight(1048575, ~j0~0); VAL [#in~x=6.442450952E9, #NULL.base=0, #NULL.offset=0, ~huge_floor~0=1.0E300, ~i0~0=-2147483648, ~i1~0=3, ~j0~0=0, ~x=6.442450952E9] [L38-L39] assume 0 == ~bitwiseOr(~bitwiseAnd(~i0~0, ~i~0), ~i1~0) % 4294967296; [L39] #res := ~x; VAL [#in~x=6.442450952E9, #NULL.base=0, #NULL.offset=0, #res=6.442450952E9, ~huge_floor~0=1.0E300, ~i0~0=-2147483648, ~i1~0=3, ~j0~0=0, ~x=6.442450952E9] [L16-L77] ensures true; VAL [#in~x=6.442450952E9, #NULL.base=0, #NULL.offset=0, #res=6.442450952E9, ~huge_floor~0=1.0E300, ~i0~0=-2147483648, ~i1~0=3, ~j0~0=0, ~x=6.442450952E9] [L89] RET call #t~ret6 := floor_double(~x~0); VAL [#NULL.base=0, #NULL.offset=0, #t~ret6=6.442450952E9, ~huge_floor~0=1.0E300, ~x~0=6.442450952E9] [L89] ~res~0 := #t~ret6; [L89] havoc #t~ret6; VAL [#NULL.base=0, #NULL.offset=0, ~huge_floor~0=1.0E300, ~res~0=6.442450952E9, ~x~0=6.442450952E9] [L92] CALL call #t~ret7 := isnan_double(~res~0); VAL [#in~x=6.442450952E9, #NULL.base=0, #NULL.offset=0, ~huge_floor~0=1.0E300] [L80] ~x := #in~x; [L80] #res := (if ~someBinaryDOUBLEComparisonOperation(~x, ~x) then 1 else 0); VAL [#in~x=6.442450952E9, #NULL.base=0, #NULL.offset=0, #res=0, ~huge_floor~0=1.0E300, ~x=6.442450952E9] [L80] ensures true; VAL [#in~x=6.442450952E9, #NULL.base=0, #NULL.offset=0, #res=0, ~huge_floor~0=1.0E300, ~x=6.442450952E9] [L92] RET call #t~ret7 := isnan_double(~res~0); VAL [#NULL.base=0, #NULL.offset=0, #t~ret7=0, ~huge_floor~0=1.0E300, ~res~0=6.442450952E9, ~x~0=6.442450952E9] [L92] assume -2147483648 <= #t~ret7 && #t~ret7 <= 2147483647; VAL [#NULL.base=0, #NULL.offset=0, #t~ret7=0, ~huge_floor~0=1.0E300, ~res~0=6.442450952E9, ~x~0=6.442450952E9] [L92-L95] assume 0 == #t~ret7; [L92] havoc #t~ret7; VAL [#NULL.base=0, #NULL.offset=0, ~huge_floor~0=1.0E300, ~res~0=6.442450952E9, ~x~0=6.442450952E9] [L93] assert false; VAL [#NULL.base=0, #NULL.offset=0, ~huge_floor~0=1.0E300, ~res~0=6.442450952E9, ~x~0=6.442450952E9] ----- ----- class de.uni_freiburg.informatik.ultimate.boogie.preprocessor.BoogiePreprocessorBacktranslator [?] CALL call ULTIMATE.init(); VAL [#NULL.base=6442450951, #NULL.offset=6442450945, old(#NULL.base)=6442450951, old(#NULL.offset)=6442450945, old(~huge_floor~0)=6.442450948E9, ~huge_floor~0=6.442450948E9] [?] #NULL.base, #NULL.offset := 0, 0; [?] #valid := #valid[0 := 0]; [L14] ~huge_floor~0 := 1.0E300; VAL [#NULL.base=0, #NULL.offset=0, old(#NULL.base)=6442450951, old(#NULL.offset)=6442450945, old(~huge_floor~0)=6.442450948E9, ~huge_floor~0=1.0E300] [?] ensures true; VAL [#NULL.base=0, #NULL.offset=0, old(#NULL.base)=6442450951, old(#NULL.offset)=6442450945, old(~huge_floor~0)=6.442450948E9, ~huge_floor~0=1.0E300] [?] RET call ULTIMATE.init(); VAL [#NULL.base=0, #NULL.offset=0, ~huge_floor~0=1.0E300] [?] CALL call #t~ret8 := main(); VAL [#NULL.base=0, #NULL.offset=0, ~huge_floor~0=1.0E300] [L88] ~x~0 := ~someBinaryArithmeticDOUBLEoperation(0.0, 0.0); VAL [#NULL.base=0, #NULL.offset=0, ~huge_floor~0=1.0E300] [L89] CALL call #t~ret6 := floor_double(~x~0); VAL [#in~x=6.442450952E9, #NULL.base=0, #NULL.offset=0, ~huge_floor~0=1.0E300] [L16-L77] ~x := #in~x; [L17] havoc ~i0~0; [L17] havoc ~i1~0; [L17] havoc ~j0~0; [L18] havoc ~i~0; [L18] havoc ~j~0; VAL [#in~x=6.442450952E9, #NULL.base=0, #NULL.offset=0, ~huge_floor~0=1.0E300, ~x=6.442450952E9] [L20] call ~#ew_u~0.base, ~#ew_u~0.offset := #Ultimate.alloc(8); [L21] call write~real(~x, ~#ew_u~0.base, ~#ew_u~0.offset, 8); [L22] call #t~mem0 := read~int(~#ew_u~0.base, 4 + ~#ew_u~0.offset, 4); [L22] ~i0~0 := (if #t~mem0 % 4294967296 % 4294967296 <= 2147483647 then #t~mem0 % 4294967296 % 4294967296 else #t~mem0 % 4294967296 % 4294967296 - 4294967296); [L22] call write~real(#t~union1, ~#ew_u~0.base, ~#ew_u~0.offset, 8); [L22] havoc #t~mem0; [L22] havoc #t~union1; [L23] call #t~mem2 := read~int(~#ew_u~0.base, ~#ew_u~0.offset, 4); [L23] ~i1~0 := (if #t~mem2 % 4294967296 % 4294967296 <= 2147483647 then #t~mem2 % 4294967296 % 4294967296 else #t~mem2 % 4294967296 % 4294967296 - 4294967296); [L23] call write~real(#t~union3, ~#ew_u~0.base, ~#ew_u~0.offset, 8); [L23] havoc #t~union3; [L23] havoc #t~mem2; [L20] call ULTIMATE.dealloc(~#ew_u~0.base, ~#ew_u~0.offset); [L20] havoc ~#ew_u~0.base, ~#ew_u~0.offset; VAL [#in~x=6.442450952E9, #NULL.base=0, #NULL.offset=0, ~huge_floor~0=1.0E300, ~i0~0=-2147483648, ~i1~0=3, ~x=6.442450952E9] [L25] ~j0~0 := ~bitwiseAnd(~i0~0 / 1048576, 2047) - 1023; VAL [#in~x=6.442450952E9, #NULL.base=0, #NULL.offset=0, ~huge_floor~0=1.0E300, ~i0~0=-2147483648, ~i1~0=3, ~x=6.442450952E9] [L26-L69] assume ~j0~0 < 20; VAL [#in~x=6.442450952E9, #NULL.base=0, #NULL.offset=0, ~huge_floor~0=1.0E300, ~i0~0=-2147483648, ~i1~0=3, ~j0~0=0, ~x=6.442450952E9] [L27-L46] assume !(~j0~0 < 0); [L37] ~i~0 := ~shiftRight(1048575, ~j0~0); VAL [#in~x=6.442450952E9, #NULL.base=0, #NULL.offset=0, ~huge_floor~0=1.0E300, ~i0~0=-2147483648, ~i1~0=3, ~j0~0=0, ~x=6.442450952E9] [L38-L39] assume 0 == ~bitwiseOr(~bitwiseAnd(~i0~0, ~i~0), ~i1~0) % 4294967296; [L39] #res := ~x; VAL [#in~x=6.442450952E9, #NULL.base=0, #NULL.offset=0, #res=6.442450952E9, ~huge_floor~0=1.0E300, ~i0~0=-2147483648, ~i1~0=3, ~j0~0=0, ~x=6.442450952E9] [L16-L77] ensures true; VAL [#in~x=6.442450952E9, #NULL.base=0, #NULL.offset=0, #res=6.442450952E9, ~huge_floor~0=1.0E300, ~i0~0=-2147483648, ~i1~0=3, ~j0~0=0, ~x=6.442450952E9] [L89] RET call #t~ret6 := floor_double(~x~0); VAL [#NULL.base=0, #NULL.offset=0, #t~ret6=6.442450952E9, ~huge_floor~0=1.0E300, ~x~0=6.442450952E9] [L89] ~res~0 := #t~ret6; [L89] havoc #t~ret6; VAL [#NULL.base=0, #NULL.offset=0, ~huge_floor~0=1.0E300, ~res~0=6.442450952E9, ~x~0=6.442450952E9] [L92] CALL call #t~ret7 := isnan_double(~res~0); VAL [#in~x=6.442450952E9, #NULL.base=0, #NULL.offset=0, ~huge_floor~0=1.0E300] [L80] ~x := #in~x; [L80] #res := (if ~someBinaryDOUBLEComparisonOperation(~x, ~x) then 1 else 0); VAL [#in~x=6.442450952E9, #NULL.base=0, #NULL.offset=0, #res=0, ~huge_floor~0=1.0E300, ~x=6.442450952E9] [L80] ensures true; VAL [#in~x=6.442450952E9, #NULL.base=0, #NULL.offset=0, #res=0, ~huge_floor~0=1.0E300, ~x=6.442450952E9] [L92] RET call #t~ret7 := isnan_double(~res~0); VAL [#NULL.base=0, #NULL.offset=0, #t~ret7=0, ~huge_floor~0=1.0E300, ~res~0=6.442450952E9, ~x~0=6.442450952E9] [L92] assume -2147483648 <= #t~ret7 && #t~ret7 <= 2147483647; VAL [#NULL.base=0, #NULL.offset=0, #t~ret7=0, ~huge_floor~0=1.0E300, ~res~0=6.442450952E9, ~x~0=6.442450952E9] [L92-L95] assume 0 == #t~ret7; [L92] havoc #t~ret7; VAL [#NULL.base=0, #NULL.offset=0, ~huge_floor~0=1.0E300, ~res~0=6.442450952E9, ~x~0=6.442450952E9] [L93] assert false; VAL [#NULL.base=0, #NULL.offset=0, ~huge_floor~0=1.0E300, ~res~0=6.442450952E9, ~x~0=6.442450952E9] [?] CALL call ULTIMATE.init(); VAL [#NULL!base=6442450951, #NULL!offset=6442450945, old(#NULL!base)=6442450951, old(#NULL!offset)=6442450945, old(~huge_floor~0)=6.442450948E9, ~huge_floor~0=6.442450948E9] [?] #NULL := { base: 0, offset: 0 }; [?] #valid[0] := 0; [L14] ~huge_floor~0 := 1.0E300; VAL [#NULL!base=0, #NULL!offset=0, old(#NULL!base)=6442450951, old(#NULL!offset)=6442450945, old(~huge_floor~0)=6.442450948E9, ~huge_floor~0=1.0E300] [?] RET call ULTIMATE.init(); VAL [#NULL!base=0, #NULL!offset=0, ~huge_floor~0=1.0E300] [?] CALL call #t~ret8 := main(); VAL [#NULL!base=0, #NULL!offset=0, ~huge_floor~0=1.0E300] [L88] ~x~0 := ~someBinaryArithmeticDOUBLEoperation(0.0, 0.0); VAL [#NULL!base=0, #NULL!offset=0, ~huge_floor~0=1.0E300] [L89] CALL call #t~ret6 := floor_double(~x~0); VAL [#in~x=6.442450952E9, #NULL!base=0, #NULL!offset=0, ~huge_floor~0=1.0E300] [L16-L77] ~x := #in~x; [L17] havoc ~i0~0; [L17] havoc ~i1~0; [L17] havoc ~j0~0; [L18] havoc ~i~0; [L18] havoc ~j~0; VAL [#in~x=6.442450952E9, #NULL!base=0, #NULL!offset=0, ~huge_floor~0=1.0E300, ~x=6.442450952E9] [L20] FCALL call ~#ew_u~0 := #Ultimate.alloc(8); [L21] FCALL call write~real(~x, { base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 8); [L22] FCALL call #t~mem0 := read~int({ base: ~#ew_u~0!base, offset: 4 + ~#ew_u~0!offset }, 4); [L22] ~i0~0 := (if #t~mem0 % 4294967296 % 4294967296 <= 2147483647 then #t~mem0 % 4294967296 % 4294967296 else #t~mem0 % 4294967296 % 4294967296 - 4294967296); [L22] FCALL call write~real(#t~union1, { base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 8); [L22] havoc #t~mem0; [L22] havoc #t~union1; [L23] FCALL call #t~mem2 := read~int({ base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 4); [L23] ~i1~0 := (if #t~mem2 % 4294967296 % 4294967296 <= 2147483647 then #t~mem2 % 4294967296 % 4294967296 else #t~mem2 % 4294967296 % 4294967296 - 4294967296); [L23] FCALL call write~real(#t~union3, { base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 8); [L23] havoc #t~union3; [L23] havoc #t~mem2; [L20] FCALL call ULTIMATE.dealloc(~#ew_u~0); [L20] havoc ~#ew_u~0; VAL [#in~x=6.442450952E9, #NULL!base=0, #NULL!offset=0, ~huge_floor~0=1.0E300, ~i0~0=-2147483648, ~i1~0=3, ~x=6.442450952E9] [L25] ~j0~0 := ~bitwiseAnd(~i0~0 / 1048576, 2047) - 1023; VAL [#in~x=6.442450952E9, #NULL!base=0, #NULL!offset=0, ~huge_floor~0=1.0E300, ~i0~0=-2147483648, ~i1~0=3, ~x=6.442450952E9] [L26] COND TRUE ~j0~0 < 20 VAL [#in~x=6.442450952E9, #NULL!base=0, #NULL!offset=0, ~huge_floor~0=1.0E300, ~i0~0=-2147483648, ~i1~0=3, ~j0~0=0, ~x=6.442450952E9] [L27] COND FALSE !(~j0~0 < 0) [L37] ~i~0 := ~shiftRight(1048575, ~j0~0); VAL [#in~x=6.442450952E9, #NULL!base=0, #NULL!offset=0, ~huge_floor~0=1.0E300, ~i0~0=-2147483648, ~i1~0=3, ~j0~0=0, ~x=6.442450952E9] [L38] COND TRUE 0 == ~bitwiseOr(~bitwiseAnd(~i0~0, ~i~0), ~i1~0) % 4294967296 [L39] #res := ~x; VAL [#in~x=6.442450952E9, #NULL!base=0, #NULL!offset=0, #res=6.442450952E9, ~huge_floor~0=1.0E300, ~i0~0=-2147483648, ~i1~0=3, ~j0~0=0, ~x=6.442450952E9] [L89] RET call #t~ret6 := floor_double(~x~0); VAL [#NULL!base=0, #NULL!offset=0, #t~ret6=6.442450952E9, ~huge_floor~0=1.0E300, ~x~0=6.442450952E9] [L89] ~res~0 := #t~ret6; [L89] havoc #t~ret6; VAL [#NULL!base=0, #NULL!offset=0, ~huge_floor~0=1.0E300, ~res~0=6.442450952E9, ~x~0=6.442450952E9] [L92] CALL call #t~ret7 := isnan_double(~res~0); VAL [#in~x=6.442450952E9, #NULL!base=0, #NULL!offset=0, ~huge_floor~0=1.0E300] [L80] ~x := #in~x; [L80] #res := (if ~someBinaryDOUBLEComparisonOperation(~x, ~x) then 1 else 0); VAL [#in~x=6.442450952E9, #NULL!base=0, #NULL!offset=0, #res=0, ~huge_floor~0=1.0E300, ~x=6.442450952E9] [L92] RET call #t~ret7 := isnan_double(~res~0); VAL [#NULL!base=0, #NULL!offset=0, #t~ret7=0, ~huge_floor~0=1.0E300, ~res~0=6.442450952E9, ~x~0=6.442450952E9] [L92] assume -2147483648 <= #t~ret7 && #t~ret7 <= 2147483647; VAL [#NULL!base=0, #NULL!offset=0, #t~ret7=0, ~huge_floor~0=1.0E300, ~res~0=6.442450952E9, ~x~0=6.442450952E9] [L92] COND TRUE 0 == #t~ret7 [L92] havoc #t~ret7; VAL [#NULL!base=0, #NULL!offset=0, ~huge_floor~0=1.0E300, ~res~0=6.442450952E9, ~x~0=6.442450952E9] [L93] assert false; VAL [#NULL!base=0, #NULL!offset=0, ~huge_floor~0=1.0E300, ~res~0=6.442450952E9, ~x~0=6.442450952E9] ----- ----- class de.uni_freiburg.informatik.ultimate.boogie.procedureinliner.backtranslation.InlinerBacktranslator [?] CALL call ULTIMATE.init(); VAL [#NULL!base=6442450951, #NULL!offset=6442450945, old(#NULL!base)=6442450951, old(#NULL!offset)=6442450945, old(~huge_floor~0)=6.442450948E9, ~huge_floor~0=6.442450948E9] [?] #NULL := { base: 0, offset: 0 }; [?] #valid[0] := 0; [L14] ~huge_floor~0 := 1.0E300; VAL [#NULL!base=0, #NULL!offset=0, old(#NULL!base)=6442450951, old(#NULL!offset)=6442450945, old(~huge_floor~0)=6.442450948E9, ~huge_floor~0=1.0E300] [?] RET call ULTIMATE.init(); VAL [#NULL!base=0, #NULL!offset=0, ~huge_floor~0=1.0E300] [?] CALL call #t~ret8 := main(); VAL [#NULL!base=0, #NULL!offset=0, ~huge_floor~0=1.0E300] [L88] ~x~0 := ~someBinaryArithmeticDOUBLEoperation(0.0, 0.0); VAL [#NULL!base=0, #NULL!offset=0, ~huge_floor~0=1.0E300] [L89] CALL call #t~ret6 := floor_double(~x~0); VAL [#in~x=6.442450952E9, #NULL!base=0, #NULL!offset=0, ~huge_floor~0=1.0E300] [L16-L77] ~x := #in~x; [L17] havoc ~i0~0; [L17] havoc ~i1~0; [L17] havoc ~j0~0; [L18] havoc ~i~0; [L18] havoc ~j~0; VAL [#in~x=6.442450952E9, #NULL!base=0, #NULL!offset=0, ~huge_floor~0=1.0E300, ~x=6.442450952E9] [L20] FCALL call ~#ew_u~0 := #Ultimate.alloc(8); [L21] FCALL call write~real(~x, { base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 8); [L22] FCALL call #t~mem0 := read~int({ base: ~#ew_u~0!base, offset: 4 + ~#ew_u~0!offset }, 4); [L22] ~i0~0 := (if #t~mem0 % 4294967296 % 4294967296 <= 2147483647 then #t~mem0 % 4294967296 % 4294967296 else #t~mem0 % 4294967296 % 4294967296 - 4294967296); [L22] FCALL call write~real(#t~union1, { base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 8); [L22] havoc #t~mem0; [L22] havoc #t~union1; [L23] FCALL call #t~mem2 := read~int({ base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 4); [L23] ~i1~0 := (if #t~mem2 % 4294967296 % 4294967296 <= 2147483647 then #t~mem2 % 4294967296 % 4294967296 else #t~mem2 % 4294967296 % 4294967296 - 4294967296); [L23] FCALL call write~real(#t~union3, { base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 8); [L23] havoc #t~union3; [L23] havoc #t~mem2; [L20] FCALL call ULTIMATE.dealloc(~#ew_u~0); [L20] havoc ~#ew_u~0; VAL [#in~x=6.442450952E9, #NULL!base=0, #NULL!offset=0, ~huge_floor~0=1.0E300, ~i0~0=-2147483648, ~i1~0=3, ~x=6.442450952E9] [L25] ~j0~0 := ~bitwiseAnd(~i0~0 / 1048576, 2047) - 1023; VAL [#in~x=6.442450952E9, #NULL!base=0, #NULL!offset=0, ~huge_floor~0=1.0E300, ~i0~0=-2147483648, ~i1~0=3, ~x=6.442450952E9] [L26] COND TRUE ~j0~0 < 20 VAL [#in~x=6.442450952E9, #NULL!base=0, #NULL!offset=0, ~huge_floor~0=1.0E300, ~i0~0=-2147483648, ~i1~0=3, ~j0~0=0, ~x=6.442450952E9] [L27] COND FALSE !(~j0~0 < 0) [L37] ~i~0 := ~shiftRight(1048575, ~j0~0); VAL [#in~x=6.442450952E9, #NULL!base=0, #NULL!offset=0, ~huge_floor~0=1.0E300, ~i0~0=-2147483648, ~i1~0=3, ~j0~0=0, ~x=6.442450952E9] [L38] COND TRUE 0 == ~bitwiseOr(~bitwiseAnd(~i0~0, ~i~0), ~i1~0) % 4294967296 [L39] #res := ~x; VAL [#in~x=6.442450952E9, #NULL!base=0, #NULL!offset=0, #res=6.442450952E9, ~huge_floor~0=1.0E300, ~i0~0=-2147483648, ~i1~0=3, ~j0~0=0, ~x=6.442450952E9] [L89] RET call #t~ret6 := floor_double(~x~0); VAL [#NULL!base=0, #NULL!offset=0, #t~ret6=6.442450952E9, ~huge_floor~0=1.0E300, ~x~0=6.442450952E9] [L89] ~res~0 := #t~ret6; [L89] havoc #t~ret6; VAL [#NULL!base=0, #NULL!offset=0, ~huge_floor~0=1.0E300, ~res~0=6.442450952E9, ~x~0=6.442450952E9] [L92] CALL call #t~ret7 := isnan_double(~res~0); VAL [#in~x=6.442450952E9, #NULL!base=0, #NULL!offset=0, ~huge_floor~0=1.0E300] [L80] ~x := #in~x; [L80] #res := (if ~someBinaryDOUBLEComparisonOperation(~x, ~x) then 1 else 0); VAL [#in~x=6.442450952E9, #NULL!base=0, #NULL!offset=0, #res=0, ~huge_floor~0=1.0E300, ~x=6.442450952E9] [L92] RET call #t~ret7 := isnan_double(~res~0); VAL [#NULL!base=0, #NULL!offset=0, #t~ret7=0, ~huge_floor~0=1.0E300, ~res~0=6.442450952E9, ~x~0=6.442450952E9] [L92] assume -2147483648 <= #t~ret7 && #t~ret7 <= 2147483647; VAL [#NULL!base=0, #NULL!offset=0, #t~ret7=0, ~huge_floor~0=1.0E300, ~res~0=6.442450952E9, ~x~0=6.442450952E9] [L92] COND TRUE 0 == #t~ret7 [L92] havoc #t~ret7; VAL [#NULL!base=0, #NULL!offset=0, ~huge_floor~0=1.0E300, ~res~0=6.442450952E9, ~x~0=6.442450952E9] [L93] assert false; VAL [#NULL!base=0, #NULL!offset=0, ~huge_floor~0=1.0E300, ~res~0=6.442450952E9, ~x~0=6.442450952E9] [?] CALL call ULTIMATE.init(); VAL [#NULL!base=6442450951, #NULL!offset=6442450945, old(#NULL!base)=6442450951, old(#NULL!offset)=6442450945, old(~huge_floor~0)=6.442450948E9, ~huge_floor~0=6.442450948E9] [?] #NULL := { base: 0, offset: 0 }; [?] #valid[0] := 0; [L14] ~huge_floor~0 := 1.0E300; VAL [#NULL!base=0, #NULL!offset=0, old(#NULL!base)=6442450951, old(#NULL!offset)=6442450945, old(~huge_floor~0)=6.442450948E9, ~huge_floor~0=1.0E300] [?] RET call ULTIMATE.init(); VAL [#NULL!base=0, #NULL!offset=0, ~huge_floor~0=1.0E300] [?] CALL call #t~ret8 := main(); VAL [#NULL!base=0, #NULL!offset=0, ~huge_floor~0=1.0E300] [L88] ~x~0 := ~someBinaryArithmeticDOUBLEoperation(0.0, 0.0); VAL [#NULL!base=0, #NULL!offset=0, ~huge_floor~0=1.0E300] [L89] CALL call #t~ret6 := floor_double(~x~0); VAL [#in~x=6.442450952E9, #NULL!base=0, #NULL!offset=0, ~huge_floor~0=1.0E300] [L16-L77] ~x := #in~x; [L17] havoc ~i0~0; [L17] havoc ~i1~0; [L17] havoc ~j0~0; [L18] havoc ~i~0; [L18] havoc ~j~0; VAL [#in~x=6.442450952E9, #NULL!base=0, #NULL!offset=0, ~huge_floor~0=1.0E300, ~x=6.442450952E9] [L20] FCALL call ~#ew_u~0 := #Ultimate.alloc(8); [L21] FCALL call write~real(~x, { base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 8); [L22] FCALL call #t~mem0 := read~int({ base: ~#ew_u~0!base, offset: 4 + ~#ew_u~0!offset }, 4); [L22] ~i0~0 := (if #t~mem0 % 4294967296 % 4294967296 <= 2147483647 then #t~mem0 % 4294967296 % 4294967296 else #t~mem0 % 4294967296 % 4294967296 - 4294967296); [L22] FCALL call write~real(#t~union1, { base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 8); [L22] havoc #t~mem0; [L22] havoc #t~union1; [L23] FCALL call #t~mem2 := read~int({ base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 4); [L23] ~i1~0 := (if #t~mem2 % 4294967296 % 4294967296 <= 2147483647 then #t~mem2 % 4294967296 % 4294967296 else #t~mem2 % 4294967296 % 4294967296 - 4294967296); [L23] FCALL call write~real(#t~union3, { base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 8); [L23] havoc #t~union3; [L23] havoc #t~mem2; [L20] FCALL call ULTIMATE.dealloc(~#ew_u~0); [L20] havoc ~#ew_u~0; VAL [#in~x=6.442450952E9, #NULL!base=0, #NULL!offset=0, ~huge_floor~0=1.0E300, ~i0~0=-2147483648, ~i1~0=3, ~x=6.442450952E9] [L25] ~j0~0 := ~bitwiseAnd(~i0~0 / 1048576, 2047) - 1023; VAL [#in~x=6.442450952E9, #NULL!base=0, #NULL!offset=0, ~huge_floor~0=1.0E300, ~i0~0=-2147483648, ~i1~0=3, ~x=6.442450952E9] [L26] COND TRUE ~j0~0 < 20 VAL [#in~x=6.442450952E9, #NULL!base=0, #NULL!offset=0, ~huge_floor~0=1.0E300, ~i0~0=-2147483648, ~i1~0=3, ~j0~0=0, ~x=6.442450952E9] [L27] COND FALSE !(~j0~0 < 0) [L37] ~i~0 := ~shiftRight(1048575, ~j0~0); VAL [#in~x=6.442450952E9, #NULL!base=0, #NULL!offset=0, ~huge_floor~0=1.0E300, ~i0~0=-2147483648, ~i1~0=3, ~j0~0=0, ~x=6.442450952E9] [L38] COND TRUE 0 == ~bitwiseOr(~bitwiseAnd(~i0~0, ~i~0), ~i1~0) % 4294967296 [L39] #res := ~x; VAL [#in~x=6.442450952E9, #NULL!base=0, #NULL!offset=0, #res=6.442450952E9, ~huge_floor~0=1.0E300, ~i0~0=-2147483648, ~i1~0=3, ~j0~0=0, ~x=6.442450952E9] [L89] RET call #t~ret6 := floor_double(~x~0); VAL [#NULL!base=0, #NULL!offset=0, #t~ret6=6.442450952E9, ~huge_floor~0=1.0E300, ~x~0=6.442450952E9] [L89] ~res~0 := #t~ret6; [L89] havoc #t~ret6; VAL [#NULL!base=0, #NULL!offset=0, ~huge_floor~0=1.0E300, ~res~0=6.442450952E9, ~x~0=6.442450952E9] [L92] CALL call #t~ret7 := isnan_double(~res~0); VAL [#in~x=6.442450952E9, #NULL!base=0, #NULL!offset=0, ~huge_floor~0=1.0E300] [L80] ~x := #in~x; [L80] #res := (if ~someBinaryDOUBLEComparisonOperation(~x, ~x) then 1 else 0); VAL [#in~x=6.442450952E9, #NULL!base=0, #NULL!offset=0, #res=0, ~huge_floor~0=1.0E300, ~x=6.442450952E9] [L92] RET call #t~ret7 := isnan_double(~res~0); VAL [#NULL!base=0, #NULL!offset=0, #t~ret7=0, ~huge_floor~0=1.0E300, ~res~0=6.442450952E9, ~x~0=6.442450952E9] [L92] assume -2147483648 <= #t~ret7 && #t~ret7 <= 2147483647; VAL [#NULL!base=0, #NULL!offset=0, #t~ret7=0, ~huge_floor~0=1.0E300, ~res~0=6.442450952E9, ~x~0=6.442450952E9] [L92] COND TRUE 0 == #t~ret7 [L92] havoc #t~ret7; VAL [#NULL!base=0, #NULL!offset=0, ~huge_floor~0=1.0E300, ~res~0=6.442450952E9, ~x~0=6.442450952E9] [L93] assert false; VAL [#NULL!base=0, #NULL!offset=0, ~huge_floor~0=1.0E300, ~res~0=6.442450952E9, ~x~0=6.442450952E9] ----- ----- class de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.CACSL2BoogieBacktranslator [?] CALL call ULTIMATE.init(); VAL [#NULL!base=6442450951, #NULL!offset=6442450945, old(#NULL!base)=6442450951, old(#NULL!offset)=6442450945, old(~huge_floor~0)=6.442450948E9, ~huge_floor~0=6.442450948E9] [?] #NULL := { base: 0, offset: 0 }; [?] #valid[0] := 0; [L14] ~huge_floor~0 := 1.0E300; VAL [#NULL!base=0, #NULL!offset=0, old(#NULL!base)=6442450951, old(#NULL!offset)=6442450945, old(~huge_floor~0)=6.442450948E9, ~huge_floor~0=1.0E300] [?] RET call ULTIMATE.init(); VAL [#NULL!base=0, #NULL!offset=0, ~huge_floor~0=1.0E300] [?] CALL call #t~ret8 := main(); VAL [#NULL!base=0, #NULL!offset=0, ~huge_floor~0=1.0E300] [L88] ~x~0 := ~someBinaryArithmeticDOUBLEoperation(0.0, 0.0); VAL [#NULL!base=0, #NULL!offset=0, ~huge_floor~0=1.0E300] [L89] CALL call #t~ret6 := floor_double(~x~0); VAL [#in~x=6.442450952E9, #NULL!base=0, #NULL!offset=0, ~huge_floor~0=1.0E300] [L16-L77] ~x := #in~x; [L17] havoc ~i0~0; [L17] havoc ~i1~0; [L17] havoc ~j0~0; [L18] havoc ~i~0; [L18] havoc ~j~0; VAL [#in~x=6.442450952E9, #NULL!base=0, #NULL!offset=0, ~huge_floor~0=1.0E300, ~x=6.442450952E9] [L20] FCALL call ~#ew_u~0 := #Ultimate.alloc(8); [L21] FCALL call write~real(~x, { base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 8); [L22] FCALL call #t~mem0 := read~int({ base: ~#ew_u~0!base, offset: 4 + ~#ew_u~0!offset }, 4); [L22] ~i0~0 := (if #t~mem0 % 4294967296 % 4294967296 <= 2147483647 then #t~mem0 % 4294967296 % 4294967296 else #t~mem0 % 4294967296 % 4294967296 - 4294967296); [L22] FCALL call write~real(#t~union1, { base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 8); [L22] havoc #t~mem0; [L22] havoc #t~union1; [L23] FCALL call #t~mem2 := read~int({ base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 4); [L23] ~i1~0 := (if #t~mem2 % 4294967296 % 4294967296 <= 2147483647 then #t~mem2 % 4294967296 % 4294967296 else #t~mem2 % 4294967296 % 4294967296 - 4294967296); [L23] FCALL call write~real(#t~union3, { base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 8); [L23] havoc #t~union3; [L23] havoc #t~mem2; [L20] FCALL call ULTIMATE.dealloc(~#ew_u~0); [L20] havoc ~#ew_u~0; VAL [#in~x=6.442450952E9, #NULL!base=0, #NULL!offset=0, ~huge_floor~0=1.0E300, ~i0~0=-2147483648, ~i1~0=3, ~x=6.442450952E9] [L25] ~j0~0 := ~bitwiseAnd(~i0~0 / 1048576, 2047) - 1023; VAL [#in~x=6.442450952E9, #NULL!base=0, #NULL!offset=0, ~huge_floor~0=1.0E300, ~i0~0=-2147483648, ~i1~0=3, ~x=6.442450952E9] [L26] COND TRUE ~j0~0 < 20 VAL [#in~x=6.442450952E9, #NULL!base=0, #NULL!offset=0, ~huge_floor~0=1.0E300, ~i0~0=-2147483648, ~i1~0=3, ~j0~0=0, ~x=6.442450952E9] [L27] COND FALSE !(~j0~0 < 0) [L37] ~i~0 := ~shiftRight(1048575, ~j0~0); VAL [#in~x=6.442450952E9, #NULL!base=0, #NULL!offset=0, ~huge_floor~0=1.0E300, ~i0~0=-2147483648, ~i1~0=3, ~j0~0=0, ~x=6.442450952E9] [L38] COND TRUE 0 == ~bitwiseOr(~bitwiseAnd(~i0~0, ~i~0), ~i1~0) % 4294967296 [L39] #res := ~x; VAL [#in~x=6.442450952E9, #NULL!base=0, #NULL!offset=0, #res=6.442450952E9, ~huge_floor~0=1.0E300, ~i0~0=-2147483648, ~i1~0=3, ~j0~0=0, ~x=6.442450952E9] [L89] RET call #t~ret6 := floor_double(~x~0); VAL [#NULL!base=0, #NULL!offset=0, #t~ret6=6.442450952E9, ~huge_floor~0=1.0E300, ~x~0=6.442450952E9] [L89] ~res~0 := #t~ret6; [L89] havoc #t~ret6; VAL [#NULL!base=0, #NULL!offset=0, ~huge_floor~0=1.0E300, ~res~0=6.442450952E9, ~x~0=6.442450952E9] [L92] CALL call #t~ret7 := isnan_double(~res~0); VAL [#in~x=6.442450952E9, #NULL!base=0, #NULL!offset=0, ~huge_floor~0=1.0E300] [L80] ~x := #in~x; [L80] #res := (if ~someBinaryDOUBLEComparisonOperation(~x, ~x) then 1 else 0); VAL [#in~x=6.442450952E9, #NULL!base=0, #NULL!offset=0, #res=0, ~huge_floor~0=1.0E300, ~x=6.442450952E9] [L92] RET call #t~ret7 := isnan_double(~res~0); VAL [#NULL!base=0, #NULL!offset=0, #t~ret7=0, ~huge_floor~0=1.0E300, ~res~0=6.442450952E9, ~x~0=6.442450952E9] [L92] assume -2147483648 <= #t~ret7 && #t~ret7 <= 2147483647; VAL [#NULL!base=0, #NULL!offset=0, #t~ret7=0, ~huge_floor~0=1.0E300, ~res~0=6.442450952E9, ~x~0=6.442450952E9] [L92] COND TRUE 0 == #t~ret7 [L92] havoc #t~ret7; VAL [#NULL!base=0, #NULL!offset=0, ~huge_floor~0=1.0E300, ~res~0=6.442450952E9, ~x~0=6.442450952E9] [L93] assert false; VAL [#NULL!base=0, #NULL!offset=0, ~huge_floor~0=1.0E300, ~res~0=6.442450952E9, ~x~0=6.442450952E9] [L14] static const double huge_floor = 1.0e300; VAL [\old(huge_floor)=6442450948, huge_floor=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000] [L88] double x = 0.0 / 0.0; VAL [huge_floor=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000] [L89] CALL, EXPR floor_double(x) VAL [\old(x)=6442450952, huge_floor=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000] [L17] __int32_t i0, i1, j0; [L18] __uint32_t i, j; VAL [\old(x)=6442450952, huge_floor=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, x=6442450952] [L20] ieee_double_shape_type ew_u; [L21] ew_u.value = (x) [L22] EXPR ew_u.parts.msw [L22] (i0) = ew_u.parts.msw [L23] EXPR ew_u.parts.lsw [L23] (i1) = ew_u.parts.lsw [L25] j0 = ((i0 >> 20) & 0x7ff) - 0x3ff VAL [\old(x)=6442450952, huge_floor=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, i0=-2147483648, i1=3, x=6442450952] [L26] COND TRUE j0 < 20 VAL [\old(x)=6442450952, huge_floor=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, i0=-2147483648, i1=3, j0=0, x=6442450952] [L27] COND FALSE !(j0 < 0) [L37] i = (0x000fffff) >> j0 VAL [\old(x)=6442450952, huge_floor=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, i0=-2147483648, i1=3, j0=0, x=6442450952] [L38] COND TRUE ((i0 & i) | i1) == 0 [L39] return x; VAL [\old(x)=6442450952, \result=6442450952, huge_floor=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, i0=-2147483648, i1=3, j0=0, x=6442450952] [L89] RET, EXPR floor_double(x) VAL [floor_double(x)=6442450952, huge_floor=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, x=6442450952] [L89] double res = floor_double(x); [L92] CALL, EXPR isnan_double(res) VAL [\old(x)=6442450952, huge_floor=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000] [L80] return x != x; VAL [\old(x)=6442450952, \result=0, huge_floor=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, x=6442450952] [L92] RET, EXPR isnan_double(res) VAL [huge_floor=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, isnan_double(res)=0, res=6442450952, x=6442450952] [L92] COND TRUE !isnan_double(res) [L93] __VERIFIER_error() VAL [huge_floor=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, res=6442450952, x=6442450952] ----- [2018-11-22 22:27:51,034 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 22.11 10:27:51 BoogieIcfgContainer [2018-11-22 22:27:51,034 INFO L132 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2018-11-22 22:27:51,034 INFO L113 PluginConnector]: ------------------------Witness Printer---------------------------- [2018-11-22 22:27:51,034 INFO L271 PluginConnector]: Initializing Witness Printer... [2018-11-22 22:27:51,034 INFO L276 PluginConnector]: Witness Printer initialized [2018-11-22 22:27:51,035 INFO L185 PluginConnector]: Executing the observer RCFGCatcher from plugin Witness Printer for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 22.11 10:27:50" (3/4) ... [2018-11-22 22:27:51,038 INFO L147 WitnessPrinter]: No result that supports witness generation found [2018-11-22 22:27:51,038 INFO L132 PluginConnector]: ------------------------ END Witness Printer---------------------------- [2018-11-22 22:27:51,038 INFO L168 Benchmark]: Toolchain (without parser) took 850.36 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 139.5 MB). Free memory was 959.2 MB in the beginning and 1.1 GB in the end (delta: -117.7 MB). Peak memory consumption was 21.8 MB. Max. memory is 11.5 GB. [2018-11-22 22:27:51,040 INFO L168 Benchmark]: CDTParser took 0.16 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-22 22:27:51,040 INFO L168 Benchmark]: CACSL2BoogieTranslator took 193.86 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-22 22:27:51,040 INFO L168 Benchmark]: Boogie Procedure Inliner took 49.93 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 139.5 MB). Free memory was 945.8 MB in the beginning and 1.1 GB in the end (delta: -193.8 MB). Peak memory consumption was 14.4 MB. Max. memory is 11.5 GB. [2018-11-22 22:27:51,041 INFO L168 Benchmark]: Boogie Preprocessor took 24.60 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: 2.7 MB). Peak memory consumption was 2.7 MB. Max. memory is 11.5 GB. [2018-11-22 22:27:51,041 INFO L168 Benchmark]: RCFGBuilder took 226.74 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: 22.5 MB). Peak memory consumption was 22.5 MB. Max. memory is 11.5 GB. [2018-11-22 22:27:51,042 INFO L168 Benchmark]: TraceAbstraction took 348.62 ms. Allocated memory is still 1.2 GB. Free memory was 1.1 GB in the beginning and 1.1 GB in the end (delta: 37.6 MB). Peak memory consumption was 37.6 MB. Max. memory is 11.5 GB. [2018-11-22 22:27:51,042 INFO L168 Benchmark]: Witness Printer took 3.72 ms. Allocated memory is still 1.2 GB. Free memory is still 1.1 GB. There was no memory consumed. Max. memory is 11.5 GB. [2018-11-22 22:27:51,044 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 985.6 MB. There was no memory consumed. Max. memory is 11.5 GB. * CACSL2BoogieTranslator took 193.86 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 49.93 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 139.5 MB). Free memory was 945.8 MB in the beginning and 1.1 GB in the end (delta: -193.8 MB). Peak memory consumption was 14.4 MB. Max. memory is 11.5 GB. * Boogie Preprocessor took 24.60 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: 2.7 MB). Peak memory consumption was 2.7 MB. Max. memory is 11.5 GB. * RCFGBuilder took 226.74 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: 22.5 MB). Peak memory consumption was 22.5 MB. Max. memory is 11.5 GB. * TraceAbstraction took 348.62 ms. Allocated memory is still 1.2 GB. Free memory was 1.1 GB in the beginning and 1.1 GB in the end (delta: 37.6 MB). Peak memory consumption was 37.6 MB. Max. memory is 11.5 GB. * Witness Printer took 3.72 ms. Allocated memory is still 1.2 GB. Free memory is still 1.1 GB. There was no memory consumed. Max. memory is 11.5 GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - UnprovableResult [Line: 93]: Unable to prove that call of __VERIFIER_error() unreachable Unable to prove that call of __VERIFIER_error() unreachable Reason: overapproximation of shiftRight at line 37, overapproximation of bitwiseOr at line 38, overapproximation of someBinaryArithmeticDOUBLEoperation at line 88, overapproximation of bitwiseAnd at line 25, overapproximation of someBinaryDOUBLEComparisonOperation at line 80. Possible FailurePath: [L14] static const double huge_floor = 1.0e300; VAL [\old(huge_floor)=6442450948, huge_floor=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000] [L88] double x = 0.0 / 0.0; VAL [huge_floor=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000] [L89] CALL, EXPR floor_double(x) VAL [\old(x)=6442450952, huge_floor=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000] [L17] __int32_t i0, i1, j0; [L18] __uint32_t i, j; VAL [\old(x)=6442450952, huge_floor=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, x=6442450952] [L20] ieee_double_shape_type ew_u; [L21] ew_u.value = (x) [L22] EXPR ew_u.parts.msw [L22] (i0) = ew_u.parts.msw [L23] EXPR ew_u.parts.lsw [L23] (i1) = ew_u.parts.lsw [L25] j0 = ((i0 >> 20) & 0x7ff) - 0x3ff VAL [\old(x)=6442450952, huge_floor=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, i0=-2147483648, i1=3, x=6442450952] [L26] COND TRUE j0 < 20 VAL [\old(x)=6442450952, huge_floor=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, i0=-2147483648, i1=3, j0=0, x=6442450952] [L27] COND FALSE !(j0 < 0) [L37] i = (0x000fffff) >> j0 VAL [\old(x)=6442450952, huge_floor=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, i0=-2147483648, i1=3, j0=0, x=6442450952] [L38] COND TRUE ((i0 & i) | i1) == 0 [L39] return x; VAL [\old(x)=6442450952, \result=6442450952, huge_floor=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, i0=-2147483648, i1=3, j0=0, x=6442450952] [L89] RET, EXPR floor_double(x) VAL [floor_double(x)=6442450952, huge_floor=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, x=6442450952] [L89] double res = floor_double(x); [L92] CALL, EXPR isnan_double(res) VAL [\old(x)=6442450952, huge_floor=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000] [L80] return x != x; VAL [\old(x)=6442450952, \result=0, huge_floor=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, x=6442450952] [L92] RET, EXPR isnan_double(res) VAL [huge_floor=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, isnan_double(res)=0, res=6442450952, x=6442450952] [L92] COND TRUE !isnan_double(res) [L93] __VERIFIER_error() VAL [huge_floor=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, res=6442450952, x=6442450952] - StatisticsResult: Ultimate Automizer benchmark data CFG has 5 procedures, 47 locations, 1 error locations. UNSAFE Result, 0.3s 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-22 22:27:52,429 INFO L170 SettingsManager]: Resetting all preferences to default values... [2018-11-22 22:27:52,431 INFO L174 SettingsManager]: Resetting UltimateCore preferences to default values [2018-11-22 22:27:52,439 INFO L177 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2018-11-22 22:27:52,439 INFO L174 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2018-11-22 22:27:52,439 INFO L174 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2018-11-22 22:27:52,440 INFO L174 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2018-11-22 22:27:52,441 INFO L174 SettingsManager]: Resetting LassoRanker preferences to default values [2018-11-22 22:27:52,442 INFO L174 SettingsManager]: Resetting Reaching Definitions preferences to default values [2018-11-22 22:27:52,443 INFO L174 SettingsManager]: Resetting SyntaxChecker preferences to default values [2018-11-22 22:27:52,443 INFO L177 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2018-11-22 22:27:52,444 INFO L174 SettingsManager]: Resetting LTL2Aut preferences to default values [2018-11-22 22:27:52,444 INFO L174 SettingsManager]: Resetting PEA to Boogie preferences to default values [2018-11-22 22:27:52,445 INFO L174 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2018-11-22 22:27:52,446 INFO L174 SettingsManager]: Resetting ChcToBoogie preferences to default values [2018-11-22 22:27:52,446 INFO L174 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2018-11-22 22:27:52,447 INFO L174 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2018-11-22 22:27:52,448 INFO L174 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2018-11-22 22:27:52,449 INFO L174 SettingsManager]: Resetting CodeCheck preferences to default values [2018-11-22 22:27:52,450 INFO L174 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2018-11-22 22:27:52,450 INFO L174 SettingsManager]: Resetting RCFGBuilder preferences to default values [2018-11-22 22:27:52,451 INFO L174 SettingsManager]: Resetting TraceAbstraction preferences to default values [2018-11-22 22:27:52,453 INFO L177 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2018-11-22 22:27:52,453 INFO L177 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2018-11-22 22:27:52,453 INFO L174 SettingsManager]: Resetting TreeAutomizer preferences to default values [2018-11-22 22:27:52,454 INFO L174 SettingsManager]: Resetting IcfgTransformer preferences to default values [2018-11-22 22:27:52,454 INFO L174 SettingsManager]: Resetting Boogie Printer preferences to default values [2018-11-22 22:27:52,455 INFO L174 SettingsManager]: Resetting ReqPrinter preferences to default values [2018-11-22 22:27:52,455 INFO L174 SettingsManager]: Resetting Witness Printer preferences to default values [2018-11-22 22:27:52,456 INFO L177 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2018-11-22 22:27:52,456 INFO L174 SettingsManager]: Resetting CDTParser preferences to default values [2018-11-22 22:27:52,457 INFO L177 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2018-11-22 22:27:52,457 INFO L177 SettingsManager]: ReqParser provides no preferences, ignoring... [2018-11-22 22:27:52,457 INFO L174 SettingsManager]: Resetting SmtParser preferences to default values [2018-11-22 22:27:52,458 INFO L174 SettingsManager]: Resetting Witness Parser preferences to default values [2018-11-22 22:27:52,458 INFO L181 SettingsManager]: Finished resetting all preferences to default values... [2018-11-22 22:27:52,458 INFO L98 SettingsManager]: Beginning loading settings from /tmp/vcloud-vcloud-master/worker/working_dir_08bffa03-2ed3-4a1f-8d88-cc38e1c1b291/bin-2019/utaipan/config/svcomp-Reach-32bit-Taipan_Bitvector.epf [2018-11-22 22:27:52,468 INFO L110 SettingsManager]: Loading preferences was successful [2018-11-22 22:27:52,468 INFO L112 SettingsManager]: Preferences different from defaults after loading the file: [2018-11-22 22:27:52,469 INFO L131 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2018-11-22 22:27:52,469 INFO L133 SettingsManager]: * ... calls to implemented procedures=ONLY_FOR_CONCURRENT_PROGRAMS [2018-11-22 22:27:52,469 INFO L133 SettingsManager]: * User list type=DISABLED [2018-11-22 22:27:52,469 INFO L131 SettingsManager]: Preferences of Abstract Interpretation differ from their defaults: [2018-11-22 22:27:52,469 INFO L133 SettingsManager]: * Explicit value domain=true [2018-11-22 22:27:52,469 INFO L133 SettingsManager]: * Octagon Domain=false [2018-11-22 22:27:52,470 INFO L133 SettingsManager]: * Abstract domain=CompoundDomain [2018-11-22 22:27:52,470 INFO L133 SettingsManager]: * Interval Domain=false [2018-11-22 22:27:52,470 INFO L131 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2018-11-22 22:27:52,470 INFO L133 SettingsManager]: * sizeof long=4 [2018-11-22 22:27:52,470 INFO L133 SettingsManager]: * sizeof POINTER=4 [2018-11-22 22:27:52,471 INFO L133 SettingsManager]: * Check division by zero=IGNORE [2018-11-22 22:27:52,471 INFO L133 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2018-11-22 22:27:52,471 INFO L133 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2018-11-22 22:27:52,471 INFO L133 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2018-11-22 22:27:52,471 INFO L133 SettingsManager]: * Use bitvectors instead of ints=true [2018-11-22 22:27:52,471 INFO L133 SettingsManager]: * Memory model=HoenickeLindenmann_4ByteResolution [2018-11-22 22:27:52,471 INFO L133 SettingsManager]: * sizeof long double=12 [2018-11-22 22:27:52,471 INFO L133 SettingsManager]: * Check if freed pointer was valid=false [2018-11-22 22:27:52,472 INFO L133 SettingsManager]: * Use constant arrays=true [2018-11-22 22:27:52,472 INFO L133 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2018-11-22 22:27:52,472 INFO L131 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2018-11-22 22:27:52,472 INFO L133 SettingsManager]: * Size of a code block=SequenceOfStatements [2018-11-22 22:27:52,472 INFO L133 SettingsManager]: * To the following directory=./dump/ [2018-11-22 22:27:52,472 INFO L133 SettingsManager]: * SMT solver=External_DefaultMode [2018-11-22 22:27:52,472 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2018-11-22 22:27:52,473 INFO L131 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2018-11-22 22:27:52,473 INFO L133 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2018-11-22 22:27:52,473 INFO L133 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2018-11-22 22:27:52,473 INFO L133 SettingsManager]: * Trace refinement strategy=WALRUS [2018-11-22 22:27:52,473 INFO L133 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2018-11-22 22:27:52,473 INFO L133 SettingsManager]: * Command for external solver=cvc4nyu --tear-down-incremental --rewrite-divk --print-success --lang smt [2018-11-22 22:27:52,473 INFO L133 SettingsManager]: * Logic for external solver=AUFBV [2018-11-22 22:27:52,473 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_08bffa03-2ed3-4a1f-8d88-cc38e1c1b291/bin-2019/utaipan 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 -> Taipan 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 -> 0fa375491f6ee23468a1ede5cb9608fff6035ced [2018-11-22 22:27:52,502 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2018-11-22 22:27:52,511 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2018-11-22 22:27:52,514 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2018-11-22 22:27:52,515 INFO L271 PluginConnector]: Initializing CDTParser... [2018-11-22 22:27:52,515 INFO L276 PluginConnector]: CDTParser initialized [2018-11-22 22:27:52,516 INFO L418 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /tmp/vcloud-vcloud-master/worker/working_dir_08bffa03-2ed3-4a1f-8d88-cc38e1c1b291/bin-2019/utaipan/../../sv-benchmarks/c/float-newlib/double_req_bl_1051_true-unreach-call.c [2018-11-22 22:27:52,552 INFO L221 CDTParser]: Created temporary CDT project at /tmp/vcloud-vcloud-master/worker/working_dir_08bffa03-2ed3-4a1f-8d88-cc38e1c1b291/bin-2019/utaipan/data/852412497/8ddabd7dcb3547c086e774a0eb605917/FLAGb6d0a1efa [2018-11-22 22:27:52,959 INFO L307 CDTParser]: Found 1 translation units. [2018-11-22 22:27:52,960 INFO L161 CDTParser]: Scanning /tmp/vcloud-vcloud-master/worker/working_dir_08bffa03-2ed3-4a1f-8d88-cc38e1c1b291/sv-benchmarks/c/float-newlib/double_req_bl_1051_true-unreach-call.c [2018-11-22 22:27:52,964 INFO L355 CDTParser]: About to delete temporary CDT project at /tmp/vcloud-vcloud-master/worker/working_dir_08bffa03-2ed3-4a1f-8d88-cc38e1c1b291/bin-2019/utaipan/data/852412497/8ddabd7dcb3547c086e774a0eb605917/FLAGb6d0a1efa [2018-11-22 22:27:52,973 INFO L363 CDTParser]: Successfully deleted /tmp/vcloud-vcloud-master/worker/working_dir_08bffa03-2ed3-4a1f-8d88-cc38e1c1b291/bin-2019/utaipan/data/852412497/8ddabd7dcb3547c086e774a0eb605917 [2018-11-22 22:27:52,975 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2018-11-22 22:27:52,976 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2018-11-22 22:27:52,977 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2018-11-22 22:27:52,977 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2018-11-22 22:27:52,979 INFO L276 PluginConnector]: CACSL2BoogieTranslator initialized [2018-11-22 22:27:52,979 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 22.11 10:27:52" (1/1) ... [2018-11-22 22:27:52,981 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@9bad2dc and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 10:27:52, skipping insertion in model container [2018-11-22 22:27:52,981 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 22.11 10:27:52" (1/1) ... [2018-11-22 22:27:52,987 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2018-11-22 22:27:53,001 INFO L176 MainTranslator]: Built tables and reachable declarations [2018-11-22 22:27:53,123 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-22 22:27:53,126 INFO L191 MainTranslator]: Completed pre-run [2018-11-22 22:27:53,149 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-22 22:27:53,167 INFO L195 MainTranslator]: Completed translation [2018-11-22 22:27:53,168 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 10:27:53 WrapperNode [2018-11-22 22:27:53,168 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2018-11-22 22:27:53,168 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2018-11-22 22:27:53,169 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2018-11-22 22:27:53,169 INFO L276 PluginConnector]: Boogie Procedure Inliner initialized [2018-11-22 22:27:53,174 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 10:27:53" (1/1) ... [2018-11-22 22:27:53,181 INFO L185 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 10:27:53" (1/1) ... [2018-11-22 22:27:53,187 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2018-11-22 22:27:53,187 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2018-11-22 22:27:53,187 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2018-11-22 22:27:53,187 INFO L276 PluginConnector]: Boogie Preprocessor initialized [2018-11-22 22:27:53,194 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 10:27:53" (1/1) ... [2018-11-22 22:27:53,194 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 10:27:53" (1/1) ... [2018-11-22 22:27:53,197 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 10:27:53" (1/1) ... [2018-11-22 22:27:53,197 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 10:27:53" (1/1) ... [2018-11-22 22:27:53,207 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 10:27:53" (1/1) ... [2018-11-22 22:27:53,252 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 10:27:53" (1/1) ... [2018-11-22 22:27:53,255 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 10:27:53" (1/1) ... [2018-11-22 22:27:53,257 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2018-11-22 22:27:53,258 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2018-11-22 22:27:53,258 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2018-11-22 22:27:53,258 INFO L276 PluginConnector]: RCFGBuilder initialized [2018-11-22 22:27:53,258 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 10:27:53" (1/1) ... No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_08bffa03-2ed3-4a1f-8d88-cc38e1c1b291/bin-2019/utaipan/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-22 22:27:53,290 INFO L130 BoogieDeclarations]: Found specification of procedure floor_double [2018-11-22 22:27:53,290 INFO L138 BoogieDeclarations]: Found implementation of procedure floor_double [2018-11-22 22:27:53,290 INFO L130 BoogieDeclarations]: Found specification of procedure isnan_double [2018-11-22 22:27:53,290 INFO L138 BoogieDeclarations]: Found implementation of procedure isnan_double [2018-11-22 22:27:53,290 INFO L130 BoogieDeclarations]: Found specification of procedure read~intFLOATTYPE8 [2018-11-22 22:27:53,290 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2018-11-22 22:27:53,290 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2018-11-22 22:27:53,290 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.alloc [2018-11-22 22:27:53,291 INFO L130 BoogieDeclarations]: Found specification of procedure read~intINTTYPE4 [2018-11-22 22:27:53,291 INFO L130 BoogieDeclarations]: Found specification of procedure write~intFLOATTYPE8 [2018-11-22 22:27:53,291 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2018-11-22 22:27:53,291 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2018-11-22 22:27:53,291 INFO L130 BoogieDeclarations]: Found specification of procedure main [2018-11-22 22:27:53,291 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2018-11-22 22:27:53,291 INFO L130 BoogieDeclarations]: Found specification of procedure write~intINTTYPE4 [2018-11-22 22:27:53,291 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2018-11-22 22:27:53,401 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-22 22:27:54,092 INFO L275 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2018-11-22 22:27:54,093 INFO L280 CfgBuilder]: Removed 4 assue(true) statements. [2018-11-22 22:27:54,093 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 22.11 10:27:54 BoogieIcfgContainer [2018-11-22 22:27:54,093 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2018-11-22 22:27:54,093 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2018-11-22 22:27:54,093 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2018-11-22 22:27:54,095 INFO L276 PluginConnector]: TraceAbstraction initialized [2018-11-22 22:27:54,095 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 22.11 10:27:52" (1/3) ... [2018-11-22 22:27:54,096 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@106110d3 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 22.11 10:27:54, skipping insertion in model container [2018-11-22 22:27:54,096 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 10:27:53" (2/3) ... [2018-11-22 22:27:54,096 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@106110d3 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 22.11 10:27:54, skipping insertion in model container [2018-11-22 22:27:54,096 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 22.11 10:27:54" (3/3) ... [2018-11-22 22:27:54,097 INFO L112 eAbstractionObserver]: Analyzing ICFG double_req_bl_1051_true-unreach-call.c [2018-11-22 22:27:54,103 INFO L156 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2018-11-22 22:27:54,107 INFO L168 ceAbstractionStarter]: Appying trace abstraction to program that has 1 error locations. [2018-11-22 22:27:54,116 INFO L257 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2018-11-22 22:27:54,138 INFO L133 ementStrategyFactory]: Using default assertion order modulation [2018-11-22 22:27:54,138 INFO L382 AbstractCegarLoop]: Interprodecural is true [2018-11-22 22:27:54,138 INFO L383 AbstractCegarLoop]: Hoare is true [2018-11-22 22:27:54,138 INFO L384 AbstractCegarLoop]: Compute interpolants for FPandBP [2018-11-22 22:27:54,138 INFO L385 AbstractCegarLoop]: Backedges is STRAIGHT_LINE [2018-11-22 22:27:54,138 INFO L386 AbstractCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2018-11-22 22:27:54,138 INFO L387 AbstractCegarLoop]: Difference is false [2018-11-22 22:27:54,139 INFO L388 AbstractCegarLoop]: Minimize is MINIMIZE_SEVPA [2018-11-22 22:27:54,139 INFO L393 AbstractCegarLoop]: ======== Iteration 0==of CEGAR loop == AllErrorsAtOnce======== [2018-11-22 22:27:54,148 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states. [2018-11-22 22:27:54,152 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 23 [2018-11-22 22:27:54,152 INFO L394 BasicCegarLoop]: Found error trace [2018-11-22 22:27:54,153 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-22 22:27:54,154 INFO L423 AbstractCegarLoop]: === Iteration 1 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-22 22:27:54,157 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-22 22:27:54,157 INFO L82 PathProgramCache]: Analyzing trace with hash -1623509953, now seen corresponding path program 1 times [2018-11-22 22:27:54,159 INFO L223 ckRefinementStrategy]: Switched to mode MATHSAT_FPBP [2018-11-22 22:27:54,160 INFO L69 tionRefinementEngine]: Using refinement strategy WalrusRefinementStrategy No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_08bffa03-2ed3-4a1f-8d88-cc38e1c1b291/bin-2019/utaipan/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-22 22:27:54,164 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-22 22:27:54,204 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-22 22:27:54,209 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-22 22:27:54,221 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-22 22:27:54,221 INFO L312 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2018-11-22 22:27:54,230 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-22 22:27:54,230 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2018-11-22 22:27:54,232 INFO L459 AbstractCegarLoop]: Interpolant automaton has 2 states [2018-11-22 22:27:54,239 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 2 interpolants. [2018-11-22 22:27:54,239 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2018-11-22 22:27:54,241 INFO L87 Difference]: Start difference. First operand 46 states. Second operand 2 states. [2018-11-22 22:27:54,254 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-22 22:27:54,254 INFO L93 Difference]: Finished difference Result 84 states and 122 transitions. [2018-11-22 22:27:54,254 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2018-11-22 22:27:54,255 INFO L78 Accepts]: Start accepts. Automaton has 2 states. Word has length 22 [2018-11-22 22:27:54,255 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-22 22:27:54,262 INFO L225 Difference]: With dead ends: 84 [2018-11-22 22:27:54,262 INFO L226 Difference]: Without dead ends: 42 [2018-11-22 22:27:54,264 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-22 22:27:54,274 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 42 states. [2018-11-22 22:27:54,286 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 42 to 42. [2018-11-22 22:27:54,287 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 42 states. [2018-11-22 22:27:54,288 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 42 states to 42 states and 56 transitions. [2018-11-22 22:27:54,289 INFO L78 Accepts]: Start accepts. Automaton has 42 states and 56 transitions. Word has length 22 [2018-11-22 22:27:54,289 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-22 22:27:54,289 INFO L480 AbstractCegarLoop]: Abstraction has 42 states and 56 transitions. [2018-11-22 22:27:54,290 INFO L481 AbstractCegarLoop]: Interpolant automaton has 2 states. [2018-11-22 22:27:54,290 INFO L276 IsEmpty]: Start isEmpty. Operand 42 states and 56 transitions. [2018-11-22 22:27:54,290 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 24 [2018-11-22 22:27:54,290 INFO L394 BasicCegarLoop]: Found error trace [2018-11-22 22:27:54,290 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-22 22:27:54,291 INFO L423 AbstractCegarLoop]: === Iteration 2 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-22 22:27:54,291 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-22 22:27:54,291 INFO L82 PathProgramCache]: Analyzing trace with hash 510037476, now seen corresponding path program 1 times [2018-11-22 22:27:54,291 INFO L223 ckRefinementStrategy]: Switched to mode MATHSAT_FPBP [2018-11-22 22:27:54,292 INFO L69 tionRefinementEngine]: Using refinement strategy WalrusRefinementStrategy No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_08bffa03-2ed3-4a1f-8d88-cc38e1c1b291/bin-2019/utaipan/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-22 22:27:54,301 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-22 22:27:54,342 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-22 22:27:54,346 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-22 22:27:54,479 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-22 22:27:54,479 INFO L312 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2018-11-22 22:27:54,486 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-22 22:27:54,486 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2018-11-22 22:27:54,487 INFO L459 AbstractCegarLoop]: Interpolant automaton has 9 states [2018-11-22 22:27:54,488 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2018-11-22 22:27:54,488 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=15, Invalid=57, Unknown=0, NotChecked=0, Total=72 [2018-11-22 22:27:54,488 INFO L87 Difference]: Start difference. First operand 42 states and 56 transitions. Second operand 9 states. [2018-11-22 22:27:55,760 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-22 22:27:55,760 INFO L93 Difference]: Finished difference Result 51 states and 65 transitions. [2018-11-22 22:27:55,761 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2018-11-22 22:27:55,761 INFO L78 Accepts]: Start accepts. Automaton has 9 states. Word has length 23 [2018-11-22 22:27:55,761 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-22 22:27:55,763 INFO L225 Difference]: With dead ends: 51 [2018-11-22 22:27:55,763 INFO L226 Difference]: Without dead ends: 44 [2018-11-22 22:27:55,763 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 26 GetRequests, 15 SyntacticMatches, 0 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 5 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=33, Invalid=123, Unknown=0, NotChecked=0, Total=156 [2018-11-22 22:27:55,764 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 44 states. [2018-11-22 22:27:55,768 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 44 to 42. [2018-11-22 22:27:55,768 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 42 states. [2018-11-22 22:27:55,769 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 42 states to 42 states and 53 transitions. [2018-11-22 22:27:55,769 INFO L78 Accepts]: Start accepts. Automaton has 42 states and 53 transitions. Word has length 23 [2018-11-22 22:27:55,769 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-22 22:27:55,770 INFO L480 AbstractCegarLoop]: Abstraction has 42 states and 53 transitions. [2018-11-22 22:27:55,770 INFO L481 AbstractCegarLoop]: Interpolant automaton has 9 states. [2018-11-22 22:27:55,770 INFO L276 IsEmpty]: Start isEmpty. Operand 42 states and 53 transitions. [2018-11-22 22:27:55,770 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 24 [2018-11-22 22:27:55,770 INFO L394 BasicCegarLoop]: Found error trace [2018-11-22 22:27:55,771 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-22 22:27:55,771 INFO L423 AbstractCegarLoop]: === Iteration 3 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-22 22:27:55,771 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-22 22:27:55,771 INFO L82 PathProgramCache]: Analyzing trace with hash 600907611, now seen corresponding path program 1 times [2018-11-22 22:27:55,772 INFO L223 ckRefinementStrategy]: Switched to mode MATHSAT_FPBP [2018-11-22 22:27:55,772 INFO L69 tionRefinementEngine]: Using refinement strategy WalrusRefinementStrategy No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_08bffa03-2ed3-4a1f-8d88-cc38e1c1b291/bin-2019/utaipan/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-22 22:27:55,776 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-22 22:27:55,834 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-22 22:27:55,839 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-22 22:27:56,699 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-22 22:27:56,699 INFO L312 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2018-11-22 22:27:56,707 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-22 22:27:56,707 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2018-11-22 22:27:56,707 INFO L459 AbstractCegarLoop]: Interpolant automaton has 9 states [2018-11-22 22:27:56,708 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2018-11-22 22:27:56,708 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=15, Invalid=57, Unknown=0, NotChecked=0, Total=72 [2018-11-22 22:27:56,708 INFO L87 Difference]: Start difference. First operand 42 states and 53 transitions. Second operand 9 states. [2018-11-22 22:27:58,818 WARN L180 SmtUtils]: Spent 381.00 ms on a formula simplification that was a NOOP. DAG size: 8 [2018-11-22 22:28:00,736 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-22 22:28:00,736 INFO L93 Difference]: Finished difference Result 49 states and 60 transitions. [2018-11-22 22:28:00,736 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2018-11-22 22:28:00,736 INFO L78 Accepts]: Start accepts. Automaton has 9 states. Word has length 23 [2018-11-22 22:28:00,737 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-22 22:28:00,737 INFO L225 Difference]: With dead ends: 49 [2018-11-22 22:28:00,737 INFO L226 Difference]: Without dead ends: 41 [2018-11-22 22:28:00,737 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 26 GetRequests, 15 SyntacticMatches, 0 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 5 ImplicationChecksByTransitivity, 1.8s TimeCoverageRelationStatistics Valid=33, Invalid=123, Unknown=0, NotChecked=0, Total=156 [2018-11-22 22:28:00,738 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 41 states. [2018-11-22 22:28:00,740 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 41 to 41. [2018-11-22 22:28:00,740 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 41 states. [2018-11-22 22:28:00,741 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 41 states to 41 states and 51 transitions. [2018-11-22 22:28:00,741 INFO L78 Accepts]: Start accepts. Automaton has 41 states and 51 transitions. Word has length 23 [2018-11-22 22:28:00,741 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-22 22:28:00,742 INFO L480 AbstractCegarLoop]: Abstraction has 41 states and 51 transitions. [2018-11-22 22:28:00,742 INFO L481 AbstractCegarLoop]: Interpolant automaton has 9 states. [2018-11-22 22:28:00,742 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 51 transitions. [2018-11-22 22:28:00,742 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 27 [2018-11-22 22:28:00,742 INFO L394 BasicCegarLoop]: Found error trace [2018-11-22 22:28:00,743 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-22 22:28:00,743 INFO L423 AbstractCegarLoop]: === Iteration 4 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-22 22:28:00,743 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-22 22:28:00,743 INFO L82 PathProgramCache]: Analyzing trace with hash -1506102432, now seen corresponding path program 1 times [2018-11-22 22:28:00,743 INFO L223 ckRefinementStrategy]: Switched to mode MATHSAT_FPBP [2018-11-22 22:28:00,744 INFO L69 tionRefinementEngine]: Using refinement strategy WalrusRefinementStrategy No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_08bffa03-2ed3-4a1f-8d88-cc38e1c1b291/bin-2019/utaipan/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-22 22:28:00,749 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-22 22:28:00,850 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-22 22:28:00,859 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-22 22:28:00,891 INFO L683 Elim1Store]: detected equality via solver [2018-11-22 22:28:00,891 INFO L683 Elim1Store]: detected equality via solver [2018-11-22 22:28:00,894 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-22 22:28:00,926 INFO L683 Elim1Store]: detected equality via solver [2018-11-22 22:28:00,933 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-22 22:28:00,933 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-22 22:28:00,943 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-22 22:28:00,947 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-22 22:28:00,947 INFO L267 ElimStorePlain]: Start of recursive call 5: End of recursive call: and 1 xjuncts. [2018-11-22 22:28:00,950 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-22 22:28:00,951 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-22 22:28:00,957 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-22 22:28:00,957 INFO L202 ElimStorePlain]: Needed 5 recursive calls to eliminate 3 variables, input treesize:42, output treesize:14 [2018-11-22 22:28:01,050 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-22 22:28:01,050 INFO L312 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2018-11-22 22:28:01,058 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-22 22:28:01,059 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2018-11-22 22:28:01,059 INFO L459 AbstractCegarLoop]: Interpolant automaton has 7 states [2018-11-22 22:28:01,059 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2018-11-22 22:28:01,059 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=11, Invalid=31, Unknown=0, NotChecked=0, Total=42 [2018-11-22 22:28:01,059 INFO L87 Difference]: Start difference. First operand 41 states and 51 transitions. Second operand 7 states. [2018-11-22 22:28:03,284 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-22 22:28:03,284 INFO L93 Difference]: Finished difference Result 67 states and 76 transitions. [2018-11-22 22:28:03,285 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2018-11-22 22:28:03,285 INFO L78 Accepts]: Start accepts. Automaton has 7 states. Word has length 26 [2018-11-22 22:28:03,285 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-22 22:28:03,286 INFO L225 Difference]: With dead ends: 67 [2018-11-22 22:28:03,286 INFO L226 Difference]: Without dead ends: 40 [2018-11-22 22:28:03,286 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 33 GetRequests, 20 SyntacticMatches, 0 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 27 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=62, Invalid=148, Unknown=0, NotChecked=0, Total=210 [2018-11-22 22:28:03,286 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 40 states. [2018-11-22 22:28:03,288 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 40 to 33. [2018-11-22 22:28:03,289 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 33 states. [2018-11-22 22:28:03,289 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 33 states to 33 states and 36 transitions. [2018-11-22 22:28:03,289 INFO L78 Accepts]: Start accepts. Automaton has 33 states and 36 transitions. Word has length 26 [2018-11-22 22:28:03,289 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-22 22:28:03,289 INFO L480 AbstractCegarLoop]: Abstraction has 33 states and 36 transitions. [2018-11-22 22:28:03,289 INFO L481 AbstractCegarLoop]: Interpolant automaton has 7 states. [2018-11-22 22:28:03,290 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 36 transitions. [2018-11-22 22:28:03,290 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 28 [2018-11-22 22:28:03,290 INFO L394 BasicCegarLoop]: Found error trace [2018-11-22 22:28:03,290 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-22 22:28:03,290 INFO L423 AbstractCegarLoop]: === Iteration 5 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-22 22:28:03,290 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-22 22:28:03,290 INFO L82 PathProgramCache]: Analyzing trace with hash -2012573455, now seen corresponding path program 1 times [2018-11-22 22:28:03,291 INFO L223 ckRefinementStrategy]: Switched to mode MATHSAT_FPBP [2018-11-22 22:28:03,291 INFO L69 tionRefinementEngine]: Using refinement strategy WalrusRefinementStrategy No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_08bffa03-2ed3-4a1f-8d88-cc38e1c1b291/bin-2019/utaipan/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-22 22:28:03,294 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-22 22:28:03,391 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-22 22:28:03,400 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-22 22:28:03,416 INFO L683 Elim1Store]: detected equality via solver [2018-11-22 22:28:03,417 INFO L683 Elim1Store]: detected equality via solver [2018-11-22 22:28:03,418 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-22 22:28:03,448 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-22 22:28:03,449 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-22 22:28:03,465 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-22 22:28:03,469 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-22 22:28:03,469 INFO L267 ElimStorePlain]: Start of recursive call 5: End of recursive call: and 1 xjuncts. [2018-11-22 22:28:03,470 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-22 22:28:03,472 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-22 22:28:03,477 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-22 22:28:03,478 INFO L202 ElimStorePlain]: Needed 5 recursive calls to eliminate 3 variables, input treesize:42, output treesize:14 [2018-11-22 22:28:03,592 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-22 22:28:03,592 INFO L312 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2018-11-22 22:28:03,600 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-22 22:28:03,600 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2018-11-22 22:28:03,601 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2018-11-22 22:28:03,601 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2018-11-22 22:28:03,601 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=14, Invalid=42, Unknown=0, NotChecked=0, Total=56 [2018-11-22 22:28:03,601 INFO L87 Difference]: Start difference. First operand 33 states and 36 transitions. Second operand 8 states. [2018-11-22 22:28:04,851 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-22 22:28:04,851 INFO L93 Difference]: Finished difference Result 40 states and 43 transitions. [2018-11-22 22:28:04,851 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2018-11-22 22:28:04,852 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 27 [2018-11-22 22:28:04,852 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-22 22:28:04,852 INFO L225 Difference]: With dead ends: 40 [2018-11-22 22:28:04,852 INFO L226 Difference]: Without dead ends: 0 [2018-11-22 22:28:04,852 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 33 GetRequests, 20 SyntacticMatches, 0 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 17 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=64, Invalid=146, Unknown=0, NotChecked=0, Total=210 [2018-11-22 22:28:04,853 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 0 states. [2018-11-22 22:28:04,853 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 0 to 0. [2018-11-22 22:28:04,853 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 0 states. [2018-11-22 22:28:04,853 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 0 states to 0 states and 0 transitions. [2018-11-22 22:28:04,853 INFO L78 Accepts]: Start accepts. Automaton has 0 states and 0 transitions. Word has length 27 [2018-11-22 22:28:04,853 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-22 22:28:04,853 INFO L480 AbstractCegarLoop]: Abstraction has 0 states and 0 transitions. [2018-11-22 22:28:04,853 INFO L481 AbstractCegarLoop]: Interpolant automaton has 8 states. [2018-11-22 22:28:04,853 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2018-11-22 22:28:04,854 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-22 22:28:04,856 INFO L343 DoubleDeckerVisitor]: Before removal of dead ends 0 states and 0 transitions. [2018-11-22 22:28:04,923 INFO L448 ceAbstractionStarter]: For program point L31(lines 31 34) no Hoare annotation was computed. [2018-11-22 22:28:04,923 INFO L448 ceAbstractionStarter]: For program point L27(lines 27 46) no Hoare annotation was computed. [2018-11-22 22:28:04,923 INFO L448 ceAbstractionStarter]: For program point L56(lines 56 68) no Hoare annotation was computed. [2018-11-22 22:28:04,923 INFO L448 ceAbstractionStarter]: For program point L19-1(lines 19 24) no Hoare annotation was computed. [2018-11-22 22:28:04,924 INFO L444 ceAbstractionStarter]: At program point L19-2(lines 19 24) the Hoare annotation is: (= floor_double_~x |floor_double_#in~x|) [2018-11-22 22:28:04,924 INFO L448 ceAbstractionStarter]: For program point L19-3(lines 19 24) no Hoare annotation was computed. [2018-11-22 22:28:04,924 INFO L448 ceAbstractionStarter]: For program point L48(lines 48 51) no Hoare annotation was computed. [2018-11-22 22:28:04,924 INFO L448 ceAbstractionStarter]: For program point floor_doubleFINAL(lines 16 77) no Hoare annotation was computed. [2018-11-22 22:28:04,924 INFO L448 ceAbstractionStarter]: For program point L40(lines 40 45) no Hoare annotation was computed. [2018-11-22 22:28:04,924 INFO L448 ceAbstractionStarter]: For program point L28(lines 28 35) no Hoare annotation was computed. [2018-11-22 22:28:04,924 INFO L448 ceAbstractionStarter]: For program point L57(lines 57 66) no Hoare annotation was computed. [2018-11-22 22:28:04,924 INFO L448 ceAbstractionStarter]: For program point L57-1(lines 57 66) no Hoare annotation was computed. [2018-11-22 22:28:04,924 INFO L448 ceAbstractionStarter]: For program point floor_doubleEXIT(lines 16 77) no Hoare annotation was computed. [2018-11-22 22:28:04,924 INFO L451 ceAbstractionStarter]: At program point floor_doubleENTRY(lines 16 77) the Hoare annotation is: true [2018-11-22 22:28:04,924 INFO L448 ceAbstractionStarter]: For program point L41(lines 41 42) no Hoare annotation was computed. [2018-11-22 22:28:04,925 INFO L448 ceAbstractionStarter]: For program point L41-2(lines 41 42) no Hoare annotation was computed. [2018-11-22 22:28:04,925 INFO L448 ceAbstractionStarter]: For program point L70(lines 70 75) no Hoare annotation was computed. [2018-11-22 22:28:04,925 INFO L448 ceAbstractionStarter]: For program point L70-1(lines 16 77) no Hoare annotation was computed. [2018-11-22 22:28:04,925 INFO L448 ceAbstractionStarter]: For program point L70-2(lines 70 75) no Hoare annotation was computed. [2018-11-22 22:28:04,925 INFO L448 ceAbstractionStarter]: For program point L62(lines 62 63) no Hoare annotation was computed. [2018-11-22 22:28:04,925 INFO L448 ceAbstractionStarter]: For program point L29(lines 29 34) no Hoare annotation was computed. [2018-11-22 22:28:04,925 INFO L448 ceAbstractionStarter]: For program point L62-2(lines 62 63) no Hoare annotation was computed. [2018-11-22 22:28:04,925 INFO L448 ceAbstractionStarter]: For program point L58(lines 58 65) no Hoare annotation was computed. [2018-11-22 22:28:04,925 INFO L448 ceAbstractionStarter]: For program point L54(lines 54 55) no Hoare annotation was computed. [2018-11-22 22:28:04,925 INFO L448 ceAbstractionStarter]: For program point L38(lines 38 39) no Hoare annotation was computed. [2018-11-22 22:28:04,926 INFO L448 ceAbstractionStarter]: For program point L26(lines 26 69) no Hoare annotation was computed. [2018-11-22 22:28:04,926 INFO L448 ceAbstractionStarter]: For program point L47(lines 47 69) no Hoare annotation was computed. [2018-11-22 22:28:04,926 INFO L451 ceAbstractionStarter]: At program point isnan_doubleENTRY(line 80) the Hoare annotation is: true [2018-11-22 22:28:04,926 INFO L448 ceAbstractionStarter]: For program point isnan_doubleEXIT(line 80) no Hoare annotation was computed. [2018-11-22 22:28:04,926 INFO L448 ceAbstractionStarter]: For program point isnan_doubleFINAL(line 80) no Hoare annotation was computed. [2018-11-22 22:28:04,926 INFO L448 ceAbstractionStarter]: For program point ULTIMATE.initFINAL(line -1) no Hoare annotation was computed. [2018-11-22 22:28:04,926 INFO L451 ceAbstractionStarter]: At program point ULTIMATE.initENTRY(line -1) the Hoare annotation is: true [2018-11-22 22:28:04,926 INFO L448 ceAbstractionStarter]: For program point ULTIMATE.initEXIT(line -1) no Hoare annotation was computed. [2018-11-22 22:28:04,926 INFO L448 ceAbstractionStarter]: For program point ULTIMATE.startEXIT(line -1) no Hoare annotation was computed. [2018-11-22 22:28:04,926 INFO L451 ceAbstractionStarter]: At program point L-1(line -1) the Hoare annotation is: true [2018-11-22 22:28:04,927 INFO L451 ceAbstractionStarter]: At program point ULTIMATE.startENTRY(line -1) the Hoare annotation is: true [2018-11-22 22:28:04,927 INFO L448 ceAbstractionStarter]: For program point ULTIMATE.startFINAL(line -1) no Hoare annotation was computed. [2018-11-22 22:28:04,927 INFO L451 ceAbstractionStarter]: At program point mainENTRY(lines 82 98) the Hoare annotation is: true [2018-11-22 22:28:04,927 INFO L448 ceAbstractionStarter]: For program point L93(line 93) no Hoare annotation was computed. [2018-11-22 22:28:04,927 INFO L448 ceAbstractionStarter]: For program point mainFINAL(lines 82 98) no Hoare annotation was computed. [2018-11-22 22:28:04,927 INFO L444 ceAbstractionStarter]: At program point L92(line 92) 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-22 22:28:04,927 INFO L448 ceAbstractionStarter]: For program point L92-1(lines 92 95) no Hoare annotation was computed. [2018-11-22 22:28:04,927 INFO L444 ceAbstractionStarter]: At program point L89(line 89) the Hoare annotation is: (= main_~x~0 (fp.div roundNearestTiesToEven (_ +zero 11 53) (_ +zero 11 53))) [2018-11-22 22:28:04,928 INFO L448 ceAbstractionStarter]: For program point mainEXIT(lines 82 98) no Hoare annotation was computed. [2018-11-22 22:28:04,928 INFO L448 ceAbstractionStarter]: For program point L89-1(line 89) no Hoare annotation was computed. [2018-11-22 22:28:04,928 INFO L448 ceAbstractionStarter]: For program point mainErr0ASSERT_VIOLATIONERROR_FUNCTION(line 93) no Hoare annotation was computed. [2018-11-22 22:28:04,936 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 22.11 10:28:04 BoogieIcfgContainer [2018-11-22 22:28:04,936 INFO L132 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2018-11-22 22:28:04,936 INFO L113 PluginConnector]: ------------------------Witness Printer---------------------------- [2018-11-22 22:28:04,936 INFO L271 PluginConnector]: Initializing Witness Printer... [2018-11-22 22:28:04,936 INFO L276 PluginConnector]: Witness Printer initialized [2018-11-22 22:28:04,937 INFO L185 PluginConnector]: Executing the observer RCFGCatcher from plugin Witness Printer for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 22.11 10:27:54" (3/4) ... [2018-11-22 22:28:04,939 INFO L144 WitnessPrinter]: Generating witness for correct program [2018-11-22 22:28:04,943 INFO L354 RCFGBacktranslator]: Ignoring RootEdge to procedure floor_double [2018-11-22 22:28:04,943 INFO L354 RCFGBacktranslator]: Ignoring RootEdge to procedure isnan_double [2018-11-22 22:28:04,943 INFO L354 RCFGBacktranslator]: Ignoring RootEdge to procedure ULTIMATE.init [2018-11-22 22:28:04,943 INFO L354 RCFGBacktranslator]: Ignoring RootEdge to procedure main [2018-11-22 22:28:04,947 INFO L879 BoogieBacktranslator]: Reduced CFG by removing 19 nodes and edges [2018-11-22 22:28:04,947 INFO L879 BoogieBacktranslator]: Reduced CFG by removing 8 nodes and edges [2018-11-22 22:28:04,947 INFO L879 BoogieBacktranslator]: Reduced CFG by removing 1 nodes and edges [2018-11-22 22:28:04,965 WARN L221 nessWitnessGenerator]: Not writing invariant because ACSL is forbidden: x == \old(x) [2018-11-22 22:28:04,983 INFO L145 WitnessManager]: Wrote witness to /tmp/vcloud-vcloud-master/worker/working_dir_08bffa03-2ed3-4a1f-8d88-cc38e1c1b291/bin-2019/utaipan/witness.graphml [2018-11-22 22:28:04,984 INFO L132 PluginConnector]: ------------------------ END Witness Printer---------------------------- [2018-11-22 22:28:04,984 INFO L168 Benchmark]: Toolchain (without parser) took 12008.99 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 124.3 MB). Free memory was 950.5 MB in the beginning and 831.2 MB in the end (delta: 119.3 MB). Peak memory consumption was 243.6 MB. Max. memory is 11.5 GB. [2018-11-22 22:28:04,985 INFO L168 Benchmark]: CDTParser took 0.15 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-22 22:28:04,985 INFO L168 Benchmark]: CACSL2BoogieTranslator took 191.58 ms. Allocated memory is still 1.0 GB. Free memory was 950.5 MB in the beginning and 934.4 MB in the end (delta: 16.1 MB). Peak memory consumption was 16.1 MB. Max. memory is 11.5 GB. [2018-11-22 22:28:04,985 INFO L168 Benchmark]: Boogie Procedure Inliner took 18.22 ms. Allocated memory is still 1.0 GB. Free memory is still 934.4 MB. There was no memory consumed. Max. memory is 11.5 GB. [2018-11-22 22:28:04,985 INFO L168 Benchmark]: Boogie Preprocessor took 70.50 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 124.3 MB). Free memory was 934.4 MB in the beginning and 1.1 GB in the end (delta: -183.8 MB). Peak memory consumption was 15.5 MB. Max. memory is 11.5 GB. [2018-11-22 22:28:04,986 INFO L168 Benchmark]: RCFGBuilder took 835.34 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.9 MB). Peak memory consumption was 34.9 MB. Max. memory is 11.5 GB. [2018-11-22 22:28:04,986 INFO L168 Benchmark]: TraceAbstraction took 10842.65 ms. Allocated memory is still 1.2 GB. Free memory was 1.1 GB in the beginning and 831.2 MB in the end (delta: 252.1 MB). Peak memory consumption was 252.1 MB. Max. memory is 11.5 GB. [2018-11-22 22:28:04,986 INFO L168 Benchmark]: Witness Printer took 47.59 ms. Allocated memory is still 1.2 GB. Free memory is still 831.2 MB. There was no memory consumed. Max. memory is 11.5 GB. [2018-11-22 22:28:04,988 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.15 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 191.58 ms. Allocated memory is still 1.0 GB. Free memory was 950.5 MB in the beginning and 934.4 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.22 ms. Allocated memory is still 1.0 GB. Free memory is still 934.4 MB. There was no memory consumed. Max. memory is 11.5 GB. * Boogie Preprocessor took 70.50 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 124.3 MB). Free memory was 934.4 MB in the beginning and 1.1 GB in the end (delta: -183.8 MB). Peak memory consumption was 15.5 MB. Max. memory is 11.5 GB. * RCFGBuilder took 835.34 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.9 MB). Peak memory consumption was 34.9 MB. Max. memory is 11.5 GB. * TraceAbstraction took 10842.65 ms. Allocated memory is still 1.2 GB. Free memory was 1.1 GB in the beginning and 831.2 MB in the end (delta: 252.1 MB). Peak memory consumption was 252.1 MB. Max. memory is 11.5 GB. * Witness Printer took 47.59 ms. Allocated memory is still 1.2 GB. Free memory is still 831.2 MB. There was no memory consumed. Max. memory is 11.5 GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - PositiveResult [Line: 93]: 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: 19]: Loop Invariant Derived loop invariant: x == \old(x) - StatisticsResult: Ultimate Automizer benchmark data CFG has 5 procedures, 46 locations, 1 error locations. SAFE Result, 10.7s OverallTime, 5 OverallIterations, 1 TraceHistogramMax, 8.8s 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.5s Time, PredicateUnifierStatistics: 0 DeclaredPredicates, 139 GetRequests, 91 SyntacticMatches, 0 SemanticMatches, 48 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 54 ImplicationChecksByTransitivity, 3.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.2s SatisfiabilityAnalysisTime, 1.4s 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...