./Ultimate.py --spec ../../sv-benchmarks/c/properties/unreach-call.prp --file ../../sv-benchmarks/c/float-newlib/double_req_bl_1121a_true-unreach-call.c --full-output --architecture 32bit -------------------------------------------------------------------------------- Checking for ERROR reachability Using default analysis Version aa418289 Calling Ultimate with: java -Dosgi.configuration.area=/tmp/vcloud-vcloud-master/worker/working_dir_e87c1232-fe71-4a39-af7a-41854da7f9d0/bin-2019/ukojak/data/config -Xmx12G -Xms1G -jar /tmp/vcloud-vcloud-master/worker/working_dir_e87c1232-fe71-4a39-af7a-41854da7f9d0/bin-2019/ukojak/plugins/org.eclipse.equinox.launcher_1.3.100.v20150511-1540.jar -data @noDefault -ultimatedata /tmp/vcloud-vcloud-master/worker/working_dir_e87c1232-fe71-4a39-af7a-41854da7f9d0/bin-2019/ukojak/data -tc /tmp/vcloud-vcloud-master/worker/working_dir_e87c1232-fe71-4a39-af7a-41854da7f9d0/bin-2019/ukojak/config/KojakReach.xml -i ../../sv-benchmarks/c/float-newlib/double_req_bl_1121a_true-unreach-call.c -s /tmp/vcloud-vcloud-master/worker/working_dir_e87c1232-fe71-4a39-af7a-41854da7f9d0/bin-2019/ukojak/config/svcomp-Reach-32bit-Kojak_Default.epf --cacsl2boogietranslator.entry.function main --witnessprinter.witness.directory /tmp/vcloud-vcloud-master/worker/working_dir_e87c1232-fe71-4a39-af7a-41854da7f9d0/bin-2019/ukojak --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 Kojak --witnessprinter.graph.data.architecture 32bit --witnessprinter.graph.data.programhash 2718f642e307f3f62e4f4b06b51ef37595256727 ....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................... 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_e87c1232-fe71-4a39-af7a-41854da7f9d0/bin-2019/ukojak/data/config -Xmx12G -Xms1G -jar /tmp/vcloud-vcloud-master/worker/working_dir_e87c1232-fe71-4a39-af7a-41854da7f9d0/bin-2019/ukojak/plugins/org.eclipse.equinox.launcher_1.3.100.v20150511-1540.jar -data @noDefault -ultimatedata /tmp/vcloud-vcloud-master/worker/working_dir_e87c1232-fe71-4a39-af7a-41854da7f9d0/bin-2019/ukojak/data -tc /tmp/vcloud-vcloud-master/worker/working_dir_e87c1232-fe71-4a39-af7a-41854da7f9d0/bin-2019/ukojak/config/KojakReach.xml -i ../../sv-benchmarks/c/float-newlib/double_req_bl_1121a_true-unreach-call.c -s /tmp/vcloud-vcloud-master/worker/working_dir_e87c1232-fe71-4a39-af7a-41854da7f9d0/bin-2019/ukojak/config/svcomp-Reach-32bit-Kojak_Bitvector.epf --cacsl2boogietranslator.entry.function main --witnessprinter.witness.directory /tmp/vcloud-vcloud-master/worker/working_dir_e87c1232-fe71-4a39-af7a-41854da7f9d0/bin-2019/ukojak --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 Kojak --witnessprinter.graph.data.architecture 32bit --witnessprinter.graph.data.programhash 2718f642e307f3f62e4f4b06b51ef37595256727 ......................................................................................................................................................................................................................................................................................................................... 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 02:45:14,721 INFO L170 SettingsManager]: Resetting all preferences to default values... [2018-11-23 02:45:14,722 INFO L174 SettingsManager]: Resetting UltimateCore preferences to default values [2018-11-23 02:45:14,728 INFO L177 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2018-11-23 02:45:14,728 INFO L174 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2018-11-23 02:45:14,729 INFO L174 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2018-11-23 02:45:14,729 INFO L174 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2018-11-23 02:45:14,730 INFO L174 SettingsManager]: Resetting LassoRanker preferences to default values [2018-11-23 02:45:14,731 INFO L174 SettingsManager]: Resetting Reaching Definitions preferences to default values [2018-11-23 02:45:14,731 INFO L174 SettingsManager]: Resetting SyntaxChecker preferences to default values [2018-11-23 02:45:14,732 INFO L177 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2018-11-23 02:45:14,732 INFO L174 SettingsManager]: Resetting LTL2Aut preferences to default values [2018-11-23 02:45:14,732 INFO L174 SettingsManager]: Resetting PEA to Boogie preferences to default values [2018-11-23 02:45:14,733 INFO L174 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2018-11-23 02:45:14,733 INFO L174 SettingsManager]: Resetting ChcToBoogie preferences to default values [2018-11-23 02:45:14,734 INFO L174 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2018-11-23 02:45:14,734 INFO L174 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2018-11-23 02:45:14,735 INFO L174 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2018-11-23 02:45:14,737 INFO L174 SettingsManager]: Resetting CodeCheck preferences to default values [2018-11-23 02:45:14,737 INFO L174 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2018-11-23 02:45:14,738 INFO L174 SettingsManager]: Resetting RCFGBuilder preferences to default values [2018-11-23 02:45:14,739 INFO L174 SettingsManager]: Resetting TraceAbstraction preferences to default values [2018-11-23 02:45:14,740 INFO L177 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2018-11-23 02:45:14,741 INFO L177 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2018-11-23 02:45:14,741 INFO L174 SettingsManager]: Resetting TreeAutomizer preferences to default values [2018-11-23 02:45:14,741 INFO L174 SettingsManager]: Resetting IcfgTransformer preferences to default values [2018-11-23 02:45:14,742 INFO L174 SettingsManager]: Resetting Boogie Printer preferences to default values [2018-11-23 02:45:14,742 INFO L174 SettingsManager]: Resetting ReqPrinter preferences to default values [2018-11-23 02:45:14,743 INFO L174 SettingsManager]: Resetting Witness Printer preferences to default values [2018-11-23 02:45:14,743 INFO L177 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2018-11-23 02:45:14,743 INFO L174 SettingsManager]: Resetting CDTParser preferences to default values [2018-11-23 02:45:14,744 INFO L177 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2018-11-23 02:45:14,744 INFO L177 SettingsManager]: ReqParser provides no preferences, ignoring... [2018-11-23 02:45:14,744 INFO L174 SettingsManager]: Resetting SmtParser preferences to default values [2018-11-23 02:45:14,744 INFO L174 SettingsManager]: Resetting Witness Parser preferences to default values [2018-11-23 02:45:14,745 INFO L181 SettingsManager]: Finished resetting all preferences to default values... [2018-11-23 02:45:14,745 INFO L98 SettingsManager]: Beginning loading settings from /tmp/vcloud-vcloud-master/worker/working_dir_e87c1232-fe71-4a39-af7a-41854da7f9d0/bin-2019/ukojak/config/svcomp-Reach-32bit-Kojak_Default.epf [2018-11-23 02:45:14,753 INFO L110 SettingsManager]: Loading preferences was successful [2018-11-23 02:45:14,753 INFO L112 SettingsManager]: Preferences different from defaults after loading the file: [2018-11-23 02:45:14,754 INFO L131 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2018-11-23 02:45:14,754 INFO L133 SettingsManager]: * ... to procedures called more than once=ALWAYS [2018-11-23 02:45:14,754 INFO L131 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2018-11-23 02:45:14,755 INFO L133 SettingsManager]: * Create parallel compositions if possible=false [2018-11-23 02:45:14,755 INFO L131 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2018-11-23 02:45:14,755 INFO L133 SettingsManager]: * sizeof long=4 [2018-11-23 02:45:14,755 INFO L133 SettingsManager]: * Overapproximate operations on floating types=true [2018-11-23 02:45:14,755 INFO L133 SettingsManager]: * sizeof POINTER=4 [2018-11-23 02:45:14,755 INFO L133 SettingsManager]: * Check division by zero=IGNORE [2018-11-23 02:45:14,755 INFO L133 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2018-11-23 02:45:14,756 INFO L133 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2018-11-23 02:45:14,756 INFO L133 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2018-11-23 02:45:14,756 INFO L133 SettingsManager]: * sizeof long double=12 [2018-11-23 02:45:14,756 INFO L133 SettingsManager]: * Check if freed pointer was valid=false [2018-11-23 02:45:14,756 INFO L133 SettingsManager]: * Use constant arrays=true [2018-11-23 02:45:14,756 INFO L133 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2018-11-23 02:45:14,756 INFO L131 SettingsManager]: Preferences of CodeCheck differ from their defaults: [2018-11-23 02:45:14,756 INFO L133 SettingsManager]: * Timeout in seconds=1000000 [2018-11-23 02:45:14,757 INFO L131 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2018-11-23 02:45:14,757 INFO L133 SettingsManager]: * To the following directory=./dump/ [2018-11-23 02:45:14,757 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:10000 [2018-11-23 02:45:14,757 INFO L131 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2018-11-23 02:45:14,757 INFO L133 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2018-11-23 02:45:14,757 INFO L133 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2018-11-23 02:45:14,757 INFO L133 SettingsManager]: * Trace refinement strategy=PENGUIN [2018-11-23 02:45:14,758 INFO L133 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2018-11-23 02:45:14,758 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2018-11-23 02:45:14,758 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_e87c1232-fe71-4a39-af7a-41854da7f9d0/bin-2019/ukojak 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 -> Kojak 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 -> 2718f642e307f3f62e4f4b06b51ef37595256727 [2018-11-23 02:45:14,782 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2018-11-23 02:45:14,791 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2018-11-23 02:45:14,794 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2018-11-23 02:45:14,795 INFO L271 PluginConnector]: Initializing CDTParser... [2018-11-23 02:45:14,795 INFO L276 PluginConnector]: CDTParser initialized [2018-11-23 02:45:14,796 INFO L418 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /tmp/vcloud-vcloud-master/worker/working_dir_e87c1232-fe71-4a39-af7a-41854da7f9d0/bin-2019/ukojak/../../sv-benchmarks/c/float-newlib/double_req_bl_1121a_true-unreach-call.c [2018-11-23 02:45:14,838 INFO L221 CDTParser]: Created temporary CDT project at /tmp/vcloud-vcloud-master/worker/working_dir_e87c1232-fe71-4a39-af7a-41854da7f9d0/bin-2019/ukojak/data/4e67e1e2e/bd66e4a31abf48aabf26fcef9bbb8336/FLAGf4e648e05 [2018-11-23 02:45:15,271 INFO L307 CDTParser]: Found 1 translation units. [2018-11-23 02:45:15,271 INFO L161 CDTParser]: Scanning /tmp/vcloud-vcloud-master/worker/working_dir_e87c1232-fe71-4a39-af7a-41854da7f9d0/sv-benchmarks/c/float-newlib/double_req_bl_1121a_true-unreach-call.c [2018-11-23 02:45:15,276 INFO L355 CDTParser]: About to delete temporary CDT project at /tmp/vcloud-vcloud-master/worker/working_dir_e87c1232-fe71-4a39-af7a-41854da7f9d0/bin-2019/ukojak/data/4e67e1e2e/bd66e4a31abf48aabf26fcef9bbb8336/FLAGf4e648e05 [2018-11-23 02:45:15,285 INFO L363 CDTParser]: Successfully deleted /tmp/vcloud-vcloud-master/worker/working_dir_e87c1232-fe71-4a39-af7a-41854da7f9d0/bin-2019/ukojak/data/4e67e1e2e/bd66e4a31abf48aabf26fcef9bbb8336 [2018-11-23 02:45:15,287 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2018-11-23 02:45:15,288 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2018-11-23 02:45:15,288 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2018-11-23 02:45:15,289 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2018-11-23 02:45:15,291 INFO L276 PluginConnector]: CACSL2BoogieTranslator initialized [2018-11-23 02:45:15,291 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 02:45:15" (1/1) ... [2018-11-23 02:45:15,293 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@719ae5cc and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 02:45:15, skipping insertion in model container [2018-11-23 02:45:15,293 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 02:45:15" (1/1) ... [2018-11-23 02:45:15,299 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2018-11-23 02:45:15,317 INFO L176 MainTranslator]: Built tables and reachable declarations [2018-11-23 02:45:15,464 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 02:45:15,467 INFO L191 MainTranslator]: Completed pre-run [2018-11-23 02:45:15,493 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 02:45:15,543 INFO L195 MainTranslator]: Completed translation [2018-11-23 02:45:15,544 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 02:45:15 WrapperNode [2018-11-23 02:45:15,544 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2018-11-23 02:45:15,544 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2018-11-23 02:45:15,544 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2018-11-23 02:45:15,544 INFO L276 PluginConnector]: Boogie Procedure Inliner initialized [2018-11-23 02:45:15,549 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 02:45:15" (1/1) ... [2018-11-23 02:45:15,558 INFO L185 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 02:45:15" (1/1) ... [2018-11-23 02:45:15,582 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2018-11-23 02:45:15,583 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2018-11-23 02:45:15,583 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2018-11-23 02:45:15,583 INFO L276 PluginConnector]: Boogie Preprocessor initialized [2018-11-23 02:45:15,592 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 02:45:15" (1/1) ... [2018-11-23 02:45:15,592 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 02:45:15" (1/1) ... [2018-11-23 02:45:15,595 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 02:45:15" (1/1) ... [2018-11-23 02:45:15,595 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 02:45:15" (1/1) ... [2018-11-23 02:45:15,604 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 02:45:15" (1/1) ... [2018-11-23 02:45:15,610 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 02:45:15" (1/1) ... [2018-11-23 02:45:15,611 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 02:45:15" (1/1) ... [2018-11-23 02:45:15,613 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2018-11-23 02:45:15,614 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2018-11-23 02:45:15,614 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2018-11-23 02:45:15,614 INFO L276 PluginConnector]: RCFGBuilder initialized [2018-11-23 02:45:15,614 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 02:45:15" (1/1) ... No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_e87c1232-fe71-4a39-af7a-41854da7f9d0/bin-2019/ukojak/z3 Starting monitored process 1 with z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:10000 (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:10000 [2018-11-23 02:45:15,646 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2018-11-23 02:45:15,646 INFO L130 BoogieDeclarations]: Found specification of procedure read~real [2018-11-23 02:45:15,646 INFO L130 BoogieDeclarations]: Found specification of procedure write~real [2018-11-23 02:45:15,646 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.alloc [2018-11-23 02:45:15,646 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2018-11-23 02:45:15,646 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2018-11-23 02:45:15,646 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2018-11-23 02:45:15,646 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~real [2018-11-23 02:45:15,646 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2018-11-23 02:45:16,123 INFO L275 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2018-11-23 02:45:16,124 INFO L280 CfgBuilder]: Removed 22 assue(true) statements. [2018-11-23 02:45:16,124 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 02:45:16 BoogieIcfgContainer [2018-11-23 02:45:16,124 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2018-11-23 02:45:16,124 INFO L113 PluginConnector]: ------------------------CodeCheck---------------------------- [2018-11-23 02:45:16,124 INFO L271 PluginConnector]: Initializing CodeCheck... [2018-11-23 02:45:16,131 INFO L276 PluginConnector]: CodeCheck initialized [2018-11-23 02:45:16,131 INFO L185 PluginConnector]: Executing the observer CodeCheckObserver from plugin CodeCheck for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 02:45:16" (1/1) ... [2018-11-23 02:45:16,138 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 02:45:16,156 INFO L82 GeneralOperation]: Start removeUnreachable. Operand no size info available [2018-11-23 02:45:16,160 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 66 states to 39 states and 66 transitions. [2018-11-23 02:45:16,161 INFO L276 IsEmpty]: Start isEmpty. Operand 39 states and 66 transitions. [2018-11-23 02:45:16,162 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 9 [2018-11-23 02:45:16,162 INFO L427 CodeCheckObserver]: Error Path is FOUND. [2018-11-23 02:45:16,218 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 02:45:16,241 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 02:45:16,247 INFO L82 GeneralOperation]: Start removeUnreachable. Operand no size info available [2018-11-23 02:45:16,247 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 61 states to 39 states and 61 transitions. [2018-11-23 02:45:16,247 INFO L276 IsEmpty]: Start isEmpty. Operand 39 states and 61 transitions. [2018-11-23 02:45:16,248 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 11 [2018-11-23 02:45:16,248 INFO L427 CodeCheckObserver]: Error Path is FOUND. [2018-11-23 02:45:16,300 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 02:45:16,326 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 02:45:16,370 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 02:45:16,380 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 02:45:16,396 WARN L493 CodeCheckObserver]: This program is UNSAFE, Check terminated with 2 iterations. ----- class de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder.RCFGBacktranslator [?] #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(16);call write~init~real(0.0, ~#Zero_fmod~0.base, ~#Zero_fmod~0.offset, 8);call write~init~real(~someUnaryDOUBLEoperation(0.0), ~#Zero_fmod~0.base, 8 + ~#Zero_fmod~0.offset, 8);havoc main_#res;havoc main_#t~nondet16, main_#t~ret17, main_#t~ret18, main_~x~0, main_~y~0, main_~res~0;main_~x~0 := main_#t~nondet16;havoc main_#t~nondet16;main_~y~0 := 0.0;fmod_double_#in~x, fmod_double_#in~y := main_~x~0, main_~y~0;havoc fmod_double_#res;havoc fmod_double_#t~mem0, fmod_double_#t~union1, fmod_double_#t~mem2, fmod_double_#t~union3, fmod_double_~#ew_u~0.base, fmod_double_~#ew_u~0.offset, fmod_double_#t~mem4, fmod_double_#t~union5, fmod_double_#t~mem6, fmod_double_#t~union7, fmod_double_~#ew_u~1.base, fmod_double_~#ew_u~1.offset, fmod_double_#t~mem8, fmod_double_#t~mem10, fmod_double_#t~post9, fmod_double_#t~mem11, fmod_double_#t~mem12, fmod_double_#t~union13.lsw, fmod_double_#t~union13.msw, fmod_double_~#iw_u~0.base, fmod_double_~#iw_u~0.offset, fmod_double_#t~mem14, fmod_double_#t~union15.lsw, fmod_double_#t~union15.msw, fmod_double_~#iw_u~1.base, fmod_double_~#iw_u~1.offset, fmod_double_~x, fmod_double_~y, fmod_double_~n~0, fmod_double_~hx~0, fmod_double_~hy~0, fmod_double_~hz~0, fmod_double_~ix~0, fmod_double_~iy~0, fmod_double_~sx~0, fmod_double_~i~0, fmod_double_~lx~0, fmod_double_~ly~0, fmod_double_~lz~0;fmod_double_~x := fmod_double_#in~x;fmod_double_~y := fmod_double_#in~y;havoc fmod_double_~n~0;havoc fmod_double_~hx~0;havoc fmod_double_~hy~0;havoc fmod_double_~hz~0;havoc fmod_double_~ix~0;havoc fmod_double_~iy~0;havoc fmod_double_~sx~0;havoc fmod_double_~i~0;havoc fmod_double_~lx~0;havoc fmod_double_~ly~0;havoc fmod_double_~lz~0; VAL [ULTIMATE.start_fmod_double_~x=7.0, ULTIMATE.start_fmod_double_~y=0.0, ULTIMATE.start_main_~x~0=7.0, ULTIMATE.start_main_~y~0=0.0, |#NULL.base|=0, |#NULL.offset|=0, |ULTIMATE.start_fmod_double_#in~x|=7.0, |ULTIMATE.start_fmod_double_#in~y|=0.0, |~#Zero_fmod~0.base|=2, |~#Zero_fmod~0.offset|=0, ~one_fmod~0=1.0] [?] call fmod_double_~#ew_u~0.base, fmod_double_~#ew_u~0.offset := #Ultimate.alloc(8);call write~real(fmod_double_~x, fmod_double_~#ew_u~0.base, fmod_double_~#ew_u~0.offset, 8);call fmod_double_#t~mem0 := read~int(fmod_double_~#ew_u~0.base, 4 + fmod_double_~#ew_u~0.offset, 4);fmod_double_~hx~0 := (if fmod_double_#t~mem0 % 4294967296 % 4294967296 <= 2147483647 then fmod_double_#t~mem0 % 4294967296 % 4294967296 else fmod_double_#t~mem0 % 4294967296 % 4294967296 - 4294967296);call write~real(fmod_double_#t~union1, fmod_double_~#ew_u~0.base, fmod_double_~#ew_u~0.offset, 8);havoc fmod_double_#t~union1;havoc fmod_double_#t~mem0;call fmod_double_#t~mem2 := read~int(fmod_double_~#ew_u~0.base, fmod_double_~#ew_u~0.offset, 4);fmod_double_~lx~0 := fmod_double_#t~mem2;call write~real(fmod_double_#t~union3, fmod_double_~#ew_u~0.base, fmod_double_~#ew_u~0.offset, 8);havoc fmod_double_#t~mem2;havoc fmod_double_#t~union3;call ULTIMATE.dealloc(fmod_double_~#ew_u~0.base, fmod_double_~#ew_u~0.offset);havoc fmod_double_~#ew_u~0.base, fmod_double_~#ew_u~0.offset; VAL [ULTIMATE.start_fmod_double_~hx~0=582, ULTIMATE.start_fmod_double_~lx~0=3, ULTIMATE.start_fmod_double_~x=7.0, ULTIMATE.start_fmod_double_~y=0.0, ULTIMATE.start_main_~x~0=7.0, ULTIMATE.start_main_~y~0=0.0, |#NULL.base|=0, |#NULL.offset|=0, |ULTIMATE.start_fmod_double_#in~x|=7.0, |ULTIMATE.start_fmod_double_#in~y|=0.0, |~#Zero_fmod~0.base|=2, |~#Zero_fmod~0.offset|=0, ~one_fmod~0=1.0] [?] goto; VAL [ULTIMATE.start_fmod_double_~hx~0=582, ULTIMATE.start_fmod_double_~lx~0=3, ULTIMATE.start_fmod_double_~x=7.0, ULTIMATE.start_fmod_double_~y=0.0, ULTIMATE.start_main_~x~0=7.0, ULTIMATE.start_main_~y~0=0.0, |#NULL.base|=0, |#NULL.offset|=0, |ULTIMATE.start_fmod_double_#in~x|=7.0, |ULTIMATE.start_fmod_double_#in~y|=0.0, |~#Zero_fmod~0.base|=2, |~#Zero_fmod~0.offset|=0, ~one_fmod~0=1.0] [?] call fmod_double_~#ew_u~1.base, fmod_double_~#ew_u~1.offset := #Ultimate.alloc(8);call write~real(fmod_double_~y, fmod_double_~#ew_u~1.base, fmod_double_~#ew_u~1.offset, 8);call fmod_double_#t~mem4 := read~int(fmod_double_~#ew_u~1.base, 4 + fmod_double_~#ew_u~1.offset, 4);fmod_double_~hy~0 := (if fmod_double_#t~mem4 % 4294967296 % 4294967296 <= 2147483647 then fmod_double_#t~mem4 % 4294967296 % 4294967296 else fmod_double_#t~mem4 % 4294967296 % 4294967296 - 4294967296);call write~real(fmod_double_#t~union5, fmod_double_~#ew_u~1.base, fmod_double_~#ew_u~1.offset, 8);havoc fmod_double_#t~union5;havoc fmod_double_#t~mem4;call fmod_double_#t~mem6 := read~int(fmod_double_~#ew_u~1.base, fmod_double_~#ew_u~1.offset, 4);fmod_double_~ly~0 := fmod_double_#t~mem6;call write~real(fmod_double_#t~union7, fmod_double_~#ew_u~1.base, fmod_double_~#ew_u~1.offset, 8);havoc fmod_double_#t~mem6;havoc fmod_double_#t~union7;call ULTIMATE.dealloc(fmod_double_~#ew_u~1.base, fmod_double_~#ew_u~1.offset);havoc fmod_double_~#ew_u~1.base, fmod_double_~#ew_u~1.offset; VAL [ULTIMATE.start_fmod_double_~hx~0=582, ULTIMATE.start_fmod_double_~hy~0=582, ULTIMATE.start_fmod_double_~lx~0=3, ULTIMATE.start_fmod_double_~ly~0=9, ULTIMATE.start_fmod_double_~x=7.0, ULTIMATE.start_fmod_double_~y=0.0, ULTIMATE.start_main_~x~0=7.0, ULTIMATE.start_main_~y~0=0.0, |#NULL.base|=0, |#NULL.offset|=0, |ULTIMATE.start_fmod_double_#in~x|=7.0, |ULTIMATE.start_fmod_double_#in~y|=0.0, |~#Zero_fmod~0.base|=2, |~#Zero_fmod~0.offset|=0, ~one_fmod~0=1.0] [?] goto; VAL [ULTIMATE.start_fmod_double_~hx~0=582, ULTIMATE.start_fmod_double_~hy~0=582, ULTIMATE.start_fmod_double_~lx~0=3, ULTIMATE.start_fmod_double_~ly~0=9, ULTIMATE.start_fmod_double_~x=7.0, ULTIMATE.start_fmod_double_~y=0.0, ULTIMATE.start_main_~x~0=7.0, ULTIMATE.start_main_~y~0=0.0, |#NULL.base|=0, |#NULL.offset|=0, |ULTIMATE.start_fmod_double_#in~x|=7.0, |ULTIMATE.start_fmod_double_#in~y|=0.0, |~#Zero_fmod~0.base|=2, |~#Zero_fmod~0.offset|=0, ~one_fmod~0=1.0] [?] fmod_double_~sx~0 := (if ~bitwiseAnd(fmod_double_~hx~0, 2147483648) % 4294967296 % 4294967296 <= 2147483647 then ~bitwiseAnd(fmod_double_~hx~0, 2147483648) % 4294967296 % 4294967296 else ~bitwiseAnd(fmod_double_~hx~0, 2147483648) % 4294967296 % 4294967296 - 4294967296);fmod_double_~hx~0 := ~bitwiseXor(fmod_double_~hx~0, fmod_double_~sx~0);fmod_double_~hy~0 := ~bitwiseAnd(fmod_double_~hy~0, 2147483647); VAL [ULTIMATE.start_fmod_double_~lx~0=3, ULTIMATE.start_fmod_double_~ly~0=9, ULTIMATE.start_fmod_double_~sx~0=2211, ULTIMATE.start_fmod_double_~x=7.0, ULTIMATE.start_fmod_double_~y=0.0, ULTIMATE.start_main_~x~0=7.0, ULTIMATE.start_main_~y~0=0.0, |#NULL.base|=0, |#NULL.offset|=0, |ULTIMATE.start_fmod_double_#in~x|=7.0, |ULTIMATE.start_fmod_double_#in~y|=0.0, |~#Zero_fmod~0.base|=2, |~#Zero_fmod~0.offset|=0, ~one_fmod~0=1.0] [?] assume (0 == ~bitwiseOr(fmod_double_~hy~0, fmod_double_~ly~0) % 4294967296 || fmod_double_~hx~0 >= 2146435072) || ~bitwiseOr(fmod_double_~hy~0, ~bitwiseOr(fmod_double_~ly~0, -fmod_double_~ly~0) / 2147483648) % 4294967296 > 2146435072;fmod_double_#res := ~someBinaryArithmeticDOUBLEoperation(~someBinaryArithmeticDOUBLEoperation(fmod_double_~x, fmod_double_~y), ~someBinaryArithmeticDOUBLEoperation(fmod_double_~x, fmod_double_~y)); VAL [ULTIMATE.start_fmod_double_~hx~0=0, ULTIMATE.start_fmod_double_~lx~0=3, ULTIMATE.start_fmod_double_~ly~0=9, ULTIMATE.start_fmod_double_~sx~0=2211, ULTIMATE.start_fmod_double_~x=7.0, ULTIMATE.start_fmod_double_~y=0.0, ULTIMATE.start_main_~x~0=7.0, ULTIMATE.start_main_~y~0=0.0, |#NULL.base|=0, |#NULL.offset|=0, |ULTIMATE.start_fmod_double_#in~x|=7.0, |ULTIMATE.start_fmod_double_#in~y|=0.0, |~#Zero_fmod~0.base|=2, |~#Zero_fmod~0.offset|=0, ~one_fmod~0=1.0] [?] main_#t~ret17 := fmod_double_#res;main_~res~0 := main_#t~ret17;havoc main_#t~ret17;isnan_double_#in~x := main_~res~0;havoc isnan_double_#res;havoc isnan_double_~x;isnan_double_~x := isnan_double_#in~x;isnan_double_#res := (if ~someBinaryDOUBLEComparisonOperation(isnan_double_~x, isnan_double_~x) then 1 else 0);main_#t~ret18 := isnan_double_#res;assume -2147483648 <= main_#t~ret18 && main_#t~ret18 <= 2147483647; VAL [ULTIMATE.start_fmod_double_~hx~0=0, ULTIMATE.start_fmod_double_~lx~0=3, ULTIMATE.start_fmod_double_~ly~0=9, ULTIMATE.start_fmod_double_~sx~0=2211, ULTIMATE.start_fmod_double_~x=7.0, ULTIMATE.start_fmod_double_~y=0.0, ULTIMATE.start_isnan_double_~x=8.0, ULTIMATE.start_main_~res~0=8.0, ULTIMATE.start_main_~x~0=7.0, ULTIMATE.start_main_~y~0=0.0, |#NULL.base|=0, |#NULL.offset|=0, |ULTIMATE.start_fmod_double_#in~x|=7.0, |ULTIMATE.start_fmod_double_#in~y|=0.0, |ULTIMATE.start_fmod_double_#res|=8.0, |ULTIMATE.start_isnan_double_#in~x|=8.0, |ULTIMATE.start_isnan_double_#res|=0, |ULTIMATE.start_main_#t~ret18|=0, |~#Zero_fmod~0.base|=2, |~#Zero_fmod~0.offset|=0, ~one_fmod~0=1.0] [?] assume 0 == main_#t~ret18;havoc main_#t~ret18; VAL [ULTIMATE.start_fmod_double_~hx~0=0, ULTIMATE.start_fmod_double_~lx~0=3, ULTIMATE.start_fmod_double_~ly~0=9, ULTIMATE.start_fmod_double_~sx~0=2211, ULTIMATE.start_fmod_double_~x=7.0, ULTIMATE.start_fmod_double_~y=0.0, ULTIMATE.start_isnan_double_~x=8.0, ULTIMATE.start_main_~res~0=8.0, ULTIMATE.start_main_~x~0=7.0, ULTIMATE.start_main_~y~0=0.0, |#NULL.base|=0, |#NULL.offset|=0, |ULTIMATE.start_fmod_double_#in~x|=7.0, |ULTIMATE.start_fmod_double_#in~y|=0.0, |ULTIMATE.start_fmod_double_#res|=8.0, |ULTIMATE.start_isnan_double_#in~x|=8.0, |ULTIMATE.start_isnan_double_#res|=0, |~#Zero_fmod~0.base|=2, |~#Zero_fmod~0.offset|=0, ~one_fmod~0=1.0] [?] assume !false; VAL [ULTIMATE.start_fmod_double_~hx~0=0, ULTIMATE.start_fmod_double_~lx~0=3, ULTIMATE.start_fmod_double_~ly~0=9, ULTIMATE.start_fmod_double_~sx~0=2211, ULTIMATE.start_fmod_double_~x=7.0, ULTIMATE.start_fmod_double_~y=0.0, ULTIMATE.start_isnan_double_~x=8.0, ULTIMATE.start_main_~res~0=8.0, ULTIMATE.start_main_~x~0=7.0, ULTIMATE.start_main_~y~0=0.0, |#NULL.base|=0, |#NULL.offset|=0, |ULTIMATE.start_fmod_double_#in~x|=7.0, |ULTIMATE.start_fmod_double_#in~y|=0.0, |ULTIMATE.start_fmod_double_#res|=8.0, |ULTIMATE.start_isnan_double_#in~x|=8.0, |ULTIMATE.start_isnan_double_#res|=0, |~#Zero_fmod~0.base|=2, |~#Zero_fmod~0.offset|=0, ~one_fmod~0=1.0] [?] #NULL.base, #NULL.offset := 0, 0; [?] #valid := #valid[0 := 0]; [L18-L21] ~one_fmod~0 := 1.0; [L18-L21] call ~#Zero_fmod~0.base, ~#Zero_fmod~0.offset := #Ultimate.alloc(16); [L18-L21] call write~init~real(0.0, ~#Zero_fmod~0.base, ~#Zero_fmod~0.offset, 8); [L18-L21] call write~init~real(~someUnaryDOUBLEoperation(0.0), ~#Zero_fmod~0.base, 8 + ~#Zero_fmod~0.offset, 8); [?] havoc main_#res; [?] havoc main_#t~nondet16, main_#t~ret17, main_#t~ret18, main_~x~0, main_~y~0, main_~res~0; [L169] main_~x~0 := main_#t~nondet16; [L169] havoc main_#t~nondet16; [L170] main_~y~0 := 0.0; [L171] fmod_double_#in~x, fmod_double_#in~y := main_~x~0, main_~y~0; [L171] havoc fmod_double_#res; [L171] havoc fmod_double_#t~mem0, fmod_double_#t~union1, fmod_double_#t~mem2, fmod_double_#t~union3, fmod_double_~#ew_u~0.base, fmod_double_~#ew_u~0.offset, fmod_double_#t~mem4, fmod_double_#t~union5, fmod_double_#t~mem6, fmod_double_#t~union7, fmod_double_~#ew_u~1.base, fmod_double_~#ew_u~1.offset, fmod_double_#t~mem8, fmod_double_#t~mem10, fmod_double_#t~post9, fmod_double_#t~mem11, fmod_double_#t~mem12, fmod_double_#t~union13.lsw, fmod_double_#t~union13.msw, fmod_double_~#iw_u~0.base, fmod_double_~#iw_u~0.offset, fmod_double_#t~mem14, fmod_double_#t~union15.lsw, fmod_double_#t~union15.msw, fmod_double_~#iw_u~1.base, fmod_double_~#iw_u~1.offset, fmod_double_~x, fmod_double_~y, fmod_double_~n~0, fmod_double_~hx~0, fmod_double_~hy~0, fmod_double_~hz~0, fmod_double_~ix~0, fmod_double_~iy~0, fmod_double_~sx~0, fmod_double_~i~0, fmod_double_~lx~0, fmod_double_~ly~0, fmod_double_~lz~0; [L23-L161] fmod_double_~x := fmod_double_#in~x; [L23-L161] fmod_double_~y := fmod_double_#in~y; [L24] havoc fmod_double_~n~0; [L24] havoc fmod_double_~hx~0; [L24] havoc fmod_double_~hy~0; [L24] havoc fmod_double_~hz~0; [L24] havoc fmod_double_~ix~0; [L24] havoc fmod_double_~iy~0; [L24] havoc fmod_double_~sx~0; [L24] havoc fmod_double_~i~0; [L25] havoc fmod_double_~lx~0; [L25] havoc fmod_double_~ly~0; [L25] havoc fmod_double_~lz~0; VAL [#NULL.base=0, #NULL.offset=0, fmod_double_#in~x=7.0, fmod_double_#in~y=0.0, fmod_double_~x=7.0, fmod_double_~y=0.0, main_~x~0=7.0, main_~y~0=0.0, ~#Zero_fmod~0.base=2, ~#Zero_fmod~0.offset=0, ~one_fmod~0=1.0] [L28] call fmod_double_~#ew_u~0.base, fmod_double_~#ew_u~0.offset := #Ultimate.alloc(8); [L29] call write~real(fmod_double_~x, fmod_double_~#ew_u~0.base, fmod_double_~#ew_u~0.offset, 8); [L30] call fmod_double_#t~mem0 := read~int(fmod_double_~#ew_u~0.base, 4 + fmod_double_~#ew_u~0.offset, 4); [L30] fmod_double_~hx~0 := (if fmod_double_#t~mem0 % 4294967296 % 4294967296 <= 2147483647 then fmod_double_#t~mem0 % 4294967296 % 4294967296 else fmod_double_#t~mem0 % 4294967296 % 4294967296 - 4294967296); [L30] call write~real(fmod_double_#t~union1, fmod_double_~#ew_u~0.base, fmod_double_~#ew_u~0.offset, 8); [L30] havoc fmod_double_#t~union1; [L30] havoc fmod_double_#t~mem0; [L31] call fmod_double_#t~mem2 := read~int(fmod_double_~#ew_u~0.base, fmod_double_~#ew_u~0.offset, 4); [L31] fmod_double_~lx~0 := fmod_double_#t~mem2; [L31] call write~real(fmod_double_#t~union3, fmod_double_~#ew_u~0.base, fmod_double_~#ew_u~0.offset, 8); [L31] havoc fmod_double_#t~mem2; [L31] havoc fmod_double_#t~union3; [L28] call ULTIMATE.dealloc(fmod_double_~#ew_u~0.base, fmod_double_~#ew_u~0.offset); [L28] havoc fmod_double_~#ew_u~0.base, fmod_double_~#ew_u~0.offset; VAL [#NULL.base=0, #NULL.offset=0, fmod_double_#in~x=7.0, fmod_double_#in~y=0.0, fmod_double_~hx~0=582, fmod_double_~lx~0=3, fmod_double_~x=7.0, fmod_double_~y=0.0, main_~x~0=7.0, main_~y~0=0.0, ~#Zero_fmod~0.base=2, ~#Zero_fmod~0.offset=0, ~one_fmod~0=1.0] [L34] call fmod_double_~#ew_u~1.base, fmod_double_~#ew_u~1.offset := #Ultimate.alloc(8); [L35] call write~real(fmod_double_~y, fmod_double_~#ew_u~1.base, fmod_double_~#ew_u~1.offset, 8); [L36] call fmod_double_#t~mem4 := read~int(fmod_double_~#ew_u~1.base, 4 + fmod_double_~#ew_u~1.offset, 4); [L36] fmod_double_~hy~0 := (if fmod_double_#t~mem4 % 4294967296 % 4294967296 <= 2147483647 then fmod_double_#t~mem4 % 4294967296 % 4294967296 else fmod_double_#t~mem4 % 4294967296 % 4294967296 - 4294967296); [L36] call write~real(fmod_double_#t~union5, fmod_double_~#ew_u~1.base, fmod_double_~#ew_u~1.offset, 8); [L36] havoc fmod_double_#t~union5; [L36] havoc fmod_double_#t~mem4; [L37] call fmod_double_#t~mem6 := read~int(fmod_double_~#ew_u~1.base, fmod_double_~#ew_u~1.offset, 4); [L37] fmod_double_~ly~0 := fmod_double_#t~mem6; [L37] call write~real(fmod_double_#t~union7, fmod_double_~#ew_u~1.base, fmod_double_~#ew_u~1.offset, 8); [L37] havoc fmod_double_#t~mem6; [L37] havoc fmod_double_#t~union7; [L34] call ULTIMATE.dealloc(fmod_double_~#ew_u~1.base, fmod_double_~#ew_u~1.offset); [L34] havoc fmod_double_~#ew_u~1.base, fmod_double_~#ew_u~1.offset; VAL [#NULL.base=0, #NULL.offset=0, fmod_double_#in~x=7.0, fmod_double_#in~y=0.0, fmod_double_~hx~0=582, fmod_double_~hy~0=582, fmod_double_~lx~0=3, fmod_double_~ly~0=9, fmod_double_~x=7.0, fmod_double_~y=0.0, main_~x~0=7.0, main_~y~0=0.0, ~#Zero_fmod~0.base=2, ~#Zero_fmod~0.offset=0, ~one_fmod~0=1.0] [L39] fmod_double_~sx~0 := (if ~bitwiseAnd(fmod_double_~hx~0, 2147483648) % 4294967296 % 4294967296 <= 2147483647 then ~bitwiseAnd(fmod_double_~hx~0, 2147483648) % 4294967296 % 4294967296 else ~bitwiseAnd(fmod_double_~hx~0, 2147483648) % 4294967296 % 4294967296 - 4294967296); [L40] fmod_double_~hx~0 := ~bitwiseXor(fmod_double_~hx~0, fmod_double_~sx~0); [L41] fmod_double_~hy~0 := ~bitwiseAnd(fmod_double_~hy~0, 2147483647); VAL [#NULL.base=0, #NULL.offset=0, fmod_double_#in~x=7.0, fmod_double_#in~y=0.0, fmod_double_~lx~0=3, fmod_double_~ly~0=9, fmod_double_~sx~0=2211, fmod_double_~x=7.0, fmod_double_~y=0.0, main_~x~0=7.0, main_~y~0=0.0, ~#Zero_fmod~0.base=2, ~#Zero_fmod~0.offset=0, ~one_fmod~0=1.0] [L43-L45] assume (0 == ~bitwiseOr(fmod_double_~hy~0, fmod_double_~ly~0) % 4294967296 || fmod_double_~hx~0 >= 2146435072) || ~bitwiseOr(fmod_double_~hy~0, ~bitwiseOr(fmod_double_~ly~0, -fmod_double_~ly~0) / 2147483648) % 4294967296 > 2146435072; [L45] fmod_double_#res := ~someBinaryArithmeticDOUBLEoperation(~someBinaryArithmeticDOUBLEoperation(fmod_double_~x, fmod_double_~y), ~someBinaryArithmeticDOUBLEoperation(fmod_double_~x, fmod_double_~y)); VAL [#NULL.base=0, #NULL.offset=0, fmod_double_#in~x=7.0, fmod_double_#in~y=0.0, fmod_double_~hx~0=0, fmod_double_~lx~0=3, fmod_double_~ly~0=9, fmod_double_~sx~0=2211, fmod_double_~x=7.0, fmod_double_~y=0.0, main_~x~0=7.0, main_~y~0=0.0, ~#Zero_fmod~0.base=2, ~#Zero_fmod~0.offset=0, ~one_fmod~0=1.0] [L171] main_#t~ret17 := fmod_double_#res; [L171] main_~res~0 := main_#t~ret17; [L171] havoc main_#t~ret17; [L174] isnan_double_#in~x := main_~res~0; [L174] havoc isnan_double_#res; [L174] havoc isnan_double_~x; [L16] isnan_double_~x := isnan_double_#in~x; [L16] isnan_double_#res := (if ~someBinaryDOUBLEComparisonOperation(isnan_double_~x, isnan_double_~x) then 1 else 0); [L174] main_#t~ret18 := isnan_double_#res; [L174] assume -2147483648 <= main_#t~ret18 && main_#t~ret18 <= 2147483647; VAL [#NULL.base=0, #NULL.offset=0, fmod_double_#in~x=7.0, fmod_double_#in~y=0.0, fmod_double_#res=8.0, fmod_double_~hx~0=0, fmod_double_~lx~0=3, fmod_double_~ly~0=9, fmod_double_~sx~0=2211, fmod_double_~x=7.0, fmod_double_~y=0.0, isnan_double_#in~x=8.0, isnan_double_#res=0, isnan_double_~x=8.0, main_#t~ret18=0, main_~res~0=8.0, main_~x~0=7.0, main_~y~0=0.0, ~#Zero_fmod~0.base=2, ~#Zero_fmod~0.offset=0, ~one_fmod~0=1.0] [L174-L177] assume 0 == main_#t~ret18; [L174] havoc main_#t~ret18; VAL [#NULL.base=0, #NULL.offset=0, fmod_double_#in~x=7.0, fmod_double_#in~y=0.0, fmod_double_#res=8.0, fmod_double_~hx~0=0, fmod_double_~lx~0=3, fmod_double_~ly~0=9, fmod_double_~sx~0=2211, fmod_double_~x=7.0, fmod_double_~y=0.0, isnan_double_#in~x=8.0, isnan_double_#res=0, isnan_double_~x=8.0, main_~res~0=8.0, main_~x~0=7.0, main_~y~0=0.0, ~#Zero_fmod~0.base=2, ~#Zero_fmod~0.offset=0, ~one_fmod~0=1.0] [L175] assert false; VAL [#NULL.base=0, #NULL.offset=0, fmod_double_#in~x=7.0, fmod_double_#in~y=0.0, fmod_double_#res=8.0, fmod_double_~hx~0=0, fmod_double_~lx~0=3, fmod_double_~ly~0=9, fmod_double_~sx~0=2211, fmod_double_~x=7.0, fmod_double_~y=0.0, isnan_double_#in~x=8.0, isnan_double_#res=0, isnan_double_~x=8.0, main_~res~0=8.0, main_~x~0=7.0, main_~y~0=0.0, ~#Zero_fmod~0.base=2, ~#Zero_fmod~0.offset=0, ~one_fmod~0=1.0] ----- ----- class de.uni_freiburg.informatik.ultimate.boogie.preprocessor.BoogiePreprocessorBacktranslator [?] #NULL.base, #NULL.offset := 0, 0; [?] #valid := #valid[0 := 0]; [L18-L21] ~one_fmod~0 := 1.0; [L18-L21] call ~#Zero_fmod~0.base, ~#Zero_fmod~0.offset := #Ultimate.alloc(16); [L18-L21] call write~init~real(0.0, ~#Zero_fmod~0.base, ~#Zero_fmod~0.offset, 8); [L18-L21] call write~init~real(~someUnaryDOUBLEoperation(0.0), ~#Zero_fmod~0.base, 8 + ~#Zero_fmod~0.offset, 8); [?] havoc main_#res; [?] havoc main_#t~nondet16, main_#t~ret17, main_#t~ret18, main_~x~0, main_~y~0, main_~res~0; [L169] main_~x~0 := main_#t~nondet16; [L169] havoc main_#t~nondet16; [L170] main_~y~0 := 0.0; [L171] fmod_double_#in~x, fmod_double_#in~y := main_~x~0, main_~y~0; [L171] havoc fmod_double_#res; [L171] havoc fmod_double_#t~mem0, fmod_double_#t~union1, fmod_double_#t~mem2, fmod_double_#t~union3, fmod_double_~#ew_u~0.base, fmod_double_~#ew_u~0.offset, fmod_double_#t~mem4, fmod_double_#t~union5, fmod_double_#t~mem6, fmod_double_#t~union7, fmod_double_~#ew_u~1.base, fmod_double_~#ew_u~1.offset, fmod_double_#t~mem8, fmod_double_#t~mem10, fmod_double_#t~post9, fmod_double_#t~mem11, fmod_double_#t~mem12, fmod_double_#t~union13.lsw, fmod_double_#t~union13.msw, fmod_double_~#iw_u~0.base, fmod_double_~#iw_u~0.offset, fmod_double_#t~mem14, fmod_double_#t~union15.lsw, fmod_double_#t~union15.msw, fmod_double_~#iw_u~1.base, fmod_double_~#iw_u~1.offset, fmod_double_~x, fmod_double_~y, fmod_double_~n~0, fmod_double_~hx~0, fmod_double_~hy~0, fmod_double_~hz~0, fmod_double_~ix~0, fmod_double_~iy~0, fmod_double_~sx~0, fmod_double_~i~0, fmod_double_~lx~0, fmod_double_~ly~0, fmod_double_~lz~0; [L23-L161] fmod_double_~x := fmod_double_#in~x; [L23-L161] fmod_double_~y := fmod_double_#in~y; [L24] havoc fmod_double_~n~0; [L24] havoc fmod_double_~hx~0; [L24] havoc fmod_double_~hy~0; [L24] havoc fmod_double_~hz~0; [L24] havoc fmod_double_~ix~0; [L24] havoc fmod_double_~iy~0; [L24] havoc fmod_double_~sx~0; [L24] havoc fmod_double_~i~0; [L25] havoc fmod_double_~lx~0; [L25] havoc fmod_double_~ly~0; [L25] havoc fmod_double_~lz~0; VAL [#NULL.base=0, #NULL.offset=0, fmod_double_#in~x=7.0, fmod_double_#in~y=0.0, fmod_double_~x=7.0, fmod_double_~y=0.0, main_~x~0=7.0, main_~y~0=0.0, ~#Zero_fmod~0.base=2, ~#Zero_fmod~0.offset=0, ~one_fmod~0=1.0] [L28] call fmod_double_~#ew_u~0.base, fmod_double_~#ew_u~0.offset := #Ultimate.alloc(8); [L29] call write~real(fmod_double_~x, fmod_double_~#ew_u~0.base, fmod_double_~#ew_u~0.offset, 8); [L30] call fmod_double_#t~mem0 := read~int(fmod_double_~#ew_u~0.base, 4 + fmod_double_~#ew_u~0.offset, 4); [L30] fmod_double_~hx~0 := (if fmod_double_#t~mem0 % 4294967296 % 4294967296 <= 2147483647 then fmod_double_#t~mem0 % 4294967296 % 4294967296 else fmod_double_#t~mem0 % 4294967296 % 4294967296 - 4294967296); [L30] call write~real(fmod_double_#t~union1, fmod_double_~#ew_u~0.base, fmod_double_~#ew_u~0.offset, 8); [L30] havoc fmod_double_#t~union1; [L30] havoc fmod_double_#t~mem0; [L31] call fmod_double_#t~mem2 := read~int(fmod_double_~#ew_u~0.base, fmod_double_~#ew_u~0.offset, 4); [L31] fmod_double_~lx~0 := fmod_double_#t~mem2; [L31] call write~real(fmod_double_#t~union3, fmod_double_~#ew_u~0.base, fmod_double_~#ew_u~0.offset, 8); [L31] havoc fmod_double_#t~mem2; [L31] havoc fmod_double_#t~union3; [L28] call ULTIMATE.dealloc(fmod_double_~#ew_u~0.base, fmod_double_~#ew_u~0.offset); [L28] havoc fmod_double_~#ew_u~0.base, fmod_double_~#ew_u~0.offset; VAL [#NULL.base=0, #NULL.offset=0, fmod_double_#in~x=7.0, fmod_double_#in~y=0.0, fmod_double_~hx~0=582, fmod_double_~lx~0=3, fmod_double_~x=7.0, fmod_double_~y=0.0, main_~x~0=7.0, main_~y~0=0.0, ~#Zero_fmod~0.base=2, ~#Zero_fmod~0.offset=0, ~one_fmod~0=1.0] [L34] call fmod_double_~#ew_u~1.base, fmod_double_~#ew_u~1.offset := #Ultimate.alloc(8); [L35] call write~real(fmod_double_~y, fmod_double_~#ew_u~1.base, fmod_double_~#ew_u~1.offset, 8); [L36] call fmod_double_#t~mem4 := read~int(fmod_double_~#ew_u~1.base, 4 + fmod_double_~#ew_u~1.offset, 4); [L36] fmod_double_~hy~0 := (if fmod_double_#t~mem4 % 4294967296 % 4294967296 <= 2147483647 then fmod_double_#t~mem4 % 4294967296 % 4294967296 else fmod_double_#t~mem4 % 4294967296 % 4294967296 - 4294967296); [L36] call write~real(fmod_double_#t~union5, fmod_double_~#ew_u~1.base, fmod_double_~#ew_u~1.offset, 8); [L36] havoc fmod_double_#t~union5; [L36] havoc fmod_double_#t~mem4; [L37] call fmod_double_#t~mem6 := read~int(fmod_double_~#ew_u~1.base, fmod_double_~#ew_u~1.offset, 4); [L37] fmod_double_~ly~0 := fmod_double_#t~mem6; [L37] call write~real(fmod_double_#t~union7, fmod_double_~#ew_u~1.base, fmod_double_~#ew_u~1.offset, 8); [L37] havoc fmod_double_#t~mem6; [L37] havoc fmod_double_#t~union7; [L34] call ULTIMATE.dealloc(fmod_double_~#ew_u~1.base, fmod_double_~#ew_u~1.offset); [L34] havoc fmod_double_~#ew_u~1.base, fmod_double_~#ew_u~1.offset; VAL [#NULL.base=0, #NULL.offset=0, fmod_double_#in~x=7.0, fmod_double_#in~y=0.0, fmod_double_~hx~0=582, fmod_double_~hy~0=582, fmod_double_~lx~0=3, fmod_double_~ly~0=9, fmod_double_~x=7.0, fmod_double_~y=0.0, main_~x~0=7.0, main_~y~0=0.0, ~#Zero_fmod~0.base=2, ~#Zero_fmod~0.offset=0, ~one_fmod~0=1.0] [L39] fmod_double_~sx~0 := (if ~bitwiseAnd(fmod_double_~hx~0, 2147483648) % 4294967296 % 4294967296 <= 2147483647 then ~bitwiseAnd(fmod_double_~hx~0, 2147483648) % 4294967296 % 4294967296 else ~bitwiseAnd(fmod_double_~hx~0, 2147483648) % 4294967296 % 4294967296 - 4294967296); [L40] fmod_double_~hx~0 := ~bitwiseXor(fmod_double_~hx~0, fmod_double_~sx~0); [L41] fmod_double_~hy~0 := ~bitwiseAnd(fmod_double_~hy~0, 2147483647); VAL [#NULL.base=0, #NULL.offset=0, fmod_double_#in~x=7.0, fmod_double_#in~y=0.0, fmod_double_~lx~0=3, fmod_double_~ly~0=9, fmod_double_~sx~0=2211, fmod_double_~x=7.0, fmod_double_~y=0.0, main_~x~0=7.0, main_~y~0=0.0, ~#Zero_fmod~0.base=2, ~#Zero_fmod~0.offset=0, ~one_fmod~0=1.0] [L43-L45] assume (0 == ~bitwiseOr(fmod_double_~hy~0, fmod_double_~ly~0) % 4294967296 || fmod_double_~hx~0 >= 2146435072) || ~bitwiseOr(fmod_double_~hy~0, ~bitwiseOr(fmod_double_~ly~0, -fmod_double_~ly~0) / 2147483648) % 4294967296 > 2146435072; [L45] fmod_double_#res := ~someBinaryArithmeticDOUBLEoperation(~someBinaryArithmeticDOUBLEoperation(fmod_double_~x, fmod_double_~y), ~someBinaryArithmeticDOUBLEoperation(fmod_double_~x, fmod_double_~y)); VAL [#NULL.base=0, #NULL.offset=0, fmod_double_#in~x=7.0, fmod_double_#in~y=0.0, fmod_double_~hx~0=0, fmod_double_~lx~0=3, fmod_double_~ly~0=9, fmod_double_~sx~0=2211, fmod_double_~x=7.0, fmod_double_~y=0.0, main_~x~0=7.0, main_~y~0=0.0, ~#Zero_fmod~0.base=2, ~#Zero_fmod~0.offset=0, ~one_fmod~0=1.0] [L171] main_#t~ret17 := fmod_double_#res; [L171] main_~res~0 := main_#t~ret17; [L171] havoc main_#t~ret17; [L174] isnan_double_#in~x := main_~res~0; [L174] havoc isnan_double_#res; [L174] havoc isnan_double_~x; [L16] isnan_double_~x := isnan_double_#in~x; [L16] isnan_double_#res := (if ~someBinaryDOUBLEComparisonOperation(isnan_double_~x, isnan_double_~x) then 1 else 0); [L174] main_#t~ret18 := isnan_double_#res; [L174] assume -2147483648 <= main_#t~ret18 && main_#t~ret18 <= 2147483647; VAL [#NULL.base=0, #NULL.offset=0, fmod_double_#in~x=7.0, fmod_double_#in~y=0.0, fmod_double_#res=8.0, fmod_double_~hx~0=0, fmod_double_~lx~0=3, fmod_double_~ly~0=9, fmod_double_~sx~0=2211, fmod_double_~x=7.0, fmod_double_~y=0.0, isnan_double_#in~x=8.0, isnan_double_#res=0, isnan_double_~x=8.0, main_#t~ret18=0, main_~res~0=8.0, main_~x~0=7.0, main_~y~0=0.0, ~#Zero_fmod~0.base=2, ~#Zero_fmod~0.offset=0, ~one_fmod~0=1.0] [L174-L177] assume 0 == main_#t~ret18; [L174] havoc main_#t~ret18; VAL [#NULL.base=0, #NULL.offset=0, fmod_double_#in~x=7.0, fmod_double_#in~y=0.0, fmod_double_#res=8.0, fmod_double_~hx~0=0, fmod_double_~lx~0=3, fmod_double_~ly~0=9, fmod_double_~sx~0=2211, fmod_double_~x=7.0, fmod_double_~y=0.0, isnan_double_#in~x=8.0, isnan_double_#res=0, isnan_double_~x=8.0, main_~res~0=8.0, main_~x~0=7.0, main_~y~0=0.0, ~#Zero_fmod~0.base=2, ~#Zero_fmod~0.offset=0, ~one_fmod~0=1.0] [L175] assert false; VAL [#NULL.base=0, #NULL.offset=0, fmod_double_#in~x=7.0, fmod_double_#in~y=0.0, fmod_double_#res=8.0, fmod_double_~hx~0=0, fmod_double_~lx~0=3, fmod_double_~ly~0=9, fmod_double_~sx~0=2211, fmod_double_~x=7.0, fmod_double_~y=0.0, isnan_double_#in~x=8.0, isnan_double_#res=0, isnan_double_~x=8.0, main_~res~0=8.0, main_~x~0=7.0, main_~y~0=0.0, ~#Zero_fmod~0.base=2, ~#Zero_fmod~0.offset=0, ~one_fmod~0=1.0] [?] #NULL := { base: 0, offset: 0 }; [?] #valid[0] := 0; [L18-L21] ~one_fmod~0 := 1.0; [L18-L21] FCALL call ~#Zero_fmod~0 := #Ultimate.alloc(16); [L18-L21] FCALL call write~init~real(0.0, { base: ~#Zero_fmod~0!base, offset: ~#Zero_fmod~0!offset }, 8); [L18-L21] FCALL call write~init~real(~someUnaryDOUBLEoperation(0.0), { base: ~#Zero_fmod~0!base, offset: 8 + ~#Zero_fmod~0!offset }, 8); [?] havoc main_#res; [?] havoc main_#t~nondet16, main_#t~ret17, main_#t~ret18, main_~x~0, main_~y~0, main_~res~0; [L169] main_~x~0 := main_#t~nondet16; [L169] havoc main_#t~nondet16; [L170] main_~y~0 := 0.0; [L171] fmod_double_#in~x, fmod_double_#in~y := main_~x~0, main_~y~0; [L171] havoc fmod_double_#res; [L171] havoc fmod_double_#t~mem0, fmod_double_#t~union1, fmod_double_#t~mem2, fmod_double_#t~union3, fmod_double_~#ew_u~0, fmod_double_#t~mem4, fmod_double_#t~union5, fmod_double_#t~mem6, fmod_double_#t~union7, fmod_double_~#ew_u~1, fmod_double_#t~mem8, fmod_double_#t~mem10, fmod_double_#t~post9, fmod_double_#t~mem11, fmod_double_#t~mem12, fmod_double_#t~union13, fmod_double_~#iw_u~0, fmod_double_#t~mem14, fmod_double_#t~union15, fmod_double_~#iw_u~1, fmod_double_~x, fmod_double_~y, fmod_double_~n~0, fmod_double_~hx~0, fmod_double_~hy~0, fmod_double_~hz~0, fmod_double_~ix~0, fmod_double_~iy~0, fmod_double_~sx~0, fmod_double_~i~0, fmod_double_~lx~0, fmod_double_~ly~0, fmod_double_~lz~0; [L23-L161] fmod_double_~x := fmod_double_#in~x; [L23-L161] fmod_double_~y := fmod_double_#in~y; [L24] havoc fmod_double_~n~0; [L24] havoc fmod_double_~hx~0; [L24] havoc fmod_double_~hy~0; [L24] havoc fmod_double_~hz~0; [L24] havoc fmod_double_~ix~0; [L24] havoc fmod_double_~iy~0; [L24] havoc fmod_double_~sx~0; [L24] havoc fmod_double_~i~0; [L25] havoc fmod_double_~lx~0; [L25] havoc fmod_double_~ly~0; [L25] havoc fmod_double_~lz~0; VAL [#NULL!base=0, #NULL!offset=0, fmod_double_#in~x=7.0, fmod_double_#in~y=0.0, fmod_double_~x=7.0, fmod_double_~y=0.0, main_~x~0=7.0, main_~y~0=0.0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L28] FCALL call fmod_double_~#ew_u~0 := #Ultimate.alloc(8); [L29] FCALL call write~real(fmod_double_~x, { base: fmod_double_~#ew_u~0!base, offset: fmod_double_~#ew_u~0!offset }, 8); [L30] FCALL call fmod_double_#t~mem0 := read~int({ base: fmod_double_~#ew_u~0!base, offset: 4 + fmod_double_~#ew_u~0!offset }, 4); [L30] fmod_double_~hx~0 := (if fmod_double_#t~mem0 % 4294967296 % 4294967296 <= 2147483647 then fmod_double_#t~mem0 % 4294967296 % 4294967296 else fmod_double_#t~mem0 % 4294967296 % 4294967296 - 4294967296); [L30] FCALL call write~real(fmod_double_#t~union1, { base: fmod_double_~#ew_u~0!base, offset: fmod_double_~#ew_u~0!offset }, 8); [L30] havoc fmod_double_#t~union1; [L30] havoc fmod_double_#t~mem0; [L31] FCALL call fmod_double_#t~mem2 := read~int({ base: fmod_double_~#ew_u~0!base, offset: fmod_double_~#ew_u~0!offset }, 4); [L31] fmod_double_~lx~0 := fmod_double_#t~mem2; [L31] FCALL call write~real(fmod_double_#t~union3, { base: fmod_double_~#ew_u~0!base, offset: fmod_double_~#ew_u~0!offset }, 8); [L31] havoc fmod_double_#t~mem2; [L31] havoc fmod_double_#t~union3; [L28] FCALL call ULTIMATE.dealloc(fmod_double_~#ew_u~0); [L28] havoc fmod_double_~#ew_u~0; VAL [#NULL!base=0, #NULL!offset=0, fmod_double_#in~x=7.0, fmod_double_#in~y=0.0, fmod_double_~hx~0=582, fmod_double_~lx~0=3, fmod_double_~x=7.0, fmod_double_~y=0.0, main_~x~0=7.0, main_~y~0=0.0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L34] FCALL call fmod_double_~#ew_u~1 := #Ultimate.alloc(8); [L35] FCALL call write~real(fmod_double_~y, { base: fmod_double_~#ew_u~1!base, offset: fmod_double_~#ew_u~1!offset }, 8); [L36] FCALL call fmod_double_#t~mem4 := read~int({ base: fmod_double_~#ew_u~1!base, offset: 4 + fmod_double_~#ew_u~1!offset }, 4); [L36] fmod_double_~hy~0 := (if fmod_double_#t~mem4 % 4294967296 % 4294967296 <= 2147483647 then fmod_double_#t~mem4 % 4294967296 % 4294967296 else fmod_double_#t~mem4 % 4294967296 % 4294967296 - 4294967296); [L36] FCALL call write~real(fmod_double_#t~union5, { base: fmod_double_~#ew_u~1!base, offset: fmod_double_~#ew_u~1!offset }, 8); [L36] havoc fmod_double_#t~union5; [L36] havoc fmod_double_#t~mem4; [L37] FCALL call fmod_double_#t~mem6 := read~int({ base: fmod_double_~#ew_u~1!base, offset: fmod_double_~#ew_u~1!offset }, 4); [L37] fmod_double_~ly~0 := fmod_double_#t~mem6; [L37] FCALL call write~real(fmod_double_#t~union7, { base: fmod_double_~#ew_u~1!base, offset: fmod_double_~#ew_u~1!offset }, 8); [L37] havoc fmod_double_#t~mem6; [L37] havoc fmod_double_#t~union7; [L34] FCALL call ULTIMATE.dealloc(fmod_double_~#ew_u~1); [L34] havoc fmod_double_~#ew_u~1; VAL [#NULL!base=0, #NULL!offset=0, fmod_double_#in~x=7.0, fmod_double_#in~y=0.0, fmod_double_~hx~0=582, fmod_double_~hy~0=582, fmod_double_~lx~0=3, fmod_double_~ly~0=9, fmod_double_~x=7.0, fmod_double_~y=0.0, main_~x~0=7.0, main_~y~0=0.0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L39] fmod_double_~sx~0 := (if ~bitwiseAnd(fmod_double_~hx~0, 2147483648) % 4294967296 % 4294967296 <= 2147483647 then ~bitwiseAnd(fmod_double_~hx~0, 2147483648) % 4294967296 % 4294967296 else ~bitwiseAnd(fmod_double_~hx~0, 2147483648) % 4294967296 % 4294967296 - 4294967296); [L40] fmod_double_~hx~0 := ~bitwiseXor(fmod_double_~hx~0, fmod_double_~sx~0); [L41] fmod_double_~hy~0 := ~bitwiseAnd(fmod_double_~hy~0, 2147483647); VAL [#NULL!base=0, #NULL!offset=0, fmod_double_#in~x=7.0, fmod_double_#in~y=0.0, fmod_double_~lx~0=3, fmod_double_~ly~0=9, fmod_double_~sx~0=2211, fmod_double_~x=7.0, fmod_double_~y=0.0, main_~x~0=7.0, main_~y~0=0.0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L43-L44] COND TRUE (0 == ~bitwiseOr(fmod_double_~hy~0, fmod_double_~ly~0) % 4294967296 || fmod_double_~hx~0 >= 2146435072) || ~bitwiseOr(fmod_double_~hy~0, ~bitwiseOr(fmod_double_~ly~0, -fmod_double_~ly~0) / 2147483648) % 4294967296 > 2146435072 [L45] fmod_double_#res := ~someBinaryArithmeticDOUBLEoperation(~someBinaryArithmeticDOUBLEoperation(fmod_double_~x, fmod_double_~y), ~someBinaryArithmeticDOUBLEoperation(fmod_double_~x, fmod_double_~y)); VAL [#NULL!base=0, #NULL!offset=0, fmod_double_#in~x=7.0, fmod_double_#in~y=0.0, fmod_double_~hx~0=0, fmod_double_~lx~0=3, fmod_double_~ly~0=9, fmod_double_~sx~0=2211, fmod_double_~x=7.0, fmod_double_~y=0.0, main_~x~0=7.0, main_~y~0=0.0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L171] main_#t~ret17 := fmod_double_#res; [L171] main_~res~0 := main_#t~ret17; [L171] havoc main_#t~ret17; [L174] isnan_double_#in~x := main_~res~0; [L174] havoc isnan_double_#res; [L174] havoc isnan_double_~x; [L16] isnan_double_~x := isnan_double_#in~x; [L16] isnan_double_#res := (if ~someBinaryDOUBLEComparisonOperation(isnan_double_~x, isnan_double_~x) then 1 else 0); [L174] main_#t~ret18 := isnan_double_#res; [L174] assume -2147483648 <= main_#t~ret18 && main_#t~ret18 <= 2147483647; VAL [#NULL!base=0, #NULL!offset=0, fmod_double_#in~x=7.0, fmod_double_#in~y=0.0, fmod_double_#res=8.0, fmod_double_~hx~0=0, fmod_double_~lx~0=3, fmod_double_~ly~0=9, fmod_double_~sx~0=2211, fmod_double_~x=7.0, fmod_double_~y=0.0, isnan_double_#in~x=8.0, isnan_double_#res=0, isnan_double_~x=8.0, main_#t~ret18=0, main_~res~0=8.0, main_~x~0=7.0, main_~y~0=0.0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L174] COND TRUE 0 == main_#t~ret18 [L174] havoc main_#t~ret18; VAL [#NULL!base=0, #NULL!offset=0, fmod_double_#in~x=7.0, fmod_double_#in~y=0.0, fmod_double_#res=8.0, fmod_double_~hx~0=0, fmod_double_~lx~0=3, fmod_double_~ly~0=9, fmod_double_~sx~0=2211, fmod_double_~x=7.0, fmod_double_~y=0.0, isnan_double_#in~x=8.0, isnan_double_#res=0, isnan_double_~x=8.0, main_~res~0=8.0, main_~x~0=7.0, main_~y~0=0.0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L175] assert false; VAL [#NULL!base=0, #NULL!offset=0, fmod_double_#in~x=7.0, fmod_double_#in~y=0.0, fmod_double_#res=8.0, fmod_double_~hx~0=0, fmod_double_~lx~0=3, fmod_double_~ly~0=9, fmod_double_~sx~0=2211, fmod_double_~x=7.0, fmod_double_~y=0.0, isnan_double_#in~x=8.0, isnan_double_#res=0, isnan_double_~x=8.0, main_~res~0=8.0, main_~x~0=7.0, main_~y~0=0.0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] ----- ----- class de.uni_freiburg.informatik.ultimate.boogie.procedureinliner.backtranslation.InlinerBacktranslator [?] #NULL := { base: 0, offset: 0 }; [?] #valid[0] := 0; [L18-L21] ~one_fmod~0 := 1.0; [L18-L21] FCALL call ~#Zero_fmod~0 := #Ultimate.alloc(16); [L18-L21] FCALL call write~init~real(0.0, { base: ~#Zero_fmod~0!base, offset: ~#Zero_fmod~0!offset }, 8); [L18-L21] FCALL call write~init~real(~someUnaryDOUBLEoperation(0.0), { base: ~#Zero_fmod~0!base, offset: 8 + ~#Zero_fmod~0!offset }, 8); [?] havoc main_#res; [?] havoc main_#t~nondet16, main_#t~ret17, main_#t~ret18, main_~x~0, main_~y~0, main_~res~0; [L169] main_~x~0 := main_#t~nondet16; [L169] havoc main_#t~nondet16; [L170] main_~y~0 := 0.0; [L171] fmod_double_#in~x, fmod_double_#in~y := main_~x~0, main_~y~0; [L171] havoc fmod_double_#res; [L171] havoc fmod_double_#t~mem0, fmod_double_#t~union1, fmod_double_#t~mem2, fmod_double_#t~union3, fmod_double_~#ew_u~0, fmod_double_#t~mem4, fmod_double_#t~union5, fmod_double_#t~mem6, fmod_double_#t~union7, fmod_double_~#ew_u~1, fmod_double_#t~mem8, fmod_double_#t~mem10, fmod_double_#t~post9, fmod_double_#t~mem11, fmod_double_#t~mem12, fmod_double_#t~union13, fmod_double_~#iw_u~0, fmod_double_#t~mem14, fmod_double_#t~union15, fmod_double_~#iw_u~1, fmod_double_~x, fmod_double_~y, fmod_double_~n~0, fmod_double_~hx~0, fmod_double_~hy~0, fmod_double_~hz~0, fmod_double_~ix~0, fmod_double_~iy~0, fmod_double_~sx~0, fmod_double_~i~0, fmod_double_~lx~0, fmod_double_~ly~0, fmod_double_~lz~0; [L23-L161] fmod_double_~x := fmod_double_#in~x; [L23-L161] fmod_double_~y := fmod_double_#in~y; [L24] havoc fmod_double_~n~0; [L24] havoc fmod_double_~hx~0; [L24] havoc fmod_double_~hy~0; [L24] havoc fmod_double_~hz~0; [L24] havoc fmod_double_~ix~0; [L24] havoc fmod_double_~iy~0; [L24] havoc fmod_double_~sx~0; [L24] havoc fmod_double_~i~0; [L25] havoc fmod_double_~lx~0; [L25] havoc fmod_double_~ly~0; [L25] havoc fmod_double_~lz~0; VAL [#NULL!base=0, #NULL!offset=0, fmod_double_#in~x=7.0, fmod_double_#in~y=0.0, fmod_double_~x=7.0, fmod_double_~y=0.0, main_~x~0=7.0, main_~y~0=0.0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L28] FCALL call fmod_double_~#ew_u~0 := #Ultimate.alloc(8); [L29] FCALL call write~real(fmod_double_~x, { base: fmod_double_~#ew_u~0!base, offset: fmod_double_~#ew_u~0!offset }, 8); [L30] FCALL call fmod_double_#t~mem0 := read~int({ base: fmod_double_~#ew_u~0!base, offset: 4 + fmod_double_~#ew_u~0!offset }, 4); [L30] fmod_double_~hx~0 := (if fmod_double_#t~mem0 % 4294967296 % 4294967296 <= 2147483647 then fmod_double_#t~mem0 % 4294967296 % 4294967296 else fmod_double_#t~mem0 % 4294967296 % 4294967296 - 4294967296); [L30] FCALL call write~real(fmod_double_#t~union1, { base: fmod_double_~#ew_u~0!base, offset: fmod_double_~#ew_u~0!offset }, 8); [L30] havoc fmod_double_#t~union1; [L30] havoc fmod_double_#t~mem0; [L31] FCALL call fmod_double_#t~mem2 := read~int({ base: fmod_double_~#ew_u~0!base, offset: fmod_double_~#ew_u~0!offset }, 4); [L31] fmod_double_~lx~0 := fmod_double_#t~mem2; [L31] FCALL call write~real(fmod_double_#t~union3, { base: fmod_double_~#ew_u~0!base, offset: fmod_double_~#ew_u~0!offset }, 8); [L31] havoc fmod_double_#t~mem2; [L31] havoc fmod_double_#t~union3; [L28] FCALL call ULTIMATE.dealloc(fmod_double_~#ew_u~0); [L28] havoc fmod_double_~#ew_u~0; VAL [#NULL!base=0, #NULL!offset=0, fmod_double_#in~x=7.0, fmod_double_#in~y=0.0, fmod_double_~hx~0=582, fmod_double_~lx~0=3, fmod_double_~x=7.0, fmod_double_~y=0.0, main_~x~0=7.0, main_~y~0=0.0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L34] FCALL call fmod_double_~#ew_u~1 := #Ultimate.alloc(8); [L35] FCALL call write~real(fmod_double_~y, { base: fmod_double_~#ew_u~1!base, offset: fmod_double_~#ew_u~1!offset }, 8); [L36] FCALL call fmod_double_#t~mem4 := read~int({ base: fmod_double_~#ew_u~1!base, offset: 4 + fmod_double_~#ew_u~1!offset }, 4); [L36] fmod_double_~hy~0 := (if fmod_double_#t~mem4 % 4294967296 % 4294967296 <= 2147483647 then fmod_double_#t~mem4 % 4294967296 % 4294967296 else fmod_double_#t~mem4 % 4294967296 % 4294967296 - 4294967296); [L36] FCALL call write~real(fmod_double_#t~union5, { base: fmod_double_~#ew_u~1!base, offset: fmod_double_~#ew_u~1!offset }, 8); [L36] havoc fmod_double_#t~union5; [L36] havoc fmod_double_#t~mem4; [L37] FCALL call fmod_double_#t~mem6 := read~int({ base: fmod_double_~#ew_u~1!base, offset: fmod_double_~#ew_u~1!offset }, 4); [L37] fmod_double_~ly~0 := fmod_double_#t~mem6; [L37] FCALL call write~real(fmod_double_#t~union7, { base: fmod_double_~#ew_u~1!base, offset: fmod_double_~#ew_u~1!offset }, 8); [L37] havoc fmod_double_#t~mem6; [L37] havoc fmod_double_#t~union7; [L34] FCALL call ULTIMATE.dealloc(fmod_double_~#ew_u~1); [L34] havoc fmod_double_~#ew_u~1; VAL [#NULL!base=0, #NULL!offset=0, fmod_double_#in~x=7.0, fmod_double_#in~y=0.0, fmod_double_~hx~0=582, fmod_double_~hy~0=582, fmod_double_~lx~0=3, fmod_double_~ly~0=9, fmod_double_~x=7.0, fmod_double_~y=0.0, main_~x~0=7.0, main_~y~0=0.0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L39] fmod_double_~sx~0 := (if ~bitwiseAnd(fmod_double_~hx~0, 2147483648) % 4294967296 % 4294967296 <= 2147483647 then ~bitwiseAnd(fmod_double_~hx~0, 2147483648) % 4294967296 % 4294967296 else ~bitwiseAnd(fmod_double_~hx~0, 2147483648) % 4294967296 % 4294967296 - 4294967296); [L40] fmod_double_~hx~0 := ~bitwiseXor(fmod_double_~hx~0, fmod_double_~sx~0); [L41] fmod_double_~hy~0 := ~bitwiseAnd(fmod_double_~hy~0, 2147483647); VAL [#NULL!base=0, #NULL!offset=0, fmod_double_#in~x=7.0, fmod_double_#in~y=0.0, fmod_double_~lx~0=3, fmod_double_~ly~0=9, fmod_double_~sx~0=2211, fmod_double_~x=7.0, fmod_double_~y=0.0, main_~x~0=7.0, main_~y~0=0.0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L43-L44] COND TRUE (0 == ~bitwiseOr(fmod_double_~hy~0, fmod_double_~ly~0) % 4294967296 || fmod_double_~hx~0 >= 2146435072) || ~bitwiseOr(fmod_double_~hy~0, ~bitwiseOr(fmod_double_~ly~0, -fmod_double_~ly~0) / 2147483648) % 4294967296 > 2146435072 [L45] fmod_double_#res := ~someBinaryArithmeticDOUBLEoperation(~someBinaryArithmeticDOUBLEoperation(fmod_double_~x, fmod_double_~y), ~someBinaryArithmeticDOUBLEoperation(fmod_double_~x, fmod_double_~y)); VAL [#NULL!base=0, #NULL!offset=0, fmod_double_#in~x=7.0, fmod_double_#in~y=0.0, fmod_double_~hx~0=0, fmod_double_~lx~0=3, fmod_double_~ly~0=9, fmod_double_~sx~0=2211, fmod_double_~x=7.0, fmod_double_~y=0.0, main_~x~0=7.0, main_~y~0=0.0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L171] main_#t~ret17 := fmod_double_#res; [L171] main_~res~0 := main_#t~ret17; [L171] havoc main_#t~ret17; [L174] isnan_double_#in~x := main_~res~0; [L174] havoc isnan_double_#res; [L174] havoc isnan_double_~x; [L16] isnan_double_~x := isnan_double_#in~x; [L16] isnan_double_#res := (if ~someBinaryDOUBLEComparisonOperation(isnan_double_~x, isnan_double_~x) then 1 else 0); [L174] main_#t~ret18 := isnan_double_#res; [L174] assume -2147483648 <= main_#t~ret18 && main_#t~ret18 <= 2147483647; VAL [#NULL!base=0, #NULL!offset=0, fmod_double_#in~x=7.0, fmod_double_#in~y=0.0, fmod_double_#res=8.0, fmod_double_~hx~0=0, fmod_double_~lx~0=3, fmod_double_~ly~0=9, fmod_double_~sx~0=2211, fmod_double_~x=7.0, fmod_double_~y=0.0, isnan_double_#in~x=8.0, isnan_double_#res=0, isnan_double_~x=8.0, main_#t~ret18=0, main_~res~0=8.0, main_~x~0=7.0, main_~y~0=0.0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L174] COND TRUE 0 == main_#t~ret18 [L174] havoc main_#t~ret18; VAL [#NULL!base=0, #NULL!offset=0, fmod_double_#in~x=7.0, fmod_double_#in~y=0.0, fmod_double_#res=8.0, fmod_double_~hx~0=0, fmod_double_~lx~0=3, fmod_double_~ly~0=9, fmod_double_~sx~0=2211, fmod_double_~x=7.0, fmod_double_~y=0.0, isnan_double_#in~x=8.0, isnan_double_#res=0, isnan_double_~x=8.0, main_~res~0=8.0, main_~x~0=7.0, main_~y~0=0.0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L175] assert false; VAL [#NULL!base=0, #NULL!offset=0, fmod_double_#in~x=7.0, fmod_double_#in~y=0.0, fmod_double_#res=8.0, fmod_double_~hx~0=0, fmod_double_~lx~0=3, fmod_double_~ly~0=9, fmod_double_~sx~0=2211, fmod_double_~x=7.0, fmod_double_~y=0.0, isnan_double_#in~x=8.0, isnan_double_#res=0, isnan_double_~x=8.0, main_~res~0=8.0, main_~x~0=7.0, main_~y~0=0.0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [?] #NULL := { base: 0, offset: 0 }; [?] #valid[0] := 0; [L18-L21] ~one_fmod~0 := 1.0; [L18-L21] FCALL call ~#Zero_fmod~0 := #Ultimate.alloc(16); [L18-L21] FCALL call write~init~real(0.0, { base: ~#Zero_fmod~0!base, offset: ~#Zero_fmod~0!offset }, 8); [L18-L21] FCALL call write~init~real(~someUnaryDOUBLEoperation(0.0), { base: ~#Zero_fmod~0!base, offset: 8 + ~#Zero_fmod~0!offset }, 8); [L169] ~x~0 := #t~nondet16; [L169] havoc #t~nondet16; [L170] ~y~0 := 0.0; [L23-L161] ~x := #in~x; [L23-L161] ~y := #in~y; [L24] havoc ~n~0; [L24] havoc ~hx~0; [L24] havoc ~hy~0; [L24] havoc ~hz~0; [L24] havoc ~ix~0; [L24] havoc ~iy~0; [L24] havoc ~sx~0; [L24] havoc ~i~0; [L25] havoc ~lx~0; [L25] havoc ~ly~0; [L25] havoc ~lz~0; VAL [#NULL!base=0, #NULL!offset=0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L28] FCALL call ~#ew_u~0 := #Ultimate.alloc(8); [L29] FCALL call write~real(~x, { base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 8); [L30] FCALL call #t~mem0 := read~int({ base: ~#ew_u~0!base, offset: 4 + ~#ew_u~0!offset }, 4); [L30] ~hx~0 := (if #t~mem0 % 4294967296 % 4294967296 <= 2147483647 then #t~mem0 % 4294967296 % 4294967296 else #t~mem0 % 4294967296 % 4294967296 - 4294967296); [L30] FCALL call write~real(#t~union1, { base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 8); [L30] havoc #t~union1; [L30] havoc #t~mem0; [L31] FCALL call #t~mem2 := read~int({ base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 4); [L31] ~lx~0 := #t~mem2; [L31] FCALL call write~real(#t~union3, { base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 8); [L31] havoc #t~mem2; [L31] havoc #t~union3; [L28] FCALL call ULTIMATE.dealloc(~#ew_u~0); [L28] havoc ~#ew_u~0; VAL [#NULL!base=0, #NULL!offset=0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L34] FCALL call ~#ew_u~1 := #Ultimate.alloc(8); [L35] FCALL call write~real(~y, { base: ~#ew_u~1!base, offset: ~#ew_u~1!offset }, 8); [L36] FCALL call #t~mem4 := read~int({ base: ~#ew_u~1!base, offset: 4 + ~#ew_u~1!offset }, 4); [L36] ~hy~0 := (if #t~mem4 % 4294967296 % 4294967296 <= 2147483647 then #t~mem4 % 4294967296 % 4294967296 else #t~mem4 % 4294967296 % 4294967296 - 4294967296); [L36] FCALL call write~real(#t~union5, { base: ~#ew_u~1!base, offset: ~#ew_u~1!offset }, 8); [L36] havoc #t~union5; [L36] havoc #t~mem4; [L37] FCALL call #t~mem6 := read~int({ base: ~#ew_u~1!base, offset: ~#ew_u~1!offset }, 4); [L37] ~ly~0 := #t~mem6; [L37] FCALL call write~real(#t~union7, { base: ~#ew_u~1!base, offset: ~#ew_u~1!offset }, 8); [L37] havoc #t~mem6; [L37] havoc #t~union7; [L34] FCALL call ULTIMATE.dealloc(~#ew_u~1); [L34] havoc ~#ew_u~1; VAL [#NULL!base=0, #NULL!offset=0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L39] ~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); [L40] ~hx~0 := ~bitwiseXor(~hx~0, ~sx~0); [L41] ~hy~0 := ~bitwiseAnd(~hy~0, 2147483647); VAL [#NULL!base=0, #NULL!offset=0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L43-L44] COND TRUE (0 == ~bitwiseOr(~hy~0, ~ly~0) % 4294967296 || ~hx~0 >= 2146435072) || ~bitwiseOr(~hy~0, ~bitwiseOr(~ly~0, -~ly~0) / 2147483648) % 4294967296 > 2146435072 [L45] #res := ~someBinaryArithmeticDOUBLEoperation(~someBinaryArithmeticDOUBLEoperation(~x, ~y), ~someBinaryArithmeticDOUBLEoperation(~x, ~y)); VAL [#NULL!base=0, #NULL!offset=0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L171] ~res~0 := #t~ret17; [L171] havoc #t~ret17; [L16] ~x := #in~x; [L16] #res := (if ~someBinaryDOUBLEComparisonOperation(~x, ~x) then 1 else 0); [L174] assume -2147483648 <= #t~ret18 && #t~ret18 <= 2147483647; VAL [#NULL!base=0, #NULL!offset=0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L174] COND TRUE 0 == #t~ret18 [L174] havoc #t~ret18; VAL [#NULL!base=0, #NULL!offset=0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L175] assert false; VAL [#NULL!base=0, #NULL!offset=0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] ----- ----- class de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.CACSL2BoogieBacktranslator [?] #NULL := { base: 0, offset: 0 }; [?] #valid[0] := 0; [L18-L21] ~one_fmod~0 := 1.0; [L18-L21] FCALL call ~#Zero_fmod~0 := #Ultimate.alloc(16); [L18-L21] FCALL call write~init~real(0.0, { base: ~#Zero_fmod~0!base, offset: ~#Zero_fmod~0!offset }, 8); [L18-L21] FCALL call write~init~real(~someUnaryDOUBLEoperation(0.0), { base: ~#Zero_fmod~0!base, offset: 8 + ~#Zero_fmod~0!offset }, 8); [L169] ~x~0 := #t~nondet16; [L169] havoc #t~nondet16; [L170] ~y~0 := 0.0; [L23-L161] ~x := #in~x; [L23-L161] ~y := #in~y; [L24] havoc ~n~0; [L24] havoc ~hx~0; [L24] havoc ~hy~0; [L24] havoc ~hz~0; [L24] havoc ~ix~0; [L24] havoc ~iy~0; [L24] havoc ~sx~0; [L24] havoc ~i~0; [L25] havoc ~lx~0; [L25] havoc ~ly~0; [L25] havoc ~lz~0; VAL [#NULL!base=0, #NULL!offset=0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L28] FCALL call ~#ew_u~0 := #Ultimate.alloc(8); [L29] FCALL call write~real(~x, { base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 8); [L30] FCALL call #t~mem0 := read~int({ base: ~#ew_u~0!base, offset: 4 + ~#ew_u~0!offset }, 4); [L30] ~hx~0 := (if #t~mem0 % 4294967296 % 4294967296 <= 2147483647 then #t~mem0 % 4294967296 % 4294967296 else #t~mem0 % 4294967296 % 4294967296 - 4294967296); [L30] FCALL call write~real(#t~union1, { base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 8); [L30] havoc #t~union1; [L30] havoc #t~mem0; [L31] FCALL call #t~mem2 := read~int({ base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 4); [L31] ~lx~0 := #t~mem2; [L31] FCALL call write~real(#t~union3, { base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 8); [L31] havoc #t~mem2; [L31] havoc #t~union3; [L28] FCALL call ULTIMATE.dealloc(~#ew_u~0); [L28] havoc ~#ew_u~0; VAL [#NULL!base=0, #NULL!offset=0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L34] FCALL call ~#ew_u~1 := #Ultimate.alloc(8); [L35] FCALL call write~real(~y, { base: ~#ew_u~1!base, offset: ~#ew_u~1!offset }, 8); [L36] FCALL call #t~mem4 := read~int({ base: ~#ew_u~1!base, offset: 4 + ~#ew_u~1!offset }, 4); [L36] ~hy~0 := (if #t~mem4 % 4294967296 % 4294967296 <= 2147483647 then #t~mem4 % 4294967296 % 4294967296 else #t~mem4 % 4294967296 % 4294967296 - 4294967296); [L36] FCALL call write~real(#t~union5, { base: ~#ew_u~1!base, offset: ~#ew_u~1!offset }, 8); [L36] havoc #t~union5; [L36] havoc #t~mem4; [L37] FCALL call #t~mem6 := read~int({ base: ~#ew_u~1!base, offset: ~#ew_u~1!offset }, 4); [L37] ~ly~0 := #t~mem6; [L37] FCALL call write~real(#t~union7, { base: ~#ew_u~1!base, offset: ~#ew_u~1!offset }, 8); [L37] havoc #t~mem6; [L37] havoc #t~union7; [L34] FCALL call ULTIMATE.dealloc(~#ew_u~1); [L34] havoc ~#ew_u~1; VAL [#NULL!base=0, #NULL!offset=0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L39] ~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); [L40] ~hx~0 := ~bitwiseXor(~hx~0, ~sx~0); [L41] ~hy~0 := ~bitwiseAnd(~hy~0, 2147483647); VAL [#NULL!base=0, #NULL!offset=0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L43-L44] COND TRUE (0 == ~bitwiseOr(~hy~0, ~ly~0) % 4294967296 || ~hx~0 >= 2146435072) || ~bitwiseOr(~hy~0, ~bitwiseOr(~ly~0, -~ly~0) / 2147483648) % 4294967296 > 2146435072 [L45] #res := ~someBinaryArithmeticDOUBLEoperation(~someBinaryArithmeticDOUBLEoperation(~x, ~y), ~someBinaryArithmeticDOUBLEoperation(~x, ~y)); VAL [#NULL!base=0, #NULL!offset=0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L171] ~res~0 := #t~ret17; [L171] havoc #t~ret17; [L16] ~x := #in~x; [L16] #res := (if ~someBinaryDOUBLEComparisonOperation(~x, ~x) then 1 else 0); [L174] assume -2147483648 <= #t~ret18 && #t~ret18 <= 2147483647; VAL [#NULL!base=0, #NULL!offset=0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L174] COND TRUE 0 == #t~ret18 [L174] havoc #t~ret18; VAL [#NULL!base=0, #NULL!offset=0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L175] assert false; VAL [#NULL!base=0, #NULL!offset=0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L18-L21] static const double one_fmod = 1.0, Zero_fmod[] = { 0.0, -0.0, }; [L169] double x = __VERIFIER_nondet_double(); [L170] double y = 0.0; [L24] __int32_t n, hx, hy, hz, ix, iy, sx, i; [L25] __uint32_t lx, ly, lz; VAL [one_fmod=1, Zero_fmod={2:0}] [L28] ieee_double_shape_type ew_u; [L29] ew_u.value = (x) [L30] EXPR ew_u.parts.msw [L30] (hx) = ew_u.parts.msw [L31] EXPR ew_u.parts.lsw [L31] (lx) = ew_u.parts.lsw [L34] ieee_double_shape_type ew_u; [L35] ew_u.value = (y) [L36] EXPR ew_u.parts.msw [L36] (hy) = ew_u.parts.msw [L37] EXPR ew_u.parts.lsw [L37] (ly) = ew_u.parts.lsw [L39] sx = hx & 0x80000000 [L40] hx ^= sx [L41] hy &= 0x7fffffff VAL [one_fmod=1, Zero_fmod={2:0}] [L43-L44] COND TRUE (hy | ly) == 0 || (hx >= 0x7ff00000) || ((hy | ((ly | -ly) >> 31)) > 0x7ff00000) [L45] return (x * y) / (x * y); VAL [one_fmod=1, Zero_fmod={2:0}] [L171] double res = fmod_double(x, y); [L16] return x != x; [L174] COND TRUE !isnan_double(res) [L175] __VERIFIER_error() VAL [one_fmod=1, Zero_fmod={2:0}] ----- [2018-11-23 02:45:16,439 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.codecheck CFG 23.11 02:45:16 ImpRootNode [2018-11-23 02:45:16,440 INFO L132 PluginConnector]: ------------------------ END CodeCheck---------------------------- [2018-11-23 02:45:16,440 INFO L113 PluginConnector]: ------------------------Witness Printer---------------------------- [2018-11-23 02:45:16,440 INFO L271 PluginConnector]: Initializing Witness Printer... [2018-11-23 02:45:16,440 INFO L276 PluginConnector]: Witness Printer initialized [2018-11-23 02:45:16,441 INFO L185 PluginConnector]: Executing the observer RCFGCatcher from plugin Witness Printer for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 02:45:16" (3/4) ... [2018-11-23 02:45:16,444 INFO L147 WitnessPrinter]: No result that supports witness generation found [2018-11-23 02:45:16,444 INFO L132 PluginConnector]: ------------------------ END Witness Printer---------------------------- [2018-11-23 02:45:16,449 INFO L168 Benchmark]: Toolchain (without parser) took 1161.17 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 139.5 MB). Free memory was 958.1 MB in the beginning and 1.0 GB in the end (delta: -82.4 MB). Peak memory consumption was 57.1 MB. Max. memory is 11.5 GB. [2018-11-23 02:45:16,450 INFO L168 Benchmark]: CDTParser took 0.15 ms. Allocated memory is still 1.0 GB. Free memory is still 985.5 MB. There was no memory consumed. Max. memory is 11.5 GB. [2018-11-23 02:45:16,450 INFO L168 Benchmark]: CACSL2BoogieTranslator took 255.59 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 139.5 MB). Free memory was 958.1 MB in the beginning and 1.1 GB in the end (delta: -178.4 MB). Peak memory consumption was 31.2 MB. Max. memory is 11.5 GB. [2018-11-23 02:45:16,451 INFO L168 Benchmark]: Boogie Procedure Inliner took 38.07 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: 2.7 MB). Peak memory consumption was 2.7 MB. Max. memory is 11.5 GB. [2018-11-23 02:45:16,452 INFO L168 Benchmark]: Boogie Preprocessor took 30.81 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: 2.7 MB). Peak memory consumption was 2.7 MB. Max. memory is 11.5 GB. [2018-11-23 02:45:16,452 INFO L168 Benchmark]: RCFGBuilder took 510.55 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: 54.7 MB). Peak memory consumption was 54.7 MB. Max. memory is 11.5 GB. [2018-11-23 02:45:16,453 INFO L168 Benchmark]: CodeCheck took 315.28 ms. Allocated memory is still 1.2 GB. Free memory was 1.1 GB in the beginning and 1.0 GB in the end (delta: 36.0 MB). Peak memory consumption was 36.0 MB. Max. memory is 11.5 GB. [2018-11-23 02:45:16,453 INFO L168 Benchmark]: Witness Printer took 4.13 ms. Allocated memory is still 1.2 GB. Free memory is still 1.0 GB. There was no memory consumed. Max. memory is 11.5 GB. [2018-11-23 02:45:16,458 INFO L336 ainManager$Toolchain]: ####################### End [Toolchain 1] ####################### --- Results --- * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.codecheck: - StatisticsResult: Ultimate CodeCheck benchmark data CFG has 1 procedures, 55 locations, 1 error locations. UNSAFE Result, 0.2s OverallTime, 2 OverallIterations, 0 TraceHistogramMax, 0.0s AutomataDifference, 0.0s DeadEndRemovalTime, 0.0s HoareAnnotationTime, HoareTripleCheckerStatistics: 17 SDtfs, 0 SDslu, 0 SDs, 0 SdLazy, 0 SolverSat, 0 SolverUnsat, 0 SolverUnknown, 0 SolverNotchecked, 0.0s Time, PredicateUnifierStatistics: 0 DeclaredPredicates, 61 GetRequests, 61 SyntacticMatches, 0 SemanticMatches, 0 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s Time, 0.0s BasicInterpolantAutomatonTime, BiggestAbstraction: size=-1occurred in iteration=-1, traceCheckStatistics: 0.0s SsaConstructionTime, 0.0s SatisfiabilityAnalysisTime, 0.0s InterpolantComputationTime, 18 NumberOfCodeBlocks, 18 NumberOfCodeBlocksAsserted, 2 NumberOfCheckSat, 7 ConstructedInterpolants, 0 QuantifiedInterpolants, 49 SizeOfPredicates, 0 NumberOfNonLiveVariables, 0 ConjunctsInSsa, 0 ConjunctsInUnsatCore, 1 InterpolantComputations, 1 PerfectInterpolantSequences, 0/0 InterpolantCoveringCapability, 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: No data available, HoareAnnotationStatistics: No data available, RefinementEngineStatistics: No data available, ReuseStatistics: No data available - UnprovableResult [Line: 175]: Unable to prove that call of __VERIFIER_error() unreachable Unable to prove that call of __VERIFIER_error() unreachable Reason: overapproximation of bitwiseOr at line 44, overapproximation of someUnaryDOUBLEoperation at line 20, overapproximation of bitwiseAnd at line 39, overapproximation of someBinaryArithmeticDOUBLEoperation at line 45, overapproximation of someBinaryDOUBLEComparisonOperation at line 16, overapproximation of bitwiseXor at line 40. Possible FailurePath: [L18-L21] static const double one_fmod = 1.0, Zero_fmod[] = { 0.0, -0.0, }; [L169] double x = __VERIFIER_nondet_double(); [L170] double y = 0.0; [L24] __int32_t n, hx, hy, hz, ix, iy, sx, i; [L25] __uint32_t lx, ly, lz; VAL [one_fmod=1, Zero_fmod={2:0}] [L28] ieee_double_shape_type ew_u; [L29] ew_u.value = (x) [L30] EXPR ew_u.parts.msw [L30] (hx) = ew_u.parts.msw [L31] EXPR ew_u.parts.lsw [L31] (lx) = ew_u.parts.lsw [L34] ieee_double_shape_type ew_u; [L35] ew_u.value = (y) [L36] EXPR ew_u.parts.msw [L36] (hy) = ew_u.parts.msw [L37] EXPR ew_u.parts.lsw [L37] (ly) = ew_u.parts.lsw [L39] sx = hx & 0x80000000 [L40] hx ^= sx [L41] hy &= 0x7fffffff VAL [one_fmod=1, Zero_fmod={2:0}] [L43-L44] COND TRUE (hy | ly) == 0 || (hx >= 0x7ff00000) || ((hy | ((ly | -ly) >> 31)) > 0x7ff00000) [L45] return (x * y) / (x * y); VAL [one_fmod=1, Zero_fmod={2:0}] [L171] double res = fmod_double(x, y); [L16] return x != x; [L174] COND TRUE !isnan_double(res) [L175] __VERIFIER_error() VAL [one_fmod=1, Zero_fmod={2:0}] * Results from de.uni_freiburg.informatik.ultimate.core: - StatisticsResult: Toolchain Benchmarks Benchmark results are: * CDTParser took 0.15 ms. Allocated memory is still 1.0 GB. Free memory is still 985.5 MB. There was no memory consumed. Max. memory is 11.5 GB. * CACSL2BoogieTranslator took 255.59 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 139.5 MB). Free memory was 958.1 MB in the beginning and 1.1 GB in the end (delta: -178.4 MB). Peak memory consumption was 31.2 MB. Max. memory is 11.5 GB. * Boogie Procedure Inliner took 38.07 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: 2.7 MB). Peak memory consumption was 2.7 MB. Max. memory is 11.5 GB. * Boogie Preprocessor took 30.81 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: 2.7 MB). Peak memory consumption was 2.7 MB. Max. memory is 11.5 GB. * RCFGBuilder took 510.55 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: 54.7 MB). Peak memory consumption was 54.7 MB. Max. memory is 11.5 GB. * CodeCheck took 315.28 ms. Allocated memory is still 1.2 GB. Free memory was 1.1 GB in the beginning and 1.0 GB in the end (delta: 36.0 MB). Peak memory consumption was 36.0 MB. Max. memory is 11.5 GB. * Witness Printer took 4.13 ms. Allocated memory is still 1.2 GB. Free memory is still 1.0 GB. There was no memory consumed. Max. memory is 11.5 GB. 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 02:45:17,837 INFO L170 SettingsManager]: Resetting all preferences to default values... [2018-11-23 02:45:17,839 INFO L174 SettingsManager]: Resetting UltimateCore preferences to default values [2018-11-23 02:45:17,847 INFO L177 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2018-11-23 02:45:17,847 INFO L174 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2018-11-23 02:45:17,848 INFO L174 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2018-11-23 02:45:17,849 INFO L174 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2018-11-23 02:45:17,850 INFO L174 SettingsManager]: Resetting LassoRanker preferences to default values [2018-11-23 02:45:17,851 INFO L174 SettingsManager]: Resetting Reaching Definitions preferences to default values [2018-11-23 02:45:17,852 INFO L174 SettingsManager]: Resetting SyntaxChecker preferences to default values [2018-11-23 02:45:17,852 INFO L177 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2018-11-23 02:45:17,852 INFO L174 SettingsManager]: Resetting LTL2Aut preferences to default values [2018-11-23 02:45:17,853 INFO L174 SettingsManager]: Resetting PEA to Boogie preferences to default values [2018-11-23 02:45:17,854 INFO L174 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2018-11-23 02:45:17,854 INFO L174 SettingsManager]: Resetting ChcToBoogie preferences to default values [2018-11-23 02:45:17,855 INFO L174 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2018-11-23 02:45:17,855 INFO L174 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2018-11-23 02:45:17,856 INFO L174 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2018-11-23 02:45:17,858 INFO L174 SettingsManager]: Resetting CodeCheck preferences to default values [2018-11-23 02:45:17,859 INFO L174 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2018-11-23 02:45:17,859 INFO L174 SettingsManager]: Resetting RCFGBuilder preferences to default values [2018-11-23 02:45:17,860 INFO L174 SettingsManager]: Resetting TraceAbstraction preferences to default values [2018-11-23 02:45:17,862 INFO L177 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2018-11-23 02:45:17,862 INFO L177 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2018-11-23 02:45:17,862 INFO L174 SettingsManager]: Resetting TreeAutomizer preferences to default values [2018-11-23 02:45:17,863 INFO L174 SettingsManager]: Resetting IcfgTransformer preferences to default values [2018-11-23 02:45:17,863 INFO L174 SettingsManager]: Resetting Boogie Printer preferences to default values [2018-11-23 02:45:17,864 INFO L174 SettingsManager]: Resetting ReqPrinter preferences to default values [2018-11-23 02:45:17,864 INFO L174 SettingsManager]: Resetting Witness Printer preferences to default values [2018-11-23 02:45:17,865 INFO L177 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2018-11-23 02:45:17,865 INFO L174 SettingsManager]: Resetting CDTParser preferences to default values [2018-11-23 02:45:17,866 INFO L177 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2018-11-23 02:45:17,866 INFO L177 SettingsManager]: ReqParser provides no preferences, ignoring... [2018-11-23 02:45:17,866 INFO L174 SettingsManager]: Resetting SmtParser preferences to default values [2018-11-23 02:45:17,867 INFO L174 SettingsManager]: Resetting Witness Parser preferences to default values [2018-11-23 02:45:17,867 INFO L181 SettingsManager]: Finished resetting all preferences to default values... [2018-11-23 02:45:17,867 INFO L98 SettingsManager]: Beginning loading settings from /tmp/vcloud-vcloud-master/worker/working_dir_e87c1232-fe71-4a39-af7a-41854da7f9d0/bin-2019/ukojak/config/svcomp-Reach-32bit-Kojak_Bitvector.epf [2018-11-23 02:45:17,878 INFO L110 SettingsManager]: Loading preferences was successful [2018-11-23 02:45:17,878 INFO L112 SettingsManager]: Preferences different from defaults after loading the file: [2018-11-23 02:45:17,878 INFO L131 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2018-11-23 02:45:17,879 INFO L133 SettingsManager]: * ... to procedures called more than once=ALWAYS [2018-11-23 02:45:17,879 INFO L131 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2018-11-23 02:45:17,879 INFO L133 SettingsManager]: * Create parallel compositions if possible=false [2018-11-23 02:45:17,879 INFO L131 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2018-11-23 02:45:17,880 INFO L133 SettingsManager]: * sizeof long=4 [2018-11-23 02:45:17,880 INFO L133 SettingsManager]: * sizeof POINTER=4 [2018-11-23 02:45:17,880 INFO L133 SettingsManager]: * Check division by zero=IGNORE [2018-11-23 02:45:17,880 INFO L133 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2018-11-23 02:45:17,880 INFO L133 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2018-11-23 02:45:17,880 INFO L133 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2018-11-23 02:45:17,880 INFO L133 SettingsManager]: * Use bitvectors instead of ints=true [2018-11-23 02:45:17,880 INFO L133 SettingsManager]: * Memory model=HoenickeLindenmann_4ByteResolution [2018-11-23 02:45:17,881 INFO L133 SettingsManager]: * sizeof long double=12 [2018-11-23 02:45:17,881 INFO L133 SettingsManager]: * Check if freed pointer was valid=false [2018-11-23 02:45:17,881 INFO L133 SettingsManager]: * Use constant arrays=true [2018-11-23 02:45:17,881 INFO L133 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2018-11-23 02:45:17,881 INFO L131 SettingsManager]: Preferences of CodeCheck differ from their defaults: [2018-11-23 02:45:17,881 INFO L133 SettingsManager]: * Timeout in seconds=1000000 [2018-11-23 02:45:17,881 INFO L131 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2018-11-23 02:45:17,882 INFO L133 SettingsManager]: * To the following directory=./dump/ [2018-11-23 02:45:17,882 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:10000 [2018-11-23 02:45:17,882 INFO L131 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2018-11-23 02:45:17,882 INFO L133 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2018-11-23 02:45:17,882 INFO L133 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2018-11-23 02:45:17,882 INFO L133 SettingsManager]: * Use separate solver for trace checks=false [2018-11-23 02:45:17,882 INFO L133 SettingsManager]: * Trace refinement strategy=WALRUS [2018-11-23 02:45:17,882 INFO L133 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2018-11-23 02:45:17,883 INFO L133 SettingsManager]: * Command for external solver=cvc4nyu --tear-down-incremental --rewrite-divk --print-success --lang smt [2018-11-23 02:45:17,883 INFO L133 SettingsManager]: * Logic for external solver=AUFBV [2018-11-23 02:45:17,883 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_e87c1232-fe71-4a39-af7a-41854da7f9d0/bin-2019/ukojak 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 -> Kojak 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 -> 2718f642e307f3f62e4f4b06b51ef37595256727 [2018-11-23 02:45:17,915 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2018-11-23 02:45:17,924 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2018-11-23 02:45:17,926 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2018-11-23 02:45:17,928 INFO L271 PluginConnector]: Initializing CDTParser... [2018-11-23 02:45:17,928 INFO L276 PluginConnector]: CDTParser initialized [2018-11-23 02:45:17,929 INFO L418 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /tmp/vcloud-vcloud-master/worker/working_dir_e87c1232-fe71-4a39-af7a-41854da7f9d0/bin-2019/ukojak/../../sv-benchmarks/c/float-newlib/double_req_bl_1121a_true-unreach-call.c [2018-11-23 02:45:17,970 INFO L221 CDTParser]: Created temporary CDT project at /tmp/vcloud-vcloud-master/worker/working_dir_e87c1232-fe71-4a39-af7a-41854da7f9d0/bin-2019/ukojak/data/71adb4bde/627412d2b9a44189ae876f331c6a7f1a/FLAGd22365e21 [2018-11-23 02:45:18,377 INFO L307 CDTParser]: Found 1 translation units. [2018-11-23 02:45:18,378 INFO L161 CDTParser]: Scanning /tmp/vcloud-vcloud-master/worker/working_dir_e87c1232-fe71-4a39-af7a-41854da7f9d0/sv-benchmarks/c/float-newlib/double_req_bl_1121a_true-unreach-call.c [2018-11-23 02:45:18,382 INFO L355 CDTParser]: About to delete temporary CDT project at /tmp/vcloud-vcloud-master/worker/working_dir_e87c1232-fe71-4a39-af7a-41854da7f9d0/bin-2019/ukojak/data/71adb4bde/627412d2b9a44189ae876f331c6a7f1a/FLAGd22365e21 [2018-11-23 02:45:18,392 INFO L363 CDTParser]: Successfully deleted /tmp/vcloud-vcloud-master/worker/working_dir_e87c1232-fe71-4a39-af7a-41854da7f9d0/bin-2019/ukojak/data/71adb4bde/627412d2b9a44189ae876f331c6a7f1a [2018-11-23 02:45:18,395 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2018-11-23 02:45:18,396 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2018-11-23 02:45:18,396 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2018-11-23 02:45:18,397 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2018-11-23 02:45:18,399 INFO L276 PluginConnector]: CACSL2BoogieTranslator initialized [2018-11-23 02:45:18,399 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 02:45:18" (1/1) ... [2018-11-23 02:45:18,401 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@6c58243f and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 02:45:18, skipping insertion in model container [2018-11-23 02:45:18,401 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 02:45:18" (1/1) ... [2018-11-23 02:45:18,407 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2018-11-23 02:45:18,426 INFO L176 MainTranslator]: Built tables and reachable declarations [2018-11-23 02:45:18,579 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 02:45:18,584 INFO L191 MainTranslator]: Completed pre-run [2018-11-23 02:45:18,619 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 02:45:18,639 INFO L195 MainTranslator]: Completed translation [2018-11-23 02:45:18,640 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 02:45:18 WrapperNode [2018-11-23 02:45:18,640 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2018-11-23 02:45:18,641 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2018-11-23 02:45:18,641 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2018-11-23 02:45:18,641 INFO L276 PluginConnector]: Boogie Procedure Inliner initialized [2018-11-23 02:45:18,646 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 02:45:18" (1/1) ... [2018-11-23 02:45:18,700 INFO L185 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 02:45:18" (1/1) ... [2018-11-23 02:45:18,721 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2018-11-23 02:45:18,721 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2018-11-23 02:45:18,721 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2018-11-23 02:45:18,721 INFO L276 PluginConnector]: Boogie Preprocessor initialized [2018-11-23 02:45:18,727 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 02:45:18" (1/1) ... [2018-11-23 02:45:18,727 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 02:45:18" (1/1) ... [2018-11-23 02:45:18,730 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 02:45:18" (1/1) ... [2018-11-23 02:45:18,730 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 02:45:18" (1/1) ... [2018-11-23 02:45:18,738 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 02:45:18" (1/1) ... [2018-11-23 02:45:18,743 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 02:45:18" (1/1) ... [2018-11-23 02:45:18,746 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 02:45:18" (1/1) ... [2018-11-23 02:45:18,749 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2018-11-23 02:45:18,749 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2018-11-23 02:45:18,749 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2018-11-23 02:45:18,750 INFO L276 PluginConnector]: RCFGBuilder initialized [2018-11-23 02:45:18,750 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 02:45:18" (1/1) ... No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_e87c1232-fe71-4a39-af7a-41854da7f9d0/bin-2019/ukojak/z3 Starting monitored process 1 with z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:10000 (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:10000 [2018-11-23 02:45:18,790 INFO L130 BoogieDeclarations]: Found specification of procedure read~intFLOATTYPE8 [2018-11-23 02:45:18,790 INFO L130 BoogieDeclarations]: Found specification of procedure write~intFLOATTYPE8 [2018-11-23 02:45:18,791 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~intFLOATTYPE8 [2018-11-23 02:45:18,791 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.alloc [2018-11-23 02:45:18,791 INFO L130 BoogieDeclarations]: Found specification of procedure read~intINTTYPE4 [2018-11-23 02:45:18,791 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2018-11-23 02:45:18,791 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2018-11-23 02:45:18,791 INFO L130 BoogieDeclarations]: Found specification of procedure write~intINTTYPE4 [2018-11-23 02:45:18,791 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2018-11-23 02:45:18,920 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 02:45:18,958 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 02:45:19,017 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 02:45:25,491 INFO L275 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2018-11-23 02:45:25,491 INFO L280 CfgBuilder]: Removed 22 assue(true) statements. [2018-11-23 02:45:25,491 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 02:45:25 BoogieIcfgContainer [2018-11-23 02:45:25,491 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2018-11-23 02:45:25,492 INFO L113 PluginConnector]: ------------------------CodeCheck---------------------------- [2018-11-23 02:45:25,492 INFO L271 PluginConnector]: Initializing CodeCheck... [2018-11-23 02:45:25,499 INFO L276 PluginConnector]: CodeCheck initialized [2018-11-23 02:45:25,499 INFO L185 PluginConnector]: Executing the observer CodeCheckObserver from plugin CodeCheck for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 02:45:25" (1/1) ... [2018-11-23 02:45:25,510 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 02:45:25,527 INFO L82 GeneralOperation]: Start removeUnreachable. Operand no size info available [2018-11-23 02:45:25,531 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 66 states to 39 states and 66 transitions. [2018-11-23 02:45:25,532 INFO L276 IsEmpty]: Start isEmpty. Operand 39 states and 66 transitions. [2018-11-23 02:45:25,534 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 9 [2018-11-23 02:45:25,534 INFO L427 CodeCheckObserver]: Error Path is FOUND. [2018-11-23 02:45:25,567 ERROR L613 CodeCheckObserver]: First Tracecheck threw exception Indexed Sort BitVec undefined [2018-11-23 02:45:25,588 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 02:45:25,595 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 02:45:25,605 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 02:45:25,612 INFO L82 GeneralOperation]: Start removeUnreachable. Operand no size info available [2018-11-23 02:45:25,613 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 61 states to 39 states and 61 transitions. [2018-11-23 02:45:25,613 INFO L276 IsEmpty]: Start isEmpty. Operand 39 states and 61 transitions. [2018-11-23 02:45:25,614 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 11 [2018-11-23 02:45:25,614 INFO L427 CodeCheckObserver]: Error Path is FOUND. [2018-11-23 02:45:25,615 ERROR L613 CodeCheckObserver]: First Tracecheck threw exception Indexed Sort BitVec undefined [2018-11-23 02:45:31,186 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 02:45:31,588 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 02:45:39,024 WARN L180 SmtUtils]: Spent 2.67 s on a formula simplification that was a NOOP. DAG size: 8 [2018-11-23 02:45:46,924 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 02:46:23,889 WARN L180 SmtUtils]: Spent 3.28 s on a formula simplification that was a NOOP. DAG size: 9 [2018-11-23 02:47:52,001 INFO L82 GeneralOperation]: Start removeUnreachable. Operand no size info available [2018-11-23 02:47:52,002 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 68 states to 41 states and 68 transitions. [2018-11-23 02:47:52,002 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 68 transitions. [2018-11-23 02:47:52,003 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 13 [2018-11-23 02:47:52,003 INFO L427 CodeCheckObserver]: Error Path is FOUND. [2018-11-23 02:47:52,005 ERROR L613 CodeCheckObserver]: First Tracecheck threw exception Indexed Sort BitVec undefined [2018-11-23 02:47:52,041 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 02:47:52,045 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 02:47:52,067 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 02:47:52,074 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 02:47:52,079 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 2 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 48 treesize of output 56 [2018-11-23 02:47:52,153 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 02:47:52,154 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 02:47:52,155 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 2 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 37 treesize of output 43 [2018-11-23 02:47:52,156 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 02:47:52,173 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 35 treesize of output 27 [2018-11-23 02:47:52,190 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 8 [2018-11-23 02:47:52,191 INFO L267 ElimStorePlain]: Start of recursive call 5: End of recursive call: and 1 xjuncts. [2018-11-23 02:47:52,196 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 02:47:52,202 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 02:47:52,211 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-2 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-11-23 02:47:52,211 INFO L202 ElimStorePlain]: Needed 5 recursive calls to eliminate 4 variables, input treesize:57, output treesize:17 [2018-11-23 02:48:04,411 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 02:48:51,390 INFO L82 GeneralOperation]: Start removeUnreachable. Operand no size info available [2018-11-23 02:48:51,391 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 11 states and 10 transitions. [2018-11-23 02:48:51,391 INFO L276 IsEmpty]: Start isEmpty. Operand 11 states and 10 transitions. [2018-11-23 02:48:51,391 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 02:48:51,392 WARN L424 CodeCheckObserver]: This Program is SAFE, Check terminated with 4 iterations. [2018-11-23 02:48:51,399 INFO L775 CodeCheckObserver]: All specifications hold 1 specifications checked. All of them hold [2018-11-23 02:48:56,125 WARN L180 SmtUtils]: Spent 4.70 s on a formula simplification that was a NOOP. DAG size: 8 [2018-11-23 02:48:56,160 INFO L579 CodeCheckObserver]: Invariant with dag size 8 [2018-11-23 02:48:56,164 WARN L416 cessorBacktranslator]: Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven [2018-11-23 02:48:56,165 WARN L416 cessorBacktranslator]: Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven [2018-11-23 02:48:56,165 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[ULTIMATE.start_fmod_double_~x,QUANTIFIED] [2018-11-23 02:48:56,165 WARN L416 cessorBacktranslator]: Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven [2018-11-23 02:48:56,166 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[ULTIMATE.start_fmod_double_~x,QUANTIFIED] [2018-11-23 02:48:56,168 WARN L416 cessorBacktranslator]: Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven [2018-11-23 02:48:56,168 WARN L416 cessorBacktranslator]: Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven [2018-11-23 02:48:56,169 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[ULTIMATE.start_fmod_double_~x,QUANTIFIED] [2018-11-23 02:48:56,169 WARN L416 cessorBacktranslator]: Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven [2018-11-23 02:48:56,169 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[ULTIMATE.start_fmod_double_~x,QUANTIFIED] [2018-11-23 02:48:56,170 INFO L579 CodeCheckObserver]: Invariant with dag size 1 [2018-11-23 02:48:56,170 INFO L579 CodeCheckObserver]: Invariant with dag size 3 [2018-11-23 02:48:56,171 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.codecheck CFG 23.11 02:48:56 ImpRootNode [2018-11-23 02:48:56,171 INFO L132 PluginConnector]: ------------------------ END CodeCheck---------------------------- [2018-11-23 02:48:56,171 INFO L113 PluginConnector]: ------------------------Witness Printer---------------------------- [2018-11-23 02:48:56,171 INFO L271 PluginConnector]: Initializing Witness Printer... [2018-11-23 02:48:56,172 INFO L276 PluginConnector]: Witness Printer initialized [2018-11-23 02:48:56,172 INFO L185 PluginConnector]: Executing the observer RCFGCatcher from plugin Witness Printer for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 02:45:25" (3/4) ... [2018-11-23 02:48:56,176 INFO L144 WitnessPrinter]: Generating witness for correct program [2018-11-23 02:48:56,183 INFO L879 BoogieBacktranslator]: Reduced CFG by removing 5 nodes and edges [2018-11-23 02:48:56,184 INFO L879 BoogieBacktranslator]: Reduced CFG by removing 4 nodes and edges [2018-11-23 02:48:56,217 INFO L145 WitnessManager]: Wrote witness to /tmp/vcloud-vcloud-master/worker/working_dir_e87c1232-fe71-4a39-af7a-41854da7f9d0/bin-2019/ukojak/witness.graphml [2018-11-23 02:48:56,217 INFO L132 PluginConnector]: ------------------------ END Witness Printer---------------------------- [2018-11-23 02:48:56,218 INFO L168 Benchmark]: Toolchain (without parser) took 217823.01 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 152.0 MB). Free memory was 949.7 MB in the beginning and 997.3 MB in the end (delta: -47.6 MB). Peak memory consumption was 104.5 MB. Max. memory is 11.5 GB. [2018-11-23 02:48:56,219 INFO L168 Benchmark]: CDTParser took 0.19 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 02:48:56,219 INFO L168 Benchmark]: CACSL2BoogieTranslator took 243.86 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 02:48:56,219 INFO L168 Benchmark]: Boogie Procedure Inliner took 80.35 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 152.0 MB). Free memory was 933.6 MB in the beginning and 1.1 GB in the end (delta: -206.0 MB). Peak memory consumption was 20.8 MB. Max. memory is 11.5 GB. [2018-11-23 02:48:56,219 INFO L168 Benchmark]: Boogie Preprocessor took 27.93 ms. Allocated memory is still 1.2 GB. Free memory is still 1.1 GB. There was no memory consumed. Max. memory is 11.5 GB. [2018-11-23 02:48:56,220 INFO L168 Benchmark]: RCFGBuilder took 6742.00 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: 60.0 MB). Peak memory consumption was 60.0 MB. Max. memory is 11.5 GB. [2018-11-23 02:48:56,220 INFO L168 Benchmark]: CodeCheck took 210679.17 ms. Allocated memory is still 1.2 GB. Free memory was 1.1 GB in the beginning and 997.3 MB in the end (delta: 82.3 MB). Peak memory consumption was 82.3 MB. Max. memory is 11.5 GB. [2018-11-23 02:48:56,220 INFO L168 Benchmark]: Witness Printer took 46.24 ms. Allocated memory is still 1.2 GB. Free memory is still 997.3 MB. There was no memory consumed. Max. memory is 11.5 GB. [2018-11-23 02:48:56,222 INFO L336 ainManager$Toolchain]: ####################### End [Toolchain 1] ####################### --- Results --- * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.codecheck: - StatisticsResult: Ultimate CodeCheck benchmark data CFG has 1 procedures, 55 locations, 1 error locations. SAFE Result, 205.8s OverallTime, 4 OverallIterations, 0 TraceHistogramMax, 0.0s AutomataDifference, 0.0s DeadEndRemovalTime, 0.0s HoareAnnotationTime, HoareTripleCheckerStatistics: 114 SDtfs, 44 SDslu, 40 SDs, 0 SdLazy, 112 SolverSat, 26 SolverUnsat, 14 SolverUnknown, 0 SolverNotchecked, 170.4s Time, PredicateUnifierStatistics: 0 DeclaredPredicates, 249 GetRequests, 236 SyntacticMatches, 1 SemanticMatches, 12 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 9 ImplicationChecksByTransitivity, 80.8s Time, 0.0s BasicInterpolantAutomatonTime, BiggestAbstraction: size=-1occurred in iteration=-1, traceCheckStatistics: 0.0s SsaConstructionTime, 5.6s SatisfiabilityAnalysisTime, 28.1s InterpolantComputationTime, 30 NumberOfCodeBlocks, 30 NumberOfCodeBlocksAsserted, 3 NumberOfCheckSat, 27 ConstructedInterpolants, 4 QuantifiedInterpolants, 1163 SizeOfPredicates, 15 NumberOfNonLiveVariables, 161 ConjunctsInSsa, 21 ConjunctsInUnsatCore, 3 InterpolantComputations, 3 PerfectInterpolantSequences, 0/0 InterpolantCoveringCapability, 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: No data available, HoareAnnotationStatistics: No data available, RefinementEngineStatistics: No data available, ReuseStatistics: No data available - PositiveResult [Line: 175]: 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: 23]: Loop Invariant [2018-11-23 02:48:56,225 WARN L416 cessorBacktranslator]: Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven [2018-11-23 02:48:56,226 WARN L416 cessorBacktranslator]: Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven [2018-11-23 02:48:56,226 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[ULTIMATE.start_fmod_double_~x,QUANTIFIED] [2018-11-23 02:48:56,226 WARN L416 cessorBacktranslator]: Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven [2018-11-23 02:48:56,226 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[ULTIMATE.start_fmod_double_~x,QUANTIFIED] [2018-11-23 02:48:56,227 WARN L416 cessorBacktranslator]: Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven [2018-11-23 02:48:56,227 WARN L416 cessorBacktranslator]: Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven [2018-11-23 02:48:56,227 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[ULTIMATE.start_fmod_double_~x,QUANTIFIED] [2018-11-23 02:48:56,227 WARN L416 cessorBacktranslator]: Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven [2018-11-23 02:48:56,227 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[ULTIMATE.start_fmod_double_~x,QUANTIFIED] Derived loop invariant: (\exists ULTIMATE.start_fmod_double_~x : C_DOUBLE :: ~fp.div~DOUBLE(~roundNearestTiesToEven, ~fp.mul~DOUBLE(~roundNearestTiesToEven, ULTIMATE.start_fmod_double_~x, ~Pluszero~LONGDOUBLE()), ~fp.mul~DOUBLE(~roundNearestTiesToEven, ULTIMATE.start_fmod_double_~x, ~Pluszero~LONGDOUBLE())) == \result) - InvariantResult [Line: 163]: Loop Invariant Derived loop invariant: 1 - InvariantResult [Line: 27]: Loop Invariant Derived loop invariant: ~Pluszero~LONGDOUBLE() == y * Results from de.uni_freiburg.informatik.ultimate.core: - StatisticsResult: Toolchain Benchmarks Benchmark results are: * CDTParser took 0.19 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 243.86 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 80.35 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 152.0 MB). Free memory was 933.6 MB in the beginning and 1.1 GB in the end (delta: -206.0 MB). Peak memory consumption was 20.8 MB. Max. memory is 11.5 GB. * Boogie Preprocessor took 27.93 ms. Allocated memory is still 1.2 GB. Free memory is still 1.1 GB. There was no memory consumed. Max. memory is 11.5 GB. * RCFGBuilder took 6742.00 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: 60.0 MB). Peak memory consumption was 60.0 MB. Max. memory is 11.5 GB. * CodeCheck took 210679.17 ms. Allocated memory is still 1.2 GB. Free memory was 1.1 GB in the beginning and 997.3 MB in the end (delta: 82.3 MB). Peak memory consumption was 82.3 MB. Max. memory is 11.5 GB. * Witness Printer took 46.24 ms. Allocated memory is still 1.2 GB. Free memory is still 997.3 MB. There was no memory consumed. Max. memory is 11.5 GB. * Results from de.uni_freiburg.informatik.ultimate.boogie.preprocessor: - GenericResult: Unfinished Backtranslation Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven - GenericResult: Unfinished Backtranslation Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[ULTIMATE.start_fmod_double_~x,QUANTIFIED] - GenericResult: Unfinished Backtranslation Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[ULTIMATE.start_fmod_double_~x,QUANTIFIED] - GenericResult: Unfinished Backtranslation Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven - GenericResult: Unfinished Backtranslation Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[ULTIMATE.start_fmod_double_~x,QUANTIFIED] - GenericResult: Unfinished Backtranslation Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[ULTIMATE.start_fmod_double_~x,QUANTIFIED] - GenericResult: Unfinished Backtranslation Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven - GenericResult: Unfinished Backtranslation Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[ULTIMATE.start_fmod_double_~x,QUANTIFIED] - GenericResult: Unfinished Backtranslation Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[ULTIMATE.start_fmod_double_~x,QUANTIFIED] - GenericResult: Unfinished Backtranslation Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven - GenericResult: Unfinished Backtranslation Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[ULTIMATE.start_fmod_double_~x,QUANTIFIED] - GenericResult: Unfinished Backtranslation Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[ULTIMATE.start_fmod_double_~x,QUANTIFIED] RESULT: Ultimate proved your program to be correct! [MP z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:10000 (1)] Forcibly destroying the process Received shutdown request...