./Ultimate.py --spec ../../sv-benchmarks/c/properties/unreach-call.prp --file ../../sv-benchmarks/c/float-newlib/float_req_bl_1121a_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_6705fe8a-3c42-4275-9680-02312683edb3/bin-2019/uautomizer/data/config -Xmx12G -Xms1G -jar /tmp/vcloud-vcloud-master/worker/working_dir_6705fe8a-3c42-4275-9680-02312683edb3/bin-2019/uautomizer/plugins/org.eclipse.equinox.launcher_1.3.100.v20150511-1540.jar -data @noDefault -ultimatedata /tmp/vcloud-vcloud-master/worker/working_dir_6705fe8a-3c42-4275-9680-02312683edb3/bin-2019/uautomizer/data -tc /tmp/vcloud-vcloud-master/worker/working_dir_6705fe8a-3c42-4275-9680-02312683edb3/bin-2019/uautomizer/config/AutomizerReach.xml -i ../../sv-benchmarks/c/float-newlib/float_req_bl_1121a_true-unreach-call.c -s /tmp/vcloud-vcloud-master/worker/working_dir_6705fe8a-3c42-4275-9680-02312683edb3/bin-2019/uautomizer/config/svcomp-Reach-32bit-Automizer_Default.epf --cacsl2boogietranslator.entry.function main --witnessprinter.witness.directory /tmp/vcloud-vcloud-master/worker/working_dir_6705fe8a-3c42-4275-9680-02312683edb3/bin-2019/uautomizer --witnessprinter.witness.filename witness.graphml --witnessprinter.write.witness.besides.input.file false --witnessprinter.graph.data.specification CHECK( init(main()), LTL(G ! call(__VERIFIER_error())) ) --witnessprinter.graph.data.producer Automizer --witnessprinter.graph.data.architecture 32bit --witnessprinter.graph.data.programhash 7d19ae2d93dd4f9ccec1d28558a563787c68b3eb ......................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................... 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_6705fe8a-3c42-4275-9680-02312683edb3/bin-2019/uautomizer/data/config -Xmx12G -Xms1G -jar /tmp/vcloud-vcloud-master/worker/working_dir_6705fe8a-3c42-4275-9680-02312683edb3/bin-2019/uautomizer/plugins/org.eclipse.equinox.launcher_1.3.100.v20150511-1540.jar -data @noDefault -ultimatedata /tmp/vcloud-vcloud-master/worker/working_dir_6705fe8a-3c42-4275-9680-02312683edb3/bin-2019/uautomizer/data -tc /tmp/vcloud-vcloud-master/worker/working_dir_6705fe8a-3c42-4275-9680-02312683edb3/bin-2019/uautomizer/config/AutomizerReach.xml -i ../../sv-benchmarks/c/float-newlib/float_req_bl_1121a_true-unreach-call.c -s /tmp/vcloud-vcloud-master/worker/working_dir_6705fe8a-3c42-4275-9680-02312683edb3/bin-2019/uautomizer/config/svcomp-Reach-32bit-Automizer_Bitvector.epf --cacsl2boogietranslator.entry.function main --witnessprinter.witness.directory /tmp/vcloud-vcloud-master/worker/working_dir_6705fe8a-3c42-4275-9680-02312683edb3/bin-2019/uautomizer --witnessprinter.witness.filename witness.graphml --witnessprinter.write.witness.besides.input.file false --witnessprinter.graph.data.specification CHECK( init(main()), LTL(G ! call(__VERIFIER_error())) ) --witnessprinter.graph.data.producer Automizer --witnessprinter.graph.data.architecture 32bit --witnessprinter.graph.data.programhash 7d19ae2d93dd4f9ccec1d28558a563787c68b3eb .................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................. 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 14:14:56,228 INFO L170 SettingsManager]: Resetting all preferences to default values... [2018-11-23 14:14:56,229 INFO L174 SettingsManager]: Resetting UltimateCore preferences to default values [2018-11-23 14:14:56,237 INFO L177 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2018-11-23 14:14:56,237 INFO L174 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2018-11-23 14:14:56,238 INFO L174 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2018-11-23 14:14:56,238 INFO L174 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2018-11-23 14:14:56,239 INFO L174 SettingsManager]: Resetting LassoRanker preferences to default values [2018-11-23 14:14:56,240 INFO L174 SettingsManager]: Resetting Reaching Definitions preferences to default values [2018-11-23 14:14:56,241 INFO L174 SettingsManager]: Resetting SyntaxChecker preferences to default values [2018-11-23 14:14:56,242 INFO L177 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2018-11-23 14:14:56,242 INFO L174 SettingsManager]: Resetting LTL2Aut preferences to default values [2018-11-23 14:14:56,242 INFO L174 SettingsManager]: Resetting PEA to Boogie preferences to default values [2018-11-23 14:14:56,243 INFO L174 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2018-11-23 14:14:56,244 INFO L174 SettingsManager]: Resetting ChcToBoogie preferences to default values [2018-11-23 14:14:56,244 INFO L174 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2018-11-23 14:14:56,245 INFO L174 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2018-11-23 14:14:56,246 INFO L174 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2018-11-23 14:14:56,248 INFO L174 SettingsManager]: Resetting CodeCheck preferences to default values [2018-11-23 14:14:56,249 INFO L174 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2018-11-23 14:14:56,249 INFO L174 SettingsManager]: Resetting RCFGBuilder preferences to default values [2018-11-23 14:14:56,250 INFO L174 SettingsManager]: Resetting TraceAbstraction preferences to default values [2018-11-23 14:14:56,252 INFO L177 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2018-11-23 14:14:56,252 INFO L177 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2018-11-23 14:14:56,252 INFO L174 SettingsManager]: Resetting TreeAutomizer preferences to default values [2018-11-23 14:14:56,253 INFO L174 SettingsManager]: Resetting IcfgTransformer preferences to default values [2018-11-23 14:14:56,254 INFO L174 SettingsManager]: Resetting Boogie Printer preferences to default values [2018-11-23 14:14:56,254 INFO L174 SettingsManager]: Resetting ReqPrinter preferences to default values [2018-11-23 14:14:56,255 INFO L174 SettingsManager]: Resetting Witness Printer preferences to default values [2018-11-23 14:14:56,256 INFO L177 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2018-11-23 14:14:56,256 INFO L174 SettingsManager]: Resetting CDTParser preferences to default values [2018-11-23 14:14:56,256 INFO L177 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2018-11-23 14:14:56,256 INFO L177 SettingsManager]: ReqParser provides no preferences, ignoring... [2018-11-23 14:14:56,256 INFO L174 SettingsManager]: Resetting SmtParser preferences to default values [2018-11-23 14:14:56,257 INFO L174 SettingsManager]: Resetting Witness Parser preferences to default values [2018-11-23 14:14:56,258 INFO L181 SettingsManager]: Finished resetting all preferences to default values... [2018-11-23 14:14:56,258 INFO L98 SettingsManager]: Beginning loading settings from /tmp/vcloud-vcloud-master/worker/working_dir_6705fe8a-3c42-4275-9680-02312683edb3/bin-2019/uautomizer/config/svcomp-Reach-32bit-Automizer_Default.epf [2018-11-23 14:14:56,268 INFO L110 SettingsManager]: Loading preferences was successful [2018-11-23 14:14:56,268 INFO L112 SettingsManager]: Preferences different from defaults after loading the file: [2018-11-23 14:14:56,269 INFO L131 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2018-11-23 14:14:56,269 INFO L133 SettingsManager]: * ... calls to implemented procedures=ONLY_FOR_CONCURRENT_PROGRAMS [2018-11-23 14:14:56,269 INFO L131 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2018-11-23 14:14:56,269 INFO L133 SettingsManager]: * Create parallel compositions if possible=false [2018-11-23 14:14:56,269 INFO L133 SettingsManager]: * Use SBE=true [2018-11-23 14:14:56,270 INFO L131 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2018-11-23 14:14:56,270 INFO L133 SettingsManager]: * sizeof long=4 [2018-11-23 14:14:56,270 INFO L133 SettingsManager]: * Overapproximate operations on floating types=true [2018-11-23 14:14:56,270 INFO L133 SettingsManager]: * sizeof POINTER=4 [2018-11-23 14:14:56,270 INFO L133 SettingsManager]: * Check division by zero=IGNORE [2018-11-23 14:14:56,270 INFO L133 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2018-11-23 14:14:56,270 INFO L133 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2018-11-23 14:14:56,270 INFO L133 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2018-11-23 14:14:56,271 INFO L133 SettingsManager]: * sizeof long double=12 [2018-11-23 14:14:56,271 INFO L133 SettingsManager]: * Check if freed pointer was valid=false [2018-11-23 14:14:56,271 INFO L133 SettingsManager]: * Use constant arrays=true [2018-11-23 14:14:56,271 INFO L133 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2018-11-23 14:14:56,271 INFO L131 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2018-11-23 14:14:56,271 INFO L133 SettingsManager]: * Size of a code block=SequenceOfStatements [2018-11-23 14:14:56,271 INFO L133 SettingsManager]: * To the following directory=./dump/ [2018-11-23 14:14:56,272 INFO L133 SettingsManager]: * SMT solver=External_DefaultMode [2018-11-23 14:14:56,272 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2018-11-23 14:14:56,272 INFO L131 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2018-11-23 14:14:56,272 INFO L133 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2018-11-23 14:14:56,272 INFO L133 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2018-11-23 14:14:56,272 INFO L133 SettingsManager]: * Trace refinement strategy=CAMEL [2018-11-23 14:14:56,272 INFO L133 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2018-11-23 14:14:56,272 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2018-11-23 14:14:56,273 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_6705fe8a-3c42-4275-9680-02312683edb3/bin-2019/uautomizer Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Witness filename -> witness.graphml Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Write witness besides input file -> false Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data specification -> CHECK( init(main()), LTL(G ! call(__VERIFIER_error())) ) Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data producer -> Automizer Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data architecture -> 32bit Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data programhash -> 7d19ae2d93dd4f9ccec1d28558a563787c68b3eb [2018-11-23 14:14:56,296 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2018-11-23 14:14:56,306 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2018-11-23 14:14:56,308 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2018-11-23 14:14:56,309 INFO L271 PluginConnector]: Initializing CDTParser... [2018-11-23 14:14:56,310 INFO L276 PluginConnector]: CDTParser initialized [2018-11-23 14:14:56,310 INFO L418 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /tmp/vcloud-vcloud-master/worker/working_dir_6705fe8a-3c42-4275-9680-02312683edb3/bin-2019/uautomizer/../../sv-benchmarks/c/float-newlib/float_req_bl_1121a_true-unreach-call.c [2018-11-23 14:14:56,346 INFO L221 CDTParser]: Created temporary CDT project at /tmp/vcloud-vcloud-master/worker/working_dir_6705fe8a-3c42-4275-9680-02312683edb3/bin-2019/uautomizer/data/421eeaf1a/400fd624b4f24ce5bfd5f6aa542332f7/FLAGae11eb0b3 [2018-11-23 14:14:56,773 INFO L307 CDTParser]: Found 1 translation units. [2018-11-23 14:14:56,774 INFO L161 CDTParser]: Scanning /tmp/vcloud-vcloud-master/worker/working_dir_6705fe8a-3c42-4275-9680-02312683edb3/sv-benchmarks/c/float-newlib/float_req_bl_1121a_true-unreach-call.c [2018-11-23 14:14:56,780 INFO L355 CDTParser]: About to delete temporary CDT project at /tmp/vcloud-vcloud-master/worker/working_dir_6705fe8a-3c42-4275-9680-02312683edb3/bin-2019/uautomizer/data/421eeaf1a/400fd624b4f24ce5bfd5f6aa542332f7/FLAGae11eb0b3 [2018-11-23 14:14:56,792 INFO L363 CDTParser]: Successfully deleted /tmp/vcloud-vcloud-master/worker/working_dir_6705fe8a-3c42-4275-9680-02312683edb3/bin-2019/uautomizer/data/421eeaf1a/400fd624b4f24ce5bfd5f6aa542332f7 [2018-11-23 14:14:56,794 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2018-11-23 14:14:56,795 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2018-11-23 14:14:56,796 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2018-11-23 14:14:56,796 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2018-11-23 14:14:56,799 INFO L276 PluginConnector]: CACSL2BoogieTranslator initialized [2018-11-23 14:14:56,800 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 02:14:56" (1/1) ... [2018-11-23 14:14:56,802 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@5c8670d and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 02:14:56, skipping insertion in model container [2018-11-23 14:14:56,802 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 02:14:56" (1/1) ... [2018-11-23 14:14:56,808 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2018-11-23 14:14:56,826 INFO L176 MainTranslator]: Built tables and reachable declarations [2018-11-23 14:14:56,951 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 14:14:56,953 INFO L191 MainTranslator]: Completed pre-run [2018-11-23 14:14:56,974 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 14:14:57,025 INFO L195 MainTranslator]: Completed translation [2018-11-23 14:14:57,025 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 02:14:57 WrapperNode [2018-11-23 14:14:57,025 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2018-11-23 14:14:57,026 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2018-11-23 14:14:57,026 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2018-11-23 14:14:57,026 INFO L276 PluginConnector]: Boogie Procedure Inliner initialized [2018-11-23 14:14:57,033 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 02:14:57" (1/1) ... [2018-11-23 14:14:57,041 INFO L185 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 02:14:57" (1/1) ... [2018-11-23 14:14:57,045 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2018-11-23 14:14:57,045 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2018-11-23 14:14:57,045 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2018-11-23 14:14:57,045 INFO L276 PluginConnector]: Boogie Preprocessor initialized [2018-11-23 14:14:57,051 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 02:14:57" (1/1) ... [2018-11-23 14:14:57,051 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 02:14:57" (1/1) ... [2018-11-23 14:14:57,053 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 02:14:57" (1/1) ... [2018-11-23 14:14:57,054 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 02:14:57" (1/1) ... [2018-11-23 14:14:57,063 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 02:14:57" (1/1) ... [2018-11-23 14:14:57,069 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 02:14:57" (1/1) ... [2018-11-23 14:14:57,071 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 02:14:57" (1/1) ... [2018-11-23 14:14:57,073 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2018-11-23 14:14:57,073 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2018-11-23 14:14:57,074 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2018-11-23 14:14:57,074 INFO L276 PluginConnector]: RCFGBuilder initialized [2018-11-23 14:14:57,074 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 02:14:57" (1/1) ... No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_6705fe8a-3c42-4275-9680-02312683edb3/bin-2019/uautomizer/z3 Starting monitored process 1 with z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 1 with z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2018-11-23 14:14:57,106 INFO L130 BoogieDeclarations]: Found specification of procedure main [2018-11-23 14:14:57,106 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2018-11-23 14:14:57,106 INFO L130 BoogieDeclarations]: Found specification of procedure isnan_float [2018-11-23 14:14:57,106 INFO L138 BoogieDeclarations]: Found implementation of procedure isnan_float [2018-11-23 14:14:57,106 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2018-11-23 14:14:57,106 INFO L130 BoogieDeclarations]: Found specification of procedure read~real [2018-11-23 14:14:57,106 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2018-11-23 14:14:57,106 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2018-11-23 14:14:57,107 INFO L130 BoogieDeclarations]: Found specification of procedure write~real [2018-11-23 14:14:57,107 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.alloc [2018-11-23 14:14:57,107 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2018-11-23 14:14:57,107 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2018-11-23 14:14:57,107 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2018-11-23 14:14:57,107 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~real [2018-11-23 14:14:57,107 INFO L130 BoogieDeclarations]: Found specification of procedure fmod_float [2018-11-23 14:14:57,107 INFO L138 BoogieDeclarations]: Found implementation of procedure fmod_float [2018-11-23 14:14:57,108 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2018-11-23 14:14:57,368 INFO L275 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2018-11-23 14:14:57,368 INFO L280 CfgBuilder]: Removed 12 assue(true) statements. [2018-11-23 14:14:57,368 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 02:14:57 BoogieIcfgContainer [2018-11-23 14:14:57,368 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2018-11-23 14:14:57,369 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2018-11-23 14:14:57,369 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2018-11-23 14:14:57,372 INFO L276 PluginConnector]: TraceAbstraction initialized [2018-11-23 14:14:57,372 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 23.11 02:14:56" (1/3) ... [2018-11-23 14:14:57,372 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@87b4b92 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 23.11 02:14:57, skipping insertion in model container [2018-11-23 14:14:57,373 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 02:14:57" (2/3) ... [2018-11-23 14:14:57,373 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@87b4b92 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 23.11 02:14:57, skipping insertion in model container [2018-11-23 14:14:57,373 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 02:14:57" (3/3) ... [2018-11-23 14:14:57,374 INFO L112 eAbstractionObserver]: Analyzing ICFG float_req_bl_1121a_true-unreach-call.c [2018-11-23 14:14:57,383 INFO L156 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2018-11-23 14:14:57,389 INFO L168 ceAbstractionStarter]: Appying trace abstraction to program that has 1 error locations. [2018-11-23 14:14:57,398 INFO L257 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2018-11-23 14:14:57,417 INFO L133 ementStrategyFactory]: Using default assertion order modulation [2018-11-23 14:14:57,418 INFO L382 AbstractCegarLoop]: Interprodecural is true [2018-11-23 14:14:57,418 INFO L383 AbstractCegarLoop]: Hoare is true [2018-11-23 14:14:57,418 INFO L384 AbstractCegarLoop]: Compute interpolants for FPandBP [2018-11-23 14:14:57,418 INFO L385 AbstractCegarLoop]: Backedges is STRAIGHT_LINE [2018-11-23 14:14:57,418 INFO L386 AbstractCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2018-11-23 14:14:57,418 INFO L387 AbstractCegarLoop]: Difference is false [2018-11-23 14:14:57,418 INFO L388 AbstractCegarLoop]: Minimize is MINIMIZE_SEVPA [2018-11-23 14:14:57,418 INFO L393 AbstractCegarLoop]: ======== Iteration 0==of CEGAR loop == AllErrorsAtOnce======== [2018-11-23 14:14:57,430 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states. [2018-11-23 14:14:57,435 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 23 [2018-11-23 14:14:57,435 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 14:14:57,436 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 14:14:57,438 INFO L423 AbstractCegarLoop]: === Iteration 1 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 14:14:57,443 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 14:14:57,443 INFO L82 PathProgramCache]: Analyzing trace with hash -348005672, now seen corresponding path program 1 times [2018-11-23 14:14:57,445 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 14:14:57,445 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 14:14:57,476 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 14:14:57,477 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 14:14:57,477 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 14:14:57,510 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 14:14:57,541 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 14:14:57,543 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 14:14:57,544 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2018-11-23 14:14:57,547 INFO L459 AbstractCegarLoop]: Interpolant automaton has 2 states [2018-11-23 14:14:57,555 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 2 interpolants. [2018-11-23 14:14:57,555 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2018-11-23 14:14:57,557 INFO L87 Difference]: Start difference. First operand 55 states. Second operand 2 states. [2018-11-23 14:14:57,576 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 14:14:57,576 INFO L93 Difference]: Finished difference Result 102 states and 158 transitions. [2018-11-23 14:14:57,577 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2018-11-23 14:14:57,578 INFO L78 Accepts]: Start accepts. Automaton has 2 states. Word has length 22 [2018-11-23 14:14:57,578 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 14:14:57,585 INFO L225 Difference]: With dead ends: 102 [2018-11-23 14:14:57,585 INFO L226 Difference]: Without dead ends: 51 [2018-11-23 14:14:57,591 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 14:14:57,604 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 51 states. [2018-11-23 14:14:57,617 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 51 to 51. [2018-11-23 14:14:57,618 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 51 states. [2018-11-23 14:14:57,619 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 51 states to 51 states and 66 transitions. [2018-11-23 14:14:57,620 INFO L78 Accepts]: Start accepts. Automaton has 51 states and 66 transitions. Word has length 22 [2018-11-23 14:14:57,620 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 14:14:57,620 INFO L480 AbstractCegarLoop]: Abstraction has 51 states and 66 transitions. [2018-11-23 14:14:57,620 INFO L481 AbstractCegarLoop]: Interpolant automaton has 2 states. [2018-11-23 14:14:57,621 INFO L276 IsEmpty]: Start isEmpty. Operand 51 states and 66 transitions. [2018-11-23 14:14:57,621 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 25 [2018-11-23 14:14:57,621 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 14:14:57,622 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 14:14:57,622 INFO L423 AbstractCegarLoop]: === Iteration 2 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 14:14:57,622 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 14:14:57,622 INFO L82 PathProgramCache]: Analyzing trace with hash 1100584309, now seen corresponding path program 1 times [2018-11-23 14:14:57,622 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 14:14:57,622 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 14:14:57,623 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 14:14:57,624 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 14:14:57,624 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 14:14:57,667 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 14:14:57,690 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 14:14:57,708 INFO L469 BasicCegarLoop]: Counterexample might be feasible ----- class de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder.RCFGBacktranslator [?] CALL call ULTIMATE.init(); VAL [|#NULL.base|=6442450953, |#NULL.offset|=6442450945, |old(#NULL.base)|=6442450953, |old(#NULL.offset)|=6442450945, |old(~#Zero_fmod~0.base)|=6442450955, |old(~#Zero_fmod~0.offset)|=6442450952, |old(~one_fmod~0)|=6442450957.0, |~#Zero_fmod~0.base|=6442450955, |~#Zero_fmod~0.offset|=6442450952, ~one_fmod~0=6442450957.0] [?] #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~one_fmod~0 := 1.0;call ~#Zero_fmod~0.base, ~#Zero_fmod~0.offset := #Ultimate.alloc(8);call write~init~real(0.0, ~#Zero_fmod~0.base, ~#Zero_fmod~0.offset, 4);call write~init~real(~someUnaryDOUBLEoperation(0.0), ~#Zero_fmod~0.base, 4 + ~#Zero_fmod~0.offset, 4); VAL [|#NULL.base|=0, |#NULL.offset|=0, |old(#NULL.base)|=6442450953, |old(#NULL.offset)|=6442450945, |old(~#Zero_fmod~0.base)|=6442450955, |old(~#Zero_fmod~0.offset)|=6442450952, |old(~one_fmod~0)|=6442450957.0, |~#Zero_fmod~0.base|=6442450954, |~#Zero_fmod~0.offset|=0, ~one_fmod~0=1.0] [?] assume true; VAL [|#NULL.base|=0, |#NULL.offset|=0, |old(#NULL.base)|=6442450953, |old(#NULL.offset)|=6442450945, |old(~#Zero_fmod~0.base)|=6442450955, |old(~#Zero_fmod~0.offset)|=6442450952, |old(~one_fmod~0)|=6442450957.0, |~#Zero_fmod~0.base|=6442450954, |~#Zero_fmod~0.offset|=0, ~one_fmod~0=1.0] [?] RET #187#return; VAL [|#NULL.base|=0, |#NULL.offset|=0, |~#Zero_fmod~0.base|=6442450954, |~#Zero_fmod~0.offset|=0, ~one_fmod~0=1.0] [?] CALL call #t~ret15 := main(); VAL [|#NULL.base|=0, |#NULL.offset|=0, |~#Zero_fmod~0.base|=6442450954, |~#Zero_fmod~0.offset|=0, ~one_fmod~0=1.0] [?] ~x~0 := #t~nondet12;havoc #t~nondet12;~y~0 := 0.0; VAL [main_~x~0=6442450949.0, main_~y~0=0.0, |#NULL.base|=0, |#NULL.offset|=0, |~#Zero_fmod~0.base|=6442450954, |~#Zero_fmod~0.offset|=0, ~one_fmod~0=1.0] [?] CALL call #t~ret13 := fmod_float(~x~0, ~y~0); VAL [|#NULL.base|=0, |#NULL.offset|=0, |fmod_float_#in~x|=6442450949.0, |fmod_float_#in~y|=0.0, |~#Zero_fmod~0.base|=6442450954, |~#Zero_fmod~0.offset|=0, ~one_fmod~0=1.0] [?] ~x := #in~x;~y := #in~y;havoc ~n~0;havoc ~hx~0;havoc ~hy~0;havoc ~hz~0;havoc ~ix~0;havoc ~iy~0;havoc ~sx~0;havoc ~i~0; VAL [fmod_float_~x=6442450949.0, fmod_float_~y=0.0, |#NULL.base|=0, |#NULL.offset|=0, |fmod_float_#in~x|=6442450949.0, |fmod_float_#in~y|=0.0, |~#Zero_fmod~0.base|=6442450954, |~#Zero_fmod~0.offset|=0, ~one_fmod~0=1.0] [?] call ~#gf_u~0.base, ~#gf_u~0.offset := #Ultimate.alloc(4);call write~real(~x, ~#gf_u~0.base, ~#gf_u~0.offset, 4);call #t~mem0 := read~int(~#gf_u~0.base, ~#gf_u~0.offset, 4);~hx~0 := (if #t~mem0 % 4294967296 % 4294967296 <= 2147483647 then #t~mem0 % 4294967296 % 4294967296 else #t~mem0 % 4294967296 % 4294967296 - 4294967296);call write~real(#t~union1, ~#gf_u~0.base, ~#gf_u~0.offset, 4);havoc #t~mem0;havoc #t~union1;call ULTIMATE.dealloc(~#gf_u~0.base, ~#gf_u~0.offset);havoc ~#gf_u~0.base, ~#gf_u~0.offset; VAL [fmod_float_~hx~0=3, fmod_float_~x=6442450949.0, fmod_float_~y=0.0, |#NULL.base|=0, |#NULL.offset|=0, |fmod_float_#in~x|=6442450949.0, |fmod_float_#in~y|=0.0, |~#Zero_fmod~0.base|=6442450954, |~#Zero_fmod~0.offset|=0, ~one_fmod~0=1.0] [?] goto; VAL [fmod_float_~hx~0=3, fmod_float_~x=6442450949.0, fmod_float_~y=0.0, |#NULL.base|=0, |#NULL.offset|=0, |fmod_float_#in~x|=6442450949.0, |fmod_float_#in~y|=0.0, |~#Zero_fmod~0.base|=6442450954, |~#Zero_fmod~0.offset|=0, ~one_fmod~0=1.0] [?] call ~#gf_u~1.base, ~#gf_u~1.offset := #Ultimate.alloc(4);call write~real(~y, ~#gf_u~1.base, ~#gf_u~1.offset, 4);call #t~mem2 := read~int(~#gf_u~1.base, ~#gf_u~1.offset, 4);~hy~0 := (if #t~mem2 % 4294967296 % 4294967296 <= 2147483647 then #t~mem2 % 4294967296 % 4294967296 else #t~mem2 % 4294967296 % 4294967296 - 4294967296);call write~real(#t~union3, ~#gf_u~1.base, ~#gf_u~1.offset, 4);havoc #t~union3;havoc #t~mem2;call ULTIMATE.dealloc(~#gf_u~1.base, ~#gf_u~1.offset);havoc ~#gf_u~1.base, ~#gf_u~1.offset; VAL [fmod_float_~hx~0=3, fmod_float_~hy~0=(- 2147483648), fmod_float_~x=6442450949.0, fmod_float_~y=0.0, |#NULL.base|=0, |#NULL.offset|=0, |fmod_float_#in~x|=6442450949.0, |fmod_float_#in~y|=0.0, |~#Zero_fmod~0.base|=6442450954, |~#Zero_fmod~0.offset|=0, ~one_fmod~0=1.0] [?] goto; VAL [fmod_float_~hx~0=3, fmod_float_~hy~0=(- 2147483648), fmod_float_~x=6442450949.0, fmod_float_~y=0.0, |#NULL.base|=0, |#NULL.offset|=0, |fmod_float_#in~x|=6442450949.0, |fmod_float_#in~y|=0.0, |~#Zero_fmod~0.base|=6442450954, |~#Zero_fmod~0.offset|=0, ~one_fmod~0=1.0] [?] ~sx~0 := (if ~bitwiseAnd(~hx~0, 2147483648) % 4294967296 % 4294967296 <= 2147483647 then ~bitwiseAnd(~hx~0, 2147483648) % 4294967296 % 4294967296 else ~bitwiseAnd(~hx~0, 2147483648) % 4294967296 % 4294967296 - 4294967296);~hx~0 := ~bitwiseXor(~hx~0, ~sx~0);~hy~0 := ~bitwiseAnd(~hy~0, 2147483647); VAL [fmod_float_~sx~0=(- 1), fmod_float_~x=6442450949.0, fmod_float_~y=0.0, |#NULL.base|=0, |#NULL.offset|=0, |fmod_float_#in~x|=6442450949.0, |fmod_float_#in~y|=0.0, |~#Zero_fmod~0.base|=6442450954, |~#Zero_fmod~0.offset|=0, ~one_fmod~0=1.0] [?] assume (0 == ~hy~0 || !(~hx~0 < 2139095040)) || ~hy~0 > 2139095040;#res := ~someBinaryArithmeticFLOAToperation(~someBinaryArithmeticFLOAToperation(~x, ~y), ~someBinaryArithmeticFLOAToperation(~x, ~y)); VAL [fmod_float_~hx~0=2139095040, fmod_float_~hy~0=2139095041, fmod_float_~sx~0=(- 1), fmod_float_~x=6442450949.0, fmod_float_~y=0.0, |#NULL.base|=0, |#NULL.offset|=0, |fmod_float_#in~x|=6442450949.0, |fmod_float_#in~y|=0.0, |~#Zero_fmod~0.base|=6442450954, |~#Zero_fmod~0.offset|=0, ~one_fmod~0=1.0] [?] assume true; VAL [fmod_float_~hx~0=2139095040, fmod_float_~hy~0=2139095041, fmod_float_~sx~0=(- 1), fmod_float_~x=6442450949.0, fmod_float_~y=0.0, |#NULL.base|=0, |#NULL.offset|=0, |fmod_float_#in~x|=6442450949.0, |fmod_float_#in~y|=0.0, |~#Zero_fmod~0.base|=6442450954, |~#Zero_fmod~0.offset|=0, ~one_fmod~0=1.0] [?] RET #191#return; VAL [main_~x~0=6442450949.0, main_~y~0=0.0, |#NULL.base|=0, |#NULL.offset|=0, |main_#t~ret13|=6442450948.0, |~#Zero_fmod~0.base|=6442450954, |~#Zero_fmod~0.offset|=0, ~one_fmod~0=1.0] [?] ~res~0 := #t~ret13;havoc #t~ret13; VAL [main_~res~0=6442450948.0, main_~x~0=6442450949.0, main_~y~0=0.0, |#NULL.base|=0, |#NULL.offset|=0, |~#Zero_fmod~0.base|=6442450954, |~#Zero_fmod~0.offset|=0, ~one_fmod~0=1.0] [?] CALL call #t~ret14 := isnan_float(~res~0); VAL [|#NULL.base|=0, |#NULL.offset|=0, |isnan_float_#in~x|=6442450948.0, |~#Zero_fmod~0.base|=6442450954, |~#Zero_fmod~0.offset|=0, ~one_fmod~0=1.0] [?] ~x := #in~x;#res := (if ~someBinaryFLOATComparisonOperation(~x, ~x) then 1 else 0); VAL [isnan_float_~x=6442450948.0, |#NULL.base|=0, |#NULL.offset|=0, |isnan_float_#in~x|=6442450948.0, |isnan_float_#res|=0, |~#Zero_fmod~0.base|=6442450954, |~#Zero_fmod~0.offset|=0, ~one_fmod~0=1.0] [?] assume true; VAL [isnan_float_~x=6442450948.0, |#NULL.base|=0, |#NULL.offset|=0, |isnan_float_#in~x|=6442450948.0, |isnan_float_#res|=0, |~#Zero_fmod~0.base|=6442450954, |~#Zero_fmod~0.offset|=0, ~one_fmod~0=1.0] [?] RET #193#return; VAL [main_~res~0=6442450948.0, main_~x~0=6442450949.0, main_~y~0=0.0, |#NULL.base|=0, |#NULL.offset|=0, |main_#t~ret14|=0, |~#Zero_fmod~0.base|=6442450954, |~#Zero_fmod~0.offset|=0, ~one_fmod~0=1.0] [?] assume -2147483648 <= #t~ret14 && #t~ret14 <= 2147483647; VAL [main_~res~0=6442450948.0, main_~x~0=6442450949.0, main_~y~0=0.0, |#NULL.base|=0, |#NULL.offset|=0, |main_#t~ret14|=0, |~#Zero_fmod~0.base|=6442450954, |~#Zero_fmod~0.offset|=0, ~one_fmod~0=1.0] [?] assume 0 == #t~ret14;havoc #t~ret14; VAL [main_~res~0=6442450948.0, main_~x~0=6442450949.0, main_~y~0=0.0, |#NULL.base|=0, |#NULL.offset|=0, |~#Zero_fmod~0.base|=6442450954, |~#Zero_fmod~0.offset|=0, ~one_fmod~0=1.0] [?] assume !false; VAL [main_~res~0=6442450948.0, main_~x~0=6442450949.0, main_~y~0=0.0, |#NULL.base|=0, |#NULL.offset|=0, |~#Zero_fmod~0.base|=6442450954, |~#Zero_fmod~0.offset|=0, ~one_fmod~0=1.0] [?] CALL call ULTIMATE.init(); VAL [#NULL.base=6442450953, #NULL.offset=6442450945, old(#NULL.base)=6442450953, old(#NULL.offset)=6442450945, old(~#Zero_fmod~0.base)=6442450955, old(~#Zero_fmod~0.offset)=6442450952, old(~one_fmod~0)=6.442450957E9, ~#Zero_fmod~0.base=6442450955, ~#Zero_fmod~0.offset=6442450952, ~one_fmod~0=6.442450957E9] [?] #NULL.base, #NULL.offset := 0, 0; [?] #valid := #valid[0 := 0]; [L12-L15] ~one_fmod~0 := 1.0; [L12-L15] call ~#Zero_fmod~0.base, ~#Zero_fmod~0.offset := #Ultimate.alloc(8); [L12-L15] call write~init~real(0.0, ~#Zero_fmod~0.base, ~#Zero_fmod~0.offset, 4); [L12-L15] call write~init~real(~someUnaryDOUBLEoperation(0.0), ~#Zero_fmod~0.base, 4 + ~#Zero_fmod~0.offset, 4); VAL [#NULL.base=0, #NULL.offset=0, old(#NULL.base)=6442450953, old(#NULL.offset)=6442450945, old(~#Zero_fmod~0.base)=6442450955, old(~#Zero_fmod~0.offset)=6442450952, old(~one_fmod~0)=6.442450957E9, ~#Zero_fmod~0.base=6442450954, ~#Zero_fmod~0.offset=0, ~one_fmod~0=1.0] [?] ensures true; VAL [#NULL.base=0, #NULL.offset=0, old(#NULL.base)=6442450953, old(#NULL.offset)=6442450945, old(~#Zero_fmod~0.base)=6442450955, old(~#Zero_fmod~0.offset)=6442450952, old(~one_fmod~0)=6.442450957E9, ~#Zero_fmod~0.base=6442450954, ~#Zero_fmod~0.offset=0, ~one_fmod~0=1.0] [?] RET call ULTIMATE.init(); VAL [#NULL.base=0, #NULL.offset=0, ~#Zero_fmod~0.base=6442450954, ~#Zero_fmod~0.offset=0, ~one_fmod~0=1.0] [?] CALL call #t~ret15 := main(); VAL [#NULL.base=0, #NULL.offset=0, ~#Zero_fmod~0.base=6442450954, ~#Zero_fmod~0.offset=0, ~one_fmod~0=1.0] [L116] ~x~0 := #t~nondet12; [L116] havoc #t~nondet12; [L117] ~y~0 := 0.0; VAL [#NULL.base=0, #NULL.offset=0, ~#Zero_fmod~0.base=6442450954, ~#Zero_fmod~0.offset=0, ~one_fmod~0=1.0, ~x~0=6.442450949E9, ~y~0=0.0] [L119] CALL call #t~ret13 := fmod_float(~x~0, ~y~0); VAL [#in~x=6.442450949E9, #in~y=0.0, #NULL.base=0, #NULL.offset=0, ~#Zero_fmod~0.base=6442450954, ~#Zero_fmod~0.offset=0, ~one_fmod~0=1.0] [L17-L105] ~x := #in~x; [L17-L105] ~y := #in~y; [L18] havoc ~n~0; [L18] havoc ~hx~0; [L18] havoc ~hy~0; [L18] havoc ~hz~0; [L18] havoc ~ix~0; [L18] havoc ~iy~0; [L18] havoc ~sx~0; [L18] havoc ~i~0; VAL [#in~x=6.442450949E9, #in~y=0.0, #NULL.base=0, #NULL.offset=0, ~#Zero_fmod~0.base=6442450954, ~#Zero_fmod~0.offset=0, ~one_fmod~0=1.0, ~x=6.442450949E9, ~y=0.0] [L21] call ~#gf_u~0.base, ~#gf_u~0.offset := #Ultimate.alloc(4); [L22] call write~real(~x, ~#gf_u~0.base, ~#gf_u~0.offset, 4); [L23] call #t~mem0 := read~int(~#gf_u~0.base, ~#gf_u~0.offset, 4); [L23] ~hx~0 := (if #t~mem0 % 4294967296 % 4294967296 <= 2147483647 then #t~mem0 % 4294967296 % 4294967296 else #t~mem0 % 4294967296 % 4294967296 - 4294967296); [L23] call write~real(#t~union1, ~#gf_u~0.base, ~#gf_u~0.offset, 4); [L23] havoc #t~mem0; [L23] havoc #t~union1; [L21] call ULTIMATE.dealloc(~#gf_u~0.base, ~#gf_u~0.offset); [L21] havoc ~#gf_u~0.base, ~#gf_u~0.offset; VAL [#in~x=6.442450949E9, #in~y=0.0, #NULL.base=0, #NULL.offset=0, ~#Zero_fmod~0.base=6442450954, ~#Zero_fmod~0.offset=0, ~hx~0=3, ~one_fmod~0=1.0, ~x=6.442450949E9, ~y=0.0] [L26] call ~#gf_u~1.base, ~#gf_u~1.offset := #Ultimate.alloc(4); [L27] call write~real(~y, ~#gf_u~1.base, ~#gf_u~1.offset, 4); [L28] call #t~mem2 := read~int(~#gf_u~1.base, ~#gf_u~1.offset, 4); [L28] ~hy~0 := (if #t~mem2 % 4294967296 % 4294967296 <= 2147483647 then #t~mem2 % 4294967296 % 4294967296 else #t~mem2 % 4294967296 % 4294967296 - 4294967296); [L28] call write~real(#t~union3, ~#gf_u~1.base, ~#gf_u~1.offset, 4); [L28] havoc #t~union3; [L28] havoc #t~mem2; [L26] call ULTIMATE.dealloc(~#gf_u~1.base, ~#gf_u~1.offset); [L26] havoc ~#gf_u~1.base, ~#gf_u~1.offset; VAL [#in~x=6.442450949E9, #in~y=0.0, #NULL.base=0, #NULL.offset=0, ~#Zero_fmod~0.base=6442450954, ~#Zero_fmod~0.offset=0, ~hx~0=3, ~hy~0=-2147483648, ~one_fmod~0=1.0, ~x=6.442450949E9, ~y=0.0] [L30] ~sx~0 := (if ~bitwiseAnd(~hx~0, 2147483648) % 4294967296 % 4294967296 <= 2147483647 then ~bitwiseAnd(~hx~0, 2147483648) % 4294967296 % 4294967296 else ~bitwiseAnd(~hx~0, 2147483648) % 4294967296 % 4294967296 - 4294967296); [L31] ~hx~0 := ~bitwiseXor(~hx~0, ~sx~0); [L32] ~hy~0 := ~bitwiseAnd(~hy~0, 2147483647); VAL [#in~x=6.442450949E9, #in~y=0.0, #NULL.base=0, #NULL.offset=0, ~#Zero_fmod~0.base=6442450954, ~#Zero_fmod~0.offset=0, ~one_fmod~0=1.0, ~sx~0=-1, ~x=6.442450949E9, ~y=0.0] [L34-L35] assume (0 == ~hy~0 || !(~hx~0 < 2139095040)) || ~hy~0 > 2139095040; [L35] #res := ~someBinaryArithmeticFLOAToperation(~someBinaryArithmeticFLOAToperation(~x, ~y), ~someBinaryArithmeticFLOAToperation(~x, ~y)); VAL [#in~x=6.442450949E9, #in~y=0.0, #NULL.base=0, #NULL.offset=0, ~#Zero_fmod~0.base=6442450954, ~#Zero_fmod~0.offset=0, ~hx~0=2139095040, ~hy~0=2139095041, ~one_fmod~0=1.0, ~sx~0=-1, ~x=6.442450949E9, ~y=0.0] [L17-L105] ensures true; VAL [#in~x=6.442450949E9, #in~y=0.0, #NULL.base=0, #NULL.offset=0, ~#Zero_fmod~0.base=6442450954, ~#Zero_fmod~0.offset=0, ~hx~0=2139095040, ~hy~0=2139095041, ~one_fmod~0=1.0, ~sx~0=-1, ~x=6.442450949E9, ~y=0.0] [L119] RET call #t~ret13 := fmod_float(~x~0, ~y~0); VAL [#NULL.base=0, #NULL.offset=0, #t~ret13=6.442450948E9, ~#Zero_fmod~0.base=6442450954, ~#Zero_fmod~0.offset=0, ~one_fmod~0=1.0, ~x~0=6.442450949E9, ~y~0=0.0] [L119] ~res~0 := #t~ret13; [L119] havoc #t~ret13; VAL [#NULL.base=0, #NULL.offset=0, ~#Zero_fmod~0.base=6442450954, ~#Zero_fmod~0.offset=0, ~one_fmod~0=1.0, ~res~0=6.442450948E9, ~x~0=6.442450949E9, ~y~0=0.0] [L122] CALL call #t~ret14 := isnan_float(~res~0); VAL [#in~x=6.442450948E9, #NULL.base=0, #NULL.offset=0, ~#Zero_fmod~0.base=6442450954, ~#Zero_fmod~0.offset=0, ~one_fmod~0=1.0] [L108] ~x := #in~x; [L108] #res := (if ~someBinaryFLOATComparisonOperation(~x, ~x) then 1 else 0); VAL [#in~x=6.442450948E9, #NULL.base=0, #NULL.offset=0, #res=0, ~#Zero_fmod~0.base=6442450954, ~#Zero_fmod~0.offset=0, ~one_fmod~0=1.0, ~x=6.442450948E9] [L108] ensures true; VAL [#in~x=6.442450948E9, #NULL.base=0, #NULL.offset=0, #res=0, ~#Zero_fmod~0.base=6442450954, ~#Zero_fmod~0.offset=0, ~one_fmod~0=1.0, ~x=6.442450948E9] [L122] RET call #t~ret14 := isnan_float(~res~0); VAL [#NULL.base=0, #NULL.offset=0, #t~ret14=0, ~#Zero_fmod~0.base=6442450954, ~#Zero_fmod~0.offset=0, ~one_fmod~0=1.0, ~res~0=6.442450948E9, ~x~0=6.442450949E9, ~y~0=0.0] [L122] assume -2147483648 <= #t~ret14 && #t~ret14 <= 2147483647; VAL [#NULL.base=0, #NULL.offset=0, #t~ret14=0, ~#Zero_fmod~0.base=6442450954, ~#Zero_fmod~0.offset=0, ~one_fmod~0=1.0, ~res~0=6.442450948E9, ~x~0=6.442450949E9, ~y~0=0.0] [L122-L125] assume 0 == #t~ret14; [L122] havoc #t~ret14; VAL [#NULL.base=0, #NULL.offset=0, ~#Zero_fmod~0.base=6442450954, ~#Zero_fmod~0.offset=0, ~one_fmod~0=1.0, ~res~0=6.442450948E9, ~x~0=6.442450949E9, ~y~0=0.0] [L123] assert false; VAL [#NULL.base=0, #NULL.offset=0, ~#Zero_fmod~0.base=6442450954, ~#Zero_fmod~0.offset=0, ~one_fmod~0=1.0, ~res~0=6.442450948E9, ~x~0=6.442450949E9, ~y~0=0.0] ----- ----- class de.uni_freiburg.informatik.ultimate.boogie.preprocessor.BoogiePreprocessorBacktranslator [?] CALL call ULTIMATE.init(); VAL [#NULL.base=6442450953, #NULL.offset=6442450945, old(#NULL.base)=6442450953, old(#NULL.offset)=6442450945, old(~#Zero_fmod~0.base)=6442450955, old(~#Zero_fmod~0.offset)=6442450952, old(~one_fmod~0)=6.442450957E9, ~#Zero_fmod~0.base=6442450955, ~#Zero_fmod~0.offset=6442450952, ~one_fmod~0=6.442450957E9] [?] #NULL.base, #NULL.offset := 0, 0; [?] #valid := #valid[0 := 0]; [L12-L15] ~one_fmod~0 := 1.0; [L12-L15] call ~#Zero_fmod~0.base, ~#Zero_fmod~0.offset := #Ultimate.alloc(8); [L12-L15] call write~init~real(0.0, ~#Zero_fmod~0.base, ~#Zero_fmod~0.offset, 4); [L12-L15] call write~init~real(~someUnaryDOUBLEoperation(0.0), ~#Zero_fmod~0.base, 4 + ~#Zero_fmod~0.offset, 4); VAL [#NULL.base=0, #NULL.offset=0, old(#NULL.base)=6442450953, old(#NULL.offset)=6442450945, old(~#Zero_fmod~0.base)=6442450955, old(~#Zero_fmod~0.offset)=6442450952, old(~one_fmod~0)=6.442450957E9, ~#Zero_fmod~0.base=6442450954, ~#Zero_fmod~0.offset=0, ~one_fmod~0=1.0] [?] ensures true; VAL [#NULL.base=0, #NULL.offset=0, old(#NULL.base)=6442450953, old(#NULL.offset)=6442450945, old(~#Zero_fmod~0.base)=6442450955, old(~#Zero_fmod~0.offset)=6442450952, old(~one_fmod~0)=6.442450957E9, ~#Zero_fmod~0.base=6442450954, ~#Zero_fmod~0.offset=0, ~one_fmod~0=1.0] [?] RET call ULTIMATE.init(); VAL [#NULL.base=0, #NULL.offset=0, ~#Zero_fmod~0.base=6442450954, ~#Zero_fmod~0.offset=0, ~one_fmod~0=1.0] [?] CALL call #t~ret15 := main(); VAL [#NULL.base=0, #NULL.offset=0, ~#Zero_fmod~0.base=6442450954, ~#Zero_fmod~0.offset=0, ~one_fmod~0=1.0] [L116] ~x~0 := #t~nondet12; [L116] havoc #t~nondet12; [L117] ~y~0 := 0.0; VAL [#NULL.base=0, #NULL.offset=0, ~#Zero_fmod~0.base=6442450954, ~#Zero_fmod~0.offset=0, ~one_fmod~0=1.0, ~x~0=6.442450949E9, ~y~0=0.0] [L119] CALL call #t~ret13 := fmod_float(~x~0, ~y~0); VAL [#in~x=6.442450949E9, #in~y=0.0, #NULL.base=0, #NULL.offset=0, ~#Zero_fmod~0.base=6442450954, ~#Zero_fmod~0.offset=0, ~one_fmod~0=1.0] [L17-L105] ~x := #in~x; [L17-L105] ~y := #in~y; [L18] havoc ~n~0; [L18] havoc ~hx~0; [L18] havoc ~hy~0; [L18] havoc ~hz~0; [L18] havoc ~ix~0; [L18] havoc ~iy~0; [L18] havoc ~sx~0; [L18] havoc ~i~0; VAL [#in~x=6.442450949E9, #in~y=0.0, #NULL.base=0, #NULL.offset=0, ~#Zero_fmod~0.base=6442450954, ~#Zero_fmod~0.offset=0, ~one_fmod~0=1.0, ~x=6.442450949E9, ~y=0.0] [L21] call ~#gf_u~0.base, ~#gf_u~0.offset := #Ultimate.alloc(4); [L22] call write~real(~x, ~#gf_u~0.base, ~#gf_u~0.offset, 4); [L23] call #t~mem0 := read~int(~#gf_u~0.base, ~#gf_u~0.offset, 4); [L23] ~hx~0 := (if #t~mem0 % 4294967296 % 4294967296 <= 2147483647 then #t~mem0 % 4294967296 % 4294967296 else #t~mem0 % 4294967296 % 4294967296 - 4294967296); [L23] call write~real(#t~union1, ~#gf_u~0.base, ~#gf_u~0.offset, 4); [L23] havoc #t~mem0; [L23] havoc #t~union1; [L21] call ULTIMATE.dealloc(~#gf_u~0.base, ~#gf_u~0.offset); [L21] havoc ~#gf_u~0.base, ~#gf_u~0.offset; VAL [#in~x=6.442450949E9, #in~y=0.0, #NULL.base=0, #NULL.offset=0, ~#Zero_fmod~0.base=6442450954, ~#Zero_fmod~0.offset=0, ~hx~0=3, ~one_fmod~0=1.0, ~x=6.442450949E9, ~y=0.0] [L26] call ~#gf_u~1.base, ~#gf_u~1.offset := #Ultimate.alloc(4); [L27] call write~real(~y, ~#gf_u~1.base, ~#gf_u~1.offset, 4); [L28] call #t~mem2 := read~int(~#gf_u~1.base, ~#gf_u~1.offset, 4); [L28] ~hy~0 := (if #t~mem2 % 4294967296 % 4294967296 <= 2147483647 then #t~mem2 % 4294967296 % 4294967296 else #t~mem2 % 4294967296 % 4294967296 - 4294967296); [L28] call write~real(#t~union3, ~#gf_u~1.base, ~#gf_u~1.offset, 4); [L28] havoc #t~union3; [L28] havoc #t~mem2; [L26] call ULTIMATE.dealloc(~#gf_u~1.base, ~#gf_u~1.offset); [L26] havoc ~#gf_u~1.base, ~#gf_u~1.offset; VAL [#in~x=6.442450949E9, #in~y=0.0, #NULL.base=0, #NULL.offset=0, ~#Zero_fmod~0.base=6442450954, ~#Zero_fmod~0.offset=0, ~hx~0=3, ~hy~0=-2147483648, ~one_fmod~0=1.0, ~x=6.442450949E9, ~y=0.0] [L30] ~sx~0 := (if ~bitwiseAnd(~hx~0, 2147483648) % 4294967296 % 4294967296 <= 2147483647 then ~bitwiseAnd(~hx~0, 2147483648) % 4294967296 % 4294967296 else ~bitwiseAnd(~hx~0, 2147483648) % 4294967296 % 4294967296 - 4294967296); [L31] ~hx~0 := ~bitwiseXor(~hx~0, ~sx~0); [L32] ~hy~0 := ~bitwiseAnd(~hy~0, 2147483647); VAL [#in~x=6.442450949E9, #in~y=0.0, #NULL.base=0, #NULL.offset=0, ~#Zero_fmod~0.base=6442450954, ~#Zero_fmod~0.offset=0, ~one_fmod~0=1.0, ~sx~0=-1, ~x=6.442450949E9, ~y=0.0] [L34-L35] assume (0 == ~hy~0 || !(~hx~0 < 2139095040)) || ~hy~0 > 2139095040; [L35] #res := ~someBinaryArithmeticFLOAToperation(~someBinaryArithmeticFLOAToperation(~x, ~y), ~someBinaryArithmeticFLOAToperation(~x, ~y)); VAL [#in~x=6.442450949E9, #in~y=0.0, #NULL.base=0, #NULL.offset=0, ~#Zero_fmod~0.base=6442450954, ~#Zero_fmod~0.offset=0, ~hx~0=2139095040, ~hy~0=2139095041, ~one_fmod~0=1.0, ~sx~0=-1, ~x=6.442450949E9, ~y=0.0] [L17-L105] ensures true; VAL [#in~x=6.442450949E9, #in~y=0.0, #NULL.base=0, #NULL.offset=0, ~#Zero_fmod~0.base=6442450954, ~#Zero_fmod~0.offset=0, ~hx~0=2139095040, ~hy~0=2139095041, ~one_fmod~0=1.0, ~sx~0=-1, ~x=6.442450949E9, ~y=0.0] [L119] RET call #t~ret13 := fmod_float(~x~0, ~y~0); VAL [#NULL.base=0, #NULL.offset=0, #t~ret13=6.442450948E9, ~#Zero_fmod~0.base=6442450954, ~#Zero_fmod~0.offset=0, ~one_fmod~0=1.0, ~x~0=6.442450949E9, ~y~0=0.0] [L119] ~res~0 := #t~ret13; [L119] havoc #t~ret13; VAL [#NULL.base=0, #NULL.offset=0, ~#Zero_fmod~0.base=6442450954, ~#Zero_fmod~0.offset=0, ~one_fmod~0=1.0, ~res~0=6.442450948E9, ~x~0=6.442450949E9, ~y~0=0.0] [L122] CALL call #t~ret14 := isnan_float(~res~0); VAL [#in~x=6.442450948E9, #NULL.base=0, #NULL.offset=0, ~#Zero_fmod~0.base=6442450954, ~#Zero_fmod~0.offset=0, ~one_fmod~0=1.0] [L108] ~x := #in~x; [L108] #res := (if ~someBinaryFLOATComparisonOperation(~x, ~x) then 1 else 0); VAL [#in~x=6.442450948E9, #NULL.base=0, #NULL.offset=0, #res=0, ~#Zero_fmod~0.base=6442450954, ~#Zero_fmod~0.offset=0, ~one_fmod~0=1.0, ~x=6.442450948E9] [L108] ensures true; VAL [#in~x=6.442450948E9, #NULL.base=0, #NULL.offset=0, #res=0, ~#Zero_fmod~0.base=6442450954, ~#Zero_fmod~0.offset=0, ~one_fmod~0=1.0, ~x=6.442450948E9] [L122] RET call #t~ret14 := isnan_float(~res~0); VAL [#NULL.base=0, #NULL.offset=0, #t~ret14=0, ~#Zero_fmod~0.base=6442450954, ~#Zero_fmod~0.offset=0, ~one_fmod~0=1.0, ~res~0=6.442450948E9, ~x~0=6.442450949E9, ~y~0=0.0] [L122] assume -2147483648 <= #t~ret14 && #t~ret14 <= 2147483647; VAL [#NULL.base=0, #NULL.offset=0, #t~ret14=0, ~#Zero_fmod~0.base=6442450954, ~#Zero_fmod~0.offset=0, ~one_fmod~0=1.0, ~res~0=6.442450948E9, ~x~0=6.442450949E9, ~y~0=0.0] [L122-L125] assume 0 == #t~ret14; [L122] havoc #t~ret14; VAL [#NULL.base=0, #NULL.offset=0, ~#Zero_fmod~0.base=6442450954, ~#Zero_fmod~0.offset=0, ~one_fmod~0=1.0, ~res~0=6.442450948E9, ~x~0=6.442450949E9, ~y~0=0.0] [L123] assert false; VAL [#NULL.base=0, #NULL.offset=0, ~#Zero_fmod~0.base=6442450954, ~#Zero_fmod~0.offset=0, ~one_fmod~0=1.0, ~res~0=6.442450948E9, ~x~0=6.442450949E9, ~y~0=0.0] [?] CALL call ULTIMATE.init(); VAL [#NULL!base=6442450953, #NULL!offset=6442450945, old(#NULL!base)=6442450953, old(#NULL!offset)=6442450945, old(~#Zero_fmod~0!base)=6442450955, old(~#Zero_fmod~0!offset)=6442450952, old(~one_fmod~0)=6.442450957E9, ~#Zero_fmod~0!base=6442450955, ~#Zero_fmod~0!offset=6442450952, ~one_fmod~0=6.442450957E9] [?] #NULL := { base: 0, offset: 0 }; [?] #valid[0] := 0; [L12-L15] ~one_fmod~0 := 1.0; [L12-L15] FCALL call ~#Zero_fmod~0 := #Ultimate.alloc(8); [L12-L15] FCALL call write~init~real(0.0, { base: ~#Zero_fmod~0!base, offset: ~#Zero_fmod~0!offset }, 4); [L12-L15] FCALL call write~init~real(~someUnaryDOUBLEoperation(0.0), { base: ~#Zero_fmod~0!base, offset: 4 + ~#Zero_fmod~0!offset }, 4); VAL [#NULL!base=0, #NULL!offset=0, old(#NULL!base)=6442450953, old(#NULL!offset)=6442450945, old(~#Zero_fmod~0!base)=6442450955, old(~#Zero_fmod~0!offset)=6442450952, old(~one_fmod~0)=6.442450957E9, ~#Zero_fmod~0!base=6442450954, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [?] RET call ULTIMATE.init(); VAL [#NULL!base=0, #NULL!offset=0, ~#Zero_fmod~0!base=6442450954, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [?] CALL call #t~ret15 := main(); VAL [#NULL!base=0, #NULL!offset=0, ~#Zero_fmod~0!base=6442450954, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L116] ~x~0 := #t~nondet12; [L116] havoc #t~nondet12; [L117] ~y~0 := 0.0; VAL [#NULL!base=0, #NULL!offset=0, ~#Zero_fmod~0!base=6442450954, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0, ~x~0=6.442450949E9, ~y~0=0.0] [L119] CALL call #t~ret13 := fmod_float(~x~0, ~y~0); VAL [#in~x=6.442450949E9, #in~y=0.0, #NULL!base=0, #NULL!offset=0, ~#Zero_fmod~0!base=6442450954, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L17-L105] ~x := #in~x; [L17-L105] ~y := #in~y; [L18] havoc ~n~0; [L18] havoc ~hx~0; [L18] havoc ~hy~0; [L18] havoc ~hz~0; [L18] havoc ~ix~0; [L18] havoc ~iy~0; [L18] havoc ~sx~0; [L18] havoc ~i~0; VAL [#in~x=6.442450949E9, #in~y=0.0, #NULL!base=0, #NULL!offset=0, ~#Zero_fmod~0!base=6442450954, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0, ~x=6.442450949E9, ~y=0.0] [L21] FCALL call ~#gf_u~0 := #Ultimate.alloc(4); [L22] FCALL call write~real(~x, { base: ~#gf_u~0!base, offset: ~#gf_u~0!offset }, 4); [L23] FCALL call #t~mem0 := read~int({ base: ~#gf_u~0!base, offset: ~#gf_u~0!offset }, 4); [L23] ~hx~0 := (if #t~mem0 % 4294967296 % 4294967296 <= 2147483647 then #t~mem0 % 4294967296 % 4294967296 else #t~mem0 % 4294967296 % 4294967296 - 4294967296); [L23] FCALL call write~real(#t~union1, { base: ~#gf_u~0!base, offset: ~#gf_u~0!offset }, 4); [L23] havoc #t~mem0; [L23] havoc #t~union1; [L21] FCALL call ULTIMATE.dealloc(~#gf_u~0); [L21] havoc ~#gf_u~0; VAL [#in~x=6.442450949E9, #in~y=0.0, #NULL!base=0, #NULL!offset=0, ~#Zero_fmod~0!base=6442450954, ~#Zero_fmod~0!offset=0, ~hx~0=3, ~one_fmod~0=1.0, ~x=6.442450949E9, ~y=0.0] [L26] FCALL call ~#gf_u~1 := #Ultimate.alloc(4); [L27] FCALL call write~real(~y, { base: ~#gf_u~1!base, offset: ~#gf_u~1!offset }, 4); [L28] FCALL call #t~mem2 := read~int({ base: ~#gf_u~1!base, offset: ~#gf_u~1!offset }, 4); [L28] ~hy~0 := (if #t~mem2 % 4294967296 % 4294967296 <= 2147483647 then #t~mem2 % 4294967296 % 4294967296 else #t~mem2 % 4294967296 % 4294967296 - 4294967296); [L28] FCALL call write~real(#t~union3, { base: ~#gf_u~1!base, offset: ~#gf_u~1!offset }, 4); [L28] havoc #t~union3; [L28] havoc #t~mem2; [L26] FCALL call ULTIMATE.dealloc(~#gf_u~1); [L26] havoc ~#gf_u~1; VAL [#in~x=6.442450949E9, #in~y=0.0, #NULL!base=0, #NULL!offset=0, ~#Zero_fmod~0!base=6442450954, ~#Zero_fmod~0!offset=0, ~hx~0=3, ~hy~0=-2147483648, ~one_fmod~0=1.0, ~x=6.442450949E9, ~y=0.0] [L30] ~sx~0 := (if ~bitwiseAnd(~hx~0, 2147483648) % 4294967296 % 4294967296 <= 2147483647 then ~bitwiseAnd(~hx~0, 2147483648) % 4294967296 % 4294967296 else ~bitwiseAnd(~hx~0, 2147483648) % 4294967296 % 4294967296 - 4294967296); [L31] ~hx~0 := ~bitwiseXor(~hx~0, ~sx~0); [L32] ~hy~0 := ~bitwiseAnd(~hy~0, 2147483647); VAL [#in~x=6.442450949E9, #in~y=0.0, #NULL!base=0, #NULL!offset=0, ~#Zero_fmod~0!base=6442450954, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0, ~sx~0=-1, ~x=6.442450949E9, ~y=0.0] [L34] COND TRUE (0 == ~hy~0 || !(~hx~0 < 2139095040)) || ~hy~0 > 2139095040 [L35] #res := ~someBinaryArithmeticFLOAToperation(~someBinaryArithmeticFLOAToperation(~x, ~y), ~someBinaryArithmeticFLOAToperation(~x, ~y)); VAL [#in~x=6.442450949E9, #in~y=0.0, #NULL!base=0, #NULL!offset=0, ~#Zero_fmod~0!base=6442450954, ~#Zero_fmod~0!offset=0, ~hx~0=2139095040, ~hy~0=2139095041, ~one_fmod~0=1.0, ~sx~0=-1, ~x=6.442450949E9, ~y=0.0] [L119] RET call #t~ret13 := fmod_float(~x~0, ~y~0); VAL [#NULL!base=0, #NULL!offset=0, #t~ret13=6.442450948E9, ~#Zero_fmod~0!base=6442450954, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0, ~x~0=6.442450949E9, ~y~0=0.0] [L119] ~res~0 := #t~ret13; [L119] havoc #t~ret13; VAL [#NULL!base=0, #NULL!offset=0, ~#Zero_fmod~0!base=6442450954, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0, ~res~0=6.442450948E9, ~x~0=6.442450949E9, ~y~0=0.0] [L122] CALL call #t~ret14 := isnan_float(~res~0); VAL [#in~x=6.442450948E9, #NULL!base=0, #NULL!offset=0, ~#Zero_fmod~0!base=6442450954, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L108] ~x := #in~x; [L108] #res := (if ~someBinaryFLOATComparisonOperation(~x, ~x) then 1 else 0); VAL [#in~x=6.442450948E9, #NULL!base=0, #NULL!offset=0, #res=0, ~#Zero_fmod~0!base=6442450954, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0, ~x=6.442450948E9] [L122] RET call #t~ret14 := isnan_float(~res~0); VAL [#NULL!base=0, #NULL!offset=0, #t~ret14=0, ~#Zero_fmod~0!base=6442450954, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0, ~res~0=6.442450948E9, ~x~0=6.442450949E9, ~y~0=0.0] [L122] assume -2147483648 <= #t~ret14 && #t~ret14 <= 2147483647; VAL [#NULL!base=0, #NULL!offset=0, #t~ret14=0, ~#Zero_fmod~0!base=6442450954, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0, ~res~0=6.442450948E9, ~x~0=6.442450949E9, ~y~0=0.0] [L122] COND TRUE 0 == #t~ret14 [L122] havoc #t~ret14; VAL [#NULL!base=0, #NULL!offset=0, ~#Zero_fmod~0!base=6442450954, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0, ~res~0=6.442450948E9, ~x~0=6.442450949E9, ~y~0=0.0] [L123] assert false; VAL [#NULL!base=0, #NULL!offset=0, ~#Zero_fmod~0!base=6442450954, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0, ~res~0=6.442450948E9, ~x~0=6.442450949E9, ~y~0=0.0] ----- ----- class de.uni_freiburg.informatik.ultimate.boogie.procedureinliner.backtranslation.InlinerBacktranslator [?] CALL call ULTIMATE.init(); VAL [#NULL!base=6442450953, #NULL!offset=6442450945, old(#NULL!base)=6442450953, old(#NULL!offset)=6442450945, old(~#Zero_fmod~0!base)=6442450955, old(~#Zero_fmod~0!offset)=6442450952, old(~one_fmod~0)=6.442450957E9, ~#Zero_fmod~0!base=6442450955, ~#Zero_fmod~0!offset=6442450952, ~one_fmod~0=6.442450957E9] [?] #NULL := { base: 0, offset: 0 }; [?] #valid[0] := 0; [L12-L15] ~one_fmod~0 := 1.0; [L12-L15] FCALL call ~#Zero_fmod~0 := #Ultimate.alloc(8); [L12-L15] FCALL call write~init~real(0.0, { base: ~#Zero_fmod~0!base, offset: ~#Zero_fmod~0!offset }, 4); [L12-L15] FCALL call write~init~real(~someUnaryDOUBLEoperation(0.0), { base: ~#Zero_fmod~0!base, offset: 4 + ~#Zero_fmod~0!offset }, 4); VAL [#NULL!base=0, #NULL!offset=0, old(#NULL!base)=6442450953, old(#NULL!offset)=6442450945, old(~#Zero_fmod~0!base)=6442450955, old(~#Zero_fmod~0!offset)=6442450952, old(~one_fmod~0)=6.442450957E9, ~#Zero_fmod~0!base=6442450954, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [?] RET call ULTIMATE.init(); VAL [#NULL!base=0, #NULL!offset=0, ~#Zero_fmod~0!base=6442450954, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [?] CALL call #t~ret15 := main(); VAL [#NULL!base=0, #NULL!offset=0, ~#Zero_fmod~0!base=6442450954, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L116] ~x~0 := #t~nondet12; [L116] havoc #t~nondet12; [L117] ~y~0 := 0.0; VAL [#NULL!base=0, #NULL!offset=0, ~#Zero_fmod~0!base=6442450954, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0, ~x~0=6.442450949E9, ~y~0=0.0] [L119] CALL call #t~ret13 := fmod_float(~x~0, ~y~0); VAL [#in~x=6.442450949E9, #in~y=0.0, #NULL!base=0, #NULL!offset=0, ~#Zero_fmod~0!base=6442450954, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L17-L105] ~x := #in~x; [L17-L105] ~y := #in~y; [L18] havoc ~n~0; [L18] havoc ~hx~0; [L18] havoc ~hy~0; [L18] havoc ~hz~0; [L18] havoc ~ix~0; [L18] havoc ~iy~0; [L18] havoc ~sx~0; [L18] havoc ~i~0; VAL [#in~x=6.442450949E9, #in~y=0.0, #NULL!base=0, #NULL!offset=0, ~#Zero_fmod~0!base=6442450954, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0, ~x=6.442450949E9, ~y=0.0] [L21] FCALL call ~#gf_u~0 := #Ultimate.alloc(4); [L22] FCALL call write~real(~x, { base: ~#gf_u~0!base, offset: ~#gf_u~0!offset }, 4); [L23] FCALL call #t~mem0 := read~int({ base: ~#gf_u~0!base, offset: ~#gf_u~0!offset }, 4); [L23] ~hx~0 := (if #t~mem0 % 4294967296 % 4294967296 <= 2147483647 then #t~mem0 % 4294967296 % 4294967296 else #t~mem0 % 4294967296 % 4294967296 - 4294967296); [L23] FCALL call write~real(#t~union1, { base: ~#gf_u~0!base, offset: ~#gf_u~0!offset }, 4); [L23] havoc #t~mem0; [L23] havoc #t~union1; [L21] FCALL call ULTIMATE.dealloc(~#gf_u~0); [L21] havoc ~#gf_u~0; VAL [#in~x=6.442450949E9, #in~y=0.0, #NULL!base=0, #NULL!offset=0, ~#Zero_fmod~0!base=6442450954, ~#Zero_fmod~0!offset=0, ~hx~0=3, ~one_fmod~0=1.0, ~x=6.442450949E9, ~y=0.0] [L26] FCALL call ~#gf_u~1 := #Ultimate.alloc(4); [L27] FCALL call write~real(~y, { base: ~#gf_u~1!base, offset: ~#gf_u~1!offset }, 4); [L28] FCALL call #t~mem2 := read~int({ base: ~#gf_u~1!base, offset: ~#gf_u~1!offset }, 4); [L28] ~hy~0 := (if #t~mem2 % 4294967296 % 4294967296 <= 2147483647 then #t~mem2 % 4294967296 % 4294967296 else #t~mem2 % 4294967296 % 4294967296 - 4294967296); [L28] FCALL call write~real(#t~union3, { base: ~#gf_u~1!base, offset: ~#gf_u~1!offset }, 4); [L28] havoc #t~union3; [L28] havoc #t~mem2; [L26] FCALL call ULTIMATE.dealloc(~#gf_u~1); [L26] havoc ~#gf_u~1; VAL [#in~x=6.442450949E9, #in~y=0.0, #NULL!base=0, #NULL!offset=0, ~#Zero_fmod~0!base=6442450954, ~#Zero_fmod~0!offset=0, ~hx~0=3, ~hy~0=-2147483648, ~one_fmod~0=1.0, ~x=6.442450949E9, ~y=0.0] [L30] ~sx~0 := (if ~bitwiseAnd(~hx~0, 2147483648) % 4294967296 % 4294967296 <= 2147483647 then ~bitwiseAnd(~hx~0, 2147483648) % 4294967296 % 4294967296 else ~bitwiseAnd(~hx~0, 2147483648) % 4294967296 % 4294967296 - 4294967296); [L31] ~hx~0 := ~bitwiseXor(~hx~0, ~sx~0); [L32] ~hy~0 := ~bitwiseAnd(~hy~0, 2147483647); VAL [#in~x=6.442450949E9, #in~y=0.0, #NULL!base=0, #NULL!offset=0, ~#Zero_fmod~0!base=6442450954, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0, ~sx~0=-1, ~x=6.442450949E9, ~y=0.0] [L34] COND TRUE (0 == ~hy~0 || !(~hx~0 < 2139095040)) || ~hy~0 > 2139095040 [L35] #res := ~someBinaryArithmeticFLOAToperation(~someBinaryArithmeticFLOAToperation(~x, ~y), ~someBinaryArithmeticFLOAToperation(~x, ~y)); VAL [#in~x=6.442450949E9, #in~y=0.0, #NULL!base=0, #NULL!offset=0, ~#Zero_fmod~0!base=6442450954, ~#Zero_fmod~0!offset=0, ~hx~0=2139095040, ~hy~0=2139095041, ~one_fmod~0=1.0, ~sx~0=-1, ~x=6.442450949E9, ~y=0.0] [L119] RET call #t~ret13 := fmod_float(~x~0, ~y~0); VAL [#NULL!base=0, #NULL!offset=0, #t~ret13=6.442450948E9, ~#Zero_fmod~0!base=6442450954, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0, ~x~0=6.442450949E9, ~y~0=0.0] [L119] ~res~0 := #t~ret13; [L119] havoc #t~ret13; VAL [#NULL!base=0, #NULL!offset=0, ~#Zero_fmod~0!base=6442450954, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0, ~res~0=6.442450948E9, ~x~0=6.442450949E9, ~y~0=0.0] [L122] CALL call #t~ret14 := isnan_float(~res~0); VAL [#in~x=6.442450948E9, #NULL!base=0, #NULL!offset=0, ~#Zero_fmod~0!base=6442450954, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L108] ~x := #in~x; [L108] #res := (if ~someBinaryFLOATComparisonOperation(~x, ~x) then 1 else 0); VAL [#in~x=6.442450948E9, #NULL!base=0, #NULL!offset=0, #res=0, ~#Zero_fmod~0!base=6442450954, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0, ~x=6.442450948E9] [L122] RET call #t~ret14 := isnan_float(~res~0); VAL [#NULL!base=0, #NULL!offset=0, #t~ret14=0, ~#Zero_fmod~0!base=6442450954, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0, ~res~0=6.442450948E9, ~x~0=6.442450949E9, ~y~0=0.0] [L122] assume -2147483648 <= #t~ret14 && #t~ret14 <= 2147483647; VAL [#NULL!base=0, #NULL!offset=0, #t~ret14=0, ~#Zero_fmod~0!base=6442450954, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0, ~res~0=6.442450948E9, ~x~0=6.442450949E9, ~y~0=0.0] [L122] COND TRUE 0 == #t~ret14 [L122] havoc #t~ret14; VAL [#NULL!base=0, #NULL!offset=0, ~#Zero_fmod~0!base=6442450954, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0, ~res~0=6.442450948E9, ~x~0=6.442450949E9, ~y~0=0.0] [L123] assert false; VAL [#NULL!base=0, #NULL!offset=0, ~#Zero_fmod~0!base=6442450954, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0, ~res~0=6.442450948E9, ~x~0=6.442450949E9, ~y~0=0.0] [?] CALL call ULTIMATE.init(); VAL [#NULL!base=6442450953, #NULL!offset=6442450945, old(#NULL!base)=6442450953, old(#NULL!offset)=6442450945, old(~#Zero_fmod~0!base)=6442450955, old(~#Zero_fmod~0!offset)=6442450952, old(~one_fmod~0)=6.442450957E9, ~#Zero_fmod~0!base=6442450955, ~#Zero_fmod~0!offset=6442450952, ~one_fmod~0=6.442450957E9] [?] #NULL := { base: 0, offset: 0 }; [?] #valid[0] := 0; [L12-L15] ~one_fmod~0 := 1.0; [L12-L15] FCALL call ~#Zero_fmod~0 := #Ultimate.alloc(8); [L12-L15] FCALL call write~init~real(0.0, { base: ~#Zero_fmod~0!base, offset: ~#Zero_fmod~0!offset }, 4); [L12-L15] FCALL call write~init~real(~someUnaryDOUBLEoperation(0.0), { base: ~#Zero_fmod~0!base, offset: 4 + ~#Zero_fmod~0!offset }, 4); VAL [#NULL!base=0, #NULL!offset=0, old(#NULL!base)=6442450953, old(#NULL!offset)=6442450945, old(~#Zero_fmod~0!base)=6442450955, old(~#Zero_fmod~0!offset)=6442450952, old(~one_fmod~0)=6.442450957E9, ~#Zero_fmod~0!base=6442450954, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [?] RET call ULTIMATE.init(); VAL [#NULL!base=0, #NULL!offset=0, ~#Zero_fmod~0!base=6442450954, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [?] CALL call #t~ret15 := main(); VAL [#NULL!base=0, #NULL!offset=0, ~#Zero_fmod~0!base=6442450954, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L116] ~x~0 := #t~nondet12; [L116] havoc #t~nondet12; [L117] ~y~0 := 0.0; VAL [#NULL!base=0, #NULL!offset=0, ~#Zero_fmod~0!base=6442450954, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0, ~x~0=6.442450949E9, ~y~0=0.0] [L119] CALL call #t~ret13 := fmod_float(~x~0, ~y~0); VAL [#in~x=6.442450949E9, #in~y=0.0, #NULL!base=0, #NULL!offset=0, ~#Zero_fmod~0!base=6442450954, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L17-L105] ~x := #in~x; [L17-L105] ~y := #in~y; [L18] havoc ~n~0; [L18] havoc ~hx~0; [L18] havoc ~hy~0; [L18] havoc ~hz~0; [L18] havoc ~ix~0; [L18] havoc ~iy~0; [L18] havoc ~sx~0; [L18] havoc ~i~0; VAL [#in~x=6.442450949E9, #in~y=0.0, #NULL!base=0, #NULL!offset=0, ~#Zero_fmod~0!base=6442450954, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0, ~x=6.442450949E9, ~y=0.0] [L21] FCALL call ~#gf_u~0 := #Ultimate.alloc(4); [L22] FCALL call write~real(~x, { base: ~#gf_u~0!base, offset: ~#gf_u~0!offset }, 4); [L23] FCALL call #t~mem0 := read~int({ base: ~#gf_u~0!base, offset: ~#gf_u~0!offset }, 4); [L23] ~hx~0 := (if #t~mem0 % 4294967296 % 4294967296 <= 2147483647 then #t~mem0 % 4294967296 % 4294967296 else #t~mem0 % 4294967296 % 4294967296 - 4294967296); [L23] FCALL call write~real(#t~union1, { base: ~#gf_u~0!base, offset: ~#gf_u~0!offset }, 4); [L23] havoc #t~mem0; [L23] havoc #t~union1; [L21] FCALL call ULTIMATE.dealloc(~#gf_u~0); [L21] havoc ~#gf_u~0; VAL [#in~x=6.442450949E9, #in~y=0.0, #NULL!base=0, #NULL!offset=0, ~#Zero_fmod~0!base=6442450954, ~#Zero_fmod~0!offset=0, ~hx~0=3, ~one_fmod~0=1.0, ~x=6.442450949E9, ~y=0.0] [L26] FCALL call ~#gf_u~1 := #Ultimate.alloc(4); [L27] FCALL call write~real(~y, { base: ~#gf_u~1!base, offset: ~#gf_u~1!offset }, 4); [L28] FCALL call #t~mem2 := read~int({ base: ~#gf_u~1!base, offset: ~#gf_u~1!offset }, 4); [L28] ~hy~0 := (if #t~mem2 % 4294967296 % 4294967296 <= 2147483647 then #t~mem2 % 4294967296 % 4294967296 else #t~mem2 % 4294967296 % 4294967296 - 4294967296); [L28] FCALL call write~real(#t~union3, { base: ~#gf_u~1!base, offset: ~#gf_u~1!offset }, 4); [L28] havoc #t~union3; [L28] havoc #t~mem2; [L26] FCALL call ULTIMATE.dealloc(~#gf_u~1); [L26] havoc ~#gf_u~1; VAL [#in~x=6.442450949E9, #in~y=0.0, #NULL!base=0, #NULL!offset=0, ~#Zero_fmod~0!base=6442450954, ~#Zero_fmod~0!offset=0, ~hx~0=3, ~hy~0=-2147483648, ~one_fmod~0=1.0, ~x=6.442450949E9, ~y=0.0] [L30] ~sx~0 := (if ~bitwiseAnd(~hx~0, 2147483648) % 4294967296 % 4294967296 <= 2147483647 then ~bitwiseAnd(~hx~0, 2147483648) % 4294967296 % 4294967296 else ~bitwiseAnd(~hx~0, 2147483648) % 4294967296 % 4294967296 - 4294967296); [L31] ~hx~0 := ~bitwiseXor(~hx~0, ~sx~0); [L32] ~hy~0 := ~bitwiseAnd(~hy~0, 2147483647); VAL [#in~x=6.442450949E9, #in~y=0.0, #NULL!base=0, #NULL!offset=0, ~#Zero_fmod~0!base=6442450954, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0, ~sx~0=-1, ~x=6.442450949E9, ~y=0.0] [L34] COND TRUE (0 == ~hy~0 || !(~hx~0 < 2139095040)) || ~hy~0 > 2139095040 [L35] #res := ~someBinaryArithmeticFLOAToperation(~someBinaryArithmeticFLOAToperation(~x, ~y), ~someBinaryArithmeticFLOAToperation(~x, ~y)); VAL [#in~x=6.442450949E9, #in~y=0.0, #NULL!base=0, #NULL!offset=0, ~#Zero_fmod~0!base=6442450954, ~#Zero_fmod~0!offset=0, ~hx~0=2139095040, ~hy~0=2139095041, ~one_fmod~0=1.0, ~sx~0=-1, ~x=6.442450949E9, ~y=0.0] [L119] RET call #t~ret13 := fmod_float(~x~0, ~y~0); VAL [#NULL!base=0, #NULL!offset=0, #t~ret13=6.442450948E9, ~#Zero_fmod~0!base=6442450954, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0, ~x~0=6.442450949E9, ~y~0=0.0] [L119] ~res~0 := #t~ret13; [L119] havoc #t~ret13; VAL [#NULL!base=0, #NULL!offset=0, ~#Zero_fmod~0!base=6442450954, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0, ~res~0=6.442450948E9, ~x~0=6.442450949E9, ~y~0=0.0] [L122] CALL call #t~ret14 := isnan_float(~res~0); VAL [#in~x=6.442450948E9, #NULL!base=0, #NULL!offset=0, ~#Zero_fmod~0!base=6442450954, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L108] ~x := #in~x; [L108] #res := (if ~someBinaryFLOATComparisonOperation(~x, ~x) then 1 else 0); VAL [#in~x=6.442450948E9, #NULL!base=0, #NULL!offset=0, #res=0, ~#Zero_fmod~0!base=6442450954, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0, ~x=6.442450948E9] [L122] RET call #t~ret14 := isnan_float(~res~0); VAL [#NULL!base=0, #NULL!offset=0, #t~ret14=0, ~#Zero_fmod~0!base=6442450954, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0, ~res~0=6.442450948E9, ~x~0=6.442450949E9, ~y~0=0.0] [L122] assume -2147483648 <= #t~ret14 && #t~ret14 <= 2147483647; VAL [#NULL!base=0, #NULL!offset=0, #t~ret14=0, ~#Zero_fmod~0!base=6442450954, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0, ~res~0=6.442450948E9, ~x~0=6.442450949E9, ~y~0=0.0] [L122] COND TRUE 0 == #t~ret14 [L122] havoc #t~ret14; VAL [#NULL!base=0, #NULL!offset=0, ~#Zero_fmod~0!base=6442450954, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0, ~res~0=6.442450948E9, ~x~0=6.442450949E9, ~y~0=0.0] [L123] assert false; VAL [#NULL!base=0, #NULL!offset=0, ~#Zero_fmod~0!base=6442450954, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0, ~res~0=6.442450948E9, ~x~0=6.442450949E9, ~y~0=0.0] ----- ----- class de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.CACSL2BoogieBacktranslator [?] CALL call ULTIMATE.init(); VAL [#NULL!base=6442450953, #NULL!offset=6442450945, old(#NULL!base)=6442450953, old(#NULL!offset)=6442450945, old(~#Zero_fmod~0!base)=6442450955, old(~#Zero_fmod~0!offset)=6442450952, old(~one_fmod~0)=6.442450957E9, ~#Zero_fmod~0!base=6442450955, ~#Zero_fmod~0!offset=6442450952, ~one_fmod~0=6.442450957E9] [?] #NULL := { base: 0, offset: 0 }; [?] #valid[0] := 0; [L12-L15] ~one_fmod~0 := 1.0; [L12-L15] FCALL call ~#Zero_fmod~0 := #Ultimate.alloc(8); [L12-L15] FCALL call write~init~real(0.0, { base: ~#Zero_fmod~0!base, offset: ~#Zero_fmod~0!offset }, 4); [L12-L15] FCALL call write~init~real(~someUnaryDOUBLEoperation(0.0), { base: ~#Zero_fmod~0!base, offset: 4 + ~#Zero_fmod~0!offset }, 4); VAL [#NULL!base=0, #NULL!offset=0, old(#NULL!base)=6442450953, old(#NULL!offset)=6442450945, old(~#Zero_fmod~0!base)=6442450955, old(~#Zero_fmod~0!offset)=6442450952, old(~one_fmod~0)=6.442450957E9, ~#Zero_fmod~0!base=6442450954, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [?] RET call ULTIMATE.init(); VAL [#NULL!base=0, #NULL!offset=0, ~#Zero_fmod~0!base=6442450954, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [?] CALL call #t~ret15 := main(); VAL [#NULL!base=0, #NULL!offset=0, ~#Zero_fmod~0!base=6442450954, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L116] ~x~0 := #t~nondet12; [L116] havoc #t~nondet12; [L117] ~y~0 := 0.0; VAL [#NULL!base=0, #NULL!offset=0, ~#Zero_fmod~0!base=6442450954, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0, ~x~0=6.442450949E9, ~y~0=0.0] [L119] CALL call #t~ret13 := fmod_float(~x~0, ~y~0); VAL [#in~x=6.442450949E9, #in~y=0.0, #NULL!base=0, #NULL!offset=0, ~#Zero_fmod~0!base=6442450954, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L17-L105] ~x := #in~x; [L17-L105] ~y := #in~y; [L18] havoc ~n~0; [L18] havoc ~hx~0; [L18] havoc ~hy~0; [L18] havoc ~hz~0; [L18] havoc ~ix~0; [L18] havoc ~iy~0; [L18] havoc ~sx~0; [L18] havoc ~i~0; VAL [#in~x=6.442450949E9, #in~y=0.0, #NULL!base=0, #NULL!offset=0, ~#Zero_fmod~0!base=6442450954, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0, ~x=6.442450949E9, ~y=0.0] [L21] FCALL call ~#gf_u~0 := #Ultimate.alloc(4); [L22] FCALL call write~real(~x, { base: ~#gf_u~0!base, offset: ~#gf_u~0!offset }, 4); [L23] FCALL call #t~mem0 := read~int({ base: ~#gf_u~0!base, offset: ~#gf_u~0!offset }, 4); [L23] ~hx~0 := (if #t~mem0 % 4294967296 % 4294967296 <= 2147483647 then #t~mem0 % 4294967296 % 4294967296 else #t~mem0 % 4294967296 % 4294967296 - 4294967296); [L23] FCALL call write~real(#t~union1, { base: ~#gf_u~0!base, offset: ~#gf_u~0!offset }, 4); [L23] havoc #t~mem0; [L23] havoc #t~union1; [L21] FCALL call ULTIMATE.dealloc(~#gf_u~0); [L21] havoc ~#gf_u~0; VAL [#in~x=6.442450949E9, #in~y=0.0, #NULL!base=0, #NULL!offset=0, ~#Zero_fmod~0!base=6442450954, ~#Zero_fmod~0!offset=0, ~hx~0=3, ~one_fmod~0=1.0, ~x=6.442450949E9, ~y=0.0] [L26] FCALL call ~#gf_u~1 := #Ultimate.alloc(4); [L27] FCALL call write~real(~y, { base: ~#gf_u~1!base, offset: ~#gf_u~1!offset }, 4); [L28] FCALL call #t~mem2 := read~int({ base: ~#gf_u~1!base, offset: ~#gf_u~1!offset }, 4); [L28] ~hy~0 := (if #t~mem2 % 4294967296 % 4294967296 <= 2147483647 then #t~mem2 % 4294967296 % 4294967296 else #t~mem2 % 4294967296 % 4294967296 - 4294967296); [L28] FCALL call write~real(#t~union3, { base: ~#gf_u~1!base, offset: ~#gf_u~1!offset }, 4); [L28] havoc #t~union3; [L28] havoc #t~mem2; [L26] FCALL call ULTIMATE.dealloc(~#gf_u~1); [L26] havoc ~#gf_u~1; VAL [#in~x=6.442450949E9, #in~y=0.0, #NULL!base=0, #NULL!offset=0, ~#Zero_fmod~0!base=6442450954, ~#Zero_fmod~0!offset=0, ~hx~0=3, ~hy~0=-2147483648, ~one_fmod~0=1.0, ~x=6.442450949E9, ~y=0.0] [L30] ~sx~0 := (if ~bitwiseAnd(~hx~0, 2147483648) % 4294967296 % 4294967296 <= 2147483647 then ~bitwiseAnd(~hx~0, 2147483648) % 4294967296 % 4294967296 else ~bitwiseAnd(~hx~0, 2147483648) % 4294967296 % 4294967296 - 4294967296); [L31] ~hx~0 := ~bitwiseXor(~hx~0, ~sx~0); [L32] ~hy~0 := ~bitwiseAnd(~hy~0, 2147483647); VAL [#in~x=6.442450949E9, #in~y=0.0, #NULL!base=0, #NULL!offset=0, ~#Zero_fmod~0!base=6442450954, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0, ~sx~0=-1, ~x=6.442450949E9, ~y=0.0] [L34] COND TRUE (0 == ~hy~0 || !(~hx~0 < 2139095040)) || ~hy~0 > 2139095040 [L35] #res := ~someBinaryArithmeticFLOAToperation(~someBinaryArithmeticFLOAToperation(~x, ~y), ~someBinaryArithmeticFLOAToperation(~x, ~y)); VAL [#in~x=6.442450949E9, #in~y=0.0, #NULL!base=0, #NULL!offset=0, ~#Zero_fmod~0!base=6442450954, ~#Zero_fmod~0!offset=0, ~hx~0=2139095040, ~hy~0=2139095041, ~one_fmod~0=1.0, ~sx~0=-1, ~x=6.442450949E9, ~y=0.0] [L119] RET call #t~ret13 := fmod_float(~x~0, ~y~0); VAL [#NULL!base=0, #NULL!offset=0, #t~ret13=6.442450948E9, ~#Zero_fmod~0!base=6442450954, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0, ~x~0=6.442450949E9, ~y~0=0.0] [L119] ~res~0 := #t~ret13; [L119] havoc #t~ret13; VAL [#NULL!base=0, #NULL!offset=0, ~#Zero_fmod~0!base=6442450954, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0, ~res~0=6.442450948E9, ~x~0=6.442450949E9, ~y~0=0.0] [L122] CALL call #t~ret14 := isnan_float(~res~0); VAL [#in~x=6.442450948E9, #NULL!base=0, #NULL!offset=0, ~#Zero_fmod~0!base=6442450954, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L108] ~x := #in~x; [L108] #res := (if ~someBinaryFLOATComparisonOperation(~x, ~x) then 1 else 0); VAL [#in~x=6.442450948E9, #NULL!base=0, #NULL!offset=0, #res=0, ~#Zero_fmod~0!base=6442450954, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0, ~x=6.442450948E9] [L122] RET call #t~ret14 := isnan_float(~res~0); VAL [#NULL!base=0, #NULL!offset=0, #t~ret14=0, ~#Zero_fmod~0!base=6442450954, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0, ~res~0=6.442450948E9, ~x~0=6.442450949E9, ~y~0=0.0] [L122] assume -2147483648 <= #t~ret14 && #t~ret14 <= 2147483647; VAL [#NULL!base=0, #NULL!offset=0, #t~ret14=0, ~#Zero_fmod~0!base=6442450954, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0, ~res~0=6.442450948E9, ~x~0=6.442450949E9, ~y~0=0.0] [L122] COND TRUE 0 == #t~ret14 [L122] havoc #t~ret14; VAL [#NULL!base=0, #NULL!offset=0, ~#Zero_fmod~0!base=6442450954, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0, ~res~0=6.442450948E9, ~x~0=6.442450949E9, ~y~0=0.0] [L123] assert false; VAL [#NULL!base=0, #NULL!offset=0, ~#Zero_fmod~0!base=6442450954, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0, ~res~0=6.442450948E9, ~x~0=6.442450949E9, ~y~0=0.0] [L12-L15] static const float one_fmod = 1.0, Zero_fmod[] = { 0.0, -0.0, }; VAL [\old(one_fmod)=6442450957, \old(Zero_fmod)=6442450955, \old(Zero_fmod)=6442450952, one_fmod=1, Zero_fmod={6442450954:0}] [L116] float x = __VERIFIER_nondet_float(); [L117] float y = 0.0f; VAL [one_fmod=1, x=6442450949, y=0, Zero_fmod={6442450954:0}] [L119] CALL, EXPR fmod_float(x, y) VAL [\old(x)=6442450949, \old(y)=0, one_fmod=1, Zero_fmod={6442450954:0}] [L18] __int32_t n, hx, hy, hz, ix, iy, sx, i; VAL [\old(x)=6442450949, \old(y)=0, one_fmod=1, x=6442450949, y=0, Zero_fmod={6442450954:0}] [L21] ieee_float_shape_type gf_u; [L22] gf_u.value = (x) [L23] EXPR gf_u.word [L23] (hx) = gf_u.word [L26] ieee_float_shape_type gf_u; [L27] gf_u.value = (y) [L28] EXPR gf_u.word [L28] (hy) = gf_u.word [L30] sx = hx & 0x80000000 [L31] hx ^= sx [L32] hy &= 0x7fffffff VAL [\old(x)=6442450949, \old(y)=0, one_fmod=1, sx=-1, x=6442450949, y=0, Zero_fmod={6442450954:0}] [L34] COND TRUE ((hy) == 0) || !((hx) < 0x7f800000L) || ((hy) > 0x7f800000L) [L35] return (x * y) / (x * y); VAL [\old(x)=6442450949, \old(y)=0, hx=2139095040, hy=2139095041, one_fmod=1, sx=-1, x=6442450949, y=0, Zero_fmod={6442450954:0}] [L119] RET, EXPR fmod_float(x, y) VAL [fmod_float(x, y)=6442450948, one_fmod=1, x=6442450949, y=0, Zero_fmod={6442450954:0}] [L119] float res = fmod_float(x, y); [L122] CALL, EXPR isnan_float(res) VAL [\old(x)=6442450948, one_fmod=1, Zero_fmod={6442450954:0}] [L108] return x != x; VAL [\old(x)=6442450948, \result=0, one_fmod=1, x=6442450948, Zero_fmod={6442450954:0}] [L122] RET, EXPR isnan_float(res) VAL [isnan_float(res)=0, one_fmod=1, res=6442450948, x=6442450949, y=0, Zero_fmod={6442450954:0}] [L122] COND TRUE !isnan_float(res) [L123] __VERIFIER_error() VAL [one_fmod=1, res=6442450948, x=6442450949, y=0, Zero_fmod={6442450954:0}] ----- [2018-11-23 14:14:57,765 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 23.11 02:14:57 BoogieIcfgContainer [2018-11-23 14:14:57,765 INFO L132 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2018-11-23 14:14:57,766 INFO L113 PluginConnector]: ------------------------Witness Printer---------------------------- [2018-11-23 14:14:57,766 INFO L271 PluginConnector]: Initializing Witness Printer... [2018-11-23 14:14:57,766 INFO L276 PluginConnector]: Witness Printer initialized [2018-11-23 14:14:57,768 INFO L185 PluginConnector]: Executing the observer RCFGCatcher from plugin Witness Printer for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 02:14:57" (3/4) ... [2018-11-23 14:14:57,771 INFO L147 WitnessPrinter]: No result that supports witness generation found [2018-11-23 14:14:57,771 INFO L132 PluginConnector]: ------------------------ END Witness Printer---------------------------- [2018-11-23 14:14:57,772 INFO L168 Benchmark]: Toolchain (without parser) took 977.17 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 162.5 MB). Free memory was 959.1 MB in the beginning and 1.1 GB in the end (delta: -126.9 MB). Peak memory consumption was 35.7 MB. Max. memory is 11.5 GB. [2018-11-23 14:14:57,773 INFO L168 Benchmark]: CDTParser took 0.14 ms. Allocated memory is still 1.0 GB. Free memory is still 985.4 MB. There was no memory consumed. Max. memory is 11.5 GB. [2018-11-23 14:14:57,773 INFO L168 Benchmark]: CACSL2BoogieTranslator took 229.29 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 162.5 MB). Free memory was 959.1 MB in the beginning and 1.2 GB in the end (delta: -201.6 MB). Peak memory consumption was 28.0 MB. Max. memory is 11.5 GB. [2018-11-23 14:14:57,774 INFO L168 Benchmark]: Boogie Procedure Inliner took 19.31 ms. Allocated memory is still 1.2 GB. Free memory was 1.2 GB in the beginning and 1.2 GB in the end (delta: 3.3 MB). Peak memory consumption was 3.3 MB. Max. memory is 11.5 GB. [2018-11-23 14:14:57,774 INFO L168 Benchmark]: Boogie Preprocessor took 28.09 ms. Allocated memory is still 1.2 GB. Free memory was 1.2 GB in the beginning and 1.2 GB in the end (delta: 3.3 MB). Peak memory consumption was 3.3 MB. Max. memory is 11.5 GB. [2018-11-23 14:14:57,775 INFO L168 Benchmark]: RCFGBuilder took 295.02 ms. Allocated memory is still 1.2 GB. Free memory was 1.2 GB in the beginning and 1.1 GB in the end (delta: 28.7 MB). Peak memory consumption was 28.7 MB. Max. memory is 11.5 GB. [2018-11-23 14:14:57,775 INFO L168 Benchmark]: TraceAbstraction took 396.25 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: 39.4 MB). Peak memory consumption was 39.4 MB. Max. memory is 11.5 GB. [2018-11-23 14:14:57,776 INFO L168 Benchmark]: Witness Printer took 5.64 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 14:14:57,780 INFO L336 ainManager$Toolchain]: ####################### End [Toolchain 1] ####################### --- Results --- * Results from de.uni_freiburg.informatik.ultimate.core: - StatisticsResult: Toolchain Benchmarks Benchmark results are: * CDTParser took 0.14 ms. Allocated memory is still 1.0 GB. Free memory is still 985.4 MB. There was no memory consumed. Max. memory is 11.5 GB. * CACSL2BoogieTranslator took 229.29 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 162.5 MB). Free memory was 959.1 MB in the beginning and 1.2 GB in the end (delta: -201.6 MB). Peak memory consumption was 28.0 MB. Max. memory is 11.5 GB. * Boogie Procedure Inliner took 19.31 ms. Allocated memory is still 1.2 GB. Free memory was 1.2 GB in the beginning and 1.2 GB in the end (delta: 3.3 MB). Peak memory consumption was 3.3 MB. Max. memory is 11.5 GB. * Boogie Preprocessor took 28.09 ms. Allocated memory is still 1.2 GB. Free memory was 1.2 GB in the beginning and 1.2 GB in the end (delta: 3.3 MB). Peak memory consumption was 3.3 MB. Max. memory is 11.5 GB. * RCFGBuilder took 295.02 ms. Allocated memory is still 1.2 GB. Free memory was 1.2 GB in the beginning and 1.1 GB in the end (delta: 28.7 MB). Peak memory consumption was 28.7 MB. Max. memory is 11.5 GB. * TraceAbstraction took 396.25 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: 39.4 MB). Peak memory consumption was 39.4 MB. Max. memory is 11.5 GB. * Witness Printer took 5.64 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: 123]: Unable to prove that call of __VERIFIER_error() unreachable Unable to prove that call of __VERIFIER_error() unreachable Reason: overapproximation of someBinaryFLOATComparisonOperation at line 108, overapproximation of someUnaryDOUBLEoperation at line 14, overapproximation of bitwiseAnd at line 30, overapproximation of bitwiseXor at line 31, overapproximation of someBinaryArithmeticFLOAToperation at line 35. Possible FailurePath: [L12-L15] static const float one_fmod = 1.0, Zero_fmod[] = { 0.0, -0.0, }; VAL [\old(one_fmod)=6442450957, \old(Zero_fmod)=6442450955, \old(Zero_fmod)=6442450952, one_fmod=1, Zero_fmod={6442450954:0}] [L116] float x = __VERIFIER_nondet_float(); [L117] float y = 0.0f; VAL [one_fmod=1, x=6442450949, y=0, Zero_fmod={6442450954:0}] [L119] CALL, EXPR fmod_float(x, y) VAL [\old(x)=6442450949, \old(y)=0, one_fmod=1, Zero_fmod={6442450954:0}] [L18] __int32_t n, hx, hy, hz, ix, iy, sx, i; VAL [\old(x)=6442450949, \old(y)=0, one_fmod=1, x=6442450949, y=0, Zero_fmod={6442450954:0}] [L21] ieee_float_shape_type gf_u; [L22] gf_u.value = (x) [L23] EXPR gf_u.word [L23] (hx) = gf_u.word [L26] ieee_float_shape_type gf_u; [L27] gf_u.value = (y) [L28] EXPR gf_u.word [L28] (hy) = gf_u.word [L30] sx = hx & 0x80000000 [L31] hx ^= sx [L32] hy &= 0x7fffffff VAL [\old(x)=6442450949, \old(y)=0, one_fmod=1, sx=-1, x=6442450949, y=0, Zero_fmod={6442450954:0}] [L34] COND TRUE ((hy) == 0) || !((hx) < 0x7f800000L) || ((hy) > 0x7f800000L) [L35] return (x * y) / (x * y); VAL [\old(x)=6442450949, \old(y)=0, hx=2139095040, hy=2139095041, one_fmod=1, sx=-1, x=6442450949, y=0, Zero_fmod={6442450954:0}] [L119] RET, EXPR fmod_float(x, y) VAL [fmod_float(x, y)=6442450948, one_fmod=1, x=6442450949, y=0, Zero_fmod={6442450954:0}] [L119] float res = fmod_float(x, y); [L122] CALL, EXPR isnan_float(res) VAL [\old(x)=6442450948, one_fmod=1, Zero_fmod={6442450954:0}] [L108] return x != x; VAL [\old(x)=6442450948, \result=0, one_fmod=1, x=6442450948, Zero_fmod={6442450954:0}] [L122] RET, EXPR isnan_float(res) VAL [isnan_float(res)=0, one_fmod=1, res=6442450948, x=6442450949, y=0, Zero_fmod={6442450954:0}] [L122] COND TRUE !isnan_float(res) [L123] __VERIFIER_error() VAL [one_fmod=1, res=6442450948, x=6442450949, y=0, Zero_fmod={6442450954:0}] - StatisticsResult: Ultimate Automizer benchmark data CFG has 5 procedures, 55 locations, 1 error locations. UNSAFE Result, 0.3s OverallTime, 2 OverallIterations, 1 TraceHistogramMax, 0.0s AutomataDifference, 0.0s DeadEndRemovalTime, 0.0s HoareAnnotationTime, HoareTripleCheckerStatistics: 70 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=55occurred 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, 46 NumberOfCodeBlocks, 46 NumberOfCodeBlocksAsserted, 2 NumberOfCheckSat, 21 ConstructedInterpolants, 0 QuantifiedInterpolants, 441 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 14:14:59,228 INFO L170 SettingsManager]: Resetting all preferences to default values... [2018-11-23 14:14:59,229 INFO L174 SettingsManager]: Resetting UltimateCore preferences to default values [2018-11-23 14:14:59,237 INFO L177 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2018-11-23 14:14:59,238 INFO L174 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2018-11-23 14:14:59,238 INFO L174 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2018-11-23 14:14:59,239 INFO L174 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2018-11-23 14:14:59,240 INFO L174 SettingsManager]: Resetting LassoRanker preferences to default values [2018-11-23 14:14:59,241 INFO L174 SettingsManager]: Resetting Reaching Definitions preferences to default values [2018-11-23 14:14:59,242 INFO L174 SettingsManager]: Resetting SyntaxChecker preferences to default values [2018-11-23 14:14:59,243 INFO L177 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2018-11-23 14:14:59,243 INFO L174 SettingsManager]: Resetting LTL2Aut preferences to default values [2018-11-23 14:14:59,243 INFO L174 SettingsManager]: Resetting PEA to Boogie preferences to default values [2018-11-23 14:14:59,244 INFO L174 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2018-11-23 14:14:59,245 INFO L174 SettingsManager]: Resetting ChcToBoogie preferences to default values [2018-11-23 14:14:59,245 INFO L174 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2018-11-23 14:14:59,246 INFO L174 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2018-11-23 14:14:59,247 INFO L174 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2018-11-23 14:14:59,248 INFO L174 SettingsManager]: Resetting CodeCheck preferences to default values [2018-11-23 14:14:59,249 INFO L174 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2018-11-23 14:14:59,250 INFO L174 SettingsManager]: Resetting RCFGBuilder preferences to default values [2018-11-23 14:14:59,251 INFO L174 SettingsManager]: Resetting TraceAbstraction preferences to default values [2018-11-23 14:14:59,253 INFO L177 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2018-11-23 14:14:59,253 INFO L177 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2018-11-23 14:14:59,253 INFO L174 SettingsManager]: Resetting TreeAutomizer preferences to default values [2018-11-23 14:14:59,253 INFO L174 SettingsManager]: Resetting IcfgTransformer preferences to default values [2018-11-23 14:14:59,254 INFO L174 SettingsManager]: Resetting Boogie Printer preferences to default values [2018-11-23 14:14:59,255 INFO L174 SettingsManager]: Resetting ReqPrinter preferences to default values [2018-11-23 14:14:59,255 INFO L174 SettingsManager]: Resetting Witness Printer preferences to default values [2018-11-23 14:14:59,256 INFO L177 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2018-11-23 14:14:59,256 INFO L174 SettingsManager]: Resetting CDTParser preferences to default values [2018-11-23 14:14:59,256 INFO L177 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2018-11-23 14:14:59,257 INFO L177 SettingsManager]: ReqParser provides no preferences, ignoring... [2018-11-23 14:14:59,257 INFO L174 SettingsManager]: Resetting SmtParser preferences to default values [2018-11-23 14:14:59,257 INFO L174 SettingsManager]: Resetting Witness Parser preferences to default values [2018-11-23 14:14:59,258 INFO L181 SettingsManager]: Finished resetting all preferences to default values... [2018-11-23 14:14:59,258 INFO L98 SettingsManager]: Beginning loading settings from /tmp/vcloud-vcloud-master/worker/working_dir_6705fe8a-3c42-4275-9680-02312683edb3/bin-2019/uautomizer/config/svcomp-Reach-32bit-Automizer_Bitvector.epf [2018-11-23 14:14:59,268 INFO L110 SettingsManager]: Loading preferences was successful [2018-11-23 14:14:59,268 INFO L112 SettingsManager]: Preferences different from defaults after loading the file: [2018-11-23 14:14:59,269 INFO L131 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2018-11-23 14:14:59,269 INFO L133 SettingsManager]: * ... calls to implemented procedures=ONLY_FOR_CONCURRENT_PROGRAMS [2018-11-23 14:14:59,269 INFO L131 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2018-11-23 14:14:59,270 INFO L133 SettingsManager]: * Create parallel compositions if possible=false [2018-11-23 14:14:59,270 INFO L133 SettingsManager]: * Use SBE=true [2018-11-23 14:14:59,270 INFO L131 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2018-11-23 14:14:59,270 INFO L133 SettingsManager]: * sizeof long=4 [2018-11-23 14:14:59,270 INFO L133 SettingsManager]: * sizeof POINTER=4 [2018-11-23 14:14:59,270 INFO L133 SettingsManager]: * Check division by zero=IGNORE [2018-11-23 14:14:59,270 INFO L133 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2018-11-23 14:14:59,270 INFO L133 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2018-11-23 14:14:59,271 INFO L133 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2018-11-23 14:14:59,271 INFO L133 SettingsManager]: * Use bitvectors instead of ints=true [2018-11-23 14:14:59,271 INFO L133 SettingsManager]: * Memory model=HoenickeLindenmann_4ByteResolution [2018-11-23 14:14:59,271 INFO L133 SettingsManager]: * sizeof long double=12 [2018-11-23 14:14:59,271 INFO L133 SettingsManager]: * Check if freed pointer was valid=false [2018-11-23 14:14:59,271 INFO L133 SettingsManager]: * Use constant arrays=true [2018-11-23 14:14:59,271 INFO L133 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2018-11-23 14:14:59,271 INFO L131 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2018-11-23 14:14:59,272 INFO L133 SettingsManager]: * Size of a code block=SequenceOfStatements [2018-11-23 14:14:59,272 INFO L133 SettingsManager]: * To the following directory=./dump/ [2018-11-23 14:14:59,272 INFO L133 SettingsManager]: * SMT solver=External_DefaultMode [2018-11-23 14:14:59,272 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2018-11-23 14:14:59,272 INFO L131 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2018-11-23 14:14:59,272 INFO L133 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2018-11-23 14:14:59,272 INFO L133 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2018-11-23 14:14:59,273 INFO L133 SettingsManager]: * Trace refinement strategy=WOLF [2018-11-23 14:14:59,273 INFO L133 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2018-11-23 14:14:59,273 INFO L133 SettingsManager]: * Command for external solver=cvc4nyu --tear-down-incremental --rewrite-divk --print-success --lang smt [2018-11-23 14:14:59,273 INFO L133 SettingsManager]: * Logic for external solver=AUFBV [2018-11-23 14:14:59,273 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_6705fe8a-3c42-4275-9680-02312683edb3/bin-2019/uautomizer Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Witness filename -> witness.graphml Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Write witness besides input file -> false Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data specification -> CHECK( init(main()), LTL(G ! call(__VERIFIER_error())) ) Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data producer -> Automizer Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data architecture -> 32bit Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data programhash -> 7d19ae2d93dd4f9ccec1d28558a563787c68b3eb [2018-11-23 14:14:59,306 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2018-11-23 14:14:59,315 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2018-11-23 14:14:59,317 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2018-11-23 14:14:59,318 INFO L271 PluginConnector]: Initializing CDTParser... [2018-11-23 14:14:59,318 INFO L276 PluginConnector]: CDTParser initialized [2018-11-23 14:14:59,319 INFO L418 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /tmp/vcloud-vcloud-master/worker/working_dir_6705fe8a-3c42-4275-9680-02312683edb3/bin-2019/uautomizer/../../sv-benchmarks/c/float-newlib/float_req_bl_1121a_true-unreach-call.c [2018-11-23 14:14:59,354 INFO L221 CDTParser]: Created temporary CDT project at /tmp/vcloud-vcloud-master/worker/working_dir_6705fe8a-3c42-4275-9680-02312683edb3/bin-2019/uautomizer/data/cb9161cf7/277c290771c748ae92072f6fd488bbd0/FLAGdedf2e183 [2018-11-23 14:14:59,701 INFO L307 CDTParser]: Found 1 translation units. [2018-11-23 14:14:59,701 INFO L161 CDTParser]: Scanning /tmp/vcloud-vcloud-master/worker/working_dir_6705fe8a-3c42-4275-9680-02312683edb3/sv-benchmarks/c/float-newlib/float_req_bl_1121a_true-unreach-call.c [2018-11-23 14:14:59,707 INFO L355 CDTParser]: About to delete temporary CDT project at /tmp/vcloud-vcloud-master/worker/working_dir_6705fe8a-3c42-4275-9680-02312683edb3/bin-2019/uautomizer/data/cb9161cf7/277c290771c748ae92072f6fd488bbd0/FLAGdedf2e183 [2018-11-23 14:15:00,112 INFO L363 CDTParser]: Successfully deleted /tmp/vcloud-vcloud-master/worker/working_dir_6705fe8a-3c42-4275-9680-02312683edb3/bin-2019/uautomizer/data/cb9161cf7/277c290771c748ae92072f6fd488bbd0 [2018-11-23 14:15:00,114 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2018-11-23 14:15:00,115 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2018-11-23 14:15:00,116 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2018-11-23 14:15:00,116 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2018-11-23 14:15:00,119 INFO L276 PluginConnector]: CACSL2BoogieTranslator initialized [2018-11-23 14:15:00,120 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 02:15:00" (1/1) ... [2018-11-23 14:15:00,122 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@513cef91 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 02:15:00, skipping insertion in model container [2018-11-23 14:15:00,122 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 02:15:00" (1/1) ... [2018-11-23 14:15:00,127 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2018-11-23 14:15:00,146 INFO L176 MainTranslator]: Built tables and reachable declarations [2018-11-23 14:15:00,299 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 14:15:00,304 INFO L191 MainTranslator]: Completed pre-run [2018-11-23 14:15:00,332 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 14:15:00,349 INFO L195 MainTranslator]: Completed translation [2018-11-23 14:15:00,349 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 02:15:00 WrapperNode [2018-11-23 14:15:00,350 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2018-11-23 14:15:00,350 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2018-11-23 14:15:00,350 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2018-11-23 14:15:00,350 INFO L276 PluginConnector]: Boogie Procedure Inliner initialized [2018-11-23 14:15:00,355 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 02:15:00" (1/1) ... [2018-11-23 14:15:00,363 INFO L185 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 02:15:00" (1/1) ... [2018-11-23 14:15:00,367 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2018-11-23 14:15:00,367 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2018-11-23 14:15:00,368 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2018-11-23 14:15:00,368 INFO L276 PluginConnector]: Boogie Preprocessor initialized [2018-11-23 14:15:00,374 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 02:15:00" (1/1) ... [2018-11-23 14:15:00,374 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 02:15:00" (1/1) ... [2018-11-23 14:15:00,377 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 02:15:00" (1/1) ... [2018-11-23 14:15:00,377 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 02:15:00" (1/1) ... [2018-11-23 14:15:00,387 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 02:15:00" (1/1) ... [2018-11-23 14:15:00,430 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 02:15:00" (1/1) ... [2018-11-23 14:15:00,432 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 02:15:00" (1/1) ... [2018-11-23 14:15:00,435 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2018-11-23 14:15:00,436 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2018-11-23 14:15:00,436 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2018-11-23 14:15:00,436 INFO L276 PluginConnector]: RCFGBuilder initialized [2018-11-23 14:15:00,436 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 02:15:00" (1/1) ... No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_6705fe8a-3c42-4275-9680-02312683edb3/bin-2019/uautomizer/z3 Starting monitored process 1 with z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 1 with z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2018-11-23 14:15:00,470 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~intFLOATTYPE4 [2018-11-23 14:15:00,470 INFO L130 BoogieDeclarations]: Found specification of procedure main [2018-11-23 14:15:00,470 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2018-11-23 14:15:00,470 INFO L130 BoogieDeclarations]: Found specification of procedure read~intFLOATTYPE4 [2018-11-23 14:15:00,470 INFO L130 BoogieDeclarations]: Found specification of procedure isnan_float [2018-11-23 14:15:00,470 INFO L138 BoogieDeclarations]: Found implementation of procedure isnan_float [2018-11-23 14:15:00,470 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2018-11-23 14:15:00,471 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2018-11-23 14:15:00,471 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.alloc [2018-11-23 14:15:00,471 INFO L130 BoogieDeclarations]: Found specification of procedure read~intINTTYPE4 [2018-11-23 14:15:00,471 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2018-11-23 14:15:00,471 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2018-11-23 14:15:00,471 INFO L130 BoogieDeclarations]: Found specification of procedure write~intFLOATTYPE4 [2018-11-23 14:15:00,471 INFO L130 BoogieDeclarations]: Found specification of procedure fmod_float [2018-11-23 14:15:00,471 INFO L138 BoogieDeclarations]: Found implementation of procedure fmod_float [2018-11-23 14:15:00,471 INFO L130 BoogieDeclarations]: Found specification of procedure write~intINTTYPE4 [2018-11-23 14:15:00,471 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2018-11-23 14:15:00,649 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 14:15:01,123 INFO L275 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2018-11-23 14:15:01,124 INFO L280 CfgBuilder]: Removed 12 assue(true) statements. [2018-11-23 14:15:01,124 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 02:15:01 BoogieIcfgContainer [2018-11-23 14:15:01,124 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2018-11-23 14:15:01,125 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2018-11-23 14:15:01,125 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2018-11-23 14:15:01,127 INFO L276 PluginConnector]: TraceAbstraction initialized [2018-11-23 14:15:01,127 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 23.11 02:15:00" (1/3) ... [2018-11-23 14:15:01,127 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@60f0faf2 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 23.11 02:15:01, skipping insertion in model container [2018-11-23 14:15:01,127 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 02:15:00" (2/3) ... [2018-11-23 14:15:01,127 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@60f0faf2 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 23.11 02:15:01, skipping insertion in model container [2018-11-23 14:15:01,128 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 02:15:01" (3/3) ... [2018-11-23 14:15:01,129 INFO L112 eAbstractionObserver]: Analyzing ICFG float_req_bl_1121a_true-unreach-call.c [2018-11-23 14:15:01,135 INFO L156 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2018-11-23 14:15:01,140 INFO L168 ceAbstractionStarter]: Appying trace abstraction to program that has 1 error locations. [2018-11-23 14:15:01,152 INFO L257 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2018-11-23 14:15:01,172 INFO L133 ementStrategyFactory]: Using default assertion order modulation [2018-11-23 14:15:01,172 INFO L382 AbstractCegarLoop]: Interprodecural is true [2018-11-23 14:15:01,172 INFO L383 AbstractCegarLoop]: Hoare is true [2018-11-23 14:15:01,172 INFO L384 AbstractCegarLoop]: Compute interpolants for FPandBP [2018-11-23 14:15:01,173 INFO L385 AbstractCegarLoop]: Backedges is STRAIGHT_LINE [2018-11-23 14:15:01,173 INFO L386 AbstractCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2018-11-23 14:15:01,173 INFO L387 AbstractCegarLoop]: Difference is false [2018-11-23 14:15:01,173 INFO L388 AbstractCegarLoop]: Minimize is MINIMIZE_SEVPA [2018-11-23 14:15:01,173 INFO L393 AbstractCegarLoop]: ======== Iteration 0==of CEGAR loop == AllErrorsAtOnce======== [2018-11-23 14:15:01,185 INFO L276 IsEmpty]: Start isEmpty. Operand 54 states. [2018-11-23 14:15:01,189 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 22 [2018-11-23 14:15:01,189 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 14:15:01,190 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] [2018-11-23 14:15:01,192 INFO L423 AbstractCegarLoop]: === Iteration 1 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 14:15:01,195 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 14:15:01,195 INFO L82 PathProgramCache]: Analyzing trace with hash 1582823124, now seen corresponding path program 1 times [2018-11-23 14:15:01,198 INFO L223 ckRefinementStrategy]: Switched to mode MATHSAT_FPBP [2018-11-23 14:15:01,198 INFO L69 tionRefinementEngine]: Using refinement strategy WolfRefinementStrategy No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_6705fe8a-3c42-4275-9680-02312683edb3/bin-2019/uautomizer/mathsat Starting monitored process 2 with mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 2 with mathsat -unsat_core_generation=3 [2018-11-23 14:15:01,202 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 14:15:01,408 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 14:15:01,428 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 14:15:01,444 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 14:15:01,445 INFO L312 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2018-11-23 14:15:01,457 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 14:15:01,457 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2018-11-23 14:15:01,459 INFO L459 AbstractCegarLoop]: Interpolant automaton has 2 states [2018-11-23 14:15:01,466 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 2 interpolants. [2018-11-23 14:15:01,467 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2018-11-23 14:15:01,468 INFO L87 Difference]: Start difference. First operand 54 states. Second operand 2 states. [2018-11-23 14:15:01,483 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 14:15:01,483 INFO L93 Difference]: Finished difference Result 100 states and 156 transitions. [2018-11-23 14:15:01,484 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2018-11-23 14:15:01,484 INFO L78 Accepts]: Start accepts. Automaton has 2 states. Word has length 21 [2018-11-23 14:15:01,485 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 14:15:01,492 INFO L225 Difference]: With dead ends: 100 [2018-11-23 14:15:01,492 INFO L226 Difference]: Without dead ends: 50 [2018-11-23 14:15:01,494 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 20 GetRequests, 20 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 14:15:01,504 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 50 states. [2018-11-23 14:15:01,516 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 50 to 50. [2018-11-23 14:15:01,517 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 50 states. [2018-11-23 14:15:01,517 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 50 states to 50 states and 65 transitions. [2018-11-23 14:15:01,519 INFO L78 Accepts]: Start accepts. Automaton has 50 states and 65 transitions. Word has length 21 [2018-11-23 14:15:01,519 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 14:15:01,519 INFO L480 AbstractCegarLoop]: Abstraction has 50 states and 65 transitions. [2018-11-23 14:15:01,519 INFO L481 AbstractCegarLoop]: Interpolant automaton has 2 states. [2018-11-23 14:15:01,519 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 65 transitions. [2018-11-23 14:15:01,520 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 24 [2018-11-23 14:15:01,520 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 14:15:01,520 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 14:15:01,520 INFO L423 AbstractCegarLoop]: === Iteration 2 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 14:15:01,521 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 14:15:01,521 INFO L82 PathProgramCache]: Analyzing trace with hash -853861129, now seen corresponding path program 1 times [2018-11-23 14:15:01,521 INFO L223 ckRefinementStrategy]: Switched to mode MATHSAT_FPBP [2018-11-23 14:15:01,521 INFO L69 tionRefinementEngine]: Using refinement strategy WolfRefinementStrategy No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_6705fe8a-3c42-4275-9680-02312683edb3/bin-2019/uautomizer/mathsat Starting monitored process 3 with mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 3 with mathsat -unsat_core_generation=3 [2018-11-23 14:15:01,537 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 14:15:01,758 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 14:15:01,774 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 14:15:04,447 WARN L180 SmtUtils]: Spent 591.00 ms on a formula simplification that was a NOOP. DAG size: 8 [2018-11-23 14:15:07,134 WARN L180 SmtUtils]: Spent 227.00 ms on a formula simplification that was a NOOP. DAG size: 8 [2018-11-23 14:15:10,643 WARN L180 SmtUtils]: Spent 369.00 ms on a formula simplification that was a NOOP. DAG size: 8 [2018-11-23 14:15:14,173 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 14:15:14,173 INFO L312 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2018-11-23 14:15:14,182 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 14:15:14,182 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2018-11-23 14:15:14,183 INFO L459 AbstractCegarLoop]: Interpolant automaton has 9 states [2018-11-23 14:15:14,183 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2018-11-23 14:15:14,183 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=15, Invalid=57, Unknown=0, NotChecked=0, Total=72 [2018-11-23 14:15:14,184 INFO L87 Difference]: Start difference. First operand 50 states and 65 transitions. Second operand 9 states. [2018-11-23 14:15:21,384 WARN L180 SmtUtils]: Spent 2.20 s on a formula simplification that was a NOOP. DAG size: 11 [2018-11-23 14:15:24,722 WARN L180 SmtUtils]: Spent 740.00 ms on a formula simplification that was a NOOP. DAG size: 11 [2018-11-23 14:15:28,315 WARN L180 SmtUtils]: Spent 625.00 ms on a formula simplification that was a NOOP. DAG size: 11 [2018-11-23 14:15:32,100 WARN L180 SmtUtils]: Spent 1.36 s on a formula simplification that was a NOOP. DAG size: 16 [2018-11-23 14:15:34,520 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 14:15:34,520 INFO L93 Difference]: Finished difference Result 57 states and 72 transitions. [2018-11-23 14:15:34,521 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2018-11-23 14:15:34,521 INFO L78 Accepts]: Start accepts. Automaton has 9 states. Word has length 23 [2018-11-23 14:15:34,521 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 14:15:34,522 INFO L225 Difference]: With dead ends: 57 [2018-11-23 14:15:34,522 INFO L226 Difference]: Without dead ends: 50 [2018-11-23 14:15:34,523 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 26 GetRequests, 15 SyntacticMatches, 0 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 5 ImplicationChecksByTransitivity, 24.0s TimeCoverageRelationStatistics Valid=33, Invalid=123, Unknown=0, NotChecked=0, Total=156 [2018-11-23 14:15:34,523 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 50 states. [2018-11-23 14:15:34,528 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 50 to 50. [2018-11-23 14:15:34,528 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 50 states. [2018-11-23 14:15:34,529 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 50 states to 50 states and 64 transitions. [2018-11-23 14:15:34,529 INFO L78 Accepts]: Start accepts. Automaton has 50 states and 64 transitions. Word has length 23 [2018-11-23 14:15:34,530 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 14:15:34,530 INFO L480 AbstractCegarLoop]: Abstraction has 50 states and 64 transitions. [2018-11-23 14:15:34,530 INFO L481 AbstractCegarLoop]: Interpolant automaton has 9 states. [2018-11-23 14:15:34,530 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 64 transitions. [2018-11-23 14:15:34,530 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 25 [2018-11-23 14:15:34,531 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 14:15:34,531 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 14:15:34,531 INFO L423 AbstractCegarLoop]: === Iteration 3 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 14:15:34,531 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 14:15:34,531 INFO L82 PathProgramCache]: Analyzing trace with hash 988405985, now seen corresponding path program 1 times [2018-11-23 14:15:34,532 INFO L223 ckRefinementStrategy]: Switched to mode MATHSAT_FPBP [2018-11-23 14:15:34,532 INFO L69 tionRefinementEngine]: Using refinement strategy WolfRefinementStrategy No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_6705fe8a-3c42-4275-9680-02312683edb3/bin-2019/uautomizer/mathsat Starting monitored process 4 with mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 4 with mathsat -unsat_core_generation=3 [2018-11-23 14:15:34,535 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 14:15:34,573 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 14:15:34,579 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 14:15:34,652 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 14:15:34,652 INFO L312 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2018-11-23 14:15:34,662 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 14:15:34,663 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2018-11-23 14:15:34,663 INFO L459 AbstractCegarLoop]: Interpolant automaton has 7 states [2018-11-23 14:15:34,663 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2018-11-23 14:15:34,663 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=11, Invalid=31, Unknown=0, NotChecked=0, Total=42 [2018-11-23 14:15:34,664 INFO L87 Difference]: Start difference. First operand 50 states and 64 transitions. Second operand 7 states. [2018-11-23 14:15:34,951 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 14:15:34,952 INFO L93 Difference]: Finished difference Result 52 states and 66 transitions. [2018-11-23 14:15:34,953 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2018-11-23 14:15:34,953 INFO L78 Accepts]: Start accepts. Automaton has 7 states. Word has length 24 [2018-11-23 14:15:34,953 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 14:15:34,953 INFO L225 Difference]: With dead ends: 52 [2018-11-23 14:15:34,953 INFO L226 Difference]: Without dead ends: 0 [2018-11-23 14:15:34,954 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 27 GetRequests, 18 SyntacticMatches, 0 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 5 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=30, Invalid=80, Unknown=0, NotChecked=0, Total=110 [2018-11-23 14:15:34,954 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 0 states. [2018-11-23 14:15:34,954 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 0 to 0. [2018-11-23 14:15:34,954 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 0 states. [2018-11-23 14:15:34,954 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 0 states to 0 states and 0 transitions. [2018-11-23 14:15:34,954 INFO L78 Accepts]: Start accepts. Automaton has 0 states and 0 transitions. Word has length 24 [2018-11-23 14:15:34,955 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 14:15:34,955 INFO L480 AbstractCegarLoop]: Abstraction has 0 states and 0 transitions. [2018-11-23 14:15:34,955 INFO L481 AbstractCegarLoop]: Interpolant automaton has 7 states. [2018-11-23 14:15:34,955 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2018-11-23 14:15:34,955 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 14:15:34,958 INFO L343 DoubleDeckerVisitor]: Before removal of dead ends 0 states and 0 transitions. [2018-11-23 14:15:36,024 WARN L180 SmtUtils]: Spent 971.00 ms on a formula simplification that was a NOOP. DAG size: 11 [2018-11-23 14:15:36,052 INFO L448 ceAbstractionStarter]: For program point isnan_floatFINAL(line 108) no Hoare annotation was computed. [2018-11-23 14:15:36,052 INFO L451 ceAbstractionStarter]: At program point isnan_floatENTRY(line 108) the Hoare annotation is: true [2018-11-23 14:15:36,053 INFO L448 ceAbstractionStarter]: For program point isnan_floatEXIT(line 108) no Hoare annotation was computed. [2018-11-23 14:15:36,053 INFO L448 ceAbstractionStarter]: For program point ULTIMATE.initFINAL(line -1) no Hoare annotation was computed. [2018-11-23 14:15:36,053 INFO L451 ceAbstractionStarter]: At program point ULTIMATE.initENTRY(line -1) the Hoare annotation is: true [2018-11-23 14:15:36,053 INFO L448 ceAbstractionStarter]: For program point ULTIMATE.initEXIT(line -1) no Hoare annotation was computed. [2018-11-23 14:15:36,053 INFO L448 ceAbstractionStarter]: For program point ULTIMATE.startEXIT(line -1) no Hoare annotation was computed. [2018-11-23 14:15:36,053 INFO L451 ceAbstractionStarter]: At program point L-1(line -1) the Hoare annotation is: true [2018-11-23 14:15:36,053 INFO L451 ceAbstractionStarter]: At program point ULTIMATE.startENTRY(line -1) the Hoare annotation is: true [2018-11-23 14:15:36,053 INFO L448 ceAbstractionStarter]: For program point ULTIMATE.startFINAL(line -1) no Hoare annotation was computed. [2018-11-23 14:15:36,053 INFO L451 ceAbstractionStarter]: At program point mainENTRY(lines 110 128) the Hoare annotation is: true [2018-11-23 14:15:36,053 INFO L448 ceAbstractionStarter]: For program point mainFINAL(lines 110 128) no Hoare annotation was computed. [2018-11-23 14:15:36,053 INFO L448 ceAbstractionStarter]: For program point L123(line 123) no Hoare annotation was computed. [2018-11-23 14:15:36,053 INFO L444 ceAbstractionStarter]: At program point L122(line 122) the Hoare annotation is: (and (exists ((fmod_float_~x (_ FloatingPoint 8 24))) (= main_~res~0 (let ((.cse0 (fp.mul roundNearestTiesToEven fmod_float_~x (_ +zero 8 24)))) (fp.div roundNearestTiesToEven .cse0 .cse0)))) (= (_ +zero 8 24) main_~y~0)) [2018-11-23 14:15:36,053 INFO L448 ceAbstractionStarter]: For program point L122-1(lines 122 125) no Hoare annotation was computed. [2018-11-23 14:15:36,053 INFO L448 ceAbstractionStarter]: For program point mainEXIT(lines 110 128) no Hoare annotation was computed. [2018-11-23 14:15:36,054 INFO L444 ceAbstractionStarter]: At program point L119(line 119) the Hoare annotation is: (= (_ +zero 8 24) main_~y~0) [2018-11-23 14:15:36,054 INFO L448 ceAbstractionStarter]: For program point L119-1(line 119) no Hoare annotation was computed. [2018-11-23 14:15:36,054 INFO L448 ceAbstractionStarter]: For program point mainErr0ASSERT_VIOLATIONERROR_FUNCTION(line 123) no Hoare annotation was computed. [2018-11-23 14:15:36,054 INFO L448 ceAbstractionStarter]: For program point fmod_floatEXIT(lines 17 105) no Hoare annotation was computed. [2018-11-23 14:15:36,054 INFO L448 ceAbstractionStarter]: For program point L52-1(lines 17 105) no Hoare annotation was computed. [2018-11-23 14:15:36,054 INFO L448 ceAbstractionStarter]: For program point L36(lines 36 37) no Hoare annotation was computed. [2018-11-23 14:15:36,054 INFO L448 ceAbstractionStarter]: For program point L86(lines 86 103) no Hoare annotation was computed. [2018-11-23 14:15:36,054 INFO L448 ceAbstractionStarter]: For program point L20-1(lines 20 24) no Hoare annotation was computed. [2018-11-23 14:15:36,054 INFO L444 ceAbstractionStarter]: At program point L20-2(lines 20 24) the Hoare annotation is: (= fmod_float_~y |fmod_float_#in~y|) [2018-11-23 14:15:36,054 INFO L448 ceAbstractionStarter]: For program point L70(lines 70 71) no Hoare annotation was computed. [2018-11-23 14:15:36,054 INFO L448 ceAbstractionStarter]: For program point L46(lines 17 105) no Hoare annotation was computed. [2018-11-23 14:15:36,054 INFO L448 ceAbstractionStarter]: For program point fmod_floatFINAL(lines 17 105) no Hoare annotation was computed. [2018-11-23 14:15:36,054 INFO L448 ceAbstractionStarter]: For program point L38(lines 38 39) no Hoare annotation was computed. [2018-11-23 14:15:36,055 INFO L451 ceAbstractionStarter]: At program point fmod_floatENTRY(lines 17 105) the Hoare annotation is: true [2018-11-23 14:15:36,055 INFO L448 ceAbstractionStarter]: For program point L88-1(lines 88 92) no Hoare annotation was computed. [2018-11-23 14:15:36,055 INFO L444 ceAbstractionStarter]: At program point L88-2(lines 88 92) the Hoare annotation is: (and (exists ((v_fmod_float_~hy~0_19 (_ BitVec 32))) (and (= (fp ((_ extract 31 31) v_fmod_float_~hy~0_19) ((_ extract 30 23) v_fmod_float_~hy~0_19) ((_ extract 22 0) v_fmod_float_~hy~0_19)) |fmod_float_#in~y|) (not (= (bvand (_ bv2147483647 32) v_fmod_float_~hy~0_19) (_ bv0 32))))) (= fmod_float_~y |fmod_float_#in~y|)) [2018-11-23 14:15:36,055 INFO L448 ceAbstractionStarter]: For program point L47-2(lines 47 48) no Hoare annotation was computed. [2018-11-23 14:15:36,055 INFO L444 ceAbstractionStarter]: At program point L47-3(lines 47 48) the Hoare annotation is: (and (exists ((v_fmod_float_~hy~0_19 (_ BitVec 32))) (and (= (fp ((_ extract 31 31) v_fmod_float_~hy~0_19) ((_ extract 30 23) v_fmod_float_~hy~0_19) ((_ extract 22 0) v_fmod_float_~hy~0_19)) |fmod_float_#in~y|) (not (= (bvand (_ bv2147483647 32) v_fmod_float_~hy~0_19) (_ bv0 32))))) (= fmod_float_~y |fmod_float_#in~y|) (exists ((v_fmod_float_~hy~0_19 (_ BitVec 32))) (and (= (fp ((_ extract 31 31) v_fmod_float_~hy~0_19) ((_ extract 30 23) v_fmod_float_~hy~0_19) ((_ extract 22 0) v_fmod_float_~hy~0_19)) |fmod_float_#in~y|) (= (bvand (_ bv2147483647 32) v_fmod_float_~hy~0_19) fmod_float_~hy~0)))) [2018-11-23 14:15:36,055 INFO L448 ceAbstractionStarter]: For program point L97-1(lines 97 101) no Hoare annotation was computed. [2018-11-23 14:15:36,055 INFO L444 ceAbstractionStarter]: At program point L97-2(lines 97 101) the Hoare annotation is: (and (exists ((v_fmod_float_~hy~0_19 (_ BitVec 32))) (and (= (fp ((_ extract 31 31) v_fmod_float_~hy~0_19) ((_ extract 30 23) v_fmod_float_~hy~0_19) ((_ extract 22 0) v_fmod_float_~hy~0_19)) |fmod_float_#in~y|) (not (= (bvand (_ bv2147483647 32) v_fmod_float_~hy~0_19) (_ bv0 32))))) (= fmod_float_~y |fmod_float_#in~y|)) [2018-11-23 14:15:36,055 INFO L448 ceAbstractionStarter]: For program point L97-3(lines 97 101) no Hoare annotation was computed. [2018-11-23 14:15:36,055 INFO L448 ceAbstractionStarter]: For program point L40(lines 40 44) no Hoare annotation was computed. [2018-11-23 14:15:36,055 INFO L448 ceAbstractionStarter]: For program point L40-1(lines 17 105) no Hoare annotation was computed. [2018-11-23 14:15:36,055 INFO L448 ceAbstractionStarter]: For program point L65-1(lines 65 74) no Hoare annotation was computed. [2018-11-23 14:15:36,055 INFO L448 ceAbstractionStarter]: For program point L65-3(lines 65 74) no Hoare annotation was computed. [2018-11-23 14:15:36,056 INFO L444 ceAbstractionStarter]: At program point L82-2(lines 82 85) the Hoare annotation is: (and (exists ((v_fmod_float_~hy~0_19 (_ BitVec 32))) (and (= (fp ((_ extract 31 31) v_fmod_float_~hy~0_19) ((_ extract 30 23) v_fmod_float_~hy~0_19) ((_ extract 22 0) v_fmod_float_~hy~0_19)) |fmod_float_#in~y|) (not (= (bvand (_ bv2147483647 32) v_fmod_float_~hy~0_19) (_ bv0 32))))) (= fmod_float_~y |fmod_float_#in~y|)) [2018-11-23 14:15:36,056 INFO L448 ceAbstractionStarter]: For program point L82-3(lines 17 105) no Hoare annotation was computed. [2018-11-23 14:15:36,056 INFO L448 ceAbstractionStarter]: For program point L41-2(lines 41 42) no Hoare annotation was computed. [2018-11-23 14:15:36,056 INFO L444 ceAbstractionStarter]: At program point L41-3(lines 41 42) the Hoare annotation is: (and (exists ((v_fmod_float_~hy~0_19 (_ BitVec 32))) (and (= (fp ((_ extract 31 31) v_fmod_float_~hy~0_19) ((_ extract 30 23) v_fmod_float_~hy~0_19) ((_ extract 22 0) v_fmod_float_~hy~0_19)) |fmod_float_#in~y|) (not (= (bvand (_ bv2147483647 32) v_fmod_float_~hy~0_19) (_ bv0 32))))) (= fmod_float_~y |fmod_float_#in~y|) (exists ((v_fmod_float_~hy~0_19 (_ BitVec 32))) (and (= (fp ((_ extract 31 31) v_fmod_float_~hy~0_19) ((_ extract 30 23) v_fmod_float_~hy~0_19) ((_ extract 22 0) v_fmod_float_~hy~0_19)) |fmod_float_#in~y|) (= (bvand (_ bv2147483647 32) v_fmod_float_~hy~0_19) fmod_float_~hy~0)))) [2018-11-23 14:15:36,056 INFO L448 ceAbstractionStarter]: For program point L25(lines 25 29) no Hoare annotation was computed. [2018-11-23 14:15:36,056 INFO L448 ceAbstractionStarter]: For program point L58-1(lines 58 63) no Hoare annotation was computed. [2018-11-23 14:15:36,056 INFO L448 ceAbstractionStarter]: For program point L25-1(lines 17 105) no Hoare annotation was computed. [2018-11-23 14:15:36,056 INFO L448 ceAbstractionStarter]: For program point L25-2(lines 25 29) no Hoare annotation was computed. [2018-11-23 14:15:36,056 INFO L448 ceAbstractionStarter]: For program point L67(lines 67 73) no Hoare annotation was computed. [2018-11-23 14:15:36,056 INFO L448 ceAbstractionStarter]: For program point L34(lines 34 35) no Hoare annotation was computed. [2018-11-23 14:15:36,056 INFO L444 ceAbstractionStarter]: At program point L67-2(lines 65 74) the Hoare annotation is: (and (exists ((v_fmod_float_~hy~0_19 (_ BitVec 32))) (and (= (fp ((_ extract 31 31) v_fmod_float_~hy~0_19) ((_ extract 30 23) v_fmod_float_~hy~0_19) ((_ extract 22 0) v_fmod_float_~hy~0_19)) |fmod_float_#in~y|) (not (= (bvand (_ bv2147483647 32) v_fmod_float_~hy~0_19) (_ bv0 32))))) (= fmod_float_~y |fmod_float_#in~y|)) [2018-11-23 14:15:36,056 INFO L448 ceAbstractionStarter]: For program point L76(lines 76 78) no Hoare annotation was computed. [2018-11-23 14:15:36,056 INFO L448 ceAbstractionStarter]: For program point L76-2(lines 17 105) no Hoare annotation was computed. [2018-11-23 14:15:36,060 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hy~0_19,QUANTIFIED] [2018-11-23 14:15:36,061 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hy~0_19,QUANTIFIED] [2018-11-23 14:15:36,061 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hy~0_19,QUANTIFIED] [2018-11-23 14:15:36,061 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hy~0_19,QUANTIFIED] [2018-11-23 14:15:36,065 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hy~0_19,QUANTIFIED] [2018-11-23 14:15:36,066 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hy~0_19,QUANTIFIED] [2018-11-23 14:15:36,066 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hy~0_19,QUANTIFIED] [2018-11-23 14:15:36,066 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hy~0_19,QUANTIFIED] [2018-11-23 14:15:36,067 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hy~0_19,QUANTIFIED] [2018-11-23 14:15:36,067 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hy~0_19,QUANTIFIED] [2018-11-23 14:15:36,067 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hy~0_19,QUANTIFIED] [2018-11-23 14:15:36,067 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hy~0_19,QUANTIFIED] [2018-11-23 14:15:36,068 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hy~0_19,QUANTIFIED] [2018-11-23 14:15:36,068 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hy~0_19,QUANTIFIED] [2018-11-23 14:15:36,068 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hy~0_19,QUANTIFIED] [2018-11-23 14:15:36,068 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hy~0_19,QUANTIFIED] [2018-11-23 14:15:36,069 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hy~0_19,QUANTIFIED] [2018-11-23 14:15:36,069 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hy~0_19,QUANTIFIED] [2018-11-23 14:15:36,069 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hy~0_19,QUANTIFIED] [2018-11-23 14:15:36,070 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hy~0_19,QUANTIFIED] [2018-11-23 14:15:36,070 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hy~0_19,QUANTIFIED] [2018-11-23 14:15:36,070 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hy~0_19,QUANTIFIED] [2018-11-23 14:15:36,070 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hy~0_19,QUANTIFIED] [2018-11-23 14:15:36,070 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hy~0_19,QUANTIFIED] [2018-11-23 14:15:36,071 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hy~0_19,QUANTIFIED] [2018-11-23 14:15:36,071 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hy~0_19,QUANTIFIED] [2018-11-23 14:15:36,071 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hy~0_19,QUANTIFIED] [2018-11-23 14:15:36,071 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hy~0_19,QUANTIFIED] [2018-11-23 14:15:36,071 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hy~0_19,QUANTIFIED] [2018-11-23 14:15:36,072 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hy~0_19,QUANTIFIED] [2018-11-23 14:15:36,072 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hy~0_19,QUANTIFIED] [2018-11-23 14:15:36,072 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hy~0_19,QUANTIFIED] [2018-11-23 14:15:36,072 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hy~0_19,QUANTIFIED] [2018-11-23 14:15:36,072 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hy~0_19,QUANTIFIED] [2018-11-23 14:15:36,073 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hy~0_19,QUANTIFIED] [2018-11-23 14:15:36,073 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hy~0_19,QUANTIFIED] [2018-11-23 14:15:36,073 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hy~0_19,QUANTIFIED] [2018-11-23 14:15:36,073 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hy~0_19,QUANTIFIED] [2018-11-23 14:15:36,073 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hy~0_19,QUANTIFIED] [2018-11-23 14:15:36,074 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hy~0_19,QUANTIFIED] [2018-11-23 14:15:36,074 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hy~0_19,QUANTIFIED] [2018-11-23 14:15:36,074 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hy~0_19,QUANTIFIED] [2018-11-23 14:15:36,075 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hy~0_19,QUANTIFIED] [2018-11-23 14:15:36,075 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hy~0_19,QUANTIFIED] [2018-11-23 14:15:36,075 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hy~0_19,QUANTIFIED] [2018-11-23 14:15:36,075 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hy~0_19,QUANTIFIED] [2018-11-23 14:15:36,075 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hy~0_19,QUANTIFIED] [2018-11-23 14:15:36,076 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hy~0_19,QUANTIFIED] [2018-11-23 14:15:36,076 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hy~0_19,QUANTIFIED] [2018-11-23 14:15:36,076 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hy~0_19,QUANTIFIED] [2018-11-23 14:15:36,076 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hy~0_19,QUANTIFIED] [2018-11-23 14:15:36,077 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hy~0_19,QUANTIFIED] [2018-11-23 14:15:36,077 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hy~0_19,QUANTIFIED] [2018-11-23 14:15:36,077 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hy~0_19,QUANTIFIED] [2018-11-23 14:15:36,077 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hy~0_19,QUANTIFIED] [2018-11-23 14:15:36,077 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hy~0_19,QUANTIFIED] [2018-11-23 14:15:36,078 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hy~0_19,QUANTIFIED] [2018-11-23 14:15:36,078 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hy~0_19,QUANTIFIED] [2018-11-23 14:15:36,078 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hy~0_19,QUANTIFIED] [2018-11-23 14:15:36,078 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hy~0_19,QUANTIFIED] [2018-11-23 14:15:36,079 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hy~0_19,QUANTIFIED] [2018-11-23 14:15:36,079 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hy~0_19,QUANTIFIED] [2018-11-23 14:15:36,079 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hy~0_19,QUANTIFIED] [2018-11-23 14:15:36,079 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hy~0_19,QUANTIFIED] [2018-11-23 14:15:36,081 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 23.11 02:15:36 BoogieIcfgContainer [2018-11-23 14:15:36,081 INFO L132 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2018-11-23 14:15:36,082 INFO L113 PluginConnector]: ------------------------Witness Printer---------------------------- [2018-11-23 14:15:36,082 INFO L271 PluginConnector]: Initializing Witness Printer... [2018-11-23 14:15:36,082 INFO L276 PluginConnector]: Witness Printer initialized [2018-11-23 14:15:36,082 INFO L185 PluginConnector]: Executing the observer RCFGCatcher from plugin Witness Printer for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 02:15:01" (3/4) ... [2018-11-23 14:15:36,086 INFO L144 WitnessPrinter]: Generating witness for correct program [2018-11-23 14:15:36,090 INFO L354 RCFGBacktranslator]: Ignoring RootEdge to procedure isnan_float [2018-11-23 14:15:36,090 INFO L354 RCFGBacktranslator]: Ignoring RootEdge to procedure ULTIMATE.init [2018-11-23 14:15:36,090 INFO L354 RCFGBacktranslator]: Ignoring RootEdge to procedure main [2018-11-23 14:15:36,090 INFO L354 RCFGBacktranslator]: Ignoring RootEdge to procedure fmod_float [2018-11-23 14:15:36,094 INFO L879 BoogieBacktranslator]: Reduced CFG by removing 17 nodes and edges [2018-11-23 14:15:36,094 INFO L879 BoogieBacktranslator]: Reduced CFG by removing 7 nodes and edges [2018-11-23 14:15:36,094 INFO L879 BoogieBacktranslator]: Reduced CFG by removing 2 nodes and edges [2018-11-23 14:15:36,094 INFO L879 BoogieBacktranslator]: Reduced CFG by removing 1 nodes and edges [2018-11-23 14:15:36,111 WARN L221 nessWitnessGenerator]: Not writing invariant because ACSL is forbidden: y == \old(y) [2018-11-23 14:15:36,120 INFO L145 WitnessManager]: Wrote witness to /tmp/vcloud-vcloud-master/worker/working_dir_6705fe8a-3c42-4275-9680-02312683edb3/bin-2019/uautomizer/witness.graphml [2018-11-23 14:15:36,120 INFO L132 PluginConnector]: ------------------------ END Witness Printer---------------------------- [2018-11-23 14:15:36,121 INFO L168 Benchmark]: Toolchain (without parser) took 36005.88 ms. Allocated memory was 1.0 GB in the beginning and 1.1 GB in the end (delta: 99.1 MB). Free memory was 949.7 MB in the beginning and 928.8 MB in the end (delta: 20.9 MB). Peak memory consumption was 120.0 MB. Max. memory is 11.5 GB. [2018-11-23 14:15:36,121 INFO L168 Benchmark]: CDTParser took 0.15 ms. Allocated memory is still 1.0 GB. Free memory is still 978.7 MB. There was no memory consumed. Max. memory is 11.5 GB. [2018-11-23 14:15:36,121 INFO L168 Benchmark]: CACSL2BoogieTranslator took 233.85 ms. Allocated memory is still 1.0 GB. Free memory was 949.7 MB in the beginning and 933.6 MB in the end (delta: 16.1 MB). Peak memory consumption was 16.1 MB. Max. memory is 11.5 GB. [2018-11-23 14:15:36,122 INFO L168 Benchmark]: Boogie Procedure Inliner took 17.28 ms. Allocated memory is still 1.0 GB. Free memory is still 933.6 MB. There was no memory consumed. Max. memory is 11.5 GB. [2018-11-23 14:15:36,122 INFO L168 Benchmark]: Boogie Preprocessor took 67.78 ms. Allocated memory was 1.0 GB in the beginning and 1.1 GB in the end (delta: 99.1 MB). Free memory was 933.6 MB in the beginning and 1.1 GB in the end (delta: -159.6 MB). Peak memory consumption was 21.1 MB. Max. memory is 11.5 GB. [2018-11-23 14:15:36,122 INFO L168 Benchmark]: RCFGBuilder took 688.66 ms. Allocated memory is still 1.1 GB. Free memory was 1.1 GB in the beginning and 1.1 GB in the end (delta: 31.9 MB). Peak memory consumption was 31.9 MB. Max. memory is 11.5 GB. [2018-11-23 14:15:36,123 INFO L168 Benchmark]: TraceAbstraction took 34956.73 ms. Allocated memory is still 1.1 GB. Free memory was 1.1 GB in the beginning and 928.8 MB in the end (delta: 132.5 MB). Peak memory consumption was 132.5 MB. Max. memory is 11.5 GB. [2018-11-23 14:15:36,123 INFO L168 Benchmark]: Witness Printer took 38.49 ms. Allocated memory is still 1.1 GB. Free memory is still 928.8 MB. There was no memory consumed. Max. memory is 11.5 GB. [2018-11-23 14:15:36,125 INFO L336 ainManager$Toolchain]: ####################### End [Toolchain 1] ####################### --- Results --- * Results from de.uni_freiburg.informatik.ultimate.core: - StatisticsResult: Toolchain Benchmarks Benchmark results are: * CDTParser took 0.15 ms. Allocated memory is still 1.0 GB. Free memory is still 978.7 MB. There was no memory consumed. Max. memory is 11.5 GB. * CACSL2BoogieTranslator took 233.85 ms. Allocated memory is still 1.0 GB. Free memory was 949.7 MB in the beginning and 933.6 MB in the end (delta: 16.1 MB). Peak memory consumption was 16.1 MB. Max. memory is 11.5 GB. * Boogie Procedure Inliner took 17.28 ms. Allocated memory is still 1.0 GB. Free memory is still 933.6 MB. There was no memory consumed. Max. memory is 11.5 GB. * Boogie Preprocessor took 67.78 ms. Allocated memory was 1.0 GB in the beginning and 1.1 GB in the end (delta: 99.1 MB). Free memory was 933.6 MB in the beginning and 1.1 GB in the end (delta: -159.6 MB). Peak memory consumption was 21.1 MB. Max. memory is 11.5 GB. * RCFGBuilder took 688.66 ms. Allocated memory is still 1.1 GB. Free memory was 1.1 GB in the beginning and 1.1 GB in the end (delta: 31.9 MB). Peak memory consumption was 31.9 MB. Max. memory is 11.5 GB. * TraceAbstraction took 34956.73 ms. Allocated memory is still 1.1 GB. Free memory was 1.1 GB in the beginning and 928.8 MB in the end (delta: 132.5 MB). Peak memory consumption was 132.5 MB. Max. memory is 11.5 GB. * Witness Printer took 38.49 ms. Allocated memory is still 1.1 GB. Free memory is still 928.8 MB. There was no memory consumed. Max. memory is 11.5 GB. * Results from de.uni_freiburg.informatik.ultimate.boogie.preprocessor: - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hy~0_19,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hy~0_19,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hy~0_19,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hy~0_19,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hy~0_19,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hy~0_19,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hy~0_19,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hy~0_19,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hy~0_19,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hy~0_19,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hy~0_19,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hy~0_19,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hy~0_19,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hy~0_19,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hy~0_19,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hy~0_19,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hy~0_19,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hy~0_19,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hy~0_19,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hy~0_19,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hy~0_19,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hy~0_19,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hy~0_19,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hy~0_19,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hy~0_19,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hy~0_19,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hy~0_19,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hy~0_19,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hy~0_19,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hy~0_19,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hy~0_19,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hy~0_19,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hy~0_19,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hy~0_19,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hy~0_19,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hy~0_19,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hy~0_19,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hy~0_19,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hy~0_19,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hy~0_19,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hy~0_19,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hy~0_19,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hy~0_19,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hy~0_19,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hy~0_19,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hy~0_19,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hy~0_19,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hy~0_19,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hy~0_19,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hy~0_19,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hy~0_19,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hy~0_19,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hy~0_19,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hy~0_19,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hy~0_19,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hy~0_19,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hy~0_19,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hy~0_19,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hy~0_19,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hy~0_19,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hy~0_19,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hy~0_19,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hy~0_19,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hy~0_19,QUANTIFIED] * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - PositiveResult [Line: 123]: 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: 97]: Loop Invariant [2018-11-23 14:15:36,129 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hy~0_19,QUANTIFIED] [2018-11-23 14:15:36,129 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hy~0_19,QUANTIFIED] [2018-11-23 14:15:36,129 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hy~0_19,QUANTIFIED] [2018-11-23 14:15:36,129 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hy~0_19,QUANTIFIED] [2018-11-23 14:15:36,129 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hy~0_19,QUANTIFIED] [2018-11-23 14:15:36,130 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hy~0_19,QUANTIFIED] [2018-11-23 14:15:36,130 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hy~0_19,QUANTIFIED] [2018-11-23 14:15:36,130 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hy~0_19,QUANTIFIED] Derived loop invariant: (\exists v_fmod_float_~hy~0_19 : bv32 :: ~fp~LONGDOUBLE(v_fmod_float_~hy~0_19[31:31], v_fmod_float_~hy~0_19[30:23], v_fmod_float_~hy~0_19[22:0]) == \old(y) && !(~bvand32(2147483647bv32, v_fmod_float_~hy~0_19) == 0bv32)) && y == \old(y) - InvariantResult [Line: 82]: Loop Invariant [2018-11-23 14:15:36,130 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hy~0_19,QUANTIFIED] [2018-11-23 14:15:36,130 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hy~0_19,QUANTIFIED] [2018-11-23 14:15:36,130 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hy~0_19,QUANTIFIED] [2018-11-23 14:15:36,131 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hy~0_19,QUANTIFIED] [2018-11-23 14:15:36,131 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hy~0_19,QUANTIFIED] [2018-11-23 14:15:36,131 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hy~0_19,QUANTIFIED] [2018-11-23 14:15:36,131 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hy~0_19,QUANTIFIED] [2018-11-23 14:15:36,131 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hy~0_19,QUANTIFIED] Derived loop invariant: (\exists v_fmod_float_~hy~0_19 : bv32 :: ~fp~LONGDOUBLE(v_fmod_float_~hy~0_19[31:31], v_fmod_float_~hy~0_19[30:23], v_fmod_float_~hy~0_19[22:0]) == \old(y) && !(~bvand32(2147483647bv32, v_fmod_float_~hy~0_19) == 0bv32)) && y == \old(y) - InvariantResult [Line: 41]: Loop Invariant [2018-11-23 14:15:36,132 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hy~0_19,QUANTIFIED] [2018-11-23 14:15:36,132 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hy~0_19,QUANTIFIED] [2018-11-23 14:15:36,132 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hy~0_19,QUANTIFIED] [2018-11-23 14:15:36,132 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hy~0_19,QUANTIFIED] [2018-11-23 14:15:36,132 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hy~0_19,QUANTIFIED] [2018-11-23 14:15:36,132 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hy~0_19,QUANTIFIED] [2018-11-23 14:15:36,133 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hy~0_19,QUANTIFIED] [2018-11-23 14:15:36,133 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hy~0_19,QUANTIFIED] [2018-11-23 14:15:36,133 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hy~0_19,QUANTIFIED] [2018-11-23 14:15:36,133 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hy~0_19,QUANTIFIED] [2018-11-23 14:15:36,133 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hy~0_19,QUANTIFIED] [2018-11-23 14:15:36,133 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hy~0_19,QUANTIFIED] [2018-11-23 14:15:36,134 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hy~0_19,QUANTIFIED] [2018-11-23 14:15:36,134 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hy~0_19,QUANTIFIED] [2018-11-23 14:15:36,134 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hy~0_19,QUANTIFIED] [2018-11-23 14:15:36,134 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hy~0_19,QUANTIFIED] Derived loop invariant: ((\exists v_fmod_float_~hy~0_19 : bv32 :: ~fp~LONGDOUBLE(v_fmod_float_~hy~0_19[31:31], v_fmod_float_~hy~0_19[30:23], v_fmod_float_~hy~0_19[22:0]) == \old(y) && !(~bvand32(2147483647bv32, v_fmod_float_~hy~0_19) == 0bv32)) && y == \old(y)) && (\exists v_fmod_float_~hy~0_19 : bv32 :: ~fp~LONGDOUBLE(v_fmod_float_~hy~0_19[31:31], v_fmod_float_~hy~0_19[30:23], v_fmod_float_~hy~0_19[22:0]) == \old(y) && ~bvand32(2147483647bv32, v_fmod_float_~hy~0_19) == hy) - InvariantResult [Line: 88]: Loop Invariant [2018-11-23 14:15:36,134 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hy~0_19,QUANTIFIED] [2018-11-23 14:15:36,135 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hy~0_19,QUANTIFIED] [2018-11-23 14:15:36,135 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hy~0_19,QUANTIFIED] [2018-11-23 14:15:36,135 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hy~0_19,QUANTIFIED] [2018-11-23 14:15:36,135 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hy~0_19,QUANTIFIED] [2018-11-23 14:15:36,135 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hy~0_19,QUANTIFIED] [2018-11-23 14:15:36,135 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hy~0_19,QUANTIFIED] [2018-11-23 14:15:36,136 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hy~0_19,QUANTIFIED] Derived loop invariant: (\exists v_fmod_float_~hy~0_19 : bv32 :: ~fp~LONGDOUBLE(v_fmod_float_~hy~0_19[31:31], v_fmod_float_~hy~0_19[30:23], v_fmod_float_~hy~0_19[22:0]) == \old(y) && !(~bvand32(2147483647bv32, v_fmod_float_~hy~0_19) == 0bv32)) && y == \old(y) - InvariantResult [Line: 47]: Loop Invariant [2018-11-23 14:15:36,136 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hy~0_19,QUANTIFIED] [2018-11-23 14:15:36,136 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hy~0_19,QUANTIFIED] [2018-11-23 14:15:36,136 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hy~0_19,QUANTIFIED] [2018-11-23 14:15:36,137 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hy~0_19,QUANTIFIED] [2018-11-23 14:15:36,137 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hy~0_19,QUANTIFIED] [2018-11-23 14:15:36,137 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hy~0_19,QUANTIFIED] [2018-11-23 14:15:36,137 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hy~0_19,QUANTIFIED] [2018-11-23 14:15:36,137 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hy~0_19,QUANTIFIED] [2018-11-23 14:15:36,138 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hy~0_19,QUANTIFIED] [2018-11-23 14:15:36,138 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hy~0_19,QUANTIFIED] [2018-11-23 14:15:36,138 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hy~0_19,QUANTIFIED] [2018-11-23 14:15:36,138 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hy~0_19,QUANTIFIED] [2018-11-23 14:15:36,138 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hy~0_19,QUANTIFIED] [2018-11-23 14:15:36,138 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hy~0_19,QUANTIFIED] [2018-11-23 14:15:36,138 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hy~0_19,QUANTIFIED] [2018-11-23 14:15:36,139 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hy~0_19,QUANTIFIED] Derived loop invariant: ((\exists v_fmod_float_~hy~0_19 : bv32 :: ~fp~LONGDOUBLE(v_fmod_float_~hy~0_19[31:31], v_fmod_float_~hy~0_19[30:23], v_fmod_float_~hy~0_19[22:0]) == \old(y) && !(~bvand32(2147483647bv32, v_fmod_float_~hy~0_19) == 0bv32)) && y == \old(y)) && (\exists v_fmod_float_~hy~0_19 : bv32 :: ~fp~LONGDOUBLE(v_fmod_float_~hy~0_19[31:31], v_fmod_float_~hy~0_19[30:23], v_fmod_float_~hy~0_19[22:0]) == \old(y) && ~bvand32(2147483647bv32, v_fmod_float_~hy~0_19) == hy) - InvariantResult [Line: 65]: Loop Invariant [2018-11-23 14:15:36,139 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hy~0_19,QUANTIFIED] [2018-11-23 14:15:36,139 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hy~0_19,QUANTIFIED] [2018-11-23 14:15:36,139 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hy~0_19,QUANTIFIED] [2018-11-23 14:15:36,139 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hy~0_19,QUANTIFIED] [2018-11-23 14:15:36,140 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hy~0_19,QUANTIFIED] [2018-11-23 14:15:36,140 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hy~0_19,QUANTIFIED] [2018-11-23 14:15:36,140 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hy~0_19,QUANTIFIED] [2018-11-23 14:15:36,140 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hy~0_19,QUANTIFIED] Derived loop invariant: (\exists v_fmod_float_~hy~0_19 : bv32 :: ~fp~LONGDOUBLE(v_fmod_float_~hy~0_19[31:31], v_fmod_float_~hy~0_19[30:23], v_fmod_float_~hy~0_19[22:0]) == \old(y) && !(~bvand32(2147483647bv32, v_fmod_float_~hy~0_19) == 0bv32)) && y == \old(y) - InvariantResult [Line: 20]: Loop Invariant Derived loop invariant: y == \old(y) - StatisticsResult: Ultimate Automizer benchmark data CFG has 5 procedures, 54 locations, 1 error locations. SAFE Result, 34.8s OverallTime, 3 OverallIterations, 1 TraceHistogramMax, 20.6s AutomataDifference, 0.0s DeadEndRemovalTime, 1.0s HoareAnnotationTime, HoareTripleCheckerStatistics: 174 SDtfs, 148 SDslu, 487 SDs, 0 SdLazy, 97 SolverSat, 8 SolverUnsat, 0 SolverUnknown, 0 SolverNotchecked, 8.4s Time, PredicateUnifierStatistics: 0 DeclaredPredicates, 73 GetRequests, 53 SyntacticMatches, 0 SemanticMatches, 20 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 10 ImplicationChecksByTransitivity, 24.1s Time, 0.0s BasicInterpolantAutomatonTime, BiggestAbstraction: size=54occurred 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, 3 MinimizatonAttempts, 0 StatesRemovedByMinimization, 0 NontrivialMinimizations, HoareAnnotationStatistics: 0.0s HoareAnnotationTime, 15 LocationsWithAnnotation, 17 PreInvPairs, 25 NumberOfFragments, 187 HoareAnnotationTreeSize, 17 FomulaSimplifications, 0 FormulaSimplificationTreeSizeReduction, 0.0s HoareSimplificationTime, 15 FomulaSimplificationsInter, 0 FormulaSimplificationTreeSizeReductionInter, 1.0s HoareSimplificationTimeInter, RefinementEngineStatistics: TraceCheckStatistics: 0.0s SsaConstructionTime, 0.4s SatisfiabilityAnalysisTime, 12.5s InterpolantComputationTime, 68 NumberOfCodeBlocks, 68 NumberOfCodeBlocksAsserted, 3 NumberOfCheckSat, 65 ConstructedInterpolants, 8 QuantifiedInterpolants, 5614 SizeOfPredicates, 8 NumberOfNonLiveVariables, 232 ConjunctsInSsa, 18 ConjunctsInUnsatCore, 3 InterpolantComputations, 3 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...