./Ultimate.py --spec ../../sv-benchmarks/c/properties/unreach-call.prp --file ../../sv-benchmarks/c/float-newlib/double_req_bl_1122b_true-unreach-call.c --full-output --architecture 32bit -------------------------------------------------------------------------------- Checking for ERROR reachability Using default analysis Version aa418289 Calling Ultimate with: java -Dosgi.configuration.area=/tmp/vcloud-vcloud-master/worker/working_dir_c45a6cca-2d85-4212-851d-217296166115/bin-2019/ukojak/data/config -Xmx12G -Xms1G -jar /tmp/vcloud-vcloud-master/worker/working_dir_c45a6cca-2d85-4212-851d-217296166115/bin-2019/ukojak/plugins/org.eclipse.equinox.launcher_1.3.100.v20150511-1540.jar -data @noDefault -ultimatedata /tmp/vcloud-vcloud-master/worker/working_dir_c45a6cca-2d85-4212-851d-217296166115/bin-2019/ukojak/data -tc /tmp/vcloud-vcloud-master/worker/working_dir_c45a6cca-2d85-4212-851d-217296166115/bin-2019/ukojak/config/KojakReach.xml -i ../../sv-benchmarks/c/float-newlib/double_req_bl_1122b_true-unreach-call.c -s /tmp/vcloud-vcloud-master/worker/working_dir_c45a6cca-2d85-4212-851d-217296166115/bin-2019/ukojak/config/svcomp-Reach-32bit-Kojak_Default.epf --cacsl2boogietranslator.entry.function main --witnessprinter.witness.directory /tmp/vcloud-vcloud-master/worker/working_dir_c45a6cca-2d85-4212-851d-217296166115/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 c6a2c9a76eae0e8993608269b8bc800503d7af17 .................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................... 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_c45a6cca-2d85-4212-851d-217296166115/bin-2019/ukojak/data/config -Xmx12G -Xms1G -jar /tmp/vcloud-vcloud-master/worker/working_dir_c45a6cca-2d85-4212-851d-217296166115/bin-2019/ukojak/plugins/org.eclipse.equinox.launcher_1.3.100.v20150511-1540.jar -data @noDefault -ultimatedata /tmp/vcloud-vcloud-master/worker/working_dir_c45a6cca-2d85-4212-851d-217296166115/bin-2019/ukojak/data -tc /tmp/vcloud-vcloud-master/worker/working_dir_c45a6cca-2d85-4212-851d-217296166115/bin-2019/ukojak/config/KojakReach.xml -i ../../sv-benchmarks/c/float-newlib/double_req_bl_1122b_true-unreach-call.c -s /tmp/vcloud-vcloud-master/worker/working_dir_c45a6cca-2d85-4212-851d-217296166115/bin-2019/ukojak/config/svcomp-Reach-32bit-Kojak_Bitvector.epf --cacsl2boogietranslator.entry.function main --witnessprinter.witness.directory /tmp/vcloud-vcloud-master/worker/working_dir_c45a6cca-2d85-4212-851d-217296166115/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 c6a2c9a76eae0e8993608269b8bc800503d7af17 ................................................................................................................................................................................................................................................................................................................................................................................... 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:41:40,809 INFO L170 SettingsManager]: Resetting all preferences to default values... [2018-11-23 02:41:40,810 INFO L174 SettingsManager]: Resetting UltimateCore preferences to default values [2018-11-23 02:41:40,817 INFO L177 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2018-11-23 02:41:40,817 INFO L174 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2018-11-23 02:41:40,818 INFO L174 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2018-11-23 02:41:40,819 INFO L174 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2018-11-23 02:41:40,820 INFO L174 SettingsManager]: Resetting LassoRanker preferences to default values [2018-11-23 02:41:40,821 INFO L174 SettingsManager]: Resetting Reaching Definitions preferences to default values [2018-11-23 02:41:40,822 INFO L174 SettingsManager]: Resetting SyntaxChecker preferences to default values [2018-11-23 02:41:40,822 INFO L177 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2018-11-23 02:41:40,823 INFO L174 SettingsManager]: Resetting LTL2Aut preferences to default values [2018-11-23 02:41:40,823 INFO L174 SettingsManager]: Resetting PEA to Boogie preferences to default values [2018-11-23 02:41:40,824 INFO L174 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2018-11-23 02:41:40,825 INFO L174 SettingsManager]: Resetting ChcToBoogie preferences to default values [2018-11-23 02:41:40,825 INFO L174 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2018-11-23 02:41:40,825 INFO L174 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2018-11-23 02:41:40,826 INFO L174 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2018-11-23 02:41:40,828 INFO L174 SettingsManager]: Resetting CodeCheck preferences to default values [2018-11-23 02:41:40,829 INFO L174 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2018-11-23 02:41:40,830 INFO L174 SettingsManager]: Resetting RCFGBuilder preferences to default values [2018-11-23 02:41:40,830 INFO L174 SettingsManager]: Resetting TraceAbstraction preferences to default values [2018-11-23 02:41:40,832 INFO L177 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2018-11-23 02:41:40,832 INFO L177 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2018-11-23 02:41:40,833 INFO L174 SettingsManager]: Resetting TreeAutomizer preferences to default values [2018-11-23 02:41:40,833 INFO L174 SettingsManager]: Resetting IcfgTransformer preferences to default values [2018-11-23 02:41:40,834 INFO L174 SettingsManager]: Resetting Boogie Printer preferences to default values [2018-11-23 02:41:40,834 INFO L174 SettingsManager]: Resetting ReqPrinter preferences to default values [2018-11-23 02:41:40,835 INFO L174 SettingsManager]: Resetting Witness Printer preferences to default values [2018-11-23 02:41:40,836 INFO L177 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2018-11-23 02:41:40,836 INFO L174 SettingsManager]: Resetting CDTParser preferences to default values [2018-11-23 02:41:40,836 INFO L177 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2018-11-23 02:41:40,837 INFO L177 SettingsManager]: ReqParser provides no preferences, ignoring... [2018-11-23 02:41:40,837 INFO L174 SettingsManager]: Resetting SmtParser preferences to default values [2018-11-23 02:41:40,837 INFO L174 SettingsManager]: Resetting Witness Parser preferences to default values [2018-11-23 02:41:40,838 INFO L181 SettingsManager]: Finished resetting all preferences to default values... [2018-11-23 02:41:40,838 INFO L98 SettingsManager]: Beginning loading settings from /tmp/vcloud-vcloud-master/worker/working_dir_c45a6cca-2d85-4212-851d-217296166115/bin-2019/ukojak/config/svcomp-Reach-32bit-Kojak_Default.epf [2018-11-23 02:41:40,848 INFO L110 SettingsManager]: Loading preferences was successful [2018-11-23 02:41:40,848 INFO L112 SettingsManager]: Preferences different from defaults after loading the file: [2018-11-23 02:41:40,849 INFO L131 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2018-11-23 02:41:40,849 INFO L133 SettingsManager]: * ... to procedures called more than once=ALWAYS [2018-11-23 02:41:40,849 INFO L131 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2018-11-23 02:41:40,850 INFO L133 SettingsManager]: * Create parallel compositions if possible=false [2018-11-23 02:41:40,850 INFO L131 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2018-11-23 02:41:40,850 INFO L133 SettingsManager]: * sizeof long=4 [2018-11-23 02:41:40,850 INFO L133 SettingsManager]: * Overapproximate operations on floating types=true [2018-11-23 02:41:40,850 INFO L133 SettingsManager]: * sizeof POINTER=4 [2018-11-23 02:41:40,850 INFO L133 SettingsManager]: * Check division by zero=IGNORE [2018-11-23 02:41:40,850 INFO L133 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2018-11-23 02:41:40,851 INFO L133 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2018-11-23 02:41:40,851 INFO L133 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2018-11-23 02:41:40,851 INFO L133 SettingsManager]: * sizeof long double=12 [2018-11-23 02:41:40,851 INFO L133 SettingsManager]: * Check if freed pointer was valid=false [2018-11-23 02:41:40,851 INFO L133 SettingsManager]: * Use constant arrays=true [2018-11-23 02:41:40,851 INFO L133 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2018-11-23 02:41:40,851 INFO L131 SettingsManager]: Preferences of CodeCheck differ from their defaults: [2018-11-23 02:41:40,851 INFO L133 SettingsManager]: * Timeout in seconds=1000000 [2018-11-23 02:41:40,852 INFO L131 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2018-11-23 02:41:40,852 INFO L133 SettingsManager]: * To the following directory=./dump/ [2018-11-23 02:41:40,852 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:10000 [2018-11-23 02:41:40,852 INFO L131 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2018-11-23 02:41:40,852 INFO L133 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2018-11-23 02:41:40,852 INFO L133 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2018-11-23 02:41:40,852 INFO L133 SettingsManager]: * Trace refinement strategy=PENGUIN [2018-11-23 02:41:40,853 INFO L133 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2018-11-23 02:41:40,853 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2018-11-23 02:41:40,853 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_c45a6cca-2d85-4212-851d-217296166115/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 -> c6a2c9a76eae0e8993608269b8bc800503d7af17 [2018-11-23 02:41:40,877 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2018-11-23 02:41:40,887 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2018-11-23 02:41:40,890 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2018-11-23 02:41:40,891 INFO L271 PluginConnector]: Initializing CDTParser... [2018-11-23 02:41:40,891 INFO L276 PluginConnector]: CDTParser initialized [2018-11-23 02:41:40,892 INFO L418 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /tmp/vcloud-vcloud-master/worker/working_dir_c45a6cca-2d85-4212-851d-217296166115/bin-2019/ukojak/../../sv-benchmarks/c/float-newlib/double_req_bl_1122b_true-unreach-call.c [2018-11-23 02:41:40,941 INFO L221 CDTParser]: Created temporary CDT project at /tmp/vcloud-vcloud-master/worker/working_dir_c45a6cca-2d85-4212-851d-217296166115/bin-2019/ukojak/data/05f921b14/0765f8a68d394fcf9a09100c4d8f09d6/FLAG5a129180c [2018-11-23 02:41:41,292 INFO L307 CDTParser]: Found 1 translation units. [2018-11-23 02:41:41,293 INFO L161 CDTParser]: Scanning /tmp/vcloud-vcloud-master/worker/working_dir_c45a6cca-2d85-4212-851d-217296166115/sv-benchmarks/c/float-newlib/double_req_bl_1122b_true-unreach-call.c [2018-11-23 02:41:41,298 INFO L355 CDTParser]: About to delete temporary CDT project at /tmp/vcloud-vcloud-master/worker/working_dir_c45a6cca-2d85-4212-851d-217296166115/bin-2019/ukojak/data/05f921b14/0765f8a68d394fcf9a09100c4d8f09d6/FLAG5a129180c [2018-11-23 02:41:41,699 INFO L363 CDTParser]: Successfully deleted /tmp/vcloud-vcloud-master/worker/working_dir_c45a6cca-2d85-4212-851d-217296166115/bin-2019/ukojak/data/05f921b14/0765f8a68d394fcf9a09100c4d8f09d6 [2018-11-23 02:41:41,701 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2018-11-23 02:41:41,702 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2018-11-23 02:41:41,702 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2018-11-23 02:41:41,703 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2018-11-23 02:41:41,705 INFO L276 PluginConnector]: CACSL2BoogieTranslator initialized [2018-11-23 02:41:41,705 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 02:41:41" (1/1) ... [2018-11-23 02:41:41,707 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@b26934e and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 02:41:41, skipping insertion in model container [2018-11-23 02:41:41,707 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 02:41:41" (1/1) ... [2018-11-23 02:41:41,716 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2018-11-23 02:41:41,737 INFO L176 MainTranslator]: Built tables and reachable declarations [2018-11-23 02:41:41,881 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 02:41:41,885 INFO L191 MainTranslator]: Completed pre-run [2018-11-23 02:41:41,919 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 02:41:41,932 INFO L195 MainTranslator]: Completed translation [2018-11-23 02:41:41,932 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 02:41:41 WrapperNode [2018-11-23 02:41:41,932 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2018-11-23 02:41:41,933 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2018-11-23 02:41:41,933 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2018-11-23 02:41:41,933 INFO L276 PluginConnector]: Boogie Procedure Inliner initialized [2018-11-23 02:41:41,938 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:41:41" (1/1) ... [2018-11-23 02:41:41,946 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:41:41" (1/1) ... [2018-11-23 02:41:42,014 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2018-11-23 02:41:42,015 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2018-11-23 02:41:42,015 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2018-11-23 02:41:42,015 INFO L276 PluginConnector]: Boogie Preprocessor initialized [2018-11-23 02:41:42,024 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 02:41:41" (1/1) ... [2018-11-23 02:41:42,024 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 02:41:41" (1/1) ... [2018-11-23 02:41:42,027 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 02:41:41" (1/1) ... [2018-11-23 02:41:42,027 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 02:41:41" (1/1) ... [2018-11-23 02:41:42,036 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 02:41:41" (1/1) ... [2018-11-23 02:41:42,041 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 02:41:41" (1/1) ... [2018-11-23 02:41:42,043 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 02:41:41" (1/1) ... [2018-11-23 02:41:42,046 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2018-11-23 02:41:42,047 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2018-11-23 02:41:42,047 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2018-11-23 02:41:42,047 INFO L276 PluginConnector]: RCFGBuilder initialized [2018-11-23 02:41:42,048 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 02:41:41" (1/1) ... No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_c45a6cca-2d85-4212-851d-217296166115/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:41:42,084 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2018-11-23 02:41:42,084 INFO L130 BoogieDeclarations]: Found specification of procedure read~real [2018-11-23 02:41:42,084 INFO L130 BoogieDeclarations]: Found specification of procedure write~real [2018-11-23 02:41:42,084 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.alloc [2018-11-23 02:41:42,085 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2018-11-23 02:41:42,085 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2018-11-23 02:41:42,085 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2018-11-23 02:41:42,085 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~real [2018-11-23 02:41:42,085 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2018-11-23 02:41:42,583 INFO L275 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2018-11-23 02:41:42,583 INFO L280 CfgBuilder]: Removed 22 assue(true) statements. [2018-11-23 02:41:42,584 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 02:41:42 BoogieIcfgContainer [2018-11-23 02:41:42,584 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2018-11-23 02:41:42,584 INFO L113 PluginConnector]: ------------------------CodeCheck---------------------------- [2018-11-23 02:41:42,584 INFO L271 PluginConnector]: Initializing CodeCheck... [2018-11-23 02:41:42,593 INFO L276 PluginConnector]: CodeCheck initialized [2018-11-23 02:41:42,593 INFO L185 PluginConnector]: Executing the observer CodeCheckObserver from plugin CodeCheck for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 02:41:42" (1/1) ... [2018-11-23 02:41:42,601 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 02:41:42,619 INFO L82 GeneralOperation]: Start removeUnreachable. Operand no size info available [2018-11-23 02:41:42,625 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 66 states to 39 states and 66 transitions. [2018-11-23 02:41:42,625 INFO L276 IsEmpty]: Start isEmpty. Operand 39 states and 66 transitions. [2018-11-23 02:41:42,627 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 9 [2018-11-23 02:41:42,627 INFO L427 CodeCheckObserver]: Error Path is FOUND. [2018-11-23 02:41:42,688 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 02:41:42,712 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:41:42,719 INFO L82 GeneralOperation]: Start removeUnreachable. Operand no size info available [2018-11-23 02:41:42,719 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 61 states to 39 states and 61 transitions. [2018-11-23 02:41:42,719 INFO L276 IsEmpty]: Start isEmpty. Operand 39 states and 61 transitions. [2018-11-23 02:41:42,720 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 11 [2018-11-23 02:41:42,720 INFO L427 CodeCheckObserver]: Error Path is FOUND. [2018-11-23 02:41:42,761 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 02:41:42,785 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 02:41:42,829 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 02:41:42,841 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 02:41:42,857 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 := ~someBinaryArithmeticDOUBLEoperation(~someUnaryDOUBLEoperation(1.0), 0.0);main_~y~0 := main_#t~nondet16;havoc main_#t~nondet16;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=8.0, ULTIMATE.start_fmod_double_~y=7.0, ULTIMATE.start_main_~x~0=8.0, ULTIMATE.start_main_~y~0=7.0, |#NULL.base|=0, |#NULL.offset|=0, |ULTIMATE.start_fmod_double_#in~x|=8.0, |ULTIMATE.start_fmod_double_#in~y|=7.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~union3;havoc fmod_double_#t~mem2;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=8.0, ULTIMATE.start_fmod_double_~y=7.0, ULTIMATE.start_main_~x~0=8.0, ULTIMATE.start_main_~y~0=7.0, |#NULL.base|=0, |#NULL.offset|=0, |ULTIMATE.start_fmod_double_#in~x|=8.0, |ULTIMATE.start_fmod_double_#in~y|=7.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=8.0, ULTIMATE.start_fmod_double_~y=7.0, ULTIMATE.start_main_~x~0=8.0, ULTIMATE.start_main_~y~0=7.0, |#NULL.base|=0, |#NULL.offset|=0, |ULTIMATE.start_fmod_double_#in~x|=8.0, |ULTIMATE.start_fmod_double_#in~y|=7.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~union7;havoc fmod_double_#t~mem6;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=8.0, ULTIMATE.start_fmod_double_~y=7.0, ULTIMATE.start_main_~x~0=8.0, ULTIMATE.start_main_~y~0=7.0, |#NULL.base|=0, |#NULL.offset|=0, |ULTIMATE.start_fmod_double_#in~x|=8.0, |ULTIMATE.start_fmod_double_#in~y|=7.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=8.0, ULTIMATE.start_fmod_double_~y=7.0, ULTIMATE.start_main_~x~0=8.0, ULTIMATE.start_main_~y~0=7.0, |#NULL.base|=0, |#NULL.offset|=0, |ULTIMATE.start_fmod_double_#in~x|=8.0, |ULTIMATE.start_fmod_double_#in~y|=7.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=8.0, ULTIMATE.start_fmod_double_~y=7.0, ULTIMATE.start_main_~x~0=8.0, ULTIMATE.start_main_~y~0=7.0, |#NULL.base|=0, |#NULL.offset|=0, |ULTIMATE.start_fmod_double_#in~x|=8.0, |ULTIMATE.start_fmod_double_#in~y|=7.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=8.0, ULTIMATE.start_fmod_double_~y=7.0, ULTIMATE.start_main_~x~0=8.0, ULTIMATE.start_main_~y~0=7.0, |#NULL.base|=0, |#NULL.offset|=0, |ULTIMATE.start_fmod_double_#in~x|=8.0, |ULTIMATE.start_fmod_double_#in~y|=7.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=8.0, ULTIMATE.start_fmod_double_~y=7.0, ULTIMATE.start_isnan_double_~x=9.0, ULTIMATE.start_main_~res~0=9.0, ULTIMATE.start_main_~x~0=8.0, ULTIMATE.start_main_~y~0=7.0, |#NULL.base|=0, |#NULL.offset|=0, |ULTIMATE.start_fmod_double_#in~x|=8.0, |ULTIMATE.start_fmod_double_#in~y|=7.0, |ULTIMATE.start_fmod_double_#res|=9.0, |ULTIMATE.start_isnan_double_#in~x|=9.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=8.0, ULTIMATE.start_fmod_double_~y=7.0, ULTIMATE.start_isnan_double_~x=9.0, ULTIMATE.start_main_~res~0=9.0, ULTIMATE.start_main_~x~0=8.0, ULTIMATE.start_main_~y~0=7.0, |#NULL.base|=0, |#NULL.offset|=0, |ULTIMATE.start_fmod_double_#in~x|=8.0, |ULTIMATE.start_fmod_double_#in~y|=7.0, |ULTIMATE.start_fmod_double_#res|=9.0, |ULTIMATE.start_isnan_double_#in~x|=9.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=8.0, ULTIMATE.start_fmod_double_~y=7.0, ULTIMATE.start_isnan_double_~x=9.0, ULTIMATE.start_main_~res~0=9.0, ULTIMATE.start_main_~x~0=8.0, ULTIMATE.start_main_~y~0=7.0, |#NULL.base|=0, |#NULL.offset|=0, |ULTIMATE.start_fmod_double_#in~x|=8.0, |ULTIMATE.start_fmod_double_#in~y|=7.0, |ULTIMATE.start_fmod_double_#res|=9.0, |ULTIMATE.start_isnan_double_#in~x|=9.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; [L170] main_~x~0 := ~someBinaryArithmeticDOUBLEoperation(~someUnaryDOUBLEoperation(1.0), 0.0); [L171] main_~y~0 := main_#t~nondet16; [L171] havoc main_#t~nondet16; [L172] fmod_double_#in~x, fmod_double_#in~y := main_~x~0, main_~y~0; [L172] havoc fmod_double_#res; [L172] 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=8.0, fmod_double_#in~y=7.0, fmod_double_~x=8.0, fmod_double_~y=7.0, main_~x~0=8.0, main_~y~0=7.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~union3; [L31] havoc fmod_double_#t~mem2; [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=8.0, fmod_double_#in~y=7.0, fmod_double_~hx~0=582, fmod_double_~lx~0=3, fmod_double_~x=8.0, fmod_double_~y=7.0, main_~x~0=8.0, main_~y~0=7.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~union7; [L37] havoc fmod_double_#t~mem6; [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=8.0, fmod_double_#in~y=7.0, fmod_double_~hx~0=582, fmod_double_~hy~0=582, fmod_double_~lx~0=3, fmod_double_~ly~0=9, fmod_double_~x=8.0, fmod_double_~y=7.0, main_~x~0=8.0, main_~y~0=7.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=8.0, fmod_double_#in~y=7.0, fmod_double_~lx~0=3, fmod_double_~ly~0=9, fmod_double_~sx~0=2211, fmod_double_~x=8.0, fmod_double_~y=7.0, main_~x~0=8.0, main_~y~0=7.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=8.0, fmod_double_#in~y=7.0, fmod_double_~hx~0=0, fmod_double_~lx~0=3, fmod_double_~ly~0=9, fmod_double_~sx~0=2211, fmod_double_~x=8.0, fmod_double_~y=7.0, main_~x~0=8.0, main_~y~0=7.0, ~#Zero_fmod~0.base=2, ~#Zero_fmod~0.offset=0, ~one_fmod~0=1.0] [L172] main_#t~ret17 := fmod_double_#res; [L172] main_~res~0 := main_#t~ret17; [L172] havoc main_#t~ret17; [L175] isnan_double_#in~x := main_~res~0; [L175] havoc isnan_double_#res; [L175] 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); [L175] main_#t~ret18 := isnan_double_#res; [L175] assume -2147483648 <= main_#t~ret18 && main_#t~ret18 <= 2147483647; VAL [#NULL.base=0, #NULL.offset=0, fmod_double_#in~x=8.0, fmod_double_#in~y=7.0, fmod_double_#res=9.0, fmod_double_~hx~0=0, fmod_double_~lx~0=3, fmod_double_~ly~0=9, fmod_double_~sx~0=2211, fmod_double_~x=8.0, fmod_double_~y=7.0, isnan_double_#in~x=9.0, isnan_double_#res=0, isnan_double_~x=9.0, main_#t~ret18=0, main_~res~0=9.0, main_~x~0=8.0, main_~y~0=7.0, ~#Zero_fmod~0.base=2, ~#Zero_fmod~0.offset=0, ~one_fmod~0=1.0] [L175-L178] assume 0 == main_#t~ret18; [L175] havoc main_#t~ret18; VAL [#NULL.base=0, #NULL.offset=0, fmod_double_#in~x=8.0, fmod_double_#in~y=7.0, fmod_double_#res=9.0, fmod_double_~hx~0=0, fmod_double_~lx~0=3, fmod_double_~ly~0=9, fmod_double_~sx~0=2211, fmod_double_~x=8.0, fmod_double_~y=7.0, isnan_double_#in~x=9.0, isnan_double_#res=0, isnan_double_~x=9.0, main_~res~0=9.0, main_~x~0=8.0, main_~y~0=7.0, ~#Zero_fmod~0.base=2, ~#Zero_fmod~0.offset=0, ~one_fmod~0=1.0] [L176] assert false; VAL [#NULL.base=0, #NULL.offset=0, fmod_double_#in~x=8.0, fmod_double_#in~y=7.0, fmod_double_#res=9.0, fmod_double_~hx~0=0, fmod_double_~lx~0=3, fmod_double_~ly~0=9, fmod_double_~sx~0=2211, fmod_double_~x=8.0, fmod_double_~y=7.0, isnan_double_#in~x=9.0, isnan_double_#res=0, isnan_double_~x=9.0, main_~res~0=9.0, main_~x~0=8.0, main_~y~0=7.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; [L170] main_~x~0 := ~someBinaryArithmeticDOUBLEoperation(~someUnaryDOUBLEoperation(1.0), 0.0); [L171] main_~y~0 := main_#t~nondet16; [L171] havoc main_#t~nondet16; [L172] fmod_double_#in~x, fmod_double_#in~y := main_~x~0, main_~y~0; [L172] havoc fmod_double_#res; [L172] 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=8.0, fmod_double_#in~y=7.0, fmod_double_~x=8.0, fmod_double_~y=7.0, main_~x~0=8.0, main_~y~0=7.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~union3; [L31] havoc fmod_double_#t~mem2; [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=8.0, fmod_double_#in~y=7.0, fmod_double_~hx~0=582, fmod_double_~lx~0=3, fmod_double_~x=8.0, fmod_double_~y=7.0, main_~x~0=8.0, main_~y~0=7.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~union7; [L37] havoc fmod_double_#t~mem6; [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=8.0, fmod_double_#in~y=7.0, fmod_double_~hx~0=582, fmod_double_~hy~0=582, fmod_double_~lx~0=3, fmod_double_~ly~0=9, fmod_double_~x=8.0, fmod_double_~y=7.0, main_~x~0=8.0, main_~y~0=7.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=8.0, fmod_double_#in~y=7.0, fmod_double_~lx~0=3, fmod_double_~ly~0=9, fmod_double_~sx~0=2211, fmod_double_~x=8.0, fmod_double_~y=7.0, main_~x~0=8.0, main_~y~0=7.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=8.0, fmod_double_#in~y=7.0, fmod_double_~hx~0=0, fmod_double_~lx~0=3, fmod_double_~ly~0=9, fmod_double_~sx~0=2211, fmod_double_~x=8.0, fmod_double_~y=7.0, main_~x~0=8.0, main_~y~0=7.0, ~#Zero_fmod~0.base=2, ~#Zero_fmod~0.offset=0, ~one_fmod~0=1.0] [L172] main_#t~ret17 := fmod_double_#res; [L172] main_~res~0 := main_#t~ret17; [L172] havoc main_#t~ret17; [L175] isnan_double_#in~x := main_~res~0; [L175] havoc isnan_double_#res; [L175] 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); [L175] main_#t~ret18 := isnan_double_#res; [L175] assume -2147483648 <= main_#t~ret18 && main_#t~ret18 <= 2147483647; VAL [#NULL.base=0, #NULL.offset=0, fmod_double_#in~x=8.0, fmod_double_#in~y=7.0, fmod_double_#res=9.0, fmod_double_~hx~0=0, fmod_double_~lx~0=3, fmod_double_~ly~0=9, fmod_double_~sx~0=2211, fmod_double_~x=8.0, fmod_double_~y=7.0, isnan_double_#in~x=9.0, isnan_double_#res=0, isnan_double_~x=9.0, main_#t~ret18=0, main_~res~0=9.0, main_~x~0=8.0, main_~y~0=7.0, ~#Zero_fmod~0.base=2, ~#Zero_fmod~0.offset=0, ~one_fmod~0=1.0] [L175-L178] assume 0 == main_#t~ret18; [L175] havoc main_#t~ret18; VAL [#NULL.base=0, #NULL.offset=0, fmod_double_#in~x=8.0, fmod_double_#in~y=7.0, fmod_double_#res=9.0, fmod_double_~hx~0=0, fmod_double_~lx~0=3, fmod_double_~ly~0=9, fmod_double_~sx~0=2211, fmod_double_~x=8.0, fmod_double_~y=7.0, isnan_double_#in~x=9.0, isnan_double_#res=0, isnan_double_~x=9.0, main_~res~0=9.0, main_~x~0=8.0, main_~y~0=7.0, ~#Zero_fmod~0.base=2, ~#Zero_fmod~0.offset=0, ~one_fmod~0=1.0] [L176] assert false; VAL [#NULL.base=0, #NULL.offset=0, fmod_double_#in~x=8.0, fmod_double_#in~y=7.0, fmod_double_#res=9.0, fmod_double_~hx~0=0, fmod_double_~lx~0=3, fmod_double_~ly~0=9, fmod_double_~sx~0=2211, fmod_double_~x=8.0, fmod_double_~y=7.0, isnan_double_#in~x=9.0, isnan_double_#res=0, isnan_double_~x=9.0, main_~res~0=9.0, main_~x~0=8.0, main_~y~0=7.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; [L170] main_~x~0 := ~someBinaryArithmeticDOUBLEoperation(~someUnaryDOUBLEoperation(1.0), 0.0); [L171] main_~y~0 := main_#t~nondet16; [L171] havoc main_#t~nondet16; [L172] fmod_double_#in~x, fmod_double_#in~y := main_~x~0, main_~y~0; [L172] havoc fmod_double_#res; [L172] 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=8.0, fmod_double_#in~y=7.0, fmod_double_~x=8.0, fmod_double_~y=7.0, main_~x~0=8.0, main_~y~0=7.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~union3; [L31] havoc fmod_double_#t~mem2; [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=8.0, fmod_double_#in~y=7.0, fmod_double_~hx~0=582, fmod_double_~lx~0=3, fmod_double_~x=8.0, fmod_double_~y=7.0, main_~x~0=8.0, main_~y~0=7.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~union7; [L37] havoc fmod_double_#t~mem6; [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=8.0, fmod_double_#in~y=7.0, fmod_double_~hx~0=582, fmod_double_~hy~0=582, fmod_double_~lx~0=3, fmod_double_~ly~0=9, fmod_double_~x=8.0, fmod_double_~y=7.0, main_~x~0=8.0, main_~y~0=7.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=8.0, fmod_double_#in~y=7.0, fmod_double_~lx~0=3, fmod_double_~ly~0=9, fmod_double_~sx~0=2211, fmod_double_~x=8.0, fmod_double_~y=7.0, main_~x~0=8.0, main_~y~0=7.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=8.0, fmod_double_#in~y=7.0, fmod_double_~hx~0=0, fmod_double_~lx~0=3, fmod_double_~ly~0=9, fmod_double_~sx~0=2211, fmod_double_~x=8.0, fmod_double_~y=7.0, main_~x~0=8.0, main_~y~0=7.0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L172] main_#t~ret17 := fmod_double_#res; [L172] main_~res~0 := main_#t~ret17; [L172] havoc main_#t~ret17; [L175] isnan_double_#in~x := main_~res~0; [L175] havoc isnan_double_#res; [L175] 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); [L175] main_#t~ret18 := isnan_double_#res; [L175] assume -2147483648 <= main_#t~ret18 && main_#t~ret18 <= 2147483647; VAL [#NULL!base=0, #NULL!offset=0, fmod_double_#in~x=8.0, fmod_double_#in~y=7.0, fmod_double_#res=9.0, fmod_double_~hx~0=0, fmod_double_~lx~0=3, fmod_double_~ly~0=9, fmod_double_~sx~0=2211, fmod_double_~x=8.0, fmod_double_~y=7.0, isnan_double_#in~x=9.0, isnan_double_#res=0, isnan_double_~x=9.0, main_#t~ret18=0, main_~res~0=9.0, main_~x~0=8.0, main_~y~0=7.0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L175] COND TRUE 0 == main_#t~ret18 [L175] havoc main_#t~ret18; VAL [#NULL!base=0, #NULL!offset=0, fmod_double_#in~x=8.0, fmod_double_#in~y=7.0, fmod_double_#res=9.0, fmod_double_~hx~0=0, fmod_double_~lx~0=3, fmod_double_~ly~0=9, fmod_double_~sx~0=2211, fmod_double_~x=8.0, fmod_double_~y=7.0, isnan_double_#in~x=9.0, isnan_double_#res=0, isnan_double_~x=9.0, main_~res~0=9.0, main_~x~0=8.0, main_~y~0=7.0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L176] assert false; VAL [#NULL!base=0, #NULL!offset=0, fmod_double_#in~x=8.0, fmod_double_#in~y=7.0, fmod_double_#res=9.0, fmod_double_~hx~0=0, fmod_double_~lx~0=3, fmod_double_~ly~0=9, fmod_double_~sx~0=2211, fmod_double_~x=8.0, fmod_double_~y=7.0, isnan_double_#in~x=9.0, isnan_double_#res=0, isnan_double_~x=9.0, main_~res~0=9.0, main_~x~0=8.0, main_~y~0=7.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; [L170] main_~x~0 := ~someBinaryArithmeticDOUBLEoperation(~someUnaryDOUBLEoperation(1.0), 0.0); [L171] main_~y~0 := main_#t~nondet16; [L171] havoc main_#t~nondet16; [L172] fmod_double_#in~x, fmod_double_#in~y := main_~x~0, main_~y~0; [L172] havoc fmod_double_#res; [L172] 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=8.0, fmod_double_#in~y=7.0, fmod_double_~x=8.0, fmod_double_~y=7.0, main_~x~0=8.0, main_~y~0=7.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~union3; [L31] havoc fmod_double_#t~mem2; [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=8.0, fmod_double_#in~y=7.0, fmod_double_~hx~0=582, fmod_double_~lx~0=3, fmod_double_~x=8.0, fmod_double_~y=7.0, main_~x~0=8.0, main_~y~0=7.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~union7; [L37] havoc fmod_double_#t~mem6; [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=8.0, fmod_double_#in~y=7.0, fmod_double_~hx~0=582, fmod_double_~hy~0=582, fmod_double_~lx~0=3, fmod_double_~ly~0=9, fmod_double_~x=8.0, fmod_double_~y=7.0, main_~x~0=8.0, main_~y~0=7.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=8.0, fmod_double_#in~y=7.0, fmod_double_~lx~0=3, fmod_double_~ly~0=9, fmod_double_~sx~0=2211, fmod_double_~x=8.0, fmod_double_~y=7.0, main_~x~0=8.0, main_~y~0=7.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=8.0, fmod_double_#in~y=7.0, fmod_double_~hx~0=0, fmod_double_~lx~0=3, fmod_double_~ly~0=9, fmod_double_~sx~0=2211, fmod_double_~x=8.0, fmod_double_~y=7.0, main_~x~0=8.0, main_~y~0=7.0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L172] main_#t~ret17 := fmod_double_#res; [L172] main_~res~0 := main_#t~ret17; [L172] havoc main_#t~ret17; [L175] isnan_double_#in~x := main_~res~0; [L175] havoc isnan_double_#res; [L175] 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); [L175] main_#t~ret18 := isnan_double_#res; [L175] assume -2147483648 <= main_#t~ret18 && main_#t~ret18 <= 2147483647; VAL [#NULL!base=0, #NULL!offset=0, fmod_double_#in~x=8.0, fmod_double_#in~y=7.0, fmod_double_#res=9.0, fmod_double_~hx~0=0, fmod_double_~lx~0=3, fmod_double_~ly~0=9, fmod_double_~sx~0=2211, fmod_double_~x=8.0, fmod_double_~y=7.0, isnan_double_#in~x=9.0, isnan_double_#res=0, isnan_double_~x=9.0, main_#t~ret18=0, main_~res~0=9.0, main_~x~0=8.0, main_~y~0=7.0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L175] COND TRUE 0 == main_#t~ret18 [L175] havoc main_#t~ret18; VAL [#NULL!base=0, #NULL!offset=0, fmod_double_#in~x=8.0, fmod_double_#in~y=7.0, fmod_double_#res=9.0, fmod_double_~hx~0=0, fmod_double_~lx~0=3, fmod_double_~ly~0=9, fmod_double_~sx~0=2211, fmod_double_~x=8.0, fmod_double_~y=7.0, isnan_double_#in~x=9.0, isnan_double_#res=0, isnan_double_~x=9.0, main_~res~0=9.0, main_~x~0=8.0, main_~y~0=7.0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L176] assert false; VAL [#NULL!base=0, #NULL!offset=0, fmod_double_#in~x=8.0, fmod_double_#in~y=7.0, fmod_double_#res=9.0, fmod_double_~hx~0=0, fmod_double_~lx~0=3, fmod_double_~ly~0=9, fmod_double_~sx~0=2211, fmod_double_~x=8.0, fmod_double_~y=7.0, isnan_double_#in~x=9.0, isnan_double_#res=0, isnan_double_~x=9.0, main_~res~0=9.0, main_~x~0=8.0, main_~y~0=7.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); [L170] ~x~0 := ~someBinaryArithmeticDOUBLEoperation(~someUnaryDOUBLEoperation(1.0), 0.0); [L171] ~y~0 := #t~nondet16; [L171] havoc #t~nondet16; [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~union3; [L31] havoc #t~mem2; [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~union7; [L37] havoc #t~mem6; [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] [L172] ~res~0 := #t~ret17; [L172] havoc #t~ret17; [L16] ~x := #in~x; [L16] #res := (if ~someBinaryDOUBLEComparisonOperation(~x, ~x) then 1 else 0); [L175] 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] [L175] COND TRUE 0 == #t~ret18 [L175] 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] [L176] 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); [L170] ~x~0 := ~someBinaryArithmeticDOUBLEoperation(~someUnaryDOUBLEoperation(1.0), 0.0); [L171] ~y~0 := #t~nondet16; [L171] havoc #t~nondet16; [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~union3; [L31] havoc #t~mem2; [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~union7; [L37] havoc #t~mem6; [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] [L172] ~res~0 := #t~ret17; [L172] havoc #t~ret17; [L16] ~x := #in~x; [L16] #res := (if ~someBinaryDOUBLEComparisonOperation(~x, ~x) then 1 else 0); [L175] 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] [L175] COND TRUE 0 == #t~ret18 [L175] 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] [L176] 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, }; [L170] double x = -1.0 / 0.0; [L171] double y = __VERIFIER_nondet_double(); [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}] [L172] double res = fmod_double(x, y); [L16] return x != x; [L175] COND TRUE !isnan_double(res) [L176] __VERIFIER_error() VAL [one_fmod=1, Zero_fmod={2:0}] ----- [2018-11-23 02:41:42,904 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.codecheck CFG 23.11 02:41:42 ImpRootNode [2018-11-23 02:41:42,904 INFO L132 PluginConnector]: ------------------------ END CodeCheck---------------------------- [2018-11-23 02:41:42,904 INFO L113 PluginConnector]: ------------------------Witness Printer---------------------------- [2018-11-23 02:41:42,904 INFO L271 PluginConnector]: Initializing Witness Printer... [2018-11-23 02:41:42,904 INFO L276 PluginConnector]: Witness Printer initialized [2018-11-23 02:41:42,905 INFO L185 PluginConnector]: Executing the observer RCFGCatcher from plugin Witness Printer for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 02:41:42" (3/4) ... [2018-11-23 02:41:42,908 INFO L147 WitnessPrinter]: No result that supports witness generation found [2018-11-23 02:41:42,908 INFO L132 PluginConnector]: ------------------------ END Witness Printer---------------------------- [2018-11-23 02:41:42,909 INFO L168 Benchmark]: Toolchain (without parser) took 1207.48 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 162.0 MB). Free memory was 958.0 MB in the beginning and 1.1 GB in the end (delta: -103.7 MB). Peak memory consumption was 58.3 MB. Max. memory is 11.5 GB. [2018-11-23 02:41:42,910 INFO L168 Benchmark]: CDTParser took 0.15 ms. Allocated memory is still 1.0 GB. Free memory is still 985.4 MB. There was no memory consumed. Max. memory is 11.5 GB. [2018-11-23 02:41:42,911 INFO L168 Benchmark]: CACSL2BoogieTranslator took 230.09 ms. Allocated memory is still 1.0 GB. Free memory was 958.0 MB in the beginning and 941.9 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:41:42,911 INFO L168 Benchmark]: Boogie Procedure Inliner took 81.81 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 162.0 MB). Free memory was 941.9 MB in the beginning and 1.2 GB in the end (delta: -215.1 MB). Peak memory consumption was 14.7 MB. Max. memory is 11.5 GB. [2018-11-23 02:41:42,912 INFO L168 Benchmark]: Boogie Preprocessor took 31.65 ms. Allocated memory is still 1.2 GB. Free memory was 1.2 GB in the beginning and 1.2 GB in the end (delta: 3.2 MB). Peak memory consumption was 3.2 MB. Max. memory is 11.5 GB. [2018-11-23 02:41:42,912 INFO L168 Benchmark]: RCFGBuilder took 537.19 ms. Allocated memory is still 1.2 GB. Free memory was 1.2 GB in the beginning and 1.1 GB in the end (delta: 53.1 MB). Peak memory consumption was 53.1 MB. Max. memory is 11.5 GB. [2018-11-23 02:41:42,913 INFO L168 Benchmark]: CodeCheck took 319.54 ms. Allocated memory is still 1.2 GB. Free memory was 1.1 GB in the beginning and 1.1 GB in the end (delta: 35.7 MB). Peak memory consumption was 35.7 MB. Max. memory is 11.5 GB. [2018-11-23 02:41:42,913 INFO L168 Benchmark]: Witness Printer took 4.11 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: 3.2 MB). Peak memory consumption was 3.2 MB. Max. memory is 11.5 GB. [2018-11-23 02:41:42,917 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: 176]: 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 someBinaryArithmeticDOUBLEoperation at line 45, overapproximation of bitwiseAnd at line 39, 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, }; [L170] double x = -1.0 / 0.0; [L171] double y = __VERIFIER_nondet_double(); [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}] [L172] double res = fmod_double(x, y); [L16] return x != x; [L175] COND TRUE !isnan_double(res) [L176] __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.4 MB. There was no memory consumed. Max. memory is 11.5 GB. * CACSL2BoogieTranslator took 230.09 ms. Allocated memory is still 1.0 GB. Free memory was 958.0 MB in the beginning and 941.9 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 81.81 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 162.0 MB). Free memory was 941.9 MB in the beginning and 1.2 GB in the end (delta: -215.1 MB). Peak memory consumption was 14.7 MB. Max. memory is 11.5 GB. * Boogie Preprocessor took 31.65 ms. Allocated memory is still 1.2 GB. Free memory was 1.2 GB in the beginning and 1.2 GB in the end (delta: 3.2 MB). Peak memory consumption was 3.2 MB. Max. memory is 11.5 GB. * RCFGBuilder took 537.19 ms. Allocated memory is still 1.2 GB. Free memory was 1.2 GB in the beginning and 1.1 GB in the end (delta: 53.1 MB). Peak memory consumption was 53.1 MB. Max. memory is 11.5 GB. * CodeCheck took 319.54 ms. Allocated memory is still 1.2 GB. Free memory was 1.1 GB in the beginning and 1.1 GB in the end (delta: 35.7 MB). Peak memory consumption was 35.7 MB. Max. memory is 11.5 GB. * Witness Printer took 4.11 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: 3.2 MB). Peak memory consumption was 3.2 MB. 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:41:44,415 INFO L170 SettingsManager]: Resetting all preferences to default values... [2018-11-23 02:41:44,417 INFO L174 SettingsManager]: Resetting UltimateCore preferences to default values [2018-11-23 02:41:44,424 INFO L177 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2018-11-23 02:41:44,424 INFO L174 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2018-11-23 02:41:44,425 INFO L174 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2018-11-23 02:41:44,426 INFO L174 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2018-11-23 02:41:44,427 INFO L174 SettingsManager]: Resetting LassoRanker preferences to default values [2018-11-23 02:41:44,428 INFO L174 SettingsManager]: Resetting Reaching Definitions preferences to default values [2018-11-23 02:41:44,429 INFO L174 SettingsManager]: Resetting SyntaxChecker preferences to default values [2018-11-23 02:41:44,430 INFO L177 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2018-11-23 02:41:44,430 INFO L174 SettingsManager]: Resetting LTL2Aut preferences to default values [2018-11-23 02:41:44,431 INFO L174 SettingsManager]: Resetting PEA to Boogie preferences to default values [2018-11-23 02:41:44,432 INFO L174 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2018-11-23 02:41:44,433 INFO L174 SettingsManager]: Resetting ChcToBoogie preferences to default values [2018-11-23 02:41:44,434 INFO L174 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2018-11-23 02:41:44,434 INFO L174 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2018-11-23 02:41:44,436 INFO L174 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2018-11-23 02:41:44,438 INFO L174 SettingsManager]: Resetting CodeCheck preferences to default values [2018-11-23 02:41:44,439 INFO L174 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2018-11-23 02:41:44,440 INFO L174 SettingsManager]: Resetting RCFGBuilder preferences to default values [2018-11-23 02:41:44,441 INFO L174 SettingsManager]: Resetting TraceAbstraction preferences to default values [2018-11-23 02:41:44,443 INFO L177 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2018-11-23 02:41:44,443 INFO L177 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2018-11-23 02:41:44,443 INFO L174 SettingsManager]: Resetting TreeAutomizer preferences to default values [2018-11-23 02:41:44,444 INFO L174 SettingsManager]: Resetting IcfgTransformer preferences to default values [2018-11-23 02:41:44,445 INFO L174 SettingsManager]: Resetting Boogie Printer preferences to default values [2018-11-23 02:41:44,446 INFO L174 SettingsManager]: Resetting ReqPrinter preferences to default values [2018-11-23 02:41:44,446 INFO L174 SettingsManager]: Resetting Witness Printer preferences to default values [2018-11-23 02:41:44,447 INFO L177 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2018-11-23 02:41:44,447 INFO L174 SettingsManager]: Resetting CDTParser preferences to default values [2018-11-23 02:41:44,448 INFO L177 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2018-11-23 02:41:44,448 INFO L177 SettingsManager]: ReqParser provides no preferences, ignoring... [2018-11-23 02:41:44,448 INFO L174 SettingsManager]: Resetting SmtParser preferences to default values [2018-11-23 02:41:44,450 INFO L174 SettingsManager]: Resetting Witness Parser preferences to default values [2018-11-23 02:41:44,450 INFO L181 SettingsManager]: Finished resetting all preferences to default values... [2018-11-23 02:41:44,451 INFO L98 SettingsManager]: Beginning loading settings from /tmp/vcloud-vcloud-master/worker/working_dir_c45a6cca-2d85-4212-851d-217296166115/bin-2019/ukojak/config/svcomp-Reach-32bit-Kojak_Bitvector.epf [2018-11-23 02:41:44,463 INFO L110 SettingsManager]: Loading preferences was successful [2018-11-23 02:41:44,463 INFO L112 SettingsManager]: Preferences different from defaults after loading the file: [2018-11-23 02:41:44,463 INFO L131 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2018-11-23 02:41:44,464 INFO L133 SettingsManager]: * ... to procedures called more than once=ALWAYS [2018-11-23 02:41:44,464 INFO L131 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2018-11-23 02:41:44,464 INFO L133 SettingsManager]: * Create parallel compositions if possible=false [2018-11-23 02:41:44,464 INFO L131 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2018-11-23 02:41:44,465 INFO L133 SettingsManager]: * sizeof long=4 [2018-11-23 02:41:44,465 INFO L133 SettingsManager]: * sizeof POINTER=4 [2018-11-23 02:41:44,465 INFO L133 SettingsManager]: * Check division by zero=IGNORE [2018-11-23 02:41:44,465 INFO L133 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2018-11-23 02:41:44,466 INFO L133 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2018-11-23 02:41:44,466 INFO L133 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2018-11-23 02:41:44,466 INFO L133 SettingsManager]: * Use bitvectors instead of ints=true [2018-11-23 02:41:44,466 INFO L133 SettingsManager]: * Memory model=HoenickeLindenmann_4ByteResolution [2018-11-23 02:41:44,466 INFO L133 SettingsManager]: * sizeof long double=12 [2018-11-23 02:41:44,466 INFO L133 SettingsManager]: * Check if freed pointer was valid=false [2018-11-23 02:41:44,466 INFO L133 SettingsManager]: * Use constant arrays=true [2018-11-23 02:41:44,466 INFO L133 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2018-11-23 02:41:44,466 INFO L131 SettingsManager]: Preferences of CodeCheck differ from their defaults: [2018-11-23 02:41:44,467 INFO L133 SettingsManager]: * Timeout in seconds=1000000 [2018-11-23 02:41:44,467 INFO L131 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2018-11-23 02:41:44,467 INFO L133 SettingsManager]: * To the following directory=./dump/ [2018-11-23 02:41:44,467 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:10000 [2018-11-23 02:41:44,467 INFO L131 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2018-11-23 02:41:44,467 INFO L133 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2018-11-23 02:41:44,467 INFO L133 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2018-11-23 02:41:44,467 INFO L133 SettingsManager]: * Use separate solver for trace checks=false [2018-11-23 02:41:44,468 INFO L133 SettingsManager]: * Trace refinement strategy=WALRUS [2018-11-23 02:41:44,468 INFO L133 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2018-11-23 02:41:44,468 INFO L133 SettingsManager]: * Command for external solver=cvc4nyu --tear-down-incremental --rewrite-divk --print-success --lang smt [2018-11-23 02:41:44,468 INFO L133 SettingsManager]: * Logic for external solver=AUFBV [2018-11-23 02:41:44,468 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_c45a6cca-2d85-4212-851d-217296166115/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 -> c6a2c9a76eae0e8993608269b8bc800503d7af17 [2018-11-23 02:41:44,501 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2018-11-23 02:41:44,509 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2018-11-23 02:41:44,511 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2018-11-23 02:41:44,512 INFO L271 PluginConnector]: Initializing CDTParser... [2018-11-23 02:41:44,513 INFO L276 PluginConnector]: CDTParser initialized [2018-11-23 02:41:44,513 INFO L418 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /tmp/vcloud-vcloud-master/worker/working_dir_c45a6cca-2d85-4212-851d-217296166115/bin-2019/ukojak/../../sv-benchmarks/c/float-newlib/double_req_bl_1122b_true-unreach-call.c [2018-11-23 02:41:44,553 INFO L221 CDTParser]: Created temporary CDT project at /tmp/vcloud-vcloud-master/worker/working_dir_c45a6cca-2d85-4212-851d-217296166115/bin-2019/ukojak/data/4946facbf/d8313afb85f7458dbc04dbecbb55d10f/FLAGb8114d698 [2018-11-23 02:41:44,895 INFO L307 CDTParser]: Found 1 translation units. [2018-11-23 02:41:44,896 INFO L161 CDTParser]: Scanning /tmp/vcloud-vcloud-master/worker/working_dir_c45a6cca-2d85-4212-851d-217296166115/sv-benchmarks/c/float-newlib/double_req_bl_1122b_true-unreach-call.c [2018-11-23 02:41:44,901 INFO L355 CDTParser]: About to delete temporary CDT project at /tmp/vcloud-vcloud-master/worker/working_dir_c45a6cca-2d85-4212-851d-217296166115/bin-2019/ukojak/data/4946facbf/d8313afb85f7458dbc04dbecbb55d10f/FLAGb8114d698 [2018-11-23 02:41:45,315 INFO L363 CDTParser]: Successfully deleted /tmp/vcloud-vcloud-master/worker/working_dir_c45a6cca-2d85-4212-851d-217296166115/bin-2019/ukojak/data/4946facbf/d8313afb85f7458dbc04dbecbb55d10f [2018-11-23 02:41:45,318 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2018-11-23 02:41:45,319 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2018-11-23 02:41:45,320 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2018-11-23 02:41:45,320 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2018-11-23 02:41:45,322 INFO L276 PluginConnector]: CACSL2BoogieTranslator initialized [2018-11-23 02:41:45,323 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 02:41:45" (1/1) ... [2018-11-23 02:41:45,325 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@255f79a3 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 02:41:45, skipping insertion in model container [2018-11-23 02:41:45,325 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 02:41:45" (1/1) ... [2018-11-23 02:41:45,332 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2018-11-23 02:41:45,352 INFO L176 MainTranslator]: Built tables and reachable declarations [2018-11-23 02:41:45,512 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 02:41:45,517 INFO L191 MainTranslator]: Completed pre-run [2018-11-23 02:41:45,557 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 02:41:45,581 INFO L195 MainTranslator]: Completed translation [2018-11-23 02:41:45,581 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 02:41:45 WrapperNode [2018-11-23 02:41:45,582 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2018-11-23 02:41:45,582 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2018-11-23 02:41:45,582 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2018-11-23 02:41:45,583 INFO L276 PluginConnector]: Boogie Procedure Inliner initialized [2018-11-23 02:41:45,590 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:41:45" (1/1) ... [2018-11-23 02:41:45,601 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:41:45" (1/1) ... [2018-11-23 02:41:45,674 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2018-11-23 02:41:45,674 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2018-11-23 02:41:45,674 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2018-11-23 02:41:45,675 INFO L276 PluginConnector]: Boogie Preprocessor initialized [2018-11-23 02:41:45,683 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 02:41:45" (1/1) ... [2018-11-23 02:41:45,683 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 02:41:45" (1/1) ... [2018-11-23 02:41:45,686 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 02:41:45" (1/1) ... [2018-11-23 02:41:45,687 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 02:41:45" (1/1) ... [2018-11-23 02:41:45,698 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 02:41:45" (1/1) ... [2018-11-23 02:41:45,705 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 02:41:45" (1/1) ... [2018-11-23 02:41:45,707 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 02:41:45" (1/1) ... [2018-11-23 02:41:45,711 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2018-11-23 02:41:45,712 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2018-11-23 02:41:45,712 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2018-11-23 02:41:45,712 INFO L276 PluginConnector]: RCFGBuilder initialized [2018-11-23 02:41:45,713 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 02:41:45" (1/1) ... No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_c45a6cca-2d85-4212-851d-217296166115/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:41:45,753 INFO L130 BoogieDeclarations]: Found specification of procedure read~intFLOATTYPE8 [2018-11-23 02:41:45,753 INFO L130 BoogieDeclarations]: Found specification of procedure write~intFLOATTYPE8 [2018-11-23 02:41:45,753 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~intFLOATTYPE8 [2018-11-23 02:41:45,753 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.alloc [2018-11-23 02:41:45,753 INFO L130 BoogieDeclarations]: Found specification of procedure read~intINTTYPE4 [2018-11-23 02:41:45,754 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2018-11-23 02:41:45,754 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2018-11-23 02:41:45,754 INFO L130 BoogieDeclarations]: Found specification of procedure write~intINTTYPE4 [2018-11-23 02:41:45,754 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2018-11-23 02:41:45,874 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 02:41:45,913 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 02:41:45,955 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 02:41:56,231 INFO L275 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2018-11-23 02:41:56,231 INFO L280 CfgBuilder]: Removed 22 assue(true) statements. [2018-11-23 02:41:56,232 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 02:41:56 BoogieIcfgContainer [2018-11-23 02:41:56,232 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2018-11-23 02:41:56,232 INFO L113 PluginConnector]: ------------------------CodeCheck---------------------------- [2018-11-23 02:41:56,232 INFO L271 PluginConnector]: Initializing CodeCheck... [2018-11-23 02:41:56,242 INFO L276 PluginConnector]: CodeCheck initialized [2018-11-23 02:41:56,242 INFO L185 PluginConnector]: Executing the observer CodeCheckObserver from plugin CodeCheck for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 02:41:56" (1/1) ... [2018-11-23 02:41:56,251 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 02:41:56,272 INFO L82 GeneralOperation]: Start removeUnreachable. Operand no size info available [2018-11-23 02:41:56,277 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 66 states to 39 states and 66 transitions. [2018-11-23 02:41:56,277 INFO L276 IsEmpty]: Start isEmpty. Operand 39 states and 66 transitions. [2018-11-23 02:41:56,279 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 9 [2018-11-23 02:41:56,279 INFO L427 CodeCheckObserver]: Error Path is FOUND. [2018-11-23 02:41:56,321 ERROR L613 CodeCheckObserver]: First Tracecheck threw exception Indexed Sort BitVec undefined [2018-11-23 02:41:56,353 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 02:41:56,360 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 02:41:56,371 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:41:56,379 INFO L82 GeneralOperation]: Start removeUnreachable. Operand no size info available [2018-11-23 02:41:56,380 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 61 states to 39 states and 61 transitions. [2018-11-23 02:41:56,381 INFO L276 IsEmpty]: Start isEmpty. Operand 39 states and 61 transitions. [2018-11-23 02:41:56,381 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 11 [2018-11-23 02:41:56,381 INFO L427 CodeCheckObserver]: Error Path is FOUND. [2018-11-23 02:41:56,382 ERROR L613 CodeCheckObserver]: First Tracecheck threw exception Indexed Sort BitVec undefined [2018-11-23 02:41:58,235 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 02:41:58,593 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 02:42:09,170 WARN L180 SmtUtils]: Spent 2.41 s on a formula simplification that was a NOOP. DAG size: 12 [2018-11-23 02:42:13,648 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:42:53,106 WARN L180 SmtUtils]: Spent 2.24 s on a formula simplification that was a NOOP. DAG size: 13 [2018-11-23 02:43:46,430 INFO L82 GeneralOperation]: Start removeUnreachable. Operand no size info available [2018-11-23 02:43:46,431 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 68 states to 41 states and 68 transitions. [2018-11-23 02:43:46,431 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 68 transitions. [2018-11-23 02:43:46,432 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 13 [2018-11-23 02:43:46,432 INFO L427 CodeCheckObserver]: Error Path is FOUND. [2018-11-23 02:43:46,433 ERROR L613 CodeCheckObserver]: First Tracecheck threw exception Indexed Sort BitVec undefined [2018-11-23 02:43:46,470 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 02:43:46,473 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 02:43:58,941 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:03,366 INFO L82 GeneralOperation]: Start removeUnreachable. Operand no size info available [2018-11-23 02:45:03,367 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 11 states and 10 transitions. [2018-11-23 02:45:03,367 INFO L276 IsEmpty]: Start isEmpty. Operand 11 states and 10 transitions. [2018-11-23 02:45:03,367 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 02:45:03,367 WARN L424 CodeCheckObserver]: This Program is SAFE, Check terminated with 4 iterations. [2018-11-23 02:45:03,376 INFO L775 CodeCheckObserver]: All specifications hold 1 specifications checked. All of them hold [2018-11-23 02:45:07,816 WARN L180 SmtUtils]: Spent 4.40 s on a formula simplification that was a NOOP. DAG size: 12 [2018-11-23 02:45:07,844 INFO L579 CodeCheckObserver]: Invariant with dag size 12 [2018-11-23 02:45:07,849 WARN L416 cessorBacktranslator]: Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven [2018-11-23 02:45:07,850 WARN L416 cessorBacktranslator]: Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven [2018-11-23 02:45:07,850 WARN L416 cessorBacktranslator]: Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven [2018-11-23 02:45:07,850 WARN L416 cessorBacktranslator]: Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven [2018-11-23 02:45:07,851 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[ULTIMATE.start_fmod_double_~y,QUANTIFIED] [2018-11-23 02:45:07,851 WARN L416 cessorBacktranslator]: Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven [2018-11-23 02:45:07,851 WARN L416 cessorBacktranslator]: Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven [2018-11-23 02:45:07,851 WARN L416 cessorBacktranslator]: Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven [2018-11-23 02:45:07,852 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[ULTIMATE.start_fmod_double_~y,QUANTIFIED] [2018-11-23 02:45:07,856 WARN L416 cessorBacktranslator]: Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven [2018-11-23 02:45:07,857 WARN L416 cessorBacktranslator]: Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven [2018-11-23 02:45:07,857 WARN L416 cessorBacktranslator]: Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven [2018-11-23 02:45:07,857 WARN L416 cessorBacktranslator]: Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven [2018-11-23 02:45:07,858 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[ULTIMATE.start_fmod_double_~y,QUANTIFIED] [2018-11-23 02:45:07,858 WARN L416 cessorBacktranslator]: Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven [2018-11-23 02:45:07,858 WARN L416 cessorBacktranslator]: Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven [2018-11-23 02:45:07,858 WARN L416 cessorBacktranslator]: Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven [2018-11-23 02:45:07,858 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[ULTIMATE.start_fmod_double_~y,QUANTIFIED] [2018-11-23 02:45:07,859 INFO L579 CodeCheckObserver]: Invariant with dag size 8 [2018-11-23 02:45:07,860 WARN L416 cessorBacktranslator]: Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven [2018-11-23 02:45:07,860 WARN L416 cessorBacktranslator]: Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven [2018-11-23 02:45:07,862 WARN L416 cessorBacktranslator]: Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven [2018-11-23 02:45:07,863 WARN L416 cessorBacktranslator]: Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven [2018-11-23 02:45:07,863 INFO L579 CodeCheckObserver]: Invariant with dag size 1 [2018-11-23 02:45:07,864 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.codecheck CFG 23.11 02:45:07 ImpRootNode [2018-11-23 02:45:07,864 INFO L132 PluginConnector]: ------------------------ END CodeCheck---------------------------- [2018-11-23 02:45:07,864 INFO L113 PluginConnector]: ------------------------Witness Printer---------------------------- [2018-11-23 02:45:07,864 INFO L271 PluginConnector]: Initializing Witness Printer... [2018-11-23 02:45:07,865 INFO L276 PluginConnector]: Witness Printer initialized [2018-11-23 02:45:07,865 INFO L185 PluginConnector]: Executing the observer RCFGCatcher from plugin Witness Printer for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 02:41:56" (3/4) ... [2018-11-23 02:45:07,869 INFO L144 WitnessPrinter]: Generating witness for correct program [2018-11-23 02:45:07,880 INFO L879 BoogieBacktranslator]: Reduced CFG by removing 5 nodes and edges [2018-11-23 02:45:07,881 INFO L879 BoogieBacktranslator]: Reduced CFG by removing 4 nodes and edges [2018-11-23 02:45:07,915 INFO L145 WitnessManager]: Wrote witness to /tmp/vcloud-vcloud-master/worker/working_dir_c45a6cca-2d85-4212-851d-217296166115/bin-2019/ukojak/witness.graphml [2018-11-23 02:45:07,915 INFO L132 PluginConnector]: ------------------------ END Witness Printer---------------------------- [2018-11-23 02:45:07,916 INFO L168 Benchmark]: Toolchain (without parser) took 202597.64 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 142.6 MB). Free memory was 949.7 MB in the beginning and 991.3 MB in the end (delta: -41.6 MB). Peak memory consumption was 101.0 MB. Max. memory is 11.5 GB. [2018-11-23 02:45:07,917 INFO L168 Benchmark]: CDTParser took 0.14 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:45:07,917 INFO L168 Benchmark]: CACSL2BoogieTranslator took 262.33 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:45:07,918 INFO L168 Benchmark]: Boogie Procedure Inliner took 91.88 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 142.6 MB). Free memory was 933.6 MB in the beginning and 1.1 GB in the end (delta: -203.7 MB). Peak memory consumption was 20.9 MB. Max. memory is 11.5 GB. [2018-11-23 02:45:07,918 INFO L168 Benchmark]: Boogie Preprocessor took 36.88 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: 6.6 MB). Peak memory consumption was 6.6 MB. Max. memory is 11.5 GB. [2018-11-23 02:45:07,918 INFO L168 Benchmark]: RCFGBuilder took 10520.21 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: 53.0 MB). Peak memory consumption was 53.0 MB. Max. memory is 11.5 GB. [2018-11-23 02:45:07,919 INFO L168 Benchmark]: CodeCheck took 191631.73 ms. Allocated memory is still 1.2 GB. Free memory was 1.1 GB in the beginning and 991.3 MB in the end (delta: 86.5 MB). Peak memory consumption was 86.5 MB. Max. memory is 11.5 GB. [2018-11-23 02:45:07,919 INFO L168 Benchmark]: Witness Printer took 51.16 ms. Allocated memory is still 1.2 GB. Free memory is still 991.3 MB. There was no memory consumed. Max. memory is 11.5 GB. [2018-11-23 02:45:07,922 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, 187.1s OverallTime, 4 OverallIterations, 0 TraceHistogramMax, 0.0s AutomataDifference, 0.0s DeadEndRemovalTime, 0.0s HoareAnnotationTime, HoareTripleCheckerStatistics: 114 SDtfs, 52 SDslu, 56 SDs, 0 SdLazy, 114 SolverSat, 26 SolverUnsat, 4 SolverUnknown, 0 SolverNotchecked, 118.2s Time, PredicateUnifierStatistics: 0 DeclaredPredicates, 255 GetRequests, 237 SyntacticMatches, 0 SemanticMatches, 18 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 39 ImplicationChecksByTransitivity, 98.9s Time, 0.0s BasicInterpolantAutomatonTime, BiggestAbstraction: size=-1occurred in iteration=-1, traceCheckStatistics: 0.0s SsaConstructionTime, 1.8s SatisfiabilityAnalysisTime, 27.9s InterpolantComputationTime, 30 NumberOfCodeBlocks, 30 NumberOfCodeBlocksAsserted, 3 NumberOfCheckSat, 27 ConstructedInterpolants, 6 QuantifiedInterpolants, 2178 SizeOfPredicates, 14 NumberOfNonLiveVariables, 161 ConjunctsInSsa, 19 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: 176]: 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:45:07,923 WARN L416 cessorBacktranslator]: Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven [2018-11-23 02:45:07,923 WARN L416 cessorBacktranslator]: Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven [2018-11-23 02:45:07,924 WARN L416 cessorBacktranslator]: Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven [2018-11-23 02:45:07,924 WARN L416 cessorBacktranslator]: Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven [2018-11-23 02:45:07,924 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[ULTIMATE.start_fmod_double_~y,QUANTIFIED] [2018-11-23 02:45:07,924 WARN L416 cessorBacktranslator]: Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven [2018-11-23 02:45:07,924 WARN L416 cessorBacktranslator]: Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven [2018-11-23 02:45:07,925 WARN L416 cessorBacktranslator]: Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven [2018-11-23 02:45:07,925 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[ULTIMATE.start_fmod_double_~y,QUANTIFIED] [2018-11-23 02:45:07,925 WARN L416 cessorBacktranslator]: Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven [2018-11-23 02:45:07,925 WARN L416 cessorBacktranslator]: Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven [2018-11-23 02:45:07,926 WARN L416 cessorBacktranslator]: Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven [2018-11-23 02:45:07,926 WARN L416 cessorBacktranslator]: Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven [2018-11-23 02:45:07,926 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[ULTIMATE.start_fmod_double_~y,QUANTIFIED] [2018-11-23 02:45:07,926 WARN L416 cessorBacktranslator]: Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven [2018-11-23 02:45:07,926 WARN L416 cessorBacktranslator]: Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven [2018-11-23 02:45:07,927 WARN L416 cessorBacktranslator]: Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven [2018-11-23 02:45:07,927 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[ULTIMATE.start_fmod_double_~y,QUANTIFIED] Derived loop invariant: (\exists ULTIMATE.start_fmod_double_~y : C_DOUBLE :: ~fp.div~DOUBLE(~roundNearestTiesToEven, ~fp.mul~DOUBLE(~roundNearestTiesToEven, ~fp.div~DOUBLE(~roundNearestTiesToEven, ~fp.neg~DOUBLE(~to_fp~LONGDOUBLE(~roundNearestTiesToEven, 1.0)), ~Pluszero~LONGDOUBLE()), ULTIMATE.start_fmod_double_~y), ~fp.mul~DOUBLE(~roundNearestTiesToEven, ~fp.div~DOUBLE(~roundNearestTiesToEven, ~fp.neg~DOUBLE(~to_fp~LONGDOUBLE(~roundNearestTiesToEven, 1.0)), ~Pluszero~LONGDOUBLE()), ULTIMATE.start_fmod_double_~y)) == \result) - InvariantResult [Line: 27]: Loop Invariant [2018-11-23 02:45:07,927 WARN L416 cessorBacktranslator]: Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven [2018-11-23 02:45:07,928 WARN L416 cessorBacktranslator]: Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven [2018-11-23 02:45:07,928 WARN L416 cessorBacktranslator]: Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven [2018-11-23 02:45:07,928 WARN L416 cessorBacktranslator]: Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven Derived loop invariant: ~fp.div~DOUBLE(~roundNearestTiesToEven, ~fp.neg~DOUBLE(~to_fp~LONGDOUBLE(~roundNearestTiesToEven, 1.0)), ~Pluszero~LONGDOUBLE()) == x - InvariantResult [Line: 163]: Loop Invariant Derived loop invariant: 1 * Results from de.uni_freiburg.informatik.ultimate.core: - StatisticsResult: Toolchain Benchmarks Benchmark results are: * CDTParser took 0.14 ms. Allocated memory is still 1.0 GB. Free memory is still 978.7 MB. There was no memory consumed. Max. memory is 11.5 GB. * CACSL2BoogieTranslator took 262.33 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 91.88 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 142.6 MB). Free memory was 933.6 MB in the beginning and 1.1 GB in the end (delta: -203.7 MB). Peak memory consumption was 20.9 MB. Max. memory is 11.5 GB. * Boogie Preprocessor took 36.88 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: 6.6 MB). Peak memory consumption was 6.6 MB. Max. memory is 11.5 GB. * RCFGBuilder took 10520.21 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: 53.0 MB). Peak memory consumption was 53.0 MB. Max. memory is 11.5 GB. * CodeCheck took 191631.73 ms. Allocated memory is still 1.2 GB. Free memory was 1.1 GB in the beginning and 991.3 MB in the end (delta: 86.5 MB). Peak memory consumption was 86.5 MB. Max. memory is 11.5 GB. * Witness Printer took 51.16 ms. Allocated memory is still 1.2 GB. Free memory is still 991.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 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_~y,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 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_~y,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 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_~y,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 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_~y,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 Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven - 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 Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven - 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_~y,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 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_~y,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 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_~y,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 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_~y,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 Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven - GenericResult: Unfinished Backtranslation Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven 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...