./Ultimate.py --spec ../../sv-benchmarks/c/properties/unreach-call.prp --file ../../sv-benchmarks/c/float-newlib/double_req_bl_1091_true-unreach-call.c --full-output --architecture 32bit -------------------------------------------------------------------------------- Checking for ERROR reachability Using default analysis Version aa418289 Calling Ultimate with: java -Dosgi.configuration.area=/tmp/vcloud-vcloud-master/worker/working_dir_3e40160e-16b2-4788-a037-c87146985957/bin-2019/utaipan/data/config -Xmx12G -Xms1G -jar /tmp/vcloud-vcloud-master/worker/working_dir_3e40160e-16b2-4788-a037-c87146985957/bin-2019/utaipan/plugins/org.eclipse.equinox.launcher_1.3.100.v20150511-1540.jar -data @noDefault -ultimatedata /tmp/vcloud-vcloud-master/worker/working_dir_3e40160e-16b2-4788-a037-c87146985957/bin-2019/utaipan/data -tc /tmp/vcloud-vcloud-master/worker/working_dir_3e40160e-16b2-4788-a037-c87146985957/bin-2019/utaipan/config/TaipanReach.xml -i ../../sv-benchmarks/c/float-newlib/double_req_bl_1091_true-unreach-call.c -s /tmp/vcloud-vcloud-master/worker/working_dir_3e40160e-16b2-4788-a037-c87146985957/bin-2019/utaipan/config/svcomp-Reach-32bit-Taipan_Default.epf --cacsl2boogietranslator.entry.function main --witnessprinter.witness.directory /tmp/vcloud-vcloud-master/worker/working_dir_3e40160e-16b2-4788-a037-c87146985957/bin-2019/utaipan --witnessprinter.witness.filename witness.graphml --witnessprinter.write.witness.besides.input.file false --witnessprinter.graph.data.specification CHECK( init(main()), LTL(G ! call(__VERIFIER_error())) ) --witnessprinter.graph.data.producer Taipan --witnessprinter.graph.data.architecture 32bit --witnessprinter.graph.data.programhash 84dba58cac25505e0eb3c404a47a071a268de901 ......................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................... Execution finished normally Using bit-precise analysis Retrying with bit-precise analysis Calling Ultimate with: java -Dosgi.configuration.area=/tmp/vcloud-vcloud-master/worker/working_dir_3e40160e-16b2-4788-a037-c87146985957/bin-2019/utaipan/data/config -Xmx12G -Xms1G -jar /tmp/vcloud-vcloud-master/worker/working_dir_3e40160e-16b2-4788-a037-c87146985957/bin-2019/utaipan/plugins/org.eclipse.equinox.launcher_1.3.100.v20150511-1540.jar -data @noDefault -ultimatedata /tmp/vcloud-vcloud-master/worker/working_dir_3e40160e-16b2-4788-a037-c87146985957/bin-2019/utaipan/data -tc /tmp/vcloud-vcloud-master/worker/working_dir_3e40160e-16b2-4788-a037-c87146985957/bin-2019/utaipan/config/TaipanReach.xml -i ../../sv-benchmarks/c/float-newlib/double_req_bl_1091_true-unreach-call.c -s /tmp/vcloud-vcloud-master/worker/working_dir_3e40160e-16b2-4788-a037-c87146985957/bin-2019/utaipan/config/svcomp-Reach-32bit-Taipan_Bitvector.epf --cacsl2boogietranslator.entry.function main --witnessprinter.witness.directory /tmp/vcloud-vcloud-master/worker/working_dir_3e40160e-16b2-4788-a037-c87146985957/bin-2019/utaipan --witnessprinter.witness.filename witness.graphml --witnessprinter.write.witness.besides.input.file false --witnessprinter.graph.data.specification CHECK( init(main()), LTL(G ! call(__VERIFIER_error())) ) --witnessprinter.graph.data.producer Taipan --witnessprinter.graph.data.architecture 32bit --witnessprinter.graph.data.programhash 84dba58cac25505e0eb3c404a47a071a268de901 ............................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................... Execution finished normally Writing output log to file Ultimate.log Result: TRUE --- Real Ultimate output --- This is Ultimate 0.1.23-aa41828 [2018-11-23 01:13:35,617 INFO L170 SettingsManager]: Resetting all preferences to default values... [2018-11-23 01:13:35,618 INFO L174 SettingsManager]: Resetting UltimateCore preferences to default values [2018-11-23 01:13:35,626 INFO L177 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2018-11-23 01:13:35,626 INFO L174 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2018-11-23 01:13:35,627 INFO L174 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2018-11-23 01:13:35,628 INFO L174 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2018-11-23 01:13:35,629 INFO L174 SettingsManager]: Resetting LassoRanker preferences to default values [2018-11-23 01:13:35,630 INFO L174 SettingsManager]: Resetting Reaching Definitions preferences to default values [2018-11-23 01:13:35,631 INFO L174 SettingsManager]: Resetting SyntaxChecker preferences to default values [2018-11-23 01:13:35,631 INFO L177 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2018-11-23 01:13:35,632 INFO L174 SettingsManager]: Resetting LTL2Aut preferences to default values [2018-11-23 01:13:35,632 INFO L174 SettingsManager]: Resetting PEA to Boogie preferences to default values [2018-11-23 01:13:35,633 INFO L174 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2018-11-23 01:13:35,634 INFO L174 SettingsManager]: Resetting ChcToBoogie preferences to default values [2018-11-23 01:13:35,634 INFO L174 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2018-11-23 01:13:35,635 INFO L174 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2018-11-23 01:13:35,636 INFO L174 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2018-11-23 01:13:35,637 INFO L174 SettingsManager]: Resetting CodeCheck preferences to default values [2018-11-23 01:13:35,639 INFO L174 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2018-11-23 01:13:35,639 INFO L174 SettingsManager]: Resetting RCFGBuilder preferences to default values [2018-11-23 01:13:35,640 INFO L174 SettingsManager]: Resetting TraceAbstraction preferences to default values [2018-11-23 01:13:35,641 INFO L177 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2018-11-23 01:13:35,642 INFO L177 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2018-11-23 01:13:35,642 INFO L174 SettingsManager]: Resetting TreeAutomizer preferences to default values [2018-11-23 01:13:35,643 INFO L174 SettingsManager]: Resetting IcfgTransformer preferences to default values [2018-11-23 01:13:35,643 INFO L174 SettingsManager]: Resetting Boogie Printer preferences to default values [2018-11-23 01:13:35,644 INFO L174 SettingsManager]: Resetting ReqPrinter preferences to default values [2018-11-23 01:13:35,645 INFO L174 SettingsManager]: Resetting Witness Printer preferences to default values [2018-11-23 01:13:35,645 INFO L177 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2018-11-23 01:13:35,646 INFO L174 SettingsManager]: Resetting CDTParser preferences to default values [2018-11-23 01:13:35,646 INFO L177 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2018-11-23 01:13:35,646 INFO L177 SettingsManager]: ReqParser provides no preferences, ignoring... [2018-11-23 01:13:35,646 INFO L174 SettingsManager]: Resetting SmtParser preferences to default values [2018-11-23 01:13:35,647 INFO L174 SettingsManager]: Resetting Witness Parser preferences to default values [2018-11-23 01:13:35,648 INFO L181 SettingsManager]: Finished resetting all preferences to default values... [2018-11-23 01:13:35,648 INFO L98 SettingsManager]: Beginning loading settings from /tmp/vcloud-vcloud-master/worker/working_dir_3e40160e-16b2-4788-a037-c87146985957/bin-2019/utaipan/config/svcomp-Reach-32bit-Taipan_Default.epf [2018-11-23 01:13:35,655 INFO L110 SettingsManager]: Loading preferences was successful [2018-11-23 01:13:35,655 INFO L112 SettingsManager]: Preferences different from defaults after loading the file: [2018-11-23 01:13:35,655 INFO L131 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2018-11-23 01:13:35,656 INFO L133 SettingsManager]: * ... calls to implemented procedures=ONLY_FOR_CONCURRENT_PROGRAMS [2018-11-23 01:13:35,656 INFO L133 SettingsManager]: * User list type=DISABLED [2018-11-23 01:13:35,656 INFO L131 SettingsManager]: Preferences of Abstract Interpretation differ from their defaults: [2018-11-23 01:13:35,656 INFO L133 SettingsManager]: * Explicit value domain=true [2018-11-23 01:13:35,656 INFO L133 SettingsManager]: * Abstract domain for RCFG-of-the-future=PoormanAbstractDomain [2018-11-23 01:13:35,656 INFO L133 SettingsManager]: * Octagon Domain=false [2018-11-23 01:13:35,656 INFO L133 SettingsManager]: * Abstract domain=CompoundDomain [2018-11-23 01:13:35,657 INFO L133 SettingsManager]: * Check feasibility of abstract posts with an SMT solver=true [2018-11-23 01:13:35,657 INFO L133 SettingsManager]: * Use the RCFG-of-the-future interface=true [2018-11-23 01:13:35,657 INFO L133 SettingsManager]: * Interval Domain=false [2018-11-23 01:13:35,657 INFO L131 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2018-11-23 01:13:35,658 INFO L133 SettingsManager]: * sizeof long=4 [2018-11-23 01:13:35,658 INFO L133 SettingsManager]: * Overapproximate operations on floating types=true [2018-11-23 01:13:35,658 INFO L133 SettingsManager]: * sizeof POINTER=4 [2018-11-23 01:13:35,658 INFO L133 SettingsManager]: * Check division by zero=IGNORE [2018-11-23 01:13:35,658 INFO L133 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2018-11-23 01:13:35,658 INFO L133 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2018-11-23 01:13:35,658 INFO L133 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2018-11-23 01:13:35,659 INFO L133 SettingsManager]: * sizeof long double=12 [2018-11-23 01:13:35,659 INFO L133 SettingsManager]: * Check if freed pointer was valid=false [2018-11-23 01:13:35,659 INFO L133 SettingsManager]: * Use constant arrays=true [2018-11-23 01:13:35,659 INFO L133 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2018-11-23 01:13:35,659 INFO L131 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2018-11-23 01:13:35,659 INFO L133 SettingsManager]: * Size of a code block=SequenceOfStatements [2018-11-23 01:13:35,659 INFO L133 SettingsManager]: * To the following directory=./dump/ [2018-11-23 01:13:35,660 INFO L133 SettingsManager]: * SMT solver=External_DefaultMode [2018-11-23 01:13:35,660 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2018-11-23 01:13:35,660 INFO L131 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2018-11-23 01:13:35,660 INFO L133 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2018-11-23 01:13:35,660 INFO L133 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2018-11-23 01:13:35,660 INFO L133 SettingsManager]: * Trace refinement strategy=TAIPAN [2018-11-23 01:13:35,661 INFO L133 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2018-11-23 01:13:35,661 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2018-11-23 01:13:35,661 INFO L133 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2018-11-23 01:13:35,661 INFO L133 SettingsManager]: * Abstract interpretation Mode=USE_PREDICATES Applying setting for plugin de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator: Entry function -> main Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Witness directory -> /tmp/vcloud-vcloud-master/worker/working_dir_3e40160e-16b2-4788-a037-c87146985957/bin-2019/utaipan Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Witness filename -> witness.graphml Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Write witness besides input file -> false Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data specification -> CHECK( init(main()), LTL(G ! call(__VERIFIER_error())) ) Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data producer -> Taipan Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data architecture -> 32bit Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data programhash -> 84dba58cac25505e0eb3c404a47a071a268de901 [2018-11-23 01:13:35,685 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2018-11-23 01:13:35,694 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2018-11-23 01:13:35,696 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2018-11-23 01:13:35,698 INFO L271 PluginConnector]: Initializing CDTParser... [2018-11-23 01:13:35,698 INFO L276 PluginConnector]: CDTParser initialized [2018-11-23 01:13:35,698 INFO L418 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /tmp/vcloud-vcloud-master/worker/working_dir_3e40160e-16b2-4788-a037-c87146985957/bin-2019/utaipan/../../sv-benchmarks/c/float-newlib/double_req_bl_1091_true-unreach-call.c [2018-11-23 01:13:35,743 INFO L221 CDTParser]: Created temporary CDT project at /tmp/vcloud-vcloud-master/worker/working_dir_3e40160e-16b2-4788-a037-c87146985957/bin-2019/utaipan/data/99c35a2c5/314129bc9f0b4f1da0f48eec03d52917/FLAG0ce37b044 [2018-11-23 01:13:36,151 INFO L307 CDTParser]: Found 1 translation units. [2018-11-23 01:13:36,151 INFO L161 CDTParser]: Scanning /tmp/vcloud-vcloud-master/worker/working_dir_3e40160e-16b2-4788-a037-c87146985957/sv-benchmarks/c/float-newlib/double_req_bl_1091_true-unreach-call.c [2018-11-23 01:13:36,155 INFO L355 CDTParser]: About to delete temporary CDT project at /tmp/vcloud-vcloud-master/worker/working_dir_3e40160e-16b2-4788-a037-c87146985957/bin-2019/utaipan/data/99c35a2c5/314129bc9f0b4f1da0f48eec03d52917/FLAG0ce37b044 [2018-11-23 01:13:36,164 INFO L363 CDTParser]: Successfully deleted /tmp/vcloud-vcloud-master/worker/working_dir_3e40160e-16b2-4788-a037-c87146985957/bin-2019/utaipan/data/99c35a2c5/314129bc9f0b4f1da0f48eec03d52917 [2018-11-23 01:13:36,166 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2018-11-23 01:13:36,167 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2018-11-23 01:13:36,168 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2018-11-23 01:13:36,168 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2018-11-23 01:13:36,171 INFO L276 PluginConnector]: CACSL2BoogieTranslator initialized [2018-11-23 01:13:36,172 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 01:13:36" (1/1) ... [2018-11-23 01:13:36,174 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@c9b2349 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 01:13:36, skipping insertion in model container [2018-11-23 01:13:36,174 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 01:13:36" (1/1) ... [2018-11-23 01:13:36,180 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2018-11-23 01:13:36,195 INFO L176 MainTranslator]: Built tables and reachable declarations [2018-11-23 01:13:36,307 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 01:13:36,309 INFO L191 MainTranslator]: Completed pre-run [2018-11-23 01:13:36,328 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 01:13:36,340 INFO L195 MainTranslator]: Completed translation [2018-11-23 01:13:36,341 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 01:13:36 WrapperNode [2018-11-23 01:13:36,341 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2018-11-23 01:13:36,341 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2018-11-23 01:13:36,341 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2018-11-23 01:13:36,341 INFO L276 PluginConnector]: Boogie Procedure Inliner initialized [2018-11-23 01:13:36,347 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 01:13:36" (1/1) ... [2018-11-23 01:13:36,354 INFO L185 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 01:13:36" (1/1) ... [2018-11-23 01:13:36,359 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2018-11-23 01:13:36,359 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2018-11-23 01:13:36,359 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2018-11-23 01:13:36,359 INFO L276 PluginConnector]: Boogie Preprocessor initialized [2018-11-23 01:13:36,401 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 01:13:36" (1/1) ... [2018-11-23 01:13:36,401 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 01:13:36" (1/1) ... [2018-11-23 01:13:36,403 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 01:13:36" (1/1) ... [2018-11-23 01:13:36,403 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 01:13:36" (1/1) ... [2018-11-23 01:13:36,411 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 01:13:36" (1/1) ... [2018-11-23 01:13:36,416 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 01:13:36" (1/1) ... [2018-11-23 01:13:36,417 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 01:13:36" (1/1) ... [2018-11-23 01:13:36,419 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2018-11-23 01:13:36,419 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2018-11-23 01:13:36,420 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2018-11-23 01:13:36,420 INFO L276 PluginConnector]: RCFGBuilder initialized [2018-11-23 01:13:36,420 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 01:13:36" (1/1) ... No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_3e40160e-16b2-4788-a037-c87146985957/bin-2019/utaipan/z3 Starting monitored process 1 with z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 1 with z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2018-11-23 01:13:36,461 INFO L130 BoogieDeclarations]: Found specification of procedure read~real [2018-11-23 01:13:36,461 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2018-11-23 01:13:36,461 INFO L130 BoogieDeclarations]: Found specification of procedure isnan_double [2018-11-23 01:13:36,461 INFO L138 BoogieDeclarations]: Found implementation of procedure isnan_double [2018-11-23 01:13:36,461 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2018-11-23 01:13:36,461 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2018-11-23 01:13:36,461 INFO L130 BoogieDeclarations]: Found specification of procedure write~real [2018-11-23 01:13:36,461 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.alloc [2018-11-23 01:13:36,461 INFO L130 BoogieDeclarations]: Found specification of procedure ceil_double [2018-11-23 01:13:36,461 INFO L138 BoogieDeclarations]: Found implementation of procedure ceil_double [2018-11-23 01:13:36,462 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2018-11-23 01:13:36,462 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2018-11-23 01:13:36,462 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2018-11-23 01:13:36,462 INFO L130 BoogieDeclarations]: Found specification of procedure main [2018-11-23 01:13:36,462 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2018-11-23 01:13:36,462 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2018-11-23 01:13:36,671 INFO L275 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2018-11-23 01:13:36,671 INFO L280 CfgBuilder]: Removed 4 assue(true) statements. [2018-11-23 01:13:36,672 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 01:13:36 BoogieIcfgContainer [2018-11-23 01:13:36,672 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2018-11-23 01:13:36,672 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2018-11-23 01:13:36,672 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2018-11-23 01:13:36,675 INFO L276 PluginConnector]: TraceAbstraction initialized [2018-11-23 01:13:36,676 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 23.11 01:13:36" (1/3) ... [2018-11-23 01:13:36,676 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@1e70360b and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 23.11 01:13:36, skipping insertion in model container [2018-11-23 01:13:36,676 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 01:13:36" (2/3) ... [2018-11-23 01:13:36,677 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@1e70360b and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 23.11 01:13:36, skipping insertion in model container [2018-11-23 01:13:36,677 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 01:13:36" (3/3) ... [2018-11-23 01:13:36,679 INFO L112 eAbstractionObserver]: Analyzing ICFG double_req_bl_1091_true-unreach-call.c [2018-11-23 01:13:36,687 INFO L156 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2018-11-23 01:13:36,694 INFO L168 ceAbstractionStarter]: Appying trace abstraction to program that has 1 error locations. [2018-11-23 01:13:36,709 INFO L257 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2018-11-23 01:13:36,736 INFO L382 AbstractCegarLoop]: Interprodecural is true [2018-11-23 01:13:36,736 INFO L383 AbstractCegarLoop]: Hoare is true [2018-11-23 01:13:36,737 INFO L384 AbstractCegarLoop]: Compute interpolants for FPandBP [2018-11-23 01:13:36,737 INFO L385 AbstractCegarLoop]: Backedges is STRAIGHT_LINE [2018-11-23 01:13:36,737 INFO L386 AbstractCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2018-11-23 01:13:36,737 INFO L387 AbstractCegarLoop]: Difference is false [2018-11-23 01:13:36,737 INFO L388 AbstractCegarLoop]: Minimize is MINIMIZE_SEVPA [2018-11-23 01:13:36,737 INFO L393 AbstractCegarLoop]: ======== Iteration 0==of CEGAR loop == AllErrorsAtOnce======== [2018-11-23 01:13:36,752 INFO L276 IsEmpty]: Start isEmpty. Operand 47 states. [2018-11-23 01:13:36,758 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 24 [2018-11-23 01:13:36,758 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 01:13:36,759 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 01:13:36,761 INFO L423 AbstractCegarLoop]: === Iteration 1 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 01:13:36,765 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 01:13:36,766 INFO L82 PathProgramCache]: Analyzing trace with hash 1881433434, now seen corresponding path program 1 times [2018-11-23 01:13:36,768 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-11-23 01:13:36,806 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 01:13:36,806 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 01:13:36,806 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 01:13:36,806 INFO L286 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-11-23 01:13:36,839 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 01:13:36,868 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 01:13:36,869 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 01:13:36,870 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2018-11-23 01:13:36,870 INFO L256 anRefinementStrategy]: Using the first perfect interpolant sequence [2018-11-23 01:13:36,874 INFO L459 AbstractCegarLoop]: Interpolant automaton has 2 states [2018-11-23 01:13:36,881 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 2 interpolants. [2018-11-23 01:13:36,882 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2018-11-23 01:13:36,884 INFO L87 Difference]: Start difference. First operand 47 states. Second operand 2 states. [2018-11-23 01:13:36,899 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 01:13:36,899 INFO L93 Difference]: Finished difference Result 86 states and 124 transitions. [2018-11-23 01:13:36,899 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2018-11-23 01:13:36,900 INFO L78 Accepts]: Start accepts. Automaton has 2 states. Word has length 23 [2018-11-23 01:13:36,901 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 01:13:36,908 INFO L225 Difference]: With dead ends: 86 [2018-11-23 01:13:36,908 INFO L226 Difference]: Without dead ends: 43 [2018-11-23 01:13:36,911 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 01:13:36,921 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 43 states. [2018-11-23 01:13:36,932 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 43 to 43. [2018-11-23 01:13:36,933 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 43 states. [2018-11-23 01:13:36,934 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 43 states to 43 states and 57 transitions. [2018-11-23 01:13:36,936 INFO L78 Accepts]: Start accepts. Automaton has 43 states and 57 transitions. Word has length 23 [2018-11-23 01:13:36,936 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 01:13:36,936 INFO L480 AbstractCegarLoop]: Abstraction has 43 states and 57 transitions. [2018-11-23 01:13:36,936 INFO L481 AbstractCegarLoop]: Interpolant automaton has 2 states. [2018-11-23 01:13:36,936 INFO L276 IsEmpty]: Start isEmpty. Operand 43 states and 57 transitions. [2018-11-23 01:13:36,937 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 25 [2018-11-23 01:13:36,937 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 01:13:36,937 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 01:13:36,938 INFO L423 AbstractCegarLoop]: === Iteration 2 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 01:13:36,938 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 01:13:36,938 INFO L82 PathProgramCache]: Analyzing trace with hash 1135906069, now seen corresponding path program 1 times [2018-11-23 01:13:36,938 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-11-23 01:13:36,939 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 01:13:36,939 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 01:13:36,939 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 01:13:36,939 INFO L286 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-11-23 01:13:36,974 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 01:13:36,992 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 01:13:37,009 INFO L469 BasicCegarLoop]: Counterexample might be feasible ----- class de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder.RCFGBacktranslator [?] CALL call ULTIMATE.init(); VAL [|#NULL.base|=6442450950, |#NULL.offset|=6442450945, |old(#NULL.base)|=6442450950, |old(#NULL.offset)|=6442450945, |old(~huge_ceil~0)|=6442450948.0, ~huge_ceil~0=6442450948.0] [?] #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~huge_ceil~0 := 1.0E300; VAL [|#NULL.base|=0, |#NULL.offset|=0, |old(#NULL.base)|=6442450950, |old(#NULL.offset)|=6442450945, |old(~huge_ceil~0)|=6442450948.0, ~huge_ceil~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0] [?] assume true; VAL [|#NULL.base|=0, |#NULL.offset|=0, |old(#NULL.base)|=6442450950, |old(#NULL.offset)|=6442450945, |old(~huge_ceil~0)|=6442450948.0, ~huge_ceil~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0] [?] RET #129#return; VAL [|#NULL.base|=0, |#NULL.offset|=0, ~huge_ceil~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0] [?] CALL call #t~ret8 := main(); VAL [|#NULL.base|=0, |#NULL.offset|=0, ~huge_ceil~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0] [?] ~x~0 := ~someBinaryArithmeticDOUBLEoperation(0.0, 0.0); VAL [|#NULL.base|=0, |#NULL.offset|=0, ~huge_ceil~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0] [?] CALL call #t~ret6 := ceil_double(~x~0); VAL [|#NULL.base|=0, |#NULL.offset|=0, |ceil_double_#in~x|=6442450949.0, ~huge_ceil~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0] [?] ~x := #in~x;havoc ~i0~0;havoc ~i1~0;havoc ~j0~0;havoc ~i~0;havoc ~j~0; VAL [ceil_double_~x=6442450949.0, |#NULL.base|=0, |#NULL.offset|=0, |ceil_double_#in~x|=6442450949.0, ~huge_ceil~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0] [?] call ~#ew_u~0.base, ~#ew_u~0.offset := #Ultimate.alloc(8);call write~real(~x, ~#ew_u~0.base, ~#ew_u~0.offset, 8);call #t~mem0 := read~int(~#ew_u~0.base, 4 + ~#ew_u~0.offset, 4);~i0~0 := (if #t~mem0 % 4294967296 % 4294967296 <= 2147483647 then #t~mem0 % 4294967296 % 4294967296 else #t~mem0 % 4294967296 % 4294967296 - 4294967296);call write~real(#t~union1, ~#ew_u~0.base, ~#ew_u~0.offset, 8);havoc #t~mem0;havoc #t~union1;call #t~mem2 := read~int(~#ew_u~0.base, ~#ew_u~0.offset, 4);~i1~0 := (if #t~mem2 % 4294967296 % 4294967296 <= 2147483647 then #t~mem2 % 4294967296 % 4294967296 else #t~mem2 % 4294967296 % 4294967296 - 4294967296);call write~real(#t~union3, ~#ew_u~0.base, ~#ew_u~0.offset, 8);havoc #t~union3;havoc #t~mem2;call ULTIMATE.dealloc(~#ew_u~0.base, ~#ew_u~0.offset);havoc ~#ew_u~0.base, ~#ew_u~0.offset; VAL [ceil_double_~i0~0=(- 2147483648), ceil_double_~i1~0=2147483647, ceil_double_~x=6442450949.0, |#NULL.base|=0, |#NULL.offset|=0, |ceil_double_#in~x|=6442450949.0, ~huge_ceil~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0] [?] goto; VAL [ceil_double_~i0~0=(- 2147483648), ceil_double_~i1~0=2147483647, ceil_double_~x=6442450949.0, |#NULL.base|=0, |#NULL.offset|=0, |ceil_double_#in~x|=6442450949.0, ~huge_ceil~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0] [?] ~j0~0 := ~bitwiseAnd(~i0~0 / 1048576, 2047) - 1023; VAL [ceil_double_~i0~0=(- 2147483648), ceil_double_~i1~0=2147483647, ceil_double_~x=6442450949.0, |#NULL.base|=0, |#NULL.offset|=0, |ceil_double_#in~x|=6442450949.0, ~huge_ceil~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0] [?] assume ~j0~0 < 20; VAL [ceil_double_~i0~0=(- 2147483648), ceil_double_~i1~0=2147483647, ceil_double_~j0~0=0, ceil_double_~x=6442450949.0, |#NULL.base|=0, |#NULL.offset|=0, |ceil_double_#in~x|=6442450949.0, ~huge_ceil~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0] [?] assume !(~j0~0 < 0);~i~0 := ~shiftRight(1048575, ~j0~0); VAL [ceil_double_~i0~0=(- 2147483648), ceil_double_~i1~0=2147483647, ceil_double_~j0~0=0, ceil_double_~x=6442450949.0, |#NULL.base|=0, |#NULL.offset|=0, |ceil_double_#in~x|=6442450949.0, ~huge_ceil~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0] [?] assume 0 == ~bitwiseOr(~bitwiseAnd(~i0~0, ~i~0), ~i1~0) % 4294967296;#res := ~x; VAL [ceil_double_~i0~0=(- 2147483648), ceil_double_~i1~0=2147483647, ceil_double_~j0~0=0, ceil_double_~x=6442450949.0, |#NULL.base|=0, |#NULL.offset|=0, |ceil_double_#in~x|=6442450949.0, |ceil_double_#res|=6442450949.0, ~huge_ceil~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0] [?] assume true; VAL [ceil_double_~i0~0=(- 2147483648), ceil_double_~i1~0=2147483647, ceil_double_~j0~0=0, ceil_double_~x=6442450949.0, |#NULL.base|=0, |#NULL.offset|=0, |ceil_double_#in~x|=6442450949.0, |ceil_double_#res|=6442450949.0, ~huge_ceil~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0] [?] RET #133#return; VAL [main_~x~0=6442450949.0, |#NULL.base|=0, |#NULL.offset|=0, |main_#t~ret6|=6442450949.0, ~huge_ceil~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0] [?] ~res~0 := #t~ret6;havoc #t~ret6; VAL [main_~res~0=6442450949.0, main_~x~0=6442450949.0, |#NULL.base|=0, |#NULL.offset|=0, ~huge_ceil~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0] [?] CALL call #t~ret7 := isnan_double(~res~0); VAL [|#NULL.base|=0, |#NULL.offset|=0, |isnan_double_#in~x|=6442450949.0, ~huge_ceil~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0] [?] ~x := #in~x;#res := (if ~someBinaryDOUBLEComparisonOperation(~x, ~x) then 1 else 0); VAL [isnan_double_~x=6442450949.0, |#NULL.base|=0, |#NULL.offset|=0, |isnan_double_#in~x|=6442450949.0, |isnan_double_#res|=0, ~huge_ceil~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0] [?] assume true; VAL [isnan_double_~x=6442450949.0, |#NULL.base|=0, |#NULL.offset|=0, |isnan_double_#in~x|=6442450949.0, |isnan_double_#res|=0, ~huge_ceil~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0] [?] RET #135#return; VAL [main_~res~0=6442450949.0, main_~x~0=6442450949.0, |#NULL.base|=0, |#NULL.offset|=0, |main_#t~ret7|=0, ~huge_ceil~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0] [?] assume -2147483648 <= #t~ret7 && #t~ret7 <= 2147483647; VAL [main_~res~0=6442450949.0, main_~x~0=6442450949.0, |#NULL.base|=0, |#NULL.offset|=0, |main_#t~ret7|=0, ~huge_ceil~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0] [?] assume 0 == #t~ret7;havoc #t~ret7; VAL [main_~res~0=6442450949.0, main_~x~0=6442450949.0, |#NULL.base|=0, |#NULL.offset|=0, ~huge_ceil~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0] [?] assume !false; VAL [main_~res~0=6442450949.0, main_~x~0=6442450949.0, |#NULL.base|=0, |#NULL.offset|=0, ~huge_ceil~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0] [?] CALL call ULTIMATE.init(); VAL [#NULL.base=6442450950, #NULL.offset=6442450945, old(#NULL.base)=6442450950, old(#NULL.offset)=6442450945, old(~huge_ceil~0)=6.442450948E9, ~huge_ceil~0=6.442450948E9] [?] #NULL.base, #NULL.offset := 0, 0; [?] #valid := #valid[0 := 0]; [L17] ~huge_ceil~0 := 1.0E300; VAL [#NULL.base=0, #NULL.offset=0, old(#NULL.base)=6442450950, old(#NULL.offset)=6442450945, old(~huge_ceil~0)=6.442450948E9, ~huge_ceil~0=1.0E300] [?] ensures true; VAL [#NULL.base=0, #NULL.offset=0, old(#NULL.base)=6442450950, old(#NULL.offset)=6442450945, old(~huge_ceil~0)=6.442450948E9, ~huge_ceil~0=1.0E300] [?] RET call ULTIMATE.init(); VAL [#NULL.base=0, #NULL.offset=0, ~huge_ceil~0=1.0E300] [?] CALL call #t~ret8 := main(); VAL [#NULL.base=0, #NULL.offset=0, ~huge_ceil~0=1.0E300] [L90] ~x~0 := ~someBinaryArithmeticDOUBLEoperation(0.0, 0.0); VAL [#NULL.base=0, #NULL.offset=0, ~huge_ceil~0=1.0E300] [L91] CALL call #t~ret6 := ceil_double(~x~0); VAL [#in~x=6.442450949E9, #NULL.base=0, #NULL.offset=0, ~huge_ceil~0=1.0E300] [L19-L81] ~x := #in~x; [L20] havoc ~i0~0; [L20] havoc ~i1~0; [L20] havoc ~j0~0; [L21] havoc ~i~0; [L21] havoc ~j~0; VAL [#in~x=6.442450949E9, #NULL.base=0, #NULL.offset=0, ~huge_ceil~0=1.0E300, ~x=6.442450949E9] [L23] call ~#ew_u~0.base, ~#ew_u~0.offset := #Ultimate.alloc(8); [L24] call write~real(~x, ~#ew_u~0.base, ~#ew_u~0.offset, 8); [L25] call #t~mem0 := read~int(~#ew_u~0.base, 4 + ~#ew_u~0.offset, 4); [L25] ~i0~0 := (if #t~mem0 % 4294967296 % 4294967296 <= 2147483647 then #t~mem0 % 4294967296 % 4294967296 else #t~mem0 % 4294967296 % 4294967296 - 4294967296); [L25] call write~real(#t~union1, ~#ew_u~0.base, ~#ew_u~0.offset, 8); [L25] havoc #t~mem0; [L25] havoc #t~union1; [L26] call #t~mem2 := read~int(~#ew_u~0.base, ~#ew_u~0.offset, 4); [L26] ~i1~0 := (if #t~mem2 % 4294967296 % 4294967296 <= 2147483647 then #t~mem2 % 4294967296 % 4294967296 else #t~mem2 % 4294967296 % 4294967296 - 4294967296); [L26] call write~real(#t~union3, ~#ew_u~0.base, ~#ew_u~0.offset, 8); [L26] havoc #t~union3; [L26] havoc #t~mem2; [L23] call ULTIMATE.dealloc(~#ew_u~0.base, ~#ew_u~0.offset); [L23] havoc ~#ew_u~0.base, ~#ew_u~0.offset; VAL [#in~x=6.442450949E9, #NULL.base=0, #NULL.offset=0, ~huge_ceil~0=1.0E300, ~i0~0=-2147483648, ~i1~0=2147483647, ~x=6.442450949E9] [L28] ~j0~0 := ~bitwiseAnd(~i0~0 / 1048576, 2047) - 1023; VAL [#in~x=6.442450949E9, #NULL.base=0, #NULL.offset=0, ~huge_ceil~0=1.0E300, ~i0~0=-2147483648, ~i1~0=2147483647, ~x=6.442450949E9] [L29-L73] assume ~j0~0 < 20; VAL [#in~x=6.442450949E9, #NULL.base=0, #NULL.offset=0, ~huge_ceil~0=1.0E300, ~i0~0=-2147483648, ~i1~0=2147483647, ~j0~0=0, ~x=6.442450949E9] [L30-L50] assume !(~j0~0 < 0); [L41] ~i~0 := ~shiftRight(1048575, ~j0~0); VAL [#in~x=6.442450949E9, #NULL.base=0, #NULL.offset=0, ~huge_ceil~0=1.0E300, ~i0~0=-2147483648, ~i1~0=2147483647, ~j0~0=0, ~x=6.442450949E9] [L42-L43] assume 0 == ~bitwiseOr(~bitwiseAnd(~i0~0, ~i~0), ~i1~0) % 4294967296; [L43] #res := ~x; VAL [#in~x=6.442450949E9, #NULL.base=0, #NULL.offset=0, #res=6.442450949E9, ~huge_ceil~0=1.0E300, ~i0~0=-2147483648, ~i1~0=2147483647, ~j0~0=0, ~x=6.442450949E9] [L19-L81] ensures true; VAL [#in~x=6.442450949E9, #NULL.base=0, #NULL.offset=0, #res=6.442450949E9, ~huge_ceil~0=1.0E300, ~i0~0=-2147483648, ~i1~0=2147483647, ~j0~0=0, ~x=6.442450949E9] [L91] RET call #t~ret6 := ceil_double(~x~0); VAL [#NULL.base=0, #NULL.offset=0, #t~ret6=6.442450949E9, ~huge_ceil~0=1.0E300, ~x~0=6.442450949E9] [L91] ~res~0 := #t~ret6; [L91] havoc #t~ret6; VAL [#NULL.base=0, #NULL.offset=0, ~huge_ceil~0=1.0E300, ~res~0=6.442450949E9, ~x~0=6.442450949E9] [L94] CALL call #t~ret7 := isnan_double(~res~0); VAL [#in~x=6.442450949E9, #NULL.base=0, #NULL.offset=0, ~huge_ceil~0=1.0E300] [L15] ~x := #in~x; [L15] #res := (if ~someBinaryDOUBLEComparisonOperation(~x, ~x) then 1 else 0); VAL [#in~x=6.442450949E9, #NULL.base=0, #NULL.offset=0, #res=0, ~huge_ceil~0=1.0E300, ~x=6.442450949E9] [L15] ensures true; VAL [#in~x=6.442450949E9, #NULL.base=0, #NULL.offset=0, #res=0, ~huge_ceil~0=1.0E300, ~x=6.442450949E9] [L94] RET call #t~ret7 := isnan_double(~res~0); VAL [#NULL.base=0, #NULL.offset=0, #t~ret7=0, ~huge_ceil~0=1.0E300, ~res~0=6.442450949E9, ~x~0=6.442450949E9] [L94] assume -2147483648 <= #t~ret7 && #t~ret7 <= 2147483647; VAL [#NULL.base=0, #NULL.offset=0, #t~ret7=0, ~huge_ceil~0=1.0E300, ~res~0=6.442450949E9, ~x~0=6.442450949E9] [L94-L97] assume 0 == #t~ret7; [L94] havoc #t~ret7; VAL [#NULL.base=0, #NULL.offset=0, ~huge_ceil~0=1.0E300, ~res~0=6.442450949E9, ~x~0=6.442450949E9] [L95] assert false; VAL [#NULL.base=0, #NULL.offset=0, ~huge_ceil~0=1.0E300, ~res~0=6.442450949E9, ~x~0=6.442450949E9] ----- ----- class de.uni_freiburg.informatik.ultimate.boogie.preprocessor.BoogiePreprocessorBacktranslator [?] CALL call ULTIMATE.init(); VAL [#NULL.base=6442450950, #NULL.offset=6442450945, old(#NULL.base)=6442450950, old(#NULL.offset)=6442450945, old(~huge_ceil~0)=6.442450948E9, ~huge_ceil~0=6.442450948E9] [?] #NULL.base, #NULL.offset := 0, 0; [?] #valid := #valid[0 := 0]; [L17] ~huge_ceil~0 := 1.0E300; VAL [#NULL.base=0, #NULL.offset=0, old(#NULL.base)=6442450950, old(#NULL.offset)=6442450945, old(~huge_ceil~0)=6.442450948E9, ~huge_ceil~0=1.0E300] [?] ensures true; VAL [#NULL.base=0, #NULL.offset=0, old(#NULL.base)=6442450950, old(#NULL.offset)=6442450945, old(~huge_ceil~0)=6.442450948E9, ~huge_ceil~0=1.0E300] [?] RET call ULTIMATE.init(); VAL [#NULL.base=0, #NULL.offset=0, ~huge_ceil~0=1.0E300] [?] CALL call #t~ret8 := main(); VAL [#NULL.base=0, #NULL.offset=0, ~huge_ceil~0=1.0E300] [L90] ~x~0 := ~someBinaryArithmeticDOUBLEoperation(0.0, 0.0); VAL [#NULL.base=0, #NULL.offset=0, ~huge_ceil~0=1.0E300] [L91] CALL call #t~ret6 := ceil_double(~x~0); VAL [#in~x=6.442450949E9, #NULL.base=0, #NULL.offset=0, ~huge_ceil~0=1.0E300] [L19-L81] ~x := #in~x; [L20] havoc ~i0~0; [L20] havoc ~i1~0; [L20] havoc ~j0~0; [L21] havoc ~i~0; [L21] havoc ~j~0; VAL [#in~x=6.442450949E9, #NULL.base=0, #NULL.offset=0, ~huge_ceil~0=1.0E300, ~x=6.442450949E9] [L23] call ~#ew_u~0.base, ~#ew_u~0.offset := #Ultimate.alloc(8); [L24] call write~real(~x, ~#ew_u~0.base, ~#ew_u~0.offset, 8); [L25] call #t~mem0 := read~int(~#ew_u~0.base, 4 + ~#ew_u~0.offset, 4); [L25] ~i0~0 := (if #t~mem0 % 4294967296 % 4294967296 <= 2147483647 then #t~mem0 % 4294967296 % 4294967296 else #t~mem0 % 4294967296 % 4294967296 - 4294967296); [L25] call write~real(#t~union1, ~#ew_u~0.base, ~#ew_u~0.offset, 8); [L25] havoc #t~mem0; [L25] havoc #t~union1; [L26] call #t~mem2 := read~int(~#ew_u~0.base, ~#ew_u~0.offset, 4); [L26] ~i1~0 := (if #t~mem2 % 4294967296 % 4294967296 <= 2147483647 then #t~mem2 % 4294967296 % 4294967296 else #t~mem2 % 4294967296 % 4294967296 - 4294967296); [L26] call write~real(#t~union3, ~#ew_u~0.base, ~#ew_u~0.offset, 8); [L26] havoc #t~union3; [L26] havoc #t~mem2; [L23] call ULTIMATE.dealloc(~#ew_u~0.base, ~#ew_u~0.offset); [L23] havoc ~#ew_u~0.base, ~#ew_u~0.offset; VAL [#in~x=6.442450949E9, #NULL.base=0, #NULL.offset=0, ~huge_ceil~0=1.0E300, ~i0~0=-2147483648, ~i1~0=2147483647, ~x=6.442450949E9] [L28] ~j0~0 := ~bitwiseAnd(~i0~0 / 1048576, 2047) - 1023; VAL [#in~x=6.442450949E9, #NULL.base=0, #NULL.offset=0, ~huge_ceil~0=1.0E300, ~i0~0=-2147483648, ~i1~0=2147483647, ~x=6.442450949E9] [L29-L73] assume ~j0~0 < 20; VAL [#in~x=6.442450949E9, #NULL.base=0, #NULL.offset=0, ~huge_ceil~0=1.0E300, ~i0~0=-2147483648, ~i1~0=2147483647, ~j0~0=0, ~x=6.442450949E9] [L30-L50] assume !(~j0~0 < 0); [L41] ~i~0 := ~shiftRight(1048575, ~j0~0); VAL [#in~x=6.442450949E9, #NULL.base=0, #NULL.offset=0, ~huge_ceil~0=1.0E300, ~i0~0=-2147483648, ~i1~0=2147483647, ~j0~0=0, ~x=6.442450949E9] [L42-L43] assume 0 == ~bitwiseOr(~bitwiseAnd(~i0~0, ~i~0), ~i1~0) % 4294967296; [L43] #res := ~x; VAL [#in~x=6.442450949E9, #NULL.base=0, #NULL.offset=0, #res=6.442450949E9, ~huge_ceil~0=1.0E300, ~i0~0=-2147483648, ~i1~0=2147483647, ~j0~0=0, ~x=6.442450949E9] [L19-L81] ensures true; VAL [#in~x=6.442450949E9, #NULL.base=0, #NULL.offset=0, #res=6.442450949E9, ~huge_ceil~0=1.0E300, ~i0~0=-2147483648, ~i1~0=2147483647, ~j0~0=0, ~x=6.442450949E9] [L91] RET call #t~ret6 := ceil_double(~x~0); VAL [#NULL.base=0, #NULL.offset=0, #t~ret6=6.442450949E9, ~huge_ceil~0=1.0E300, ~x~0=6.442450949E9] [L91] ~res~0 := #t~ret6; [L91] havoc #t~ret6; VAL [#NULL.base=0, #NULL.offset=0, ~huge_ceil~0=1.0E300, ~res~0=6.442450949E9, ~x~0=6.442450949E9] [L94] CALL call #t~ret7 := isnan_double(~res~0); VAL [#in~x=6.442450949E9, #NULL.base=0, #NULL.offset=0, ~huge_ceil~0=1.0E300] [L15] ~x := #in~x; [L15] #res := (if ~someBinaryDOUBLEComparisonOperation(~x, ~x) then 1 else 0); VAL [#in~x=6.442450949E9, #NULL.base=0, #NULL.offset=0, #res=0, ~huge_ceil~0=1.0E300, ~x=6.442450949E9] [L15] ensures true; VAL [#in~x=6.442450949E9, #NULL.base=0, #NULL.offset=0, #res=0, ~huge_ceil~0=1.0E300, ~x=6.442450949E9] [L94] RET call #t~ret7 := isnan_double(~res~0); VAL [#NULL.base=0, #NULL.offset=0, #t~ret7=0, ~huge_ceil~0=1.0E300, ~res~0=6.442450949E9, ~x~0=6.442450949E9] [L94] assume -2147483648 <= #t~ret7 && #t~ret7 <= 2147483647; VAL [#NULL.base=0, #NULL.offset=0, #t~ret7=0, ~huge_ceil~0=1.0E300, ~res~0=6.442450949E9, ~x~0=6.442450949E9] [L94-L97] assume 0 == #t~ret7; [L94] havoc #t~ret7; VAL [#NULL.base=0, #NULL.offset=0, ~huge_ceil~0=1.0E300, ~res~0=6.442450949E9, ~x~0=6.442450949E9] [L95] assert false; VAL [#NULL.base=0, #NULL.offset=0, ~huge_ceil~0=1.0E300, ~res~0=6.442450949E9, ~x~0=6.442450949E9] [?] CALL call ULTIMATE.init(); VAL [#NULL!base=6442450950, #NULL!offset=6442450945, old(#NULL!base)=6442450950, old(#NULL!offset)=6442450945, old(~huge_ceil~0)=6.442450948E9, ~huge_ceil~0=6.442450948E9] [?] #NULL := { base: 0, offset: 0 }; [?] #valid[0] := 0; [L17] ~huge_ceil~0 := 1.0E300; VAL [#NULL!base=0, #NULL!offset=0, old(#NULL!base)=6442450950, old(#NULL!offset)=6442450945, old(~huge_ceil~0)=6.442450948E9, ~huge_ceil~0=1.0E300] [?] RET call ULTIMATE.init(); VAL [#NULL!base=0, #NULL!offset=0, ~huge_ceil~0=1.0E300] [?] CALL call #t~ret8 := main(); VAL [#NULL!base=0, #NULL!offset=0, ~huge_ceil~0=1.0E300] [L90] ~x~0 := ~someBinaryArithmeticDOUBLEoperation(0.0, 0.0); VAL [#NULL!base=0, #NULL!offset=0, ~huge_ceil~0=1.0E300] [L91] CALL call #t~ret6 := ceil_double(~x~0); VAL [#in~x=6.442450949E9, #NULL!base=0, #NULL!offset=0, ~huge_ceil~0=1.0E300] [L19-L81] ~x := #in~x; [L20] havoc ~i0~0; [L20] havoc ~i1~0; [L20] havoc ~j0~0; [L21] havoc ~i~0; [L21] havoc ~j~0; VAL [#in~x=6.442450949E9, #NULL!base=0, #NULL!offset=0, ~huge_ceil~0=1.0E300, ~x=6.442450949E9] [L23] FCALL call ~#ew_u~0 := #Ultimate.alloc(8); [L24] FCALL call write~real(~x, { base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 8); [L25] FCALL call #t~mem0 := read~int({ base: ~#ew_u~0!base, offset: 4 + ~#ew_u~0!offset }, 4); [L25] ~i0~0 := (if #t~mem0 % 4294967296 % 4294967296 <= 2147483647 then #t~mem0 % 4294967296 % 4294967296 else #t~mem0 % 4294967296 % 4294967296 - 4294967296); [L25] FCALL call write~real(#t~union1, { base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 8); [L25] havoc #t~mem0; [L25] havoc #t~union1; [L26] FCALL call #t~mem2 := read~int({ base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 4); [L26] ~i1~0 := (if #t~mem2 % 4294967296 % 4294967296 <= 2147483647 then #t~mem2 % 4294967296 % 4294967296 else #t~mem2 % 4294967296 % 4294967296 - 4294967296); [L26] FCALL call write~real(#t~union3, { base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 8); [L26] havoc #t~union3; [L26] havoc #t~mem2; [L23] FCALL call ULTIMATE.dealloc(~#ew_u~0); [L23] havoc ~#ew_u~0; VAL [#in~x=6.442450949E9, #NULL!base=0, #NULL!offset=0, ~huge_ceil~0=1.0E300, ~i0~0=-2147483648, ~i1~0=2147483647, ~x=6.442450949E9] [L28] ~j0~0 := ~bitwiseAnd(~i0~0 / 1048576, 2047) - 1023; VAL [#in~x=6.442450949E9, #NULL!base=0, #NULL!offset=0, ~huge_ceil~0=1.0E300, ~i0~0=-2147483648, ~i1~0=2147483647, ~x=6.442450949E9] [L29] COND TRUE ~j0~0 < 20 VAL [#in~x=6.442450949E9, #NULL!base=0, #NULL!offset=0, ~huge_ceil~0=1.0E300, ~i0~0=-2147483648, ~i1~0=2147483647, ~j0~0=0, ~x=6.442450949E9] [L30] COND FALSE !(~j0~0 < 0) [L41] ~i~0 := ~shiftRight(1048575, ~j0~0); VAL [#in~x=6.442450949E9, #NULL!base=0, #NULL!offset=0, ~huge_ceil~0=1.0E300, ~i0~0=-2147483648, ~i1~0=2147483647, ~j0~0=0, ~x=6.442450949E9] [L42] COND TRUE 0 == ~bitwiseOr(~bitwiseAnd(~i0~0, ~i~0), ~i1~0) % 4294967296 [L43] #res := ~x; VAL [#in~x=6.442450949E9, #NULL!base=0, #NULL!offset=0, #res=6.442450949E9, ~huge_ceil~0=1.0E300, ~i0~0=-2147483648, ~i1~0=2147483647, ~j0~0=0, ~x=6.442450949E9] [L91] RET call #t~ret6 := ceil_double(~x~0); VAL [#NULL!base=0, #NULL!offset=0, #t~ret6=6.442450949E9, ~huge_ceil~0=1.0E300, ~x~0=6.442450949E9] [L91] ~res~0 := #t~ret6; [L91] havoc #t~ret6; VAL [#NULL!base=0, #NULL!offset=0, ~huge_ceil~0=1.0E300, ~res~0=6.442450949E9, ~x~0=6.442450949E9] [L94] CALL call #t~ret7 := isnan_double(~res~0); VAL [#in~x=6.442450949E9, #NULL!base=0, #NULL!offset=0, ~huge_ceil~0=1.0E300] [L15] ~x := #in~x; [L15] #res := (if ~someBinaryDOUBLEComparisonOperation(~x, ~x) then 1 else 0); VAL [#in~x=6.442450949E9, #NULL!base=0, #NULL!offset=0, #res=0, ~huge_ceil~0=1.0E300, ~x=6.442450949E9] [L94] RET call #t~ret7 := isnan_double(~res~0); VAL [#NULL!base=0, #NULL!offset=0, #t~ret7=0, ~huge_ceil~0=1.0E300, ~res~0=6.442450949E9, ~x~0=6.442450949E9] [L94] assume -2147483648 <= #t~ret7 && #t~ret7 <= 2147483647; VAL [#NULL!base=0, #NULL!offset=0, #t~ret7=0, ~huge_ceil~0=1.0E300, ~res~0=6.442450949E9, ~x~0=6.442450949E9] [L94] COND TRUE 0 == #t~ret7 [L94] havoc #t~ret7; VAL [#NULL!base=0, #NULL!offset=0, ~huge_ceil~0=1.0E300, ~res~0=6.442450949E9, ~x~0=6.442450949E9] [L95] assert false; VAL [#NULL!base=0, #NULL!offset=0, ~huge_ceil~0=1.0E300, ~res~0=6.442450949E9, ~x~0=6.442450949E9] ----- ----- class de.uni_freiburg.informatik.ultimate.boogie.procedureinliner.backtranslation.InlinerBacktranslator [?] CALL call ULTIMATE.init(); VAL [#NULL!base=6442450950, #NULL!offset=6442450945, old(#NULL!base)=6442450950, old(#NULL!offset)=6442450945, old(~huge_ceil~0)=6.442450948E9, ~huge_ceil~0=6.442450948E9] [?] #NULL := { base: 0, offset: 0 }; [?] #valid[0] := 0; [L17] ~huge_ceil~0 := 1.0E300; VAL [#NULL!base=0, #NULL!offset=0, old(#NULL!base)=6442450950, old(#NULL!offset)=6442450945, old(~huge_ceil~0)=6.442450948E9, ~huge_ceil~0=1.0E300] [?] RET call ULTIMATE.init(); VAL [#NULL!base=0, #NULL!offset=0, ~huge_ceil~0=1.0E300] [?] CALL call #t~ret8 := main(); VAL [#NULL!base=0, #NULL!offset=0, ~huge_ceil~0=1.0E300] [L90] ~x~0 := ~someBinaryArithmeticDOUBLEoperation(0.0, 0.0); VAL [#NULL!base=0, #NULL!offset=0, ~huge_ceil~0=1.0E300] [L91] CALL call #t~ret6 := ceil_double(~x~0); VAL [#in~x=6.442450949E9, #NULL!base=0, #NULL!offset=0, ~huge_ceil~0=1.0E300] [L19-L81] ~x := #in~x; [L20] havoc ~i0~0; [L20] havoc ~i1~0; [L20] havoc ~j0~0; [L21] havoc ~i~0; [L21] havoc ~j~0; VAL [#in~x=6.442450949E9, #NULL!base=0, #NULL!offset=0, ~huge_ceil~0=1.0E300, ~x=6.442450949E9] [L23] FCALL call ~#ew_u~0 := #Ultimate.alloc(8); [L24] FCALL call write~real(~x, { base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 8); [L25] FCALL call #t~mem0 := read~int({ base: ~#ew_u~0!base, offset: 4 + ~#ew_u~0!offset }, 4); [L25] ~i0~0 := (if #t~mem0 % 4294967296 % 4294967296 <= 2147483647 then #t~mem0 % 4294967296 % 4294967296 else #t~mem0 % 4294967296 % 4294967296 - 4294967296); [L25] FCALL call write~real(#t~union1, { base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 8); [L25] havoc #t~mem0; [L25] havoc #t~union1; [L26] FCALL call #t~mem2 := read~int({ base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 4); [L26] ~i1~0 := (if #t~mem2 % 4294967296 % 4294967296 <= 2147483647 then #t~mem2 % 4294967296 % 4294967296 else #t~mem2 % 4294967296 % 4294967296 - 4294967296); [L26] FCALL call write~real(#t~union3, { base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 8); [L26] havoc #t~union3; [L26] havoc #t~mem2; [L23] FCALL call ULTIMATE.dealloc(~#ew_u~0); [L23] havoc ~#ew_u~0; VAL [#in~x=6.442450949E9, #NULL!base=0, #NULL!offset=0, ~huge_ceil~0=1.0E300, ~i0~0=-2147483648, ~i1~0=2147483647, ~x=6.442450949E9] [L28] ~j0~0 := ~bitwiseAnd(~i0~0 / 1048576, 2047) - 1023; VAL [#in~x=6.442450949E9, #NULL!base=0, #NULL!offset=0, ~huge_ceil~0=1.0E300, ~i0~0=-2147483648, ~i1~0=2147483647, ~x=6.442450949E9] [L29] COND TRUE ~j0~0 < 20 VAL [#in~x=6.442450949E9, #NULL!base=0, #NULL!offset=0, ~huge_ceil~0=1.0E300, ~i0~0=-2147483648, ~i1~0=2147483647, ~j0~0=0, ~x=6.442450949E9] [L30] COND FALSE !(~j0~0 < 0) [L41] ~i~0 := ~shiftRight(1048575, ~j0~0); VAL [#in~x=6.442450949E9, #NULL!base=0, #NULL!offset=0, ~huge_ceil~0=1.0E300, ~i0~0=-2147483648, ~i1~0=2147483647, ~j0~0=0, ~x=6.442450949E9] [L42] COND TRUE 0 == ~bitwiseOr(~bitwiseAnd(~i0~0, ~i~0), ~i1~0) % 4294967296 [L43] #res := ~x; VAL [#in~x=6.442450949E9, #NULL!base=0, #NULL!offset=0, #res=6.442450949E9, ~huge_ceil~0=1.0E300, ~i0~0=-2147483648, ~i1~0=2147483647, ~j0~0=0, ~x=6.442450949E9] [L91] RET call #t~ret6 := ceil_double(~x~0); VAL [#NULL!base=0, #NULL!offset=0, #t~ret6=6.442450949E9, ~huge_ceil~0=1.0E300, ~x~0=6.442450949E9] [L91] ~res~0 := #t~ret6; [L91] havoc #t~ret6; VAL [#NULL!base=0, #NULL!offset=0, ~huge_ceil~0=1.0E300, ~res~0=6.442450949E9, ~x~0=6.442450949E9] [L94] CALL call #t~ret7 := isnan_double(~res~0); VAL [#in~x=6.442450949E9, #NULL!base=0, #NULL!offset=0, ~huge_ceil~0=1.0E300] [L15] ~x := #in~x; [L15] #res := (if ~someBinaryDOUBLEComparisonOperation(~x, ~x) then 1 else 0); VAL [#in~x=6.442450949E9, #NULL!base=0, #NULL!offset=0, #res=0, ~huge_ceil~0=1.0E300, ~x=6.442450949E9] [L94] RET call #t~ret7 := isnan_double(~res~0); VAL [#NULL!base=0, #NULL!offset=0, #t~ret7=0, ~huge_ceil~0=1.0E300, ~res~0=6.442450949E9, ~x~0=6.442450949E9] [L94] assume -2147483648 <= #t~ret7 && #t~ret7 <= 2147483647; VAL [#NULL!base=0, #NULL!offset=0, #t~ret7=0, ~huge_ceil~0=1.0E300, ~res~0=6.442450949E9, ~x~0=6.442450949E9] [L94] COND TRUE 0 == #t~ret7 [L94] havoc #t~ret7; VAL [#NULL!base=0, #NULL!offset=0, ~huge_ceil~0=1.0E300, ~res~0=6.442450949E9, ~x~0=6.442450949E9] [L95] assert false; VAL [#NULL!base=0, #NULL!offset=0, ~huge_ceil~0=1.0E300, ~res~0=6.442450949E9, ~x~0=6.442450949E9] [?] CALL call ULTIMATE.init(); VAL [#NULL!base=6442450950, #NULL!offset=6442450945, old(#NULL!base)=6442450950, old(#NULL!offset)=6442450945, old(~huge_ceil~0)=6.442450948E9, ~huge_ceil~0=6.442450948E9] [?] #NULL := { base: 0, offset: 0 }; [?] #valid[0] := 0; [L17] ~huge_ceil~0 := 1.0E300; VAL [#NULL!base=0, #NULL!offset=0, old(#NULL!base)=6442450950, old(#NULL!offset)=6442450945, old(~huge_ceil~0)=6.442450948E9, ~huge_ceil~0=1.0E300] [?] RET call ULTIMATE.init(); VAL [#NULL!base=0, #NULL!offset=0, ~huge_ceil~0=1.0E300] [?] CALL call #t~ret8 := main(); VAL [#NULL!base=0, #NULL!offset=0, ~huge_ceil~0=1.0E300] [L90] ~x~0 := ~someBinaryArithmeticDOUBLEoperation(0.0, 0.0); VAL [#NULL!base=0, #NULL!offset=0, ~huge_ceil~0=1.0E300] [L91] CALL call #t~ret6 := ceil_double(~x~0); VAL [#in~x=6.442450949E9, #NULL!base=0, #NULL!offset=0, ~huge_ceil~0=1.0E300] [L19-L81] ~x := #in~x; [L20] havoc ~i0~0; [L20] havoc ~i1~0; [L20] havoc ~j0~0; [L21] havoc ~i~0; [L21] havoc ~j~0; VAL [#in~x=6.442450949E9, #NULL!base=0, #NULL!offset=0, ~huge_ceil~0=1.0E300, ~x=6.442450949E9] [L23] FCALL call ~#ew_u~0 := #Ultimate.alloc(8); [L24] FCALL call write~real(~x, { base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 8); [L25] FCALL call #t~mem0 := read~int({ base: ~#ew_u~0!base, offset: 4 + ~#ew_u~0!offset }, 4); [L25] ~i0~0 := (if #t~mem0 % 4294967296 % 4294967296 <= 2147483647 then #t~mem0 % 4294967296 % 4294967296 else #t~mem0 % 4294967296 % 4294967296 - 4294967296); [L25] FCALL call write~real(#t~union1, { base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 8); [L25] havoc #t~mem0; [L25] havoc #t~union1; [L26] FCALL call #t~mem2 := read~int({ base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 4); [L26] ~i1~0 := (if #t~mem2 % 4294967296 % 4294967296 <= 2147483647 then #t~mem2 % 4294967296 % 4294967296 else #t~mem2 % 4294967296 % 4294967296 - 4294967296); [L26] FCALL call write~real(#t~union3, { base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 8); [L26] havoc #t~union3; [L26] havoc #t~mem2; [L23] FCALL call ULTIMATE.dealloc(~#ew_u~0); [L23] havoc ~#ew_u~0; VAL [#in~x=6.442450949E9, #NULL!base=0, #NULL!offset=0, ~huge_ceil~0=1.0E300, ~i0~0=-2147483648, ~i1~0=2147483647, ~x=6.442450949E9] [L28] ~j0~0 := ~bitwiseAnd(~i0~0 / 1048576, 2047) - 1023; VAL [#in~x=6.442450949E9, #NULL!base=0, #NULL!offset=0, ~huge_ceil~0=1.0E300, ~i0~0=-2147483648, ~i1~0=2147483647, ~x=6.442450949E9] [L29] COND TRUE ~j0~0 < 20 VAL [#in~x=6.442450949E9, #NULL!base=0, #NULL!offset=0, ~huge_ceil~0=1.0E300, ~i0~0=-2147483648, ~i1~0=2147483647, ~j0~0=0, ~x=6.442450949E9] [L30] COND FALSE !(~j0~0 < 0) [L41] ~i~0 := ~shiftRight(1048575, ~j0~0); VAL [#in~x=6.442450949E9, #NULL!base=0, #NULL!offset=0, ~huge_ceil~0=1.0E300, ~i0~0=-2147483648, ~i1~0=2147483647, ~j0~0=0, ~x=6.442450949E9] [L42] COND TRUE 0 == ~bitwiseOr(~bitwiseAnd(~i0~0, ~i~0), ~i1~0) % 4294967296 [L43] #res := ~x; VAL [#in~x=6.442450949E9, #NULL!base=0, #NULL!offset=0, #res=6.442450949E9, ~huge_ceil~0=1.0E300, ~i0~0=-2147483648, ~i1~0=2147483647, ~j0~0=0, ~x=6.442450949E9] [L91] RET call #t~ret6 := ceil_double(~x~0); VAL [#NULL!base=0, #NULL!offset=0, #t~ret6=6.442450949E9, ~huge_ceil~0=1.0E300, ~x~0=6.442450949E9] [L91] ~res~0 := #t~ret6; [L91] havoc #t~ret6; VAL [#NULL!base=0, #NULL!offset=0, ~huge_ceil~0=1.0E300, ~res~0=6.442450949E9, ~x~0=6.442450949E9] [L94] CALL call #t~ret7 := isnan_double(~res~0); VAL [#in~x=6.442450949E9, #NULL!base=0, #NULL!offset=0, ~huge_ceil~0=1.0E300] [L15] ~x := #in~x; [L15] #res := (if ~someBinaryDOUBLEComparisonOperation(~x, ~x) then 1 else 0); VAL [#in~x=6.442450949E9, #NULL!base=0, #NULL!offset=0, #res=0, ~huge_ceil~0=1.0E300, ~x=6.442450949E9] [L94] RET call #t~ret7 := isnan_double(~res~0); VAL [#NULL!base=0, #NULL!offset=0, #t~ret7=0, ~huge_ceil~0=1.0E300, ~res~0=6.442450949E9, ~x~0=6.442450949E9] [L94] assume -2147483648 <= #t~ret7 && #t~ret7 <= 2147483647; VAL [#NULL!base=0, #NULL!offset=0, #t~ret7=0, ~huge_ceil~0=1.0E300, ~res~0=6.442450949E9, ~x~0=6.442450949E9] [L94] COND TRUE 0 == #t~ret7 [L94] havoc #t~ret7; VAL [#NULL!base=0, #NULL!offset=0, ~huge_ceil~0=1.0E300, ~res~0=6.442450949E9, ~x~0=6.442450949E9] [L95] assert false; VAL [#NULL!base=0, #NULL!offset=0, ~huge_ceil~0=1.0E300, ~res~0=6.442450949E9, ~x~0=6.442450949E9] ----- ----- class de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.CACSL2BoogieBacktranslator [?] CALL call ULTIMATE.init(); VAL [#NULL!base=6442450950, #NULL!offset=6442450945, old(#NULL!base)=6442450950, old(#NULL!offset)=6442450945, old(~huge_ceil~0)=6.442450948E9, ~huge_ceil~0=6.442450948E9] [?] #NULL := { base: 0, offset: 0 }; [?] #valid[0] := 0; [L17] ~huge_ceil~0 := 1.0E300; VAL [#NULL!base=0, #NULL!offset=0, old(#NULL!base)=6442450950, old(#NULL!offset)=6442450945, old(~huge_ceil~0)=6.442450948E9, ~huge_ceil~0=1.0E300] [?] RET call ULTIMATE.init(); VAL [#NULL!base=0, #NULL!offset=0, ~huge_ceil~0=1.0E300] [?] CALL call #t~ret8 := main(); VAL [#NULL!base=0, #NULL!offset=0, ~huge_ceil~0=1.0E300] [L90] ~x~0 := ~someBinaryArithmeticDOUBLEoperation(0.0, 0.0); VAL [#NULL!base=0, #NULL!offset=0, ~huge_ceil~0=1.0E300] [L91] CALL call #t~ret6 := ceil_double(~x~0); VAL [#in~x=6.442450949E9, #NULL!base=0, #NULL!offset=0, ~huge_ceil~0=1.0E300] [L19-L81] ~x := #in~x; [L20] havoc ~i0~0; [L20] havoc ~i1~0; [L20] havoc ~j0~0; [L21] havoc ~i~0; [L21] havoc ~j~0; VAL [#in~x=6.442450949E9, #NULL!base=0, #NULL!offset=0, ~huge_ceil~0=1.0E300, ~x=6.442450949E9] [L23] FCALL call ~#ew_u~0 := #Ultimate.alloc(8); [L24] FCALL call write~real(~x, { base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 8); [L25] FCALL call #t~mem0 := read~int({ base: ~#ew_u~0!base, offset: 4 + ~#ew_u~0!offset }, 4); [L25] ~i0~0 := (if #t~mem0 % 4294967296 % 4294967296 <= 2147483647 then #t~mem0 % 4294967296 % 4294967296 else #t~mem0 % 4294967296 % 4294967296 - 4294967296); [L25] FCALL call write~real(#t~union1, { base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 8); [L25] havoc #t~mem0; [L25] havoc #t~union1; [L26] FCALL call #t~mem2 := read~int({ base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 4); [L26] ~i1~0 := (if #t~mem2 % 4294967296 % 4294967296 <= 2147483647 then #t~mem2 % 4294967296 % 4294967296 else #t~mem2 % 4294967296 % 4294967296 - 4294967296); [L26] FCALL call write~real(#t~union3, { base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 8); [L26] havoc #t~union3; [L26] havoc #t~mem2; [L23] FCALL call ULTIMATE.dealloc(~#ew_u~0); [L23] havoc ~#ew_u~0; VAL [#in~x=6.442450949E9, #NULL!base=0, #NULL!offset=0, ~huge_ceil~0=1.0E300, ~i0~0=-2147483648, ~i1~0=2147483647, ~x=6.442450949E9] [L28] ~j0~0 := ~bitwiseAnd(~i0~0 / 1048576, 2047) - 1023; VAL [#in~x=6.442450949E9, #NULL!base=0, #NULL!offset=0, ~huge_ceil~0=1.0E300, ~i0~0=-2147483648, ~i1~0=2147483647, ~x=6.442450949E9] [L29] COND TRUE ~j0~0 < 20 VAL [#in~x=6.442450949E9, #NULL!base=0, #NULL!offset=0, ~huge_ceil~0=1.0E300, ~i0~0=-2147483648, ~i1~0=2147483647, ~j0~0=0, ~x=6.442450949E9] [L30] COND FALSE !(~j0~0 < 0) [L41] ~i~0 := ~shiftRight(1048575, ~j0~0); VAL [#in~x=6.442450949E9, #NULL!base=0, #NULL!offset=0, ~huge_ceil~0=1.0E300, ~i0~0=-2147483648, ~i1~0=2147483647, ~j0~0=0, ~x=6.442450949E9] [L42] COND TRUE 0 == ~bitwiseOr(~bitwiseAnd(~i0~0, ~i~0), ~i1~0) % 4294967296 [L43] #res := ~x; VAL [#in~x=6.442450949E9, #NULL!base=0, #NULL!offset=0, #res=6.442450949E9, ~huge_ceil~0=1.0E300, ~i0~0=-2147483648, ~i1~0=2147483647, ~j0~0=0, ~x=6.442450949E9] [L91] RET call #t~ret6 := ceil_double(~x~0); VAL [#NULL!base=0, #NULL!offset=0, #t~ret6=6.442450949E9, ~huge_ceil~0=1.0E300, ~x~0=6.442450949E9] [L91] ~res~0 := #t~ret6; [L91] havoc #t~ret6; VAL [#NULL!base=0, #NULL!offset=0, ~huge_ceil~0=1.0E300, ~res~0=6.442450949E9, ~x~0=6.442450949E9] [L94] CALL call #t~ret7 := isnan_double(~res~0); VAL [#in~x=6.442450949E9, #NULL!base=0, #NULL!offset=0, ~huge_ceil~0=1.0E300] [L15] ~x := #in~x; [L15] #res := (if ~someBinaryDOUBLEComparisonOperation(~x, ~x) then 1 else 0); VAL [#in~x=6.442450949E9, #NULL!base=0, #NULL!offset=0, #res=0, ~huge_ceil~0=1.0E300, ~x=6.442450949E9] [L94] RET call #t~ret7 := isnan_double(~res~0); VAL [#NULL!base=0, #NULL!offset=0, #t~ret7=0, ~huge_ceil~0=1.0E300, ~res~0=6.442450949E9, ~x~0=6.442450949E9] [L94] assume -2147483648 <= #t~ret7 && #t~ret7 <= 2147483647; VAL [#NULL!base=0, #NULL!offset=0, #t~ret7=0, ~huge_ceil~0=1.0E300, ~res~0=6.442450949E9, ~x~0=6.442450949E9] [L94] COND TRUE 0 == #t~ret7 [L94] havoc #t~ret7; VAL [#NULL!base=0, #NULL!offset=0, ~huge_ceil~0=1.0E300, ~res~0=6.442450949E9, ~x~0=6.442450949E9] [L95] assert false; VAL [#NULL!base=0, #NULL!offset=0, ~huge_ceil~0=1.0E300, ~res~0=6.442450949E9, ~x~0=6.442450949E9] [L17] static const double huge_ceil = 1.0e300; VAL [\old(huge_ceil)=6442450948, huge_ceil=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000] [L90] double x = 0.0 / 0.0; VAL [huge_ceil=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000] [L91] CALL, EXPR ceil_double(x) VAL [\old(x)=6442450949, huge_ceil=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000] [L20] __int32_t i0, i1, j0; [L21] __uint32_t i, j; VAL [\old(x)=6442450949, huge_ceil=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, x=6442450949] [L23] ieee_double_shape_type ew_u; [L24] ew_u.value = (x) [L25] EXPR ew_u.parts.msw [L25] (i0) = ew_u.parts.msw [L26] EXPR ew_u.parts.lsw [L26] (i1) = ew_u.parts.lsw [L28] j0 = ((i0 >> 20) & 0x7ff) - 0x3ff VAL [\old(x)=6442450949, huge_ceil=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, i0=-2147483648, i1=2147483647, x=6442450949] [L29] COND TRUE j0 < 20 VAL [\old(x)=6442450949, huge_ceil=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, i0=-2147483648, i1=2147483647, j0=0, x=6442450949] [L30] COND FALSE !(j0 < 0) [L41] i = (0x000fffff) >> j0 VAL [\old(x)=6442450949, huge_ceil=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, i0=-2147483648, i1=2147483647, j0=0, x=6442450949] [L42] COND TRUE ((i0 & i) | i1) == 0 [L43] return x; VAL [\old(x)=6442450949, \result=6442450949, huge_ceil=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, i0=-2147483648, i1=2147483647, j0=0, x=6442450949] [L91] RET, EXPR ceil_double(x) VAL [ceil_double(x)=6442450949, huge_ceil=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, x=6442450949] [L91] double res = ceil_double(x); [L94] CALL, EXPR isnan_double(res) VAL [\old(x)=6442450949, huge_ceil=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000] [L15] return x != x; VAL [\old(x)=6442450949, \result=0, huge_ceil=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, x=6442450949] [L94] RET, EXPR isnan_double(res) VAL [huge_ceil=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, isnan_double(res)=0, res=6442450949, x=6442450949] [L94] COND TRUE !isnan_double(res) [L95] __VERIFIER_error() VAL [huge_ceil=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, res=6442450949, x=6442450949] ----- [2018-11-23 01:13:37,054 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 23.11 01:13:37 BoogieIcfgContainer [2018-11-23 01:13:37,054 INFO L132 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2018-11-23 01:13:37,055 INFO L113 PluginConnector]: ------------------------Witness Printer---------------------------- [2018-11-23 01:13:37,055 INFO L271 PluginConnector]: Initializing Witness Printer... [2018-11-23 01:13:37,055 INFO L276 PluginConnector]: Witness Printer initialized [2018-11-23 01:13:37,056 INFO L185 PluginConnector]: Executing the observer RCFGCatcher from plugin Witness Printer for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 01:13:36" (3/4) ... [2018-11-23 01:13:37,059 INFO L147 WitnessPrinter]: No result that supports witness generation found [2018-11-23 01:13:37,059 INFO L132 PluginConnector]: ------------------------ END Witness Printer---------------------------- [2018-11-23 01:13:37,060 INFO L168 Benchmark]: Toolchain (without parser) took 893.15 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 136.8 MB). Free memory was 959.2 MB in the beginning and 1.1 GB in the end (delta: -111.4 MB). Peak memory consumption was 25.4 MB. Max. memory is 11.5 GB. [2018-11-23 01:13:37,061 INFO L168 Benchmark]: CDTParser took 0.18 ms. Allocated memory is still 1.0 GB. Free memory is still 985.6 MB. There was no memory consumed. Max. memory is 11.5 GB. [2018-11-23 01:13:37,061 INFO L168 Benchmark]: CACSL2BoogieTranslator took 173.20 ms. Allocated memory is still 1.0 GB. Free memory was 959.2 MB in the beginning and 945.8 MB in the end (delta: 13.4 MB). Peak memory consumption was 13.4 MB. Max. memory is 11.5 GB. [2018-11-23 01:13:37,062 INFO L168 Benchmark]: Boogie Procedure Inliner took 17.72 ms. Allocated memory is still 1.0 GB. Free memory is still 945.8 MB. There was no memory consumed. Max. memory is 11.5 GB. [2018-11-23 01:13:37,062 INFO L168 Benchmark]: Boogie Preprocessor took 59.92 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 136.8 MB). Free memory was 945.8 MB in the beginning and 1.1 GB in the end (delta: -185.4 MB). Peak memory consumption was 17.3 MB. Max. memory is 11.5 GB. [2018-11-23 01:13:37,063 INFO L168 Benchmark]: RCFGBuilder took 252.54 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: 21.6 MB). Peak memory consumption was 21.6 MB. Max. memory is 11.5 GB. [2018-11-23 01:13:37,063 INFO L168 Benchmark]: TraceAbstraction took 382.20 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.9 MB). Peak memory consumption was 38.9 MB. Max. memory is 11.5 GB. [2018-11-23 01:13:37,064 INFO L168 Benchmark]: Witness Printer took 4.21 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 01:13:37,067 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.18 ms. Allocated memory is still 1.0 GB. Free memory is still 985.6 MB. There was no memory consumed. Max. memory is 11.5 GB. * CACSL2BoogieTranslator took 173.20 ms. Allocated memory is still 1.0 GB. Free memory was 959.2 MB in the beginning and 945.8 MB in the end (delta: 13.4 MB). Peak memory consumption was 13.4 MB. Max. memory is 11.5 GB. * Boogie Procedure Inliner took 17.72 ms. Allocated memory is still 1.0 GB. Free memory is still 945.8 MB. There was no memory consumed. Max. memory is 11.5 GB. * Boogie Preprocessor took 59.92 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 136.8 MB). Free memory was 945.8 MB in the beginning and 1.1 GB in the end (delta: -185.4 MB). Peak memory consumption was 17.3 MB. Max. memory is 11.5 GB. * RCFGBuilder took 252.54 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: 21.6 MB). Peak memory consumption was 21.6 MB. Max. memory is 11.5 GB. * TraceAbstraction took 382.20 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.9 MB). Peak memory consumption was 38.9 MB. Max. memory is 11.5 GB. * Witness Printer took 4.21 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: 95]: Unable to prove that call of __VERIFIER_error() unreachable Unable to prove that call of __VERIFIER_error() unreachable Reason: overapproximation of shiftRight at line 41, overapproximation of bitwiseOr at line 42, overapproximation of someBinaryArithmeticDOUBLEoperation at line 90, overapproximation of bitwiseAnd at line 28, overapproximation of someBinaryDOUBLEComparisonOperation at line 15. Possible FailurePath: [L17] static const double huge_ceil = 1.0e300; VAL [\old(huge_ceil)=6442450948, huge_ceil=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000] [L90] double x = 0.0 / 0.0; VAL [huge_ceil=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000] [L91] CALL, EXPR ceil_double(x) VAL [\old(x)=6442450949, huge_ceil=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000] [L20] __int32_t i0, i1, j0; [L21] __uint32_t i, j; VAL [\old(x)=6442450949, huge_ceil=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, x=6442450949] [L23] ieee_double_shape_type ew_u; [L24] ew_u.value = (x) [L25] EXPR ew_u.parts.msw [L25] (i0) = ew_u.parts.msw [L26] EXPR ew_u.parts.lsw [L26] (i1) = ew_u.parts.lsw [L28] j0 = ((i0 >> 20) & 0x7ff) - 0x3ff VAL [\old(x)=6442450949, huge_ceil=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, i0=-2147483648, i1=2147483647, x=6442450949] [L29] COND TRUE j0 < 20 VAL [\old(x)=6442450949, huge_ceil=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, i0=-2147483648, i1=2147483647, j0=0, x=6442450949] [L30] COND FALSE !(j0 < 0) [L41] i = (0x000fffff) >> j0 VAL [\old(x)=6442450949, huge_ceil=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, i0=-2147483648, i1=2147483647, j0=0, x=6442450949] [L42] COND TRUE ((i0 & i) | i1) == 0 [L43] return x; VAL [\old(x)=6442450949, \result=6442450949, huge_ceil=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, i0=-2147483648, i1=2147483647, j0=0, x=6442450949] [L91] RET, EXPR ceil_double(x) VAL [ceil_double(x)=6442450949, huge_ceil=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, x=6442450949] [L91] double res = ceil_double(x); [L94] CALL, EXPR isnan_double(res) VAL [\old(x)=6442450949, huge_ceil=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000] [L15] return x != x; VAL [\old(x)=6442450949, \result=0, huge_ceil=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, x=6442450949] [L94] RET, EXPR isnan_double(res) VAL [huge_ceil=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, isnan_double(res)=0, res=6442450949, x=6442450949] [L94] COND TRUE !isnan_double(res) [L95] __VERIFIER_error() VAL [huge_ceil=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, res=6442450949, x=6442450949] - StatisticsResult: Ultimate Automizer benchmark data CFG has 5 procedures, 47 locations, 1 error locations. UNSAFE Result, 0.3s OverallTime, 2 OverallIterations, 1 TraceHistogramMax, 0.0s AutomataDifference, 0.0s DeadEndRemovalTime, 0.0s HoareAnnotationTime, HoareTripleCheckerStatistics: 61 SDtfs, 0 SDslu, 0 SDs, 0 SdLazy, 0 SolverSat, 0 SolverUnsat, 0 SolverUnknown, 0 SolverNotchecked, 0.0s Time, PredicateUnifierStatistics: 0 DeclaredPredicates, 2 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 0 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s Time, 0.0s BasicInterpolantAutomatonTime, BiggestAbstraction: size=47occurred in iteration=0, traceCheckStatistics: No data available, InterpolantConsolidationStatistics: No data available, PathInvariantsStatistics: No data available, 0/0 InterpolantCoveringCapability, TotalInterpolationStatistics: No data available, 0.0s AbstIntTime, 0 AbstIntIterations, 0 AbstIntStrong, NaN AbsIntWeakeningRatio, NaN AbsIntAvgWeakeningVarsNumRemoved, NaN AbsIntAvgWeakenedConjuncts, 0.0s DumpTime, AutomataMinimizationStatistics: 0.0s AutomataMinimizationTime, 1 MinimizatonAttempts, 0 StatesRemovedByMinimization, 0 NontrivialMinimizations, HoareAnnotationStatistics: No data available, RefinementEngineStatistics: TraceCheckStatistics: 0.0s SsaConstructionTime, 0.0s SatisfiabilityAnalysisTime, 0.0s InterpolantComputationTime, 47 NumberOfCodeBlocks, 47 NumberOfCodeBlocksAsserted, 2 NumberOfCheckSat, 22 ConstructedInterpolants, 0 QuantifiedInterpolants, 484 SizeOfPredicates, 0 NumberOfNonLiveVariables, 0 ConjunctsInSsa, 0 ConjunctsInUnsatCore, 1 InterpolantComputations, 1 PerfectInterpolantSequences, 0/0 InterpolantCoveringCapability, InvariantSynthesisStatistics: No data available, InterpolantConsolidationStatistics: No data available, ReuseStatistics: No data available RESULT: Ultimate could not prove your program: unable to determine feasibility of some traces Received shutdown request... ### Bit-precise run ### This is Ultimate 0.1.23-aa41828 [2018-11-23 01:13:38,510 INFO L170 SettingsManager]: Resetting all preferences to default values... [2018-11-23 01:13:38,512 INFO L174 SettingsManager]: Resetting UltimateCore preferences to default values [2018-11-23 01:13:38,521 INFO L177 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2018-11-23 01:13:38,521 INFO L174 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2018-11-23 01:13:38,522 INFO L174 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2018-11-23 01:13:38,523 INFO L174 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2018-11-23 01:13:38,524 INFO L174 SettingsManager]: Resetting LassoRanker preferences to default values [2018-11-23 01:13:38,525 INFO L174 SettingsManager]: Resetting Reaching Definitions preferences to default values [2018-11-23 01:13:38,526 INFO L174 SettingsManager]: Resetting SyntaxChecker preferences to default values [2018-11-23 01:13:38,526 INFO L177 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2018-11-23 01:13:38,527 INFO L174 SettingsManager]: Resetting LTL2Aut preferences to default values [2018-11-23 01:13:38,527 INFO L174 SettingsManager]: Resetting PEA to Boogie preferences to default values [2018-11-23 01:13:38,528 INFO L174 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2018-11-23 01:13:38,529 INFO L174 SettingsManager]: Resetting ChcToBoogie preferences to default values [2018-11-23 01:13:38,529 INFO L174 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2018-11-23 01:13:38,530 INFO L174 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2018-11-23 01:13:38,531 INFO L174 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2018-11-23 01:13:38,533 INFO L174 SettingsManager]: Resetting CodeCheck preferences to default values [2018-11-23 01:13:38,534 INFO L174 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2018-11-23 01:13:38,535 INFO L174 SettingsManager]: Resetting RCFGBuilder preferences to default values [2018-11-23 01:13:38,536 INFO L174 SettingsManager]: Resetting TraceAbstraction preferences to default values [2018-11-23 01:13:38,537 INFO L177 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2018-11-23 01:13:38,538 INFO L177 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2018-11-23 01:13:38,538 INFO L174 SettingsManager]: Resetting TreeAutomizer preferences to default values [2018-11-23 01:13:38,538 INFO L174 SettingsManager]: Resetting IcfgTransformer preferences to default values [2018-11-23 01:13:38,539 INFO L174 SettingsManager]: Resetting Boogie Printer preferences to default values [2018-11-23 01:13:38,540 INFO L174 SettingsManager]: Resetting ReqPrinter preferences to default values [2018-11-23 01:13:38,540 INFO L174 SettingsManager]: Resetting Witness Printer preferences to default values [2018-11-23 01:13:38,541 INFO L177 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2018-11-23 01:13:38,541 INFO L174 SettingsManager]: Resetting CDTParser preferences to default values [2018-11-23 01:13:38,542 INFO L177 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2018-11-23 01:13:38,542 INFO L177 SettingsManager]: ReqParser provides no preferences, ignoring... [2018-11-23 01:13:38,542 INFO L174 SettingsManager]: Resetting SmtParser preferences to default values [2018-11-23 01:13:38,543 INFO L174 SettingsManager]: Resetting Witness Parser preferences to default values [2018-11-23 01:13:38,543 INFO L181 SettingsManager]: Finished resetting all preferences to default values... [2018-11-23 01:13:38,543 INFO L98 SettingsManager]: Beginning loading settings from /tmp/vcloud-vcloud-master/worker/working_dir_3e40160e-16b2-4788-a037-c87146985957/bin-2019/utaipan/config/svcomp-Reach-32bit-Taipan_Bitvector.epf [2018-11-23 01:13:38,554 INFO L110 SettingsManager]: Loading preferences was successful [2018-11-23 01:13:38,554 INFO L112 SettingsManager]: Preferences different from defaults after loading the file: [2018-11-23 01:13:38,555 INFO L131 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2018-11-23 01:13:38,555 INFO L133 SettingsManager]: * ... calls to implemented procedures=ONLY_FOR_CONCURRENT_PROGRAMS [2018-11-23 01:13:38,555 INFO L133 SettingsManager]: * User list type=DISABLED [2018-11-23 01:13:38,555 INFO L131 SettingsManager]: Preferences of Abstract Interpretation differ from their defaults: [2018-11-23 01:13:38,555 INFO L133 SettingsManager]: * Explicit value domain=true [2018-11-23 01:13:38,555 INFO L133 SettingsManager]: * Octagon Domain=false [2018-11-23 01:13:38,556 INFO L133 SettingsManager]: * Abstract domain=CompoundDomain [2018-11-23 01:13:38,556 INFO L133 SettingsManager]: * Interval Domain=false [2018-11-23 01:13:38,556 INFO L131 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2018-11-23 01:13:38,557 INFO L133 SettingsManager]: * sizeof long=4 [2018-11-23 01:13:38,557 INFO L133 SettingsManager]: * sizeof POINTER=4 [2018-11-23 01:13:38,557 INFO L133 SettingsManager]: * Check division by zero=IGNORE [2018-11-23 01:13:38,557 INFO L133 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2018-11-23 01:13:38,557 INFO L133 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2018-11-23 01:13:38,557 INFO L133 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2018-11-23 01:13:38,557 INFO L133 SettingsManager]: * Use bitvectors instead of ints=true [2018-11-23 01:13:38,557 INFO L133 SettingsManager]: * Memory model=HoenickeLindenmann_4ByteResolution [2018-11-23 01:13:38,558 INFO L133 SettingsManager]: * sizeof long double=12 [2018-11-23 01:13:38,558 INFO L133 SettingsManager]: * Check if freed pointer was valid=false [2018-11-23 01:13:38,558 INFO L133 SettingsManager]: * Use constant arrays=true [2018-11-23 01:13:38,558 INFO L133 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2018-11-23 01:13:38,558 INFO L131 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2018-11-23 01:13:38,559 INFO L133 SettingsManager]: * Size of a code block=SequenceOfStatements [2018-11-23 01:13:38,559 INFO L133 SettingsManager]: * To the following directory=./dump/ [2018-11-23 01:13:38,559 INFO L133 SettingsManager]: * SMT solver=External_DefaultMode [2018-11-23 01:13:38,559 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2018-11-23 01:13:38,559 INFO L131 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2018-11-23 01:13:38,559 INFO L133 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2018-11-23 01:13:38,559 INFO L133 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2018-11-23 01:13:38,559 INFO L133 SettingsManager]: * Trace refinement strategy=WALRUS [2018-11-23 01:13:38,560 INFO L133 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2018-11-23 01:13:38,560 INFO L133 SettingsManager]: * Command for external solver=cvc4nyu --tear-down-incremental --rewrite-divk --print-success --lang smt [2018-11-23 01:13:38,560 INFO L133 SettingsManager]: * Logic for external solver=AUFBV [2018-11-23 01:13:38,560 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_3e40160e-16b2-4788-a037-c87146985957/bin-2019/utaipan Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Witness filename -> witness.graphml Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Write witness besides input file -> false Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data specification -> CHECK( init(main()), LTL(G ! call(__VERIFIER_error())) ) Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data producer -> Taipan Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data architecture -> 32bit Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data programhash -> 84dba58cac25505e0eb3c404a47a071a268de901 [2018-11-23 01:13:38,590 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2018-11-23 01:13:38,600 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2018-11-23 01:13:38,602 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2018-11-23 01:13:38,604 INFO L271 PluginConnector]: Initializing CDTParser... [2018-11-23 01:13:38,604 INFO L276 PluginConnector]: CDTParser initialized [2018-11-23 01:13:38,605 INFO L418 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /tmp/vcloud-vcloud-master/worker/working_dir_3e40160e-16b2-4788-a037-c87146985957/bin-2019/utaipan/../../sv-benchmarks/c/float-newlib/double_req_bl_1091_true-unreach-call.c [2018-11-23 01:13:38,650 INFO L221 CDTParser]: Created temporary CDT project at /tmp/vcloud-vcloud-master/worker/working_dir_3e40160e-16b2-4788-a037-c87146985957/bin-2019/utaipan/data/97a525425/3915787dcebd40728aca6372f2abe456/FLAG1ac75c63e [2018-11-23 01:13:38,985 INFO L307 CDTParser]: Found 1 translation units. [2018-11-23 01:13:38,986 INFO L161 CDTParser]: Scanning /tmp/vcloud-vcloud-master/worker/working_dir_3e40160e-16b2-4788-a037-c87146985957/sv-benchmarks/c/float-newlib/double_req_bl_1091_true-unreach-call.c [2018-11-23 01:13:38,990 INFO L355 CDTParser]: About to delete temporary CDT project at /tmp/vcloud-vcloud-master/worker/working_dir_3e40160e-16b2-4788-a037-c87146985957/bin-2019/utaipan/data/97a525425/3915787dcebd40728aca6372f2abe456/FLAG1ac75c63e [2018-11-23 01:13:39,416 INFO L363 CDTParser]: Successfully deleted /tmp/vcloud-vcloud-master/worker/working_dir_3e40160e-16b2-4788-a037-c87146985957/bin-2019/utaipan/data/97a525425/3915787dcebd40728aca6372f2abe456 [2018-11-23 01:13:39,418 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2018-11-23 01:13:39,418 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2018-11-23 01:13:39,419 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2018-11-23 01:13:39,419 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2018-11-23 01:13:39,422 INFO L276 PluginConnector]: CACSL2BoogieTranslator initialized [2018-11-23 01:13:39,423 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 01:13:39" (1/1) ... [2018-11-23 01:13:39,425 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@7fb134ae and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 01:13:39, skipping insertion in model container [2018-11-23 01:13:39,425 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 01:13:39" (1/1) ... [2018-11-23 01:13:39,432 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2018-11-23 01:13:39,450 INFO L176 MainTranslator]: Built tables and reachable declarations [2018-11-23 01:13:39,595 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 01:13:39,599 INFO L191 MainTranslator]: Completed pre-run [2018-11-23 01:13:39,625 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 01:13:39,644 INFO L195 MainTranslator]: Completed translation [2018-11-23 01:13:39,644 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 01:13:39 WrapperNode [2018-11-23 01:13:39,644 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2018-11-23 01:13:39,645 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2018-11-23 01:13:39,645 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2018-11-23 01:13:39,645 INFO L276 PluginConnector]: Boogie Procedure Inliner initialized [2018-11-23 01:13:39,650 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 01:13:39" (1/1) ... [2018-11-23 01:13:39,657 INFO L185 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 01:13:39" (1/1) ... [2018-11-23 01:13:39,663 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2018-11-23 01:13:39,664 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2018-11-23 01:13:39,664 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2018-11-23 01:13:39,664 INFO L276 PluginConnector]: Boogie Preprocessor initialized [2018-11-23 01:13:39,671 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 01:13:39" (1/1) ... [2018-11-23 01:13:39,671 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 01:13:39" (1/1) ... [2018-11-23 01:13:39,674 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 01:13:39" (1/1) ... [2018-11-23 01:13:39,674 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 01:13:39" (1/1) ... [2018-11-23 01:13:39,684 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 01:13:39" (1/1) ... [2018-11-23 01:13:39,689 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 01:13:39" (1/1) ... [2018-11-23 01:13:39,691 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 01:13:39" (1/1) ... [2018-11-23 01:13:39,694 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2018-11-23 01:13:39,694 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2018-11-23 01:13:39,694 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2018-11-23 01:13:39,695 INFO L276 PluginConnector]: RCFGBuilder initialized [2018-11-23 01:13:39,695 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 01:13:39" (1/1) ... No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_3e40160e-16b2-4788-a037-c87146985957/bin-2019/utaipan/z3 Starting monitored process 1 with z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 1 with z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2018-11-23 01:13:39,777 INFO L130 BoogieDeclarations]: Found specification of procedure isnan_double [2018-11-23 01:13:39,777 INFO L138 BoogieDeclarations]: Found implementation of procedure isnan_double [2018-11-23 01:13:39,777 INFO L130 BoogieDeclarations]: Found specification of procedure read~intFLOATTYPE8 [2018-11-23 01:13:39,777 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2018-11-23 01:13:39,777 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2018-11-23 01:13:39,777 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.alloc [2018-11-23 01:13:39,777 INFO L130 BoogieDeclarations]: Found specification of procedure read~intINTTYPE4 [2018-11-23 01:13:39,778 INFO L130 BoogieDeclarations]: Found specification of procedure write~intFLOATTYPE8 [2018-11-23 01:13:39,778 INFO L130 BoogieDeclarations]: Found specification of procedure ceil_double [2018-11-23 01:13:39,778 INFO L138 BoogieDeclarations]: Found implementation of procedure ceil_double [2018-11-23 01:13:39,778 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2018-11-23 01:13:39,778 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2018-11-23 01:13:39,778 INFO L130 BoogieDeclarations]: Found specification of procedure main [2018-11-23 01:13:39,778 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2018-11-23 01:13:39,778 INFO L130 BoogieDeclarations]: Found specification of procedure write~intINTTYPE4 [2018-11-23 01:13:39,778 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2018-11-23 01:13:39,955 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 01:13:40,886 INFO L275 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2018-11-23 01:13:40,886 INFO L280 CfgBuilder]: Removed 4 assue(true) statements. [2018-11-23 01:13:40,886 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 01:13:40 BoogieIcfgContainer [2018-11-23 01:13:40,886 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2018-11-23 01:13:40,887 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2018-11-23 01:13:40,887 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2018-11-23 01:13:40,889 INFO L276 PluginConnector]: TraceAbstraction initialized [2018-11-23 01:13:40,889 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 23.11 01:13:39" (1/3) ... [2018-11-23 01:13:40,889 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@45fd3d8d and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 23.11 01:13:40, skipping insertion in model container [2018-11-23 01:13:40,889 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 01:13:39" (2/3) ... [2018-11-23 01:13:40,890 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@45fd3d8d and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 23.11 01:13:40, skipping insertion in model container [2018-11-23 01:13:40,890 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 01:13:40" (3/3) ... [2018-11-23 01:13:40,891 INFO L112 eAbstractionObserver]: Analyzing ICFG double_req_bl_1091_true-unreach-call.c [2018-11-23 01:13:40,897 INFO L156 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2018-11-23 01:13:40,902 INFO L168 ceAbstractionStarter]: Appying trace abstraction to program that has 1 error locations. [2018-11-23 01:13:40,912 INFO L257 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2018-11-23 01:13:40,931 INFO L133 ementStrategyFactory]: Using default assertion order modulation [2018-11-23 01:13:40,932 INFO L382 AbstractCegarLoop]: Interprodecural is true [2018-11-23 01:13:40,932 INFO L383 AbstractCegarLoop]: Hoare is true [2018-11-23 01:13:40,932 INFO L384 AbstractCegarLoop]: Compute interpolants for FPandBP [2018-11-23 01:13:40,932 INFO L385 AbstractCegarLoop]: Backedges is STRAIGHT_LINE [2018-11-23 01:13:40,932 INFO L386 AbstractCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2018-11-23 01:13:40,932 INFO L387 AbstractCegarLoop]: Difference is false [2018-11-23 01:13:40,932 INFO L388 AbstractCegarLoop]: Minimize is MINIMIZE_SEVPA [2018-11-23 01:13:40,932 INFO L393 AbstractCegarLoop]: ======== Iteration 0==of CEGAR loop == AllErrorsAtOnce======== [2018-11-23 01:13:40,946 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states. [2018-11-23 01:13:40,950 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 23 [2018-11-23 01:13:40,950 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 01:13:40,951 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 01:13:40,952 INFO L423 AbstractCegarLoop]: === Iteration 1 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 01:13:40,955 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 01:13:40,955 INFO L82 PathProgramCache]: Analyzing trace with hash -645750269, now seen corresponding path program 1 times [2018-11-23 01:13:40,958 INFO L223 ckRefinementStrategy]: Switched to mode MATHSAT_FPBP [2018-11-23 01:13:40,958 INFO L69 tionRefinementEngine]: Using refinement strategy WalrusRefinementStrategy No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_3e40160e-16b2-4788-a037-c87146985957/bin-2019/utaipan/mathsat Starting monitored process 2 with mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 2 with mathsat -unsat_core_generation=3 [2018-11-23 01:13:40,963 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 01:13:41,008 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 01:13:41,015 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 01:13:41,031 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 01:13:41,031 INFO L312 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2018-11-23 01:13:41,039 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 01:13:41,040 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2018-11-23 01:13:41,042 INFO L459 AbstractCegarLoop]: Interpolant automaton has 2 states [2018-11-23 01:13:41,049 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 2 interpolants. [2018-11-23 01:13:41,049 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2018-11-23 01:13:41,051 INFO L87 Difference]: Start difference. First operand 46 states. Second operand 2 states. [2018-11-23 01:13:41,065 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 01:13:41,066 INFO L93 Difference]: Finished difference Result 84 states and 122 transitions. [2018-11-23 01:13:41,066 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2018-11-23 01:13:41,067 INFO L78 Accepts]: Start accepts. Automaton has 2 states. Word has length 22 [2018-11-23 01:13:41,067 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 01:13:41,074 INFO L225 Difference]: With dead ends: 84 [2018-11-23 01:13:41,075 INFO L226 Difference]: Without dead ends: 42 [2018-11-23 01:13:41,077 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 21 GetRequests, 21 SyntacticMatches, 0 SemanticMatches, 0 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2018-11-23 01:13:41,087 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 42 states. [2018-11-23 01:13:41,099 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 42 to 42. [2018-11-23 01:13:41,100 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 42 states. [2018-11-23 01:13:41,101 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 42 states to 42 states and 56 transitions. [2018-11-23 01:13:41,102 INFO L78 Accepts]: Start accepts. Automaton has 42 states and 56 transitions. Word has length 22 [2018-11-23 01:13:41,102 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 01:13:41,102 INFO L480 AbstractCegarLoop]: Abstraction has 42 states and 56 transitions. [2018-11-23 01:13:41,102 INFO L481 AbstractCegarLoop]: Interpolant automaton has 2 states. [2018-11-23 01:13:41,102 INFO L276 IsEmpty]: Start isEmpty. Operand 42 states and 56 transitions. [2018-11-23 01:13:41,103 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 24 [2018-11-23 01:13:41,103 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 01:13:41,103 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 01:13:41,103 INFO L423 AbstractCegarLoop]: === Iteration 2 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 01:13:41,104 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 01:13:41,104 INFO L82 PathProgramCache]: Analyzing trace with hash 938296292, now seen corresponding path program 1 times [2018-11-23 01:13:41,104 INFO L223 ckRefinementStrategy]: Switched to mode MATHSAT_FPBP [2018-11-23 01:13:41,104 INFO L69 tionRefinementEngine]: Using refinement strategy WalrusRefinementStrategy No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_3e40160e-16b2-4788-a037-c87146985957/bin-2019/utaipan/mathsat Starting monitored process 3 with mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 3 with mathsat -unsat_core_generation=3 [2018-11-23 01:13:41,111 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 01:13:41,152 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 01:13:41,158 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 01:13:41,335 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 01:13:41,335 INFO L312 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2018-11-23 01:13:41,343 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 01:13:41,343 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2018-11-23 01:13:41,344 INFO L459 AbstractCegarLoop]: Interpolant automaton has 9 states [2018-11-23 01:13:41,344 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2018-11-23 01:13:41,344 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=15, Invalid=57, Unknown=0, NotChecked=0, Total=72 [2018-11-23 01:13:41,344 INFO L87 Difference]: Start difference. First operand 42 states and 56 transitions. Second operand 9 states. [2018-11-23 01:13:41,816 WARN L180 SmtUtils]: Spent 158.00 ms on a formula simplification that was a NOOP. DAG size: 6 [2018-11-23 01:13:42,938 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 01:13:42,939 INFO L93 Difference]: Finished difference Result 51 states and 65 transitions. [2018-11-23 01:13:42,939 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2018-11-23 01:13:42,939 INFO L78 Accepts]: Start accepts. Automaton has 9 states. Word has length 23 [2018-11-23 01:13:42,939 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 01:13:42,942 INFO L225 Difference]: With dead ends: 51 [2018-11-23 01:13:42,942 INFO L226 Difference]: Without dead ends: 44 [2018-11-23 01:13:42,943 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 26 GetRequests, 15 SyntacticMatches, 0 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 5 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=33, Invalid=123, Unknown=0, NotChecked=0, Total=156 [2018-11-23 01:13:42,943 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 44 states. [2018-11-23 01:13:42,950 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 44 to 42. [2018-11-23 01:13:42,950 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 42 states. [2018-11-23 01:13:42,951 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 42 states to 42 states and 53 transitions. [2018-11-23 01:13:42,951 INFO L78 Accepts]: Start accepts. Automaton has 42 states and 53 transitions. Word has length 23 [2018-11-23 01:13:42,952 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 01:13:42,952 INFO L480 AbstractCegarLoop]: Abstraction has 42 states and 53 transitions. [2018-11-23 01:13:42,952 INFO L481 AbstractCegarLoop]: Interpolant automaton has 9 states. [2018-11-23 01:13:42,952 INFO L276 IsEmpty]: Start isEmpty. Operand 42 states and 53 transitions. [2018-11-23 01:13:42,953 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 24 [2018-11-23 01:13:42,953 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 01:13:42,954 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 01:13:42,955 INFO L423 AbstractCegarLoop]: === Iteration 3 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 01:13:42,955 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 01:13:42,955 INFO L82 PathProgramCache]: Analyzing trace with hash 1029166427, now seen corresponding path program 1 times [2018-11-23 01:13:42,955 INFO L223 ckRefinementStrategy]: Switched to mode MATHSAT_FPBP [2018-11-23 01:13:42,956 INFO L69 tionRefinementEngine]: Using refinement strategy WalrusRefinementStrategy No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_3e40160e-16b2-4788-a037-c87146985957/bin-2019/utaipan/mathsat Starting monitored process 4 with mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 4 with mathsat -unsat_core_generation=3 [2018-11-23 01:13:42,963 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 01:13:43,037 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 01:13:43,044 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 01:13:43,628 WARN L180 SmtUtils]: Spent 139.00 ms on a formula simplification that was a NOOP. DAG size: 5 [2018-11-23 01:13:44,296 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 01:13:44,297 INFO L312 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2018-11-23 01:13:44,304 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 01:13:44,305 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2018-11-23 01:13:44,305 INFO L459 AbstractCegarLoop]: Interpolant automaton has 9 states [2018-11-23 01:13:44,305 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2018-11-23 01:13:44,305 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=15, Invalid=57, Unknown=0, NotChecked=0, Total=72 [2018-11-23 01:13:44,306 INFO L87 Difference]: Start difference. First operand 42 states and 53 transitions. Second operand 9 states. [2018-11-23 01:13:46,128 WARN L180 SmtUtils]: Spent 331.00 ms on a formula simplification that was a NOOP. DAG size: 8 [2018-11-23 01:13:48,290 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 01:13:48,290 INFO L93 Difference]: Finished difference Result 49 states and 60 transitions. [2018-11-23 01:13:48,291 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2018-11-23 01:13:48,291 INFO L78 Accepts]: Start accepts. Automaton has 9 states. Word has length 23 [2018-11-23 01:13:48,291 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 01:13:48,291 INFO L225 Difference]: With dead ends: 49 [2018-11-23 01:13:48,292 INFO L226 Difference]: Without dead ends: 41 [2018-11-23 01:13:48,292 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 26 GetRequests, 15 SyntacticMatches, 0 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 5 ImplicationChecksByTransitivity, 2.0s TimeCoverageRelationStatistics Valid=33, Invalid=123, Unknown=0, NotChecked=0, Total=156 [2018-11-23 01:13:48,292 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 41 states. [2018-11-23 01:13:48,295 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 41 to 41. [2018-11-23 01:13:48,295 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 41 states. [2018-11-23 01:13:48,296 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 41 states to 41 states and 51 transitions. [2018-11-23 01:13:48,296 INFO L78 Accepts]: Start accepts. Automaton has 41 states and 51 transitions. Word has length 23 [2018-11-23 01:13:48,296 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 01:13:48,296 INFO L480 AbstractCegarLoop]: Abstraction has 41 states and 51 transitions. [2018-11-23 01:13:48,296 INFO L481 AbstractCegarLoop]: Interpolant automaton has 9 states. [2018-11-23 01:13:48,296 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 51 transitions. [2018-11-23 01:13:48,297 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 27 [2018-11-23 01:13:48,297 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 01:13:48,297 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 01:13:48,297 INFO L423 AbstractCegarLoop]: === Iteration 4 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 01:13:48,298 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 01:13:48,298 INFO L82 PathProgramCache]: Analyzing trace with hash 1513115684, now seen corresponding path program 1 times [2018-11-23 01:13:48,298 INFO L223 ckRefinementStrategy]: Switched to mode MATHSAT_FPBP [2018-11-23 01:13:48,298 INFO L69 tionRefinementEngine]: Using refinement strategy WalrusRefinementStrategy No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_3e40160e-16b2-4788-a037-c87146985957/bin-2019/utaipan/mathsat Starting monitored process 5 with mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 5 with mathsat -unsat_core_generation=3 [2018-11-23 01:13:48,301 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 01:13:48,402 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 01:13:48,413 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 01:13:48,445 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 01:13:48,445 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 01:13:48,448 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 01:13:48,480 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 01:13:48,487 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 01:13:48,488 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 01:13:48,500 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 01:13:48,504 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 01:13:48,505 INFO L267 ElimStorePlain]: Start of recursive call 5: End of recursive call: and 1 xjuncts. [2018-11-23 01:13:48,507 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 01:13:48,509 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 01:13:48,515 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 01:13:48,515 INFO L202 ElimStorePlain]: Needed 5 recursive calls to eliminate 3 variables, input treesize:42, output treesize:14 [2018-11-23 01:13:48,607 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 01:13:48,608 INFO L312 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2018-11-23 01:13:48,621 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 01:13:48,621 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2018-11-23 01:13:48,621 INFO L459 AbstractCegarLoop]: Interpolant automaton has 7 states [2018-11-23 01:13:48,621 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2018-11-23 01:13:48,622 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=11, Invalid=31, Unknown=0, NotChecked=0, Total=42 [2018-11-23 01:13:48,622 INFO L87 Difference]: Start difference. First operand 41 states and 51 transitions. Second operand 7 states. [2018-11-23 01:13:49,032 WARN L180 SmtUtils]: Spent 202.00 ms on a formula simplification that was a NOOP. DAG size: 25 [2018-11-23 01:13:50,805 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 01:13:50,806 INFO L93 Difference]: Finished difference Result 67 states and 76 transitions. [2018-11-23 01:13:50,807 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2018-11-23 01:13:50,807 INFO L78 Accepts]: Start accepts. Automaton has 7 states. Word has length 26 [2018-11-23 01:13:50,807 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 01:13:50,808 INFO L225 Difference]: With dead ends: 67 [2018-11-23 01:13:50,808 INFO L226 Difference]: Without dead ends: 40 [2018-11-23 01:13:50,808 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 33 GetRequests, 20 SyntacticMatches, 0 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 27 ImplicationChecksByTransitivity, 0.6s TimeCoverageRelationStatistics Valid=62, Invalid=148, Unknown=0, NotChecked=0, Total=210 [2018-11-23 01:13:50,808 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 40 states. [2018-11-23 01:13:50,811 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 40 to 33. [2018-11-23 01:13:50,811 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 33 states. [2018-11-23 01:13:50,811 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 33 states to 33 states and 36 transitions. [2018-11-23 01:13:50,811 INFO L78 Accepts]: Start accepts. Automaton has 33 states and 36 transitions. Word has length 26 [2018-11-23 01:13:50,811 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 01:13:50,812 INFO L480 AbstractCegarLoop]: Abstraction has 33 states and 36 transitions. [2018-11-23 01:13:50,812 INFO L481 AbstractCegarLoop]: Interpolant automaton has 7 states. [2018-11-23 01:13:50,812 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 36 transitions. [2018-11-23 01:13:50,812 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 28 [2018-11-23 01:13:50,812 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 01:13:50,812 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 01:13:50,813 INFO L423 AbstractCegarLoop]: === Iteration 5 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 01:13:50,813 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 01:13:50,813 INFO L82 PathProgramCache]: Analyzing trace with hash 1571354609, now seen corresponding path program 1 times [2018-11-23 01:13:50,813 INFO L223 ckRefinementStrategy]: Switched to mode MATHSAT_FPBP [2018-11-23 01:13:50,813 INFO L69 tionRefinementEngine]: Using refinement strategy WalrusRefinementStrategy No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_3e40160e-16b2-4788-a037-c87146985957/bin-2019/utaipan/mathsat Starting monitored process 6 with mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 6 with mathsat -unsat_core_generation=3 [2018-11-23 01:13:50,816 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 01:13:50,915 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 01:13:50,927 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 01:13:50,945 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 01:13:50,946 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 01:13:50,947 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 01:13:50,980 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 21 [2018-11-23 01:13:50,983 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 01:13:50,994 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 17 treesize of output 13 [2018-11-23 01:13:50,999 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 13 treesize of output 1 [2018-11-23 01:13:50,999 INFO L267 ElimStorePlain]: Start of recursive call 5: End of recursive call: and 1 xjuncts. [2018-11-23 01:13:51,000 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 01:13:51,003 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 01:13:51,010 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 01:13:51,010 INFO L202 ElimStorePlain]: Needed 5 recursive calls to eliminate 3 variables, input treesize:42, output treesize:14 [2018-11-23 01:13:51,133 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 01:13:51,134 INFO L312 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2018-11-23 01:13:51,142 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 01:13:51,142 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2018-11-23 01:13:51,142 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2018-11-23 01:13:51,143 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2018-11-23 01:13:51,143 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=14, Invalid=42, Unknown=0, NotChecked=0, Total=56 [2018-11-23 01:13:51,143 INFO L87 Difference]: Start difference. First operand 33 states and 36 transitions. Second operand 8 states. [2018-11-23 01:13:51,606 WARN L180 SmtUtils]: Spent 222.00 ms on a formula simplification. DAG size of input: 34 DAG size of output: 32 [2018-11-23 01:13:52,393 WARN L180 SmtUtils]: Spent 318.00 ms on a formula simplification. DAG size of input: 30 DAG size of output: 28 [2018-11-23 01:13:52,521 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 01:13:52,521 INFO L93 Difference]: Finished difference Result 40 states and 43 transitions. [2018-11-23 01:13:52,521 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2018-11-23 01:13:52,521 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 27 [2018-11-23 01:13:52,521 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 01:13:52,521 INFO L225 Difference]: With dead ends: 40 [2018-11-23 01:13:52,521 INFO L226 Difference]: Without dead ends: 0 [2018-11-23 01:13:52,522 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 33 GetRequests, 20 SyntacticMatches, 0 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 17 ImplicationChecksByTransitivity, 0.9s TimeCoverageRelationStatistics Valid=64, Invalid=146, Unknown=0, NotChecked=0, Total=210 [2018-11-23 01:13:52,522 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 0 states. [2018-11-23 01:13:52,522 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 0 to 0. [2018-11-23 01:13:52,522 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 0 states. [2018-11-23 01:13:52,522 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 0 states to 0 states and 0 transitions. [2018-11-23 01:13:52,522 INFO L78 Accepts]: Start accepts. Automaton has 0 states and 0 transitions. Word has length 27 [2018-11-23 01:13:52,522 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 01:13:52,523 INFO L480 AbstractCegarLoop]: Abstraction has 0 states and 0 transitions. [2018-11-23 01:13:52,523 INFO L481 AbstractCegarLoop]: Interpolant automaton has 8 states. [2018-11-23 01:13:52,523 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2018-11-23 01:13:52,523 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 01:13:52,526 INFO L343 DoubleDeckerVisitor]: Before removal of dead ends 0 states and 0 transitions. [2018-11-23 01:13:52,603 INFO L451 ceAbstractionStarter]: At program point isnan_doubleENTRY(line 15) the Hoare annotation is: true [2018-11-23 01:13:52,603 INFO L448 ceAbstractionStarter]: For program point isnan_doubleEXIT(line 15) no Hoare annotation was computed. [2018-11-23 01:13:52,603 INFO L448 ceAbstractionStarter]: For program point isnan_doubleFINAL(line 15) no Hoare annotation was computed. [2018-11-23 01:13:52,603 INFO L448 ceAbstractionStarter]: For program point ULTIMATE.initFINAL(line -1) no Hoare annotation was computed. [2018-11-23 01:13:52,603 INFO L451 ceAbstractionStarter]: At program point ULTIMATE.initENTRY(line -1) the Hoare annotation is: true [2018-11-23 01:13:52,603 INFO L448 ceAbstractionStarter]: For program point ULTIMATE.initEXIT(line -1) no Hoare annotation was computed. [2018-11-23 01:13:52,603 INFO L448 ceAbstractionStarter]: For program point L31(lines 31 39) no Hoare annotation was computed. [2018-11-23 01:13:52,603 INFO L448 ceAbstractionStarter]: For program point L60(lines 60 72) no Hoare annotation was computed. [2018-11-23 01:13:52,604 INFO L448 ceAbstractionStarter]: For program point L52(lines 52 55) no Hoare annotation was computed. [2018-11-23 01:13:52,604 INFO L448 ceAbstractionStarter]: For program point L44(lines 44 49) no Hoare annotation was computed. [2018-11-23 01:13:52,604 INFO L448 ceAbstractionStarter]: For program point L32(lines 32 38) no Hoare annotation was computed. [2018-11-23 01:13:52,604 INFO L448 ceAbstractionStarter]: For program point L61(lines 61 70) no Hoare annotation was computed. [2018-11-23 01:13:52,604 INFO L448 ceAbstractionStarter]: For program point L61-1(lines 61 70) no Hoare annotation was computed. [2018-11-23 01:13:52,604 INFO L448 ceAbstractionStarter]: For program point L45(lines 45 46) no Hoare annotation was computed. [2018-11-23 01:13:52,604 INFO L448 ceAbstractionStarter]: For program point L45-2(lines 45 46) no Hoare annotation was computed. [2018-11-23 01:13:52,604 INFO L448 ceAbstractionStarter]: For program point L74(lines 74 79) no Hoare annotation was computed. [2018-11-23 01:13:52,604 INFO L448 ceAbstractionStarter]: For program point L74-1(lines 19 81) no Hoare annotation was computed. [2018-11-23 01:13:52,604 INFO L448 ceAbstractionStarter]: For program point L74-2(lines 74 79) no Hoare annotation was computed. [2018-11-23 01:13:52,604 INFO L448 ceAbstractionStarter]: For program point L66(lines 66 67) no Hoare annotation was computed. [2018-11-23 01:13:52,604 INFO L448 ceAbstractionStarter]: For program point L66-2(lines 66 67) no Hoare annotation was computed. [2018-11-23 01:13:52,605 INFO L448 ceAbstractionStarter]: For program point L62(lines 62 69) no Hoare annotation was computed. [2018-11-23 01:13:52,605 INFO L448 ceAbstractionStarter]: For program point L29(lines 29 73) no Hoare annotation was computed. [2018-11-23 01:13:52,605 INFO L448 ceAbstractionStarter]: For program point L58(lines 58 59) no Hoare annotation was computed. [2018-11-23 01:13:52,605 INFO L451 ceAbstractionStarter]: At program point ceil_doubleENTRY(lines 19 81) the Hoare annotation is: true [2018-11-23 01:13:52,605 INFO L448 ceAbstractionStarter]: For program point L42(lines 42 43) no Hoare annotation was computed. [2018-11-23 01:13:52,605 INFO L448 ceAbstractionStarter]: For program point ceil_doubleFINAL(lines 19 81) no Hoare annotation was computed. [2018-11-23 01:13:52,605 INFO L448 ceAbstractionStarter]: For program point ceil_doubleEXIT(lines 19 81) no Hoare annotation was computed. [2018-11-23 01:13:52,605 INFO L448 ceAbstractionStarter]: For program point L30(lines 30 50) no Hoare annotation was computed. [2018-11-23 01:13:52,605 INFO L448 ceAbstractionStarter]: For program point L22-1(lines 22 27) no Hoare annotation was computed. [2018-11-23 01:13:52,605 INFO L444 ceAbstractionStarter]: At program point L22-2(lines 22 27) the Hoare annotation is: (= |ceil_double_#in~x| ceil_double_~x) [2018-11-23 01:13:52,605 INFO L448 ceAbstractionStarter]: For program point L22-3(lines 22 27) no Hoare annotation was computed. [2018-11-23 01:13:52,605 INFO L448 ceAbstractionStarter]: For program point L51(lines 51 73) no Hoare annotation was computed. [2018-11-23 01:13:52,606 INFO L448 ceAbstractionStarter]: For program point L35(lines 35 38) no Hoare annotation was computed. [2018-11-23 01:13:52,606 INFO L448 ceAbstractionStarter]: For program point ULTIMATE.startEXIT(line -1) no Hoare annotation was computed. [2018-11-23 01:13:52,606 INFO L451 ceAbstractionStarter]: At program point L-1(line -1) the Hoare annotation is: true [2018-11-23 01:13:52,606 INFO L451 ceAbstractionStarter]: At program point ULTIMATE.startENTRY(line -1) the Hoare annotation is: true [2018-11-23 01:13:52,606 INFO L448 ceAbstractionStarter]: For program point ULTIMATE.startFINAL(line -1) no Hoare annotation was computed. [2018-11-23 01:13:52,606 INFO L448 ceAbstractionStarter]: For program point L95(line 95) no Hoare annotation was computed. [2018-11-23 01:13:52,606 INFO L444 ceAbstractionStarter]: At program point L94(line 94) the Hoare annotation is: (let ((.cse0 (fp.div roundNearestTiesToEven (_ +zero 11 53) (_ +zero 11 53)))) (and (= main_~x~0 .cse0) (= main_~res~0 .cse0))) [2018-11-23 01:13:52,606 INFO L451 ceAbstractionStarter]: At program point mainENTRY(lines 83 100) the Hoare annotation is: true [2018-11-23 01:13:52,606 INFO L448 ceAbstractionStarter]: For program point L94-1(lines 94 97) no Hoare annotation was computed. [2018-11-23 01:13:52,606 INFO L448 ceAbstractionStarter]: For program point mainFINAL(lines 83 100) no Hoare annotation was computed. [2018-11-23 01:13:52,607 INFO L444 ceAbstractionStarter]: At program point L91(line 91) the Hoare annotation is: (= main_~x~0 (fp.div roundNearestTiesToEven (_ +zero 11 53) (_ +zero 11 53))) [2018-11-23 01:13:52,607 INFO L448 ceAbstractionStarter]: For program point L91-1(line 91) no Hoare annotation was computed. [2018-11-23 01:13:52,607 INFO L448 ceAbstractionStarter]: For program point mainEXIT(lines 83 100) no Hoare annotation was computed. [2018-11-23 01:13:52,607 INFO L448 ceAbstractionStarter]: For program point mainErr0ASSERT_VIOLATIONERROR_FUNCTION(line 95) no Hoare annotation was computed. [2018-11-23 01:13:52,615 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 23.11 01:13:52 BoogieIcfgContainer [2018-11-23 01:13:52,615 INFO L132 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2018-11-23 01:13:52,615 INFO L113 PluginConnector]: ------------------------Witness Printer---------------------------- [2018-11-23 01:13:52,616 INFO L271 PluginConnector]: Initializing Witness Printer... [2018-11-23 01:13:52,616 INFO L276 PluginConnector]: Witness Printer initialized [2018-11-23 01:13:52,616 INFO L185 PluginConnector]: Executing the observer RCFGCatcher from plugin Witness Printer for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 01:13:40" (3/4) ... [2018-11-23 01:13:52,618 INFO L144 WitnessPrinter]: Generating witness for correct program [2018-11-23 01:13:52,622 INFO L354 RCFGBacktranslator]: Ignoring RootEdge to procedure isnan_double [2018-11-23 01:13:52,622 INFO L354 RCFGBacktranslator]: Ignoring RootEdge to procedure ULTIMATE.init [2018-11-23 01:13:52,623 INFO L354 RCFGBacktranslator]: Ignoring RootEdge to procedure ceil_double [2018-11-23 01:13:52,623 INFO L354 RCFGBacktranslator]: Ignoring RootEdge to procedure main [2018-11-23 01:13:52,626 INFO L879 BoogieBacktranslator]: Reduced CFG by removing 20 nodes and edges [2018-11-23 01:13:52,626 INFO L879 BoogieBacktranslator]: Reduced CFG by removing 9 nodes and edges [2018-11-23 01:13:52,626 INFO L879 BoogieBacktranslator]: Reduced CFG by removing 1 nodes and edges [2018-11-23 01:13:52,645 WARN L221 nessWitnessGenerator]: Not writing invariant because ACSL is forbidden: \old(x) == x [2018-11-23 01:13:52,665 INFO L145 WitnessManager]: Wrote witness to /tmp/vcloud-vcloud-master/worker/working_dir_3e40160e-16b2-4788-a037-c87146985957/bin-2019/utaipan/witness.graphml [2018-11-23 01:13:52,666 INFO L132 PluginConnector]: ------------------------ END Witness Printer---------------------------- [2018-11-23 01:13:52,666 INFO L168 Benchmark]: Toolchain (without parser) took 13248.36 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 124.3 MB). Free memory was 953.2 MB in the beginning and 843.4 MB in the end (delta: 109.8 MB). Peak memory consumption was 234.1 MB. Max. memory is 11.5 GB. [2018-11-23 01:13:52,667 INFO L168 Benchmark]: CDTParser took 0.17 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 01:13:52,667 INFO L168 Benchmark]: CACSL2BoogieTranslator took 225.15 ms. Allocated memory is still 1.0 GB. Free memory was 953.2 MB in the beginning and 937.1 MB in the end (delta: 16.1 MB). Peak memory consumption was 16.1 MB. Max. memory is 11.5 GB. [2018-11-23 01:13:52,668 INFO L168 Benchmark]: Boogie Procedure Inliner took 19.04 ms. Allocated memory is still 1.0 GB. Free memory is still 937.1 MB. There was no memory consumed. Max. memory is 11.5 GB. [2018-11-23 01:13:52,668 INFO L168 Benchmark]: Boogie Preprocessor took 30.26 ms. Allocated memory is still 1.0 GB. Free memory is still 937.1 MB. There was no memory consumed. Max. memory is 11.5 GB. [2018-11-23 01:13:52,668 INFO L168 Benchmark]: RCFGBuilder took 1191.89 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 124.3 MB). Free memory was 937.1 MB in the beginning and 1.1 GB in the end (delta: -155.7 MB). Peak memory consumption was 21.1 MB. Max. memory is 11.5 GB. [2018-11-23 01:13:52,668 INFO L168 Benchmark]: TraceAbstraction took 11728.55 ms. Allocated memory is still 1.2 GB. Free memory was 1.1 GB in the beginning and 850.0 MB in the end (delta: 242.8 MB). Peak memory consumption was 242.8 MB. Max. memory is 11.5 GB. [2018-11-23 01:13:52,669 INFO L168 Benchmark]: Witness Printer took 50.17 ms. Allocated memory is still 1.2 GB. Free memory was 850.0 MB in the beginning and 843.4 MB in the end (delta: 6.6 MB). Peak memory consumption was 6.6 MB. Max. memory is 11.5 GB. [2018-11-23 01:13:52,670 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.17 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 225.15 ms. Allocated memory is still 1.0 GB. Free memory was 953.2 MB in the beginning and 937.1 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.04 ms. Allocated memory is still 1.0 GB. Free memory is still 937.1 MB. There was no memory consumed. Max. memory is 11.5 GB. * Boogie Preprocessor took 30.26 ms. Allocated memory is still 1.0 GB. Free memory is still 937.1 MB. There was no memory consumed. Max. memory is 11.5 GB. * RCFGBuilder took 1191.89 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 124.3 MB). Free memory was 937.1 MB in the beginning and 1.1 GB in the end (delta: -155.7 MB). Peak memory consumption was 21.1 MB. Max. memory is 11.5 GB. * TraceAbstraction took 11728.55 ms. Allocated memory is still 1.2 GB. Free memory was 1.1 GB in the beginning and 850.0 MB in the end (delta: 242.8 MB). Peak memory consumption was 242.8 MB. Max. memory is 11.5 GB. * Witness Printer took 50.17 ms. Allocated memory is still 1.2 GB. Free memory was 850.0 MB in the beginning and 843.4 MB in the end (delta: 6.6 MB). Peak memory consumption was 6.6 MB. Max. memory is 11.5 GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - PositiveResult [Line: 95]: call of __VERIFIER_error() unreachable For all program executions holds that call of __VERIFIER_error() unreachable at this location - AllSpecificationsHoldResult: All specifications hold 1 specifications checked. All of them hold - InvariantResult [Line: 22]: Loop Invariant Derived loop invariant: \old(x) == x - StatisticsResult: Ultimate Automizer benchmark data CFG has 5 procedures, 46 locations, 1 error locations. SAFE Result, 11.6s OverallTime, 5 OverallIterations, 1 TraceHistogramMax, 9.1s AutomataDifference, 0.0s DeadEndRemovalTime, 0.0s HoareAnnotationTime, HoareTripleCheckerStatistics: 186 SDtfs, 249 SDslu, 649 SDs, 0 SdLazy, 326 SolverSat, 36 SolverUnsat, 0 SolverUnknown, 0 SolverNotchecked, 6.1s Time, PredicateUnifierStatistics: 0 DeclaredPredicates, 139 GetRequests, 91 SyntacticMatches, 0 SemanticMatches, 48 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 54 ImplicationChecksByTransitivity, 4.1s Time, 0.0s BasicInterpolantAutomatonTime, BiggestAbstraction: size=46occurred in iteration=0, traceCheckStatistics: No data available, InterpolantConsolidationStatistics: No data available, PathInvariantsStatistics: No data available, 0/0 InterpolantCoveringCapability, TotalInterpolationStatistics: No data available, 0.0s AbstIntTime, 0 AbstIntIterations, 0 AbstIntStrong, NaN AbsIntWeakeningRatio, NaN AbsIntAvgWeakeningVarsNumRemoved, NaN AbsIntAvgWeakenedConjuncts, 0.0s DumpTime, AutomataMinimizationStatistics: 0.0s AutomataMinimizationTime, 5 MinimizatonAttempts, 9 StatesRemovedByMinimization, 2 NontrivialMinimizations, HoareAnnotationStatistics: 0.0s HoareAnnotationTime, 9 LocationsWithAnnotation, 13 PreInvPairs, 16 NumberOfFragments, 28 HoareAnnotationTreeSize, 13 FomulaSimplifications, 0 FormulaSimplificationTreeSizeReduction, 0.0s HoareSimplificationTime, 9 FomulaSimplificationsInter, 20 FormulaSimplificationTreeSizeReductionInter, 0.0s HoareSimplificationTimeInter, RefinementEngineStatistics: TraceCheckStatistics: 0.0s SsaConstructionTime, 0.3s SatisfiabilityAnalysisTime, 1.8s InterpolantComputationTime, 121 NumberOfCodeBlocks, 121 NumberOfCodeBlocksAsserted, 5 NumberOfCheckSat, 116 ConstructedInterpolants, 21 QuantifiedInterpolants, 18833 SizeOfPredicates, 16 NumberOfNonLiveVariables, 325 ConjunctsInSsa, 40 ConjunctsInUnsatCore, 5 InterpolantComputations, 5 PerfectInterpolantSequences, 0/0 InterpolantCoveringCapability, InvariantSynthesisStatistics: No data available, InterpolantConsolidationStatistics: No data available, ReuseStatistics: No data available RESULT: Ultimate proved your program to be correct! Received shutdown request...