./Ultimate.py --spec ../../sv-benchmarks/c/properties/unreach-call.prp --file ../../sv-benchmarks/c/float-newlib/double_req_bl_1092a_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_2dcc77f4-9115-49b8-9858-34ae22066974/bin-2019/uautomizer/data/config -Xmx12G -Xms1G -jar /tmp/vcloud-vcloud-master/worker/working_dir_2dcc77f4-9115-49b8-9858-34ae22066974/bin-2019/uautomizer/plugins/org.eclipse.equinox.launcher_1.3.100.v20150511-1540.jar -data @noDefault -ultimatedata /tmp/vcloud-vcloud-master/worker/working_dir_2dcc77f4-9115-49b8-9858-34ae22066974/bin-2019/uautomizer/data -tc /tmp/vcloud-vcloud-master/worker/working_dir_2dcc77f4-9115-49b8-9858-34ae22066974/bin-2019/uautomizer/config/AutomizerReach.xml -i ../../sv-benchmarks/c/float-newlib/double_req_bl_1092a_true-unreach-call.c -s /tmp/vcloud-vcloud-master/worker/working_dir_2dcc77f4-9115-49b8-9858-34ae22066974/bin-2019/uautomizer/config/svcomp-Reach-32bit-Automizer_Default.epf --cacsl2boogietranslator.entry.function main --witnessprinter.witness.directory /tmp/vcloud-vcloud-master/worker/working_dir_2dcc77f4-9115-49b8-9858-34ae22066974/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 8be2489bdcd97218605067fa4593696f9050abdf ...................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................... 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_2dcc77f4-9115-49b8-9858-34ae22066974/bin-2019/uautomizer/data/config -Xmx12G -Xms1G -jar /tmp/vcloud-vcloud-master/worker/working_dir_2dcc77f4-9115-49b8-9858-34ae22066974/bin-2019/uautomizer/plugins/org.eclipse.equinox.launcher_1.3.100.v20150511-1540.jar -data @noDefault -ultimatedata /tmp/vcloud-vcloud-master/worker/working_dir_2dcc77f4-9115-49b8-9858-34ae22066974/bin-2019/uautomizer/data -tc /tmp/vcloud-vcloud-master/worker/working_dir_2dcc77f4-9115-49b8-9858-34ae22066974/bin-2019/uautomizer/config/AutomizerReach.xml -i ../../sv-benchmarks/c/float-newlib/double_req_bl_1092a_true-unreach-call.c -s /tmp/vcloud-vcloud-master/worker/working_dir_2dcc77f4-9115-49b8-9858-34ae22066974/bin-2019/uautomizer/config/svcomp-Reach-32bit-Automizer_Bitvector.epf --cacsl2boogietranslator.entry.function main --witnessprinter.witness.directory /tmp/vcloud-vcloud-master/worker/working_dir_2dcc77f4-9115-49b8-9858-34ae22066974/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 8be2489bdcd97218605067fa4593696f9050abdf ........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................... Execution finished normally Writing output log to file Ultimate.log Result: TRUE --- Real Ultimate output --- This is Ultimate 0.1.23-aa41828 [2018-11-23 07:09:04,962 INFO L170 SettingsManager]: Resetting all preferences to default values... [2018-11-23 07:09:04,963 INFO L174 SettingsManager]: Resetting UltimateCore preferences to default values [2018-11-23 07:09:04,970 INFO L177 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2018-11-23 07:09:04,970 INFO L174 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2018-11-23 07:09:04,971 INFO L174 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2018-11-23 07:09:04,971 INFO L174 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2018-11-23 07:09:04,972 INFO L174 SettingsManager]: Resetting LassoRanker preferences to default values [2018-11-23 07:09:04,973 INFO L174 SettingsManager]: Resetting Reaching Definitions preferences to default values [2018-11-23 07:09:04,974 INFO L174 SettingsManager]: Resetting SyntaxChecker preferences to default values [2018-11-23 07:09:04,975 INFO L177 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2018-11-23 07:09:04,975 INFO L174 SettingsManager]: Resetting LTL2Aut preferences to default values [2018-11-23 07:09:04,975 INFO L174 SettingsManager]: Resetting PEA to Boogie preferences to default values [2018-11-23 07:09:04,976 INFO L174 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2018-11-23 07:09:04,977 INFO L174 SettingsManager]: Resetting ChcToBoogie preferences to default values [2018-11-23 07:09:04,977 INFO L174 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2018-11-23 07:09:04,978 INFO L174 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2018-11-23 07:09:04,979 INFO L174 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2018-11-23 07:09:04,980 INFO L174 SettingsManager]: Resetting CodeCheck preferences to default values [2018-11-23 07:09:04,981 INFO L174 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2018-11-23 07:09:04,982 INFO L174 SettingsManager]: Resetting RCFGBuilder preferences to default values [2018-11-23 07:09:04,983 INFO L174 SettingsManager]: Resetting TraceAbstraction preferences to default values [2018-11-23 07:09:04,984 INFO L177 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2018-11-23 07:09:04,984 INFO L177 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2018-11-23 07:09:04,984 INFO L174 SettingsManager]: Resetting TreeAutomizer preferences to default values [2018-11-23 07:09:04,985 INFO L174 SettingsManager]: Resetting IcfgTransformer preferences to default values [2018-11-23 07:09:04,986 INFO L174 SettingsManager]: Resetting Boogie Printer preferences to default values [2018-11-23 07:09:04,986 INFO L174 SettingsManager]: Resetting ReqPrinter preferences to default values [2018-11-23 07:09:04,987 INFO L174 SettingsManager]: Resetting Witness Printer preferences to default values [2018-11-23 07:09:04,987 INFO L177 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2018-11-23 07:09:04,987 INFO L174 SettingsManager]: Resetting CDTParser preferences to default values [2018-11-23 07:09:04,988 INFO L177 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2018-11-23 07:09:04,988 INFO L177 SettingsManager]: ReqParser provides no preferences, ignoring... [2018-11-23 07:09:04,988 INFO L174 SettingsManager]: Resetting SmtParser preferences to default values [2018-11-23 07:09:04,989 INFO L174 SettingsManager]: Resetting Witness Parser preferences to default values [2018-11-23 07:09:04,989 INFO L181 SettingsManager]: Finished resetting all preferences to default values... [2018-11-23 07:09:04,990 INFO L98 SettingsManager]: Beginning loading settings from /tmp/vcloud-vcloud-master/worker/working_dir_2dcc77f4-9115-49b8-9858-34ae22066974/bin-2019/uautomizer/config/svcomp-Reach-32bit-Automizer_Default.epf [2018-11-23 07:09:04,999 INFO L110 SettingsManager]: Loading preferences was successful [2018-11-23 07:09:04,999 INFO L112 SettingsManager]: Preferences different from defaults after loading the file: [2018-11-23 07:09:04,999 INFO L131 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2018-11-23 07:09:04,999 INFO L133 SettingsManager]: * ... calls to implemented procedures=ONLY_FOR_CONCURRENT_PROGRAMS [2018-11-23 07:09:05,000 INFO L131 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2018-11-23 07:09:05,000 INFO L133 SettingsManager]: * Create parallel compositions if possible=false [2018-11-23 07:09:05,000 INFO L133 SettingsManager]: * Use SBE=true [2018-11-23 07:09:05,000 INFO L131 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2018-11-23 07:09:05,000 INFO L133 SettingsManager]: * sizeof long=4 [2018-11-23 07:09:05,001 INFO L133 SettingsManager]: * Overapproximate operations on floating types=true [2018-11-23 07:09:05,001 INFO L133 SettingsManager]: * sizeof POINTER=4 [2018-11-23 07:09:05,001 INFO L133 SettingsManager]: * Check division by zero=IGNORE [2018-11-23 07:09:05,001 INFO L133 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2018-11-23 07:09:05,001 INFO L133 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2018-11-23 07:09:05,001 INFO L133 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2018-11-23 07:09:05,001 INFO L133 SettingsManager]: * sizeof long double=12 [2018-11-23 07:09:05,001 INFO L133 SettingsManager]: * Check if freed pointer was valid=false [2018-11-23 07:09:05,002 INFO L133 SettingsManager]: * Use constant arrays=true [2018-11-23 07:09:05,002 INFO L133 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2018-11-23 07:09:05,002 INFO L131 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2018-11-23 07:09:05,002 INFO L133 SettingsManager]: * Size of a code block=SequenceOfStatements [2018-11-23 07:09:05,002 INFO L133 SettingsManager]: * To the following directory=./dump/ [2018-11-23 07:09:05,002 INFO L133 SettingsManager]: * SMT solver=External_DefaultMode [2018-11-23 07:09:05,002 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2018-11-23 07:09:05,003 INFO L131 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2018-11-23 07:09:05,003 INFO L133 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2018-11-23 07:09:05,003 INFO L133 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2018-11-23 07:09:05,003 INFO L133 SettingsManager]: * Trace refinement strategy=CAMEL [2018-11-23 07:09:05,003 INFO L133 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2018-11-23 07:09:05,003 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2018-11-23 07:09:05,003 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_2dcc77f4-9115-49b8-9858-34ae22066974/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 -> 8be2489bdcd97218605067fa4593696f9050abdf [2018-11-23 07:09:05,027 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2018-11-23 07:09:05,035 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2018-11-23 07:09:05,036 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2018-11-23 07:09:05,037 INFO L271 PluginConnector]: Initializing CDTParser... [2018-11-23 07:09:05,038 INFO L276 PluginConnector]: CDTParser initialized [2018-11-23 07:09:05,038 INFO L418 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /tmp/vcloud-vcloud-master/worker/working_dir_2dcc77f4-9115-49b8-9858-34ae22066974/bin-2019/uautomizer/../../sv-benchmarks/c/float-newlib/double_req_bl_1092a_true-unreach-call.c [2018-11-23 07:09:05,072 INFO L221 CDTParser]: Created temporary CDT project at /tmp/vcloud-vcloud-master/worker/working_dir_2dcc77f4-9115-49b8-9858-34ae22066974/bin-2019/uautomizer/data/9be4c9c7a/1fc9a830486646fd9c794fafbc311c54/FLAG42132cad3 [2018-11-23 07:09:05,472 INFO L307 CDTParser]: Found 1 translation units. [2018-11-23 07:09:05,472 INFO L161 CDTParser]: Scanning /tmp/vcloud-vcloud-master/worker/working_dir_2dcc77f4-9115-49b8-9858-34ae22066974/sv-benchmarks/c/float-newlib/double_req_bl_1092a_true-unreach-call.c [2018-11-23 07:09:05,476 INFO L355 CDTParser]: About to delete temporary CDT project at /tmp/vcloud-vcloud-master/worker/working_dir_2dcc77f4-9115-49b8-9858-34ae22066974/bin-2019/uautomizer/data/9be4c9c7a/1fc9a830486646fd9c794fafbc311c54/FLAG42132cad3 [2018-11-23 07:09:05,484 INFO L363 CDTParser]: Successfully deleted /tmp/vcloud-vcloud-master/worker/working_dir_2dcc77f4-9115-49b8-9858-34ae22066974/bin-2019/uautomizer/data/9be4c9c7a/1fc9a830486646fd9c794fafbc311c54 [2018-11-23 07:09:05,486 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2018-11-23 07:09:05,487 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2018-11-23 07:09:05,488 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2018-11-23 07:09:05,488 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2018-11-23 07:09:05,491 INFO L276 PluginConnector]: CACSL2BoogieTranslator initialized [2018-11-23 07:09:05,491 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 07:09:05" (1/1) ... [2018-11-23 07:09:05,493 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@3709085a and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 07:09:05, skipping insertion in model container [2018-11-23 07:09:05,493 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 07:09:05" (1/1) ... [2018-11-23 07:09:05,499 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2018-11-23 07:09:05,514 INFO L176 MainTranslator]: Built tables and reachable declarations [2018-11-23 07:09:05,622 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 07:09:05,624 INFO L191 MainTranslator]: Completed pre-run [2018-11-23 07:09:05,643 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 07:09:05,655 INFO L195 MainTranslator]: Completed translation [2018-11-23 07:09:05,655 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 07:09:05 WrapperNode [2018-11-23 07:09:05,655 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2018-11-23 07:09:05,656 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2018-11-23 07:09:05,656 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2018-11-23 07:09:05,656 INFO L276 PluginConnector]: Boogie Procedure Inliner initialized [2018-11-23 07:09:05,661 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 07:09:05" (1/1) ... [2018-11-23 07:09:05,667 INFO L185 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 07:09:05" (1/1) ... [2018-11-23 07:09:05,671 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2018-11-23 07:09:05,671 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2018-11-23 07:09:05,672 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2018-11-23 07:09:05,672 INFO L276 PluginConnector]: Boogie Preprocessor initialized [2018-11-23 07:09:05,712 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 07:09:05" (1/1) ... [2018-11-23 07:09:05,713 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 07:09:05" (1/1) ... [2018-11-23 07:09:05,714 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 07:09:05" (1/1) ... [2018-11-23 07:09:05,715 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 07:09:05" (1/1) ... [2018-11-23 07:09:05,720 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 07:09:05" (1/1) ... [2018-11-23 07:09:05,724 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 07:09:05" (1/1) ... [2018-11-23 07:09:05,726 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 07:09:05" (1/1) ... [2018-11-23 07:09:05,728 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2018-11-23 07:09:05,728 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2018-11-23 07:09:05,728 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2018-11-23 07:09:05,728 INFO L276 PluginConnector]: RCFGBuilder initialized [2018-11-23 07:09:05,729 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 07:09:05" (1/1) ... No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_2dcc77f4-9115-49b8-9858-34ae22066974/bin-2019/uautomizer/z3 Starting monitored process 1 with z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 1 with z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2018-11-23 07:09:05,764 INFO L130 BoogieDeclarations]: Found specification of procedure read~real [2018-11-23 07:09:05,764 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2018-11-23 07:09:05,765 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2018-11-23 07:09:05,765 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2018-11-23 07:09:05,765 INFO L130 BoogieDeclarations]: Found specification of procedure write~real [2018-11-23 07:09:05,765 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.alloc [2018-11-23 07:09:05,765 INFO L130 BoogieDeclarations]: Found specification of procedure ceil_double [2018-11-23 07:09:05,765 INFO L138 BoogieDeclarations]: Found implementation of procedure ceil_double [2018-11-23 07:09:05,765 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2018-11-23 07:09:05,765 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2018-11-23 07:09:05,765 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2018-11-23 07:09:05,766 INFO L130 BoogieDeclarations]: Found specification of procedure main [2018-11-23 07:09:05,766 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2018-11-23 07:09:05,766 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2018-11-23 07:09:05,974 INFO L275 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2018-11-23 07:09:05,974 INFO L280 CfgBuilder]: Removed 4 assue(true) statements. [2018-11-23 07:09:05,974 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 07:09:05 BoogieIcfgContainer [2018-11-23 07:09:05,975 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2018-11-23 07:09:05,975 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2018-11-23 07:09:05,975 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2018-11-23 07:09:05,978 INFO L276 PluginConnector]: TraceAbstraction initialized [2018-11-23 07:09:05,978 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 23.11 07:09:05" (1/3) ... [2018-11-23 07:09:05,978 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@6166c776 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 23.11 07:09:05, skipping insertion in model container [2018-11-23 07:09:05,979 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 07:09:05" (2/3) ... [2018-11-23 07:09:05,979 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@6166c776 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 23.11 07:09:05, skipping insertion in model container [2018-11-23 07:09:05,979 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 07:09:05" (3/3) ... [2018-11-23 07:09:05,982 INFO L112 eAbstractionObserver]: Analyzing ICFG double_req_bl_1092a_true-unreach-call.c [2018-11-23 07:09:05,990 INFO L156 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2018-11-23 07:09:05,996 INFO L168 ceAbstractionStarter]: Appying trace abstraction to program that has 1 error locations. [2018-11-23 07:09:06,010 INFO L257 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2018-11-23 07:09:06,035 INFO L133 ementStrategyFactory]: Using default assertion order modulation [2018-11-23 07:09:06,036 INFO L382 AbstractCegarLoop]: Interprodecural is true [2018-11-23 07:09:06,036 INFO L383 AbstractCegarLoop]: Hoare is true [2018-11-23 07:09:06,036 INFO L384 AbstractCegarLoop]: Compute interpolants for FPandBP [2018-11-23 07:09:06,036 INFO L385 AbstractCegarLoop]: Backedges is STRAIGHT_LINE [2018-11-23 07:09:06,036 INFO L386 AbstractCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2018-11-23 07:09:06,036 INFO L387 AbstractCegarLoop]: Difference is false [2018-11-23 07:09:06,037 INFO L388 AbstractCegarLoop]: Minimize is MINIMIZE_SEVPA [2018-11-23 07:09:06,037 INFO L393 AbstractCegarLoop]: ======== Iteration 0==of CEGAR loop == AllErrorsAtOnce======== [2018-11-23 07:09:06,050 INFO L276 IsEmpty]: Start isEmpty. Operand 42 states. [2018-11-23 07:09:06,055 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 19 [2018-11-23 07:09:06,055 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 07:09:06,056 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 07:09:06,057 INFO L423 AbstractCegarLoop]: === Iteration 1 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 07:09:06,062 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 07:09:06,062 INFO L82 PathProgramCache]: Analyzing trace with hash 593324774, now seen corresponding path program 1 times [2018-11-23 07:09:06,063 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 07:09:06,063 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 07:09:06,091 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 07:09:06,091 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 07:09:06,091 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 07:09:06,118 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 07:09:06,145 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 07:09:06,147 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 07:09:06,148 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2018-11-23 07:09:06,150 INFO L459 AbstractCegarLoop]: Interpolant automaton has 2 states [2018-11-23 07:09:06,158 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 2 interpolants. [2018-11-23 07:09:06,158 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2018-11-23 07:09:06,159 INFO L87 Difference]: Start difference. First operand 42 states. Second operand 2 states. [2018-11-23 07:09:06,174 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 07:09:06,174 INFO L93 Difference]: Finished difference Result 76 states and 114 transitions. [2018-11-23 07:09:06,174 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2018-11-23 07:09:06,175 INFO L78 Accepts]: Start accepts. Automaton has 2 states. Word has length 18 [2018-11-23 07:09:06,176 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 07:09:06,184 INFO L225 Difference]: With dead ends: 76 [2018-11-23 07:09:06,185 INFO L226 Difference]: Without dead ends: 38 [2018-11-23 07:09:06,187 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 2 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 0 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2018-11-23 07:09:06,199 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 38 states. [2018-11-23 07:09:06,209 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 38 to 38. [2018-11-23 07:09:06,209 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 38 states. [2018-11-23 07:09:06,210 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 38 states to 38 states and 52 transitions. [2018-11-23 07:09:06,211 INFO L78 Accepts]: Start accepts. Automaton has 38 states and 52 transitions. Word has length 18 [2018-11-23 07:09:06,211 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 07:09:06,211 INFO L480 AbstractCegarLoop]: Abstraction has 38 states and 52 transitions. [2018-11-23 07:09:06,211 INFO L481 AbstractCegarLoop]: Interpolant automaton has 2 states. [2018-11-23 07:09:06,212 INFO L276 IsEmpty]: Start isEmpty. Operand 38 states and 52 transitions. [2018-11-23 07:09:06,212 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 20 [2018-11-23 07:09:06,212 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 07:09:06,212 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-23 07:09:06,212 INFO L423 AbstractCegarLoop]: === Iteration 2 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 07:09:06,213 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 07:09:06,213 INFO L82 PathProgramCache]: Analyzing trace with hash -1268028223, now seen corresponding path program 1 times [2018-11-23 07:09:06,213 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 07:09:06,213 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 07:09:06,214 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 07:09:06,214 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 07:09:06,214 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 07:09:06,239 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 07:09:06,256 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 07:09:06,272 INFO L469 BasicCegarLoop]: Counterexample might be feasible ----- class de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder.RCFGBacktranslator [?] CALL call ULTIMATE.init(); VAL [|#NULL.base|=10737418246, |#NULL.offset|=10737418241, |old(#NULL.base)|=10737418246, |old(#NULL.offset)|=10737418241, |old(~huge_ceil~0)|=10737418244.0, ~huge_ceil~0=10737418244.0] [?] #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~huge_ceil~0 := 1.0E300; VAL [|#NULL.base|=0, |#NULL.offset|=0, |old(#NULL.base)|=10737418246, |old(#NULL.offset)|=10737418241, |old(~huge_ceil~0)|=10737418244.0, ~huge_ceil~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0] [?] assume true; VAL [|#NULL.base|=0, |#NULL.offset|=0, |old(#NULL.base)|=10737418246, |old(#NULL.offset)|=10737418241, |old(~huge_ceil~0)|=10737418244.0, ~huge_ceil~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0] [?] RET #125#return; VAL [|#NULL.base|=0, |#NULL.offset|=0, ~huge_ceil~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0] [?] CALL call #t~ret7 := main(); VAL [|#NULL.base|=0, |#NULL.offset|=0, ~huge_ceil~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0] [?] ~x~0 := ~someUnaryDOUBLEoperation(0.0); VAL [|#NULL.base|=0, |#NULL.offset|=0, ~huge_ceil~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0] [?] CALL call #t~ret6 := ceil_double(~x~0); VAL [|#NULL.base|=0, |#NULL.offset|=0, |ceil_double_#in~x|=10737418245.0, ~huge_ceil~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0] [?] ~x := #in~x;havoc ~i0~0;havoc ~i1~0;havoc ~j0~0;havoc ~i~0;havoc ~j~0; VAL [ceil_double_~x=10737418245.0, |#NULL.base|=0, |#NULL.offset|=0, |ceil_double_#in~x|=10737418245.0, ~huge_ceil~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0] [?] call ~#ew_u~0.base, ~#ew_u~0.offset := #Ultimate.alloc(8);call write~real(~x, ~#ew_u~0.base, ~#ew_u~0.offset, 8);call #t~mem0 := read~int(~#ew_u~0.base, 4 + ~#ew_u~0.offset, 4);~i0~0 := (if #t~mem0 % 4294967296 % 4294967296 <= 2147483647 then #t~mem0 % 4294967296 % 4294967296 else #t~mem0 % 4294967296 % 4294967296 - 4294967296);call write~real(#t~union1, ~#ew_u~0.base, ~#ew_u~0.offset, 8);havoc #t~mem0;havoc #t~union1;call #t~mem2 := read~int(~#ew_u~0.base, ~#ew_u~0.offset, 4);~i1~0 := (if #t~mem2 % 4294967296 % 4294967296 <= 2147483647 then #t~mem2 % 4294967296 % 4294967296 else #t~mem2 % 4294967296 % 4294967296 - 4294967296);call write~real(#t~union3, ~#ew_u~0.base, ~#ew_u~0.offset, 8);havoc #t~union3;havoc #t~mem2;call ULTIMATE.dealloc(~#ew_u~0.base, ~#ew_u~0.offset);havoc ~#ew_u~0.base, ~#ew_u~0.offset; VAL [ceil_double_~i0~0=(- 2147483648), ceil_double_~i1~0=(- 2147483648), ceil_double_~x=10737418245.0, |#NULL.base|=0, |#NULL.offset|=0, |ceil_double_#in~x|=10737418245.0, ~huge_ceil~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0] [?] goto; VAL [ceil_double_~i0~0=(- 2147483648), ceil_double_~i1~0=(- 2147483648), ceil_double_~x=10737418245.0, |#NULL.base|=0, |#NULL.offset|=0, |ceil_double_#in~x|=10737418245.0, ~huge_ceil~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0] [?] ~j0~0 := ~bitwiseAnd(~i0~0 / 1048576, 2047) - 1023; VAL [ceil_double_~i0~0=(- 2147483648), ceil_double_~i1~0=(- 2147483648), ceil_double_~x=10737418245.0, |#NULL.base|=0, |#NULL.offset|=0, |ceil_double_#in~x|=10737418245.0, ~huge_ceil~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0] [?] assume ~j0~0 < 20; VAL [ceil_double_~i0~0=(- 2147483648), ceil_double_~i1~0=(- 2147483648), ceil_double_~j0~0=0, ceil_double_~x=10737418245.0, |#NULL.base|=0, |#NULL.offset|=0, |ceil_double_#in~x|=10737418245.0, ~huge_ceil~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0] [?] assume !(~j0~0 < 0);~i~0 := ~shiftRight(1048575, ~j0~0); VAL [ceil_double_~i0~0=(- 2147483648), ceil_double_~i1~0=(- 2147483648), ceil_double_~j0~0=0, ceil_double_~x=10737418245.0, |#NULL.base|=0, |#NULL.offset|=0, |ceil_double_#in~x|=10737418245.0, ~huge_ceil~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0] [?] assume 0 == ~bitwiseOr(~bitwiseAnd(~i0~0, ~i~0), ~i1~0) % 4294967296;#res := ~x; VAL [ceil_double_~i0~0=(- 2147483648), ceil_double_~i1~0=(- 2147483648), ceil_double_~j0~0=0, ceil_double_~x=10737418245.0, |#NULL.base|=0, |#NULL.offset|=0, |ceil_double_#in~x|=10737418245.0, |ceil_double_#res|=10737418245.0, ~huge_ceil~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0] [?] assume true; VAL [ceil_double_~i0~0=(- 2147483648), ceil_double_~i1~0=(- 2147483648), ceil_double_~j0~0=0, ceil_double_~x=10737418245.0, |#NULL.base|=0, |#NULL.offset|=0, |ceil_double_#in~x|=10737418245.0, |ceil_double_#res|=10737418245.0, ~huge_ceil~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0] [?] RET #129#return; VAL [main_~x~0=10737418245.0, |#NULL.base|=0, |#NULL.offset|=0, |main_#t~ret6|=10737418245.0, ~huge_ceil~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0] [?] ~res~0 := #t~ret6;havoc #t~ret6; VAL [main_~res~0=10737418245.0, main_~x~0=10737418245.0, |#NULL.base|=0, |#NULL.offset|=0, ~huge_ceil~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0] [?] assume ~someBinaryDOUBLEComparisonOperation(~res~0, ~x~0); VAL [main_~res~0=10737418245.0, main_~x~0=10737418245.0, |#NULL.base|=0, |#NULL.offset|=0, ~huge_ceil~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0] [?] assume !false; VAL [main_~res~0=10737418245.0, main_~x~0=10737418245.0, |#NULL.base|=0, |#NULL.offset|=0, ~huge_ceil~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0] [?] CALL call ULTIMATE.init(); VAL [#NULL.base=10737418246, #NULL.offset=10737418241, old(#NULL.base)=10737418246, old(#NULL.offset)=10737418241, old(~huge_ceil~0)=1.0737418244E10, ~huge_ceil~0=1.0737418244E10] [?] #NULL.base, #NULL.offset := 0, 0; [?] #valid := #valid[0 := 0]; [L17] ~huge_ceil~0 := 1.0E300; VAL [#NULL.base=0, #NULL.offset=0, old(#NULL.base)=10737418246, old(#NULL.offset)=10737418241, old(~huge_ceil~0)=1.0737418244E10, ~huge_ceil~0=1.0E300] [?] ensures true; VAL [#NULL.base=0, #NULL.offset=0, old(#NULL.base)=10737418246, old(#NULL.offset)=10737418241, old(~huge_ceil~0)=1.0737418244E10, ~huge_ceil~0=1.0E300] [?] RET call ULTIMATE.init(); VAL [#NULL.base=0, #NULL.offset=0, ~huge_ceil~0=1.0E300] [?] CALL call #t~ret7 := main(); VAL [#NULL.base=0, #NULL.offset=0, ~huge_ceil~0=1.0E300] [L91] ~x~0 := ~someUnaryDOUBLEoperation(0.0); VAL [#NULL.base=0, #NULL.offset=0, ~huge_ceil~0=1.0E300] [L92] CALL call #t~ret6 := ceil_double(~x~0); VAL [#in~x=1.0737418245E10, #NULL.base=0, #NULL.offset=0, ~huge_ceil~0=1.0E300] [L19-L81] ~x := #in~x; [L20] havoc ~i0~0; [L20] havoc ~i1~0; [L20] havoc ~j0~0; [L21] havoc ~i~0; [L21] havoc ~j~0; VAL [#in~x=1.0737418245E10, #NULL.base=0, #NULL.offset=0, ~huge_ceil~0=1.0E300, ~x=1.0737418245E10] [L23] call ~#ew_u~0.base, ~#ew_u~0.offset := #Ultimate.alloc(8); [L24] call write~real(~x, ~#ew_u~0.base, ~#ew_u~0.offset, 8); [L25] call #t~mem0 := read~int(~#ew_u~0.base, 4 + ~#ew_u~0.offset, 4); [L25] ~i0~0 := (if #t~mem0 % 4294967296 % 4294967296 <= 2147483647 then #t~mem0 % 4294967296 % 4294967296 else #t~mem0 % 4294967296 % 4294967296 - 4294967296); [L25] call write~real(#t~union1, ~#ew_u~0.base, ~#ew_u~0.offset, 8); [L25] havoc #t~mem0; [L25] havoc #t~union1; [L26] call #t~mem2 := read~int(~#ew_u~0.base, ~#ew_u~0.offset, 4); [L26] ~i1~0 := (if #t~mem2 % 4294967296 % 4294967296 <= 2147483647 then #t~mem2 % 4294967296 % 4294967296 else #t~mem2 % 4294967296 % 4294967296 - 4294967296); [L26] call write~real(#t~union3, ~#ew_u~0.base, ~#ew_u~0.offset, 8); [L26] havoc #t~union3; [L26] havoc #t~mem2; [L23] call ULTIMATE.dealloc(~#ew_u~0.base, ~#ew_u~0.offset); [L23] havoc ~#ew_u~0.base, ~#ew_u~0.offset; VAL [#in~x=1.0737418245E10, #NULL.base=0, #NULL.offset=0, ~huge_ceil~0=1.0E300, ~i0~0=-2147483648, ~i1~0=-2147483648, ~x=1.0737418245E10] [L28] ~j0~0 := ~bitwiseAnd(~i0~0 / 1048576, 2047) - 1023; VAL [#in~x=1.0737418245E10, #NULL.base=0, #NULL.offset=0, ~huge_ceil~0=1.0E300, ~i0~0=-2147483648, ~i1~0=-2147483648, ~x=1.0737418245E10] [L29-L73] assume ~j0~0 < 20; VAL [#in~x=1.0737418245E10, #NULL.base=0, #NULL.offset=0, ~huge_ceil~0=1.0E300, ~i0~0=-2147483648, ~i1~0=-2147483648, ~j0~0=0, ~x=1.0737418245E10] [L30-L50] assume !(~j0~0 < 0); [L41] ~i~0 := ~shiftRight(1048575, ~j0~0); VAL [#in~x=1.0737418245E10, #NULL.base=0, #NULL.offset=0, ~huge_ceil~0=1.0E300, ~i0~0=-2147483648, ~i1~0=-2147483648, ~j0~0=0, ~x=1.0737418245E10] [L42-L43] assume 0 == ~bitwiseOr(~bitwiseAnd(~i0~0, ~i~0), ~i1~0) % 4294967296; [L43] #res := ~x; VAL [#in~x=1.0737418245E10, #NULL.base=0, #NULL.offset=0, #res=1.0737418245E10, ~huge_ceil~0=1.0E300, ~i0~0=-2147483648, ~i1~0=-2147483648, ~j0~0=0, ~x=1.0737418245E10] [L19-L81] ensures true; VAL [#in~x=1.0737418245E10, #NULL.base=0, #NULL.offset=0, #res=1.0737418245E10, ~huge_ceil~0=1.0E300, ~i0~0=-2147483648, ~i1~0=-2147483648, ~j0~0=0, ~x=1.0737418245E10] [L92] RET call #t~ret6 := ceil_double(~x~0); VAL [#NULL.base=0, #NULL.offset=0, #t~ret6=1.0737418245E10, ~huge_ceil~0=1.0E300, ~x~0=1.0737418245E10] [L92] ~res~0 := #t~ret6; [L92] havoc #t~ret6; VAL [#NULL.base=0, #NULL.offset=0, ~huge_ceil~0=1.0E300, ~res~0=1.0737418245E10, ~x~0=1.0737418245E10] [L95-L98] assume ~someBinaryDOUBLEComparisonOperation(~res~0, ~x~0); VAL [#NULL.base=0, #NULL.offset=0, ~huge_ceil~0=1.0E300, ~res~0=1.0737418245E10, ~x~0=1.0737418245E10] [L96] assert false; VAL [#NULL.base=0, #NULL.offset=0, ~huge_ceil~0=1.0E300, ~res~0=1.0737418245E10, ~x~0=1.0737418245E10] ----- ----- class de.uni_freiburg.informatik.ultimate.boogie.preprocessor.BoogiePreprocessorBacktranslator [?] CALL call ULTIMATE.init(); VAL [#NULL.base=10737418246, #NULL.offset=10737418241, old(#NULL.base)=10737418246, old(#NULL.offset)=10737418241, old(~huge_ceil~0)=1.0737418244E10, ~huge_ceil~0=1.0737418244E10] [?] #NULL.base, #NULL.offset := 0, 0; [?] #valid := #valid[0 := 0]; [L17] ~huge_ceil~0 := 1.0E300; VAL [#NULL.base=0, #NULL.offset=0, old(#NULL.base)=10737418246, old(#NULL.offset)=10737418241, old(~huge_ceil~0)=1.0737418244E10, ~huge_ceil~0=1.0E300] [?] ensures true; VAL [#NULL.base=0, #NULL.offset=0, old(#NULL.base)=10737418246, old(#NULL.offset)=10737418241, old(~huge_ceil~0)=1.0737418244E10, ~huge_ceil~0=1.0E300] [?] RET call ULTIMATE.init(); VAL [#NULL.base=0, #NULL.offset=0, ~huge_ceil~0=1.0E300] [?] CALL call #t~ret7 := main(); VAL [#NULL.base=0, #NULL.offset=0, ~huge_ceil~0=1.0E300] [L91] ~x~0 := ~someUnaryDOUBLEoperation(0.0); VAL [#NULL.base=0, #NULL.offset=0, ~huge_ceil~0=1.0E300] [L92] CALL call #t~ret6 := ceil_double(~x~0); VAL [#in~x=1.0737418245E10, #NULL.base=0, #NULL.offset=0, ~huge_ceil~0=1.0E300] [L19-L81] ~x := #in~x; [L20] havoc ~i0~0; [L20] havoc ~i1~0; [L20] havoc ~j0~0; [L21] havoc ~i~0; [L21] havoc ~j~0; VAL [#in~x=1.0737418245E10, #NULL.base=0, #NULL.offset=0, ~huge_ceil~0=1.0E300, ~x=1.0737418245E10] [L23] call ~#ew_u~0.base, ~#ew_u~0.offset := #Ultimate.alloc(8); [L24] call write~real(~x, ~#ew_u~0.base, ~#ew_u~0.offset, 8); [L25] call #t~mem0 := read~int(~#ew_u~0.base, 4 + ~#ew_u~0.offset, 4); [L25] ~i0~0 := (if #t~mem0 % 4294967296 % 4294967296 <= 2147483647 then #t~mem0 % 4294967296 % 4294967296 else #t~mem0 % 4294967296 % 4294967296 - 4294967296); [L25] call write~real(#t~union1, ~#ew_u~0.base, ~#ew_u~0.offset, 8); [L25] havoc #t~mem0; [L25] havoc #t~union1; [L26] call #t~mem2 := read~int(~#ew_u~0.base, ~#ew_u~0.offset, 4); [L26] ~i1~0 := (if #t~mem2 % 4294967296 % 4294967296 <= 2147483647 then #t~mem2 % 4294967296 % 4294967296 else #t~mem2 % 4294967296 % 4294967296 - 4294967296); [L26] call write~real(#t~union3, ~#ew_u~0.base, ~#ew_u~0.offset, 8); [L26] havoc #t~union3; [L26] havoc #t~mem2; [L23] call ULTIMATE.dealloc(~#ew_u~0.base, ~#ew_u~0.offset); [L23] havoc ~#ew_u~0.base, ~#ew_u~0.offset; VAL [#in~x=1.0737418245E10, #NULL.base=0, #NULL.offset=0, ~huge_ceil~0=1.0E300, ~i0~0=-2147483648, ~i1~0=-2147483648, ~x=1.0737418245E10] [L28] ~j0~0 := ~bitwiseAnd(~i0~0 / 1048576, 2047) - 1023; VAL [#in~x=1.0737418245E10, #NULL.base=0, #NULL.offset=0, ~huge_ceil~0=1.0E300, ~i0~0=-2147483648, ~i1~0=-2147483648, ~x=1.0737418245E10] [L29-L73] assume ~j0~0 < 20; VAL [#in~x=1.0737418245E10, #NULL.base=0, #NULL.offset=0, ~huge_ceil~0=1.0E300, ~i0~0=-2147483648, ~i1~0=-2147483648, ~j0~0=0, ~x=1.0737418245E10] [L30-L50] assume !(~j0~0 < 0); [L41] ~i~0 := ~shiftRight(1048575, ~j0~0); VAL [#in~x=1.0737418245E10, #NULL.base=0, #NULL.offset=0, ~huge_ceil~0=1.0E300, ~i0~0=-2147483648, ~i1~0=-2147483648, ~j0~0=0, ~x=1.0737418245E10] [L42-L43] assume 0 == ~bitwiseOr(~bitwiseAnd(~i0~0, ~i~0), ~i1~0) % 4294967296; [L43] #res := ~x; VAL [#in~x=1.0737418245E10, #NULL.base=0, #NULL.offset=0, #res=1.0737418245E10, ~huge_ceil~0=1.0E300, ~i0~0=-2147483648, ~i1~0=-2147483648, ~j0~0=0, ~x=1.0737418245E10] [L19-L81] ensures true; VAL [#in~x=1.0737418245E10, #NULL.base=0, #NULL.offset=0, #res=1.0737418245E10, ~huge_ceil~0=1.0E300, ~i0~0=-2147483648, ~i1~0=-2147483648, ~j0~0=0, ~x=1.0737418245E10] [L92] RET call #t~ret6 := ceil_double(~x~0); VAL [#NULL.base=0, #NULL.offset=0, #t~ret6=1.0737418245E10, ~huge_ceil~0=1.0E300, ~x~0=1.0737418245E10] [L92] ~res~0 := #t~ret6; [L92] havoc #t~ret6; VAL [#NULL.base=0, #NULL.offset=0, ~huge_ceil~0=1.0E300, ~res~0=1.0737418245E10, ~x~0=1.0737418245E10] [L95-L98] assume ~someBinaryDOUBLEComparisonOperation(~res~0, ~x~0); VAL [#NULL.base=0, #NULL.offset=0, ~huge_ceil~0=1.0E300, ~res~0=1.0737418245E10, ~x~0=1.0737418245E10] [L96] assert false; VAL [#NULL.base=0, #NULL.offset=0, ~huge_ceil~0=1.0E300, ~res~0=1.0737418245E10, ~x~0=1.0737418245E10] [?] CALL call ULTIMATE.init(); VAL [#NULL!base=10737418246, #NULL!offset=10737418241, old(#NULL!base)=10737418246, old(#NULL!offset)=10737418241, old(~huge_ceil~0)=1.0737418244E10, ~huge_ceil~0=1.0737418244E10] [?] #NULL := { base: 0, offset: 0 }; [?] #valid[0] := 0; [L17] ~huge_ceil~0 := 1.0E300; VAL [#NULL!base=0, #NULL!offset=0, old(#NULL!base)=10737418246, old(#NULL!offset)=10737418241, old(~huge_ceil~0)=1.0737418244E10, ~huge_ceil~0=1.0E300] [?] RET call ULTIMATE.init(); VAL [#NULL!base=0, #NULL!offset=0, ~huge_ceil~0=1.0E300] [?] CALL call #t~ret7 := main(); VAL [#NULL!base=0, #NULL!offset=0, ~huge_ceil~0=1.0E300] [L91] ~x~0 := ~someUnaryDOUBLEoperation(0.0); VAL [#NULL!base=0, #NULL!offset=0, ~huge_ceil~0=1.0E300] [L92] CALL call #t~ret6 := ceil_double(~x~0); VAL [#in~x=1.0737418245E10, #NULL!base=0, #NULL!offset=0, ~huge_ceil~0=1.0E300] [L19-L81] ~x := #in~x; [L20] havoc ~i0~0; [L20] havoc ~i1~0; [L20] havoc ~j0~0; [L21] havoc ~i~0; [L21] havoc ~j~0; VAL [#in~x=1.0737418245E10, #NULL!base=0, #NULL!offset=0, ~huge_ceil~0=1.0E300, ~x=1.0737418245E10] [L23] FCALL call ~#ew_u~0 := #Ultimate.alloc(8); [L24] FCALL call write~real(~x, { base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 8); [L25] FCALL call #t~mem0 := read~int({ base: ~#ew_u~0!base, offset: 4 + ~#ew_u~0!offset }, 4); [L25] ~i0~0 := (if #t~mem0 % 4294967296 % 4294967296 <= 2147483647 then #t~mem0 % 4294967296 % 4294967296 else #t~mem0 % 4294967296 % 4294967296 - 4294967296); [L25] FCALL call write~real(#t~union1, { base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 8); [L25] havoc #t~mem0; [L25] havoc #t~union1; [L26] FCALL call #t~mem2 := read~int({ base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 4); [L26] ~i1~0 := (if #t~mem2 % 4294967296 % 4294967296 <= 2147483647 then #t~mem2 % 4294967296 % 4294967296 else #t~mem2 % 4294967296 % 4294967296 - 4294967296); [L26] FCALL call write~real(#t~union3, { base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 8); [L26] havoc #t~union3; [L26] havoc #t~mem2; [L23] FCALL call ULTIMATE.dealloc(~#ew_u~0); [L23] havoc ~#ew_u~0; VAL [#in~x=1.0737418245E10, #NULL!base=0, #NULL!offset=0, ~huge_ceil~0=1.0E300, ~i0~0=-2147483648, ~i1~0=-2147483648, ~x=1.0737418245E10] [L28] ~j0~0 := ~bitwiseAnd(~i0~0 / 1048576, 2047) - 1023; VAL [#in~x=1.0737418245E10, #NULL!base=0, #NULL!offset=0, ~huge_ceil~0=1.0E300, ~i0~0=-2147483648, ~i1~0=-2147483648, ~x=1.0737418245E10] [L29] COND TRUE ~j0~0 < 20 VAL [#in~x=1.0737418245E10, #NULL!base=0, #NULL!offset=0, ~huge_ceil~0=1.0E300, ~i0~0=-2147483648, ~i1~0=-2147483648, ~j0~0=0, ~x=1.0737418245E10] [L30] COND FALSE !(~j0~0 < 0) [L41] ~i~0 := ~shiftRight(1048575, ~j0~0); VAL [#in~x=1.0737418245E10, #NULL!base=0, #NULL!offset=0, ~huge_ceil~0=1.0E300, ~i0~0=-2147483648, ~i1~0=-2147483648, ~j0~0=0, ~x=1.0737418245E10] [L42] COND TRUE 0 == ~bitwiseOr(~bitwiseAnd(~i0~0, ~i~0), ~i1~0) % 4294967296 [L43] #res := ~x; VAL [#in~x=1.0737418245E10, #NULL!base=0, #NULL!offset=0, #res=1.0737418245E10, ~huge_ceil~0=1.0E300, ~i0~0=-2147483648, ~i1~0=-2147483648, ~j0~0=0, ~x=1.0737418245E10] [L92] RET call #t~ret6 := ceil_double(~x~0); VAL [#NULL!base=0, #NULL!offset=0, #t~ret6=1.0737418245E10, ~huge_ceil~0=1.0E300, ~x~0=1.0737418245E10] [L92] ~res~0 := #t~ret6; [L92] havoc #t~ret6; VAL [#NULL!base=0, #NULL!offset=0, ~huge_ceil~0=1.0E300, ~res~0=1.0737418245E10, ~x~0=1.0737418245E10] [L95] COND TRUE ~someBinaryDOUBLEComparisonOperation(~res~0, ~x~0) VAL [#NULL!base=0, #NULL!offset=0, ~huge_ceil~0=1.0E300, ~res~0=1.0737418245E10, ~x~0=1.0737418245E10] [L96] assert false; VAL [#NULL!base=0, #NULL!offset=0, ~huge_ceil~0=1.0E300, ~res~0=1.0737418245E10, ~x~0=1.0737418245E10] ----- ----- class de.uni_freiburg.informatik.ultimate.boogie.procedureinliner.backtranslation.InlinerBacktranslator [?] CALL call ULTIMATE.init(); VAL [#NULL!base=10737418246, #NULL!offset=10737418241, old(#NULL!base)=10737418246, old(#NULL!offset)=10737418241, old(~huge_ceil~0)=1.0737418244E10, ~huge_ceil~0=1.0737418244E10] [?] #NULL := { base: 0, offset: 0 }; [?] #valid[0] := 0; [L17] ~huge_ceil~0 := 1.0E300; VAL [#NULL!base=0, #NULL!offset=0, old(#NULL!base)=10737418246, old(#NULL!offset)=10737418241, old(~huge_ceil~0)=1.0737418244E10, ~huge_ceil~0=1.0E300] [?] RET call ULTIMATE.init(); VAL [#NULL!base=0, #NULL!offset=0, ~huge_ceil~0=1.0E300] [?] CALL call #t~ret7 := main(); VAL [#NULL!base=0, #NULL!offset=0, ~huge_ceil~0=1.0E300] [L91] ~x~0 := ~someUnaryDOUBLEoperation(0.0); VAL [#NULL!base=0, #NULL!offset=0, ~huge_ceil~0=1.0E300] [L92] CALL call #t~ret6 := ceil_double(~x~0); VAL [#in~x=1.0737418245E10, #NULL!base=0, #NULL!offset=0, ~huge_ceil~0=1.0E300] [L19-L81] ~x := #in~x; [L20] havoc ~i0~0; [L20] havoc ~i1~0; [L20] havoc ~j0~0; [L21] havoc ~i~0; [L21] havoc ~j~0; VAL [#in~x=1.0737418245E10, #NULL!base=0, #NULL!offset=0, ~huge_ceil~0=1.0E300, ~x=1.0737418245E10] [L23] FCALL call ~#ew_u~0 := #Ultimate.alloc(8); [L24] FCALL call write~real(~x, { base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 8); [L25] FCALL call #t~mem0 := read~int({ base: ~#ew_u~0!base, offset: 4 + ~#ew_u~0!offset }, 4); [L25] ~i0~0 := (if #t~mem0 % 4294967296 % 4294967296 <= 2147483647 then #t~mem0 % 4294967296 % 4294967296 else #t~mem0 % 4294967296 % 4294967296 - 4294967296); [L25] FCALL call write~real(#t~union1, { base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 8); [L25] havoc #t~mem0; [L25] havoc #t~union1; [L26] FCALL call #t~mem2 := read~int({ base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 4); [L26] ~i1~0 := (if #t~mem2 % 4294967296 % 4294967296 <= 2147483647 then #t~mem2 % 4294967296 % 4294967296 else #t~mem2 % 4294967296 % 4294967296 - 4294967296); [L26] FCALL call write~real(#t~union3, { base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 8); [L26] havoc #t~union3; [L26] havoc #t~mem2; [L23] FCALL call ULTIMATE.dealloc(~#ew_u~0); [L23] havoc ~#ew_u~0; VAL [#in~x=1.0737418245E10, #NULL!base=0, #NULL!offset=0, ~huge_ceil~0=1.0E300, ~i0~0=-2147483648, ~i1~0=-2147483648, ~x=1.0737418245E10] [L28] ~j0~0 := ~bitwiseAnd(~i0~0 / 1048576, 2047) - 1023; VAL [#in~x=1.0737418245E10, #NULL!base=0, #NULL!offset=0, ~huge_ceil~0=1.0E300, ~i0~0=-2147483648, ~i1~0=-2147483648, ~x=1.0737418245E10] [L29] COND TRUE ~j0~0 < 20 VAL [#in~x=1.0737418245E10, #NULL!base=0, #NULL!offset=0, ~huge_ceil~0=1.0E300, ~i0~0=-2147483648, ~i1~0=-2147483648, ~j0~0=0, ~x=1.0737418245E10] [L30] COND FALSE !(~j0~0 < 0) [L41] ~i~0 := ~shiftRight(1048575, ~j0~0); VAL [#in~x=1.0737418245E10, #NULL!base=0, #NULL!offset=0, ~huge_ceil~0=1.0E300, ~i0~0=-2147483648, ~i1~0=-2147483648, ~j0~0=0, ~x=1.0737418245E10] [L42] COND TRUE 0 == ~bitwiseOr(~bitwiseAnd(~i0~0, ~i~0), ~i1~0) % 4294967296 [L43] #res := ~x; VAL [#in~x=1.0737418245E10, #NULL!base=0, #NULL!offset=0, #res=1.0737418245E10, ~huge_ceil~0=1.0E300, ~i0~0=-2147483648, ~i1~0=-2147483648, ~j0~0=0, ~x=1.0737418245E10] [L92] RET call #t~ret6 := ceil_double(~x~0); VAL [#NULL!base=0, #NULL!offset=0, #t~ret6=1.0737418245E10, ~huge_ceil~0=1.0E300, ~x~0=1.0737418245E10] [L92] ~res~0 := #t~ret6; [L92] havoc #t~ret6; VAL [#NULL!base=0, #NULL!offset=0, ~huge_ceil~0=1.0E300, ~res~0=1.0737418245E10, ~x~0=1.0737418245E10] [L95] COND TRUE ~someBinaryDOUBLEComparisonOperation(~res~0, ~x~0) VAL [#NULL!base=0, #NULL!offset=0, ~huge_ceil~0=1.0E300, ~res~0=1.0737418245E10, ~x~0=1.0737418245E10] [L96] assert false; VAL [#NULL!base=0, #NULL!offset=0, ~huge_ceil~0=1.0E300, ~res~0=1.0737418245E10, ~x~0=1.0737418245E10] [?] CALL call ULTIMATE.init(); VAL [#NULL!base=10737418246, #NULL!offset=10737418241, old(#NULL!base)=10737418246, old(#NULL!offset)=10737418241, old(~huge_ceil~0)=1.0737418244E10, ~huge_ceil~0=1.0737418244E10] [?] #NULL := { base: 0, offset: 0 }; [?] #valid[0] := 0; [L17] ~huge_ceil~0 := 1.0E300; VAL [#NULL!base=0, #NULL!offset=0, old(#NULL!base)=10737418246, old(#NULL!offset)=10737418241, old(~huge_ceil~0)=1.0737418244E10, ~huge_ceil~0=1.0E300] [?] RET call ULTIMATE.init(); VAL [#NULL!base=0, #NULL!offset=0, ~huge_ceil~0=1.0E300] [?] CALL call #t~ret7 := main(); VAL [#NULL!base=0, #NULL!offset=0, ~huge_ceil~0=1.0E300] [L91] ~x~0 := ~someUnaryDOUBLEoperation(0.0); VAL [#NULL!base=0, #NULL!offset=0, ~huge_ceil~0=1.0E300] [L92] CALL call #t~ret6 := ceil_double(~x~0); VAL [#in~x=1.0737418245E10, #NULL!base=0, #NULL!offset=0, ~huge_ceil~0=1.0E300] [L19-L81] ~x := #in~x; [L20] havoc ~i0~0; [L20] havoc ~i1~0; [L20] havoc ~j0~0; [L21] havoc ~i~0; [L21] havoc ~j~0; VAL [#in~x=1.0737418245E10, #NULL!base=0, #NULL!offset=0, ~huge_ceil~0=1.0E300, ~x=1.0737418245E10] [L23] FCALL call ~#ew_u~0 := #Ultimate.alloc(8); [L24] FCALL call write~real(~x, { base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 8); [L25] FCALL call #t~mem0 := read~int({ base: ~#ew_u~0!base, offset: 4 + ~#ew_u~0!offset }, 4); [L25] ~i0~0 := (if #t~mem0 % 4294967296 % 4294967296 <= 2147483647 then #t~mem0 % 4294967296 % 4294967296 else #t~mem0 % 4294967296 % 4294967296 - 4294967296); [L25] FCALL call write~real(#t~union1, { base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 8); [L25] havoc #t~mem0; [L25] havoc #t~union1; [L26] FCALL call #t~mem2 := read~int({ base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 4); [L26] ~i1~0 := (if #t~mem2 % 4294967296 % 4294967296 <= 2147483647 then #t~mem2 % 4294967296 % 4294967296 else #t~mem2 % 4294967296 % 4294967296 - 4294967296); [L26] FCALL call write~real(#t~union3, { base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 8); [L26] havoc #t~union3; [L26] havoc #t~mem2; [L23] FCALL call ULTIMATE.dealloc(~#ew_u~0); [L23] havoc ~#ew_u~0; VAL [#in~x=1.0737418245E10, #NULL!base=0, #NULL!offset=0, ~huge_ceil~0=1.0E300, ~i0~0=-2147483648, ~i1~0=-2147483648, ~x=1.0737418245E10] [L28] ~j0~0 := ~bitwiseAnd(~i0~0 / 1048576, 2047) - 1023; VAL [#in~x=1.0737418245E10, #NULL!base=0, #NULL!offset=0, ~huge_ceil~0=1.0E300, ~i0~0=-2147483648, ~i1~0=-2147483648, ~x=1.0737418245E10] [L29] COND TRUE ~j0~0 < 20 VAL [#in~x=1.0737418245E10, #NULL!base=0, #NULL!offset=0, ~huge_ceil~0=1.0E300, ~i0~0=-2147483648, ~i1~0=-2147483648, ~j0~0=0, ~x=1.0737418245E10] [L30] COND FALSE !(~j0~0 < 0) [L41] ~i~0 := ~shiftRight(1048575, ~j0~0); VAL [#in~x=1.0737418245E10, #NULL!base=0, #NULL!offset=0, ~huge_ceil~0=1.0E300, ~i0~0=-2147483648, ~i1~0=-2147483648, ~j0~0=0, ~x=1.0737418245E10] [L42] COND TRUE 0 == ~bitwiseOr(~bitwiseAnd(~i0~0, ~i~0), ~i1~0) % 4294967296 [L43] #res := ~x; VAL [#in~x=1.0737418245E10, #NULL!base=0, #NULL!offset=0, #res=1.0737418245E10, ~huge_ceil~0=1.0E300, ~i0~0=-2147483648, ~i1~0=-2147483648, ~j0~0=0, ~x=1.0737418245E10] [L92] RET call #t~ret6 := ceil_double(~x~0); VAL [#NULL!base=0, #NULL!offset=0, #t~ret6=1.0737418245E10, ~huge_ceil~0=1.0E300, ~x~0=1.0737418245E10] [L92] ~res~0 := #t~ret6; [L92] havoc #t~ret6; VAL [#NULL!base=0, #NULL!offset=0, ~huge_ceil~0=1.0E300, ~res~0=1.0737418245E10, ~x~0=1.0737418245E10] [L95] COND TRUE ~someBinaryDOUBLEComparisonOperation(~res~0, ~x~0) VAL [#NULL!base=0, #NULL!offset=0, ~huge_ceil~0=1.0E300, ~res~0=1.0737418245E10, ~x~0=1.0737418245E10] [L96] assert false; VAL [#NULL!base=0, #NULL!offset=0, ~huge_ceil~0=1.0E300, ~res~0=1.0737418245E10, ~x~0=1.0737418245E10] ----- ----- class de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.CACSL2BoogieBacktranslator [?] CALL call ULTIMATE.init(); VAL [#NULL!base=10737418246, #NULL!offset=10737418241, old(#NULL!base)=10737418246, old(#NULL!offset)=10737418241, old(~huge_ceil~0)=1.0737418244E10, ~huge_ceil~0=1.0737418244E10] [?] #NULL := { base: 0, offset: 0 }; [?] #valid[0] := 0; [L17] ~huge_ceil~0 := 1.0E300; VAL [#NULL!base=0, #NULL!offset=0, old(#NULL!base)=10737418246, old(#NULL!offset)=10737418241, old(~huge_ceil~0)=1.0737418244E10, ~huge_ceil~0=1.0E300] [?] RET call ULTIMATE.init(); VAL [#NULL!base=0, #NULL!offset=0, ~huge_ceil~0=1.0E300] [?] CALL call #t~ret7 := main(); VAL [#NULL!base=0, #NULL!offset=0, ~huge_ceil~0=1.0E300] [L91] ~x~0 := ~someUnaryDOUBLEoperation(0.0); VAL [#NULL!base=0, #NULL!offset=0, ~huge_ceil~0=1.0E300] [L92] CALL call #t~ret6 := ceil_double(~x~0); VAL [#in~x=1.0737418245E10, #NULL!base=0, #NULL!offset=0, ~huge_ceil~0=1.0E300] [L19-L81] ~x := #in~x; [L20] havoc ~i0~0; [L20] havoc ~i1~0; [L20] havoc ~j0~0; [L21] havoc ~i~0; [L21] havoc ~j~0; VAL [#in~x=1.0737418245E10, #NULL!base=0, #NULL!offset=0, ~huge_ceil~0=1.0E300, ~x=1.0737418245E10] [L23] FCALL call ~#ew_u~0 := #Ultimate.alloc(8); [L24] FCALL call write~real(~x, { base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 8); [L25] FCALL call #t~mem0 := read~int({ base: ~#ew_u~0!base, offset: 4 + ~#ew_u~0!offset }, 4); [L25] ~i0~0 := (if #t~mem0 % 4294967296 % 4294967296 <= 2147483647 then #t~mem0 % 4294967296 % 4294967296 else #t~mem0 % 4294967296 % 4294967296 - 4294967296); [L25] FCALL call write~real(#t~union1, { base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 8); [L25] havoc #t~mem0; [L25] havoc #t~union1; [L26] FCALL call #t~mem2 := read~int({ base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 4); [L26] ~i1~0 := (if #t~mem2 % 4294967296 % 4294967296 <= 2147483647 then #t~mem2 % 4294967296 % 4294967296 else #t~mem2 % 4294967296 % 4294967296 - 4294967296); [L26] FCALL call write~real(#t~union3, { base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 8); [L26] havoc #t~union3; [L26] havoc #t~mem2; [L23] FCALL call ULTIMATE.dealloc(~#ew_u~0); [L23] havoc ~#ew_u~0; VAL [#in~x=1.0737418245E10, #NULL!base=0, #NULL!offset=0, ~huge_ceil~0=1.0E300, ~i0~0=-2147483648, ~i1~0=-2147483648, ~x=1.0737418245E10] [L28] ~j0~0 := ~bitwiseAnd(~i0~0 / 1048576, 2047) - 1023; VAL [#in~x=1.0737418245E10, #NULL!base=0, #NULL!offset=0, ~huge_ceil~0=1.0E300, ~i0~0=-2147483648, ~i1~0=-2147483648, ~x=1.0737418245E10] [L29] COND TRUE ~j0~0 < 20 VAL [#in~x=1.0737418245E10, #NULL!base=0, #NULL!offset=0, ~huge_ceil~0=1.0E300, ~i0~0=-2147483648, ~i1~0=-2147483648, ~j0~0=0, ~x=1.0737418245E10] [L30] COND FALSE !(~j0~0 < 0) [L41] ~i~0 := ~shiftRight(1048575, ~j0~0); VAL [#in~x=1.0737418245E10, #NULL!base=0, #NULL!offset=0, ~huge_ceil~0=1.0E300, ~i0~0=-2147483648, ~i1~0=-2147483648, ~j0~0=0, ~x=1.0737418245E10] [L42] COND TRUE 0 == ~bitwiseOr(~bitwiseAnd(~i0~0, ~i~0), ~i1~0) % 4294967296 [L43] #res := ~x; VAL [#in~x=1.0737418245E10, #NULL!base=0, #NULL!offset=0, #res=1.0737418245E10, ~huge_ceil~0=1.0E300, ~i0~0=-2147483648, ~i1~0=-2147483648, ~j0~0=0, ~x=1.0737418245E10] [L92] RET call #t~ret6 := ceil_double(~x~0); VAL [#NULL!base=0, #NULL!offset=0, #t~ret6=1.0737418245E10, ~huge_ceil~0=1.0E300, ~x~0=1.0737418245E10] [L92] ~res~0 := #t~ret6; [L92] havoc #t~ret6; VAL [#NULL!base=0, #NULL!offset=0, ~huge_ceil~0=1.0E300, ~res~0=1.0737418245E10, ~x~0=1.0737418245E10] [L95] COND TRUE ~someBinaryDOUBLEComparisonOperation(~res~0, ~x~0) VAL [#NULL!base=0, #NULL!offset=0, ~huge_ceil~0=1.0E300, ~res~0=1.0737418245E10, ~x~0=1.0737418245E10] [L96] assert false; VAL [#NULL!base=0, #NULL!offset=0, ~huge_ceil~0=1.0E300, ~res~0=1.0737418245E10, ~x~0=1.0737418245E10] [L17] static const double huge_ceil = 1.0e300; VAL [\old(huge_ceil)=10737418244, huge_ceil=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000] [L91] double x = -0.0; VAL [huge_ceil=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000] [L92] CALL, EXPR ceil_double(x) VAL [\old(x)=10737418245, huge_ceil=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000] [L20] __int32_t i0, i1, j0; [L21] __uint32_t i, j; VAL [\old(x)=10737418245, huge_ceil=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, x=10737418245] [L23] ieee_double_shape_type ew_u; [L24] ew_u.value = (x) [L25] EXPR ew_u.parts.msw [L25] (i0) = ew_u.parts.msw [L26] EXPR ew_u.parts.lsw [L26] (i1) = ew_u.parts.lsw [L28] j0 = ((i0 >> 20) & 0x7ff) - 0x3ff VAL [\old(x)=10737418245, huge_ceil=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, i0=-2147483648, i1=-2147483648, x=10737418245] [L29] COND TRUE j0 < 20 VAL [\old(x)=10737418245, huge_ceil=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, i0=-2147483648, i1=-2147483648, j0=0, x=10737418245] [L30] COND FALSE !(j0 < 0) [L41] i = (0x000fffff) >> j0 VAL [\old(x)=10737418245, huge_ceil=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, i0=-2147483648, i1=-2147483648, j0=0, x=10737418245] [L42] COND TRUE ((i0 & i) | i1) == 0 [L43] return x; VAL [\old(x)=10737418245, \result=10737418245, huge_ceil=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, i0=-2147483648, i1=-2147483648, j0=0, x=10737418245] [L92] RET, EXPR ceil_double(x) VAL [ceil_double(x)=10737418245, huge_ceil=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, x=10737418245] [L92] double res = ceil_double(x); [L95] COND TRUE res != x VAL [huge_ceil=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, res=10737418245, x=10737418245] [L96] __VERIFIER_error() VAL [huge_ceil=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, res=10737418245, x=10737418245] ----- [2018-11-23 07:09:06,315 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 23.11 07:09:06 BoogieIcfgContainer [2018-11-23 07:09:06,315 INFO L132 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2018-11-23 07:09:06,315 INFO L113 PluginConnector]: ------------------------Witness Printer---------------------------- [2018-11-23 07:09:06,315 INFO L271 PluginConnector]: Initializing Witness Printer... [2018-11-23 07:09:06,315 INFO L276 PluginConnector]: Witness Printer initialized [2018-11-23 07:09:06,316 INFO L185 PluginConnector]: Executing the observer RCFGCatcher from plugin Witness Printer for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 07:09:05" (3/4) ... [2018-11-23 07:09:06,318 INFO L147 WitnessPrinter]: No result that supports witness generation found [2018-11-23 07:09:06,318 INFO L132 PluginConnector]: ------------------------ END Witness Printer---------------------------- [2018-11-23 07:09:06,319 INFO L168 Benchmark]: Toolchain (without parser) took 832.46 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 134.7 MB). Free memory was 960.2 MB in the beginning and 1.1 GB in the end (delta: -108.5 MB). Peak memory consumption was 26.2 MB. Max. memory is 11.5 GB. [2018-11-23 07:09:06,320 INFO L168 Benchmark]: CDTParser took 0.10 ms. Allocated memory is still 1.0 GB. Free memory is still 985.4 MB. There was no memory consumed. Max. memory is 11.5 GB. [2018-11-23 07:09:06,324 INFO L168 Benchmark]: CACSL2BoogieTranslator took 167.66 ms. Allocated memory is still 1.0 GB. Free memory was 960.2 MB in the beginning and 946.8 MB in the end (delta: 13.4 MB). Peak memory consumption was 13.4 MB. Max. memory is 11.5 GB. [2018-11-23 07:09:06,325 INFO L168 Benchmark]: Boogie Procedure Inliner took 15.73 ms. Allocated memory is still 1.0 GB. Free memory is still 946.8 MB. There was no memory consumed. Max. memory is 11.5 GB. [2018-11-23 07:09:06,325 INFO L168 Benchmark]: Boogie Preprocessor took 56.24 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 134.7 MB). Free memory was 946.8 MB in the beginning and 1.1 GB in the end (delta: -182.2 MB). Peak memory consumption was 17.1 MB. Max. memory is 11.5 GB. [2018-11-23 07:09:06,326 INFO L168 Benchmark]: RCFGBuilder took 246.70 ms. Allocated memory is still 1.2 GB. Free memory was 1.1 GB in the beginning and 1.1 GB in the end (delta: 22.0 MB). Peak memory consumption was 22.0 MB. Max. memory is 11.5 GB. [2018-11-23 07:09:06,326 INFO L168 Benchmark]: TraceAbstraction took 339.84 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: 38.2 MB). Peak memory consumption was 38.2 MB. Max. memory is 11.5 GB. [2018-11-23 07:09:06,326 INFO L168 Benchmark]: Witness Printer took 3.17 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-23 07:09:06,328 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.10 ms. Allocated memory is still 1.0 GB. Free memory is still 985.4 MB. There was no memory consumed. Max. memory is 11.5 GB. * CACSL2BoogieTranslator took 167.66 ms. Allocated memory is still 1.0 GB. Free memory was 960.2 MB in the beginning and 946.8 MB in the end (delta: 13.4 MB). Peak memory consumption was 13.4 MB. Max. memory is 11.5 GB. * Boogie Procedure Inliner took 15.73 ms. Allocated memory is still 1.0 GB. Free memory is still 946.8 MB. There was no memory consumed. Max. memory is 11.5 GB. * Boogie Preprocessor took 56.24 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 134.7 MB). Free memory was 946.8 MB in the beginning and 1.1 GB in the end (delta: -182.2 MB). Peak memory consumption was 17.1 MB. Max. memory is 11.5 GB. * RCFGBuilder took 246.70 ms. Allocated memory is still 1.2 GB. Free memory was 1.1 GB in the beginning and 1.1 GB in the end (delta: 22.0 MB). Peak memory consumption was 22.0 MB. Max. memory is 11.5 GB. * TraceAbstraction took 339.84 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: 38.2 MB). Peak memory consumption was 38.2 MB. Max. memory is 11.5 GB. * Witness Printer took 3.17 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: 96]: Unable to prove that call of __VERIFIER_error() unreachable Unable to prove that call of __VERIFIER_error() unreachable Reason: overapproximation of shiftRight at line 41, overapproximation of bitwiseOr at line 42, overapproximation of someUnaryDOUBLEoperation at line 91, overapproximation of bitwiseAnd at line 28, overapproximation of someBinaryDOUBLEComparisonOperation at line 95. Possible FailurePath: [L17] static const double huge_ceil = 1.0e300; VAL [\old(huge_ceil)=10737418244, huge_ceil=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000] [L91] double x = -0.0; VAL [huge_ceil=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000] [L92] CALL, EXPR ceil_double(x) VAL [\old(x)=10737418245, huge_ceil=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000] [L20] __int32_t i0, i1, j0; [L21] __uint32_t i, j; VAL [\old(x)=10737418245, huge_ceil=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, x=10737418245] [L23] ieee_double_shape_type ew_u; [L24] ew_u.value = (x) [L25] EXPR ew_u.parts.msw [L25] (i0) = ew_u.parts.msw [L26] EXPR ew_u.parts.lsw [L26] (i1) = ew_u.parts.lsw [L28] j0 = ((i0 >> 20) & 0x7ff) - 0x3ff VAL [\old(x)=10737418245, huge_ceil=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, i0=-2147483648, i1=-2147483648, x=10737418245] [L29] COND TRUE j0 < 20 VAL [\old(x)=10737418245, huge_ceil=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, i0=-2147483648, i1=-2147483648, j0=0, x=10737418245] [L30] COND FALSE !(j0 < 0) [L41] i = (0x000fffff) >> j0 VAL [\old(x)=10737418245, huge_ceil=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, i0=-2147483648, i1=-2147483648, j0=0, x=10737418245] [L42] COND TRUE ((i0 & i) | i1) == 0 [L43] return x; VAL [\old(x)=10737418245, \result=10737418245, huge_ceil=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, i0=-2147483648, i1=-2147483648, j0=0, x=10737418245] [L92] RET, EXPR ceil_double(x) VAL [ceil_double(x)=10737418245, huge_ceil=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, x=10737418245] [L92] double res = ceil_double(x); [L95] COND TRUE res != x VAL [huge_ceil=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, res=10737418245, x=10737418245] [L96] __VERIFIER_error() VAL [huge_ceil=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, res=10737418245, x=10737418245] - StatisticsResult: Ultimate Automizer benchmark data CFG has 4 procedures, 42 locations, 1 error locations. UNSAFE Result, 0.2s OverallTime, 2 OverallIterations, 1 TraceHistogramMax, 0.0s AutomataDifference, 0.0s DeadEndRemovalTime, 0.0s HoareAnnotationTime, HoareTripleCheckerStatistics: 56 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=42occurred 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, 37 NumberOfCodeBlocks, 37 NumberOfCodeBlocksAsserted, 2 NumberOfCheckSat, 17 ConstructedInterpolants, 0 QuantifiedInterpolants, 289 SizeOfPredicates, 0 NumberOfNonLiveVariables, 0 ConjunctsInSsa, 0 ConjunctsInUnsatCore, 1 InterpolantComputations, 1 PerfectInterpolantSequences, 0/0 InterpolantCoveringCapability, InvariantSynthesisStatistics: No data available, InterpolantConsolidationStatistics: No data available, ReuseStatistics: No data available RESULT: Ultimate could not prove your program: unable to determine feasibility of some traces Received shutdown request... ### Bit-precise run ### This is Ultimate 0.1.23-aa41828 [2018-11-23 07:09:07,736 INFO L170 SettingsManager]: Resetting all preferences to default values... [2018-11-23 07:09:07,737 INFO L174 SettingsManager]: Resetting UltimateCore preferences to default values [2018-11-23 07:09:07,745 INFO L177 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2018-11-23 07:09:07,746 INFO L174 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2018-11-23 07:09:07,746 INFO L174 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2018-11-23 07:09:07,747 INFO L174 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2018-11-23 07:09:07,748 INFO L174 SettingsManager]: Resetting LassoRanker preferences to default values [2018-11-23 07:09:07,749 INFO L174 SettingsManager]: Resetting Reaching Definitions preferences to default values [2018-11-23 07:09:07,750 INFO L174 SettingsManager]: Resetting SyntaxChecker preferences to default values [2018-11-23 07:09:07,750 INFO L177 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2018-11-23 07:09:07,751 INFO L174 SettingsManager]: Resetting LTL2Aut preferences to default values [2018-11-23 07:09:07,751 INFO L174 SettingsManager]: Resetting PEA to Boogie preferences to default values [2018-11-23 07:09:07,752 INFO L174 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2018-11-23 07:09:07,753 INFO L174 SettingsManager]: Resetting ChcToBoogie preferences to default values [2018-11-23 07:09:07,754 INFO L174 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2018-11-23 07:09:07,754 INFO L174 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2018-11-23 07:09:07,756 INFO L174 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2018-11-23 07:09:07,757 INFO L174 SettingsManager]: Resetting CodeCheck preferences to default values [2018-11-23 07:09:07,758 INFO L174 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2018-11-23 07:09:07,759 INFO L174 SettingsManager]: Resetting RCFGBuilder preferences to default values [2018-11-23 07:09:07,760 INFO L174 SettingsManager]: Resetting TraceAbstraction preferences to default values [2018-11-23 07:09:07,762 INFO L177 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2018-11-23 07:09:07,762 INFO L177 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2018-11-23 07:09:07,762 INFO L174 SettingsManager]: Resetting TreeAutomizer preferences to default values [2018-11-23 07:09:07,763 INFO L174 SettingsManager]: Resetting IcfgTransformer preferences to default values [2018-11-23 07:09:07,764 INFO L174 SettingsManager]: Resetting Boogie Printer preferences to default values [2018-11-23 07:09:07,764 INFO L174 SettingsManager]: Resetting ReqPrinter preferences to default values [2018-11-23 07:09:07,765 INFO L174 SettingsManager]: Resetting Witness Printer preferences to default values [2018-11-23 07:09:07,765 INFO L177 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2018-11-23 07:09:07,766 INFO L174 SettingsManager]: Resetting CDTParser preferences to default values [2018-11-23 07:09:07,766 INFO L177 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2018-11-23 07:09:07,766 INFO L177 SettingsManager]: ReqParser provides no preferences, ignoring... [2018-11-23 07:09:07,766 INFO L174 SettingsManager]: Resetting SmtParser preferences to default values [2018-11-23 07:09:07,767 INFO L174 SettingsManager]: Resetting Witness Parser preferences to default values [2018-11-23 07:09:07,767 INFO L181 SettingsManager]: Finished resetting all preferences to default values... [2018-11-23 07:09:07,768 INFO L98 SettingsManager]: Beginning loading settings from /tmp/vcloud-vcloud-master/worker/working_dir_2dcc77f4-9115-49b8-9858-34ae22066974/bin-2019/uautomizer/config/svcomp-Reach-32bit-Automizer_Bitvector.epf [2018-11-23 07:09:07,778 INFO L110 SettingsManager]: Loading preferences was successful [2018-11-23 07:09:07,778 INFO L112 SettingsManager]: Preferences different from defaults after loading the file: [2018-11-23 07:09:07,779 INFO L131 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2018-11-23 07:09:07,779 INFO L133 SettingsManager]: * ... calls to implemented procedures=ONLY_FOR_CONCURRENT_PROGRAMS [2018-11-23 07:09:07,779 INFO L131 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2018-11-23 07:09:07,779 INFO L133 SettingsManager]: * Create parallel compositions if possible=false [2018-11-23 07:09:07,780 INFO L133 SettingsManager]: * Use SBE=true [2018-11-23 07:09:07,780 INFO L131 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2018-11-23 07:09:07,781 INFO L133 SettingsManager]: * sizeof long=4 [2018-11-23 07:09:07,781 INFO L133 SettingsManager]: * sizeof POINTER=4 [2018-11-23 07:09:07,781 INFO L133 SettingsManager]: * Check division by zero=IGNORE [2018-11-23 07:09:07,781 INFO L133 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2018-11-23 07:09:07,781 INFO L133 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2018-11-23 07:09:07,781 INFO L133 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2018-11-23 07:09:07,781 INFO L133 SettingsManager]: * Use bitvectors instead of ints=true [2018-11-23 07:09:07,782 INFO L133 SettingsManager]: * Memory model=HoenickeLindenmann_4ByteResolution [2018-11-23 07:09:07,782 INFO L133 SettingsManager]: * sizeof long double=12 [2018-11-23 07:09:07,782 INFO L133 SettingsManager]: * Check if freed pointer was valid=false [2018-11-23 07:09:07,782 INFO L133 SettingsManager]: * Use constant arrays=true [2018-11-23 07:09:07,782 INFO L133 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2018-11-23 07:09:07,782 INFO L131 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2018-11-23 07:09:07,782 INFO L133 SettingsManager]: * Size of a code block=SequenceOfStatements [2018-11-23 07:09:07,782 INFO L133 SettingsManager]: * To the following directory=./dump/ [2018-11-23 07:09:07,783 INFO L133 SettingsManager]: * SMT solver=External_DefaultMode [2018-11-23 07:09:07,783 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2018-11-23 07:09:07,783 INFO L131 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2018-11-23 07:09:07,783 INFO L133 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2018-11-23 07:09:07,783 INFO L133 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2018-11-23 07:09:07,783 INFO L133 SettingsManager]: * Trace refinement strategy=WOLF [2018-11-23 07:09:07,783 INFO L133 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2018-11-23 07:09:07,783 INFO L133 SettingsManager]: * Command for external solver=cvc4nyu --tear-down-incremental --rewrite-divk --print-success --lang smt [2018-11-23 07:09:07,784 INFO L133 SettingsManager]: * Logic for external solver=AUFBV [2018-11-23 07:09:07,784 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_2dcc77f4-9115-49b8-9858-34ae22066974/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 -> 8be2489bdcd97218605067fa4593696f9050abdf [2018-11-23 07:09:07,815 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2018-11-23 07:09:07,824 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2018-11-23 07:09:07,826 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2018-11-23 07:09:07,827 INFO L271 PluginConnector]: Initializing CDTParser... [2018-11-23 07:09:07,828 INFO L276 PluginConnector]: CDTParser initialized [2018-11-23 07:09:07,828 INFO L418 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /tmp/vcloud-vcloud-master/worker/working_dir_2dcc77f4-9115-49b8-9858-34ae22066974/bin-2019/uautomizer/../../sv-benchmarks/c/float-newlib/double_req_bl_1092a_true-unreach-call.c [2018-11-23 07:09:07,869 INFO L221 CDTParser]: Created temporary CDT project at /tmp/vcloud-vcloud-master/worker/working_dir_2dcc77f4-9115-49b8-9858-34ae22066974/bin-2019/uautomizer/data/176d67840/9b1e4f4a538b4dd5acd1f0184dd98e6e/FLAGd8d51a946 [2018-11-23 07:09:08,268 INFO L307 CDTParser]: Found 1 translation units. [2018-11-23 07:09:08,268 INFO L161 CDTParser]: Scanning /tmp/vcloud-vcloud-master/worker/working_dir_2dcc77f4-9115-49b8-9858-34ae22066974/sv-benchmarks/c/float-newlib/double_req_bl_1092a_true-unreach-call.c [2018-11-23 07:09:08,272 INFO L355 CDTParser]: About to delete temporary CDT project at /tmp/vcloud-vcloud-master/worker/working_dir_2dcc77f4-9115-49b8-9858-34ae22066974/bin-2019/uautomizer/data/176d67840/9b1e4f4a538b4dd5acd1f0184dd98e6e/FLAGd8d51a946 [2018-11-23 07:09:08,280 INFO L363 CDTParser]: Successfully deleted /tmp/vcloud-vcloud-master/worker/working_dir_2dcc77f4-9115-49b8-9858-34ae22066974/bin-2019/uautomizer/data/176d67840/9b1e4f4a538b4dd5acd1f0184dd98e6e [2018-11-23 07:09:08,282 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2018-11-23 07:09:08,283 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2018-11-23 07:09:08,283 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2018-11-23 07:09:08,284 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2018-11-23 07:09:08,286 INFO L276 PluginConnector]: CACSL2BoogieTranslator initialized [2018-11-23 07:09:08,287 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 07:09:08" (1/1) ... [2018-11-23 07:09:08,289 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@9bad2dc and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 07:09:08, skipping insertion in model container [2018-11-23 07:09:08,289 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 07:09:08" (1/1) ... [2018-11-23 07:09:08,297 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2018-11-23 07:09:08,314 INFO L176 MainTranslator]: Built tables and reachable declarations [2018-11-23 07:09:08,441 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 07:09:08,445 INFO L191 MainTranslator]: Completed pre-run [2018-11-23 07:09:08,466 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 07:09:08,483 INFO L195 MainTranslator]: Completed translation [2018-11-23 07:09:08,484 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 07:09:08 WrapperNode [2018-11-23 07:09:08,484 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2018-11-23 07:09:08,484 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2018-11-23 07:09:08,485 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2018-11-23 07:09:08,485 INFO L276 PluginConnector]: Boogie Procedure Inliner initialized [2018-11-23 07:09:08,491 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 07:09:08" (1/1) ... [2018-11-23 07:09:08,498 INFO L185 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 07:09:08" (1/1) ... [2018-11-23 07:09:08,504 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2018-11-23 07:09:08,504 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2018-11-23 07:09:08,504 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2018-11-23 07:09:08,504 INFO L276 PluginConnector]: Boogie Preprocessor initialized [2018-11-23 07:09:08,510 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 07:09:08" (1/1) ... [2018-11-23 07:09:08,511 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 07:09:08" (1/1) ... [2018-11-23 07:09:08,513 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 07:09:08" (1/1) ... [2018-11-23 07:09:08,514 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 07:09:08" (1/1) ... [2018-11-23 07:09:08,559 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 07:09:08" (1/1) ... [2018-11-23 07:09:08,563 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 07:09:08" (1/1) ... [2018-11-23 07:09:08,564 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 07:09:08" (1/1) ... [2018-11-23 07:09:08,566 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2018-11-23 07:09:08,566 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2018-11-23 07:09:08,566 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2018-11-23 07:09:08,567 INFO L276 PluginConnector]: RCFGBuilder initialized [2018-11-23 07:09:08,567 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 07:09:08" (1/1) ... No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_2dcc77f4-9115-49b8-9858-34ae22066974/bin-2019/uautomizer/z3 Starting monitored process 1 with z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 1 with z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2018-11-23 07:09:08,598 INFO L130 BoogieDeclarations]: Found specification of procedure read~intFLOATTYPE8 [2018-11-23 07:09:08,598 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2018-11-23 07:09:08,598 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2018-11-23 07:09:08,598 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.alloc [2018-11-23 07:09:08,598 INFO L130 BoogieDeclarations]: Found specification of procedure read~intINTTYPE4 [2018-11-23 07:09:08,599 INFO L130 BoogieDeclarations]: Found specification of procedure write~intFLOATTYPE8 [2018-11-23 07:09:08,599 INFO L130 BoogieDeclarations]: Found specification of procedure ceil_double [2018-11-23 07:09:08,599 INFO L138 BoogieDeclarations]: Found implementation of procedure ceil_double [2018-11-23 07:09:08,599 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2018-11-23 07:09:08,599 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2018-11-23 07:09:08,599 INFO L130 BoogieDeclarations]: Found specification of procedure main [2018-11-23 07:09:08,599 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2018-11-23 07:09:08,599 INFO L130 BoogieDeclarations]: Found specification of procedure write~intINTTYPE4 [2018-11-23 07:09:08,600 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2018-11-23 07:09:08,758 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 07:09:09,768 INFO L275 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2018-11-23 07:09:09,768 INFO L280 CfgBuilder]: Removed 4 assue(true) statements. [2018-11-23 07:09:09,769 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 07:09:09 BoogieIcfgContainer [2018-11-23 07:09:09,769 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2018-11-23 07:09:09,769 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2018-11-23 07:09:09,769 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2018-11-23 07:09:09,772 INFO L276 PluginConnector]: TraceAbstraction initialized [2018-11-23 07:09:09,772 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 23.11 07:09:08" (1/3) ... [2018-11-23 07:09:09,773 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@485706db and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 23.11 07:09:09, skipping insertion in model container [2018-11-23 07:09:09,773 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 07:09:08" (2/3) ... [2018-11-23 07:09:09,773 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@485706db and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 23.11 07:09:09, skipping insertion in model container [2018-11-23 07:09:09,773 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 07:09:09" (3/3) ... [2018-11-23 07:09:09,774 INFO L112 eAbstractionObserver]: Analyzing ICFG double_req_bl_1092a_true-unreach-call.c [2018-11-23 07:09:09,780 INFO L156 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2018-11-23 07:09:09,784 INFO L168 ceAbstractionStarter]: Appying trace abstraction to program that has 1 error locations. [2018-11-23 07:09:09,795 INFO L257 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2018-11-23 07:09:09,811 INFO L133 ementStrategyFactory]: Using default assertion order modulation [2018-11-23 07:09:09,812 INFO L382 AbstractCegarLoop]: Interprodecural is true [2018-11-23 07:09:09,812 INFO L383 AbstractCegarLoop]: Hoare is true [2018-11-23 07:09:09,812 INFO L384 AbstractCegarLoop]: Compute interpolants for FPandBP [2018-11-23 07:09:09,812 INFO L385 AbstractCegarLoop]: Backedges is STRAIGHT_LINE [2018-11-23 07:09:09,812 INFO L386 AbstractCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2018-11-23 07:09:09,812 INFO L387 AbstractCegarLoop]: Difference is false [2018-11-23 07:09:09,812 INFO L388 AbstractCegarLoop]: Minimize is MINIMIZE_SEVPA [2018-11-23 07:09:09,813 INFO L393 AbstractCegarLoop]: ======== Iteration 0==of CEGAR loop == AllErrorsAtOnce======== [2018-11-23 07:09:09,825 INFO L276 IsEmpty]: Start isEmpty. Operand 42 states. [2018-11-23 07:09:09,829 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 19 [2018-11-23 07:09:09,829 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 07:09:09,829 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 07:09:09,831 INFO L423 AbstractCegarLoop]: === Iteration 1 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 07:09:09,833 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 07:09:09,834 INFO L82 PathProgramCache]: Analyzing trace with hash 593324774, now seen corresponding path program 1 times [2018-11-23 07:09:09,836 INFO L223 ckRefinementStrategy]: Switched to mode MATHSAT_FPBP [2018-11-23 07:09:09,836 INFO L69 tionRefinementEngine]: Using refinement strategy WolfRefinementStrategy No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_2dcc77f4-9115-49b8-9858-34ae22066974/bin-2019/uautomizer/mathsat Starting monitored process 2 with mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 2 with mathsat -unsat_core_generation=3 [2018-11-23 07:09:09,840 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 07:09:09,879 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 07:09:09,884 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 07:09:09,896 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 07:09:09,896 INFO L312 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2018-11-23 07:09:09,908 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 07:09:09,908 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2018-11-23 07:09:09,911 INFO L459 AbstractCegarLoop]: Interpolant automaton has 2 states [2018-11-23 07:09:09,918 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 2 interpolants. [2018-11-23 07:09:09,918 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2018-11-23 07:09:09,920 INFO L87 Difference]: Start difference. First operand 42 states. Second operand 2 states. [2018-11-23 07:09:09,933 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 07:09:09,933 INFO L93 Difference]: Finished difference Result 76 states and 114 transitions. [2018-11-23 07:09:09,933 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2018-11-23 07:09:09,934 INFO L78 Accepts]: Start accepts. Automaton has 2 states. Word has length 18 [2018-11-23 07:09:09,934 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 07:09:09,940 INFO L225 Difference]: With dead ends: 76 [2018-11-23 07:09:09,940 INFO L226 Difference]: Without dead ends: 38 [2018-11-23 07:09:09,943 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 17 GetRequests, 17 SyntacticMatches, 0 SemanticMatches, 0 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2018-11-23 07:09:09,957 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 38 states. [2018-11-23 07:09:09,969 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 38 to 38. [2018-11-23 07:09:09,970 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 38 states. [2018-11-23 07:09:09,970 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 38 states to 38 states and 52 transitions. [2018-11-23 07:09:09,971 INFO L78 Accepts]: Start accepts. Automaton has 38 states and 52 transitions. Word has length 18 [2018-11-23 07:09:09,971 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 07:09:09,972 INFO L480 AbstractCegarLoop]: Abstraction has 38 states and 52 transitions. [2018-11-23 07:09:09,972 INFO L481 AbstractCegarLoop]: Interpolant automaton has 2 states. [2018-11-23 07:09:09,972 INFO L276 IsEmpty]: Start isEmpty. Operand 38 states and 52 transitions. [2018-11-23 07:09:09,973 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 20 [2018-11-23 07:09:09,973 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 07:09:09,973 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-23 07:09:09,973 INFO L423 AbstractCegarLoop]: === Iteration 2 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 07:09:09,973 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 07:09:09,973 INFO L82 PathProgramCache]: Analyzing trace with hash -1268028223, now seen corresponding path program 1 times [2018-11-23 07:09:09,974 INFO L223 ckRefinementStrategy]: Switched to mode MATHSAT_FPBP [2018-11-23 07:09:09,974 INFO L69 tionRefinementEngine]: Using refinement strategy WolfRefinementStrategy No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_2dcc77f4-9115-49b8-9858-34ae22066974/bin-2019/uautomizer/mathsat Starting monitored process 3 with mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 3 with mathsat -unsat_core_generation=3 [2018-11-23 07:09:09,982 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 07:09:10,026 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 07:09:10,030 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 07:09:10,135 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 07:09:10,136 INFO L312 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2018-11-23 07:09:10,148 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 07:09:10,148 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2018-11-23 07:09:10,149 INFO L459 AbstractCegarLoop]: Interpolant automaton has 7 states [2018-11-23 07:09:10,149 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2018-11-23 07:09:10,150 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=13, Invalid=29, Unknown=0, NotChecked=0, Total=42 [2018-11-23 07:09:10,150 INFO L87 Difference]: Start difference. First operand 38 states and 52 transitions. Second operand 7 states. [2018-11-23 07:09:10,556 WARN L180 SmtUtils]: Spent 136.00 ms on a formula simplification that was a NOOP. DAG size: 6 [2018-11-23 07:09:11,335 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 07:09:11,335 INFO L93 Difference]: Finished difference Result 46 states and 59 transitions. [2018-11-23 07:09:11,335 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2018-11-23 07:09:11,336 INFO L78 Accepts]: Start accepts. Automaton has 7 states. Word has length 19 [2018-11-23 07:09:11,336 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 07:09:11,337 INFO L225 Difference]: With dead ends: 46 [2018-11-23 07:09:11,337 INFO L226 Difference]: Without dead ends: 40 [2018-11-23 07:09:11,338 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 19 GetRequests, 12 SyntacticMatches, 1 SemanticMatches, 6 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 2 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=17, Invalid=39, Unknown=0, NotChecked=0, Total=56 [2018-11-23 07:09:11,338 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 40 states. [2018-11-23 07:09:11,341 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 40 to 38. [2018-11-23 07:09:11,342 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 38 states. [2018-11-23 07:09:11,342 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 38 states to 38 states and 49 transitions. [2018-11-23 07:09:11,343 INFO L78 Accepts]: Start accepts. Automaton has 38 states and 49 transitions. Word has length 19 [2018-11-23 07:09:11,343 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 07:09:11,343 INFO L480 AbstractCegarLoop]: Abstraction has 38 states and 49 transitions. [2018-11-23 07:09:11,343 INFO L481 AbstractCegarLoop]: Interpolant automaton has 7 states. [2018-11-23 07:09:11,343 INFO L276 IsEmpty]: Start isEmpty. Operand 38 states and 49 transitions. [2018-11-23 07:09:11,344 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 20 [2018-11-23 07:09:11,344 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 07:09:11,344 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-23 07:09:11,344 INFO L423 AbstractCegarLoop]: === Iteration 3 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 07:09:11,345 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 07:09:11,345 INFO L82 PathProgramCache]: Analyzing trace with hash 147804600, now seen corresponding path program 1 times [2018-11-23 07:09:11,345 INFO L223 ckRefinementStrategy]: Switched to mode MATHSAT_FPBP [2018-11-23 07:09:11,345 INFO L69 tionRefinementEngine]: Using refinement strategy WolfRefinementStrategy No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_2dcc77f4-9115-49b8-9858-34ae22066974/bin-2019/uautomizer/mathsat Starting monitored process 4 with mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 4 with mathsat -unsat_core_generation=3 [2018-11-23 07:09:11,348 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 07:09:11,416 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 07:09:11,423 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 07:09:11,859 WARN L180 SmtUtils]: Spent 121.00 ms on a formula simplification that was a NOOP. DAG size: 5 [2018-11-23 07:09:12,249 WARN L180 SmtUtils]: Spent 195.00 ms on a formula simplification that was a NOOP. DAG size: 9 [2018-11-23 07:09:12,550 WARN L180 SmtUtils]: Spent 175.00 ms on a formula simplification that was a NOOP. DAG size: 9 [2018-11-23 07:09:12,552 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 07:09:12,552 INFO L312 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2018-11-23 07:09:12,559 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 07:09:12,559 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2018-11-23 07:09:12,560 INFO L459 AbstractCegarLoop]: Interpolant automaton has 7 states [2018-11-23 07:09:12,560 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2018-11-23 07:09:12,560 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=13, Invalid=29, Unknown=0, NotChecked=0, Total=42 [2018-11-23 07:09:12,560 INFO L87 Difference]: Start difference. First operand 38 states and 49 transitions. Second operand 7 states. [2018-11-23 07:09:13,601 WARN L180 SmtUtils]: Spent 307.00 ms on a formula simplification that was a NOOP. DAG size: 8 [2018-11-23 07:09:15,214 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 07:09:15,214 INFO L93 Difference]: Finished difference Result 44 states and 54 transitions. [2018-11-23 07:09:15,215 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2018-11-23 07:09:15,215 INFO L78 Accepts]: Start accepts. Automaton has 7 states. Word has length 19 [2018-11-23 07:09:15,216 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 07:09:15,216 INFO L225 Difference]: With dead ends: 44 [2018-11-23 07:09:15,216 INFO L226 Difference]: Without dead ends: 37 [2018-11-23 07:09:15,217 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 19 GetRequests, 12 SyntacticMatches, 1 SemanticMatches, 6 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 2 ImplicationChecksByTransitivity, 1.5s TimeCoverageRelationStatistics Valid=17, Invalid=39, Unknown=0, NotChecked=0, Total=56 [2018-11-23 07:09:15,217 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 37 states. [2018-11-23 07:09:15,219 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 37 to 37. [2018-11-23 07:09:15,220 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 37 states. [2018-11-23 07:09:15,220 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 37 states to 37 states and 47 transitions. [2018-11-23 07:09:15,221 INFO L78 Accepts]: Start accepts. Automaton has 37 states and 47 transitions. Word has length 19 [2018-11-23 07:09:15,221 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 07:09:15,221 INFO L480 AbstractCegarLoop]: Abstraction has 37 states and 47 transitions. [2018-11-23 07:09:15,221 INFO L481 AbstractCegarLoop]: Interpolant automaton has 7 states. [2018-11-23 07:09:15,221 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states and 47 transitions. [2018-11-23 07:09:15,221 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 23 [2018-11-23 07:09:15,222 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 07:09:15,222 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 07:09:15,222 INFO L423 AbstractCegarLoop]: === Iteration 4 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 07:09:15,222 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 07:09:15,222 INFO L82 PathProgramCache]: Analyzing trace with hash -1067163641, now seen corresponding path program 1 times [2018-11-23 07:09:15,222 INFO L223 ckRefinementStrategy]: Switched to mode MATHSAT_FPBP [2018-11-23 07:09:15,223 INFO L69 tionRefinementEngine]: Using refinement strategy WolfRefinementStrategy No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_2dcc77f4-9115-49b8-9858-34ae22066974/bin-2019/uautomizer/mathsat Starting monitored process 5 with mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 5 with mathsat -unsat_core_generation=3 [2018-11-23 07:09:15,225 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 07:09:15,310 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 07:09:15,318 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 07:09:17,718 WARN L180 SmtUtils]: Spent 1.11 s on a formula simplification that was a NOOP. DAG size: 11 [2018-11-23 07:09:17,726 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 07:09:17,726 INFO L312 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2018-11-23 07:09:17,739 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 07:09:17,739 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2018-11-23 07:09:17,739 INFO L459 AbstractCegarLoop]: Interpolant automaton has 6 states [2018-11-23 07:09:17,739 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2018-11-23 07:09:17,740 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=12, Invalid=18, Unknown=0, NotChecked=0, Total=30 [2018-11-23 07:09:17,740 INFO L87 Difference]: Start difference. First operand 37 states and 47 transitions. Second operand 6 states. [2018-11-23 07:09:19,900 WARN L180 SmtUtils]: Spent 574.00 ms on a formula simplification that was a NOOP. DAG size: 13 [2018-11-23 07:09:21,210 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 07:09:21,210 INFO L93 Difference]: Finished difference Result 46 states and 55 transitions. [2018-11-23 07:09:21,210 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2018-11-23 07:09:21,210 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 22 [2018-11-23 07:09:21,211 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 07:09:21,211 INFO L225 Difference]: With dead ends: 46 [2018-11-23 07:09:21,211 INFO L226 Difference]: Without dead ends: 37 [2018-11-23 07:09:21,212 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 22 GetRequests, 16 SyntacticMatches, 1 SemanticMatches, 5 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 3.7s TimeCoverageRelationStatistics Valid=17, Invalid=25, Unknown=0, NotChecked=0, Total=42 [2018-11-23 07:09:21,212 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 37 states. [2018-11-23 07:09:21,216 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 37 to 37. [2018-11-23 07:09:21,216 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 37 states. [2018-11-23 07:09:21,216 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 37 states to 37 states and 44 transitions. [2018-11-23 07:09:21,217 INFO L78 Accepts]: Start accepts. Automaton has 37 states and 44 transitions. Word has length 22 [2018-11-23 07:09:21,217 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 07:09:21,217 INFO L480 AbstractCegarLoop]: Abstraction has 37 states and 44 transitions. [2018-11-23 07:09:21,217 INFO L481 AbstractCegarLoop]: Interpolant automaton has 6 states. [2018-11-23 07:09:21,217 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states and 44 transitions. [2018-11-23 07:09:21,218 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 24 [2018-11-23 07:09:21,218 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 07:09:21,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] [2018-11-23 07:09:21,218 INFO L423 AbstractCegarLoop]: === Iteration 5 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 07:09:21,218 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 07:09:21,218 INFO L82 PathProgramCache]: Analyzing trace with hash -232086029, now seen corresponding path program 1 times [2018-11-23 07:09:21,219 INFO L223 ckRefinementStrategy]: Switched to mode MATHSAT_FPBP [2018-11-23 07:09:21,219 INFO L69 tionRefinementEngine]: Using refinement strategy WolfRefinementStrategy No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_2dcc77f4-9115-49b8-9858-34ae22066974/bin-2019/uautomizer/mathsat Starting monitored process 6 with mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 6 with mathsat -unsat_core_generation=3 [2018-11-23 07:09:21,222 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 07:09:21,306 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 07:09:21,315 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 07:09:21,353 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-23 07:09:21,356 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-23 07:09:21,367 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 29 treesize of output 15 [2018-11-23 07:09:21,367 INFO L267 ElimStorePlain]: Start of recursive call 4: End of recursive call: and 1 xjuncts. [2018-11-23 07:09:21,370 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 07:09:21,373 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 07:09:21,375 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-23 07:09:21,375 INFO L202 ElimStorePlain]: Needed 4 recursive calls to eliminate 2 variables, input treesize:45, output treesize:15 [2018-11-23 07:09:21,435 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 07:09:21,435 INFO L312 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2018-11-23 07:09:21,443 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 07:09:21,443 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2018-11-23 07:09:21,443 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2018-11-23 07:09:21,443 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2018-11-23 07:09:21,444 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=15, Invalid=41, Unknown=0, NotChecked=0, Total=56 [2018-11-23 07:09:21,444 INFO L87 Difference]: Start difference. First operand 37 states and 44 transitions. Second operand 8 states. [2018-11-23 07:09:21,951 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 07:09:21,952 INFO L93 Difference]: Finished difference Result 46 states and 52 transitions. [2018-11-23 07:09:21,952 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2018-11-23 07:09:21,952 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 23 [2018-11-23 07:09:21,952 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 07:09:21,953 INFO L225 Difference]: With dead ends: 46 [2018-11-23 07:09:21,953 INFO L226 Difference]: Without dead ends: 37 [2018-11-23 07:09:21,953 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 24 GetRequests, 15 SyntacticMatches, 1 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 4 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=25, Invalid=65, Unknown=0, NotChecked=0, Total=90 [2018-11-23 07:09:21,953 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 37 states. [2018-11-23 07:09:21,955 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 37 to 37. [2018-11-23 07:09:21,955 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 37 states. [2018-11-23 07:09:21,956 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 37 states to 37 states and 43 transitions. [2018-11-23 07:09:21,956 INFO L78 Accepts]: Start accepts. Automaton has 37 states and 43 transitions. Word has length 23 [2018-11-23 07:09:21,956 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 07:09:21,956 INFO L480 AbstractCegarLoop]: Abstraction has 37 states and 43 transitions. [2018-11-23 07:09:21,956 INFO L481 AbstractCegarLoop]: Interpolant automaton has 8 states. [2018-11-23 07:09:21,957 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states and 43 transitions. [2018-11-23 07:09:21,957 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 25 [2018-11-23 07:09:21,957 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 07:09:21,957 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 07:09:21,957 INFO L423 AbstractCegarLoop]: === Iteration 6 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 07:09:21,957 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 07:09:21,958 INFO L82 PathProgramCache]: Analyzing trace with hash 785443165, now seen corresponding path program 1 times [2018-11-23 07:09:21,958 INFO L223 ckRefinementStrategy]: Switched to mode MATHSAT_FPBP [2018-11-23 07:09:21,958 INFO L69 tionRefinementEngine]: Using refinement strategy WolfRefinementStrategy No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_2dcc77f4-9115-49b8-9858-34ae22066974/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-23 07:09:21,962 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 07:09:22,060 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 07:09:22,070 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 07:09:22,093 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 07:09:22,094 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 07:09:22,095 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 2 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 33 treesize of output 43 [2018-11-23 07:09:22,126 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 07:09:22,132 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 2 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 24 treesize of output 24 [2018-11-23 07:09:22,133 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 07:09:22,143 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 24 treesize of output 18 [2018-11-23 07:09:22,147 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 4 [2018-11-23 07:09:22,147 INFO L267 ElimStorePlain]: Start of recursive call 5: End of recursive call: and 1 xjuncts. [2018-11-23 07:09:22,149 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 07:09:22,151 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 07:09:22,157 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-2 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-11-23 07:09:22,157 INFO L202 ElimStorePlain]: Needed 5 recursive calls to eliminate 3 variables, input treesize:42, output treesize:14 [2018-11-23 07:09:22,216 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 07:09:22,216 INFO L312 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2018-11-23 07:09:22,228 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 07:09:22,228 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2018-11-23 07:09:22,228 INFO L459 AbstractCegarLoop]: Interpolant automaton has 6 states [2018-11-23 07:09:22,228 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2018-11-23 07:09:22,228 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2018-11-23 07:09:22,229 INFO L87 Difference]: Start difference. First operand 37 states and 43 transitions. Second operand 6 states. [2018-11-23 07:09:22,912 WARN L180 SmtUtils]: Spent 138.00 ms on a formula simplification that was a NOOP. DAG size: 20 [2018-11-23 07:09:23,701 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 07:09:23,701 INFO L93 Difference]: Finished difference Result 60 states and 65 transitions. [2018-11-23 07:09:23,702 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2018-11-23 07:09:23,702 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 24 [2018-11-23 07:09:23,702 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 07:09:23,702 INFO L225 Difference]: With dead ends: 60 [2018-11-23 07:09:23,702 INFO L226 Difference]: Without dead ends: 36 [2018-11-23 07:09:23,703 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 27 GetRequests, 19 SyntacticMatches, 0 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 5 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=29, Invalid=61, Unknown=0, NotChecked=0, Total=90 [2018-11-23 07:09:23,703 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 36 states. [2018-11-23 07:09:23,705 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 36 to 31. [2018-11-23 07:09:23,705 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 31 states. [2018-11-23 07:09:23,706 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 31 states to 31 states and 31 transitions. [2018-11-23 07:09:23,706 INFO L78 Accepts]: Start accepts. Automaton has 31 states and 31 transitions. Word has length 24 [2018-11-23 07:09:23,706 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 07:09:23,706 INFO L480 AbstractCegarLoop]: Abstraction has 31 states and 31 transitions. [2018-11-23 07:09:23,706 INFO L481 AbstractCegarLoop]: Interpolant automaton has 6 states. [2018-11-23 07:09:23,706 INFO L276 IsEmpty]: Start isEmpty. Operand 31 states and 31 transitions. [2018-11-23 07:09:23,707 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 26 [2018-11-23 07:09:23,707 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 07:09:23,707 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-23 07:09:23,707 INFO L423 AbstractCegarLoop]: === Iteration 7 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 07:09:23,707 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 07:09:23,707 INFO L82 PathProgramCache]: Analyzing trace with hash 934119944, now seen corresponding path program 1 times [2018-11-23 07:09:23,707 INFO L223 ckRefinementStrategy]: Switched to mode MATHSAT_FPBP [2018-11-23 07:09:23,707 INFO L69 tionRefinementEngine]: Using refinement strategy WolfRefinementStrategy No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_2dcc77f4-9115-49b8-9858-34ae22066974/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-23 07:09:23,710 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 07:09:23,814 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 07:09:23,824 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 07:09:23,839 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 07:09:23,840 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 07:09:23,841 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 2 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 33 treesize of output 43 [2018-11-23 07:09:23,871 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 07:09:23,876 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 2 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 24 treesize of output 24 [2018-11-23 07:09:23,877 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 07:09:23,886 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 24 treesize of output 18 [2018-11-23 07:09:23,891 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 4 [2018-11-23 07:09:23,891 INFO L267 ElimStorePlain]: Start of recursive call 5: End of recursive call: and 1 xjuncts. [2018-11-23 07:09:23,893 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 07:09:23,895 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 07:09:23,901 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-2 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-11-23 07:09:23,901 INFO L202 ElimStorePlain]: Needed 5 recursive calls to eliminate 3 variables, input treesize:42, output treesize:14 [2018-11-23 07:09:23,981 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 07:09:23,981 INFO L312 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2018-11-23 07:09:23,991 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 07:09:23,992 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2018-11-23 07:09:23,992 INFO L459 AbstractCegarLoop]: Interpolant automaton has 7 states [2018-11-23 07:09:23,992 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2018-11-23 07:09:23,992 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=11, Invalid=31, Unknown=0, NotChecked=0, Total=42 [2018-11-23 07:09:23,992 INFO L87 Difference]: Start difference. First operand 31 states and 31 transitions. Second operand 7 states. [2018-11-23 07:09:24,855 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 07:09:24,855 INFO L93 Difference]: Finished difference Result 36 states and 36 transitions. [2018-11-23 07:09:24,856 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2018-11-23 07:09:24,856 INFO L78 Accepts]: Start accepts. Automaton has 7 states. Word has length 25 [2018-11-23 07:09:24,856 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 07:09:24,856 INFO L225 Difference]: With dead ends: 36 [2018-11-23 07:09:24,856 INFO L226 Difference]: Without dead ends: 0 [2018-11-23 07:09:24,856 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 30 GetRequests, 19 SyntacticMatches, 0 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 11 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=48, Invalid=108, Unknown=0, NotChecked=0, Total=156 [2018-11-23 07:09:24,856 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 0 states. [2018-11-23 07:09:24,857 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 0 to 0. [2018-11-23 07:09:24,857 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 0 states. [2018-11-23 07:09:24,857 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 0 states to 0 states and 0 transitions. [2018-11-23 07:09:24,857 INFO L78 Accepts]: Start accepts. Automaton has 0 states and 0 transitions. Word has length 25 [2018-11-23 07:09:24,857 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 07:09:24,857 INFO L480 AbstractCegarLoop]: Abstraction has 0 states and 0 transitions. [2018-11-23 07:09:24,857 INFO L481 AbstractCegarLoop]: Interpolant automaton has 7 states. [2018-11-23 07:09:24,857 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2018-11-23 07:09:24,857 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 07:09:24,860 INFO L343 DoubleDeckerVisitor]: Before removal of dead ends 0 states and 0 transitions. [2018-11-23 07:09:24,969 INFO L448 ceAbstractionStarter]: For program point ULTIMATE.initFINAL(line -1) no Hoare annotation was computed. [2018-11-23 07:09:24,969 INFO L451 ceAbstractionStarter]: At program point ULTIMATE.initENTRY(line -1) the Hoare annotation is: true [2018-11-23 07:09:24,969 INFO L448 ceAbstractionStarter]: For program point ULTIMATE.initEXIT(line -1) no Hoare annotation was computed. [2018-11-23 07:09:24,969 INFO L448 ceAbstractionStarter]: For program point L31(lines 31 39) no Hoare annotation was computed. [2018-11-23 07:09:24,969 INFO L448 ceAbstractionStarter]: For program point L60(lines 60 72) no Hoare annotation was computed. [2018-11-23 07:09:24,970 INFO L448 ceAbstractionStarter]: For program point L52(lines 52 55) no Hoare annotation was computed. [2018-11-23 07:09:24,970 INFO L448 ceAbstractionStarter]: For program point L44(lines 44 49) no Hoare annotation was computed. [2018-11-23 07:09:24,970 INFO L448 ceAbstractionStarter]: For program point L32(lines 32 38) no Hoare annotation was computed. [2018-11-23 07:09:24,970 INFO L448 ceAbstractionStarter]: For program point L61(lines 61 70) no Hoare annotation was computed. [2018-11-23 07:09:24,970 INFO L448 ceAbstractionStarter]: For program point L61-1(lines 61 70) no Hoare annotation was computed. [2018-11-23 07:09:24,970 INFO L448 ceAbstractionStarter]: For program point L45(lines 45 46) no Hoare annotation was computed. [2018-11-23 07:09:24,970 INFO L448 ceAbstractionStarter]: For program point L45-2(lines 45 46) no Hoare annotation was computed. [2018-11-23 07:09:24,970 INFO L448 ceAbstractionStarter]: For program point L74(lines 74 79) no Hoare annotation was computed. [2018-11-23 07:09:24,970 INFO L448 ceAbstractionStarter]: For program point L74-1(lines 19 81) no Hoare annotation was computed. [2018-11-23 07:09:24,970 INFO L448 ceAbstractionStarter]: For program point L74-2(lines 74 79) no Hoare annotation was computed. [2018-11-23 07:09:24,970 INFO L448 ceAbstractionStarter]: For program point L66(lines 66 67) no Hoare annotation was computed. [2018-11-23 07:09:24,971 INFO L448 ceAbstractionStarter]: For program point L66-2(lines 66 67) no Hoare annotation was computed. [2018-11-23 07:09:24,971 INFO L448 ceAbstractionStarter]: For program point L62(lines 62 69) no Hoare annotation was computed. [2018-11-23 07:09:24,971 INFO L448 ceAbstractionStarter]: For program point L29(lines 29 73) no Hoare annotation was computed. [2018-11-23 07:09:24,971 INFO L448 ceAbstractionStarter]: For program point L58(lines 58 59) no Hoare annotation was computed. [2018-11-23 07:09:24,971 INFO L451 ceAbstractionStarter]: At program point ceil_doubleENTRY(lines 19 81) the Hoare annotation is: true [2018-11-23 07:09:24,971 INFO L448 ceAbstractionStarter]: For program point L42(lines 42 43) no Hoare annotation was computed. [2018-11-23 07:09:24,971 INFO L448 ceAbstractionStarter]: For program point ceil_doubleFINAL(lines 19 81) no Hoare annotation was computed. [2018-11-23 07:09:24,971 INFO L448 ceAbstractionStarter]: For program point ceil_doubleEXIT(lines 19 81) no Hoare annotation was computed. [2018-11-23 07:09:24,971 INFO L448 ceAbstractionStarter]: For program point L30(lines 30 50) no Hoare annotation was computed. [2018-11-23 07:09:24,971 INFO L448 ceAbstractionStarter]: For program point L22-1(lines 22 27) no Hoare annotation was computed. [2018-11-23 07:09:24,972 INFO L444 ceAbstractionStarter]: At program point L22-2(lines 22 27) the Hoare annotation is: (or (not (= ((_ to_fp 11 53) roundNearestTiesToEven 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0) ~huge_ceil~0)) (= |ceil_double_#in~x| ceil_double_~x)) [2018-11-23 07:09:24,972 INFO L448 ceAbstractionStarter]: For program point L22-3(lines 22 27) no Hoare annotation was computed. [2018-11-23 07:09:24,972 INFO L448 ceAbstractionStarter]: For program point L51(lines 51 73) no Hoare annotation was computed. [2018-11-23 07:09:24,972 INFO L448 ceAbstractionStarter]: For program point L35(lines 35 38) no Hoare annotation was computed. [2018-11-23 07:09:24,972 INFO L448 ceAbstractionStarter]: For program point ULTIMATE.startEXIT(line -1) no Hoare annotation was computed. [2018-11-23 07:09:24,972 INFO L444 ceAbstractionStarter]: At program point L-1(line -1) the Hoare annotation is: (= ((_ to_fp 11 53) roundNearestTiesToEven 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0) ~huge_ceil~0) [2018-11-23 07:09:24,972 INFO L451 ceAbstractionStarter]: At program point ULTIMATE.startENTRY(line -1) the Hoare annotation is: true [2018-11-23 07:09:24,972 INFO L448 ceAbstractionStarter]: For program point ULTIMATE.startFINAL(line -1) no Hoare annotation was computed. [2018-11-23 07:09:24,972 INFO L448 ceAbstractionStarter]: For program point L96(line 96) no Hoare annotation was computed. [2018-11-23 07:09:24,973 INFO L448 ceAbstractionStarter]: For program point L95(lines 95 98) no Hoare annotation was computed. [2018-11-23 07:09:24,973 INFO L451 ceAbstractionStarter]: At program point mainENTRY(lines 83 101) the Hoare annotation is: true [2018-11-23 07:09:24,973 INFO L448 ceAbstractionStarter]: For program point mainFINAL(lines 83 101) no Hoare annotation was computed. [2018-11-23 07:09:24,973 INFO L444 ceAbstractionStarter]: At program point L92(line 92) the Hoare annotation is: (or (not (= ((_ to_fp 11 53) roundNearestTiesToEven 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0) ~huge_ceil~0)) (= main_~x~0 (fp.neg (_ +zero 11 53)))) [2018-11-23 07:09:24,973 INFO L448 ceAbstractionStarter]: For program point L92-1(line 92) no Hoare annotation was computed. [2018-11-23 07:09:24,973 INFO L448 ceAbstractionStarter]: For program point mainEXIT(lines 83 101) no Hoare annotation was computed. [2018-11-23 07:09:24,973 INFO L448 ceAbstractionStarter]: For program point mainErr0ASSERT_VIOLATIONERROR_FUNCTION(line 96) no Hoare annotation was computed. [2018-11-23 07:09:24,978 WARN L416 cessorBacktranslator]: Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven [2018-11-23 07:09:24,981 WARN L416 cessorBacktranslator]: Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven [2018-11-23 07:09:24,983 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 23.11 07:09:24 BoogieIcfgContainer [2018-11-23 07:09:24,983 INFO L132 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2018-11-23 07:09:24,983 INFO L113 PluginConnector]: ------------------------Witness Printer---------------------------- [2018-11-23 07:09:24,983 INFO L271 PluginConnector]: Initializing Witness Printer... [2018-11-23 07:09:24,983 INFO L276 PluginConnector]: Witness Printer initialized [2018-11-23 07:09:24,984 INFO L185 PluginConnector]: Executing the observer RCFGCatcher from plugin Witness Printer for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 07:09:09" (3/4) ... [2018-11-23 07:09:24,986 INFO L144 WitnessPrinter]: Generating witness for correct program [2018-11-23 07:09:24,990 INFO L354 RCFGBacktranslator]: Ignoring RootEdge to procedure ULTIMATE.init [2018-11-23 07:09:24,990 INFO L354 RCFGBacktranslator]: Ignoring RootEdge to procedure ceil_double [2018-11-23 07:09:24,991 INFO L354 RCFGBacktranslator]: Ignoring RootEdge to procedure main [2018-11-23 07:09:24,994 INFO L879 BoogieBacktranslator]: Reduced CFG by removing 17 nodes and edges [2018-11-23 07:09:24,994 INFO L879 BoogieBacktranslator]: Reduced CFG by removing 8 nodes and edges [2018-11-23 07:09:24,995 INFO L879 BoogieBacktranslator]: Reduced CFG by removing 1 nodes and edges [2018-11-23 07:09:25,014 WARN L221 nessWitnessGenerator]: Not writing invariant because ACSL is forbidden: !(~to_fp~LONGDOUBLE(~roundNearestTiesToEven, 1.0E300) == huge_ceil) || \old(x) == x [2018-11-23 07:09:25,035 INFO L145 WitnessManager]: Wrote witness to /tmp/vcloud-vcloud-master/worker/working_dir_2dcc77f4-9115-49b8-9858-34ae22066974/bin-2019/uautomizer/witness.graphml [2018-11-23 07:09:25,035 INFO L132 PluginConnector]: ------------------------ END Witness Printer---------------------------- [2018-11-23 07:09:25,036 INFO L168 Benchmark]: Toolchain (without parser) took 16753.93 ms. Allocated memory was 1.0 GB in the beginning and 1.1 GB in the end (delta: 115.9 MB). Free memory was 949.7 MB in the beginning and 824.2 MB in the end (delta: 125.5 MB). Peak memory consumption was 241.4 MB. Max. memory is 11.5 GB. [2018-11-23 07:09:25,037 INFO L168 Benchmark]: CDTParser took 0.15 ms. Allocated memory is still 1.0 GB. Free memory is still 978.7 MB. There was no memory consumed. Max. memory is 11.5 GB. [2018-11-23 07:09:25,037 INFO L168 Benchmark]: CACSL2BoogieTranslator took 200.70 ms. Allocated memory is still 1.0 GB. Free memory was 949.7 MB in the beginning and 933.6 MB in the end (delta: 16.1 MB). Peak memory consumption was 16.1 MB. Max. memory is 11.5 GB. [2018-11-23 07:09:25,037 INFO L168 Benchmark]: Boogie Procedure Inliner took 19.24 ms. Allocated memory is still 1.0 GB. Free memory is still 933.6 MB. There was no memory consumed. Max. memory is 11.5 GB. [2018-11-23 07:09:25,037 INFO L168 Benchmark]: Boogie Preprocessor took 62.29 ms. Allocated memory was 1.0 GB in the beginning and 1.1 GB in the end (delta: 115.9 MB). Free memory was 933.6 MB in the beginning and 1.1 GB in the end (delta: -169.8 MB). Peak memory consumption was 15.2 MB. Max. memory is 11.5 GB. [2018-11-23 07:09:25,038 INFO L168 Benchmark]: RCFGBuilder took 1202.32 ms. Allocated memory is still 1.1 GB. Free memory was 1.1 GB in the beginning and 1.1 GB in the end (delta: 19.6 MB). Peak memory consumption was 19.6 MB. Max. memory is 11.5 GB. [2018-11-23 07:09:25,038 INFO L168 Benchmark]: TraceAbstraction took 15213.66 ms. Allocated memory is still 1.1 GB. Free memory was 1.1 GB in the beginning and 831.1 MB in the end (delta: 252.8 MB). Peak memory consumption was 252.8 MB. Max. memory is 11.5 GB. [2018-11-23 07:09:25,038 INFO L168 Benchmark]: Witness Printer took 52.23 ms. Allocated memory is still 1.1 GB. Free memory was 831.1 MB in the beginning and 824.2 MB in the end (delta: 6.8 MB). Peak memory consumption was 6.8 MB. Max. memory is 11.5 GB. [2018-11-23 07:09:25,039 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 200.70 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 19.24 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 62.29 ms. Allocated memory was 1.0 GB in the beginning and 1.1 GB in the end (delta: 115.9 MB). Free memory was 933.6 MB in the beginning and 1.1 GB in the end (delta: -169.8 MB). Peak memory consumption was 15.2 MB. Max. memory is 11.5 GB. * RCFGBuilder took 1202.32 ms. Allocated memory is still 1.1 GB. Free memory was 1.1 GB in the beginning and 1.1 GB in the end (delta: 19.6 MB). Peak memory consumption was 19.6 MB. Max. memory is 11.5 GB. * TraceAbstraction took 15213.66 ms. Allocated memory is still 1.1 GB. Free memory was 1.1 GB in the beginning and 831.1 MB in the end (delta: 252.8 MB). Peak memory consumption was 252.8 MB. Max. memory is 11.5 GB. * Witness Printer took 52.23 ms. Allocated memory is still 1.1 GB. Free memory was 831.1 MB in the beginning and 824.2 MB in the end (delta: 6.8 MB). Peak memory consumption was 6.8 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 * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - PositiveResult [Line: 96]: call of __VERIFIER_error() unreachable For all program executions holds that call of __VERIFIER_error() unreachable at this location - AllSpecificationsHoldResult: All specifications hold 1 specifications checked. All of them hold - InvariantResult [Line: 22]: Loop Invariant [2018-11-23 07:09:25,041 WARN L416 cessorBacktranslator]: Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven [2018-11-23 07:09:25,042 WARN L416 cessorBacktranslator]: Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven Derived loop invariant: !(~to_fp~LONGDOUBLE(~roundNearestTiesToEven, 1.0E300) == huge_ceil) || \old(x) == x - StatisticsResult: Ultimate Automizer benchmark data CFG has 4 procedures, 42 locations, 1 error locations. SAFE Result, 15.1s OverallTime, 7 OverallIterations, 1 TraceHistogramMax, 10.1s AutomataDifference, 0.0s DeadEndRemovalTime, 0.1s HoareAnnotationTime, HoareTripleCheckerStatistics: 261 SDtfs, 248 SDslu, 574 SDs, 0 SdLazy, 302 SolverSat, 22 SolverUnsat, 0 SolverUnknown, 0 SolverNotchecked, 7.1s Time, PredicateUnifierStatistics: 0 DeclaredPredicates, 158 GetRequests, 110 SyntacticMatches, 4 SemanticMatches, 44 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 24 ImplicationChecksByTransitivity, 6.3s Time, 0.0s BasicInterpolantAutomatonTime, BiggestAbstraction: size=42occurred 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, 7 MinimizatonAttempts, 7 StatesRemovedByMinimization, 2 NontrivialMinimizations, HoareAnnotationStatistics: 0.0s HoareAnnotationTime, 7 LocationsWithAnnotation, 7 PreInvPairs, 8 NumberOfFragments, 30 HoareAnnotationTreeSize, 7 FomulaSimplifications, 0 FormulaSimplificationTreeSizeReduction, 0.0s HoareSimplificationTime, 7 FomulaSimplificationsInter, 34 FormulaSimplificationTreeSizeReductionInter, 0.0s HoareSimplificationTimeInter, RefinementEngineStatistics: TraceCheckStatistics: 0.0s SsaConstructionTime, 0.4s SatisfiabilityAnalysisTime, 4.1s InterpolantComputationTime, 150 NumberOfCodeBlocks, 150 NumberOfCodeBlocksAsserted, 7 NumberOfCheckSat, 143 ConstructedInterpolants, 25 QuantifiedInterpolants, 19963 SizeOfPredicates, 21 NumberOfNonLiveVariables, 428 ConjunctsInSsa, 43 ConjunctsInUnsatCore, 7 InterpolantComputations, 7 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...