./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_29c08cc0-3b07-4988-9794-5b37a6ab924b/bin-2019/uautomizer/data/config -Xmx12G -Xms1G -jar /tmp/vcloud-vcloud-master/worker/working_dir_29c08cc0-3b07-4988-9794-5b37a6ab924b/bin-2019/uautomizer/plugins/org.eclipse.equinox.launcher_1.3.100.v20150511-1540.jar -data @noDefault -ultimatedata /tmp/vcloud-vcloud-master/worker/working_dir_29c08cc0-3b07-4988-9794-5b37a6ab924b/bin-2019/uautomizer/data -tc /tmp/vcloud-vcloud-master/worker/working_dir_29c08cc0-3b07-4988-9794-5b37a6ab924b/bin-2019/uautomizer/config/AutomizerReach.xml -i ../../sv-benchmarks/c/float-newlib/double_req_bl_1051_true-unreach-call.c -s /tmp/vcloud-vcloud-master/worker/working_dir_29c08cc0-3b07-4988-9794-5b37a6ab924b/bin-2019/uautomizer/config/svcomp-Reach-32bit-Automizer_Default.epf --cacsl2boogietranslator.entry.function main --witnessprinter.witness.directory /tmp/vcloud-vcloud-master/worker/working_dir_29c08cc0-3b07-4988-9794-5b37a6ab924b/bin-2019/uautomizer --witnessprinter.witness.filename witness.graphml --witnessprinter.write.witness.besides.input.file false --witnessprinter.graph.data.specification CHECK( init(main()), LTL(G ! call(__VERIFIER_error())) ) --witnessprinter.graph.data.producer Automizer --witnessprinter.graph.data.architecture 32bit --witnessprinter.graph.data.programhash 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_29c08cc0-3b07-4988-9794-5b37a6ab924b/bin-2019/uautomizer/data/config -Xmx12G -Xms1G -jar /tmp/vcloud-vcloud-master/worker/working_dir_29c08cc0-3b07-4988-9794-5b37a6ab924b/bin-2019/uautomizer/plugins/org.eclipse.equinox.launcher_1.3.100.v20150511-1540.jar -data @noDefault -ultimatedata /tmp/vcloud-vcloud-master/worker/working_dir_29c08cc0-3b07-4988-9794-5b37a6ab924b/bin-2019/uautomizer/data -tc /tmp/vcloud-vcloud-master/worker/working_dir_29c08cc0-3b07-4988-9794-5b37a6ab924b/bin-2019/uautomizer/config/AutomizerReach.xml -i ../../sv-benchmarks/c/float-newlib/double_req_bl_1051_true-unreach-call.c -s /tmp/vcloud-vcloud-master/worker/working_dir_29c08cc0-3b07-4988-9794-5b37a6ab924b/bin-2019/uautomizer/config/svcomp-Reach-32bit-Automizer_Bitvector.epf --cacsl2boogietranslator.entry.function main --witnessprinter.witness.directory /tmp/vcloud-vcloud-master/worker/working_dir_29c08cc0-3b07-4988-9794-5b37a6ab924b/bin-2019/uautomizer --witnessprinter.witness.filename witness.graphml --witnessprinter.write.witness.besides.input.file false --witnessprinter.graph.data.specification CHECK( init(main()), LTL(G ! call(__VERIFIER_error())) ) --witnessprinter.graph.data.producer Automizer --witnessprinter.graph.data.architecture 32bit --witnessprinter.graph.data.programhash 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-23 12:08:46,526 INFO L170 SettingsManager]: Resetting all preferences to default values... [2018-11-23 12:08:46,528 INFO L174 SettingsManager]: Resetting UltimateCore preferences to default values [2018-11-23 12:08:46,534 INFO L177 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2018-11-23 12:08:46,534 INFO L174 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2018-11-23 12:08:46,534 INFO L174 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2018-11-23 12:08:46,535 INFO L174 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2018-11-23 12:08:46,536 INFO L174 SettingsManager]: Resetting LassoRanker preferences to default values [2018-11-23 12:08:46,537 INFO L174 SettingsManager]: Resetting Reaching Definitions preferences to default values [2018-11-23 12:08:46,538 INFO L174 SettingsManager]: Resetting SyntaxChecker preferences to default values [2018-11-23 12:08:46,538 INFO L177 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2018-11-23 12:08:46,538 INFO L174 SettingsManager]: Resetting LTL2Aut preferences to default values [2018-11-23 12:08:46,539 INFO L174 SettingsManager]: Resetting PEA to Boogie preferences to default values [2018-11-23 12:08:46,540 INFO L174 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2018-11-23 12:08:46,540 INFO L174 SettingsManager]: Resetting ChcToBoogie preferences to default values [2018-11-23 12:08:46,541 INFO L174 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2018-11-23 12:08:46,541 INFO L174 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2018-11-23 12:08:46,542 INFO L174 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2018-11-23 12:08:46,544 INFO L174 SettingsManager]: Resetting CodeCheck preferences to default values [2018-11-23 12:08:46,545 INFO L174 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2018-11-23 12:08:46,545 INFO L174 SettingsManager]: Resetting RCFGBuilder preferences to default values [2018-11-23 12:08:46,546 INFO L174 SettingsManager]: Resetting TraceAbstraction preferences to default values [2018-11-23 12:08:46,548 INFO L177 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2018-11-23 12:08:46,548 INFO L177 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2018-11-23 12:08:46,548 INFO L174 SettingsManager]: Resetting TreeAutomizer preferences to default values [2018-11-23 12:08:46,549 INFO L174 SettingsManager]: Resetting IcfgTransformer preferences to default values [2018-11-23 12:08:46,549 INFO L174 SettingsManager]: Resetting Boogie Printer preferences to default values [2018-11-23 12:08:46,550 INFO L174 SettingsManager]: Resetting ReqPrinter preferences to default values [2018-11-23 12:08:46,550 INFO L174 SettingsManager]: Resetting Witness Printer preferences to default values [2018-11-23 12:08:46,551 INFO L177 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2018-11-23 12:08:46,551 INFO L174 SettingsManager]: Resetting CDTParser preferences to default values [2018-11-23 12:08:46,552 INFO L177 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2018-11-23 12:08:46,552 INFO L177 SettingsManager]: ReqParser provides no preferences, ignoring... [2018-11-23 12:08:46,552 INFO L174 SettingsManager]: Resetting SmtParser preferences to default values [2018-11-23 12:08:46,553 INFO L174 SettingsManager]: Resetting Witness Parser preferences to default values [2018-11-23 12:08:46,553 INFO L181 SettingsManager]: Finished resetting all preferences to default values... [2018-11-23 12:08:46,553 INFO L98 SettingsManager]: Beginning loading settings from /tmp/vcloud-vcloud-master/worker/working_dir_29c08cc0-3b07-4988-9794-5b37a6ab924b/bin-2019/uautomizer/config/svcomp-Reach-32bit-Automizer_Default.epf [2018-11-23 12:08:46,560 INFO L110 SettingsManager]: Loading preferences was successful [2018-11-23 12:08:46,561 INFO L112 SettingsManager]: Preferences different from defaults after loading the file: [2018-11-23 12:08:46,561 INFO L131 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2018-11-23 12:08:46,561 INFO L133 SettingsManager]: * ... calls to implemented procedures=ONLY_FOR_CONCURRENT_PROGRAMS [2018-11-23 12:08:46,562 INFO L131 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2018-11-23 12:08:46,562 INFO L133 SettingsManager]: * Create parallel compositions if possible=false [2018-11-23 12:08:46,562 INFO L133 SettingsManager]: * Use SBE=true [2018-11-23 12:08:46,562 INFO L131 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2018-11-23 12:08:46,562 INFO L133 SettingsManager]: * sizeof long=4 [2018-11-23 12:08:46,562 INFO L133 SettingsManager]: * Overapproximate operations on floating types=true [2018-11-23 12:08:46,562 INFO L133 SettingsManager]: * sizeof POINTER=4 [2018-11-23 12:08:46,562 INFO L133 SettingsManager]: * Check division by zero=IGNORE [2018-11-23 12:08:46,562 INFO L133 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2018-11-23 12:08:46,563 INFO L133 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2018-11-23 12:08:46,563 INFO L133 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2018-11-23 12:08:46,563 INFO L133 SettingsManager]: * sizeof long double=12 [2018-11-23 12:08:46,563 INFO L133 SettingsManager]: * Check if freed pointer was valid=false [2018-11-23 12:08:46,563 INFO L133 SettingsManager]: * Use constant arrays=true [2018-11-23 12:08:46,563 INFO L133 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2018-11-23 12:08:46,563 INFO L131 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2018-11-23 12:08:46,563 INFO L133 SettingsManager]: * Size of a code block=SequenceOfStatements [2018-11-23 12:08:46,564 INFO L133 SettingsManager]: * To the following directory=./dump/ [2018-11-23 12:08:46,564 INFO L133 SettingsManager]: * SMT solver=External_DefaultMode [2018-11-23 12:08:46,564 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2018-11-23 12:08:46,564 INFO L131 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2018-11-23 12:08:46,564 INFO L133 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2018-11-23 12:08:46,564 INFO L133 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2018-11-23 12:08:46,564 INFO L133 SettingsManager]: * Trace refinement strategy=CAMEL [2018-11-23 12:08:46,565 INFO L133 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2018-11-23 12:08:46,565 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2018-11-23 12:08:46,565 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_29c08cc0-3b07-4988-9794-5b37a6ab924b/bin-2019/uautomizer Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Witness filename -> witness.graphml Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Write witness besides input file -> false Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data specification -> CHECK( init(main()), LTL(G ! call(__VERIFIER_error())) ) Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data producer -> Automizer Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data architecture -> 32bit Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data programhash -> 0fa375491f6ee23468a1ede5cb9608fff6035ced [2018-11-23 12:08:46,589 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2018-11-23 12:08:46,599 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2018-11-23 12:08:46,602 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2018-11-23 12:08:46,603 INFO L271 PluginConnector]: Initializing CDTParser... [2018-11-23 12:08:46,603 INFO L276 PluginConnector]: CDTParser initialized [2018-11-23 12:08:46,604 INFO L418 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /tmp/vcloud-vcloud-master/worker/working_dir_29c08cc0-3b07-4988-9794-5b37a6ab924b/bin-2019/uautomizer/../../sv-benchmarks/c/float-newlib/double_req_bl_1051_true-unreach-call.c [2018-11-23 12:08:46,639 INFO L221 CDTParser]: Created temporary CDT project at /tmp/vcloud-vcloud-master/worker/working_dir_29c08cc0-3b07-4988-9794-5b37a6ab924b/bin-2019/uautomizer/data/0ad4fe8e7/e4b3246197864f2d91d8a04ecc8aacf2/FLAGd9eecce29 [2018-11-23 12:08:47,044 INFO L307 CDTParser]: Found 1 translation units. [2018-11-23 12:08:47,045 INFO L161 CDTParser]: Scanning /tmp/vcloud-vcloud-master/worker/working_dir_29c08cc0-3b07-4988-9794-5b37a6ab924b/sv-benchmarks/c/float-newlib/double_req_bl_1051_true-unreach-call.c [2018-11-23 12:08:47,050 INFO L355 CDTParser]: About to delete temporary CDT project at /tmp/vcloud-vcloud-master/worker/working_dir_29c08cc0-3b07-4988-9794-5b37a6ab924b/bin-2019/uautomizer/data/0ad4fe8e7/e4b3246197864f2d91d8a04ecc8aacf2/FLAGd9eecce29 [2018-11-23 12:08:47,062 INFO L363 CDTParser]: Successfully deleted /tmp/vcloud-vcloud-master/worker/working_dir_29c08cc0-3b07-4988-9794-5b37a6ab924b/bin-2019/uautomizer/data/0ad4fe8e7/e4b3246197864f2d91d8a04ecc8aacf2 [2018-11-23 12:08:47,065 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2018-11-23 12:08:47,066 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2018-11-23 12:08:47,067 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2018-11-23 12:08:47,067 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2018-11-23 12:08:47,070 INFO L276 PluginConnector]: CACSL2BoogieTranslator initialized [2018-11-23 12:08:47,071 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 12:08:47" (1/1) ... [2018-11-23 12:08:47,073 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@26483d9a and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:08:47, skipping insertion in model container [2018-11-23 12:08:47,073 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 12:08:47" (1/1) ... [2018-11-23 12:08:47,081 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2018-11-23 12:08:47,099 INFO L176 MainTranslator]: Built tables and reachable declarations [2018-11-23 12:08:47,223 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 12:08:47,225 INFO L191 MainTranslator]: Completed pre-run [2018-11-23 12:08:47,246 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 12:08:47,260 INFO L195 MainTranslator]: Completed translation [2018-11-23 12:08:47,260 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:08:47 WrapperNode [2018-11-23 12:08:47,260 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2018-11-23 12:08:47,261 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2018-11-23 12:08:47,261 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2018-11-23 12:08:47,261 INFO L276 PluginConnector]: Boogie Procedure Inliner initialized [2018-11-23 12:08:47,265 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:08:47" (1/1) ... [2018-11-23 12:08:47,272 INFO L185 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:08:47" (1/1) ... [2018-11-23 12:08:47,314 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2018-11-23 12:08:47,314 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2018-11-23 12:08:47,314 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2018-11-23 12:08:47,314 INFO L276 PluginConnector]: Boogie Preprocessor initialized [2018-11-23 12:08:47,320 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:08:47" (1/1) ... [2018-11-23 12:08:47,320 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:08:47" (1/1) ... [2018-11-23 12:08:47,322 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:08:47" (1/1) ... [2018-11-23 12:08:47,322 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:08:47" (1/1) ... [2018-11-23 12:08:47,328 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:08:47" (1/1) ... [2018-11-23 12:08:47,332 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:08:47" (1/1) ... [2018-11-23 12:08:47,333 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:08:47" (1/1) ... [2018-11-23 12:08:47,335 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2018-11-23 12:08:47,335 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2018-11-23 12:08:47,336 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2018-11-23 12:08:47,336 INFO L276 PluginConnector]: RCFGBuilder initialized [2018-11-23 12:08:47,336 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:08:47" (1/1) ... No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_29c08cc0-3b07-4988-9794-5b37a6ab924b/bin-2019/uautomizer/z3 Starting monitored process 1 with z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 1 with z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2018-11-23 12:08:47,365 INFO L130 BoogieDeclarations]: Found specification of procedure read~real [2018-11-23 12:08:47,366 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2018-11-23 12:08:47,366 INFO L130 BoogieDeclarations]: Found specification of procedure floor_double [2018-11-23 12:08:47,366 INFO L138 BoogieDeclarations]: Found implementation of procedure floor_double [2018-11-23 12:08:47,366 INFO L130 BoogieDeclarations]: Found specification of procedure isnan_double [2018-11-23 12:08:47,366 INFO L138 BoogieDeclarations]: Found implementation of procedure isnan_double [2018-11-23 12:08:47,366 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2018-11-23 12:08:47,366 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2018-11-23 12:08:47,366 INFO L130 BoogieDeclarations]: Found specification of procedure write~real [2018-11-23 12:08:47,366 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.alloc [2018-11-23 12:08:47,367 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2018-11-23 12:08:47,367 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2018-11-23 12:08:47,367 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2018-11-23 12:08:47,367 INFO L130 BoogieDeclarations]: Found specification of procedure main [2018-11-23 12:08:47,367 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2018-11-23 12:08:47,367 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2018-11-23 12:08:47,551 INFO L275 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2018-11-23 12:08:47,552 INFO L280 CfgBuilder]: Removed 4 assue(true) statements. [2018-11-23 12:08:47,552 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 12:08:47 BoogieIcfgContainer [2018-11-23 12:08:47,552 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2018-11-23 12:08:47,553 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2018-11-23 12:08:47,553 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2018-11-23 12:08:47,554 INFO L276 PluginConnector]: TraceAbstraction initialized [2018-11-23 12:08:47,555 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 23.11 12:08:47" (1/3) ... [2018-11-23 12:08:47,555 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@34a0f4fc and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 23.11 12:08:47, skipping insertion in model container [2018-11-23 12:08:47,555 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:08:47" (2/3) ... [2018-11-23 12:08:47,556 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@34a0f4fc and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 23.11 12:08:47, skipping insertion in model container [2018-11-23 12:08:47,556 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 12:08:47" (3/3) ... [2018-11-23 12:08:47,557 INFO L112 eAbstractionObserver]: Analyzing ICFG double_req_bl_1051_true-unreach-call.c [2018-11-23 12:08:47,562 INFO L156 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2018-11-23 12:08:47,567 INFO L168 ceAbstractionStarter]: Appying trace abstraction to program that has 1 error locations. [2018-11-23 12:08:47,576 INFO L257 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2018-11-23 12:08:47,594 INFO L133 ementStrategyFactory]: Using default assertion order modulation [2018-11-23 12:08:47,595 INFO L382 AbstractCegarLoop]: Interprodecural is true [2018-11-23 12:08:47,595 INFO L383 AbstractCegarLoop]: Hoare is true [2018-11-23 12:08:47,595 INFO L384 AbstractCegarLoop]: Compute interpolants for FPandBP [2018-11-23 12:08:47,595 INFO L385 AbstractCegarLoop]: Backedges is STRAIGHT_LINE [2018-11-23 12:08:47,595 INFO L386 AbstractCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2018-11-23 12:08:47,595 INFO L387 AbstractCegarLoop]: Difference is false [2018-11-23 12:08:47,595 INFO L388 AbstractCegarLoop]: Minimize is MINIMIZE_SEVPA [2018-11-23 12:08:47,596 INFO L393 AbstractCegarLoop]: ======== Iteration 0==of CEGAR loop == AllErrorsAtOnce======== [2018-11-23 12:08:47,606 INFO L276 IsEmpty]: Start isEmpty. Operand 47 states. [2018-11-23 12:08:47,611 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 24 [2018-11-23 12:08:47,611 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:08:47,611 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:08:47,613 INFO L423 AbstractCegarLoop]: === Iteration 1 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:08:47,616 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:08:47,616 INFO L82 PathProgramCache]: Analyzing trace with hash 1635654302, now seen corresponding path program 1 times [2018-11-23 12:08:47,617 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:08:47,618 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:08:47,646 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:08:47,646 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:08:47,646 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:08:47,675 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:08:47,703 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 12:08:47,705 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 12:08:47,705 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2018-11-23 12:08:47,707 INFO L459 AbstractCegarLoop]: Interpolant automaton has 2 states [2018-11-23 12:08:47,715 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 2 interpolants. [2018-11-23 12:08:47,715 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2018-11-23 12:08:47,717 INFO L87 Difference]: Start difference. First operand 47 states. Second operand 2 states. [2018-11-23 12:08:47,731 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:08:47,731 INFO L93 Difference]: Finished difference Result 86 states and 124 transitions. [2018-11-23 12:08:47,731 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2018-11-23 12:08:47,732 INFO L78 Accepts]: Start accepts. Automaton has 2 states. Word has length 23 [2018-11-23 12:08:47,732 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:08:47,738 INFO L225 Difference]: With dead ends: 86 [2018-11-23 12:08:47,739 INFO L226 Difference]: Without dead ends: 43 [2018-11-23 12:08:47,741 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 2 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 0 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2018-11-23 12:08:47,751 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 43 states. [2018-11-23 12:08:47,764 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 43 to 43. [2018-11-23 12:08:47,765 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 43 states. [2018-11-23 12:08:47,765 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 43 states to 43 states and 57 transitions. [2018-11-23 12:08:47,766 INFO L78 Accepts]: Start accepts. Automaton has 43 states and 57 transitions. Word has length 23 [2018-11-23 12:08:47,766 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:08:47,766 INFO L480 AbstractCegarLoop]: Abstraction has 43 states and 57 transitions. [2018-11-23 12:08:47,767 INFO L481 AbstractCegarLoop]: Interpolant automaton has 2 states. [2018-11-23 12:08:47,767 INFO L276 IsEmpty]: Start isEmpty. Operand 43 states and 57 transitions. [2018-11-23 12:08:47,767 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 25 [2018-11-23 12:08:47,767 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:08:47,768 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:08:47,768 INFO L423 AbstractCegarLoop]: === Iteration 2 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:08:47,768 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:08:47,768 INFO L82 PathProgramCache]: Analyzing trace with hash 744784661, now seen corresponding path program 1 times [2018-11-23 12:08:47,768 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:08:47,769 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:08:47,769 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:08:47,770 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:08:47,770 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:08:47,801 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 12:08:47,820 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 12:08:47,835 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~union1;havoc #t~mem0;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~mem2;havoc #t~union3;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~union1; [L22] havoc #t~mem0; [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~mem2; [L23] havoc #t~union3; [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~union1; [L22] havoc #t~mem0; [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~mem2; [L23] havoc #t~union3; [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~union1; [L22] havoc #t~mem0; [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~mem2; [L23] havoc #t~union3; [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~union1; [L22] havoc #t~mem0; [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~mem2; [L23] havoc #t~union3; [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~union1; [L22] havoc #t~mem0; [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~mem2; [L23] havoc #t~union3; [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~union1; [L22] havoc #t~mem0; [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~mem2; [L23] havoc #t~union3; [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-23 12:08:47,877 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 23.11 12:08:47 BoogieIcfgContainer [2018-11-23 12:08:47,877 INFO L132 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2018-11-23 12:08:47,877 INFO L113 PluginConnector]: ------------------------Witness Printer---------------------------- [2018-11-23 12:08:47,877 INFO L271 PluginConnector]: Initializing Witness Printer... [2018-11-23 12:08:47,877 INFO L276 PluginConnector]: Witness Printer initialized [2018-11-23 12:08:47,878 INFO L185 PluginConnector]: Executing the observer RCFGCatcher from plugin Witness Printer for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 12:08:47" (3/4) ... [2018-11-23 12:08:47,881 INFO L147 WitnessPrinter]: No result that supports witness generation found [2018-11-23 12:08:47,881 INFO L132 PluginConnector]: ------------------------ END Witness Printer---------------------------- [2018-11-23 12:08:47,882 INFO L168 Benchmark]: Toolchain (without parser) took 816.22 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 130.0 MB). Free memory was 960.9 MB in the beginning and 1.1 GB in the end (delta: -105.6 MB). Peak memory consumption was 24.4 MB. Max. memory is 11.5 GB. [2018-11-23 12:08:47,883 INFO L168 Benchmark]: CDTParser took 0.14 ms. Allocated memory is still 1.0 GB. Free memory is still 982.9 MB. There was no memory consumed. Max. memory is 11.5 GB. [2018-11-23 12:08:47,883 INFO L168 Benchmark]: CACSL2BoogieTranslator took 193.44 ms. Allocated memory is still 1.0 GB. Free memory was 960.9 MB in the beginning and 944.8 MB in the end (delta: 16.1 MB). Peak memory consumption was 16.1 MB. Max. memory is 11.5 GB. [2018-11-23 12:08:47,883 INFO L168 Benchmark]: Boogie Procedure Inliner took 53.14 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 130.0 MB). Free memory was 944.8 MB in the beginning and 1.1 GB in the end (delta: -182.8 MB). Peak memory consumption was 14.3 MB. Max. memory is 11.5 GB. [2018-11-23 12:08:47,884 INFO L168 Benchmark]: Boogie Preprocessor took 21.46 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-23 12:08:47,885 INFO L168 Benchmark]: RCFGBuilder took 216.56 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: 19.7 MB). Peak memory consumption was 19.7 MB. Max. memory is 11.5 GB. [2018-11-23 12:08:47,885 INFO L168 Benchmark]: TraceAbstraction took 324.31 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: 36.0 MB). Peak memory consumption was 36.0 MB. Max. memory is 11.5 GB. [2018-11-23 12:08:47,886 INFO L168 Benchmark]: Witness Printer took 4.01 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-23 12:08:47,889 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.14 ms. Allocated memory is still 1.0 GB. Free memory is still 982.9 MB. There was no memory consumed. Max. memory is 11.5 GB. * CACSL2BoogieTranslator took 193.44 ms. Allocated memory is still 1.0 GB. Free memory was 960.9 MB in the beginning and 944.8 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 53.14 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 130.0 MB). Free memory was 944.8 MB in the beginning and 1.1 GB in the end (delta: -182.8 MB). Peak memory consumption was 14.3 MB. Max. memory is 11.5 GB. * Boogie Preprocessor took 21.46 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 216.56 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: 19.7 MB). Peak memory consumption was 19.7 MB. Max. memory is 11.5 GB. * TraceAbstraction took 324.31 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: 36.0 MB). Peak memory consumption was 36.0 MB. Max. memory is 11.5 GB. * Witness Printer took 4.01 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. * 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.2s OverallTime, 2 OverallIterations, 1 TraceHistogramMax, 0.0s AutomataDifference, 0.0s DeadEndRemovalTime, 0.0s HoareAnnotationTime, HoareTripleCheckerStatistics: 61 SDtfs, 0 SDslu, 0 SDs, 0 SdLazy, 0 SolverSat, 0 SolverUnsat, 0 SolverUnknown, 0 SolverNotchecked, 0.0s Time, PredicateUnifierStatistics: 0 DeclaredPredicates, 2 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 0 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s Time, 0.0s BasicInterpolantAutomatonTime, BiggestAbstraction: size=47occurred in iteration=0, traceCheckStatistics: No data available, InterpolantConsolidationStatistics: No data available, PathInvariantsStatistics: No data available, 0/0 InterpolantCoveringCapability, TotalInterpolationStatistics: No data available, 0.0s AbstIntTime, 0 AbstIntIterations, 0 AbstIntStrong, NaN AbsIntWeakeningRatio, NaN AbsIntAvgWeakeningVarsNumRemoved, NaN AbsIntAvgWeakenedConjuncts, 0.0s DumpTime, AutomataMinimizationStatistics: 0.0s AutomataMinimizationTime, 1 MinimizatonAttempts, 0 StatesRemovedByMinimization, 0 NontrivialMinimizations, HoareAnnotationStatistics: No data available, RefinementEngineStatistics: TraceCheckStatistics: 0.0s SsaConstructionTime, 0.0s SatisfiabilityAnalysisTime, 0.0s InterpolantComputationTime, 47 NumberOfCodeBlocks, 47 NumberOfCodeBlocksAsserted, 2 NumberOfCheckSat, 22 ConstructedInterpolants, 0 QuantifiedInterpolants, 484 SizeOfPredicates, 0 NumberOfNonLiveVariables, 0 ConjunctsInSsa, 0 ConjunctsInUnsatCore, 1 InterpolantComputations, 1 PerfectInterpolantSequences, 0/0 InterpolantCoveringCapability, InvariantSynthesisStatistics: No data available, InterpolantConsolidationStatistics: No data available, ReuseStatistics: No data available RESULT: Ultimate could not prove your program: unable to determine feasibility of some traces Received shutdown request... ### Bit-precise run ### This is Ultimate 0.1.23-aa41828 [2018-11-23 12:08:49,279 INFO L170 SettingsManager]: Resetting all preferences to default values... [2018-11-23 12:08:49,280 INFO L174 SettingsManager]: Resetting UltimateCore preferences to default values [2018-11-23 12:08:49,288 INFO L177 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2018-11-23 12:08:49,289 INFO L174 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2018-11-23 12:08:49,289 INFO L174 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2018-11-23 12:08:49,290 INFO L174 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2018-11-23 12:08:49,291 INFO L174 SettingsManager]: Resetting LassoRanker preferences to default values [2018-11-23 12:08:49,292 INFO L174 SettingsManager]: Resetting Reaching Definitions preferences to default values [2018-11-23 12:08:49,293 INFO L174 SettingsManager]: Resetting SyntaxChecker preferences to default values [2018-11-23 12:08:49,293 INFO L177 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2018-11-23 12:08:49,293 INFO L174 SettingsManager]: Resetting LTL2Aut preferences to default values [2018-11-23 12:08:49,294 INFO L174 SettingsManager]: Resetting PEA to Boogie preferences to default values [2018-11-23 12:08:49,295 INFO L174 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2018-11-23 12:08:49,295 INFO L174 SettingsManager]: Resetting ChcToBoogie preferences to default values [2018-11-23 12:08:49,296 INFO L174 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2018-11-23 12:08:49,296 INFO L174 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2018-11-23 12:08:49,298 INFO L174 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2018-11-23 12:08:49,299 INFO L174 SettingsManager]: Resetting CodeCheck preferences to default values [2018-11-23 12:08:49,300 INFO L174 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2018-11-23 12:08:49,301 INFO L174 SettingsManager]: Resetting RCFGBuilder preferences to default values [2018-11-23 12:08:49,301 INFO L174 SettingsManager]: Resetting TraceAbstraction preferences to default values [2018-11-23 12:08:49,303 INFO L177 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2018-11-23 12:08:49,303 INFO L177 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2018-11-23 12:08:49,303 INFO L174 SettingsManager]: Resetting TreeAutomizer preferences to default values [2018-11-23 12:08:49,304 INFO L174 SettingsManager]: Resetting IcfgTransformer preferences to default values [2018-11-23 12:08:49,304 INFO L174 SettingsManager]: Resetting Boogie Printer preferences to default values [2018-11-23 12:08:49,305 INFO L174 SettingsManager]: Resetting ReqPrinter preferences to default values [2018-11-23 12:08:49,306 INFO L174 SettingsManager]: Resetting Witness Printer preferences to default values [2018-11-23 12:08:49,306 INFO L177 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2018-11-23 12:08:49,306 INFO L174 SettingsManager]: Resetting CDTParser preferences to default values [2018-11-23 12:08:49,307 INFO L177 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2018-11-23 12:08:49,307 INFO L177 SettingsManager]: ReqParser provides no preferences, ignoring... [2018-11-23 12:08:49,307 INFO L174 SettingsManager]: Resetting SmtParser preferences to default values [2018-11-23 12:08:49,308 INFO L174 SettingsManager]: Resetting Witness Parser preferences to default values [2018-11-23 12:08:49,308 INFO L181 SettingsManager]: Finished resetting all preferences to default values... [2018-11-23 12:08:49,308 INFO L98 SettingsManager]: Beginning loading settings from /tmp/vcloud-vcloud-master/worker/working_dir_29c08cc0-3b07-4988-9794-5b37a6ab924b/bin-2019/uautomizer/config/svcomp-Reach-32bit-Automizer_Bitvector.epf [2018-11-23 12:08:49,318 INFO L110 SettingsManager]: Loading preferences was successful [2018-11-23 12:08:49,318 INFO L112 SettingsManager]: Preferences different from defaults after loading the file: [2018-11-23 12:08:49,319 INFO L131 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2018-11-23 12:08:49,319 INFO L133 SettingsManager]: * ... calls to implemented procedures=ONLY_FOR_CONCURRENT_PROGRAMS [2018-11-23 12:08:49,320 INFO L131 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2018-11-23 12:08:49,320 INFO L133 SettingsManager]: * Create parallel compositions if possible=false [2018-11-23 12:08:49,320 INFO L133 SettingsManager]: * Use SBE=true [2018-11-23 12:08:49,320 INFO L131 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2018-11-23 12:08:49,320 INFO L133 SettingsManager]: * sizeof long=4 [2018-11-23 12:08:49,320 INFO L133 SettingsManager]: * sizeof POINTER=4 [2018-11-23 12:08:49,320 INFO L133 SettingsManager]: * Check division by zero=IGNORE [2018-11-23 12:08:49,321 INFO L133 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2018-11-23 12:08:49,321 INFO L133 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2018-11-23 12:08:49,321 INFO L133 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2018-11-23 12:08:49,321 INFO L133 SettingsManager]: * Use bitvectors instead of ints=true [2018-11-23 12:08:49,321 INFO L133 SettingsManager]: * Memory model=HoenickeLindenmann_4ByteResolution [2018-11-23 12:08:49,321 INFO L133 SettingsManager]: * sizeof long double=12 [2018-11-23 12:08:49,321 INFO L133 SettingsManager]: * Check if freed pointer was valid=false [2018-11-23 12:08:49,321 INFO L133 SettingsManager]: * Use constant arrays=true [2018-11-23 12:08:49,322 INFO L133 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2018-11-23 12:08:49,322 INFO L131 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2018-11-23 12:08:49,322 INFO L133 SettingsManager]: * Size of a code block=SequenceOfStatements [2018-11-23 12:08:49,322 INFO L133 SettingsManager]: * To the following directory=./dump/ [2018-11-23 12:08:49,322 INFO L133 SettingsManager]: * SMT solver=External_DefaultMode [2018-11-23 12:08:49,322 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2018-11-23 12:08:49,322 INFO L131 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2018-11-23 12:08:49,323 INFO L133 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2018-11-23 12:08:49,323 INFO L133 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2018-11-23 12:08:49,323 INFO L133 SettingsManager]: * Trace refinement strategy=WOLF [2018-11-23 12:08:49,323 INFO L133 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2018-11-23 12:08:49,323 INFO L133 SettingsManager]: * Command for external solver=cvc4nyu --tear-down-incremental --rewrite-divk --print-success --lang smt [2018-11-23 12:08:49,323 INFO L133 SettingsManager]: * Logic for external solver=AUFBV [2018-11-23 12:08:49,323 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_29c08cc0-3b07-4988-9794-5b37a6ab924b/bin-2019/uautomizer Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Witness filename -> witness.graphml Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Write witness besides input file -> false Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data specification -> CHECK( init(main()), LTL(G ! call(__VERIFIER_error())) ) Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data producer -> Automizer Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data architecture -> 32bit Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data programhash -> 0fa375491f6ee23468a1ede5cb9608fff6035ced [2018-11-23 12:08:49,352 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2018-11-23 12:08:49,361 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2018-11-23 12:08:49,363 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2018-11-23 12:08:49,365 INFO L271 PluginConnector]: Initializing CDTParser... [2018-11-23 12:08:49,365 INFO L276 PluginConnector]: CDTParser initialized [2018-11-23 12:08:49,365 INFO L418 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /tmp/vcloud-vcloud-master/worker/working_dir_29c08cc0-3b07-4988-9794-5b37a6ab924b/bin-2019/uautomizer/../../sv-benchmarks/c/float-newlib/double_req_bl_1051_true-unreach-call.c [2018-11-23 12:08:49,410 INFO L221 CDTParser]: Created temporary CDT project at /tmp/vcloud-vcloud-master/worker/working_dir_29c08cc0-3b07-4988-9794-5b37a6ab924b/bin-2019/uautomizer/data/c109f5a86/223b83aa62964c51b02fa4840c476390/FLAG76410207d [2018-11-23 12:08:49,741 INFO L307 CDTParser]: Found 1 translation units. [2018-11-23 12:08:49,741 INFO L161 CDTParser]: Scanning /tmp/vcloud-vcloud-master/worker/working_dir_29c08cc0-3b07-4988-9794-5b37a6ab924b/sv-benchmarks/c/float-newlib/double_req_bl_1051_true-unreach-call.c [2018-11-23 12:08:49,745 INFO L355 CDTParser]: About to delete temporary CDT project at /tmp/vcloud-vcloud-master/worker/working_dir_29c08cc0-3b07-4988-9794-5b37a6ab924b/bin-2019/uautomizer/data/c109f5a86/223b83aa62964c51b02fa4840c476390/FLAG76410207d [2018-11-23 12:08:50,166 INFO L363 CDTParser]: Successfully deleted /tmp/vcloud-vcloud-master/worker/working_dir_29c08cc0-3b07-4988-9794-5b37a6ab924b/bin-2019/uautomizer/data/c109f5a86/223b83aa62964c51b02fa4840c476390 [2018-11-23 12:08:50,169 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2018-11-23 12:08:50,170 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2018-11-23 12:08:50,171 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2018-11-23 12:08:50,171 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2018-11-23 12:08:50,173 INFO L276 PluginConnector]: CACSL2BoogieTranslator initialized [2018-11-23 12:08:50,174 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 12:08:50" (1/1) ... [2018-11-23 12:08:50,176 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@772a8eb9 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:08:50, skipping insertion in model container [2018-11-23 12:08:50,176 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 12:08:50" (1/1) ... [2018-11-23 12:08:50,183 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2018-11-23 12:08:50,200 INFO L176 MainTranslator]: Built tables and reachable declarations [2018-11-23 12:08:50,328 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 12:08:50,332 INFO L191 MainTranslator]: Completed pre-run [2018-11-23 12:08:50,352 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 12:08:50,368 INFO L195 MainTranslator]: Completed translation [2018-11-23 12:08:50,368 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:08:50 WrapperNode [2018-11-23 12:08:50,368 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2018-11-23 12:08:50,369 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2018-11-23 12:08:50,369 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2018-11-23 12:08:50,369 INFO L276 PluginConnector]: Boogie Procedure Inliner initialized [2018-11-23 12:08:50,376 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:08:50" (1/1) ... [2018-11-23 12:08:50,383 INFO L185 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:08:50" (1/1) ... [2018-11-23 12:08:50,387 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2018-11-23 12:08:50,387 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2018-11-23 12:08:50,387 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2018-11-23 12:08:50,388 INFO L276 PluginConnector]: Boogie Preprocessor initialized [2018-11-23 12:08:50,393 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:08:50" (1/1) ... [2018-11-23 12:08:50,393 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:08:50" (1/1) ... [2018-11-23 12:08:50,396 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:08:50" (1/1) ... [2018-11-23 12:08:50,397 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:08:50" (1/1) ... [2018-11-23 12:08:50,407 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:08:50" (1/1) ... [2018-11-23 12:08:50,412 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:08:50" (1/1) ... [2018-11-23 12:08:50,414 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:08:50" (1/1) ... [2018-11-23 12:08:50,417 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2018-11-23 12:08:50,417 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2018-11-23 12:08:50,418 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2018-11-23 12:08:50,418 INFO L276 PluginConnector]: RCFGBuilder initialized [2018-11-23 12:08:50,418 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:08:50" (1/1) ... No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_29c08cc0-3b07-4988-9794-5b37a6ab924b/bin-2019/uautomizer/z3 Starting monitored process 1 with z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 1 with z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2018-11-23 12:08:50,508 INFO L130 BoogieDeclarations]: Found specification of procedure floor_double [2018-11-23 12:08:50,508 INFO L138 BoogieDeclarations]: Found implementation of procedure floor_double [2018-11-23 12:08:50,508 INFO L130 BoogieDeclarations]: Found specification of procedure isnan_double [2018-11-23 12:08:50,508 INFO L138 BoogieDeclarations]: Found implementation of procedure isnan_double [2018-11-23 12:08:50,508 INFO L130 BoogieDeclarations]: Found specification of procedure read~intFLOATTYPE8 [2018-11-23 12:08:50,508 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2018-11-23 12:08:50,508 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2018-11-23 12:08:50,509 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.alloc [2018-11-23 12:08:50,509 INFO L130 BoogieDeclarations]: Found specification of procedure read~intINTTYPE4 [2018-11-23 12:08:50,509 INFO L130 BoogieDeclarations]: Found specification of procedure write~intFLOATTYPE8 [2018-11-23 12:08:50,509 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2018-11-23 12:08:50,509 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2018-11-23 12:08:50,509 INFO L130 BoogieDeclarations]: Found specification of procedure main [2018-11-23 12:08:50,509 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2018-11-23 12:08:50,509 INFO L130 BoogieDeclarations]: Found specification of procedure write~intINTTYPE4 [2018-11-23 12:08:50,509 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2018-11-23 12:08:50,628 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 12:08:51,336 INFO L275 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2018-11-23 12:08:51,336 INFO L280 CfgBuilder]: Removed 4 assue(true) statements. [2018-11-23 12:08:51,337 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 12:08:51 BoogieIcfgContainer [2018-11-23 12:08:51,337 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2018-11-23 12:08:51,337 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2018-11-23 12:08:51,337 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2018-11-23 12:08:51,339 INFO L276 PluginConnector]: TraceAbstraction initialized [2018-11-23 12:08:51,339 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 23.11 12:08:50" (1/3) ... [2018-11-23 12:08:51,340 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@3019f71b and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 23.11 12:08:51, skipping insertion in model container [2018-11-23 12:08:51,340 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:08:50" (2/3) ... [2018-11-23 12:08:51,340 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@3019f71b and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 23.11 12:08:51, skipping insertion in model container [2018-11-23 12:08:51,340 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 12:08:51" (3/3) ... [2018-11-23 12:08:51,341 INFO L112 eAbstractionObserver]: Analyzing ICFG double_req_bl_1051_true-unreach-call.c [2018-11-23 12:08:51,347 INFO L156 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2018-11-23 12:08:51,351 INFO L168 ceAbstractionStarter]: Appying trace abstraction to program that has 1 error locations. [2018-11-23 12:08:51,360 INFO L257 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2018-11-23 12:08:51,379 INFO L133 ementStrategyFactory]: Using default assertion order modulation [2018-11-23 12:08:51,379 INFO L382 AbstractCegarLoop]: Interprodecural is true [2018-11-23 12:08:51,380 INFO L383 AbstractCegarLoop]: Hoare is true [2018-11-23 12:08:51,380 INFO L384 AbstractCegarLoop]: Compute interpolants for FPandBP [2018-11-23 12:08:51,380 INFO L385 AbstractCegarLoop]: Backedges is STRAIGHT_LINE [2018-11-23 12:08:51,380 INFO L386 AbstractCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2018-11-23 12:08:51,380 INFO L387 AbstractCegarLoop]: Difference is false [2018-11-23 12:08:51,380 INFO L388 AbstractCegarLoop]: Minimize is MINIMIZE_SEVPA [2018-11-23 12:08:51,380 INFO L393 AbstractCegarLoop]: ======== Iteration 0==of CEGAR loop == AllErrorsAtOnce======== [2018-11-23 12:08:51,390 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states. [2018-11-23 12:08:51,394 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 23 [2018-11-23 12:08:51,394 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:08:51,395 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:08:51,396 INFO L423 AbstractCegarLoop]: === Iteration 1 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:08:51,399 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:08:51,399 INFO L82 PathProgramCache]: Analyzing trace with hash -1623509953, now seen corresponding path program 1 times [2018-11-23 12:08:51,402 INFO L223 ckRefinementStrategy]: Switched to mode MATHSAT_FPBP [2018-11-23 12:08:51,402 INFO L69 tionRefinementEngine]: Using refinement strategy WolfRefinementStrategy No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_29c08cc0-3b07-4988-9794-5b37a6ab924b/bin-2019/uautomizer/mathsat Starting monitored process 2 with mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 2 with mathsat -unsat_core_generation=3 [2018-11-23 12:08:51,406 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:08:51,445 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:08:51,451 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:08:51,463 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 12:08:51,463 INFO L312 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2018-11-23 12:08:51,473 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 12:08:51,473 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2018-11-23 12:08:51,475 INFO L459 AbstractCegarLoop]: Interpolant automaton has 2 states [2018-11-23 12:08:51,482 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 2 interpolants. [2018-11-23 12:08:51,483 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2018-11-23 12:08:51,484 INFO L87 Difference]: Start difference. First operand 46 states. Second operand 2 states. [2018-11-23 12:08:51,499 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:08:51,499 INFO L93 Difference]: Finished difference Result 84 states and 122 transitions. [2018-11-23 12:08:51,499 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2018-11-23 12:08:51,500 INFO L78 Accepts]: Start accepts. Automaton has 2 states. Word has length 22 [2018-11-23 12:08:51,501 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:08:51,509 INFO L225 Difference]: With dead ends: 84 [2018-11-23 12:08:51,509 INFO L226 Difference]: Without dead ends: 42 [2018-11-23 12:08:51,511 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 21 GetRequests, 21 SyntacticMatches, 0 SemanticMatches, 0 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2018-11-23 12:08:51,521 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 42 states. [2018-11-23 12:08:51,533 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 42 to 42. [2018-11-23 12:08:51,533 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 42 states. [2018-11-23 12:08:51,534 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 42 states to 42 states and 56 transitions. [2018-11-23 12:08:51,535 INFO L78 Accepts]: Start accepts. Automaton has 42 states and 56 transitions. Word has length 22 [2018-11-23 12:08:51,536 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:08:51,536 INFO L480 AbstractCegarLoop]: Abstraction has 42 states and 56 transitions. [2018-11-23 12:08:51,536 INFO L481 AbstractCegarLoop]: Interpolant automaton has 2 states. [2018-11-23 12:08:51,536 INFO L276 IsEmpty]: Start isEmpty. Operand 42 states and 56 transitions. [2018-11-23 12:08:51,537 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 24 [2018-11-23 12:08:51,537 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:08:51,537 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:08:51,538 INFO L423 AbstractCegarLoop]: === Iteration 2 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:08:51,538 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:08:51,538 INFO L82 PathProgramCache]: Analyzing trace with hash 510037476, now seen corresponding path program 1 times [2018-11-23 12:08:51,538 INFO L223 ckRefinementStrategy]: Switched to mode MATHSAT_FPBP [2018-11-23 12:08:51,538 INFO L69 tionRefinementEngine]: Using refinement strategy WolfRefinementStrategy No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_29c08cc0-3b07-4988-9794-5b37a6ab924b/bin-2019/uautomizer/mathsat Starting monitored process 3 with mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 3 with mathsat -unsat_core_generation=3 [2018-11-23 12:08:51,553 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:08:51,592 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:08:51,598 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:08:51,744 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 12:08:51,744 INFO L312 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2018-11-23 12:08:51,758 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 12:08:51,758 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2018-11-23 12:08:51,759 INFO L459 AbstractCegarLoop]: Interpolant automaton has 9 states [2018-11-23 12:08:51,759 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2018-11-23 12:08:51,760 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=15, Invalid=57, Unknown=0, NotChecked=0, Total=72 [2018-11-23 12:08:51,760 INFO L87 Difference]: Start difference. First operand 42 states and 56 transitions. Second operand 9 states. [2018-11-23 12:08:53,114 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:08:53,114 INFO L93 Difference]: Finished difference Result 51 states and 65 transitions. [2018-11-23 12:08:53,115 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2018-11-23 12:08:53,115 INFO L78 Accepts]: Start accepts. Automaton has 9 states. Word has length 23 [2018-11-23 12:08:53,115 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:08:53,117 INFO L225 Difference]: With dead ends: 51 [2018-11-23 12:08:53,117 INFO L226 Difference]: Without dead ends: 44 [2018-11-23 12:08:53,118 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-23 12:08:53,118 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 44 states. [2018-11-23 12:08:53,125 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 44 to 42. [2018-11-23 12:08:53,125 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 42 states. [2018-11-23 12:08:53,126 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 42 states to 42 states and 53 transitions. [2018-11-23 12:08:53,126 INFO L78 Accepts]: Start accepts. Automaton has 42 states and 53 transitions. Word has length 23 [2018-11-23 12:08:53,127 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:08:53,127 INFO L480 AbstractCegarLoop]: Abstraction has 42 states and 53 transitions. [2018-11-23 12:08:53,127 INFO L481 AbstractCegarLoop]: Interpolant automaton has 9 states. [2018-11-23 12:08:53,127 INFO L276 IsEmpty]: Start isEmpty. Operand 42 states and 53 transitions. [2018-11-23 12:08:53,127 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 24 [2018-11-23 12:08:53,127 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:08:53,128 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:08:53,128 INFO L423 AbstractCegarLoop]: === Iteration 3 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:08:53,128 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:08:53,128 INFO L82 PathProgramCache]: Analyzing trace with hash 600907611, now seen corresponding path program 1 times [2018-11-23 12:08:53,128 INFO L223 ckRefinementStrategy]: Switched to mode MATHSAT_FPBP [2018-11-23 12:08:53,129 INFO L69 tionRefinementEngine]: Using refinement strategy WolfRefinementStrategy No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_29c08cc0-3b07-4988-9794-5b37a6ab924b/bin-2019/uautomizer/mathsat Starting monitored process 4 with mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 4 with mathsat -unsat_core_generation=3 [2018-11-23 12:08:53,133 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:08:53,191 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:08:53,196 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:08:54,070 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 12:08:54,070 INFO L312 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2018-11-23 12:08:54,080 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 12:08:54,080 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2018-11-23 12:08:54,080 INFO L459 AbstractCegarLoop]: Interpolant automaton has 9 states [2018-11-23 12:08:54,080 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2018-11-23 12:08:54,081 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=15, Invalid=57, Unknown=0, NotChecked=0, Total=72 [2018-11-23 12:08:54,081 INFO L87 Difference]: Start difference. First operand 42 states and 53 transitions. Second operand 9 states. [2018-11-23 12:08:56,256 WARN L180 SmtUtils]: Spent 413.00 ms on a formula simplification that was a NOOP. DAG size: 8 [2018-11-23 12:08:58,291 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:08:58,292 INFO L93 Difference]: Finished difference Result 49 states and 60 transitions. [2018-11-23 12:08:58,292 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2018-11-23 12:08:58,292 INFO L78 Accepts]: Start accepts. Automaton has 9 states. Word has length 23 [2018-11-23 12:08:58,293 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:08:58,293 INFO L225 Difference]: With dead ends: 49 [2018-11-23 12:08:58,294 INFO L226 Difference]: Without dead ends: 41 [2018-11-23 12:08:58,294 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-23 12:08:58,294 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 41 states. [2018-11-23 12:08:58,297 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 41 to 41. [2018-11-23 12:08:58,297 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 41 states. [2018-11-23 12:08:58,298 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 41 states to 41 states and 51 transitions. [2018-11-23 12:08:58,298 INFO L78 Accepts]: Start accepts. Automaton has 41 states and 51 transitions. Word has length 23 [2018-11-23 12:08:58,298 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:08:58,299 INFO L480 AbstractCegarLoop]: Abstraction has 41 states and 51 transitions. [2018-11-23 12:08:58,299 INFO L481 AbstractCegarLoop]: Interpolant automaton has 9 states. [2018-11-23 12:08:58,299 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 51 transitions. [2018-11-23 12:08:58,299 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 27 [2018-11-23 12:08:58,299 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:08:58,299 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:08:58,300 INFO L423 AbstractCegarLoop]: === Iteration 4 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:08:58,300 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:08:58,300 INFO L82 PathProgramCache]: Analyzing trace with hash -1506102432, now seen corresponding path program 1 times [2018-11-23 12:08:58,300 INFO L223 ckRefinementStrategy]: Switched to mode MATHSAT_FPBP [2018-11-23 12:08:58,300 INFO L69 tionRefinementEngine]: Using refinement strategy WolfRefinementStrategy No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_29c08cc0-3b07-4988-9794-5b37a6ab924b/bin-2019/uautomizer/mathsat Starting monitored process 5 with mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 5 with mathsat -unsat_core_generation=3 [2018-11-23 12:08:58,303 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:08:58,404 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:08:58,414 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:08:58,445 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 12:08:58,446 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 12:08:58,450 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 2 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 33 treesize of output 43 [2018-11-23 12:08:58,482 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 12:08:58,489 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 2 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 24 treesize of output 24 [2018-11-23 12:08:58,489 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:08:58,499 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 24 treesize of output 18 [2018-11-23 12:08:58,503 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 4 [2018-11-23 12:08:58,504 INFO L267 ElimStorePlain]: Start of recursive call 5: End of recursive call: and 1 xjuncts. [2018-11-23 12:08:58,506 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:08:58,508 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:08:58,513 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-2 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-11-23 12:08:58,513 INFO L202 ElimStorePlain]: Needed 5 recursive calls to eliminate 3 variables, input treesize:42, output treesize:14 [2018-11-23 12:08:58,604 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 12:08:58,604 INFO L312 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2018-11-23 12:08:58,613 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 12:08:58,613 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2018-11-23 12:08:58,613 INFO L459 AbstractCegarLoop]: Interpolant automaton has 7 states [2018-11-23 12:08:58,613 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2018-11-23 12:08:58,614 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=11, Invalid=31, Unknown=0, NotChecked=0, Total=42 [2018-11-23 12:08:58,614 INFO L87 Difference]: Start difference. First operand 41 states and 51 transitions. Second operand 7 states. [2018-11-23 12:09:00,958 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:09:00,958 INFO L93 Difference]: Finished difference Result 67 states and 76 transitions. [2018-11-23 12:09:00,960 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2018-11-23 12:09:00,960 INFO L78 Accepts]: Start accepts. Automaton has 7 states. Word has length 26 [2018-11-23 12:09:00,960 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:09:00,960 INFO L225 Difference]: With dead ends: 67 [2018-11-23 12:09:00,961 INFO L226 Difference]: Without dead ends: 40 [2018-11-23 12:09:00,961 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-23 12:09:00,961 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 40 states. [2018-11-23 12:09:00,963 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 40 to 33. [2018-11-23 12:09:00,963 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 33 states. [2018-11-23 12:09:00,964 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 33 states to 33 states and 36 transitions. [2018-11-23 12:09:00,964 INFO L78 Accepts]: Start accepts. Automaton has 33 states and 36 transitions. Word has length 26 [2018-11-23 12:09:00,964 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:09:00,964 INFO L480 AbstractCegarLoop]: Abstraction has 33 states and 36 transitions. [2018-11-23 12:09:00,964 INFO L481 AbstractCegarLoop]: Interpolant automaton has 7 states. [2018-11-23 12:09:00,964 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 36 transitions. [2018-11-23 12:09:00,965 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 28 [2018-11-23 12:09:00,965 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:09:00,965 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:09:00,965 INFO L423 AbstractCegarLoop]: === Iteration 5 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:09:00,965 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:09:00,965 INFO L82 PathProgramCache]: Analyzing trace with hash -2012573455, now seen corresponding path program 1 times [2018-11-23 12:09:00,966 INFO L223 ckRefinementStrategy]: Switched to mode MATHSAT_FPBP [2018-11-23 12:09:00,966 INFO L69 tionRefinementEngine]: Using refinement strategy WolfRefinementStrategy No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_29c08cc0-3b07-4988-9794-5b37a6ab924b/bin-2019/uautomizer/mathsat Starting monitored process 6 with mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 6 with mathsat -unsat_core_generation=3 [2018-11-23 12:09:00,968 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:09:01,068 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:09:01,079 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:09:01,097 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 12:09:01,097 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 12:09:01,098 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 2 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 33 treesize of output 43 [2018-11-23 12:09:01,129 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 21 [2018-11-23 12:09:01,130 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:09:01,139 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 17 treesize of output 13 [2018-11-23 12:09:01,143 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 13 treesize of output 1 [2018-11-23 12:09:01,143 INFO L267 ElimStorePlain]: Start of recursive call 5: End of recursive call: and 1 xjuncts. [2018-11-23 12:09:01,144 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:09:01,146 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:09:01,152 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-2 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-11-23 12:09:01,152 INFO L202 ElimStorePlain]: Needed 5 recursive calls to eliminate 3 variables, input treesize:42, output treesize:14 [2018-11-23 12:09:01,281 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 12:09:01,281 INFO L312 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2018-11-23 12:09:01,290 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 12:09:01,290 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2018-11-23 12:09:01,290 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2018-11-23 12:09:01,290 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2018-11-23 12:09:01,290 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=14, Invalid=42, Unknown=0, NotChecked=0, Total=56 [2018-11-23 12:09:01,290 INFO L87 Difference]: Start difference. First operand 33 states and 36 transitions. Second operand 8 states. [2018-11-23 12:09:02,609 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:09:02,609 INFO L93 Difference]: Finished difference Result 40 states and 43 transitions. [2018-11-23 12:09:02,609 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2018-11-23 12:09:02,609 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 27 [2018-11-23 12:09:02,609 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:09:02,609 INFO L225 Difference]: With dead ends: 40 [2018-11-23 12:09:02,609 INFO L226 Difference]: Without dead ends: 0 [2018-11-23 12:09:02,610 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-23 12:09:02,610 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 0 states. [2018-11-23 12:09:02,610 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 0 to 0. [2018-11-23 12:09:02,610 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 0 states. [2018-11-23 12:09:02,610 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 0 states to 0 states and 0 transitions. [2018-11-23 12:09:02,610 INFO L78 Accepts]: Start accepts. Automaton has 0 states and 0 transitions. Word has length 27 [2018-11-23 12:09:02,610 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:09:02,610 INFO L480 AbstractCegarLoop]: Abstraction has 0 states and 0 transitions. [2018-11-23 12:09:02,610 INFO L481 AbstractCegarLoop]: Interpolant automaton has 8 states. [2018-11-23 12:09:02,610 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2018-11-23 12:09:02,610 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:09:02,613 INFO L343 DoubleDeckerVisitor]: Before removal of dead ends 0 states and 0 transitions. [2018-11-23 12:09:02,676 INFO L448 ceAbstractionStarter]: For program point L31(lines 31 34) no Hoare annotation was computed. [2018-11-23 12:09:02,676 INFO L448 ceAbstractionStarter]: For program point L27(lines 27 46) no Hoare annotation was computed. [2018-11-23 12:09:02,677 INFO L448 ceAbstractionStarter]: For program point L56(lines 56 68) no Hoare annotation was computed. [2018-11-23 12:09:02,677 INFO L448 ceAbstractionStarter]: For program point L19-1(lines 19 24) no Hoare annotation was computed. [2018-11-23 12:09:02,677 INFO L444 ceAbstractionStarter]: At program point L19-2(lines 19 24) the Hoare annotation is: (= floor_double_~x |floor_double_#in~x|) [2018-11-23 12:09:02,677 INFO L448 ceAbstractionStarter]: For program point L19-3(lines 19 24) no Hoare annotation was computed. [2018-11-23 12:09:02,677 INFO L448 ceAbstractionStarter]: For program point L48(lines 48 51) no Hoare annotation was computed. [2018-11-23 12:09:02,677 INFO L448 ceAbstractionStarter]: For program point floor_doubleFINAL(lines 16 77) no Hoare annotation was computed. [2018-11-23 12:09:02,677 INFO L448 ceAbstractionStarter]: For program point L40(lines 40 45) no Hoare annotation was computed. [2018-11-23 12:09:02,677 INFO L448 ceAbstractionStarter]: For program point L28(lines 28 35) no Hoare annotation was computed. [2018-11-23 12:09:02,677 INFO L448 ceAbstractionStarter]: For program point L57(lines 57 66) no Hoare annotation was computed. [2018-11-23 12:09:02,677 INFO L448 ceAbstractionStarter]: For program point L57-1(lines 57 66) no Hoare annotation was computed. [2018-11-23 12:09:02,677 INFO L448 ceAbstractionStarter]: For program point floor_doubleEXIT(lines 16 77) no Hoare annotation was computed. [2018-11-23 12:09:02,678 INFO L451 ceAbstractionStarter]: At program point floor_doubleENTRY(lines 16 77) the Hoare annotation is: true [2018-11-23 12:09:02,678 INFO L448 ceAbstractionStarter]: For program point L41(lines 41 42) no Hoare annotation was computed. [2018-11-23 12:09:02,678 INFO L448 ceAbstractionStarter]: For program point L41-2(lines 41 42) no Hoare annotation was computed. [2018-11-23 12:09:02,678 INFO L448 ceAbstractionStarter]: For program point L70(lines 70 75) no Hoare annotation was computed. [2018-11-23 12:09:02,678 INFO L448 ceAbstractionStarter]: For program point L70-1(lines 16 77) no Hoare annotation was computed. [2018-11-23 12:09:02,678 INFO L448 ceAbstractionStarter]: For program point L70-2(lines 70 75) no Hoare annotation was computed. [2018-11-23 12:09:02,678 INFO L448 ceAbstractionStarter]: For program point L62(lines 62 63) no Hoare annotation was computed. [2018-11-23 12:09:02,678 INFO L448 ceAbstractionStarter]: For program point L29(lines 29 34) no Hoare annotation was computed. [2018-11-23 12:09:02,678 INFO L448 ceAbstractionStarter]: For program point L62-2(lines 62 63) no Hoare annotation was computed. [2018-11-23 12:09:02,678 INFO L448 ceAbstractionStarter]: For program point L58(lines 58 65) no Hoare annotation was computed. [2018-11-23 12:09:02,678 INFO L448 ceAbstractionStarter]: For program point L54(lines 54 55) no Hoare annotation was computed. [2018-11-23 12:09:02,679 INFO L448 ceAbstractionStarter]: For program point L38(lines 38 39) no Hoare annotation was computed. [2018-11-23 12:09:02,679 INFO L448 ceAbstractionStarter]: For program point L26(lines 26 69) no Hoare annotation was computed. [2018-11-23 12:09:02,679 INFO L448 ceAbstractionStarter]: For program point L47(lines 47 69) no Hoare annotation was computed. [2018-11-23 12:09:02,679 INFO L451 ceAbstractionStarter]: At program point isnan_doubleENTRY(line 80) the Hoare annotation is: true [2018-11-23 12:09:02,679 INFO L448 ceAbstractionStarter]: For program point isnan_doubleEXIT(line 80) no Hoare annotation was computed. [2018-11-23 12:09:02,679 INFO L448 ceAbstractionStarter]: For program point isnan_doubleFINAL(line 80) no Hoare annotation was computed. [2018-11-23 12:09:02,679 INFO L448 ceAbstractionStarter]: For program point ULTIMATE.initFINAL(line -1) no Hoare annotation was computed. [2018-11-23 12:09:02,679 INFO L451 ceAbstractionStarter]: At program point ULTIMATE.initENTRY(line -1) the Hoare annotation is: true [2018-11-23 12:09:02,679 INFO L448 ceAbstractionStarter]: For program point ULTIMATE.initEXIT(line -1) no Hoare annotation was computed. [2018-11-23 12:09:02,679 INFO L448 ceAbstractionStarter]: For program point ULTIMATE.startEXIT(line -1) no Hoare annotation was computed. [2018-11-23 12:09:02,679 INFO L451 ceAbstractionStarter]: At program point L-1(line -1) the Hoare annotation is: true [2018-11-23 12:09:02,679 INFO L451 ceAbstractionStarter]: At program point ULTIMATE.startENTRY(line -1) the Hoare annotation is: true [2018-11-23 12:09:02,679 INFO L448 ceAbstractionStarter]: For program point ULTIMATE.startFINAL(line -1) no Hoare annotation was computed. [2018-11-23 12:09:02,680 INFO L448 ceAbstractionStarter]: For program point mainErr0ASSERT_VIOLATIONERROR_FUNCTION(line 93) no Hoare annotation was computed. [2018-11-23 12:09:02,680 INFO L451 ceAbstractionStarter]: At program point mainENTRY(lines 82 98) the Hoare annotation is: true [2018-11-23 12:09:02,680 INFO L448 ceAbstractionStarter]: For program point L93(line 93) no Hoare annotation was computed. [2018-11-23 12:09:02,680 INFO L448 ceAbstractionStarter]: For program point mainFINAL(lines 82 98) no Hoare annotation was computed. [2018-11-23 12:09:02,680 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-23 12:09:02,680 INFO L448 ceAbstractionStarter]: For program point L92-1(lines 92 95) no Hoare annotation was computed. [2018-11-23 12:09:02,680 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-23 12:09:02,680 INFO L448 ceAbstractionStarter]: For program point mainEXIT(lines 82 98) no Hoare annotation was computed. [2018-11-23 12:09:02,680 INFO L448 ceAbstractionStarter]: For program point L89-1(line 89) no Hoare annotation was computed. [2018-11-23 12:09:02,690 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 23.11 12:09:02 BoogieIcfgContainer [2018-11-23 12:09:02,690 INFO L132 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2018-11-23 12:09:02,690 INFO L113 PluginConnector]: ------------------------Witness Printer---------------------------- [2018-11-23 12:09:02,690 INFO L271 PluginConnector]: Initializing Witness Printer... [2018-11-23 12:09:02,690 INFO L276 PluginConnector]: Witness Printer initialized [2018-11-23 12:09:02,691 INFO L185 PluginConnector]: Executing the observer RCFGCatcher from plugin Witness Printer for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 12:08:51" (3/4) ... [2018-11-23 12:09:02,693 INFO L144 WitnessPrinter]: Generating witness for correct program [2018-11-23 12:09:02,698 INFO L354 RCFGBacktranslator]: Ignoring RootEdge to procedure floor_double [2018-11-23 12:09:02,698 INFO L354 RCFGBacktranslator]: Ignoring RootEdge to procedure isnan_double [2018-11-23 12:09:02,698 INFO L354 RCFGBacktranslator]: Ignoring RootEdge to procedure ULTIMATE.init [2018-11-23 12:09:02,699 INFO L354 RCFGBacktranslator]: Ignoring RootEdge to procedure main [2018-11-23 12:09:02,702 INFO L879 BoogieBacktranslator]: Reduced CFG by removing 20 nodes and edges [2018-11-23 12:09:02,702 INFO L879 BoogieBacktranslator]: Reduced CFG by removing 7 nodes and edges [2018-11-23 12:09:02,702 INFO L879 BoogieBacktranslator]: Reduced CFG by removing 1 nodes and edges [2018-11-23 12:09:02,719 WARN L221 nessWitnessGenerator]: Not writing invariant because ACSL is forbidden: x == \old(x) [2018-11-23 12:09:02,737 INFO L145 WitnessManager]: Wrote witness to /tmp/vcloud-vcloud-master/worker/working_dir_29c08cc0-3b07-4988-9794-5b37a6ab924b/bin-2019/uautomizer/witness.graphml [2018-11-23 12:09:02,737 INFO L132 PluginConnector]: ------------------------ END Witness Printer---------------------------- [2018-11-23 12:09:02,738 INFO L168 Benchmark]: Toolchain (without parser) took 12568.65 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 124.3 MB). Free memory was 949.7 MB in the beginning and 841.1 MB in the end (delta: 108.7 MB). Peak memory consumption was 232.9 MB. Max. memory is 11.5 GB. [2018-11-23 12:09:02,739 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-23 12:09:02,739 INFO L168 Benchmark]: CACSL2BoogieTranslator took 197.43 ms. Allocated memory is still 1.0 GB. Free memory was 949.7 MB in the beginning and 933.6 MB in the end (delta: 16.1 MB). Peak memory consumption was 16.1 MB. Max. memory is 11.5 GB. [2018-11-23 12:09:02,739 INFO L168 Benchmark]: Boogie Procedure Inliner took 18.55 ms. Allocated memory is still 1.0 GB. Free memory is still 933.6 MB. There was no memory consumed. Max. memory is 11.5 GB. [2018-11-23 12:09:02,739 INFO L168 Benchmark]: Boogie Preprocessor took 29.83 ms. Allocated memory is still 1.0 GB. Free memory is still 933.6 MB. There was no memory consumed. Max. memory is 11.5 GB. [2018-11-23 12:09:02,739 INFO L168 Benchmark]: RCFGBuilder took 919.30 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 124.3 MB). Free memory was 933.6 MB in the beginning and 1.1 GB in the end (delta: -153.9 MB). Peak memory consumption was 21.0 MB. Max. memory is 11.5 GB. [2018-11-23 12:09:02,740 INFO L168 Benchmark]: TraceAbstraction took 11352.62 ms. Allocated memory is still 1.2 GB. Free memory was 1.1 GB in the beginning and 841.1 MB in the end (delta: 246.5 MB). Peak memory consumption was 246.5 MB. Max. memory is 11.5 GB. [2018-11-23 12:09:02,740 INFO L168 Benchmark]: Witness Printer took 47.41 ms. Allocated memory is still 1.2 GB. Free memory is still 841.1 MB. There was no memory consumed. Max. memory is 11.5 GB. [2018-11-23 12:09:02,741 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 197.43 ms. Allocated memory is still 1.0 GB. Free memory was 949.7 MB in the beginning and 933.6 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.55 ms. Allocated memory is still 1.0 GB. Free memory is still 933.6 MB. There was no memory consumed. Max. memory is 11.5 GB. * Boogie Preprocessor took 29.83 ms. Allocated memory is still 1.0 GB. Free memory is still 933.6 MB. There was no memory consumed. Max. memory is 11.5 GB. * RCFGBuilder took 919.30 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 124.3 MB). Free memory was 933.6 MB in the beginning and 1.1 GB in the end (delta: -153.9 MB). Peak memory consumption was 21.0 MB. Max. memory is 11.5 GB. * TraceAbstraction took 11352.62 ms. Allocated memory is still 1.2 GB. Free memory was 1.1 GB in the beginning and 841.1 MB in the end (delta: 246.5 MB). Peak memory consumption was 246.5 MB. Max. memory is 11.5 GB. * Witness Printer took 47.41 ms. Allocated memory is still 1.2 GB. Free memory is still 841.1 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, 11.3s OverallTime, 5 OverallIterations, 1 TraceHistogramMax, 9.2s 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.8s Time, PredicateUnifierStatistics: 0 DeclaredPredicates, 139 GetRequests, 91 SyntacticMatches, 0 SemanticMatches, 48 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 54 ImplicationChecksByTransitivity, 3.1s 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...