./Ultimate.py --spec ../../sv-benchmarks/c/properties/unreach-call.prp --file ../../sv-benchmarks/c/float-newlib/double_req_bl_1052c_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_c22643ff-53cf-455d-8663-8450b6a260a1/bin-2019/uautomizer/data/config -Xmx12G -Xms1G -jar /tmp/vcloud-vcloud-master/worker/working_dir_c22643ff-53cf-455d-8663-8450b6a260a1/bin-2019/uautomizer/plugins/org.eclipse.equinox.launcher_1.3.100.v20150511-1540.jar -data @noDefault -ultimatedata /tmp/vcloud-vcloud-master/worker/working_dir_c22643ff-53cf-455d-8663-8450b6a260a1/bin-2019/uautomizer/data -tc /tmp/vcloud-vcloud-master/worker/working_dir_c22643ff-53cf-455d-8663-8450b6a260a1/bin-2019/uautomizer/config/AutomizerReach.xml -i ../../sv-benchmarks/c/float-newlib/double_req_bl_1052c_true-unreach-call.c -s /tmp/vcloud-vcloud-master/worker/working_dir_c22643ff-53cf-455d-8663-8450b6a260a1/bin-2019/uautomizer/config/svcomp-Reach-32bit-Automizer_Default.epf --cacsl2boogietranslator.entry.function main --witnessprinter.witness.directory /tmp/vcloud-vcloud-master/worker/working_dir_c22643ff-53cf-455d-8663-8450b6a260a1/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 69b156b7cb8e47e9e9902f33725c5b7467b2d17a ..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................... 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_c22643ff-53cf-455d-8663-8450b6a260a1/bin-2019/uautomizer/data/config -Xmx12G -Xms1G -jar /tmp/vcloud-vcloud-master/worker/working_dir_c22643ff-53cf-455d-8663-8450b6a260a1/bin-2019/uautomizer/plugins/org.eclipse.equinox.launcher_1.3.100.v20150511-1540.jar -data @noDefault -ultimatedata /tmp/vcloud-vcloud-master/worker/working_dir_c22643ff-53cf-455d-8663-8450b6a260a1/bin-2019/uautomizer/data -tc /tmp/vcloud-vcloud-master/worker/working_dir_c22643ff-53cf-455d-8663-8450b6a260a1/bin-2019/uautomizer/config/AutomizerReach.xml -i ../../sv-benchmarks/c/float-newlib/double_req_bl_1052c_true-unreach-call.c -s /tmp/vcloud-vcloud-master/worker/working_dir_c22643ff-53cf-455d-8663-8450b6a260a1/bin-2019/uautomizer/config/svcomp-Reach-32bit-Automizer_Bitvector.epf --cacsl2boogietranslator.entry.function main --witnessprinter.witness.directory /tmp/vcloud-vcloud-master/worker/working_dir_c22643ff-53cf-455d-8663-8450b6a260a1/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 69b156b7cb8e47e9e9902f33725c5b7467b2d17a ......................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................... Execution finished normally Writing output log to file Ultimate.log Result: TRUE --- Real Ultimate output --- This is Ultimate 0.1.23-aa41828 [2018-11-22 22:08:19,810 INFO L170 SettingsManager]: Resetting all preferences to default values... [2018-11-22 22:08:19,811 INFO L174 SettingsManager]: Resetting UltimateCore preferences to default values [2018-11-22 22:08:19,818 INFO L177 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2018-11-22 22:08:19,818 INFO L174 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2018-11-22 22:08:19,819 INFO L174 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2018-11-22 22:08:19,819 INFO L174 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2018-11-22 22:08:19,820 INFO L174 SettingsManager]: Resetting LassoRanker preferences to default values [2018-11-22 22:08:19,821 INFO L174 SettingsManager]: Resetting Reaching Definitions preferences to default values [2018-11-22 22:08:19,822 INFO L174 SettingsManager]: Resetting SyntaxChecker preferences to default values [2018-11-22 22:08:19,823 INFO L177 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2018-11-22 22:08:19,823 INFO L174 SettingsManager]: Resetting LTL2Aut preferences to default values [2018-11-22 22:08:19,823 INFO L174 SettingsManager]: Resetting PEA to Boogie preferences to default values [2018-11-22 22:08:19,824 INFO L174 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2018-11-22 22:08:19,825 INFO L174 SettingsManager]: Resetting ChcToBoogie preferences to default values [2018-11-22 22:08:19,825 INFO L174 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2018-11-22 22:08:19,825 INFO L174 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2018-11-22 22:08:19,826 INFO L174 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2018-11-22 22:08:19,827 INFO L174 SettingsManager]: Resetting CodeCheck preferences to default values [2018-11-22 22:08:19,828 INFO L174 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2018-11-22 22:08:19,828 INFO L174 SettingsManager]: Resetting RCFGBuilder preferences to default values [2018-11-22 22:08:19,829 INFO L174 SettingsManager]: Resetting TraceAbstraction preferences to default values [2018-11-22 22:08:19,830 INFO L177 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2018-11-22 22:08:19,830 INFO L177 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2018-11-22 22:08:19,830 INFO L174 SettingsManager]: Resetting TreeAutomizer preferences to default values [2018-11-22 22:08:19,831 INFO L174 SettingsManager]: Resetting IcfgTransformer preferences to default values [2018-11-22 22:08:19,831 INFO L174 SettingsManager]: Resetting Boogie Printer preferences to default values [2018-11-22 22:08:19,832 INFO L174 SettingsManager]: Resetting ReqPrinter preferences to default values [2018-11-22 22:08:19,832 INFO L174 SettingsManager]: Resetting Witness Printer preferences to default values [2018-11-22 22:08:19,832 INFO L177 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2018-11-22 22:08:19,833 INFO L174 SettingsManager]: Resetting CDTParser preferences to default values [2018-11-22 22:08:19,833 INFO L177 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2018-11-22 22:08:19,833 INFO L177 SettingsManager]: ReqParser provides no preferences, ignoring... [2018-11-22 22:08:19,833 INFO L174 SettingsManager]: Resetting SmtParser preferences to default values [2018-11-22 22:08:19,834 INFO L174 SettingsManager]: Resetting Witness Parser preferences to default values [2018-11-22 22:08:19,834 INFO L181 SettingsManager]: Finished resetting all preferences to default values... [2018-11-22 22:08:19,835 INFO L98 SettingsManager]: Beginning loading settings from /tmp/vcloud-vcloud-master/worker/working_dir_c22643ff-53cf-455d-8663-8450b6a260a1/bin-2019/uautomizer/config/svcomp-Reach-32bit-Automizer_Default.epf [2018-11-22 22:08:19,842 INFO L110 SettingsManager]: Loading preferences was successful [2018-11-22 22:08:19,842 INFO L112 SettingsManager]: Preferences different from defaults after loading the file: [2018-11-22 22:08:19,842 INFO L131 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2018-11-22 22:08:19,843 INFO L133 SettingsManager]: * ... calls to implemented procedures=ONLY_FOR_CONCURRENT_PROGRAMS [2018-11-22 22:08:19,843 INFO L131 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2018-11-22 22:08:19,843 INFO L133 SettingsManager]: * Create parallel compositions if possible=false [2018-11-22 22:08:19,843 INFO L133 SettingsManager]: * Use SBE=true [2018-11-22 22:08:19,843 INFO L131 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2018-11-22 22:08:19,843 INFO L133 SettingsManager]: * sizeof long=4 [2018-11-22 22:08:19,843 INFO L133 SettingsManager]: * Overapproximate operations on floating types=true [2018-11-22 22:08:19,843 INFO L133 SettingsManager]: * sizeof POINTER=4 [2018-11-22 22:08:19,843 INFO L133 SettingsManager]: * Check division by zero=IGNORE [2018-11-22 22:08:19,844 INFO L133 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2018-11-22 22:08:19,844 INFO L133 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2018-11-22 22:08:19,844 INFO L133 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2018-11-22 22:08:19,844 INFO L133 SettingsManager]: * sizeof long double=12 [2018-11-22 22:08:19,844 INFO L133 SettingsManager]: * Check if freed pointer was valid=false [2018-11-22 22:08:19,844 INFO L133 SettingsManager]: * Use constant arrays=true [2018-11-22 22:08:19,844 INFO L133 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2018-11-22 22:08:19,844 INFO L131 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2018-11-22 22:08:19,844 INFO L133 SettingsManager]: * Size of a code block=SequenceOfStatements [2018-11-22 22:08:19,844 INFO L133 SettingsManager]: * To the following directory=./dump/ [2018-11-22 22:08:19,844 INFO L133 SettingsManager]: * SMT solver=External_DefaultMode [2018-11-22 22:08:19,844 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2018-11-22 22:08:19,844 INFO L131 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2018-11-22 22:08:19,845 INFO L133 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2018-11-22 22:08:19,845 INFO L133 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2018-11-22 22:08:19,845 INFO L133 SettingsManager]: * Trace refinement strategy=CAMEL [2018-11-22 22:08:19,845 INFO L133 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2018-11-22 22:08:19,845 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2018-11-22 22:08:19,845 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_c22643ff-53cf-455d-8663-8450b6a260a1/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 -> 69b156b7cb8e47e9e9902f33725c5b7467b2d17a [2018-11-22 22:08:19,868 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2018-11-22 22:08:19,877 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2018-11-22 22:08:19,879 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2018-11-22 22:08:19,881 INFO L271 PluginConnector]: Initializing CDTParser... [2018-11-22 22:08:19,881 INFO L276 PluginConnector]: CDTParser initialized [2018-11-22 22:08:19,881 INFO L418 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /tmp/vcloud-vcloud-master/worker/working_dir_c22643ff-53cf-455d-8663-8450b6a260a1/bin-2019/uautomizer/../../sv-benchmarks/c/float-newlib/double_req_bl_1052c_true-unreach-call.c [2018-11-22 22:08:19,926 INFO L221 CDTParser]: Created temporary CDT project at /tmp/vcloud-vcloud-master/worker/working_dir_c22643ff-53cf-455d-8663-8450b6a260a1/bin-2019/uautomizer/data/1b1463fed/c936dd1e5c434dd5aecff136c5310970/FLAG98aea6df2 [2018-11-22 22:08:20,237 INFO L307 CDTParser]: Found 1 translation units. [2018-11-22 22:08:20,238 INFO L161 CDTParser]: Scanning /tmp/vcloud-vcloud-master/worker/working_dir_c22643ff-53cf-455d-8663-8450b6a260a1/sv-benchmarks/c/float-newlib/double_req_bl_1052c_true-unreach-call.c [2018-11-22 22:08:20,243 INFO L355 CDTParser]: About to delete temporary CDT project at /tmp/vcloud-vcloud-master/worker/working_dir_c22643ff-53cf-455d-8663-8450b6a260a1/bin-2019/uautomizer/data/1b1463fed/c936dd1e5c434dd5aecff136c5310970/FLAG98aea6df2 [2018-11-22 22:08:20,253 INFO L363 CDTParser]: Successfully deleted /tmp/vcloud-vcloud-master/worker/working_dir_c22643ff-53cf-455d-8663-8450b6a260a1/bin-2019/uautomizer/data/1b1463fed/c936dd1e5c434dd5aecff136c5310970 [2018-11-22 22:08:20,255 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2018-11-22 22:08:20,256 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2018-11-22 22:08:20,257 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2018-11-22 22:08:20,257 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2018-11-22 22:08:20,259 INFO L276 PluginConnector]: CACSL2BoogieTranslator initialized [2018-11-22 22:08:20,259 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 22.11 10:08:20" (1/1) ... [2018-11-22 22:08:20,261 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@3709085a and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 10:08:20, skipping insertion in model container [2018-11-22 22:08:20,261 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 22.11 10:08:20" (1/1) ... [2018-11-22 22:08:20,267 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2018-11-22 22:08:20,282 INFO L176 MainTranslator]: Built tables and reachable declarations [2018-11-22 22:08:20,403 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-22 22:08:20,405 INFO L191 MainTranslator]: Completed pre-run [2018-11-22 22:08:20,428 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-22 22:08:20,442 INFO L195 MainTranslator]: Completed translation [2018-11-22 22:08:20,443 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 10:08:20 WrapperNode [2018-11-22 22:08:20,443 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2018-11-22 22:08:20,443 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2018-11-22 22:08:20,443 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2018-11-22 22:08:20,443 INFO L276 PluginConnector]: Boogie Procedure Inliner initialized [2018-11-22 22:08:20,448 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 10:08:20" (1/1) ... [2018-11-22 22:08:20,455 INFO L185 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 10:08:20" (1/1) ... [2018-11-22 22:08:20,495 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2018-11-22 22:08:20,495 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2018-11-22 22:08:20,495 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2018-11-22 22:08:20,495 INFO L276 PluginConnector]: Boogie Preprocessor initialized [2018-11-22 22:08:20,502 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 10:08:20" (1/1) ... [2018-11-22 22:08:20,502 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 10:08:20" (1/1) ... [2018-11-22 22:08:20,503 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 10:08:20" (1/1) ... [2018-11-22 22:08:20,504 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 10:08:20" (1/1) ... [2018-11-22 22:08:20,510 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 10:08:20" (1/1) ... [2018-11-22 22:08:20,514 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 10:08:20" (1/1) ... [2018-11-22 22:08:20,515 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 10:08:20" (1/1) ... [2018-11-22 22:08:20,517 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2018-11-22 22:08:20,518 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2018-11-22 22:08:20,518 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2018-11-22 22:08:20,518 INFO L276 PluginConnector]: RCFGBuilder initialized [2018-11-22 22:08:20,519 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 10:08:20" (1/1) ... No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_c22643ff-53cf-455d-8663-8450b6a260a1/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-22 22:08:20,548 INFO L130 BoogieDeclarations]: Found specification of procedure read~real [2018-11-22 22:08:20,548 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2018-11-22 22:08:20,549 INFO L130 BoogieDeclarations]: Found specification of procedure floor_double [2018-11-22 22:08:20,549 INFO L138 BoogieDeclarations]: Found implementation of procedure floor_double [2018-11-22 22:08:20,549 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2018-11-22 22:08:20,549 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2018-11-22 22:08:20,549 INFO L130 BoogieDeclarations]: Found specification of procedure write~real [2018-11-22 22:08:20,549 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.alloc [2018-11-22 22:08:20,549 INFO L130 BoogieDeclarations]: Found specification of procedure __signbit_double [2018-11-22 22:08:20,549 INFO L138 BoogieDeclarations]: Found implementation of procedure __signbit_double [2018-11-22 22:08:20,549 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2018-11-22 22:08:20,549 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2018-11-22 22:08:20,549 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2018-11-22 22:08:20,549 INFO L130 BoogieDeclarations]: Found specification of procedure main [2018-11-22 22:08:20,549 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2018-11-22 22:08:20,549 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2018-11-22 22:08:20,752 INFO L275 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2018-11-22 22:08:20,752 INFO L280 CfgBuilder]: Removed 6 assue(true) statements. [2018-11-22 22:08:20,752 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 22.11 10:08:20 BoogieIcfgContainer [2018-11-22 22:08:20,752 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2018-11-22 22:08:20,753 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2018-11-22 22:08:20,753 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2018-11-22 22:08:20,756 INFO L276 PluginConnector]: TraceAbstraction initialized [2018-11-22 22:08:20,756 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 22.11 10:08:20" (1/3) ... [2018-11-22 22:08:20,757 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@3d4dbc7 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 22.11 10:08:20, skipping insertion in model container [2018-11-22 22:08:20,757 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 10:08:20" (2/3) ... [2018-11-22 22:08:20,757 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@3d4dbc7 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 22.11 10:08:20, skipping insertion in model container [2018-11-22 22:08:20,757 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 22.11 10:08:20" (3/3) ... [2018-11-22 22:08:20,759 INFO L112 eAbstractionObserver]: Analyzing ICFG double_req_bl_1052c_true-unreach-call.c [2018-11-22 22:08:20,766 INFO L156 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2018-11-22 22:08:20,771 INFO L168 ceAbstractionStarter]: Appying trace abstraction to program that has 1 error locations. [2018-11-22 22:08:20,781 INFO L257 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2018-11-22 22:08:20,798 INFO L133 ementStrategyFactory]: Using default assertion order modulation [2018-11-22 22:08:20,799 INFO L382 AbstractCegarLoop]: Interprodecural is true [2018-11-22 22:08:20,799 INFO L383 AbstractCegarLoop]: Hoare is true [2018-11-22 22:08:20,799 INFO L384 AbstractCegarLoop]: Compute interpolants for FPandBP [2018-11-22 22:08:20,799 INFO L385 AbstractCegarLoop]: Backedges is STRAIGHT_LINE [2018-11-22 22:08:20,799 INFO L386 AbstractCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2018-11-22 22:08:20,799 INFO L387 AbstractCegarLoop]: Difference is false [2018-11-22 22:08:20,799 INFO L388 AbstractCegarLoop]: Minimize is MINIMIZE_SEVPA [2018-11-22 22:08:20,799 INFO L393 AbstractCegarLoop]: ======== Iteration 0==of CEGAR loop == AllErrorsAtOnce======== [2018-11-22 22:08:20,810 INFO L276 IsEmpty]: Start isEmpty. Operand 51 states. [2018-11-22 22:08:20,814 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 20 [2018-11-22 22:08:20,814 INFO L394 BasicCegarLoop]: Found error trace [2018-11-22 22:08:20,815 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-22 22:08:20,816 INFO L423 AbstractCegarLoop]: === Iteration 1 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-22 22:08:20,819 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-22 22:08:20,819 INFO L82 PathProgramCache]: Analyzing trace with hash 1202696015, now seen corresponding path program 1 times [2018-11-22 22:08:20,820 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-22 22:08:20,821 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-22 22:08:20,848 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-22 22:08:20,848 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-22 22:08:20,848 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-22 22:08:20,874 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-22 22:08:20,899 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-22 22:08:20,901 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-22 22:08:20,901 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2018-11-22 22:08:20,903 INFO L459 AbstractCegarLoop]: Interpolant automaton has 2 states [2018-11-22 22:08:20,910 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 2 interpolants. [2018-11-22 22:08:20,911 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2018-11-22 22:08:20,912 INFO L87 Difference]: Start difference. First operand 51 states. Second operand 2 states. [2018-11-22 22:08:20,926 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-22 22:08:20,926 INFO L93 Difference]: Finished difference Result 94 states and 139 transitions. [2018-11-22 22:08:20,926 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2018-11-22 22:08:20,927 INFO L78 Accepts]: Start accepts. Automaton has 2 states. Word has length 19 [2018-11-22 22:08:20,927 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-22 22:08:20,932 INFO L225 Difference]: With dead ends: 94 [2018-11-22 22:08:20,932 INFO L226 Difference]: Without dead ends: 47 [2018-11-22 22:08:20,934 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 2 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 0 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2018-11-22 22:08:20,945 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 47 states. [2018-11-22 22:08:20,955 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 47 to 47. [2018-11-22 22:08:20,956 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 47 states. [2018-11-22 22:08:20,957 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 47 states to 47 states and 62 transitions. [2018-11-22 22:08:20,958 INFO L78 Accepts]: Start accepts. Automaton has 47 states and 62 transitions. Word has length 19 [2018-11-22 22:08:20,958 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-22 22:08:20,958 INFO L480 AbstractCegarLoop]: Abstraction has 47 states and 62 transitions. [2018-11-22 22:08:20,958 INFO L481 AbstractCegarLoop]: Interpolant automaton has 2 states. [2018-11-22 22:08:20,959 INFO L276 IsEmpty]: Start isEmpty. Operand 47 states and 62 transitions. [2018-11-22 22:08:20,959 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 21 [2018-11-22 22:08:20,959 INFO L394 BasicCegarLoop]: Found error trace [2018-11-22 22:08:20,960 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] [2018-11-22 22:08:20,960 INFO L423 AbstractCegarLoop]: === Iteration 2 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-22 22:08:20,960 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-22 22:08:20,960 INFO L82 PathProgramCache]: Analyzing trace with hash -1688222156, now seen corresponding path program 1 times [2018-11-22 22:08:20,960 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-22 22:08:20,961 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-22 22:08:20,961 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-22 22:08:20,962 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-22 22:08:20,962 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-22 22:08:20,990 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-22 22:08:21,012 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-22 22:08:21,026 INFO L469 BasicCegarLoop]: Counterexample might be feasible ----- class de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder.RCFGBacktranslator [?] CALL call ULTIMATE.init(); VAL [|#NULL.base|=10737418247, |#NULL.offset|=10737418241, |old(#NULL.base)|=10737418247, |old(#NULL.offset)|=10737418241, |old(~huge_floor~0)|=10737418244.0, ~huge_floor~0=10737418244.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)|=10737418247, |old(#NULL.offset)|=10737418241, |old(~huge_floor~0)|=10737418244.0, ~huge_floor~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0] [?] assume true; VAL [|#NULL.base|=0, |#NULL.offset|=0, |old(#NULL.base)|=10737418247, |old(#NULL.offset)|=10737418241, |old(~huge_floor~0)|=10737418244.0, ~huge_floor~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0] [?] RET #148#return; VAL [|#NULL.base|=0, |#NULL.offset|=0, ~huge_floor~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0] [?] CALL call #t~ret11 := main(); VAL [|#NULL.base|=0, |#NULL.offset|=0, ~huge_floor~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0] [?] ~x~0 := ~someUnaryDOUBLEoperation(0.0); VAL [|#NULL.base|=0, |#NULL.offset|=0, ~huge_floor~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0] [?] CALL call #t~ret8 := floor_double(~x~0); VAL [|#NULL.base|=0, |#NULL.offset|=0, |floor_double_#in~x|=10737418248.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=10737418248.0, |#NULL.base|=0, |#NULL.offset|=0, |floor_double_#in~x|=10737418248.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=(- 2147483648), floor_double_~x=10737418248.0, |#NULL.base|=0, |#NULL.offset|=0, |floor_double_#in~x|=10737418248.0, ~huge_floor~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0] [?] goto; VAL [floor_double_~i0~0=(- 2147483648), floor_double_~i1~0=(- 2147483648), floor_double_~x=10737418248.0, |#NULL.base|=0, |#NULL.offset|=0, |floor_double_#in~x|=10737418248.0, ~huge_floor~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0] [?] ~j0~0 := ~bitwiseAnd(~i0~0 / 1048576, 2047) - 1023; VAL [floor_double_~i0~0=(- 2147483648), floor_double_~i1~0=(- 2147483648), floor_double_~x=10737418248.0, |#NULL.base|=0, |#NULL.offset|=0, |floor_double_#in~x|=10737418248.0, ~huge_floor~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0] [?] assume ~j0~0 < 20; VAL [floor_double_~i0~0=(- 2147483648), floor_double_~i1~0=(- 2147483648), floor_double_~j0~0=0, floor_double_~x=10737418248.0, |#NULL.base|=0, |#NULL.offset|=0, |floor_double_#in~x|=10737418248.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=(- 2147483648), floor_double_~j0~0=0, floor_double_~x=10737418248.0, |#NULL.base|=0, |#NULL.offset|=0, |floor_double_#in~x|=10737418248.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=(- 2147483648), floor_double_~j0~0=0, floor_double_~x=10737418248.0, |#NULL.base|=0, |#NULL.offset|=0, |floor_double_#in~x|=10737418248.0, |floor_double_#res|=10737418248.0, ~huge_floor~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0] [?] assume true; VAL [floor_double_~i0~0=(- 2147483648), floor_double_~i1~0=(- 2147483648), floor_double_~j0~0=0, floor_double_~x=10737418248.0, |#NULL.base|=0, |#NULL.offset|=0, |floor_double_#in~x|=10737418248.0, |floor_double_#res|=10737418248.0, ~huge_floor~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0] [?] RET #152#return; VAL [main_~x~0=10737418248.0, |#NULL.base|=0, |#NULL.offset|=0, |main_#t~ret8|=10737418248.0, ~huge_floor~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0] [?] ~res~0 := #t~ret8;havoc #t~ret8;#t~short10 := ~someBinaryDOUBLEComparisonOperation(~res~0, ~someUnaryDOUBLEoperation(0.0)); VAL [main_~res~0=10737418248.0, main_~x~0=10737418248.0, |#NULL.base|=0, |#NULL.offset|=0, |main_#t~short10|=false, ~huge_floor~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0] [?] assume !#t~short10; VAL [main_~res~0=10737418248.0, main_~x~0=10737418248.0, |#NULL.base|=0, |#NULL.offset|=0, |main_#t~short10|=false, ~huge_floor~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0] [?] assume !#t~short10;havoc #t~ret9;havoc #t~short10; VAL [main_~res~0=10737418248.0, main_~x~0=10737418248.0, |#NULL.base|=0, |#NULL.offset|=0, ~huge_floor~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0] [?] assume !false; VAL [main_~res~0=10737418248.0, main_~x~0=10737418248.0, |#NULL.base|=0, |#NULL.offset|=0, ~huge_floor~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0] [?] CALL call ULTIMATE.init(); VAL [#NULL.base=10737418247, #NULL.offset=10737418241, old(#NULL.base)=10737418247, old(#NULL.offset)=10737418241, old(~huge_floor~0)=1.0737418244E10, ~huge_floor~0=1.0737418244E10] [?] #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)=10737418247, old(#NULL.offset)=10737418241, old(~huge_floor~0)=1.0737418244E10, ~huge_floor~0=1.0E300] [?] ensures true; VAL [#NULL.base=0, #NULL.offset=0, old(#NULL.base)=10737418247, old(#NULL.offset)=10737418241, old(~huge_floor~0)=1.0737418244E10, ~huge_floor~0=1.0E300] [?] RET call ULTIMATE.init(); VAL [#NULL.base=0, #NULL.offset=0, ~huge_floor~0=1.0E300] [?] CALL call #t~ret11 := main(); VAL [#NULL.base=0, #NULL.offset=0, ~huge_floor~0=1.0E300] [L98] ~x~0 := ~someUnaryDOUBLEoperation(0.0); VAL [#NULL.base=0, #NULL.offset=0, ~huge_floor~0=1.0E300] [L99] CALL call #t~ret8 := floor_double(~x~0); VAL [#in~x=1.0737418248E10, #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=1.0737418248E10, #NULL.base=0, #NULL.offset=0, ~huge_floor~0=1.0E300, ~x=1.0737418248E10] [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=1.0737418248E10, #NULL.base=0, #NULL.offset=0, ~huge_floor~0=1.0E300, ~i0~0=-2147483648, ~i1~0=-2147483648, ~x=1.0737418248E10] [L25] ~j0~0 := ~bitwiseAnd(~i0~0 / 1048576, 2047) - 1023; VAL [#in~x=1.0737418248E10, #NULL.base=0, #NULL.offset=0, ~huge_floor~0=1.0E300, ~i0~0=-2147483648, ~i1~0=-2147483648, ~x=1.0737418248E10] [L26-L69] assume ~j0~0 < 20; VAL [#in~x=1.0737418248E10, #NULL.base=0, #NULL.offset=0, ~huge_floor~0=1.0E300, ~i0~0=-2147483648, ~i1~0=-2147483648, ~j0~0=0, ~x=1.0737418248E10] [L27-L46] assume !(~j0~0 < 0); [L37] ~i~0 := ~shiftRight(1048575, ~j0~0); VAL [#in~x=1.0737418248E10, #NULL.base=0, #NULL.offset=0, ~huge_floor~0=1.0E300, ~i0~0=-2147483648, ~i1~0=-2147483648, ~j0~0=0, ~x=1.0737418248E10] [L38-L39] assume 0 == ~bitwiseOr(~bitwiseAnd(~i0~0, ~i~0), ~i1~0) % 4294967296; [L39] #res := ~x; VAL [#in~x=1.0737418248E10, #NULL.base=0, #NULL.offset=0, #res=1.0737418248E10, ~huge_floor~0=1.0E300, ~i0~0=-2147483648, ~i1~0=-2147483648, ~j0~0=0, ~x=1.0737418248E10] [L16-L77] ensures true; VAL [#in~x=1.0737418248E10, #NULL.base=0, #NULL.offset=0, #res=1.0737418248E10, ~huge_floor~0=1.0E300, ~i0~0=-2147483648, ~i1~0=-2147483648, ~j0~0=0, ~x=1.0737418248E10] [L99] RET call #t~ret8 := floor_double(~x~0); VAL [#NULL.base=0, #NULL.offset=0, #t~ret8=1.0737418248E10, ~huge_floor~0=1.0E300, ~x~0=1.0737418248E10] [L99] ~res~0 := #t~ret8; [L99] havoc #t~ret8; [L102] #t~short10 := ~someBinaryDOUBLEComparisonOperation(~res~0, ~someUnaryDOUBLEoperation(0.0)); VAL [#NULL.base=0, #NULL.offset=0, #t~short10=false, ~huge_floor~0=1.0E300, ~res~0=1.0737418248E10, ~x~0=1.0737418248E10] [L102] assume !#t~short10; VAL [#NULL.base=0, #NULL.offset=0, #t~short10=false, ~huge_floor~0=1.0E300, ~res~0=1.0737418248E10, ~x~0=1.0737418248E10] [L102-L105] assume !#t~short10; [L102] havoc #t~ret9; [L102] havoc #t~short10; VAL [#NULL.base=0, #NULL.offset=0, ~huge_floor~0=1.0E300, ~res~0=1.0737418248E10, ~x~0=1.0737418248E10] [L103] assert false; VAL [#NULL.base=0, #NULL.offset=0, ~huge_floor~0=1.0E300, ~res~0=1.0737418248E10, ~x~0=1.0737418248E10] ----- ----- class de.uni_freiburg.informatik.ultimate.boogie.preprocessor.BoogiePreprocessorBacktranslator [?] CALL call ULTIMATE.init(); VAL [#NULL.base=10737418247, #NULL.offset=10737418241, old(#NULL.base)=10737418247, old(#NULL.offset)=10737418241, old(~huge_floor~0)=1.0737418244E10, ~huge_floor~0=1.0737418244E10] [?] #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)=10737418247, old(#NULL.offset)=10737418241, old(~huge_floor~0)=1.0737418244E10, ~huge_floor~0=1.0E300] [?] ensures true; VAL [#NULL.base=0, #NULL.offset=0, old(#NULL.base)=10737418247, old(#NULL.offset)=10737418241, old(~huge_floor~0)=1.0737418244E10, ~huge_floor~0=1.0E300] [?] RET call ULTIMATE.init(); VAL [#NULL.base=0, #NULL.offset=0, ~huge_floor~0=1.0E300] [?] CALL call #t~ret11 := main(); VAL [#NULL.base=0, #NULL.offset=0, ~huge_floor~0=1.0E300] [L98] ~x~0 := ~someUnaryDOUBLEoperation(0.0); VAL [#NULL.base=0, #NULL.offset=0, ~huge_floor~0=1.0E300] [L99] CALL call #t~ret8 := floor_double(~x~0); VAL [#in~x=1.0737418248E10, #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=1.0737418248E10, #NULL.base=0, #NULL.offset=0, ~huge_floor~0=1.0E300, ~x=1.0737418248E10] [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=1.0737418248E10, #NULL.base=0, #NULL.offset=0, ~huge_floor~0=1.0E300, ~i0~0=-2147483648, ~i1~0=-2147483648, ~x=1.0737418248E10] [L25] ~j0~0 := ~bitwiseAnd(~i0~0 / 1048576, 2047) - 1023; VAL [#in~x=1.0737418248E10, #NULL.base=0, #NULL.offset=0, ~huge_floor~0=1.0E300, ~i0~0=-2147483648, ~i1~0=-2147483648, ~x=1.0737418248E10] [L26-L69] assume ~j0~0 < 20; VAL [#in~x=1.0737418248E10, #NULL.base=0, #NULL.offset=0, ~huge_floor~0=1.0E300, ~i0~0=-2147483648, ~i1~0=-2147483648, ~j0~0=0, ~x=1.0737418248E10] [L27-L46] assume !(~j0~0 < 0); [L37] ~i~0 := ~shiftRight(1048575, ~j0~0); VAL [#in~x=1.0737418248E10, #NULL.base=0, #NULL.offset=0, ~huge_floor~0=1.0E300, ~i0~0=-2147483648, ~i1~0=-2147483648, ~j0~0=0, ~x=1.0737418248E10] [L38-L39] assume 0 == ~bitwiseOr(~bitwiseAnd(~i0~0, ~i~0), ~i1~0) % 4294967296; [L39] #res := ~x; VAL [#in~x=1.0737418248E10, #NULL.base=0, #NULL.offset=0, #res=1.0737418248E10, ~huge_floor~0=1.0E300, ~i0~0=-2147483648, ~i1~0=-2147483648, ~j0~0=0, ~x=1.0737418248E10] [L16-L77] ensures true; VAL [#in~x=1.0737418248E10, #NULL.base=0, #NULL.offset=0, #res=1.0737418248E10, ~huge_floor~0=1.0E300, ~i0~0=-2147483648, ~i1~0=-2147483648, ~j0~0=0, ~x=1.0737418248E10] [L99] RET call #t~ret8 := floor_double(~x~0); VAL [#NULL.base=0, #NULL.offset=0, #t~ret8=1.0737418248E10, ~huge_floor~0=1.0E300, ~x~0=1.0737418248E10] [L99] ~res~0 := #t~ret8; [L99] havoc #t~ret8; [L102] #t~short10 := ~someBinaryDOUBLEComparisonOperation(~res~0, ~someUnaryDOUBLEoperation(0.0)); VAL [#NULL.base=0, #NULL.offset=0, #t~short10=false, ~huge_floor~0=1.0E300, ~res~0=1.0737418248E10, ~x~0=1.0737418248E10] [L102] assume !#t~short10; VAL [#NULL.base=0, #NULL.offset=0, #t~short10=false, ~huge_floor~0=1.0E300, ~res~0=1.0737418248E10, ~x~0=1.0737418248E10] [L102-L105] assume !#t~short10; [L102] havoc #t~ret9; [L102] havoc #t~short10; VAL [#NULL.base=0, #NULL.offset=0, ~huge_floor~0=1.0E300, ~res~0=1.0737418248E10, ~x~0=1.0737418248E10] [L103] assert false; VAL [#NULL.base=0, #NULL.offset=0, ~huge_floor~0=1.0E300, ~res~0=1.0737418248E10, ~x~0=1.0737418248E10] [?] CALL call ULTIMATE.init(); VAL [#NULL!base=10737418247, #NULL!offset=10737418241, old(#NULL!base)=10737418247, old(#NULL!offset)=10737418241, old(~huge_floor~0)=1.0737418244E10, ~huge_floor~0=1.0737418244E10] [?] #NULL := { base: 0, offset: 0 }; [?] #valid[0] := 0; [L14] ~huge_floor~0 := 1.0E300; VAL [#NULL!base=0, #NULL!offset=0, old(#NULL!base)=10737418247, old(#NULL!offset)=10737418241, old(~huge_floor~0)=1.0737418244E10, ~huge_floor~0=1.0E300] [?] RET call ULTIMATE.init(); VAL [#NULL!base=0, #NULL!offset=0, ~huge_floor~0=1.0E300] [?] CALL call #t~ret11 := main(); VAL [#NULL!base=0, #NULL!offset=0, ~huge_floor~0=1.0E300] [L98] ~x~0 := ~someUnaryDOUBLEoperation(0.0); VAL [#NULL!base=0, #NULL!offset=0, ~huge_floor~0=1.0E300] [L99] CALL call #t~ret8 := floor_double(~x~0); VAL [#in~x=1.0737418248E10, #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=1.0737418248E10, #NULL!base=0, #NULL!offset=0, ~huge_floor~0=1.0E300, ~x=1.0737418248E10] [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=1.0737418248E10, #NULL!base=0, #NULL!offset=0, ~huge_floor~0=1.0E300, ~i0~0=-2147483648, ~i1~0=-2147483648, ~x=1.0737418248E10] [L25] ~j0~0 := ~bitwiseAnd(~i0~0 / 1048576, 2047) - 1023; VAL [#in~x=1.0737418248E10, #NULL!base=0, #NULL!offset=0, ~huge_floor~0=1.0E300, ~i0~0=-2147483648, ~i1~0=-2147483648, ~x=1.0737418248E10] [L26] COND TRUE ~j0~0 < 20 VAL [#in~x=1.0737418248E10, #NULL!base=0, #NULL!offset=0, ~huge_floor~0=1.0E300, ~i0~0=-2147483648, ~i1~0=-2147483648, ~j0~0=0, ~x=1.0737418248E10] [L27] COND FALSE !(~j0~0 < 0) [L37] ~i~0 := ~shiftRight(1048575, ~j0~0); VAL [#in~x=1.0737418248E10, #NULL!base=0, #NULL!offset=0, ~huge_floor~0=1.0E300, ~i0~0=-2147483648, ~i1~0=-2147483648, ~j0~0=0, ~x=1.0737418248E10] [L38] COND TRUE 0 == ~bitwiseOr(~bitwiseAnd(~i0~0, ~i~0), ~i1~0) % 4294967296 [L39] #res := ~x; VAL [#in~x=1.0737418248E10, #NULL!base=0, #NULL!offset=0, #res=1.0737418248E10, ~huge_floor~0=1.0E300, ~i0~0=-2147483648, ~i1~0=-2147483648, ~j0~0=0, ~x=1.0737418248E10] [L99] RET call #t~ret8 := floor_double(~x~0); VAL [#NULL!base=0, #NULL!offset=0, #t~ret8=1.0737418248E10, ~huge_floor~0=1.0E300, ~x~0=1.0737418248E10] [L99] ~res~0 := #t~ret8; [L99] havoc #t~ret8; [L102] #t~short10 := ~someBinaryDOUBLEComparisonOperation(~res~0, ~someUnaryDOUBLEoperation(0.0)); VAL [#NULL!base=0, #NULL!offset=0, #t~short10=false, ~huge_floor~0=1.0E300, ~res~0=1.0737418248E10, ~x~0=1.0737418248E10] [L102] COND FALSE !(#t~short10) VAL [#NULL!base=0, #NULL!offset=0, #t~short10=false, ~huge_floor~0=1.0E300, ~res~0=1.0737418248E10, ~x~0=1.0737418248E10] [L102] COND TRUE !#t~short10 [L102] havoc #t~ret9; [L102] havoc #t~short10; VAL [#NULL!base=0, #NULL!offset=0, ~huge_floor~0=1.0E300, ~res~0=1.0737418248E10, ~x~0=1.0737418248E10] [L103] assert false; VAL [#NULL!base=0, #NULL!offset=0, ~huge_floor~0=1.0E300, ~res~0=1.0737418248E10, ~x~0=1.0737418248E10] ----- ----- class de.uni_freiburg.informatik.ultimate.boogie.procedureinliner.backtranslation.InlinerBacktranslator [?] CALL call ULTIMATE.init(); VAL [#NULL!base=10737418247, #NULL!offset=10737418241, old(#NULL!base)=10737418247, old(#NULL!offset)=10737418241, old(~huge_floor~0)=1.0737418244E10, ~huge_floor~0=1.0737418244E10] [?] #NULL := { base: 0, offset: 0 }; [?] #valid[0] := 0; [L14] ~huge_floor~0 := 1.0E300; VAL [#NULL!base=0, #NULL!offset=0, old(#NULL!base)=10737418247, old(#NULL!offset)=10737418241, old(~huge_floor~0)=1.0737418244E10, ~huge_floor~0=1.0E300] [?] RET call ULTIMATE.init(); VAL [#NULL!base=0, #NULL!offset=0, ~huge_floor~0=1.0E300] [?] CALL call #t~ret11 := main(); VAL [#NULL!base=0, #NULL!offset=0, ~huge_floor~0=1.0E300] [L98] ~x~0 := ~someUnaryDOUBLEoperation(0.0); VAL [#NULL!base=0, #NULL!offset=0, ~huge_floor~0=1.0E300] [L99] CALL call #t~ret8 := floor_double(~x~0); VAL [#in~x=1.0737418248E10, #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=1.0737418248E10, #NULL!base=0, #NULL!offset=0, ~huge_floor~0=1.0E300, ~x=1.0737418248E10] [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=1.0737418248E10, #NULL!base=0, #NULL!offset=0, ~huge_floor~0=1.0E300, ~i0~0=-2147483648, ~i1~0=-2147483648, ~x=1.0737418248E10] [L25] ~j0~0 := ~bitwiseAnd(~i0~0 / 1048576, 2047) - 1023; VAL [#in~x=1.0737418248E10, #NULL!base=0, #NULL!offset=0, ~huge_floor~0=1.0E300, ~i0~0=-2147483648, ~i1~0=-2147483648, ~x=1.0737418248E10] [L26] COND TRUE ~j0~0 < 20 VAL [#in~x=1.0737418248E10, #NULL!base=0, #NULL!offset=0, ~huge_floor~0=1.0E300, ~i0~0=-2147483648, ~i1~0=-2147483648, ~j0~0=0, ~x=1.0737418248E10] [L27] COND FALSE !(~j0~0 < 0) [L37] ~i~0 := ~shiftRight(1048575, ~j0~0); VAL [#in~x=1.0737418248E10, #NULL!base=0, #NULL!offset=0, ~huge_floor~0=1.0E300, ~i0~0=-2147483648, ~i1~0=-2147483648, ~j0~0=0, ~x=1.0737418248E10] [L38] COND TRUE 0 == ~bitwiseOr(~bitwiseAnd(~i0~0, ~i~0), ~i1~0) % 4294967296 [L39] #res := ~x; VAL [#in~x=1.0737418248E10, #NULL!base=0, #NULL!offset=0, #res=1.0737418248E10, ~huge_floor~0=1.0E300, ~i0~0=-2147483648, ~i1~0=-2147483648, ~j0~0=0, ~x=1.0737418248E10] [L99] RET call #t~ret8 := floor_double(~x~0); VAL [#NULL!base=0, #NULL!offset=0, #t~ret8=1.0737418248E10, ~huge_floor~0=1.0E300, ~x~0=1.0737418248E10] [L99] ~res~0 := #t~ret8; [L99] havoc #t~ret8; [L102] #t~short10 := ~someBinaryDOUBLEComparisonOperation(~res~0, ~someUnaryDOUBLEoperation(0.0)); VAL [#NULL!base=0, #NULL!offset=0, #t~short10=false, ~huge_floor~0=1.0E300, ~res~0=1.0737418248E10, ~x~0=1.0737418248E10] [L102] COND FALSE !(#t~short10) VAL [#NULL!base=0, #NULL!offset=0, #t~short10=false, ~huge_floor~0=1.0E300, ~res~0=1.0737418248E10, ~x~0=1.0737418248E10] [L102] COND TRUE !#t~short10 [L102] havoc #t~ret9; [L102] havoc #t~short10; VAL [#NULL!base=0, #NULL!offset=0, ~huge_floor~0=1.0E300, ~res~0=1.0737418248E10, ~x~0=1.0737418248E10] [L103] assert false; VAL [#NULL!base=0, #NULL!offset=0, ~huge_floor~0=1.0E300, ~res~0=1.0737418248E10, ~x~0=1.0737418248E10] [?] CALL call ULTIMATE.init(); VAL [#NULL!base=10737418247, #NULL!offset=10737418241, old(#NULL!base)=10737418247, old(#NULL!offset)=10737418241, old(~huge_floor~0)=1.0737418244E10, ~huge_floor~0=1.0737418244E10] [?] #NULL := { base: 0, offset: 0 }; [?] #valid[0] := 0; [L14] ~huge_floor~0 := 1.0E300; VAL [#NULL!base=0, #NULL!offset=0, old(#NULL!base)=10737418247, old(#NULL!offset)=10737418241, old(~huge_floor~0)=1.0737418244E10, ~huge_floor~0=1.0E300] [?] RET call ULTIMATE.init(); VAL [#NULL!base=0, #NULL!offset=0, ~huge_floor~0=1.0E300] [?] CALL call #t~ret11 := main(); VAL [#NULL!base=0, #NULL!offset=0, ~huge_floor~0=1.0E300] [L98] ~x~0 := ~someUnaryDOUBLEoperation(0.0); VAL [#NULL!base=0, #NULL!offset=0, ~huge_floor~0=1.0E300] [L99] CALL call #t~ret8 := floor_double(~x~0); VAL [#in~x=1.0737418248E10, #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=1.0737418248E10, #NULL!base=0, #NULL!offset=0, ~huge_floor~0=1.0E300, ~x=1.0737418248E10] [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=1.0737418248E10, #NULL!base=0, #NULL!offset=0, ~huge_floor~0=1.0E300, ~i0~0=-2147483648, ~i1~0=-2147483648, ~x=1.0737418248E10] [L25] ~j0~0 := ~bitwiseAnd(~i0~0 / 1048576, 2047) - 1023; VAL [#in~x=1.0737418248E10, #NULL!base=0, #NULL!offset=0, ~huge_floor~0=1.0E300, ~i0~0=-2147483648, ~i1~0=-2147483648, ~x=1.0737418248E10] [L26] COND TRUE ~j0~0 < 20 VAL [#in~x=1.0737418248E10, #NULL!base=0, #NULL!offset=0, ~huge_floor~0=1.0E300, ~i0~0=-2147483648, ~i1~0=-2147483648, ~j0~0=0, ~x=1.0737418248E10] [L27] COND FALSE !(~j0~0 < 0) [L37] ~i~0 := ~shiftRight(1048575, ~j0~0); VAL [#in~x=1.0737418248E10, #NULL!base=0, #NULL!offset=0, ~huge_floor~0=1.0E300, ~i0~0=-2147483648, ~i1~0=-2147483648, ~j0~0=0, ~x=1.0737418248E10] [L38] COND TRUE 0 == ~bitwiseOr(~bitwiseAnd(~i0~0, ~i~0), ~i1~0) % 4294967296 [L39] #res := ~x; VAL [#in~x=1.0737418248E10, #NULL!base=0, #NULL!offset=0, #res=1.0737418248E10, ~huge_floor~0=1.0E300, ~i0~0=-2147483648, ~i1~0=-2147483648, ~j0~0=0, ~x=1.0737418248E10] [L99] RET call #t~ret8 := floor_double(~x~0); VAL [#NULL!base=0, #NULL!offset=0, #t~ret8=1.0737418248E10, ~huge_floor~0=1.0E300, ~x~0=1.0737418248E10] [L99] ~res~0 := #t~ret8; [L99] havoc #t~ret8; [L102] #t~short10 := ~someBinaryDOUBLEComparisonOperation(~res~0, ~someUnaryDOUBLEoperation(0.0)); VAL [#NULL!base=0, #NULL!offset=0, #t~short10=false, ~huge_floor~0=1.0E300, ~res~0=1.0737418248E10, ~x~0=1.0737418248E10] [L102] COND FALSE !(#t~short10) VAL [#NULL!base=0, #NULL!offset=0, #t~short10=false, ~huge_floor~0=1.0E300, ~res~0=1.0737418248E10, ~x~0=1.0737418248E10] [L102] COND TRUE !#t~short10 [L102] havoc #t~ret9; [L102] havoc #t~short10; VAL [#NULL!base=0, #NULL!offset=0, ~huge_floor~0=1.0E300, ~res~0=1.0737418248E10, ~x~0=1.0737418248E10] [L103] assert false; VAL [#NULL!base=0, #NULL!offset=0, ~huge_floor~0=1.0E300, ~res~0=1.0737418248E10, ~x~0=1.0737418248E10] ----- ----- class de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.CACSL2BoogieBacktranslator [?] CALL call ULTIMATE.init(); VAL [#NULL!base=10737418247, #NULL!offset=10737418241, old(#NULL!base)=10737418247, old(#NULL!offset)=10737418241, old(~huge_floor~0)=1.0737418244E10, ~huge_floor~0=1.0737418244E10] [?] #NULL := { base: 0, offset: 0 }; [?] #valid[0] := 0; [L14] ~huge_floor~0 := 1.0E300; VAL [#NULL!base=0, #NULL!offset=0, old(#NULL!base)=10737418247, old(#NULL!offset)=10737418241, old(~huge_floor~0)=1.0737418244E10, ~huge_floor~0=1.0E300] [?] RET call ULTIMATE.init(); VAL [#NULL!base=0, #NULL!offset=0, ~huge_floor~0=1.0E300] [?] CALL call #t~ret11 := main(); VAL [#NULL!base=0, #NULL!offset=0, ~huge_floor~0=1.0E300] [L98] ~x~0 := ~someUnaryDOUBLEoperation(0.0); VAL [#NULL!base=0, #NULL!offset=0, ~huge_floor~0=1.0E300] [L99] CALL call #t~ret8 := floor_double(~x~0); VAL [#in~x=1.0737418248E10, #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=1.0737418248E10, #NULL!base=0, #NULL!offset=0, ~huge_floor~0=1.0E300, ~x=1.0737418248E10] [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=1.0737418248E10, #NULL!base=0, #NULL!offset=0, ~huge_floor~0=1.0E300, ~i0~0=-2147483648, ~i1~0=-2147483648, ~x=1.0737418248E10] [L25] ~j0~0 := ~bitwiseAnd(~i0~0 / 1048576, 2047) - 1023; VAL [#in~x=1.0737418248E10, #NULL!base=0, #NULL!offset=0, ~huge_floor~0=1.0E300, ~i0~0=-2147483648, ~i1~0=-2147483648, ~x=1.0737418248E10] [L26] COND TRUE ~j0~0 < 20 VAL [#in~x=1.0737418248E10, #NULL!base=0, #NULL!offset=0, ~huge_floor~0=1.0E300, ~i0~0=-2147483648, ~i1~0=-2147483648, ~j0~0=0, ~x=1.0737418248E10] [L27] COND FALSE !(~j0~0 < 0) [L37] ~i~0 := ~shiftRight(1048575, ~j0~0); VAL [#in~x=1.0737418248E10, #NULL!base=0, #NULL!offset=0, ~huge_floor~0=1.0E300, ~i0~0=-2147483648, ~i1~0=-2147483648, ~j0~0=0, ~x=1.0737418248E10] [L38] COND TRUE 0 == ~bitwiseOr(~bitwiseAnd(~i0~0, ~i~0), ~i1~0) % 4294967296 [L39] #res := ~x; VAL [#in~x=1.0737418248E10, #NULL!base=0, #NULL!offset=0, #res=1.0737418248E10, ~huge_floor~0=1.0E300, ~i0~0=-2147483648, ~i1~0=-2147483648, ~j0~0=0, ~x=1.0737418248E10] [L99] RET call #t~ret8 := floor_double(~x~0); VAL [#NULL!base=0, #NULL!offset=0, #t~ret8=1.0737418248E10, ~huge_floor~0=1.0E300, ~x~0=1.0737418248E10] [L99] ~res~0 := #t~ret8; [L99] havoc #t~ret8; [L102] #t~short10 := ~someBinaryDOUBLEComparisonOperation(~res~0, ~someUnaryDOUBLEoperation(0.0)); VAL [#NULL!base=0, #NULL!offset=0, #t~short10=false, ~huge_floor~0=1.0E300, ~res~0=1.0737418248E10, ~x~0=1.0737418248E10] [L102] COND FALSE !(#t~short10) VAL [#NULL!base=0, #NULL!offset=0, #t~short10=false, ~huge_floor~0=1.0E300, ~res~0=1.0737418248E10, ~x~0=1.0737418248E10] [L102] COND TRUE !#t~short10 [L102] havoc #t~ret9; [L102] havoc #t~short10; VAL [#NULL!base=0, #NULL!offset=0, ~huge_floor~0=1.0E300, ~res~0=1.0737418248E10, ~x~0=1.0737418248E10] [L103] assert false; VAL [#NULL!base=0, #NULL!offset=0, ~huge_floor~0=1.0E300, ~res~0=1.0737418248E10, ~x~0=1.0737418248E10] [L14] static const double huge_floor = 1.0e300; VAL [\old(huge_floor)=10737418244, huge_floor=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000] [L98] double x = -0.0; VAL [huge_floor=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000] [L99] CALL, EXPR floor_double(x) VAL [\old(x)=10737418248, huge_floor=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000] [L17] __int32_t i0, i1, j0; [L18] __uint32_t i, j; VAL [\old(x)=10737418248, huge_floor=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, x=10737418248] [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)=10737418248, huge_floor=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, i0=-2147483648, i1=-2147483648, x=10737418248] [L26] COND TRUE j0 < 20 VAL [\old(x)=10737418248, huge_floor=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, i0=-2147483648, i1=-2147483648, j0=0, x=10737418248] [L27] COND FALSE !(j0 < 0) [L37] i = (0x000fffff) >> j0 VAL [\old(x)=10737418248, huge_floor=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, i0=-2147483648, i1=-2147483648, j0=0, x=10737418248] [L38] COND TRUE ((i0 & i) | i1) == 0 [L39] return x; VAL [\old(x)=10737418248, \result=10737418248, huge_floor=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, i0=-2147483648, i1=-2147483648, j0=0, x=10737418248] [L99] RET, EXPR floor_double(x) VAL [floor_double(x)=10737418248, huge_floor=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, x=10737418248] [L99] double res = floor_double(x); [L102] EXPR res == -0.0 && __signbit_double(res) == 1 VAL [huge_floor=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, res=10737418248, res == -0.0 && __signbit_double(res) == 1=0, x=10737418248] [L102] COND TRUE !(res == -0.0 && __signbit_double(res) == 1) [L103] __VERIFIER_error() VAL [huge_floor=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, res=10737418248, x=10737418248] ----- [2018-11-22 22:08:21,066 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 22.11 10:08:21 BoogieIcfgContainer [2018-11-22 22:08:21,066 INFO L132 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2018-11-22 22:08:21,066 INFO L113 PluginConnector]: ------------------------Witness Printer---------------------------- [2018-11-22 22:08:21,066 INFO L271 PluginConnector]: Initializing Witness Printer... [2018-11-22 22:08:21,066 INFO L276 PluginConnector]: Witness Printer initialized [2018-11-22 22:08:21,067 INFO L185 PluginConnector]: Executing the observer RCFGCatcher from plugin Witness Printer for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 22.11 10:08:20" (3/4) ... [2018-11-22 22:08:21,070 INFO L147 WitnessPrinter]: No result that supports witness generation found [2018-11-22 22:08:21,070 INFO L132 PluginConnector]: ------------------------ END Witness Printer---------------------------- [2018-11-22 22:08:21,070 INFO L168 Benchmark]: Toolchain (without parser) took 814.90 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 142.6 MB). Free memory was 960.3 MB in the beginning and 1.1 GB in the end (delta: -119.8 MB). Peak memory consumption was 22.8 MB. Max. memory is 11.5 GB. [2018-11-22 22:08:21,072 INFO L168 Benchmark]: CDTParser took 0.14 ms. Allocated memory is still 1.0 GB. Free memory is still 985.6 MB. There was no memory consumed. Max. memory is 11.5 GB. [2018-11-22 22:08:21,072 INFO L168 Benchmark]: CACSL2BoogieTranslator took 186.41 ms. Allocated memory is still 1.0 GB. Free memory was 960.3 MB in the beginning and 945.8 MB in the end (delta: 14.5 MB). Peak memory consumption was 14.5 MB. Max. memory is 11.5 GB. [2018-11-22 22:08:21,073 INFO L168 Benchmark]: Boogie Procedure Inliner took 51.50 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 142.6 MB). Free memory was 945.8 MB in the beginning and 1.1 GB in the end (delta: -194.3 MB). Peak memory consumption was 14.3 MB. Max. memory is 11.5 GB. [2018-11-22 22:08:21,073 INFO L168 Benchmark]: Boogie Preprocessor took 22.57 ms. Allocated memory is still 1.2 GB. Free memory is still 1.1 GB. There was no memory consumed. Max. memory is 11.5 GB. [2018-11-22 22:08:21,073 INFO L168 Benchmark]: RCFGBuilder took 234.75 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: 25.1 MB). Peak memory consumption was 25.1 MB. Max. memory is 11.5 GB. [2018-11-22 22:08:21,074 INFO L168 Benchmark]: TraceAbstraction took 312.73 ms. Allocated memory is still 1.2 GB. Free memory was 1.1 GB in the beginning and 1.1 GB in the end (delta: 34.9 MB). Peak memory consumption was 34.9 MB. Max. memory is 11.5 GB. [2018-11-22 22:08:21,074 INFO L168 Benchmark]: Witness Printer took 3.59 ms. Allocated memory is still 1.2 GB. Free memory is still 1.1 GB. There was no memory consumed. Max. memory is 11.5 GB. [2018-11-22 22:08:21,077 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 985.6 MB. There was no memory consumed. Max. memory is 11.5 GB. * CACSL2BoogieTranslator took 186.41 ms. Allocated memory is still 1.0 GB. Free memory was 960.3 MB in the beginning and 945.8 MB in the end (delta: 14.5 MB). Peak memory consumption was 14.5 MB. Max. memory is 11.5 GB. * Boogie Procedure Inliner took 51.50 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 142.6 MB). Free memory was 945.8 MB in the beginning and 1.1 GB in the end (delta: -194.3 MB). Peak memory consumption was 14.3 MB. Max. memory is 11.5 GB. * Boogie Preprocessor took 22.57 ms. Allocated memory is still 1.2 GB. Free memory is still 1.1 GB. There was no memory consumed. Max. memory is 11.5 GB. * RCFGBuilder took 234.75 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: 25.1 MB). Peak memory consumption was 25.1 MB. Max. memory is 11.5 GB. * TraceAbstraction took 312.73 ms. Allocated memory is still 1.2 GB. Free memory was 1.1 GB in the beginning and 1.1 GB in the end (delta: 34.9 MB). Peak memory consumption was 34.9 MB. Max. memory is 11.5 GB. * Witness Printer took 3.59 ms. Allocated memory is still 1.2 GB. Free memory is still 1.1 GB. There was no memory consumed. Max. memory is 11.5 GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - UnprovableResult [Line: 103]: 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 someUnaryDOUBLEoperation at line 98, overapproximation of bitwiseAnd at line 25, overapproximation of someBinaryDOUBLEComparisonOperation at line 102. Possible FailurePath: [L14] static const double huge_floor = 1.0e300; VAL [\old(huge_floor)=10737418244, huge_floor=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000] [L98] double x = -0.0; VAL [huge_floor=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000] [L99] CALL, EXPR floor_double(x) VAL [\old(x)=10737418248, huge_floor=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000] [L17] __int32_t i0, i1, j0; [L18] __uint32_t i, j; VAL [\old(x)=10737418248, huge_floor=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, x=10737418248] [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)=10737418248, huge_floor=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, i0=-2147483648, i1=-2147483648, x=10737418248] [L26] COND TRUE j0 < 20 VAL [\old(x)=10737418248, huge_floor=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, i0=-2147483648, i1=-2147483648, j0=0, x=10737418248] [L27] COND FALSE !(j0 < 0) [L37] i = (0x000fffff) >> j0 VAL [\old(x)=10737418248, huge_floor=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, i0=-2147483648, i1=-2147483648, j0=0, x=10737418248] [L38] COND TRUE ((i0 & i) | i1) == 0 [L39] return x; VAL [\old(x)=10737418248, \result=10737418248, huge_floor=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, i0=-2147483648, i1=-2147483648, j0=0, x=10737418248] [L99] RET, EXPR floor_double(x) VAL [floor_double(x)=10737418248, huge_floor=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, x=10737418248] [L99] double res = floor_double(x); [L102] EXPR res == -0.0 && __signbit_double(res) == 1 VAL [huge_floor=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, res=10737418248, res == -0.0 && __signbit_double(res) == 1=0, x=10737418248] [L102] COND TRUE !(res == -0.0 && __signbit_double(res) == 1) [L103] __VERIFIER_error() VAL [huge_floor=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, res=10737418248, x=10737418248] - StatisticsResult: Ultimate Automizer benchmark data CFG has 5 procedures, 51 locations, 1 error locations. UNSAFE Result, 0.2s OverallTime, 2 OverallIterations, 1 TraceHistogramMax, 0.0s AutomataDifference, 0.0s DeadEndRemovalTime, 0.0s HoareAnnotationTime, HoareTripleCheckerStatistics: 66 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=51occurred 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, 39 NumberOfCodeBlocks, 39 NumberOfCodeBlocksAsserted, 2 NumberOfCheckSat, 18 ConstructedInterpolants, 0 QuantifiedInterpolants, 324 SizeOfPredicates, 0 NumberOfNonLiveVariables, 0 ConjunctsInSsa, 0 ConjunctsInUnsatCore, 1 InterpolantComputations, 1 PerfectInterpolantSequences, 0/0 InterpolantCoveringCapability, InvariantSynthesisStatistics: No data available, InterpolantConsolidationStatistics: No data available, ReuseStatistics: No data available RESULT: Ultimate could not prove your program: unable to determine feasibility of some traces Received shutdown request... ### Bit-precise run ### This is Ultimate 0.1.23-aa41828 [2018-11-22 22:08:22,528 INFO L170 SettingsManager]: Resetting all preferences to default values... [2018-11-22 22:08:22,530 INFO L174 SettingsManager]: Resetting UltimateCore preferences to default values [2018-11-22 22:08:22,538 INFO L177 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2018-11-22 22:08:22,538 INFO L174 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2018-11-22 22:08:22,539 INFO L174 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2018-11-22 22:08:22,539 INFO L174 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2018-11-22 22:08:22,541 INFO L174 SettingsManager]: Resetting LassoRanker preferences to default values [2018-11-22 22:08:22,542 INFO L174 SettingsManager]: Resetting Reaching Definitions preferences to default values [2018-11-22 22:08:22,542 INFO L174 SettingsManager]: Resetting SyntaxChecker preferences to default values [2018-11-22 22:08:22,543 INFO L177 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2018-11-22 22:08:22,543 INFO L174 SettingsManager]: Resetting LTL2Aut preferences to default values [2018-11-22 22:08:22,543 INFO L174 SettingsManager]: Resetting PEA to Boogie preferences to default values [2018-11-22 22:08:22,544 INFO L174 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2018-11-22 22:08:22,545 INFO L174 SettingsManager]: Resetting ChcToBoogie preferences to default values [2018-11-22 22:08:22,545 INFO L174 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2018-11-22 22:08:22,546 INFO L174 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2018-11-22 22:08:22,547 INFO L174 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2018-11-22 22:08:22,548 INFO L174 SettingsManager]: Resetting CodeCheck preferences to default values [2018-11-22 22:08:22,549 INFO L174 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2018-11-22 22:08:22,550 INFO L174 SettingsManager]: Resetting RCFGBuilder preferences to default values [2018-11-22 22:08:22,550 INFO L174 SettingsManager]: Resetting TraceAbstraction preferences to default values [2018-11-22 22:08:22,552 INFO L177 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2018-11-22 22:08:22,552 INFO L177 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2018-11-22 22:08:22,552 INFO L174 SettingsManager]: Resetting TreeAutomizer preferences to default values [2018-11-22 22:08:22,553 INFO L174 SettingsManager]: Resetting IcfgTransformer preferences to default values [2018-11-22 22:08:22,554 INFO L174 SettingsManager]: Resetting Boogie Printer preferences to default values [2018-11-22 22:08:22,554 INFO L174 SettingsManager]: Resetting ReqPrinter preferences to default values [2018-11-22 22:08:22,555 INFO L174 SettingsManager]: Resetting Witness Printer preferences to default values [2018-11-22 22:08:22,555 INFO L177 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2018-11-22 22:08:22,555 INFO L174 SettingsManager]: Resetting CDTParser preferences to default values [2018-11-22 22:08:22,556 INFO L177 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2018-11-22 22:08:22,556 INFO L177 SettingsManager]: ReqParser provides no preferences, ignoring... [2018-11-22 22:08:22,556 INFO L174 SettingsManager]: Resetting SmtParser preferences to default values [2018-11-22 22:08:22,557 INFO L174 SettingsManager]: Resetting Witness Parser preferences to default values [2018-11-22 22:08:22,557 INFO L181 SettingsManager]: Finished resetting all preferences to default values... [2018-11-22 22:08:22,557 INFO L98 SettingsManager]: Beginning loading settings from /tmp/vcloud-vcloud-master/worker/working_dir_c22643ff-53cf-455d-8663-8450b6a260a1/bin-2019/uautomizer/config/svcomp-Reach-32bit-Automizer_Bitvector.epf [2018-11-22 22:08:22,567 INFO L110 SettingsManager]: Loading preferences was successful [2018-11-22 22:08:22,567 INFO L112 SettingsManager]: Preferences different from defaults after loading the file: [2018-11-22 22:08:22,568 INFO L131 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2018-11-22 22:08:22,568 INFO L133 SettingsManager]: * ... calls to implemented procedures=ONLY_FOR_CONCURRENT_PROGRAMS [2018-11-22 22:08:22,568 INFO L131 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2018-11-22 22:08:22,568 INFO L133 SettingsManager]: * Create parallel compositions if possible=false [2018-11-22 22:08:22,568 INFO L133 SettingsManager]: * Use SBE=true [2018-11-22 22:08:22,569 INFO L131 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2018-11-22 22:08:22,569 INFO L133 SettingsManager]: * sizeof long=4 [2018-11-22 22:08:22,569 INFO L133 SettingsManager]: * sizeof POINTER=4 [2018-11-22 22:08:22,569 INFO L133 SettingsManager]: * Check division by zero=IGNORE [2018-11-22 22:08:22,569 INFO L133 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2018-11-22 22:08:22,569 INFO L133 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2018-11-22 22:08:22,569 INFO L133 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2018-11-22 22:08:22,569 INFO L133 SettingsManager]: * Use bitvectors instead of ints=true [2018-11-22 22:08:22,570 INFO L133 SettingsManager]: * Memory model=HoenickeLindenmann_4ByteResolution [2018-11-22 22:08:22,570 INFO L133 SettingsManager]: * sizeof long double=12 [2018-11-22 22:08:22,570 INFO L133 SettingsManager]: * Check if freed pointer was valid=false [2018-11-22 22:08:22,570 INFO L133 SettingsManager]: * Use constant arrays=true [2018-11-22 22:08:22,570 INFO L133 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2018-11-22 22:08:22,570 INFO L131 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2018-11-22 22:08:22,570 INFO L133 SettingsManager]: * Size of a code block=SequenceOfStatements [2018-11-22 22:08:22,570 INFO L133 SettingsManager]: * To the following directory=./dump/ [2018-11-22 22:08:22,571 INFO L133 SettingsManager]: * SMT solver=External_DefaultMode [2018-11-22 22:08:22,571 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2018-11-22 22:08:22,571 INFO L131 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2018-11-22 22:08:22,571 INFO L133 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2018-11-22 22:08:22,571 INFO L133 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2018-11-22 22:08:22,571 INFO L133 SettingsManager]: * Trace refinement strategy=WOLF [2018-11-22 22:08:22,571 INFO L133 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2018-11-22 22:08:22,572 INFO L133 SettingsManager]: * Command for external solver=cvc4nyu --tear-down-incremental --rewrite-divk --print-success --lang smt [2018-11-22 22:08:22,572 INFO L133 SettingsManager]: * Logic for external solver=AUFBV [2018-11-22 22:08:22,572 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_c22643ff-53cf-455d-8663-8450b6a260a1/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 -> 69b156b7cb8e47e9e9902f33725c5b7467b2d17a [2018-11-22 22:08:22,602 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2018-11-22 22:08:22,611 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2018-11-22 22:08:22,613 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2018-11-22 22:08:22,615 INFO L271 PluginConnector]: Initializing CDTParser... [2018-11-22 22:08:22,615 INFO L276 PluginConnector]: CDTParser initialized [2018-11-22 22:08:22,615 INFO L418 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /tmp/vcloud-vcloud-master/worker/working_dir_c22643ff-53cf-455d-8663-8450b6a260a1/bin-2019/uautomizer/../../sv-benchmarks/c/float-newlib/double_req_bl_1052c_true-unreach-call.c [2018-11-22 22:08:22,658 INFO L221 CDTParser]: Created temporary CDT project at /tmp/vcloud-vcloud-master/worker/working_dir_c22643ff-53cf-455d-8663-8450b6a260a1/bin-2019/uautomizer/data/b4cdd93be/de771d03cf754d31a726b8a980066a77/FLAGbd8e636fe [2018-11-22 22:08:22,993 INFO L307 CDTParser]: Found 1 translation units. [2018-11-22 22:08:22,993 INFO L161 CDTParser]: Scanning /tmp/vcloud-vcloud-master/worker/working_dir_c22643ff-53cf-455d-8663-8450b6a260a1/sv-benchmarks/c/float-newlib/double_req_bl_1052c_true-unreach-call.c [2018-11-22 22:08:22,997 INFO L355 CDTParser]: About to delete temporary CDT project at /tmp/vcloud-vcloud-master/worker/working_dir_c22643ff-53cf-455d-8663-8450b6a260a1/bin-2019/uautomizer/data/b4cdd93be/de771d03cf754d31a726b8a980066a77/FLAGbd8e636fe [2018-11-22 22:08:23,420 INFO L363 CDTParser]: Successfully deleted /tmp/vcloud-vcloud-master/worker/working_dir_c22643ff-53cf-455d-8663-8450b6a260a1/bin-2019/uautomizer/data/b4cdd93be/de771d03cf754d31a726b8a980066a77 [2018-11-22 22:08:23,422 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2018-11-22 22:08:23,423 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2018-11-22 22:08:23,424 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2018-11-22 22:08:23,424 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2018-11-22 22:08:23,426 INFO L276 PluginConnector]: CACSL2BoogieTranslator initialized [2018-11-22 22:08:23,427 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 22.11 10:08:23" (1/1) ... [2018-11-22 22:08:23,429 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@2cab3a95 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 10:08:23, skipping insertion in model container [2018-11-22 22:08:23,429 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 22.11 10:08:23" (1/1) ... [2018-11-22 22:08:23,436 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2018-11-22 22:08:23,454 INFO L176 MainTranslator]: Built tables and reachable declarations [2018-11-22 22:08:23,577 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-22 22:08:23,580 INFO L191 MainTranslator]: Completed pre-run [2018-11-22 22:08:23,604 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-22 22:08:23,622 INFO L195 MainTranslator]: Completed translation [2018-11-22 22:08:23,622 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 10:08:23 WrapperNode [2018-11-22 22:08:23,622 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2018-11-22 22:08:23,623 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2018-11-22 22:08:23,623 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2018-11-22 22:08:23,623 INFO L276 PluginConnector]: Boogie Procedure Inliner initialized [2018-11-22 22:08:23,629 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 10:08:23" (1/1) ... [2018-11-22 22:08:23,636 INFO L185 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 10:08:23" (1/1) ... [2018-11-22 22:08:23,640 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2018-11-22 22:08:23,640 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2018-11-22 22:08:23,640 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2018-11-22 22:08:23,640 INFO L276 PluginConnector]: Boogie Preprocessor initialized [2018-11-22 22:08:23,646 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 10:08:23" (1/1) ... [2018-11-22 22:08:23,646 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 10:08:23" (1/1) ... [2018-11-22 22:08:23,648 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 10:08:23" (1/1) ... [2018-11-22 22:08:23,648 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 10:08:23" (1/1) ... [2018-11-22 22:08:23,657 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 10:08:23" (1/1) ... [2018-11-22 22:08:23,661 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 10:08:23" (1/1) ... [2018-11-22 22:08:23,662 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 10:08:23" (1/1) ... [2018-11-22 22:08:23,664 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2018-11-22 22:08:23,665 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2018-11-22 22:08:23,665 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2018-11-22 22:08:23,665 INFO L276 PluginConnector]: RCFGBuilder initialized [2018-11-22 22:08:23,665 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 10:08:23" (1/1) ... No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_c22643ff-53cf-455d-8663-8450b6a260a1/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-22 22:08:23,746 INFO L130 BoogieDeclarations]: Found specification of procedure floor_double [2018-11-22 22:08:23,746 INFO L138 BoogieDeclarations]: Found implementation of procedure floor_double [2018-11-22 22:08:23,746 INFO L130 BoogieDeclarations]: Found specification of procedure read~intFLOATTYPE8 [2018-11-22 22:08:23,746 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2018-11-22 22:08:23,746 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2018-11-22 22:08:23,746 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.alloc [2018-11-22 22:08:23,747 INFO L130 BoogieDeclarations]: Found specification of procedure read~intINTTYPE4 [2018-11-22 22:08:23,747 INFO L130 BoogieDeclarations]: Found specification of procedure write~intFLOATTYPE8 [2018-11-22 22:08:23,747 INFO L130 BoogieDeclarations]: Found specification of procedure __signbit_double [2018-11-22 22:08:23,747 INFO L138 BoogieDeclarations]: Found implementation of procedure __signbit_double [2018-11-22 22:08:23,747 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2018-11-22 22:08:23,747 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2018-11-22 22:08:23,747 INFO L130 BoogieDeclarations]: Found specification of procedure main [2018-11-22 22:08:23,747 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2018-11-22 22:08:23,747 INFO L130 BoogieDeclarations]: Found specification of procedure write~intINTTYPE4 [2018-11-22 22:08:23,748 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2018-11-22 22:08:23,865 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-22 22:08:24,541 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-22 22:08:24,565 INFO L275 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2018-11-22 22:08:24,566 INFO L280 CfgBuilder]: Removed 6 assue(true) statements. [2018-11-22 22:08:24,566 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 22.11 10:08:24 BoogieIcfgContainer [2018-11-22 22:08:24,566 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2018-11-22 22:08:24,566 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2018-11-22 22:08:24,566 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2018-11-22 22:08:24,568 INFO L276 PluginConnector]: TraceAbstraction initialized [2018-11-22 22:08:24,568 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 22.11 10:08:23" (1/3) ... [2018-11-22 22:08:24,569 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@7199b01 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 22.11 10:08:24, skipping insertion in model container [2018-11-22 22:08:24,569 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 10:08:23" (2/3) ... [2018-11-22 22:08:24,569 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@7199b01 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 22.11 10:08:24, skipping insertion in model container [2018-11-22 22:08:24,569 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 22.11 10:08:24" (3/3) ... [2018-11-22 22:08:24,570 INFO L112 eAbstractionObserver]: Analyzing ICFG double_req_bl_1052c_true-unreach-call.c [2018-11-22 22:08:24,576 INFO L156 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2018-11-22 22:08:24,581 INFO L168 ceAbstractionStarter]: Appying trace abstraction to program that has 1 error locations. [2018-11-22 22:08:24,593 INFO L257 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2018-11-22 22:08:24,612 INFO L133 ementStrategyFactory]: Using default assertion order modulation [2018-11-22 22:08:24,612 INFO L382 AbstractCegarLoop]: Interprodecural is true [2018-11-22 22:08:24,612 INFO L383 AbstractCegarLoop]: Hoare is true [2018-11-22 22:08:24,612 INFO L384 AbstractCegarLoop]: Compute interpolants for FPandBP [2018-11-22 22:08:24,612 INFO L385 AbstractCegarLoop]: Backedges is STRAIGHT_LINE [2018-11-22 22:08:24,612 INFO L386 AbstractCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2018-11-22 22:08:24,612 INFO L387 AbstractCegarLoop]: Difference is false [2018-11-22 22:08:24,612 INFO L388 AbstractCegarLoop]: Minimize is MINIMIZE_SEVPA [2018-11-22 22:08:24,613 INFO L393 AbstractCegarLoop]: ======== Iteration 0==of CEGAR loop == AllErrorsAtOnce======== [2018-11-22 22:08:24,622 INFO L276 IsEmpty]: Start isEmpty. Operand 51 states. [2018-11-22 22:08:24,625 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 20 [2018-11-22 22:08:24,625 INFO L394 BasicCegarLoop]: Found error trace [2018-11-22 22:08:24,626 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-22 22:08:24,627 INFO L423 AbstractCegarLoop]: === Iteration 1 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-22 22:08:24,630 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-22 22:08:24,630 INFO L82 PathProgramCache]: Analyzing trace with hash 1202696015, now seen corresponding path program 1 times [2018-11-22 22:08:24,632 INFO L223 ckRefinementStrategy]: Switched to mode MATHSAT_FPBP [2018-11-22 22:08:24,632 INFO L69 tionRefinementEngine]: Using refinement strategy WolfRefinementStrategy No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_c22643ff-53cf-455d-8663-8450b6a260a1/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-22 22:08:24,636 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-22 22:08:24,671 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-22 22:08:24,676 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-22 22:08:24,689 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-22 22:08:24,689 INFO L312 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2018-11-22 22:08:24,702 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-22 22:08:24,702 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2018-11-22 22:08:24,705 INFO L459 AbstractCegarLoop]: Interpolant automaton has 2 states [2018-11-22 22:08:24,712 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 2 interpolants. [2018-11-22 22:08:24,712 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2018-11-22 22:08:24,713 INFO L87 Difference]: Start difference. First operand 51 states. Second operand 2 states. [2018-11-22 22:08:24,727 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-22 22:08:24,728 INFO L93 Difference]: Finished difference Result 94 states and 139 transitions. [2018-11-22 22:08:24,728 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2018-11-22 22:08:24,729 INFO L78 Accepts]: Start accepts. Automaton has 2 states. Word has length 19 [2018-11-22 22:08:24,729 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-22 22:08:24,734 INFO L225 Difference]: With dead ends: 94 [2018-11-22 22:08:24,734 INFO L226 Difference]: Without dead ends: 47 [2018-11-22 22:08:24,736 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 18 GetRequests, 18 SyntacticMatches, 0 SemanticMatches, 0 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2018-11-22 22:08:24,750 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 47 states. [2018-11-22 22:08:24,761 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 47 to 47. [2018-11-22 22:08:24,762 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 47 states. [2018-11-22 22:08:24,763 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 47 states to 47 states and 62 transitions. [2018-11-22 22:08:24,765 INFO L78 Accepts]: Start accepts. Automaton has 47 states and 62 transitions. Word has length 19 [2018-11-22 22:08:24,765 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-22 22:08:24,765 INFO L480 AbstractCegarLoop]: Abstraction has 47 states and 62 transitions. [2018-11-22 22:08:24,765 INFO L481 AbstractCegarLoop]: Interpolant automaton has 2 states. [2018-11-22 22:08:24,765 INFO L276 IsEmpty]: Start isEmpty. Operand 47 states and 62 transitions. [2018-11-22 22:08:24,766 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 21 [2018-11-22 22:08:24,766 INFO L394 BasicCegarLoop]: Found error trace [2018-11-22 22:08:24,766 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] [2018-11-22 22:08:24,766 INFO L423 AbstractCegarLoop]: === Iteration 2 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-22 22:08:24,767 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-22 22:08:24,767 INFO L82 PathProgramCache]: Analyzing trace with hash -1688222156, now seen corresponding path program 1 times [2018-11-22 22:08:24,767 INFO L223 ckRefinementStrategy]: Switched to mode MATHSAT_FPBP [2018-11-22 22:08:24,767 INFO L69 tionRefinementEngine]: Using refinement strategy WolfRefinementStrategy No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_c22643ff-53cf-455d-8663-8450b6a260a1/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-22 22:08:24,777 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-22 22:08:24,824 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-22 22:08:24,828 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-22 22:08:24,909 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-22 22:08:24,909 INFO L312 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2018-11-22 22:08:24,916 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-22 22:08:24,917 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2018-11-22 22:08:24,917 INFO L459 AbstractCegarLoop]: Interpolant automaton has 7 states [2018-11-22 22:08:24,918 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2018-11-22 22:08:24,918 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=11, Invalid=31, Unknown=0, NotChecked=0, Total=42 [2018-11-22 22:08:24,918 INFO L87 Difference]: Start difference. First operand 47 states and 62 transitions. Second operand 7 states. [2018-11-22 22:08:26,183 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-22 22:08:26,184 INFO L93 Difference]: Finished difference Result 56 states and 71 transitions. [2018-11-22 22:08:26,184 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2018-11-22 22:08:26,184 INFO L78 Accepts]: Start accepts. Automaton has 7 states. Word has length 20 [2018-11-22 22:08:26,184 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-22 22:08:26,186 INFO L225 Difference]: With dead ends: 56 [2018-11-22 22:08:26,186 INFO L226 Difference]: Without dead ends: 53 [2018-11-22 22:08:26,187 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 22 GetRequests, 14 SyntacticMatches, 0 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 3 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=23, Invalid=67, Unknown=0, NotChecked=0, Total=90 [2018-11-22 22:08:26,187 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 53 states. [2018-11-22 22:08:26,191 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 53 to 51. [2018-11-22 22:08:26,192 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 51 states. [2018-11-22 22:08:26,193 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 51 states to 51 states and 66 transitions. [2018-11-22 22:08:26,193 INFO L78 Accepts]: Start accepts. Automaton has 51 states and 66 transitions. Word has length 20 [2018-11-22 22:08:26,193 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-22 22:08:26,193 INFO L480 AbstractCegarLoop]: Abstraction has 51 states and 66 transitions. [2018-11-22 22:08:26,193 INFO L481 AbstractCegarLoop]: Interpolant automaton has 7 states. [2018-11-22 22:08:26,193 INFO L276 IsEmpty]: Start isEmpty. Operand 51 states and 66 transitions. [2018-11-22 22:08:26,194 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 21 [2018-11-22 22:08:26,194 INFO L394 BasicCegarLoop]: Found error trace [2018-11-22 22:08:26,194 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] [2018-11-22 22:08:26,195 INFO L423 AbstractCegarLoop]: === Iteration 3 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-22 22:08:26,195 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-22 22:08:26,195 INFO L82 PathProgramCache]: Analyzing trace with hash -747077603, now seen corresponding path program 1 times [2018-11-22 22:08:26,196 INFO L223 ckRefinementStrategy]: Switched to mode MATHSAT_FPBP [2018-11-22 22:08:26,196 INFO L69 tionRefinementEngine]: Using refinement strategy WolfRefinementStrategy No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_c22643ff-53cf-455d-8663-8450b6a260a1/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-22 22:08:26,206 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-22 22:08:26,268 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-22 22:08:26,274 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-22 22:08:26,760 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-22 22:08:26,760 INFO L312 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2018-11-22 22:08:26,767 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-22 22:08:26,767 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2018-11-22 22:08:26,768 INFO L459 AbstractCegarLoop]: Interpolant automaton has 7 states [2018-11-22 22:08:26,768 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2018-11-22 22:08:26,768 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=11, Invalid=31, Unknown=0, NotChecked=0, Total=42 [2018-11-22 22:08:26,768 INFO L87 Difference]: Start difference. First operand 51 states and 66 transitions. Second operand 7 states. [2018-11-22 22:08:28,364 WARN L180 SmtUtils]: Spent 276.00 ms on a formula simplification that was a NOOP. DAG size: 8 [2018-11-22 22:08:29,939 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-22 22:08:29,939 INFO L93 Difference]: Finished difference Result 58 states and 73 transitions. [2018-11-22 22:08:29,940 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2018-11-22 22:08:29,940 INFO L78 Accepts]: Start accepts. Automaton has 7 states. Word has length 20 [2018-11-22 22:08:29,940 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-22 22:08:29,941 INFO L225 Difference]: With dead ends: 58 [2018-11-22 22:08:29,941 INFO L226 Difference]: Without dead ends: 55 [2018-11-22 22:08:29,941 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 22 GetRequests, 14 SyntacticMatches, 0 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 3 ImplicationChecksByTransitivity, 1.0s TimeCoverageRelationStatistics Valid=23, Invalid=67, Unknown=0, NotChecked=0, Total=90 [2018-11-22 22:08:29,941 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 55 states. [2018-11-22 22:08:29,945 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 55 to 51. [2018-11-22 22:08:29,947 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 51 states. [2018-11-22 22:08:29,948 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 51 states to 51 states and 66 transitions. [2018-11-22 22:08:29,948 INFO L78 Accepts]: Start accepts. Automaton has 51 states and 66 transitions. Word has length 20 [2018-11-22 22:08:29,949 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-22 22:08:29,949 INFO L480 AbstractCegarLoop]: Abstraction has 51 states and 66 transitions. [2018-11-22 22:08:29,949 INFO L481 AbstractCegarLoop]: Interpolant automaton has 7 states. [2018-11-22 22:08:29,949 INFO L276 IsEmpty]: Start isEmpty. Operand 51 states and 66 transitions. [2018-11-22 22:08:29,950 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 24 [2018-11-22 22:08:29,950 INFO L394 BasicCegarLoop]: Found error trace [2018-11-22 22:08:29,950 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-22 22:08:29,950 INFO L423 AbstractCegarLoop]: === Iteration 4 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-22 22:08:29,950 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-22 22:08:29,950 INFO L82 PathProgramCache]: Analyzing trace with hash 180598350, now seen corresponding path program 1 times [2018-11-22 22:08:29,951 INFO L223 ckRefinementStrategy]: Switched to mode MATHSAT_FPBP [2018-11-22 22:08:29,951 INFO L69 tionRefinementEngine]: Using refinement strategy WolfRefinementStrategy No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_c22643ff-53cf-455d-8663-8450b6a260a1/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-22 22:08:29,954 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-22 22:08:30,059 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-22 22:08:30,067 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-22 22:08:31,986 WARN L180 SmtUtils]: Spent 814.00 ms on a formula simplification that was a NOOP. DAG size: 11 [2018-11-22 22:08:31,990 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-22 22:08:31,990 INFO L312 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2018-11-22 22:08:31,998 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-22 22:08:31,998 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2018-11-22 22:08:31,998 INFO L459 AbstractCegarLoop]: Interpolant automaton has 6 states [2018-11-22 22:08:31,998 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2018-11-22 22:08:31,998 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=12, Invalid=18, Unknown=0, NotChecked=0, Total=30 [2018-11-22 22:08:31,999 INFO L87 Difference]: Start difference. First operand 51 states and 66 transitions. Second operand 6 states. [2018-11-22 22:08:33,904 WARN L180 SmtUtils]: Spent 755.00 ms on a formula simplification that was a NOOP. DAG size: 13 [2018-11-22 22:08:36,196 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-22 22:08:36,196 INFO L93 Difference]: Finished difference Result 69 states and 84 transitions. [2018-11-22 22:08:36,203 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2018-11-22 22:08:36,203 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 23 [2018-11-22 22:08:36,203 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-22 22:08:36,204 INFO L225 Difference]: With dead ends: 69 [2018-11-22 22:08:36,204 INFO L226 Difference]: Without dead ends: 51 [2018-11-22 22:08:36,204 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 23 GetRequests, 17 SyntacticMatches, 1 SemanticMatches, 5 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 3.0s TimeCoverageRelationStatistics Valid=17, Invalid=25, Unknown=0, NotChecked=0, Total=42 [2018-11-22 22:08:36,204 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 51 states. [2018-11-22 22:08:36,207 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 51 to 51. [2018-11-22 22:08:36,207 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 51 states. [2018-11-22 22:08:36,208 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 51 states to 51 states and 63 transitions. [2018-11-22 22:08:36,208 INFO L78 Accepts]: Start accepts. Automaton has 51 states and 63 transitions. Word has length 23 [2018-11-22 22:08:36,208 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-22 22:08:36,208 INFO L480 AbstractCegarLoop]: Abstraction has 51 states and 63 transitions. [2018-11-22 22:08:36,208 INFO L481 AbstractCegarLoop]: Interpolant automaton has 6 states. [2018-11-22 22:08:36,208 INFO L276 IsEmpty]: Start isEmpty. Operand 51 states and 63 transitions. [2018-11-22 22:08:36,209 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 25 [2018-11-22 22:08:36,209 INFO L394 BasicCegarLoop]: Found error trace [2018-11-22 22:08:36,209 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-22 22:08:36,209 INFO L423 AbstractCegarLoop]: === Iteration 5 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-22 22:08:36,209 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-22 22:08:36,209 INFO L82 PathProgramCache]: Analyzing trace with hash 1037458242, now seen corresponding path program 1 times [2018-11-22 22:08:36,209 INFO L223 ckRefinementStrategy]: Switched to mode MATHSAT_FPBP [2018-11-22 22:08:36,210 INFO L69 tionRefinementEngine]: Using refinement strategy WolfRefinementStrategy No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_c22643ff-53cf-455d-8663-8450b6a260a1/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-22 22:08:36,213 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-22 22:08:36,294 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-22 22:08:36,302 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-22 22:08:36,326 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 45 treesize of output 39 [2018-11-22 22:08:36,329 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 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 39 treesize of output 36 [2018-11-22 22:08:36,338 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 15 [2018-11-22 22:08:36,339 INFO L267 ElimStorePlain]: Start of recursive call 4: End of recursive call: and 1 xjuncts. [2018-11-22 22:08:36,341 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-22 22:08:36,342 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-22 22:08:36,344 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-22 22:08:36,344 INFO L202 ElimStorePlain]: Needed 4 recursive calls to eliminate 2 variables, input treesize:45, output treesize:15 [2018-11-22 22:08:36,375 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-22 22:08:36,375 INFO L312 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2018-11-22 22:08:36,387 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-22 22:08:36,387 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2018-11-22 22:08:36,387 INFO L459 AbstractCegarLoop]: Interpolant automaton has 7 states [2018-11-22 22:08:36,387 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2018-11-22 22:08:36,388 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=11, Invalid=31, Unknown=0, NotChecked=0, Total=42 [2018-11-22 22:08:36,388 INFO L87 Difference]: Start difference. First operand 51 states and 63 transitions. Second operand 7 states. [2018-11-22 22:08:37,048 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-22 22:08:37,048 INFO L93 Difference]: Finished difference Result 61 states and 73 transitions. [2018-11-22 22:08:37,049 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2018-11-22 22:08:37,049 INFO L78 Accepts]: Start accepts. Automaton has 7 states. Word has length 24 [2018-11-22 22:08:37,049 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-22 22:08:37,049 INFO L225 Difference]: With dead ends: 61 [2018-11-22 22:08:37,049 INFO L226 Difference]: Without dead ends: 58 [2018-11-22 22:08:37,050 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 25 GetRequests, 18 SyntacticMatches, 0 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=21, Invalid=51, Unknown=0, NotChecked=0, Total=72 [2018-11-22 22:08:37,050 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 58 states. [2018-11-22 22:08:37,053 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 58 to 54. [2018-11-22 22:08:37,053 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 54 states. [2018-11-22 22:08:37,054 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 54 states to 54 states and 66 transitions. [2018-11-22 22:08:37,054 INFO L78 Accepts]: Start accepts. Automaton has 54 states and 66 transitions. Word has length 24 [2018-11-22 22:08:37,054 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-22 22:08:37,054 INFO L480 AbstractCegarLoop]: Abstraction has 54 states and 66 transitions. [2018-11-22 22:08:37,054 INFO L481 AbstractCegarLoop]: Interpolant automaton has 7 states. [2018-11-22 22:08:37,054 INFO L276 IsEmpty]: Start isEmpty. Operand 54 states and 66 transitions. [2018-11-22 22:08:37,055 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 26 [2018-11-22 22:08:37,055 INFO L394 BasicCegarLoop]: Found error trace [2018-11-22 22:08:37,055 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] [2018-11-22 22:08:37,055 INFO L423 AbstractCegarLoop]: === Iteration 6 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-22 22:08:37,055 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-22 22:08:37,055 INFO L82 PathProgramCache]: Analyzing trace with hash -729750026, now seen corresponding path program 1 times [2018-11-22 22:08:37,055 INFO L223 ckRefinementStrategy]: Switched to mode MATHSAT_FPBP [2018-11-22 22:08:37,056 INFO L69 tionRefinementEngine]: Using refinement strategy WolfRefinementStrategy No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_c22643ff-53cf-455d-8663-8450b6a260a1/bin-2019/uautomizer/mathsat Starting monitored process 7 with mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 7 with mathsat -unsat_core_generation=3 [2018-11-22 22:08:37,060 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-22 22:08:37,143 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-22 22:08:37,151 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-22 22:08:37,166 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 15 treesize of output 13 [2018-11-22 22:08:37,169 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 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 13 treesize of output 16 [2018-11-22 22:08:37,175 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 12 treesize of output 4 [2018-11-22 22:08:37,176 INFO L267 ElimStorePlain]: Start of recursive call 4: End of recursive call: and 1 xjuncts. [2018-11-22 22:08:37,178 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-22 22:08:37,179 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-22 22:08:37,185 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-2 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-11-22 22:08:37,185 INFO L202 ElimStorePlain]: Needed 4 recursive calls to eliminate 4 variables, input treesize:25, output treesize:14 [2018-11-22 22:08:37,316 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 51 treesize of output 45 [2018-11-22 22:08:37,319 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 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 45 treesize of output 42 [2018-11-22 22:08:37,331 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 30 treesize of output 18 [2018-11-22 22:08:37,331 INFO L267 ElimStorePlain]: Start of recursive call 4: End of recursive call: and 1 xjuncts. [2018-11-22 22:08:37,335 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-22 22:08:37,339 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-22 22:08:37,353 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-2 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2018-11-22 22:08:37,353 INFO L202 ElimStorePlain]: Needed 4 recursive calls to eliminate 4 variables, input treesize:69, output treesize:36 [2018-11-22 22:08:37,547 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-22 22:08:37,547 INFO L312 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2018-11-22 22:08:37,555 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-22 22:08:37,555 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [12] imperfect sequences [] total 12 [2018-11-22 22:08:37,556 INFO L459 AbstractCegarLoop]: Interpolant automaton has 12 states [2018-11-22 22:08:37,556 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2018-11-22 22:08:37,556 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=25, Invalid=107, Unknown=0, NotChecked=0, Total=132 [2018-11-22 22:08:37,556 INFO L87 Difference]: Start difference. First operand 54 states and 66 transitions. Second operand 12 states. [2018-11-22 22:08:38,117 WARN L180 SmtUtils]: Spent 253.00 ms on a formula simplification that was a NOOP. DAG size: 28 [2018-11-22 22:08:40,211 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-22 22:08:40,211 INFO L93 Difference]: Finished difference Result 70 states and 82 transitions. [2018-11-22 22:08:40,211 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2018-11-22 22:08:40,211 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 25 [2018-11-22 22:08:40,212 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-22 22:08:40,212 INFO L225 Difference]: With dead ends: 70 [2018-11-22 22:08:40,213 INFO L226 Difference]: Without dead ends: 67 [2018-11-22 22:08:40,213 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 32 GetRequests, 14 SyntacticMatches, 0 SemanticMatches, 18 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 41 ImplicationChecksByTransitivity, 0.9s TimeCoverageRelationStatistics Valid=77, Invalid=303, Unknown=0, NotChecked=0, Total=380 [2018-11-22 22:08:40,213 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 67 states. [2018-11-22 22:08:40,216 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 67 to 54. [2018-11-22 22:08:40,216 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 54 states. [2018-11-22 22:08:40,216 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 54 states to 54 states and 66 transitions. [2018-11-22 22:08:40,216 INFO L78 Accepts]: Start accepts. Automaton has 54 states and 66 transitions. Word has length 25 [2018-11-22 22:08:40,217 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-22 22:08:40,217 INFO L480 AbstractCegarLoop]: Abstraction has 54 states and 66 transitions. [2018-11-22 22:08:40,217 INFO L481 AbstractCegarLoop]: Interpolant automaton has 12 states. [2018-11-22 22:08:40,217 INFO L276 IsEmpty]: Start isEmpty. Operand 54 states and 66 transitions. [2018-11-22 22:08:40,217 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 26 [2018-11-22 22:08:40,217 INFO L394 BasicCegarLoop]: Found error trace [2018-11-22 22:08:40,218 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] [2018-11-22 22:08:40,218 INFO L423 AbstractCegarLoop]: === Iteration 7 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-22 22:08:40,218 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-22 22:08:40,218 INFO L82 PathProgramCache]: Analyzing trace with hash -336723016, now seen corresponding path program 1 times [2018-11-22 22:08:40,218 INFO L223 ckRefinementStrategy]: Switched to mode MATHSAT_FPBP [2018-11-22 22:08:40,218 INFO L69 tionRefinementEngine]: Using refinement strategy WolfRefinementStrategy No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_c22643ff-53cf-455d-8663-8450b6a260a1/bin-2019/uautomizer/mathsat Starting monitored process 8 with mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 8 with mathsat -unsat_core_generation=3 [2018-11-22 22:08:40,223 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-22 22:08:40,314 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-22 22:08:40,323 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-22 22:08:40,342 INFO L683 Elim1Store]: detected equality via solver [2018-11-22 22:08:40,342 INFO L683 Elim1Store]: detected equality via solver [2018-11-22 22:08:40,343 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 48 treesize of output 56 [2018-11-22 22:08:40,400 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 2 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 40 treesize of output 43 [2018-11-22 22:08:40,420 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 23 treesize of output 9 [2018-11-22 22:08:40,421 INFO L267 ElimStorePlain]: Start of recursive call 4: End of recursive call: and 1 xjuncts. [2018-11-22 22:08:40,429 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-22 22:08:40,441 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 17 treesize of output 13 [2018-11-22 22:08:40,445 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 13 treesize of output 1 [2018-11-22 22:08:40,445 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-11-22 22:08:40,446 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-22 22:08:40,451 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-22 22:08:40,458 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-2 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-11-22 22:08:40,459 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 4 variables, input treesize:57, output treesize:18 [2018-11-22 22:08:40,525 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-22 22:08:40,525 INFO L312 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2018-11-22 22:08:40,533 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-22 22:08:40,533 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2018-11-22 22:08:40,533 INFO L459 AbstractCegarLoop]: Interpolant automaton has 6 states [2018-11-22 22:08:40,533 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2018-11-22 22:08:40,533 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2018-11-22 22:08:40,533 INFO L87 Difference]: Start difference. First operand 54 states and 66 transitions. Second operand 6 states. [2018-11-22 22:08:42,021 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-22 22:08:42,021 INFO L93 Difference]: Finished difference Result 80 states and 92 transitions. [2018-11-22 22:08:42,022 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2018-11-22 22:08:42,022 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 25 [2018-11-22 22:08:42,023 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-22 22:08:42,023 INFO L225 Difference]: With dead ends: 80 [2018-11-22 22:08:42,023 INFO L226 Difference]: Without dead ends: 54 [2018-11-22 22:08:42,024 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 27 GetRequests, 20 SyntacticMatches, 0 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 2 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=24, Invalid=48, Unknown=0, NotChecked=0, Total=72 [2018-11-22 22:08:42,024 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 54 states. [2018-11-22 22:08:42,027 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 54 to 48. [2018-11-22 22:08:42,027 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 48 states. [2018-11-22 22:08:42,027 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 48 states to 48 states and 55 transitions. [2018-11-22 22:08:42,028 INFO L78 Accepts]: Start accepts. Automaton has 48 states and 55 transitions. Word has length 25 [2018-11-22 22:08:42,028 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-22 22:08:42,028 INFO L480 AbstractCegarLoop]: Abstraction has 48 states and 55 transitions. [2018-11-22 22:08:42,028 INFO L481 AbstractCegarLoop]: Interpolant automaton has 6 states. [2018-11-22 22:08:42,028 INFO L276 IsEmpty]: Start isEmpty. Operand 48 states and 55 transitions. [2018-11-22 22:08:42,028 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 27 [2018-11-22 22:08:42,029 INFO L394 BasicCegarLoop]: Found error trace [2018-11-22 22:08:42,029 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-22 22:08:42,029 INFO L423 AbstractCegarLoop]: === Iteration 8 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-22 22:08:42,029 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-22 22:08:42,029 INFO L82 PathProgramCache]: Analyzing trace with hash 1033267275, now seen corresponding path program 1 times [2018-11-22 22:08:42,029 INFO L223 ckRefinementStrategy]: Switched to mode MATHSAT_FPBP [2018-11-22 22:08:42,029 INFO L69 tionRefinementEngine]: Using refinement strategy WolfRefinementStrategy No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_c22643ff-53cf-455d-8663-8450b6a260a1/bin-2019/uautomizer/mathsat Starting monitored process 9 with mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 9 with mathsat -unsat_core_generation=3 [2018-11-22 22:08:42,032 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-22 22:08:42,125 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-22 22:08:42,135 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-22 22:08:42,150 INFO L683 Elim1Store]: detected equality via solver [2018-11-22 22:08:42,151 INFO L683 Elim1Store]: detected equality via solver [2018-11-22 22:08:42,152 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 2 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 33 treesize of output 43 [2018-11-22 22:08:42,178 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 24 [2018-11-22 22:08:42,178 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-22 22:08:42,188 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 24 treesize of output 18 [2018-11-22 22:08:42,192 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 4 [2018-11-22 22:08:42,192 INFO L267 ElimStorePlain]: Start of recursive call 5: End of recursive call: and 1 xjuncts. [2018-11-22 22:08:42,194 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-22 22:08:42,196 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-22 22:08:42,203 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-2 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-11-22 22:08:42,203 INFO L202 ElimStorePlain]: Needed 5 recursive calls to eliminate 3 variables, input treesize:42, output treesize:14 [2018-11-22 22:08:42,274 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-22 22:08:42,274 INFO L312 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2018-11-22 22:08:42,282 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-22 22:08:42,282 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2018-11-22 22:08:42,283 INFO L459 AbstractCegarLoop]: Interpolant automaton has 7 states [2018-11-22 22:08:42,283 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2018-11-22 22:08:42,283 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=11, Invalid=31, Unknown=0, NotChecked=0, Total=42 [2018-11-22 22:08:42,283 INFO L87 Difference]: Start difference. First operand 48 states and 55 transitions. Second operand 7 states. [2018-11-22 22:08:43,552 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-22 22:08:43,553 INFO L93 Difference]: Finished difference Result 69 states and 75 transitions. [2018-11-22 22:08:43,554 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2018-11-22 22:08:43,554 INFO L78 Accepts]: Start accepts. Automaton has 7 states. Word has length 26 [2018-11-22 22:08:43,554 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-22 22:08:43,554 INFO L225 Difference]: With dead ends: 69 [2018-11-22 22:08:43,554 INFO L226 Difference]: Without dead ends: 39 [2018-11-22 22:08:43,555 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 32 GetRequests, 20 SyntacticMatches, 0 SemanticMatches, 12 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 19 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=54, Invalid=128, Unknown=0, NotChecked=0, Total=182 [2018-11-22 22:08:43,555 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 39 states. [2018-11-22 22:08:43,557 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 39 to 34. [2018-11-22 22:08:43,557 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 34 states. [2018-11-22 22:08:43,557 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 34 states to 34 states and 34 transitions. [2018-11-22 22:08:43,557 INFO L78 Accepts]: Start accepts. Automaton has 34 states and 34 transitions. Word has length 26 [2018-11-22 22:08:43,557 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-22 22:08:43,557 INFO L480 AbstractCegarLoop]: Abstraction has 34 states and 34 transitions. [2018-11-22 22:08:43,558 INFO L481 AbstractCegarLoop]: Interpolant automaton has 7 states. [2018-11-22 22:08:43,558 INFO L276 IsEmpty]: Start isEmpty. Operand 34 states and 34 transitions. [2018-11-22 22:08:43,558 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 33 [2018-11-22 22:08:43,558 INFO L394 BasicCegarLoop]: Found error trace [2018-11-22 22:08:43,558 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, 1, 1, 1, 1, 1] [2018-11-22 22:08:43,558 INFO L423 AbstractCegarLoop]: === Iteration 9 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-22 22:08:43,558 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-22 22:08:43,559 INFO L82 PathProgramCache]: Analyzing trace with hash 1407604295, now seen corresponding path program 1 times [2018-11-22 22:08:43,559 INFO L223 ckRefinementStrategy]: Switched to mode MATHSAT_FPBP [2018-11-22 22:08:43,559 INFO L69 tionRefinementEngine]: Using refinement strategy WolfRefinementStrategy No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_c22643ff-53cf-455d-8663-8450b6a260a1/bin-2019/uautomizer/mathsat Starting monitored process 10 with mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 10 with mathsat -unsat_core_generation=3 [2018-11-22 22:08:43,562 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-22 22:08:43,695 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-22 22:08:43,707 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-22 22:08:43,724 INFO L683 Elim1Store]: detected equality via solver [2018-11-22 22:08:43,725 INFO L683 Elim1Store]: detected equality via solver [2018-11-22 22:08:43,725 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 2 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 33 treesize of output 43 [2018-11-22 22:08:43,766 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 24 [2018-11-22 22:08:43,766 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-22 22:08:43,778 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 24 treesize of output 18 [2018-11-22 22:08:43,781 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 4 [2018-11-22 22:08:43,782 INFO L267 ElimStorePlain]: Start of recursive call 5: End of recursive call: and 1 xjuncts. [2018-11-22 22:08:43,784 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-22 22:08:43,786 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-22 22:08:43,791 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-2 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-11-22 22:08:43,792 INFO L202 ElimStorePlain]: Needed 5 recursive calls to eliminate 3 variables, input treesize:42, output treesize:14 [2018-11-22 22:08:43,848 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-22 22:08:43,849 INFO L312 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2018-11-22 22:08:43,857 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-22 22:08:43,857 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2018-11-22 22:08:43,857 INFO L459 AbstractCegarLoop]: Interpolant automaton has 6 states [2018-11-22 22:08:43,857 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2018-11-22 22:08:43,857 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2018-11-22 22:08:43,857 INFO L87 Difference]: Start difference. First operand 34 states and 34 transitions. Second operand 6 states. [2018-11-22 22:08:44,575 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-22 22:08:44,575 INFO L93 Difference]: Finished difference Result 52 states and 51 transitions. [2018-11-22 22:08:44,576 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2018-11-22 22:08:44,576 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 32 [2018-11-22 22:08:44,577 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-22 22:08:44,577 INFO L225 Difference]: With dead ends: 52 [2018-11-22 22:08:44,577 INFO L226 Difference]: Without dead ends: 34 [2018-11-22 22:08:44,577 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 33 GetRequests, 27 SyntacticMatches, 0 SemanticMatches, 6 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=17, Invalid=39, Unknown=0, NotChecked=0, Total=56 [2018-11-22 22:08:44,577 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 34 states. [2018-11-22 22:08:44,579 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 34 to 34. [2018-11-22 22:08:44,579 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 34 states. [2018-11-22 22:08:44,579 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 34 states to 34 states and 33 transitions. [2018-11-22 22:08:44,579 INFO L78 Accepts]: Start accepts. Automaton has 34 states and 33 transitions. Word has length 32 [2018-11-22 22:08:44,579 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-22 22:08:44,580 INFO L480 AbstractCegarLoop]: Abstraction has 34 states and 33 transitions. [2018-11-22 22:08:44,580 INFO L481 AbstractCegarLoop]: Interpolant automaton has 6 states. [2018-11-22 22:08:44,580 INFO L276 IsEmpty]: Start isEmpty. Operand 34 states and 33 transitions. [2018-11-22 22:08:44,580 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 34 [2018-11-22 22:08:44,580 INFO L394 BasicCegarLoop]: Found error trace [2018-11-22 22:08:44,580 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, 1, 1, 1, 1, 1, 1] [2018-11-22 22:08:44,580 INFO L423 AbstractCegarLoop]: === Iteration 10 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-22 22:08:44,580 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-22 22:08:44,580 INFO L82 PathProgramCache]: Analyzing trace with hash -997921541, now seen corresponding path program 1 times [2018-11-22 22:08:44,580 INFO L223 ckRefinementStrategy]: Switched to mode MATHSAT_FPBP [2018-11-22 22:08:44,581 INFO L69 tionRefinementEngine]: Using refinement strategy WolfRefinementStrategy No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_c22643ff-53cf-455d-8663-8450b6a260a1/bin-2019/uautomizer/mathsat Starting monitored process 11 with mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 11 with mathsat -unsat_core_generation=3 [2018-11-22 22:08:44,583 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-22 22:08:44,710 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-22 22:08:44,722 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-22 22:08:44,754 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 45 treesize of output 39 [2018-11-22 22:08:44,757 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 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 39 treesize of output 36 [2018-11-22 22:08:44,770 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 15 [2018-11-22 22:08:44,770 INFO L267 ElimStorePlain]: Start of recursive call 4: End of recursive call: and 1 xjuncts. [2018-11-22 22:08:44,774 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-22 22:08:44,777 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-22 22:08:44,787 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-2 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2018-11-22 22:08:44,787 INFO L202 ElimStorePlain]: Needed 4 recursive calls to eliminate 4 variables, input treesize:59, output treesize:29 [2018-11-22 22:08:44,922 INFO L683 Elim1Store]: detected equality via solver [2018-11-22 22:08:44,923 INFO L683 Elim1Store]: detected equality via solver [2018-11-22 22:08:44,924 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 2 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 33 treesize of output 43 [2018-11-22 22:08:44,964 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 21 [2018-11-22 22:08:44,964 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-22 22:08:44,972 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 17 treesize of output 13 [2018-11-22 22:08:44,976 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 13 treesize of output 1 [2018-11-22 22:08:44,976 INFO L267 ElimStorePlain]: Start of recursive call 5: End of recursive call: and 1 xjuncts. [2018-11-22 22:08:44,977 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-22 22:08:44,979 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-22 22:08:44,984 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-2 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-11-22 22:08:44,984 INFO L202 ElimStorePlain]: Needed 5 recursive calls to eliminate 3 variables, input treesize:42, output treesize:14 [2018-11-22 22:08:45,178 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-22 22:08:45,178 INFO L312 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2018-11-22 22:08:45,192 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-22 22:08:45,192 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [14] imperfect sequences [] total 14 [2018-11-22 22:08:45,192 INFO L459 AbstractCegarLoop]: Interpolant automaton has 14 states [2018-11-22 22:08:45,193 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2018-11-22 22:08:45,193 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=26, Invalid=156, Unknown=0, NotChecked=0, Total=182 [2018-11-22 22:08:45,194 INFO L87 Difference]: Start difference. First operand 34 states and 33 transitions. Second operand 14 states. [2018-11-22 22:08:46,013 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-22 22:08:46,013 INFO L93 Difference]: Finished difference Result 34 states and 33 transitions. [2018-11-22 22:08:46,014 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2018-11-22 22:08:46,014 INFO L78 Accepts]: Start accepts. Automaton has 14 states. Word has length 33 [2018-11-22 22:08:46,014 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-22 22:08:46,014 INFO L225 Difference]: With dead ends: 34 [2018-11-22 22:08:46,014 INFO L226 Difference]: Without dead ends: 0 [2018-11-22 22:08:46,014 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 40 GetRequests, 20 SyntacticMatches, 0 SemanticMatches, 20 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 33 ImplicationChecksByTransitivity, 0.7s TimeCoverageRelationStatistics Valid=74, Invalid=388, Unknown=0, NotChecked=0, Total=462 [2018-11-22 22:08:46,015 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 0 states. [2018-11-22 22:08:46,015 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 0 to 0. [2018-11-22 22:08:46,015 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 0 states. [2018-11-22 22:08:46,015 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 0 states to 0 states and 0 transitions. [2018-11-22 22:08:46,015 INFO L78 Accepts]: Start accepts. Automaton has 0 states and 0 transitions. Word has length 33 [2018-11-22 22:08:46,015 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-22 22:08:46,015 INFO L480 AbstractCegarLoop]: Abstraction has 0 states and 0 transitions. [2018-11-22 22:08:46,015 INFO L481 AbstractCegarLoop]: Interpolant automaton has 14 states. [2018-11-22 22:08:46,015 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2018-11-22 22:08:46,015 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-22 22:08:46,018 INFO L343 DoubleDeckerVisitor]: Before removal of dead ends 0 states and 0 transitions. [2018-11-22 22:08:46,198 INFO L448 ceAbstractionStarter]: For program point L31(lines 31 34) no Hoare annotation was computed. [2018-11-22 22:08:46,198 INFO L448 ceAbstractionStarter]: For program point L27(lines 27 46) no Hoare annotation was computed. [2018-11-22 22:08:46,199 INFO L448 ceAbstractionStarter]: For program point L56(lines 56 68) no Hoare annotation was computed. [2018-11-22 22:08:46,199 INFO L448 ceAbstractionStarter]: For program point L19-1(lines 19 24) no Hoare annotation was computed. [2018-11-22 22:08:46,199 INFO L444 ceAbstractionStarter]: At program point L19-2(lines 19 24) the Hoare annotation is: (or (= floor_double_~x |floor_double_#in~x|) (not (= ((_ to_fp 11 53) roundNearestTiesToEven 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0) ~huge_floor~0))) [2018-11-22 22:08:46,199 INFO L448 ceAbstractionStarter]: For program point L19-3(lines 19 24) no Hoare annotation was computed. [2018-11-22 22:08:46,199 INFO L448 ceAbstractionStarter]: For program point L48(lines 48 51) no Hoare annotation was computed. [2018-11-22 22:08:46,199 INFO L448 ceAbstractionStarter]: For program point floor_doubleFINAL(lines 16 77) no Hoare annotation was computed. [2018-11-22 22:08:46,199 INFO L448 ceAbstractionStarter]: For program point L40(lines 40 45) no Hoare annotation was computed. [2018-11-22 22:08:46,199 INFO L448 ceAbstractionStarter]: For program point L28(lines 28 35) no Hoare annotation was computed. [2018-11-22 22:08:46,199 INFO L448 ceAbstractionStarter]: For program point L57(lines 57 66) no Hoare annotation was computed. [2018-11-22 22:08:46,199 INFO L448 ceAbstractionStarter]: For program point L57-1(lines 57 66) no Hoare annotation was computed. [2018-11-22 22:08:46,199 INFO L448 ceAbstractionStarter]: For program point floor_doubleEXIT(lines 16 77) no Hoare annotation was computed. [2018-11-22 22:08:46,199 INFO L451 ceAbstractionStarter]: At program point floor_doubleENTRY(lines 16 77) the Hoare annotation is: true [2018-11-22 22:08:46,199 INFO L448 ceAbstractionStarter]: For program point L41(lines 41 42) no Hoare annotation was computed. [2018-11-22 22:08:46,199 INFO L448 ceAbstractionStarter]: For program point L41-2(lines 41 42) no Hoare annotation was computed. [2018-11-22 22:08:46,199 INFO L448 ceAbstractionStarter]: For program point L70(lines 70 75) no Hoare annotation was computed. [2018-11-22 22:08:46,199 INFO L448 ceAbstractionStarter]: For program point L70-1(lines 16 77) no Hoare annotation was computed. [2018-11-22 22:08:46,199 INFO L448 ceAbstractionStarter]: For program point L70-2(lines 70 75) no Hoare annotation was computed. [2018-11-22 22:08:46,199 INFO L448 ceAbstractionStarter]: For program point L62(lines 62 63) no Hoare annotation was computed. [2018-11-22 22:08:46,199 INFO L448 ceAbstractionStarter]: For program point L29(lines 29 34) no Hoare annotation was computed. [2018-11-22 22:08:46,200 INFO L448 ceAbstractionStarter]: For program point L62-2(lines 62 63) no Hoare annotation was computed. [2018-11-22 22:08:46,200 INFO L448 ceAbstractionStarter]: For program point L58(lines 58 65) no Hoare annotation was computed. [2018-11-22 22:08:46,200 INFO L448 ceAbstractionStarter]: For program point L54(lines 54 55) no Hoare annotation was computed. [2018-11-22 22:08:46,200 INFO L448 ceAbstractionStarter]: For program point L38(lines 38 39) no Hoare annotation was computed. [2018-11-22 22:08:46,200 INFO L448 ceAbstractionStarter]: For program point L26(lines 26 69) no Hoare annotation was computed. [2018-11-22 22:08:46,200 INFO L448 ceAbstractionStarter]: For program point L47(lines 47 69) no Hoare annotation was computed. [2018-11-22 22:08:46,200 INFO L448 ceAbstractionStarter]: For program point ULTIMATE.initFINAL(line -1) no Hoare annotation was computed. [2018-11-22 22:08:46,200 INFO L451 ceAbstractionStarter]: At program point ULTIMATE.initENTRY(line -1) the Hoare annotation is: true [2018-11-22 22:08:46,200 INFO L448 ceAbstractionStarter]: For program point ULTIMATE.initEXIT(line -1) no Hoare annotation was computed. [2018-11-22 22:08:46,200 INFO L448 ceAbstractionStarter]: For program point __signbit_doubleFINAL(lines 79 89) no Hoare annotation was computed. [2018-11-22 22:08:46,200 INFO L448 ceAbstractionStarter]: For program point __signbit_doubleEXIT(lines 79 89) no Hoare annotation was computed. [2018-11-22 22:08:46,200 INFO L448 ceAbstractionStarter]: For program point L82-1(lines 82 86) no Hoare annotation was computed. [2018-11-22 22:08:46,200 INFO L444 ceAbstractionStarter]: At program point L82-2(lines 82 86) the Hoare annotation is: (or (not (= ((_ to_fp 11 53) roundNearestTiesToEven 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0) ~huge_floor~0)) (= |__signbit_double_#in~x| __signbit_double_~x)) [2018-11-22 22:08:46,200 INFO L448 ceAbstractionStarter]: For program point L82-3(lines 82 86) no Hoare annotation was computed. [2018-11-22 22:08:46,200 INFO L451 ceAbstractionStarter]: At program point __signbit_doubleENTRY(lines 79 89) the Hoare annotation is: true [2018-11-22 22:08:46,200 INFO L448 ceAbstractionStarter]: For program point ULTIMATE.startEXIT(line -1) no Hoare annotation was computed. [2018-11-22 22:08:46,200 INFO L444 ceAbstractionStarter]: At program point L-1(line -1) the Hoare annotation is: (= ((_ to_fp 11 53) roundNearestTiesToEven 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0) ~huge_floor~0) [2018-11-22 22:08:46,201 INFO L451 ceAbstractionStarter]: At program point ULTIMATE.startENTRY(line -1) the Hoare annotation is: true [2018-11-22 22:08:46,201 INFO L448 ceAbstractionStarter]: For program point ULTIMATE.startFINAL(line -1) no Hoare annotation was computed. [2018-11-22 22:08:46,201 INFO L451 ceAbstractionStarter]: At program point mainENTRY(lines 91 108) the Hoare annotation is: true [2018-11-22 22:08:46,201 INFO L448 ceAbstractionStarter]: For program point mainEXIT(lines 91 108) no Hoare annotation was computed. [2018-11-22 22:08:46,201 INFO L448 ceAbstractionStarter]: For program point mainFINAL(lines 91 108) no Hoare annotation was computed. [2018-11-22 22:08:46,201 INFO L448 ceAbstractionStarter]: For program point mainErr0ASSERT_VIOLATIONERROR_FUNCTION(line 103) no Hoare annotation was computed. [2018-11-22 22:08:46,201 INFO L448 ceAbstractionStarter]: For program point L103(line 103) no Hoare annotation was computed. [2018-11-22 22:08:46,201 INFO L448 ceAbstractionStarter]: For program point L102(line 102) no Hoare annotation was computed. [2018-11-22 22:08:46,201 INFO L444 ceAbstractionStarter]: At program point L102-1(line 102) the Hoare annotation is: (or (and (exists ((floor_double_~i0~0 (_ BitVec 32)) (floor_double_~i1~0 (_ BitVec 32))) (and (= main_~res~0 (let ((.cse0 (concat floor_double_~i0~0 floor_double_~i1~0))) (fp ((_ extract 63 63) .cse0) ((_ extract 62 52) .cse0) ((_ extract 51 0) .cse0)))) (bvslt (bvadd (bvand (_ bv2047 32) (bvashr floor_double_~i0~0 (_ bv20 32))) (_ bv4294966273 32)) (_ bv0 32)) (not (bvsge floor_double_~i0~0 (_ bv0 32))))) |main_#t~short10| (= main_~x~0 (fp.neg (_ +zero 11 53)))) (not (= ((_ to_fp 11 53) roundNearestTiesToEven 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0) ~huge_floor~0))) [2018-11-22 22:08:46,201 INFO L448 ceAbstractionStarter]: For program point L102-2(line 102) no Hoare annotation was computed. [2018-11-22 22:08:46,201 INFO L444 ceAbstractionStarter]: At program point L99(line 99) the Hoare annotation is: (or (= main_~x~0 (fp.neg (_ +zero 11 53))) (not (= ((_ to_fp 11 53) roundNearestTiesToEven 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0) ~huge_floor~0))) [2018-11-22 22:08:46,201 INFO L448 ceAbstractionStarter]: For program point L99-1(line 99) no Hoare annotation was computed. [2018-11-22 22:08:46,201 INFO L448 ceAbstractionStarter]: For program point L102-4(lines 102 105) no Hoare annotation was computed. [2018-11-22 22:08:46,206 WARN L416 cessorBacktranslator]: Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven [2018-11-22 22:08:46,208 WARN L416 cessorBacktranslator]: Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven [2018-11-22 22:08:46,209 WARN L416 cessorBacktranslator]: Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven [2018-11-22 22:08:46,209 WARN L416 cessorBacktranslator]: Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven [2018-11-22 22:08:46,211 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 22.11 10:08:46 BoogieIcfgContainer [2018-11-22 22:08:46,211 INFO L132 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2018-11-22 22:08:46,211 INFO L113 PluginConnector]: ------------------------Witness Printer---------------------------- [2018-11-22 22:08:46,211 INFO L271 PluginConnector]: Initializing Witness Printer... [2018-11-22 22:08:46,211 INFO L276 PluginConnector]: Witness Printer initialized [2018-11-22 22:08:46,211 INFO L185 PluginConnector]: Executing the observer RCFGCatcher from plugin Witness Printer for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 22.11 10:08:24" (3/4) ... [2018-11-22 22:08:46,213 INFO L144 WitnessPrinter]: Generating witness for correct program [2018-11-22 22:08:46,217 INFO L354 RCFGBacktranslator]: Ignoring RootEdge to procedure floor_double [2018-11-22 22:08:46,217 INFO L354 RCFGBacktranslator]: Ignoring RootEdge to procedure ULTIMATE.init [2018-11-22 22:08:46,217 INFO L354 RCFGBacktranslator]: Ignoring RootEdge to procedure __signbit_double [2018-11-22 22:08:46,218 INFO L354 RCFGBacktranslator]: Ignoring RootEdge to procedure main [2018-11-22 22:08:46,220 INFO L879 BoogieBacktranslator]: Reduced CFG by removing 22 nodes and edges [2018-11-22 22:08:46,220 INFO L879 BoogieBacktranslator]: Reduced CFG by removing 9 nodes and edges [2018-11-22 22:08:46,221 INFO L879 BoogieBacktranslator]: Reduced CFG by removing 1 nodes and edges [2018-11-22 22:08:46,237 WARN L221 nessWitnessGenerator]: Not writing invariant because ACSL is forbidden: x == \old(x) || !(~to_fp~LONGDOUBLE(~roundNearestTiesToEven, 1.0E300) == huge_floor) [2018-11-22 22:08:46,237 WARN L221 nessWitnessGenerator]: Not writing invariant because ACSL is forbidden: !(~to_fp~LONGDOUBLE(~roundNearestTiesToEven, 1.0E300) == huge_floor) || \old(x) == x [2018-11-22 22:08:46,255 INFO L145 WitnessManager]: Wrote witness to /tmp/vcloud-vcloud-master/worker/working_dir_c22643ff-53cf-455d-8663-8450b6a260a1/bin-2019/uautomizer/witness.graphml [2018-11-22 22:08:46,256 INFO L132 PluginConnector]: ------------------------ END Witness Printer---------------------------- [2018-11-22 22:08:46,256 INFO L168 Benchmark]: Toolchain (without parser) took 22833.52 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 199.8 MB). Free memory was 949.7 MB in the beginning and 942.0 MB in the end (delta: 7.7 MB). Peak memory consumption was 207.5 MB. Max. memory is 11.5 GB. [2018-11-22 22:08:46,257 INFO L168 Benchmark]: CDTParser took 0.15 ms. Allocated memory is still 1.0 GB. Free memory is still 978.7 MB. There was no memory consumed. Max. memory is 11.5 GB. [2018-11-22 22:08:46,257 INFO L168 Benchmark]: CACSL2BoogieTranslator took 198.42 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-22 22:08:46,257 INFO L168 Benchmark]: Boogie Procedure Inliner took 17.29 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-22 22:08:46,257 INFO L168 Benchmark]: Boogie Preprocessor took 24.22 ms. Allocated memory is still 1.0 GB. Free memory was 933.6 MB in the beginning and 928.3 MB in the end (delta: 5.4 MB). Peak memory consumption was 5.4 MB. Max. memory is 11.5 GB. [2018-11-22 22:08:46,257 INFO L168 Benchmark]: RCFGBuilder took 901.35 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 141.6 MB). Free memory was 928.3 MB in the beginning and 1.1 GB in the end (delta: -170.3 MB). Peak memory consumption was 15.6 MB. Max. memory is 11.5 GB. [2018-11-22 22:08:46,258 INFO L168 Benchmark]: TraceAbstraction took 21644.26 ms. Allocated memory was 1.2 GB in the beginning and 1.2 GB in the end (delta: 58.2 MB). Free memory was 1.1 GB in the beginning and 949.1 MB in the end (delta: 149.5 MB). Peak memory consumption was 207.7 MB. Max. memory is 11.5 GB. [2018-11-22 22:08:46,258 INFO L168 Benchmark]: Witness Printer took 44.67 ms. Allocated memory is still 1.2 GB. Free memory was 949.1 MB in the beginning and 942.0 MB in the end (delta: 7.0 MB). Peak memory consumption was 7.0 MB. Max. memory is 11.5 GB. [2018-11-22 22:08:46,259 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 198.42 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 17.29 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 24.22 ms. Allocated memory is still 1.0 GB. Free memory was 933.6 MB in the beginning and 928.3 MB in the end (delta: 5.4 MB). Peak memory consumption was 5.4 MB. Max. memory is 11.5 GB. * RCFGBuilder took 901.35 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 141.6 MB). Free memory was 928.3 MB in the beginning and 1.1 GB in the end (delta: -170.3 MB). Peak memory consumption was 15.6 MB. Max. memory is 11.5 GB. * TraceAbstraction took 21644.26 ms. Allocated memory was 1.2 GB in the beginning and 1.2 GB in the end (delta: 58.2 MB). Free memory was 1.1 GB in the beginning and 949.1 MB in the end (delta: 149.5 MB). Peak memory consumption was 207.7 MB. Max. memory is 11.5 GB. * Witness Printer took 44.67 ms. Allocated memory is still 1.2 GB. Free memory was 949.1 MB in the beginning and 942.0 MB in the end (delta: 7.0 MB). Peak memory consumption was 7.0 MB. Max. memory is 11.5 GB. * Results from de.uni_freiburg.informatik.ultimate.boogie.preprocessor: - GenericResult: Unfinished Backtranslation Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven - GenericResult: Unfinished Backtranslation Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven - GenericResult: Unfinished Backtranslation Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven - GenericResult: Unfinished Backtranslation Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - PositiveResult [Line: 103]: 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: 82]: Loop Invariant [2018-11-22 22:08:46,261 WARN L416 cessorBacktranslator]: Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven [2018-11-22 22:08:46,262 WARN L416 cessorBacktranslator]: Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven Derived loop invariant: !(~to_fp~LONGDOUBLE(~roundNearestTiesToEven, 1.0E300) == huge_floor) || \old(x) == x - InvariantResult [Line: 19]: Loop Invariant [2018-11-22 22:08:46,262 WARN L416 cessorBacktranslator]: Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven [2018-11-22 22:08:46,262 WARN L416 cessorBacktranslator]: Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven Derived loop invariant: x == \old(x) || !(~to_fp~LONGDOUBLE(~roundNearestTiesToEven, 1.0E300) == huge_floor) - StatisticsResult: Ultimate Automizer benchmark data CFG has 5 procedures, 51 locations, 1 error locations. SAFE Result, 21.5s OverallTime, 10 OverallIterations, 1 TraceHistogramMax, 16.3s AutomataDifference, 0.0s DeadEndRemovalTime, 0.1s HoareAnnotationTime, HoareTripleCheckerStatistics: 427 SDtfs, 423 SDslu, 1521 SDs, 0 SdLazy, 950 SolverSat, 54 SolverUnsat, 0 SolverUnknown, 0 SolverNotchecked, 12.1s Time, PredicateUnifierStatistics: 0 DeclaredPredicates, 274 GetRequests, 182 SyntacticMatches, 1 SemanticMatches, 91 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 102 ImplicationChecksByTransitivity, 6.6s Time, 0.0s BasicInterpolantAutomatonTime, BiggestAbstraction: size=54occurred in iteration=5, 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, 10 MinimizatonAttempts, 34 StatesRemovedByMinimization, 6 NontrivialMinimizations, HoareAnnotationStatistics: 0.0s HoareAnnotationTime, 10 LocationsWithAnnotation, 20 PreInvPairs, 23 NumberOfFragments, 84 HoareAnnotationTreeSize, 20 FomulaSimplifications, 0 FormulaSimplificationTreeSizeReduction, 0.0s HoareSimplificationTime, 10 FomulaSimplificationsInter, 56 FormulaSimplificationTreeSizeReductionInter, 0.1s HoareSimplificationTimeInter, RefinementEngineStatistics: TraceCheckStatistics: 0.0s SsaConstructionTime, 0.7s SatisfiabilityAnalysisTime, 3.9s InterpolantComputationTime, 247 NumberOfCodeBlocks, 247 NumberOfCodeBlocksAsserted, 10 NumberOfCheckSat, 237 ConstructedInterpolants, 60 QuantifiedInterpolants, 49432 SizeOfPredicates, 36 NumberOfNonLiveVariables, 694 ConjunctsInSsa, 83 ConjunctsInUnsatCore, 10 InterpolantComputations, 10 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...