./Ultimate.py --spec ../../sv-benchmarks/c/properties/unreach-call.prp --file ../../sv-benchmarks/c/float-newlib/float_req_bl_1122b_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_8e65445a-fefb-4bd6-b543-93b7f2f515fa/bin-2019/uautomizer/data/config -Xmx12G -Xms1G -jar /tmp/vcloud-vcloud-master/worker/working_dir_8e65445a-fefb-4bd6-b543-93b7f2f515fa/bin-2019/uautomizer/plugins/org.eclipse.equinox.launcher_1.3.100.v20150511-1540.jar -data @noDefault -ultimatedata /tmp/vcloud-vcloud-master/worker/working_dir_8e65445a-fefb-4bd6-b543-93b7f2f515fa/bin-2019/uautomizer/data -tc /tmp/vcloud-vcloud-master/worker/working_dir_8e65445a-fefb-4bd6-b543-93b7f2f515fa/bin-2019/uautomizer/config/AutomizerReach.xml -i ../../sv-benchmarks/c/float-newlib/float_req_bl_1122b_true-unreach-call.c -s /tmp/vcloud-vcloud-master/worker/working_dir_8e65445a-fefb-4bd6-b543-93b7f2f515fa/bin-2019/uautomizer/config/svcomp-Reach-32bit-Automizer_Default.epf --cacsl2boogietranslator.entry.function main --witnessprinter.witness.directory /tmp/vcloud-vcloud-master/worker/working_dir_8e65445a-fefb-4bd6-b543-93b7f2f515fa/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 966a39a7fc394dd5618380a7eca7745f36106277 .............................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................. 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_8e65445a-fefb-4bd6-b543-93b7f2f515fa/bin-2019/uautomizer/data/config -Xmx12G -Xms1G -jar /tmp/vcloud-vcloud-master/worker/working_dir_8e65445a-fefb-4bd6-b543-93b7f2f515fa/bin-2019/uautomizer/plugins/org.eclipse.equinox.launcher_1.3.100.v20150511-1540.jar -data @noDefault -ultimatedata /tmp/vcloud-vcloud-master/worker/working_dir_8e65445a-fefb-4bd6-b543-93b7f2f515fa/bin-2019/uautomizer/data -tc /tmp/vcloud-vcloud-master/worker/working_dir_8e65445a-fefb-4bd6-b543-93b7f2f515fa/bin-2019/uautomizer/config/AutomizerReach.xml -i ../../sv-benchmarks/c/float-newlib/float_req_bl_1122b_true-unreach-call.c -s /tmp/vcloud-vcloud-master/worker/working_dir_8e65445a-fefb-4bd6-b543-93b7f2f515fa/bin-2019/uautomizer/config/svcomp-Reach-32bit-Automizer_Bitvector.epf --cacsl2boogietranslator.entry.function main --witnessprinter.witness.directory /tmp/vcloud-vcloud-master/worker/working_dir_8e65445a-fefb-4bd6-b543-93b7f2f515fa/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 966a39a7fc394dd5618380a7eca7745f36106277 .................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................. 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 15:54:19,837 INFO L170 SettingsManager]: Resetting all preferences to default values... [2018-11-23 15:54:19,838 INFO L174 SettingsManager]: Resetting UltimateCore preferences to default values [2018-11-23 15:54:19,846 INFO L177 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2018-11-23 15:54:19,846 INFO L174 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2018-11-23 15:54:19,846 INFO L174 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2018-11-23 15:54:19,847 INFO L174 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2018-11-23 15:54:19,848 INFO L174 SettingsManager]: Resetting LassoRanker preferences to default values [2018-11-23 15:54:19,850 INFO L174 SettingsManager]: Resetting Reaching Definitions preferences to default values [2018-11-23 15:54:19,850 INFO L174 SettingsManager]: Resetting SyntaxChecker preferences to default values [2018-11-23 15:54:19,851 INFO L177 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2018-11-23 15:54:19,851 INFO L174 SettingsManager]: Resetting LTL2Aut preferences to default values [2018-11-23 15:54:19,852 INFO L174 SettingsManager]: Resetting PEA to Boogie preferences to default values [2018-11-23 15:54:19,853 INFO L174 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2018-11-23 15:54:19,853 INFO L174 SettingsManager]: Resetting ChcToBoogie preferences to default values [2018-11-23 15:54:19,854 INFO L174 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2018-11-23 15:54:19,855 INFO L174 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2018-11-23 15:54:19,856 INFO L174 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2018-11-23 15:54:19,857 INFO L174 SettingsManager]: Resetting CodeCheck preferences to default values [2018-11-23 15:54:19,859 INFO L174 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2018-11-23 15:54:19,859 INFO L174 SettingsManager]: Resetting RCFGBuilder preferences to default values [2018-11-23 15:54:19,860 INFO L174 SettingsManager]: Resetting TraceAbstraction preferences to default values [2018-11-23 15:54:19,862 INFO L177 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2018-11-23 15:54:19,862 INFO L177 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2018-11-23 15:54:19,862 INFO L174 SettingsManager]: Resetting TreeAutomizer preferences to default values [2018-11-23 15:54:19,863 INFO L174 SettingsManager]: Resetting IcfgTransformer preferences to default values [2018-11-23 15:54:19,864 INFO L174 SettingsManager]: Resetting Boogie Printer preferences to default values [2018-11-23 15:54:19,864 INFO L174 SettingsManager]: Resetting ReqPrinter preferences to default values [2018-11-23 15:54:19,865 INFO L174 SettingsManager]: Resetting Witness Printer preferences to default values [2018-11-23 15:54:19,866 INFO L177 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2018-11-23 15:54:19,866 INFO L174 SettingsManager]: Resetting CDTParser preferences to default values [2018-11-23 15:54:19,867 INFO L177 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2018-11-23 15:54:19,867 INFO L177 SettingsManager]: ReqParser provides no preferences, ignoring... [2018-11-23 15:54:19,867 INFO L174 SettingsManager]: Resetting SmtParser preferences to default values [2018-11-23 15:54:19,868 INFO L174 SettingsManager]: Resetting Witness Parser preferences to default values [2018-11-23 15:54:19,868 INFO L181 SettingsManager]: Finished resetting all preferences to default values... [2018-11-23 15:54:19,869 INFO L98 SettingsManager]: Beginning loading settings from /tmp/vcloud-vcloud-master/worker/working_dir_8e65445a-fefb-4bd6-b543-93b7f2f515fa/bin-2019/uautomizer/config/svcomp-Reach-32bit-Automizer_Default.epf [2018-11-23 15:54:19,880 INFO L110 SettingsManager]: Loading preferences was successful [2018-11-23 15:54:19,880 INFO L112 SettingsManager]: Preferences different from defaults after loading the file: [2018-11-23 15:54:19,881 INFO L131 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2018-11-23 15:54:19,881 INFO L133 SettingsManager]: * ... calls to implemented procedures=ONLY_FOR_CONCURRENT_PROGRAMS [2018-11-23 15:54:19,881 INFO L131 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2018-11-23 15:54:19,882 INFO L133 SettingsManager]: * Create parallel compositions if possible=false [2018-11-23 15:54:19,882 INFO L133 SettingsManager]: * Use SBE=true [2018-11-23 15:54:19,882 INFO L131 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2018-11-23 15:54:19,882 INFO L133 SettingsManager]: * sizeof long=4 [2018-11-23 15:54:19,882 INFO L133 SettingsManager]: * Overapproximate operations on floating types=true [2018-11-23 15:54:19,882 INFO L133 SettingsManager]: * sizeof POINTER=4 [2018-11-23 15:54:19,883 INFO L133 SettingsManager]: * Check division by zero=IGNORE [2018-11-23 15:54:19,883 INFO L133 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2018-11-23 15:54:19,883 INFO L133 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2018-11-23 15:54:19,883 INFO L133 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2018-11-23 15:54:19,883 INFO L133 SettingsManager]: * sizeof long double=12 [2018-11-23 15:54:19,883 INFO L133 SettingsManager]: * Check if freed pointer was valid=false [2018-11-23 15:54:19,884 INFO L133 SettingsManager]: * Use constant arrays=true [2018-11-23 15:54:19,884 INFO L133 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2018-11-23 15:54:19,884 INFO L131 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2018-11-23 15:54:19,884 INFO L133 SettingsManager]: * Size of a code block=SequenceOfStatements [2018-11-23 15:54:19,884 INFO L133 SettingsManager]: * To the following directory=./dump/ [2018-11-23 15:54:19,884 INFO L133 SettingsManager]: * SMT solver=External_DefaultMode [2018-11-23 15:54:19,885 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2018-11-23 15:54:19,885 INFO L131 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2018-11-23 15:54:19,885 INFO L133 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2018-11-23 15:54:19,885 INFO L133 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2018-11-23 15:54:19,885 INFO L133 SettingsManager]: * Trace refinement strategy=CAMEL [2018-11-23 15:54:19,885 INFO L133 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2018-11-23 15:54:19,886 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2018-11-23 15:54:19,886 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_8e65445a-fefb-4bd6-b543-93b7f2f515fa/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 -> 966a39a7fc394dd5618380a7eca7745f36106277 [2018-11-23 15:54:19,914 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2018-11-23 15:54:19,924 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2018-11-23 15:54:19,927 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2018-11-23 15:54:19,928 INFO L271 PluginConnector]: Initializing CDTParser... [2018-11-23 15:54:19,928 INFO L276 PluginConnector]: CDTParser initialized [2018-11-23 15:54:19,928 INFO L418 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /tmp/vcloud-vcloud-master/worker/working_dir_8e65445a-fefb-4bd6-b543-93b7f2f515fa/bin-2019/uautomizer/../../sv-benchmarks/c/float-newlib/float_req_bl_1122b_true-unreach-call.c [2018-11-23 15:54:19,973 INFO L221 CDTParser]: Created temporary CDT project at /tmp/vcloud-vcloud-master/worker/working_dir_8e65445a-fefb-4bd6-b543-93b7f2f515fa/bin-2019/uautomizer/data/5e327c4bf/8cec14a957324685b8362d0d531ca092/FLAGc2ace7fcf [2018-11-23 15:54:20,328 INFO L307 CDTParser]: Found 1 translation units. [2018-11-23 15:54:20,329 INFO L161 CDTParser]: Scanning /tmp/vcloud-vcloud-master/worker/working_dir_8e65445a-fefb-4bd6-b543-93b7f2f515fa/sv-benchmarks/c/float-newlib/float_req_bl_1122b_true-unreach-call.c [2018-11-23 15:54:20,335 INFO L355 CDTParser]: About to delete temporary CDT project at /tmp/vcloud-vcloud-master/worker/working_dir_8e65445a-fefb-4bd6-b543-93b7f2f515fa/bin-2019/uautomizer/data/5e327c4bf/8cec14a957324685b8362d0d531ca092/FLAGc2ace7fcf [2018-11-23 15:54:20,346 INFO L363 CDTParser]: Successfully deleted /tmp/vcloud-vcloud-master/worker/working_dir_8e65445a-fefb-4bd6-b543-93b7f2f515fa/bin-2019/uautomizer/data/5e327c4bf/8cec14a957324685b8362d0d531ca092 [2018-11-23 15:54:20,349 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2018-11-23 15:54:20,350 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2018-11-23 15:54:20,351 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2018-11-23 15:54:20,351 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2018-11-23 15:54:20,353 INFO L276 PluginConnector]: CACSL2BoogieTranslator initialized [2018-11-23 15:54:20,354 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 03:54:20" (1/1) ... [2018-11-23 15:54:20,357 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@58a31ddc and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 03:54:20, skipping insertion in model container [2018-11-23 15:54:20,357 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 03:54:20" (1/1) ... [2018-11-23 15:54:20,364 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2018-11-23 15:54:20,387 INFO L176 MainTranslator]: Built tables and reachable declarations [2018-11-23 15:54:20,527 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 15:54:20,530 INFO L191 MainTranslator]: Completed pre-run [2018-11-23 15:54:20,551 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 15:54:20,603 INFO L195 MainTranslator]: Completed translation [2018-11-23 15:54:20,603 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 03:54:20 WrapperNode [2018-11-23 15:54:20,604 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2018-11-23 15:54:20,604 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2018-11-23 15:54:20,604 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2018-11-23 15:54:20,604 INFO L276 PluginConnector]: Boogie Procedure Inliner initialized [2018-11-23 15:54:20,611 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 03:54:20" (1/1) ... [2018-11-23 15:54:20,620 INFO L185 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 03:54:20" (1/1) ... [2018-11-23 15:54:20,624 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2018-11-23 15:54:20,624 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2018-11-23 15:54:20,624 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2018-11-23 15:54:20,625 INFO L276 PluginConnector]: Boogie Preprocessor initialized [2018-11-23 15:54:20,630 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 03:54:20" (1/1) ... [2018-11-23 15:54:20,631 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 03:54:20" (1/1) ... [2018-11-23 15:54:20,633 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 03:54:20" (1/1) ... [2018-11-23 15:54:20,633 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 03:54:20" (1/1) ... [2018-11-23 15:54:20,642 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 03:54:20" (1/1) ... [2018-11-23 15:54:20,649 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 03:54:20" (1/1) ... [2018-11-23 15:54:20,650 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 03:54:20" (1/1) ... [2018-11-23 15:54:20,653 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2018-11-23 15:54:20,653 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2018-11-23 15:54:20,653 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2018-11-23 15:54:20,653 INFO L276 PluginConnector]: RCFGBuilder initialized [2018-11-23 15:54:20,654 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 03:54:20" (1/1) ... No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_8e65445a-fefb-4bd6-b543-93b7f2f515fa/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 15:54:20,690 INFO L130 BoogieDeclarations]: Found specification of procedure main [2018-11-23 15:54:20,691 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2018-11-23 15:54:20,691 INFO L130 BoogieDeclarations]: Found specification of procedure isnan_float [2018-11-23 15:54:20,691 INFO L138 BoogieDeclarations]: Found implementation of procedure isnan_float [2018-11-23 15:54:20,691 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2018-11-23 15:54:20,691 INFO L130 BoogieDeclarations]: Found specification of procedure read~real [2018-11-23 15:54:20,691 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2018-11-23 15:54:20,691 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2018-11-23 15:54:20,691 INFO L130 BoogieDeclarations]: Found specification of procedure write~real [2018-11-23 15:54:20,692 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.alloc [2018-11-23 15:54:20,692 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2018-11-23 15:54:20,692 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2018-11-23 15:54:20,692 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2018-11-23 15:54:20,692 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~real [2018-11-23 15:54:20,692 INFO L130 BoogieDeclarations]: Found specification of procedure fmod_float [2018-11-23 15:54:20,692 INFO L138 BoogieDeclarations]: Found implementation of procedure fmod_float [2018-11-23 15:54:20,692 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2018-11-23 15:54:20,982 INFO L275 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2018-11-23 15:54:20,982 INFO L280 CfgBuilder]: Removed 12 assue(true) statements. [2018-11-23 15:54:20,982 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 03:54:20 BoogieIcfgContainer [2018-11-23 15:54:20,982 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2018-11-23 15:54:20,983 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2018-11-23 15:54:20,983 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2018-11-23 15:54:20,984 INFO L276 PluginConnector]: TraceAbstraction initialized [2018-11-23 15:54:20,985 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 23.11 03:54:20" (1/3) ... [2018-11-23 15:54:20,985 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@317011cc and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 23.11 03:54:20, skipping insertion in model container [2018-11-23 15:54:20,985 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 03:54:20" (2/3) ... [2018-11-23 15:54:20,985 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@317011cc and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 23.11 03:54:20, skipping insertion in model container [2018-11-23 15:54:20,985 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 03:54:20" (3/3) ... [2018-11-23 15:54:20,986 INFO L112 eAbstractionObserver]: Analyzing ICFG float_req_bl_1122b_true-unreach-call.c [2018-11-23 15:54:20,992 INFO L156 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2018-11-23 15:54:20,997 INFO L168 ceAbstractionStarter]: Appying trace abstraction to program that has 1 error locations. [2018-11-23 15:54:21,006 INFO L257 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2018-11-23 15:54:21,024 INFO L133 ementStrategyFactory]: Using default assertion order modulation [2018-11-23 15:54:21,025 INFO L382 AbstractCegarLoop]: Interprodecural is true [2018-11-23 15:54:21,025 INFO L383 AbstractCegarLoop]: Hoare is true [2018-11-23 15:54:21,025 INFO L384 AbstractCegarLoop]: Compute interpolants for FPandBP [2018-11-23 15:54:21,025 INFO L385 AbstractCegarLoop]: Backedges is STRAIGHT_LINE [2018-11-23 15:54:21,025 INFO L386 AbstractCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2018-11-23 15:54:21,025 INFO L387 AbstractCegarLoop]: Difference is false [2018-11-23 15:54:21,025 INFO L388 AbstractCegarLoop]: Minimize is MINIMIZE_SEVPA [2018-11-23 15:54:21,025 INFO L393 AbstractCegarLoop]: ======== Iteration 0==of CEGAR loop == AllErrorsAtOnce======== [2018-11-23 15:54:21,036 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states. [2018-11-23 15:54:21,041 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 23 [2018-11-23 15:54:21,041 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 15:54:21,042 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 15:54:21,044 INFO L423 AbstractCegarLoop]: === Iteration 1 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 15:54:21,049 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 15:54:21,049 INFO L82 PathProgramCache]: Analyzing trace with hash -348005672, now seen corresponding path program 1 times [2018-11-23 15:54:21,051 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 15:54:21,051 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 15:54:21,084 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 15:54:21,084 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 15:54:21,084 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 15:54:21,116 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 15:54:21,144 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 15:54:21,146 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 15:54:21,146 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2018-11-23 15:54:21,148 INFO L459 AbstractCegarLoop]: Interpolant automaton has 2 states [2018-11-23 15:54:21,157 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 2 interpolants. [2018-11-23 15:54:21,157 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2018-11-23 15:54:21,158 INFO L87 Difference]: Start difference. First operand 55 states. Second operand 2 states. [2018-11-23 15:54:21,174 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 15:54:21,174 INFO L93 Difference]: Finished difference Result 102 states and 158 transitions. [2018-11-23 15:54:21,174 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2018-11-23 15:54:21,175 INFO L78 Accepts]: Start accepts. Automaton has 2 states. Word has length 22 [2018-11-23 15:54:21,175 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 15:54:21,181 INFO L225 Difference]: With dead ends: 102 [2018-11-23 15:54:21,182 INFO L226 Difference]: Without dead ends: 51 [2018-11-23 15:54:21,184 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 15:54:21,198 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 51 states. [2018-11-23 15:54:21,209 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 51 to 51. [2018-11-23 15:54:21,210 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 51 states. [2018-11-23 15:54:21,211 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 51 states to 51 states and 66 transitions. [2018-11-23 15:54:21,212 INFO L78 Accepts]: Start accepts. Automaton has 51 states and 66 transitions. Word has length 22 [2018-11-23 15:54:21,212 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 15:54:21,212 INFO L480 AbstractCegarLoop]: Abstraction has 51 states and 66 transitions. [2018-11-23 15:54:21,212 INFO L481 AbstractCegarLoop]: Interpolant automaton has 2 states. [2018-11-23 15:54:21,212 INFO L276 IsEmpty]: Start isEmpty. Operand 51 states and 66 transitions. [2018-11-23 15:54:21,213 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 25 [2018-11-23 15:54:21,213 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 15:54:21,213 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 15:54:21,213 INFO L423 AbstractCegarLoop]: === Iteration 2 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 15:54:21,214 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 15:54:21,214 INFO L82 PathProgramCache]: Analyzing trace with hash 1100584309, now seen corresponding path program 1 times [2018-11-23 15:54:21,214 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 15:54:21,214 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 15:54:21,215 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 15:54:21,215 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 15:54:21,215 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 15:54:21,253 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 15:54:21,273 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 15:54:21,290 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)|=6442450958.0, |~#Zero_fmod~0.base|=6442450955, |~#Zero_fmod~0.offset|=6442450952, ~one_fmod~0=6442450958.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)|=6442450958.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)|=6442450958.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 := ~someBinaryArithmeticFLOAToperation(~someUnaryFLOAToperation(1.0), 0.0);~y~0 := #t~nondet12;havoc #t~nondet12; VAL [main_~y~0=6442450956.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|=6442450956.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=6442450956.0, |#NULL.base|=0, |#NULL.offset|=0, |fmod_float_#in~x|=6442450949.0, |fmod_float_#in~y|=6442450956.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=6442450956.0, |#NULL.base|=0, |#NULL.offset|=0, |fmod_float_#in~x|=6442450949.0, |fmod_float_#in~y|=6442450956.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=6442450956.0, |#NULL.base|=0, |#NULL.offset|=0, |fmod_float_#in~x|=6442450949.0, |fmod_float_#in~y|=6442450956.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=6442450956.0, |#NULL.base|=0, |#NULL.offset|=0, |fmod_float_#in~x|=6442450949.0, |fmod_float_#in~y|=6442450956.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=6442450956.0, |#NULL.base|=0, |#NULL.offset|=0, |fmod_float_#in~x|=6442450949.0, |fmod_float_#in~y|=6442450956.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=6442450956.0, |#NULL.base|=0, |#NULL.offset|=0, |fmod_float_#in~x|=6442450949.0, |fmod_float_#in~y|=6442450956.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=6442450956.0, |#NULL.base|=0, |#NULL.offset|=0, |fmod_float_#in~x|=6442450949.0, |fmod_float_#in~y|=6442450956.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=6442450956.0, |#NULL.base|=0, |#NULL.offset|=0, |fmod_float_#in~x|=6442450949.0, |fmod_float_#in~y|=6442450956.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=6442450956.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=6442450956.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=6442450956.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=6442450956.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=6442450956.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=6442450956.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.442450958E9, ~#Zero_fmod~0.base=6442450955, ~#Zero_fmod~0.offset=6442450952, ~one_fmod~0=6.442450958E9] [?] #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.442450958E9, ~#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.442450958E9, ~#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] [L117] ~x~0 := ~someBinaryArithmeticFLOAToperation(~someUnaryFLOAToperation(1.0), 0.0); [L118] ~y~0 := #t~nondet12; [L118] havoc #t~nondet12; VAL [#NULL.base=0, #NULL.offset=0, ~#Zero_fmod~0.base=6442450954, ~#Zero_fmod~0.offset=0, ~one_fmod~0=1.0, ~y~0=6.442450956E9] [L119] CALL call #t~ret13 := fmod_float(~x~0, ~y~0); VAL [#in~x=6.442450949E9, #in~y=6.442450956E9, #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=6.442450956E9, #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=6.442450956E9] [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=6.442450956E9, #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=6.442450956E9] [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=6.442450956E9, #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=6.442450956E9] [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=6.442450956E9, #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=6.442450956E9] [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=6.442450956E9, #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=6.442450956E9] [L17-L105] ensures true; VAL [#in~x=6.442450949E9, #in~y=6.442450956E9, #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=6.442450956E9] [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=6.442450956E9] [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=6.442450956E9] [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=6.442450956E9] [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=6.442450956E9] [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=6.442450956E9] [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=6.442450956E9] ----- ----- 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.442450958E9, ~#Zero_fmod~0.base=6442450955, ~#Zero_fmod~0.offset=6442450952, ~one_fmod~0=6.442450958E9] [?] #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.442450958E9, ~#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.442450958E9, ~#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] [L117] ~x~0 := ~someBinaryArithmeticFLOAToperation(~someUnaryFLOAToperation(1.0), 0.0); [L118] ~y~0 := #t~nondet12; [L118] havoc #t~nondet12; VAL [#NULL.base=0, #NULL.offset=0, ~#Zero_fmod~0.base=6442450954, ~#Zero_fmod~0.offset=0, ~one_fmod~0=1.0, ~y~0=6.442450956E9] [L119] CALL call #t~ret13 := fmod_float(~x~0, ~y~0); VAL [#in~x=6.442450949E9, #in~y=6.442450956E9, #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=6.442450956E9, #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=6.442450956E9] [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=6.442450956E9, #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=6.442450956E9] [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=6.442450956E9, #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=6.442450956E9] [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=6.442450956E9, #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=6.442450956E9] [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=6.442450956E9, #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=6.442450956E9] [L17-L105] ensures true; VAL [#in~x=6.442450949E9, #in~y=6.442450956E9, #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=6.442450956E9] [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=6.442450956E9] [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=6.442450956E9] [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=6.442450956E9] [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=6.442450956E9] [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=6.442450956E9] [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=6.442450956E9] [?] 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.442450958E9, ~#Zero_fmod~0!base=6442450955, ~#Zero_fmod~0!offset=6442450952, ~one_fmod~0=6.442450958E9] [?] #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.442450958E9, ~#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] [L117] ~x~0 := ~someBinaryArithmeticFLOAToperation(~someUnaryFLOAToperation(1.0), 0.0); [L118] ~y~0 := #t~nondet12; [L118] havoc #t~nondet12; VAL [#NULL!base=0, #NULL!offset=0, ~#Zero_fmod~0!base=6442450954, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0, ~y~0=6.442450956E9] [L119] CALL call #t~ret13 := fmod_float(~x~0, ~y~0); VAL [#in~x=6.442450949E9, #in~y=6.442450956E9, #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=6.442450956E9, #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=6.442450956E9] [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=6.442450956E9, #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=6.442450956E9] [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=6.442450956E9, #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=6.442450956E9] [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=6.442450956E9, #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=6.442450956E9] [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=6.442450956E9, #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=6.442450956E9] [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=6.442450956E9] [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=6.442450956E9] [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=6.442450956E9] [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=6.442450956E9] [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=6.442450956E9] [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=6.442450956E9] ----- ----- 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.442450958E9, ~#Zero_fmod~0!base=6442450955, ~#Zero_fmod~0!offset=6442450952, ~one_fmod~0=6.442450958E9] [?] #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.442450958E9, ~#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] [L117] ~x~0 := ~someBinaryArithmeticFLOAToperation(~someUnaryFLOAToperation(1.0), 0.0); [L118] ~y~0 := #t~nondet12; [L118] havoc #t~nondet12; VAL [#NULL!base=0, #NULL!offset=0, ~#Zero_fmod~0!base=6442450954, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0, ~y~0=6.442450956E9] [L119] CALL call #t~ret13 := fmod_float(~x~0, ~y~0); VAL [#in~x=6.442450949E9, #in~y=6.442450956E9, #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=6.442450956E9, #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=6.442450956E9] [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=6.442450956E9, #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=6.442450956E9] [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=6.442450956E9, #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=6.442450956E9] [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=6.442450956E9, #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=6.442450956E9] [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=6.442450956E9, #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=6.442450956E9] [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=6.442450956E9] [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=6.442450956E9] [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=6.442450956E9] [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=6.442450956E9] [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=6.442450956E9] [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=6.442450956E9] [?] 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.442450958E9, ~#Zero_fmod~0!base=6442450955, ~#Zero_fmod~0!offset=6442450952, ~one_fmod~0=6.442450958E9] [?] #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.442450958E9, ~#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] [L117] ~x~0 := ~someBinaryArithmeticFLOAToperation(~someUnaryFLOAToperation(1.0), 0.0); [L118] ~y~0 := #t~nondet12; [L118] havoc #t~nondet12; VAL [#NULL!base=0, #NULL!offset=0, ~#Zero_fmod~0!base=6442450954, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0, ~y~0=6.442450956E9] [L119] CALL call #t~ret13 := fmod_float(~x~0, ~y~0); VAL [#in~x=6.442450949E9, #in~y=6.442450956E9, #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=6.442450956E9, #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=6.442450956E9] [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=6.442450956E9, #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=6.442450956E9] [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=6.442450956E9, #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=6.442450956E9] [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=6.442450956E9, #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=6.442450956E9] [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=6.442450956E9, #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=6.442450956E9] [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=6.442450956E9] [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=6.442450956E9] [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=6.442450956E9] [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=6.442450956E9] [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=6.442450956E9] [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=6.442450956E9] ----- ----- 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.442450958E9, ~#Zero_fmod~0!base=6442450955, ~#Zero_fmod~0!offset=6442450952, ~one_fmod~0=6.442450958E9] [?] #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.442450958E9, ~#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] [L117] ~x~0 := ~someBinaryArithmeticFLOAToperation(~someUnaryFLOAToperation(1.0), 0.0); [L118] ~y~0 := #t~nondet12; [L118] havoc #t~nondet12; VAL [#NULL!base=0, #NULL!offset=0, ~#Zero_fmod~0!base=6442450954, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0, ~y~0=6.442450956E9] [L119] CALL call #t~ret13 := fmod_float(~x~0, ~y~0); VAL [#in~x=6.442450949E9, #in~y=6.442450956E9, #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=6.442450956E9, #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=6.442450956E9] [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=6.442450956E9, #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=6.442450956E9] [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=6.442450956E9, #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=6.442450956E9] [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=6.442450956E9, #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=6.442450956E9] [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=6.442450956E9, #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=6.442450956E9] [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=6.442450956E9] [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=6.442450956E9] [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=6.442450956E9] [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=6.442450956E9] [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=6.442450956E9] [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=6.442450956E9] [L12-L15] static const float one_fmod = 1.0, Zero_fmod[] = { 0.0, -0.0, }; VAL [\old(one_fmod)=6442450958, \old(Zero_fmod)=6442450955, \old(Zero_fmod)=6442450952, one_fmod=1, Zero_fmod={6442450954:0}] [L117] float x = -1.0f / 0.0f; [L118] float y = __VERIFIER_nondet_float(); [L119] CALL, EXPR fmod_float(x, y) VAL [\old(x)=6442450949, \old(y)=6442450956, one_fmod=1, Zero_fmod={6442450954:0}] [L18] __int32_t n, hx, hy, hz, ix, iy, sx, i; VAL [\old(x)=6442450949, \old(y)=6442450956, one_fmod=1, x=6442450949, y=6442450956, 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)=6442450956, one_fmod=1, sx=-1, x=6442450949, y=6442450956, 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)=6442450956, hx=2139095040, hy=2139095041, one_fmod=1, sx=-1, x=6442450949, y=6442450956, Zero_fmod={6442450954:0}] [L119] RET, EXPR fmod_float(x, y) VAL [fmod_float(x, y)=6442450948, one_fmod=1, x=6442450949, y=6442450956, 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=6442450956, Zero_fmod={6442450954:0}] [L122] COND TRUE !isnan_float(res) [L123] __VERIFIER_error() VAL [one_fmod=1, res=6442450948, x=6442450949, y=6442450956, Zero_fmod={6442450954:0}] ----- [2018-11-23 15:54:21,331 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 23.11 03:54:21 BoogieIcfgContainer [2018-11-23 15:54:21,331 INFO L132 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2018-11-23 15:54:21,331 INFO L113 PluginConnector]: ------------------------Witness Printer---------------------------- [2018-11-23 15:54:21,331 INFO L271 PluginConnector]: Initializing Witness Printer... [2018-11-23 15:54:21,331 INFO L276 PluginConnector]: Witness Printer initialized [2018-11-23 15:54:21,332 INFO L185 PluginConnector]: Executing the observer RCFGCatcher from plugin Witness Printer for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 03:54:20" (3/4) ... [2018-11-23 15:54:21,335 INFO L147 WitnessPrinter]: No result that supports witness generation found [2018-11-23 15:54:21,336 INFO L132 PluginConnector]: ------------------------ END Witness Printer---------------------------- [2018-11-23 15:54:21,336 INFO L168 Benchmark]: Toolchain (without parser) took 987.00 ms. Allocated memory was 1.0 GB in the beginning and 1.1 GB in the end (delta: 117.4 MB). Free memory was 960.2 MB in the beginning and 1.0 GB in the end (delta: -82.5 MB). Peak memory consumption was 34.9 MB. Max. memory is 11.5 GB. [2018-11-23 15:54:21,338 INFO L168 Benchmark]: CDTParser took 0.13 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 15:54:21,338 INFO L168 Benchmark]: CACSL2BoogieTranslator took 253.24 ms. Allocated memory was 1.0 GB in the beginning and 1.1 GB in the end (delta: 117.4 MB). Free memory was 960.2 MB in the beginning and 1.1 GB in the end (delta: -154.9 MB). Peak memory consumption was 28.0 MB. Max. memory is 11.5 GB. [2018-11-23 15:54:21,338 INFO L168 Benchmark]: Boogie Procedure Inliner took 20.04 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: 3.5 MB). Peak memory consumption was 3.5 MB. Max. memory is 11.5 GB. [2018-11-23 15:54:21,339 INFO L168 Benchmark]: Boogie Preprocessor took 28.32 ms. Allocated memory is still 1.1 GB. Free memory was 1.1 GB in the beginning and 1.1 GB in the end (delta: 3.5 MB). Peak memory consumption was 3.5 MB. Max. memory is 11.5 GB. [2018-11-23 15:54:21,339 INFO L168 Benchmark]: RCFGBuilder took 329.26 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: 34.0 MB). Peak memory consumption was 34.0 MB. Max. memory is 11.5 GB. [2018-11-23 15:54:21,340 INFO L168 Benchmark]: TraceAbstraction took 348.31 ms. Allocated memory is still 1.1 GB. Free memory was 1.1 GB in the beginning and 1.0 GB in the end (delta: 31.4 MB). Peak memory consumption was 31.4 MB. Max. memory is 11.5 GB. [2018-11-23 15:54:21,340 INFO L168 Benchmark]: Witness Printer took 4.48 ms. Allocated memory is still 1.1 GB. Free memory is still 1.0 GB. There was no memory consumed. Max. memory is 11.5 GB. [2018-11-23 15:54:21,343 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.13 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 253.24 ms. Allocated memory was 1.0 GB in the beginning and 1.1 GB in the end (delta: 117.4 MB). Free memory was 960.2 MB in the beginning and 1.1 GB in the end (delta: -154.9 MB). Peak memory consumption was 28.0 MB. Max. memory is 11.5 GB. * Boogie Procedure Inliner took 20.04 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: 3.5 MB). Peak memory consumption was 3.5 MB. Max. memory is 11.5 GB. * Boogie Preprocessor took 28.32 ms. Allocated memory is still 1.1 GB. Free memory was 1.1 GB in the beginning and 1.1 GB in the end (delta: 3.5 MB). Peak memory consumption was 3.5 MB. Max. memory is 11.5 GB. * RCFGBuilder took 329.26 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: 34.0 MB). Peak memory consumption was 34.0 MB. Max. memory is 11.5 GB. * TraceAbstraction took 348.31 ms. Allocated memory is still 1.1 GB. Free memory was 1.1 GB in the beginning and 1.0 GB in the end (delta: 31.4 MB). Peak memory consumption was 31.4 MB. Max. memory is 11.5 GB. * Witness Printer took 4.48 ms. Allocated memory is still 1.1 GB. Free memory is still 1.0 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 someBinaryArithmeticFLOAToperation at line 35, overapproximation of bitwiseXor at line 31. Possible FailurePath: [L12-L15] static const float one_fmod = 1.0, Zero_fmod[] = { 0.0, -0.0, }; VAL [\old(one_fmod)=6442450958, \old(Zero_fmod)=6442450955, \old(Zero_fmod)=6442450952, one_fmod=1, Zero_fmod={6442450954:0}] [L117] float x = -1.0f / 0.0f; [L118] float y = __VERIFIER_nondet_float(); [L119] CALL, EXPR fmod_float(x, y) VAL [\old(x)=6442450949, \old(y)=6442450956, one_fmod=1, Zero_fmod={6442450954:0}] [L18] __int32_t n, hx, hy, hz, ix, iy, sx, i; VAL [\old(x)=6442450949, \old(y)=6442450956, one_fmod=1, x=6442450949, y=6442450956, 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)=6442450956, one_fmod=1, sx=-1, x=6442450949, y=6442450956, 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)=6442450956, hx=2139095040, hy=2139095041, one_fmod=1, sx=-1, x=6442450949, y=6442450956, Zero_fmod={6442450954:0}] [L119] RET, EXPR fmod_float(x, y) VAL [fmod_float(x, y)=6442450948, one_fmod=1, x=6442450949, y=6442450956, 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=6442450956, Zero_fmod={6442450954:0}] [L122] COND TRUE !isnan_float(res) [L123] __VERIFIER_error() VAL [one_fmod=1, res=6442450948, x=6442450949, y=6442450956, 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 15:54:22,799 INFO L170 SettingsManager]: Resetting all preferences to default values... [2018-11-23 15:54:22,800 INFO L174 SettingsManager]: Resetting UltimateCore preferences to default values [2018-11-23 15:54:22,808 INFO L177 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2018-11-23 15:54:22,809 INFO L174 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2018-11-23 15:54:22,809 INFO L174 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2018-11-23 15:54:22,810 INFO L174 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2018-11-23 15:54:22,811 INFO L174 SettingsManager]: Resetting LassoRanker preferences to default values [2018-11-23 15:54:22,813 INFO L174 SettingsManager]: Resetting Reaching Definitions preferences to default values [2018-11-23 15:54:22,813 INFO L174 SettingsManager]: Resetting SyntaxChecker preferences to default values [2018-11-23 15:54:22,815 INFO L177 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2018-11-23 15:54:22,815 INFO L174 SettingsManager]: Resetting LTL2Aut preferences to default values [2018-11-23 15:54:22,816 INFO L174 SettingsManager]: Resetting PEA to Boogie preferences to default values [2018-11-23 15:54:22,816 INFO L174 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2018-11-23 15:54:22,817 INFO L174 SettingsManager]: Resetting ChcToBoogie preferences to default values [2018-11-23 15:54:22,818 INFO L174 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2018-11-23 15:54:22,818 INFO L174 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2018-11-23 15:54:22,819 INFO L174 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2018-11-23 15:54:22,821 INFO L174 SettingsManager]: Resetting CodeCheck preferences to default values [2018-11-23 15:54:22,822 INFO L174 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2018-11-23 15:54:22,822 INFO L174 SettingsManager]: Resetting RCFGBuilder preferences to default values [2018-11-23 15:54:22,823 INFO L174 SettingsManager]: Resetting TraceAbstraction preferences to default values [2018-11-23 15:54:22,825 INFO L177 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2018-11-23 15:54:22,825 INFO L177 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2018-11-23 15:54:22,825 INFO L174 SettingsManager]: Resetting TreeAutomizer preferences to default values [2018-11-23 15:54:22,826 INFO L174 SettingsManager]: Resetting IcfgTransformer preferences to default values [2018-11-23 15:54:22,826 INFO L174 SettingsManager]: Resetting Boogie Printer preferences to default values [2018-11-23 15:54:22,827 INFO L174 SettingsManager]: Resetting ReqPrinter preferences to default values [2018-11-23 15:54:22,827 INFO L174 SettingsManager]: Resetting Witness Printer preferences to default values [2018-11-23 15:54:22,828 INFO L177 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2018-11-23 15:54:22,828 INFO L174 SettingsManager]: Resetting CDTParser preferences to default values [2018-11-23 15:54:22,829 INFO L177 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2018-11-23 15:54:22,829 INFO L177 SettingsManager]: ReqParser provides no preferences, ignoring... [2018-11-23 15:54:22,829 INFO L174 SettingsManager]: Resetting SmtParser preferences to default values [2018-11-23 15:54:22,830 INFO L174 SettingsManager]: Resetting Witness Parser preferences to default values [2018-11-23 15:54:22,830 INFO L181 SettingsManager]: Finished resetting all preferences to default values... [2018-11-23 15:54:22,830 INFO L98 SettingsManager]: Beginning loading settings from /tmp/vcloud-vcloud-master/worker/working_dir_8e65445a-fefb-4bd6-b543-93b7f2f515fa/bin-2019/uautomizer/config/svcomp-Reach-32bit-Automizer_Bitvector.epf [2018-11-23 15:54:22,840 INFO L110 SettingsManager]: Loading preferences was successful [2018-11-23 15:54:22,840 INFO L112 SettingsManager]: Preferences different from defaults after loading the file: [2018-11-23 15:54:22,841 INFO L131 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2018-11-23 15:54:22,841 INFO L133 SettingsManager]: * ... calls to implemented procedures=ONLY_FOR_CONCURRENT_PROGRAMS [2018-11-23 15:54:22,842 INFO L131 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2018-11-23 15:54:22,842 INFO L133 SettingsManager]: * Create parallel compositions if possible=false [2018-11-23 15:54:22,842 INFO L133 SettingsManager]: * Use SBE=true [2018-11-23 15:54:22,842 INFO L131 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2018-11-23 15:54:22,842 INFO L133 SettingsManager]: * sizeof long=4 [2018-11-23 15:54:22,842 INFO L133 SettingsManager]: * sizeof POINTER=4 [2018-11-23 15:54:22,842 INFO L133 SettingsManager]: * Check division by zero=IGNORE [2018-11-23 15:54:22,843 INFO L133 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2018-11-23 15:54:22,843 INFO L133 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2018-11-23 15:54:22,843 INFO L133 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2018-11-23 15:54:22,843 INFO L133 SettingsManager]: * Use bitvectors instead of ints=true [2018-11-23 15:54:22,843 INFO L133 SettingsManager]: * Memory model=HoenickeLindenmann_4ByteResolution [2018-11-23 15:54:22,843 INFO L133 SettingsManager]: * sizeof long double=12 [2018-11-23 15:54:22,843 INFO L133 SettingsManager]: * Check if freed pointer was valid=false [2018-11-23 15:54:22,843 INFO L133 SettingsManager]: * Use constant arrays=true [2018-11-23 15:54:22,844 INFO L133 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2018-11-23 15:54:22,844 INFO L131 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2018-11-23 15:54:22,844 INFO L133 SettingsManager]: * Size of a code block=SequenceOfStatements [2018-11-23 15:54:22,844 INFO L133 SettingsManager]: * To the following directory=./dump/ [2018-11-23 15:54:22,844 INFO L133 SettingsManager]: * SMT solver=External_DefaultMode [2018-11-23 15:54:22,844 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2018-11-23 15:54:22,844 INFO L131 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2018-11-23 15:54:22,844 INFO L133 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2018-11-23 15:54:22,845 INFO L133 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2018-11-23 15:54:22,845 INFO L133 SettingsManager]: * Trace refinement strategy=WOLF [2018-11-23 15:54:22,845 INFO L133 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2018-11-23 15:54:22,845 INFO L133 SettingsManager]: * Command for external solver=cvc4nyu --tear-down-incremental --rewrite-divk --print-success --lang smt [2018-11-23 15:54:22,845 INFO L133 SettingsManager]: * Logic for external solver=AUFBV [2018-11-23 15:54:22,845 INFO L133 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true Applying setting for plugin de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator: Entry function -> main Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Witness directory -> /tmp/vcloud-vcloud-master/worker/working_dir_8e65445a-fefb-4bd6-b543-93b7f2f515fa/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 -> 966a39a7fc394dd5618380a7eca7745f36106277 [2018-11-23 15:54:22,877 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2018-11-23 15:54:22,887 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2018-11-23 15:54:22,890 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2018-11-23 15:54:22,891 INFO L271 PluginConnector]: Initializing CDTParser... [2018-11-23 15:54:22,892 INFO L276 PluginConnector]: CDTParser initialized [2018-11-23 15:54:22,892 INFO L418 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /tmp/vcloud-vcloud-master/worker/working_dir_8e65445a-fefb-4bd6-b543-93b7f2f515fa/bin-2019/uautomizer/../../sv-benchmarks/c/float-newlib/float_req_bl_1122b_true-unreach-call.c [2018-11-23 15:54:22,942 INFO L221 CDTParser]: Created temporary CDT project at /tmp/vcloud-vcloud-master/worker/working_dir_8e65445a-fefb-4bd6-b543-93b7f2f515fa/bin-2019/uautomizer/data/8c4bcbc2e/ec674167b5cc4a2aaef5d4c6332bf139/FLAGcf306ffee [2018-11-23 15:54:23,267 INFO L307 CDTParser]: Found 1 translation units. [2018-11-23 15:54:23,268 INFO L161 CDTParser]: Scanning /tmp/vcloud-vcloud-master/worker/working_dir_8e65445a-fefb-4bd6-b543-93b7f2f515fa/sv-benchmarks/c/float-newlib/float_req_bl_1122b_true-unreach-call.c [2018-11-23 15:54:23,274 INFO L355 CDTParser]: About to delete temporary CDT project at /tmp/vcloud-vcloud-master/worker/working_dir_8e65445a-fefb-4bd6-b543-93b7f2f515fa/bin-2019/uautomizer/data/8c4bcbc2e/ec674167b5cc4a2aaef5d4c6332bf139/FLAGcf306ffee [2018-11-23 15:54:23,696 INFO L363 CDTParser]: Successfully deleted /tmp/vcloud-vcloud-master/worker/working_dir_8e65445a-fefb-4bd6-b543-93b7f2f515fa/bin-2019/uautomizer/data/8c4bcbc2e/ec674167b5cc4a2aaef5d4c6332bf139 [2018-11-23 15:54:23,698 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2018-11-23 15:54:23,699 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2018-11-23 15:54:23,700 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2018-11-23 15:54:23,700 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2018-11-23 15:54:23,702 INFO L276 PluginConnector]: CACSL2BoogieTranslator initialized [2018-11-23 15:54:23,703 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 03:54:23" (1/1) ... [2018-11-23 15:54:23,705 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@5cd7030e and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 03:54:23, skipping insertion in model container [2018-11-23 15:54:23,705 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 03:54:23" (1/1) ... [2018-11-23 15:54:23,710 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2018-11-23 15:54:23,727 INFO L176 MainTranslator]: Built tables and reachable declarations [2018-11-23 15:54:23,892 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 15:54:23,897 INFO L191 MainTranslator]: Completed pre-run [2018-11-23 15:54:23,926 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 15:54:23,945 INFO L195 MainTranslator]: Completed translation [2018-11-23 15:54:23,945 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 03:54:23 WrapperNode [2018-11-23 15:54:23,945 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2018-11-23 15:54:23,946 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2018-11-23 15:54:23,946 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2018-11-23 15:54:23,946 INFO L276 PluginConnector]: Boogie Procedure Inliner initialized [2018-11-23 15:54:23,953 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 03:54:23" (1/1) ... [2018-11-23 15:54:23,962 INFO L185 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 03:54:23" (1/1) ... [2018-11-23 15:54:23,968 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2018-11-23 15:54:23,968 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2018-11-23 15:54:23,968 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2018-11-23 15:54:23,969 INFO L276 PluginConnector]: Boogie Preprocessor initialized [2018-11-23 15:54:24,021 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 03:54:23" (1/1) ... [2018-11-23 15:54:24,022 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 03:54:23" (1/1) ... [2018-11-23 15:54:24,025 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 03:54:23" (1/1) ... [2018-11-23 15:54:24,025 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 03:54:23" (1/1) ... [2018-11-23 15:54:24,035 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 03:54:23" (1/1) ... [2018-11-23 15:54:24,040 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 03:54:23" (1/1) ... [2018-11-23 15:54:24,041 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 03:54:23" (1/1) ... [2018-11-23 15:54:24,043 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2018-11-23 15:54:24,043 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2018-11-23 15:54:24,043 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2018-11-23 15:54:24,043 INFO L276 PluginConnector]: RCFGBuilder initialized [2018-11-23 15:54:24,044 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 03:54:23" (1/1) ... No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_8e65445a-fefb-4bd6-b543-93b7f2f515fa/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 15:54:24,073 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~intFLOATTYPE4 [2018-11-23 15:54:24,073 INFO L130 BoogieDeclarations]: Found specification of procedure main [2018-11-23 15:54:24,074 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2018-11-23 15:54:24,074 INFO L130 BoogieDeclarations]: Found specification of procedure read~intFLOATTYPE4 [2018-11-23 15:54:24,074 INFO L130 BoogieDeclarations]: Found specification of procedure isnan_float [2018-11-23 15:54:24,074 INFO L138 BoogieDeclarations]: Found implementation of procedure isnan_float [2018-11-23 15:54:24,074 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2018-11-23 15:54:24,074 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2018-11-23 15:54:24,074 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.alloc [2018-11-23 15:54:24,074 INFO L130 BoogieDeclarations]: Found specification of procedure read~intINTTYPE4 [2018-11-23 15:54:24,074 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2018-11-23 15:54:24,074 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2018-11-23 15:54:24,074 INFO L130 BoogieDeclarations]: Found specification of procedure write~intFLOATTYPE4 [2018-11-23 15:54:24,074 INFO L130 BoogieDeclarations]: Found specification of procedure fmod_float [2018-11-23 15:54:24,074 INFO L138 BoogieDeclarations]: Found implementation of procedure fmod_float [2018-11-23 15:54:24,074 INFO L130 BoogieDeclarations]: Found specification of procedure write~intINTTYPE4 [2018-11-23 15:54:24,075 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2018-11-23 15:54:24,258 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 15:54:25,682 INFO L275 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2018-11-23 15:54:25,682 INFO L280 CfgBuilder]: Removed 12 assue(true) statements. [2018-11-23 15:54:25,682 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 03:54:25 BoogieIcfgContainer [2018-11-23 15:54:25,683 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2018-11-23 15:54:25,683 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2018-11-23 15:54:25,683 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2018-11-23 15:54:25,685 INFO L276 PluginConnector]: TraceAbstraction initialized [2018-11-23 15:54:25,685 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 23.11 03:54:23" (1/3) ... [2018-11-23 15:54:25,686 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@57d51ad3 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 23.11 03:54:25, skipping insertion in model container [2018-11-23 15:54:25,686 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 03:54:23" (2/3) ... [2018-11-23 15:54:25,686 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@57d51ad3 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 23.11 03:54:25, skipping insertion in model container [2018-11-23 15:54:25,686 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 03:54:25" (3/3) ... [2018-11-23 15:54:25,687 INFO L112 eAbstractionObserver]: Analyzing ICFG float_req_bl_1122b_true-unreach-call.c [2018-11-23 15:54:25,693 INFO L156 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2018-11-23 15:54:25,698 INFO L168 ceAbstractionStarter]: Appying trace abstraction to program that has 1 error locations. [2018-11-23 15:54:25,708 INFO L257 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2018-11-23 15:54:25,728 INFO L133 ementStrategyFactory]: Using default assertion order modulation [2018-11-23 15:54:25,729 INFO L382 AbstractCegarLoop]: Interprodecural is true [2018-11-23 15:54:25,729 INFO L383 AbstractCegarLoop]: Hoare is true [2018-11-23 15:54:25,729 INFO L384 AbstractCegarLoop]: Compute interpolants for FPandBP [2018-11-23 15:54:25,729 INFO L385 AbstractCegarLoop]: Backedges is STRAIGHT_LINE [2018-11-23 15:54:25,729 INFO L386 AbstractCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2018-11-23 15:54:25,729 INFO L387 AbstractCegarLoop]: Difference is false [2018-11-23 15:54:25,729 INFO L388 AbstractCegarLoop]: Minimize is MINIMIZE_SEVPA [2018-11-23 15:54:25,730 INFO L393 AbstractCegarLoop]: ======== Iteration 0==of CEGAR loop == AllErrorsAtOnce======== [2018-11-23 15:54:25,742 INFO L276 IsEmpty]: Start isEmpty. Operand 54 states. [2018-11-23 15:54:25,746 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 22 [2018-11-23 15:54:25,746 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 15:54:25,747 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 15:54:25,748 INFO L423 AbstractCegarLoop]: === Iteration 1 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 15:54:25,752 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 15:54:25,752 INFO L82 PathProgramCache]: Analyzing trace with hash 1582823124, now seen corresponding path program 1 times [2018-11-23 15:54:25,755 INFO L223 ckRefinementStrategy]: Switched to mode MATHSAT_FPBP [2018-11-23 15:54:25,755 INFO L69 tionRefinementEngine]: Using refinement strategy WolfRefinementStrategy No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_8e65445a-fefb-4bd6-b543-93b7f2f515fa/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 15:54:25,760 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 15:54:25,984 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 15:54:26,003 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 15:54:26,021 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 15:54:26,022 INFO L312 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2018-11-23 15:54:26,037 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 15:54:26,038 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2018-11-23 15:54:26,040 INFO L459 AbstractCegarLoop]: Interpolant automaton has 2 states [2018-11-23 15:54:26,048 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 2 interpolants. [2018-11-23 15:54:26,049 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2018-11-23 15:54:26,050 INFO L87 Difference]: Start difference. First operand 54 states. Second operand 2 states. [2018-11-23 15:54:26,069 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 15:54:26,069 INFO L93 Difference]: Finished difference Result 100 states and 156 transitions. [2018-11-23 15:54:26,070 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2018-11-23 15:54:26,071 INFO L78 Accepts]: Start accepts. Automaton has 2 states. Word has length 21 [2018-11-23 15:54:26,071 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 15:54:26,080 INFO L225 Difference]: With dead ends: 100 [2018-11-23 15:54:26,080 INFO L226 Difference]: Without dead ends: 50 [2018-11-23 15:54:26,082 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 15:54:26,093 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 50 states. [2018-11-23 15:54:26,105 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 50 to 50. [2018-11-23 15:54:26,106 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 50 states. [2018-11-23 15:54:26,107 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 50 states to 50 states and 65 transitions. [2018-11-23 15:54:26,108 INFO L78 Accepts]: Start accepts. Automaton has 50 states and 65 transitions. Word has length 21 [2018-11-23 15:54:26,108 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 15:54:26,109 INFO L480 AbstractCegarLoop]: Abstraction has 50 states and 65 transitions. [2018-11-23 15:54:26,109 INFO L481 AbstractCegarLoop]: Interpolant automaton has 2 states. [2018-11-23 15:54:26,109 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 65 transitions. [2018-11-23 15:54:26,109 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 24 [2018-11-23 15:54:26,110 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 15:54:26,110 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 15:54:26,110 INFO L423 AbstractCegarLoop]: === Iteration 2 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 15:54:26,110 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 15:54:26,110 INFO L82 PathProgramCache]: Analyzing trace with hash -853861129, now seen corresponding path program 1 times [2018-11-23 15:54:26,111 INFO L223 ckRefinementStrategy]: Switched to mode MATHSAT_FPBP [2018-11-23 15:54:26,111 INFO L69 tionRefinementEngine]: Using refinement strategy WolfRefinementStrategy No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_8e65445a-fefb-4bd6-b543-93b7f2f515fa/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 15:54:26,120 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 15:54:26,338 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 15:54:26,356 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 15:54:28,439 WARN L832 $PredicateComparison]: unable to prove that (exists ((fmod_float_~y (_ FloatingPoint 8 24))) (= (let ((.cse0 (fp.mul roundNearestTiesToEven |c_fmod_float_#in~x| fmod_float_~y))) (fp.div roundNearestTiesToEven .cse0 .cse0)) |c_fmod_float_#res|)) is different from false [2018-11-23 15:54:29,708 WARN L180 SmtUtils]: Spent 218.00 ms on a formula simplification that was a NOOP. DAG size: 12 [2018-11-23 15:54:31,666 WARN L180 SmtUtils]: Spent 567.00 ms on a formula simplification that was a NOOP. DAG size: 12 [2018-11-23 15:54:33,436 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 15:54:33,436 INFO L312 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2018-11-23 15:54:33,447 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 15:54:33,447 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2018-11-23 15:54:33,448 INFO L459 AbstractCegarLoop]: Interpolant automaton has 9 states [2018-11-23 15:54:33,448 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2018-11-23 15:54:33,448 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=15, Invalid=44, Unknown=1, NotChecked=12, Total=72 [2018-11-23 15:54:33,449 INFO L87 Difference]: Start difference. First operand 50 states and 65 transitions. Second operand 9 states. [2018-11-23 15:54:42,901 WARN L180 SmtUtils]: Spent 3.06 s on a formula simplification that was a NOOP. DAG size: 11 [2018-11-23 15:54:46,021 WARN L180 SmtUtils]: Spent 802.00 ms on a formula simplification that was a NOOP. DAG size: 15 [2018-11-23 15:54:48,412 WARN L180 SmtUtils]: Spent 999.00 ms on a formula simplification that was a NOOP. DAG size: 15 [2018-11-23 15:54:51,577 WARN L180 SmtUtils]: Spent 937.00 ms on a formula simplification that was a NOOP. DAG size: 20 [2018-11-23 15:54:52,288 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 15:54:52,288 INFO L93 Difference]: Finished difference Result 59 states and 74 transitions. [2018-11-23 15:54:52,288 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2018-11-23 15:54:52,289 INFO L78 Accepts]: Start accepts. Automaton has 9 states. Word has length 23 [2018-11-23 15:54:52,289 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 15:54:52,291 INFO L225 Difference]: With dead ends: 59 [2018-11-23 15:54:52,291 INFO L226 Difference]: Without dead ends: 52 [2018-11-23 15:54:52,292 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 26 GetRequests, 15 SyntacticMatches, 0 SemanticMatches, 11 ConstructedPredicates, 1 IntricatePredicates, 0 DeprecatedPredicates, 5 ImplicationChecksByTransitivity, 19.9s TimeCoverageRelationStatistics Valid=32, Invalid=103, Unknown=1, NotChecked=20, Total=156 [2018-11-23 15:54:52,292 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 52 states. [2018-11-23 15:54:52,297 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 52 to 50. [2018-11-23 15:54:52,298 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 50 states. [2018-11-23 15:54:52,298 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 50 states to 50 states and 64 transitions. [2018-11-23 15:54:52,298 INFO L78 Accepts]: Start accepts. Automaton has 50 states and 64 transitions. Word has length 23 [2018-11-23 15:54:52,299 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 15:54:52,299 INFO L480 AbstractCegarLoop]: Abstraction has 50 states and 64 transitions. [2018-11-23 15:54:52,299 INFO L481 AbstractCegarLoop]: Interpolant automaton has 9 states. [2018-11-23 15:54:52,299 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 64 transitions. [2018-11-23 15:54:52,299 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 25 [2018-11-23 15:54:52,299 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 15:54:52,300 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 15:54:52,300 INFO L423 AbstractCegarLoop]: === Iteration 3 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 15:54:52,300 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 15:54:52,300 INFO L82 PathProgramCache]: Analyzing trace with hash 988405985, now seen corresponding path program 1 times [2018-11-23 15:54:52,300 INFO L223 ckRefinementStrategy]: Switched to mode MATHSAT_FPBP [2018-11-23 15:54:52,300 INFO L69 tionRefinementEngine]: Using refinement strategy WolfRefinementStrategy No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_8e65445a-fefb-4bd6-b543-93b7f2f515fa/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 15:54:52,303 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 15:54:52,338 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 15:54:52,342 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 15:54:52,414 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 15:54:52,415 INFO L312 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2018-11-23 15:54:52,426 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 15:54:52,426 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2018-11-23 15:54:52,427 INFO L459 AbstractCegarLoop]: Interpolant automaton has 7 states [2018-11-23 15:54:52,427 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2018-11-23 15:54:52,427 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=11, Invalid=31, Unknown=0, NotChecked=0, Total=42 [2018-11-23 15:54:52,427 INFO L87 Difference]: Start difference. First operand 50 states and 64 transitions. Second operand 7 states. [2018-11-23 15:54:52,864 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 15:54:52,864 INFO L93 Difference]: Finished difference Result 54 states and 68 transitions. [2018-11-23 15:54:52,865 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2018-11-23 15:54:52,865 INFO L78 Accepts]: Start accepts. Automaton has 7 states. Word has length 24 [2018-11-23 15:54:52,865 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 15:54:52,865 INFO L225 Difference]: With dead ends: 54 [2018-11-23 15:54:52,865 INFO L226 Difference]: Without dead ends: 0 [2018-11-23 15:54:52,866 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 27 GetRequests, 18 SyntacticMatches, 0 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 5 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=30, Invalid=80, Unknown=0, NotChecked=0, Total=110 [2018-11-23 15:54:52,866 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 0 states. [2018-11-23 15:54:52,866 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 0 to 0. [2018-11-23 15:54:52,866 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 0 states. [2018-11-23 15:54:52,866 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 0 states to 0 states and 0 transitions. [2018-11-23 15:54:52,867 INFO L78 Accepts]: Start accepts. Automaton has 0 states and 0 transitions. Word has length 24 [2018-11-23 15:54:52,867 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 15:54:52,867 INFO L480 AbstractCegarLoop]: Abstraction has 0 states and 0 transitions. [2018-11-23 15:54:52,867 INFO L481 AbstractCegarLoop]: Interpolant automaton has 7 states. [2018-11-23 15:54:52,867 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2018-11-23 15:54:52,867 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 15:54:52,870 INFO L343 DoubleDeckerVisitor]: Before removal of dead ends 0 states and 0 transitions. [2018-11-23 15:54:53,788 WARN L180 SmtUtils]: Spent 766.00 ms on a formula simplification that was a NOOP. DAG size: 15 [2018-11-23 15:54:53,852 INFO L448 ceAbstractionStarter]: For program point isnan_floatFINAL(line 108) no Hoare annotation was computed. [2018-11-23 15:54:53,852 INFO L451 ceAbstractionStarter]: At program point isnan_floatENTRY(line 108) the Hoare annotation is: true [2018-11-23 15:54:53,852 INFO L448 ceAbstractionStarter]: For program point isnan_floatEXIT(line 108) no Hoare annotation was computed. [2018-11-23 15:54:53,852 INFO L448 ceAbstractionStarter]: For program point ULTIMATE.initFINAL(line -1) no Hoare annotation was computed. [2018-11-23 15:54:53,852 INFO L451 ceAbstractionStarter]: At program point ULTIMATE.initENTRY(line -1) the Hoare annotation is: true [2018-11-23 15:54:53,852 INFO L448 ceAbstractionStarter]: For program point ULTIMATE.initEXIT(line -1) no Hoare annotation was computed. [2018-11-23 15:54:53,852 INFO L448 ceAbstractionStarter]: For program point ULTIMATE.startEXIT(line -1) no Hoare annotation was computed. [2018-11-23 15:54:53,852 INFO L451 ceAbstractionStarter]: At program point L-1(line -1) the Hoare annotation is: true [2018-11-23 15:54:53,853 INFO L451 ceAbstractionStarter]: At program point ULTIMATE.startENTRY(line -1) the Hoare annotation is: true [2018-11-23 15:54:53,853 INFO L448 ceAbstractionStarter]: For program point ULTIMATE.startFINAL(line -1) no Hoare annotation was computed. [2018-11-23 15:54:53,853 INFO L448 ceAbstractionStarter]: For program point mainErr0ASSERT_VIOLATIONERROR_FUNCTION(line 123) no Hoare annotation was computed. [2018-11-23 15:54:53,853 INFO L451 ceAbstractionStarter]: At program point mainENTRY(lines 110 128) the Hoare annotation is: true [2018-11-23 15:54:53,853 INFO L448 ceAbstractionStarter]: For program point mainFINAL(lines 110 128) no Hoare annotation was computed. [2018-11-23 15:54:53,853 INFO L448 ceAbstractionStarter]: For program point L123(line 123) no Hoare annotation was computed. [2018-11-23 15:54:53,853 INFO L444 ceAbstractionStarter]: At program point L122(line 122) the Hoare annotation is: (and (exists ((fmod_float_~y (_ FloatingPoint 8 24))) (= (let ((.cse0 (fp.mul roundNearestTiesToEven (fp.div roundNearestTiesToEven (fp.neg ((_ to_fp 8 24) roundNearestTiesToEven 1.0)) (_ +zero 8 24)) fmod_float_~y))) (fp.div roundNearestTiesToEven .cse0 .cse0)) main_~res~0)) (= main_~x~0 (fp.div roundNearestTiesToEven (fp.neg ((_ to_fp 8 24) roundNearestTiesToEven 1.0)) (_ +zero 8 24)))) [2018-11-23 15:54:53,853 INFO L448 ceAbstractionStarter]: For program point L122-1(lines 122 125) no Hoare annotation was computed. [2018-11-23 15:54:53,853 INFO L448 ceAbstractionStarter]: For program point mainEXIT(lines 110 128) no Hoare annotation was computed. [2018-11-23 15:54:53,854 INFO L444 ceAbstractionStarter]: At program point L119(line 119) the Hoare annotation is: (= main_~x~0 (fp.div roundNearestTiesToEven (fp.neg ((_ to_fp 8 24) roundNearestTiesToEven 1.0)) (_ +zero 8 24))) [2018-11-23 15:54:53,854 INFO L448 ceAbstractionStarter]: For program point L119-1(line 119) no Hoare annotation was computed. [2018-11-23 15:54:53,854 INFO L448 ceAbstractionStarter]: For program point fmod_floatEXIT(lines 17 105) no Hoare annotation was computed. [2018-11-23 15:54:53,854 INFO L448 ceAbstractionStarter]: For program point L52-1(lines 17 105) no Hoare annotation was computed. [2018-11-23 15:54:53,854 INFO L448 ceAbstractionStarter]: For program point L36(lines 36 37) no Hoare annotation was computed. [2018-11-23 15:54:53,854 INFO L448 ceAbstractionStarter]: For program point L86(lines 86 103) no Hoare annotation was computed. [2018-11-23 15:54:53,854 INFO L448 ceAbstractionStarter]: For program point L20-1(lines 20 24) no Hoare annotation was computed. [2018-11-23 15:54:53,854 INFO L444 ceAbstractionStarter]: At program point L20-2(lines 20 24) the Hoare annotation is: (= fmod_float_~x |fmod_float_#in~x|) [2018-11-23 15:54:53,854 INFO L448 ceAbstractionStarter]: For program point L70(lines 70 71) no Hoare annotation was computed. [2018-11-23 15:54:53,854 INFO L448 ceAbstractionStarter]: For program point L46(lines 17 105) no Hoare annotation was computed. [2018-11-23 15:54:53,854 INFO L448 ceAbstractionStarter]: For program point fmod_floatFINAL(lines 17 105) no Hoare annotation was computed. [2018-11-23 15:54:53,855 INFO L448 ceAbstractionStarter]: For program point L38(lines 38 39) no Hoare annotation was computed. [2018-11-23 15:54:53,855 INFO L451 ceAbstractionStarter]: At program point fmod_floatENTRY(lines 17 105) the Hoare annotation is: true [2018-11-23 15:54:53,855 INFO L448 ceAbstractionStarter]: For program point L88-1(lines 88 92) no Hoare annotation was computed. [2018-11-23 15:54:53,855 INFO L444 ceAbstractionStarter]: At program point L88-2(lines 88 92) the Hoare annotation is: (and (= fmod_float_~x |fmod_float_#in~x|) (exists ((v_fmod_float_~hx~0_34 (_ BitVec 32))) (and (= (fp ((_ extract 31 31) v_fmod_float_~hx~0_34) ((_ extract 30 23) v_fmod_float_~hx~0_34) ((_ extract 22 0) v_fmod_float_~hx~0_34)) |fmod_float_#in~x|) (bvslt (bvxor v_fmod_float_~hx~0_34 (bvand (_ bv2147483648 32) v_fmod_float_~hx~0_34)) (_ bv2139095040 32))))) [2018-11-23 15:54:53,855 INFO L448 ceAbstractionStarter]: For program point L47-2(lines 47 48) no Hoare annotation was computed. [2018-11-23 15:54:53,855 INFO L444 ceAbstractionStarter]: At program point L47-3(lines 47 48) the Hoare annotation is: (and (= fmod_float_~x |fmod_float_#in~x|) (exists ((v_fmod_float_~hx~0_34 (_ BitVec 32))) (and (= fmod_float_~hx~0 (bvxor v_fmod_float_~hx~0_34 (bvand (_ bv2147483648 32) v_fmod_float_~hx~0_34))) (= (fp ((_ extract 31 31) v_fmod_float_~hx~0_34) ((_ extract 30 23) v_fmod_float_~hx~0_34) ((_ extract 22 0) v_fmod_float_~hx~0_34)) |fmod_float_#in~x|))) (exists ((v_fmod_float_~hx~0_34 (_ BitVec 32))) (and (= (fp ((_ extract 31 31) v_fmod_float_~hx~0_34) ((_ extract 30 23) v_fmod_float_~hx~0_34) ((_ extract 22 0) v_fmod_float_~hx~0_34)) |fmod_float_#in~x|) (bvslt (bvxor v_fmod_float_~hx~0_34 (bvand (_ bv2147483648 32) v_fmod_float_~hx~0_34)) (_ bv2139095040 32))))) [2018-11-23 15:54:53,856 INFO L448 ceAbstractionStarter]: For program point L97-1(lines 97 101) no Hoare annotation was computed. [2018-11-23 15:54:53,856 INFO L444 ceAbstractionStarter]: At program point L97-2(lines 97 101) the Hoare annotation is: (and (= fmod_float_~x |fmod_float_#in~x|) (exists ((v_fmod_float_~hx~0_34 (_ BitVec 32))) (and (= (fp ((_ extract 31 31) v_fmod_float_~hx~0_34) ((_ extract 30 23) v_fmod_float_~hx~0_34) ((_ extract 22 0) v_fmod_float_~hx~0_34)) |fmod_float_#in~x|) (bvslt (bvxor v_fmod_float_~hx~0_34 (bvand (_ bv2147483648 32) v_fmod_float_~hx~0_34)) (_ bv2139095040 32))))) [2018-11-23 15:54:53,856 INFO L448 ceAbstractionStarter]: For program point L97-3(lines 97 101) no Hoare annotation was computed. [2018-11-23 15:54:53,856 INFO L448 ceAbstractionStarter]: For program point L40(lines 40 44) no Hoare annotation was computed. [2018-11-23 15:54:53,856 INFO L448 ceAbstractionStarter]: For program point L40-1(lines 17 105) no Hoare annotation was computed. [2018-11-23 15:54:53,856 INFO L448 ceAbstractionStarter]: For program point L65-1(lines 65 74) no Hoare annotation was computed. [2018-11-23 15:54:53,856 INFO L448 ceAbstractionStarter]: For program point L65-3(lines 65 74) no Hoare annotation was computed. [2018-11-23 15:54:53,856 INFO L444 ceAbstractionStarter]: At program point L82-2(lines 82 85) the Hoare annotation is: (and (= fmod_float_~x |fmod_float_#in~x|) (exists ((v_fmod_float_~hx~0_34 (_ BitVec 32))) (and (= (fp ((_ extract 31 31) v_fmod_float_~hx~0_34) ((_ extract 30 23) v_fmod_float_~hx~0_34) ((_ extract 22 0) v_fmod_float_~hx~0_34)) |fmod_float_#in~x|) (bvslt (bvxor v_fmod_float_~hx~0_34 (bvand (_ bv2147483648 32) v_fmod_float_~hx~0_34)) (_ bv2139095040 32))))) [2018-11-23 15:54:53,856 INFO L448 ceAbstractionStarter]: For program point L82-3(lines 17 105) no Hoare annotation was computed. [2018-11-23 15:54:53,856 INFO L448 ceAbstractionStarter]: For program point L41-2(lines 41 42) no Hoare annotation was computed. [2018-11-23 15:54:53,856 INFO L444 ceAbstractionStarter]: At program point L41-3(lines 41 42) the Hoare annotation is: (and (= fmod_float_~x |fmod_float_#in~x|) (exists ((v_fmod_float_~hx~0_34 (_ BitVec 32))) (and (= fmod_float_~hx~0 (bvxor v_fmod_float_~hx~0_34 (bvand (_ bv2147483648 32) v_fmod_float_~hx~0_34))) (= (fp ((_ extract 31 31) v_fmod_float_~hx~0_34) ((_ extract 30 23) v_fmod_float_~hx~0_34) ((_ extract 22 0) v_fmod_float_~hx~0_34)) |fmod_float_#in~x|))) (exists ((v_fmod_float_~hx~0_34 (_ BitVec 32))) (and (= (fp ((_ extract 31 31) v_fmod_float_~hx~0_34) ((_ extract 30 23) v_fmod_float_~hx~0_34) ((_ extract 22 0) v_fmod_float_~hx~0_34)) |fmod_float_#in~x|) (bvslt (bvxor v_fmod_float_~hx~0_34 (bvand (_ bv2147483648 32) v_fmod_float_~hx~0_34)) (_ bv2139095040 32))))) [2018-11-23 15:54:53,857 INFO L448 ceAbstractionStarter]: For program point L25(lines 25 29) no Hoare annotation was computed. [2018-11-23 15:54:53,857 INFO L448 ceAbstractionStarter]: For program point L58-1(lines 58 63) no Hoare annotation was computed. [2018-11-23 15:54:53,857 INFO L448 ceAbstractionStarter]: For program point L25-1(lines 17 105) no Hoare annotation was computed. [2018-11-23 15:54:53,857 INFO L448 ceAbstractionStarter]: For program point L25-2(lines 25 29) no Hoare annotation was computed. [2018-11-23 15:54:53,857 INFO L448 ceAbstractionStarter]: For program point L67(lines 67 73) no Hoare annotation was computed. [2018-11-23 15:54:53,857 INFO L448 ceAbstractionStarter]: For program point L34(lines 34 35) no Hoare annotation was computed. [2018-11-23 15:54:53,857 INFO L444 ceAbstractionStarter]: At program point L67-2(lines 65 74) the Hoare annotation is: (and (= fmod_float_~x |fmod_float_#in~x|) (exists ((v_fmod_float_~hx~0_34 (_ BitVec 32))) (and (= (fp ((_ extract 31 31) v_fmod_float_~hx~0_34) ((_ extract 30 23) v_fmod_float_~hx~0_34) ((_ extract 22 0) v_fmod_float_~hx~0_34)) |fmod_float_#in~x|) (bvslt (bvxor v_fmod_float_~hx~0_34 (bvand (_ bv2147483648 32) v_fmod_float_~hx~0_34)) (_ bv2139095040 32))))) [2018-11-23 15:54:53,857 INFO L448 ceAbstractionStarter]: For program point L76(lines 76 78) no Hoare annotation was computed. [2018-11-23 15:54:53,857 INFO L448 ceAbstractionStarter]: For program point L76-2(lines 17 105) no Hoare annotation was computed. [2018-11-23 15:54:53,861 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] [2018-11-23 15:54:53,862 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] [2018-11-23 15:54:53,862 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] [2018-11-23 15:54:53,862 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] [2018-11-23 15:54:53,863 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] [2018-11-23 15:54:53,867 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] [2018-11-23 15:54:53,867 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] [2018-11-23 15:54:53,868 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] [2018-11-23 15:54:53,868 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] [2018-11-23 15:54:53,868 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] [2018-11-23 15:54:53,869 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] [2018-11-23 15:54:53,869 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] [2018-11-23 15:54:53,869 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] [2018-11-23 15:54:53,869 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] [2018-11-23 15:54:53,870 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] [2018-11-23 15:54:53,870 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] [2018-11-23 15:54:53,870 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] [2018-11-23 15:54:53,870 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] [2018-11-23 15:54:53,871 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] [2018-11-23 15:54:53,871 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] [2018-11-23 15:54:53,872 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] [2018-11-23 15:54:53,872 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] [2018-11-23 15:54:53,872 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] [2018-11-23 15:54:53,872 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] [2018-11-23 15:54:53,873 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] [2018-11-23 15:54:53,873 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] [2018-11-23 15:54:53,873 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] [2018-11-23 15:54:53,873 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] [2018-11-23 15:54:53,873 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] [2018-11-23 15:54:53,873 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] [2018-11-23 15:54:53,874 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] [2018-11-23 15:54:53,874 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] [2018-11-23 15:54:53,874 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] [2018-11-23 15:54:53,874 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] [2018-11-23 15:54:53,875 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] [2018-11-23 15:54:53,875 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] [2018-11-23 15:54:53,875 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] [2018-11-23 15:54:53,875 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] [2018-11-23 15:54:53,875 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] [2018-11-23 15:54:53,876 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] [2018-11-23 15:54:53,876 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] [2018-11-23 15:54:53,876 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] [2018-11-23 15:54:53,877 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] [2018-11-23 15:54:53,877 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] [2018-11-23 15:54:53,877 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] [2018-11-23 15:54:53,877 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] [2018-11-23 15:54:53,878 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] [2018-11-23 15:54:53,878 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] [2018-11-23 15:54:53,878 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] [2018-11-23 15:54:53,878 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] [2018-11-23 15:54:53,879 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] [2018-11-23 15:54:53,879 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] [2018-11-23 15:54:53,879 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] [2018-11-23 15:54:53,879 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] [2018-11-23 15:54:53,880 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] [2018-11-23 15:54:53,880 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] [2018-11-23 15:54:53,880 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] [2018-11-23 15:54:53,880 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] [2018-11-23 15:54:53,880 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] [2018-11-23 15:54:53,881 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] [2018-11-23 15:54:53,881 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] [2018-11-23 15:54:53,881 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] [2018-11-23 15:54:53,881 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] [2018-11-23 15:54:53,882 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] [2018-11-23 15:54:53,882 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] [2018-11-23 15:54:53,882 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] [2018-11-23 15:54:53,882 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] [2018-11-23 15:54:53,882 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] [2018-11-23 15:54:53,883 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] [2018-11-23 15:54:53,883 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] [2018-11-23 15:54:53,883 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] [2018-11-23 15:54:53,883 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] [2018-11-23 15:54:53,884 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] [2018-11-23 15:54:53,884 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] [2018-11-23 15:54:53,884 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] [2018-11-23 15:54:53,884 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] [2018-11-23 15:54:53,885 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] [2018-11-23 15:54:53,885 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] [2018-11-23 15:54:53,885 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] [2018-11-23 15:54:53,885 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] [2018-11-23 15:54:53,887 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 23.11 03:54:53 BoogieIcfgContainer [2018-11-23 15:54:53,887 INFO L132 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2018-11-23 15:54:53,887 INFO L113 PluginConnector]: ------------------------Witness Printer---------------------------- [2018-11-23 15:54:53,887 INFO L271 PluginConnector]: Initializing Witness Printer... [2018-11-23 15:54:53,887 INFO L276 PluginConnector]: Witness Printer initialized [2018-11-23 15:54:53,888 INFO L185 PluginConnector]: Executing the observer RCFGCatcher from plugin Witness Printer for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 03:54:25" (3/4) ... [2018-11-23 15:54:53,890 INFO L144 WitnessPrinter]: Generating witness for correct program [2018-11-23 15:54:53,895 INFO L354 RCFGBacktranslator]: Ignoring RootEdge to procedure isnan_float [2018-11-23 15:54:53,895 INFO L354 RCFGBacktranslator]: Ignoring RootEdge to procedure ULTIMATE.init [2018-11-23 15:54:53,895 INFO L354 RCFGBacktranslator]: Ignoring RootEdge to procedure main [2018-11-23 15:54:53,895 INFO L354 RCFGBacktranslator]: Ignoring RootEdge to procedure fmod_float [2018-11-23 15:54:53,899 INFO L879 BoogieBacktranslator]: Reduced CFG by removing 17 nodes and edges [2018-11-23 15:54:53,899 INFO L879 BoogieBacktranslator]: Reduced CFG by removing 7 nodes and edges [2018-11-23 15:54:53,899 INFO L879 BoogieBacktranslator]: Reduced CFG by removing 2 nodes and edges [2018-11-23 15:54:53,899 INFO L879 BoogieBacktranslator]: Reduced CFG by removing 1 nodes and edges [2018-11-23 15:54:53,917 WARN L221 nessWitnessGenerator]: Not writing invariant because ACSL is forbidden: x == \old(x) [2018-11-23 15:54:53,926 INFO L145 WitnessManager]: Wrote witness to /tmp/vcloud-vcloud-master/worker/working_dir_8e65445a-fefb-4bd6-b543-93b7f2f515fa/bin-2019/uautomizer/witness.graphml [2018-11-23 15:54:53,927 INFO L132 PluginConnector]: ------------------------ END Witness Printer---------------------------- [2018-11-23 15:54:53,927 INFO L168 Benchmark]: Toolchain (without parser) took 30228.63 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 135.8 MB). Free memory was 949.7 MB in the beginning and 954.4 MB in the end (delta: -4.7 MB). Peak memory consumption was 131.1 MB. Max. memory is 11.5 GB. [2018-11-23 15:54:53,928 INFO L168 Benchmark]: CDTParser took 0.20 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 15:54:53,928 INFO L168 Benchmark]: CACSL2BoogieTranslator took 246.12 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 15:54:53,928 INFO L168 Benchmark]: Boogie Procedure Inliner took 22.17 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 15:54:53,928 INFO L168 Benchmark]: Boogie Preprocessor took 74.78 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 135.8 MB). Free memory was 933.6 MB in the beginning and 1.1 GB in the end (delta: -190.5 MB). Peak memory consumption was 15.1 MB. Max. memory is 11.5 GB. [2018-11-23 15:54:53,928 INFO L168 Benchmark]: RCFGBuilder took 1639.40 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: 30.7 MB). Peak memory consumption was 30.7 MB. Max. memory is 11.5 GB. [2018-11-23 15:54:53,929 INFO L168 Benchmark]: TraceAbstraction took 28203.65 ms. Allocated memory is still 1.2 GB. Free memory was 1.1 GB in the beginning and 954.4 MB in the end (delta: 139.0 MB). Peak memory consumption was 139.0 MB. Max. memory is 11.5 GB. [2018-11-23 15:54:53,929 INFO L168 Benchmark]: Witness Printer took 39.39 ms. Allocated memory is still 1.2 GB. Free memory is still 954.4 MB. There was no memory consumed. Max. memory is 11.5 GB. [2018-11-23 15:54:53,931 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.20 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 246.12 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 22.17 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 74.78 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 135.8 MB). Free memory was 933.6 MB in the beginning and 1.1 GB in the end (delta: -190.5 MB). Peak memory consumption was 15.1 MB. Max. memory is 11.5 GB. * RCFGBuilder took 1639.40 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: 30.7 MB). Peak memory consumption was 30.7 MB. Max. memory is 11.5 GB. * TraceAbstraction took 28203.65 ms. Allocated memory is still 1.2 GB. Free memory was 1.1 GB in the beginning and 954.4 MB in the end (delta: 139.0 MB). Peak memory consumption was 139.0 MB. Max. memory is 11.5 GB. * Witness Printer took 39.39 ms. Allocated memory is still 1.2 GB. Free memory is still 954.4 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_~hx~0_34,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,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 15:54:53,936 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] [2018-11-23 15:54:53,936 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] [2018-11-23 15:54:53,936 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] [2018-11-23 15:54:53,936 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] [2018-11-23 15:54:53,937 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] [2018-11-23 15:54:53,937 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] [2018-11-23 15:54:53,937 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] [2018-11-23 15:54:53,937 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] [2018-11-23 15:54:53,937 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] [2018-11-23 15:54:53,938 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] Derived loop invariant: x == \old(x) && (\exists v_fmod_float_~hx~0_34 : bv32 :: ~fp~LONGDOUBLE(v_fmod_float_~hx~0_34[31:31], v_fmod_float_~hx~0_34[30:23], v_fmod_float_~hx~0_34[22:0]) == \old(x) && ~bvslt32(~bvxor32(v_fmod_float_~hx~0_34, ~bvand32(2147483648bv32, v_fmod_float_~hx~0_34)), 2139095040bv32)) - InvariantResult [Line: 82]: Loop Invariant [2018-11-23 15:54:53,942 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] [2018-11-23 15:54:53,942 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] [2018-11-23 15:54:53,943 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] [2018-11-23 15:54:53,943 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] [2018-11-23 15:54:53,943 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] [2018-11-23 15:54:53,943 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] [2018-11-23 15:54:53,943 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] [2018-11-23 15:54:53,943 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] [2018-11-23 15:54:53,944 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] [2018-11-23 15:54:53,944 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] Derived loop invariant: x == \old(x) && (\exists v_fmod_float_~hx~0_34 : bv32 :: ~fp~LONGDOUBLE(v_fmod_float_~hx~0_34[31:31], v_fmod_float_~hx~0_34[30:23], v_fmod_float_~hx~0_34[22:0]) == \old(x) && ~bvslt32(~bvxor32(v_fmod_float_~hx~0_34, ~bvand32(2147483648bv32, v_fmod_float_~hx~0_34)), 2139095040bv32)) - InvariantResult [Line: 41]: Loop Invariant [2018-11-23 15:54:53,944 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] [2018-11-23 15:54:53,944 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] [2018-11-23 15:54:53,944 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] [2018-11-23 15:54:53,945 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] [2018-11-23 15:54:53,945 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] [2018-11-23 15:54:53,945 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] [2018-11-23 15:54:53,945 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] [2018-11-23 15:54:53,945 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] [2018-11-23 15:54:53,945 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] [2018-11-23 15:54:53,946 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] [2018-11-23 15:54:53,946 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] [2018-11-23 15:54:53,946 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] [2018-11-23 15:54:53,946 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] [2018-11-23 15:54:53,946 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] [2018-11-23 15:54:53,946 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] [2018-11-23 15:54:53,947 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] [2018-11-23 15:54:53,947 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] [2018-11-23 15:54:53,947 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] [2018-11-23 15:54:53,947 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] [2018-11-23 15:54:53,947 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] Derived loop invariant: (x == \old(x) && (\exists v_fmod_float_~hx~0_34 : bv32 :: hx == ~bvxor32(v_fmod_float_~hx~0_34, ~bvand32(2147483648bv32, v_fmod_float_~hx~0_34)) && ~fp~LONGDOUBLE(v_fmod_float_~hx~0_34[31:31], v_fmod_float_~hx~0_34[30:23], v_fmod_float_~hx~0_34[22:0]) == \old(x))) && (\exists v_fmod_float_~hx~0_34 : bv32 :: ~fp~LONGDOUBLE(v_fmod_float_~hx~0_34[31:31], v_fmod_float_~hx~0_34[30:23], v_fmod_float_~hx~0_34[22:0]) == \old(x) && ~bvslt32(~bvxor32(v_fmod_float_~hx~0_34, ~bvand32(2147483648bv32, v_fmod_float_~hx~0_34)), 2139095040bv32)) - InvariantResult [Line: 88]: Loop Invariant [2018-11-23 15:54:53,948 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] [2018-11-23 15:54:53,948 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] [2018-11-23 15:54:53,948 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] [2018-11-23 15:54:53,948 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] [2018-11-23 15:54:53,948 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] [2018-11-23 15:54:53,949 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] [2018-11-23 15:54:53,949 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] [2018-11-23 15:54:53,949 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] [2018-11-23 15:54:53,949 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] [2018-11-23 15:54:53,949 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] Derived loop invariant: x == \old(x) && (\exists v_fmod_float_~hx~0_34 : bv32 :: ~fp~LONGDOUBLE(v_fmod_float_~hx~0_34[31:31], v_fmod_float_~hx~0_34[30:23], v_fmod_float_~hx~0_34[22:0]) == \old(x) && ~bvslt32(~bvxor32(v_fmod_float_~hx~0_34, ~bvand32(2147483648bv32, v_fmod_float_~hx~0_34)), 2139095040bv32)) - InvariantResult [Line: 47]: Loop Invariant [2018-11-23 15:54:53,950 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] [2018-11-23 15:54:53,950 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] [2018-11-23 15:54:53,950 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] [2018-11-23 15:54:53,950 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] [2018-11-23 15:54:53,950 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] [2018-11-23 15:54:53,950 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] [2018-11-23 15:54:53,951 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] [2018-11-23 15:54:53,951 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] [2018-11-23 15:54:53,951 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] [2018-11-23 15:54:53,951 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] [2018-11-23 15:54:53,951 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] [2018-11-23 15:54:53,952 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] [2018-11-23 15:54:53,952 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] [2018-11-23 15:54:53,952 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] [2018-11-23 15:54:53,952 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] [2018-11-23 15:54:53,952 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] [2018-11-23 15:54:53,952 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] [2018-11-23 15:54:53,952 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] [2018-11-23 15:54:53,952 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] [2018-11-23 15:54:53,952 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] Derived loop invariant: (x == \old(x) && (\exists v_fmod_float_~hx~0_34 : bv32 :: hx == ~bvxor32(v_fmod_float_~hx~0_34, ~bvand32(2147483648bv32, v_fmod_float_~hx~0_34)) && ~fp~LONGDOUBLE(v_fmod_float_~hx~0_34[31:31], v_fmod_float_~hx~0_34[30:23], v_fmod_float_~hx~0_34[22:0]) == \old(x))) && (\exists v_fmod_float_~hx~0_34 : bv32 :: ~fp~LONGDOUBLE(v_fmod_float_~hx~0_34[31:31], v_fmod_float_~hx~0_34[30:23], v_fmod_float_~hx~0_34[22:0]) == \old(x) && ~bvslt32(~bvxor32(v_fmod_float_~hx~0_34, ~bvand32(2147483648bv32, v_fmod_float_~hx~0_34)), 2139095040bv32)) - InvariantResult [Line: 65]: Loop Invariant [2018-11-23 15:54:53,953 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] [2018-11-23 15:54:53,953 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] [2018-11-23 15:54:53,953 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] [2018-11-23 15:54:53,953 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] [2018-11-23 15:54:53,954 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] [2018-11-23 15:54:53,954 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] [2018-11-23 15:54:53,954 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] [2018-11-23 15:54:53,954 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] [2018-11-23 15:54:53,954 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] [2018-11-23 15:54:53,954 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_fmod_float_~hx~0_34,QUANTIFIED] Derived loop invariant: x == \old(x) && (\exists v_fmod_float_~hx~0_34 : bv32 :: ~fp~LONGDOUBLE(v_fmod_float_~hx~0_34[31:31], v_fmod_float_~hx~0_34[30:23], v_fmod_float_~hx~0_34[22:0]) == \old(x) && ~bvslt32(~bvxor32(v_fmod_float_~hx~0_34, ~bvand32(2147483648bv32, v_fmod_float_~hx~0_34)), 2139095040bv32)) - InvariantResult [Line: 20]: Loop Invariant Derived loop invariant: x == \old(x) - StatisticsResult: Ultimate Automizer benchmark data CFG has 5 procedures, 54 locations, 1 error locations. SAFE Result, 28.1s OverallTime, 3 OverallIterations, 1 TraceHistogramMax, 19.3s AutomataDifference, 0.0s DeadEndRemovalTime, 0.9s HoareAnnotationTime, HoareTripleCheckerStatistics: 173 SDtfs, 136 SDslu, 426 SDs, 0 SdLazy, 121 SolverSat, 8 SolverUnsat, 0 SolverUnknown, 0 SolverNotchecked, 5.8s Time, PredicateUnifierStatistics: 0 DeclaredPredicates, 73 GetRequests, 53 SyntacticMatches, 0 SemanticMatches, 20 ConstructedPredicates, 1 IntricatePredicates, 0 DeprecatedPredicates, 10 ImplicationChecksByTransitivity, 20.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, 2 StatesRemovedByMinimization, 1 NontrivialMinimizations, HoareAnnotationStatistics: 0.0s HoareAnnotationTime, 15 LocationsWithAnnotation, 17 PreInvPairs, 25 NumberOfFragments, 221 HoareAnnotationTreeSize, 17 FomulaSimplifications, 0 FormulaSimplificationTreeSizeReduction, 0.0s HoareSimplificationTime, 15 FomulaSimplificationsInter, 0 FormulaSimplificationTreeSizeReductionInter, 0.9s HoareSimplificationTimeInter, RefinementEngineStatistics: TraceCheckStatistics: 0.0s SsaConstructionTime, 0.4s SatisfiabilityAnalysisTime, 7.2s InterpolantComputationTime, 68 NumberOfCodeBlocks, 68 NumberOfCodeBlocksAsserted, 3 NumberOfCheckSat, 65 ConstructedInterpolants, 8 QuantifiedInterpolants, 6803 SizeOfPredicates, 9 NumberOfNonLiveVariables, 232 ConjunctsInSsa, 19 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...