./Ultimate.py --spec ../../sv-benchmarks/c/properties/unreach-call.prp --file ../../sv-benchmarks/c/float-newlib/double_req_bl_1121b_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_d5895f2e-f005-4d3b-b390-0dec6406dd46/bin-2019/ukojak/data/config -Xmx12G -Xms1G -jar /tmp/vcloud-vcloud-master/worker/working_dir_d5895f2e-f005-4d3b-b390-0dec6406dd46/bin-2019/ukojak/plugins/org.eclipse.equinox.launcher_1.3.100.v20150511-1540.jar -data @noDefault -ultimatedata /tmp/vcloud-vcloud-master/worker/working_dir_d5895f2e-f005-4d3b-b390-0dec6406dd46/bin-2019/ukojak/data -tc /tmp/vcloud-vcloud-master/worker/working_dir_d5895f2e-f005-4d3b-b390-0dec6406dd46/bin-2019/ukojak/config/KojakReach.xml -i ../../sv-benchmarks/c/float-newlib/double_req_bl_1121b_true-unreach-call.c -s /tmp/vcloud-vcloud-master/worker/working_dir_d5895f2e-f005-4d3b-b390-0dec6406dd46/bin-2019/ukojak/config/svcomp-Reach-32bit-Kojak_Default.epf --cacsl2boogietranslator.entry.function main --witnessprinter.witness.directory /tmp/vcloud-vcloud-master/worker/working_dir_d5895f2e-f005-4d3b-b390-0dec6406dd46/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 1c6c05365b181d4eacf1f0a2b19f094d722c4a6a ....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................... 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_d5895f2e-f005-4d3b-b390-0dec6406dd46/bin-2019/ukojak/data/config -Xmx12G -Xms1G -jar /tmp/vcloud-vcloud-master/worker/working_dir_d5895f2e-f005-4d3b-b390-0dec6406dd46/bin-2019/ukojak/plugins/org.eclipse.equinox.launcher_1.3.100.v20150511-1540.jar -data @noDefault -ultimatedata /tmp/vcloud-vcloud-master/worker/working_dir_d5895f2e-f005-4d3b-b390-0dec6406dd46/bin-2019/ukojak/data -tc /tmp/vcloud-vcloud-master/worker/working_dir_d5895f2e-f005-4d3b-b390-0dec6406dd46/bin-2019/ukojak/config/KojakReach.xml -i ../../sv-benchmarks/c/float-newlib/double_req_bl_1121b_true-unreach-call.c -s /tmp/vcloud-vcloud-master/worker/working_dir_d5895f2e-f005-4d3b-b390-0dec6406dd46/bin-2019/ukojak/config/svcomp-Reach-32bit-Kojak_Bitvector.epf --cacsl2boogietranslator.entry.function main --witnessprinter.witness.directory /tmp/vcloud-vcloud-master/worker/working_dir_d5895f2e-f005-4d3b-b390-0dec6406dd46/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 1c6c05365b181d4eacf1f0a2b19f094d722c4a6a .......................................................................................................................................................................................................................................................................................................................... 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 12:09:42,865 INFO L170 SettingsManager]: Resetting all preferences to default values... [2018-11-23 12:09:42,866 INFO L174 SettingsManager]: Resetting UltimateCore preferences to default values [2018-11-23 12:09:42,872 INFO L177 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2018-11-23 12:09:42,872 INFO L174 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2018-11-23 12:09:42,873 INFO L174 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2018-11-23 12:09:42,874 INFO L174 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2018-11-23 12:09:42,875 INFO L174 SettingsManager]: Resetting LassoRanker preferences to default values [2018-11-23 12:09:42,876 INFO L174 SettingsManager]: Resetting Reaching Definitions preferences to default values [2018-11-23 12:09:42,877 INFO L174 SettingsManager]: Resetting SyntaxChecker preferences to default values [2018-11-23 12:09:42,877 INFO L177 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2018-11-23 12:09:42,878 INFO L174 SettingsManager]: Resetting LTL2Aut preferences to default values [2018-11-23 12:09:42,878 INFO L174 SettingsManager]: Resetting PEA to Boogie preferences to default values [2018-11-23 12:09:42,879 INFO L174 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2018-11-23 12:09:42,879 INFO L174 SettingsManager]: Resetting ChcToBoogie preferences to default values [2018-11-23 12:09:42,880 INFO L174 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2018-11-23 12:09:42,880 INFO L174 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2018-11-23 12:09:42,881 INFO L174 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2018-11-23 12:09:42,883 INFO L174 SettingsManager]: Resetting CodeCheck preferences to default values [2018-11-23 12:09:42,884 INFO L174 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2018-11-23 12:09:42,885 INFO L174 SettingsManager]: Resetting RCFGBuilder preferences to default values [2018-11-23 12:09:42,885 INFO L174 SettingsManager]: Resetting TraceAbstraction preferences to default values [2018-11-23 12:09:42,887 INFO L177 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2018-11-23 12:09:42,887 INFO L177 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2018-11-23 12:09:42,887 INFO L174 SettingsManager]: Resetting TreeAutomizer preferences to default values [2018-11-23 12:09:42,888 INFO L174 SettingsManager]: Resetting IcfgTransformer preferences to default values [2018-11-23 12:09:42,889 INFO L174 SettingsManager]: Resetting Boogie Printer preferences to default values [2018-11-23 12:09:42,889 INFO L174 SettingsManager]: Resetting ReqPrinter preferences to default values [2018-11-23 12:09:42,890 INFO L174 SettingsManager]: Resetting Witness Printer preferences to default values [2018-11-23 12:09:42,890 INFO L177 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2018-11-23 12:09:42,890 INFO L174 SettingsManager]: Resetting CDTParser preferences to default values [2018-11-23 12:09:42,891 INFO L177 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2018-11-23 12:09:42,891 INFO L177 SettingsManager]: ReqParser provides no preferences, ignoring... [2018-11-23 12:09:42,891 INFO L174 SettingsManager]: Resetting SmtParser preferences to default values [2018-11-23 12:09:42,891 INFO L174 SettingsManager]: Resetting Witness Parser preferences to default values [2018-11-23 12:09:42,892 INFO L181 SettingsManager]: Finished resetting all preferences to default values... [2018-11-23 12:09:42,892 INFO L98 SettingsManager]: Beginning loading settings from /tmp/vcloud-vcloud-master/worker/working_dir_d5895f2e-f005-4d3b-b390-0dec6406dd46/bin-2019/ukojak/config/svcomp-Reach-32bit-Kojak_Default.epf [2018-11-23 12:09:42,900 INFO L110 SettingsManager]: Loading preferences was successful [2018-11-23 12:09:42,901 INFO L112 SettingsManager]: Preferences different from defaults after loading the file: [2018-11-23 12:09:42,901 INFO L131 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2018-11-23 12:09:42,901 INFO L133 SettingsManager]: * ... to procedures called more than once=ALWAYS [2018-11-23 12:09:42,902 INFO L131 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2018-11-23 12:09:42,902 INFO L133 SettingsManager]: * Create parallel compositions if possible=false [2018-11-23 12:09:42,902 INFO L131 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2018-11-23 12:09:42,902 INFO L133 SettingsManager]: * sizeof long=4 [2018-11-23 12:09:42,902 INFO L133 SettingsManager]: * Overapproximate operations on floating types=true [2018-11-23 12:09:42,903 INFO L133 SettingsManager]: * sizeof POINTER=4 [2018-11-23 12:09:42,903 INFO L133 SettingsManager]: * Check division by zero=IGNORE [2018-11-23 12:09:42,903 INFO L133 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2018-11-23 12:09:42,903 INFO L133 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2018-11-23 12:09:42,903 INFO L133 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2018-11-23 12:09:42,903 INFO L133 SettingsManager]: * sizeof long double=12 [2018-11-23 12:09:42,903 INFO L133 SettingsManager]: * Check if freed pointer was valid=false [2018-11-23 12:09:42,903 INFO L133 SettingsManager]: * Use constant arrays=true [2018-11-23 12:09:42,904 INFO L133 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2018-11-23 12:09:42,904 INFO L131 SettingsManager]: Preferences of CodeCheck differ from their defaults: [2018-11-23 12:09:42,904 INFO L133 SettingsManager]: * Timeout in seconds=1000000 [2018-11-23 12:09:42,904 INFO L131 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2018-11-23 12:09:42,904 INFO L133 SettingsManager]: * To the following directory=./dump/ [2018-11-23 12:09:42,904 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:10000 [2018-11-23 12:09:42,904 INFO L131 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2018-11-23 12:09:42,905 INFO L133 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2018-11-23 12:09:42,905 INFO L133 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2018-11-23 12:09:42,905 INFO L133 SettingsManager]: * Trace refinement strategy=PENGUIN [2018-11-23 12:09:42,905 INFO L133 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2018-11-23 12:09:42,905 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2018-11-23 12:09:42,905 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_d5895f2e-f005-4d3b-b390-0dec6406dd46/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 -> 1c6c05365b181d4eacf1f0a2b19f094d722c4a6a [2018-11-23 12:09:42,929 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2018-11-23 12:09:42,938 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2018-11-23 12:09:42,940 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2018-11-23 12:09:42,942 INFO L271 PluginConnector]: Initializing CDTParser... [2018-11-23 12:09:42,942 INFO L276 PluginConnector]: CDTParser initialized [2018-11-23 12:09:42,942 INFO L418 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /tmp/vcloud-vcloud-master/worker/working_dir_d5895f2e-f005-4d3b-b390-0dec6406dd46/bin-2019/ukojak/../../sv-benchmarks/c/float-newlib/double_req_bl_1121b_true-unreach-call.c [2018-11-23 12:09:42,985 INFO L221 CDTParser]: Created temporary CDT project at /tmp/vcloud-vcloud-master/worker/working_dir_d5895f2e-f005-4d3b-b390-0dec6406dd46/bin-2019/ukojak/data/8a258df88/161a9211d4014fa7ba78b527cf1f784b/FLAG5f7455b82 [2018-11-23 12:09:43,403 INFO L307 CDTParser]: Found 1 translation units. [2018-11-23 12:09:43,404 INFO L161 CDTParser]: Scanning /tmp/vcloud-vcloud-master/worker/working_dir_d5895f2e-f005-4d3b-b390-0dec6406dd46/sv-benchmarks/c/float-newlib/double_req_bl_1121b_true-unreach-call.c [2018-11-23 12:09:43,410 INFO L355 CDTParser]: About to delete temporary CDT project at /tmp/vcloud-vcloud-master/worker/working_dir_d5895f2e-f005-4d3b-b390-0dec6406dd46/bin-2019/ukojak/data/8a258df88/161a9211d4014fa7ba78b527cf1f784b/FLAG5f7455b82 [2018-11-23 12:09:43,422 INFO L363 CDTParser]: Successfully deleted /tmp/vcloud-vcloud-master/worker/working_dir_d5895f2e-f005-4d3b-b390-0dec6406dd46/bin-2019/ukojak/data/8a258df88/161a9211d4014fa7ba78b527cf1f784b [2018-11-23 12:09:43,424 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2018-11-23 12:09:43,425 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2018-11-23 12:09:43,426 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2018-11-23 12:09:43,426 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2018-11-23 12:09:43,429 INFO L276 PluginConnector]: CACSL2BoogieTranslator initialized [2018-11-23 12:09:43,430 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 12:09:43" (1/1) ... [2018-11-23 12:09:43,432 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@64d4648b and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:09:43, skipping insertion in model container [2018-11-23 12:09:43,432 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 12:09:43" (1/1) ... [2018-11-23 12:09:43,441 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2018-11-23 12:09:43,461 INFO L176 MainTranslator]: Built tables and reachable declarations [2018-11-23 12:09:43,626 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 12:09:43,630 INFO L191 MainTranslator]: Completed pre-run [2018-11-23 12:09:43,701 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 12:09:43,715 INFO L195 MainTranslator]: Completed translation [2018-11-23 12:09:43,716 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:09:43 WrapperNode [2018-11-23 12:09:43,716 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2018-11-23 12:09:43,716 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2018-11-23 12:09:43,716 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2018-11-23 12:09:43,716 INFO L276 PluginConnector]: Boogie Procedure Inliner initialized [2018-11-23 12:09:43,721 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:09:43" (1/1) ... [2018-11-23 12:09:43,728 INFO L185 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:09:43" (1/1) ... [2018-11-23 12:09:43,749 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2018-11-23 12:09:43,749 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2018-11-23 12:09:43,749 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2018-11-23 12:09:43,750 INFO L276 PluginConnector]: Boogie Preprocessor initialized [2018-11-23 12:09:43,759 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:09:43" (1/1) ... [2018-11-23 12:09:43,759 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:09:43" (1/1) ... [2018-11-23 12:09:43,762 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:09:43" (1/1) ... [2018-11-23 12:09:43,763 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:09:43" (1/1) ... [2018-11-23 12:09:43,770 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:09:43" (1/1) ... [2018-11-23 12:09:43,775 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:09:43" (1/1) ... [2018-11-23 12:09:43,777 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:09:43" (1/1) ... [2018-11-23 12:09:43,780 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2018-11-23 12:09:43,780 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2018-11-23 12:09:43,780 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2018-11-23 12:09:43,780 INFO L276 PluginConnector]: RCFGBuilder initialized [2018-11-23 12:09:43,780 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:09:43" (1/1) ... No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_d5895f2e-f005-4d3b-b390-0dec6406dd46/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 12:09:43,822 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2018-11-23 12:09:43,822 INFO L130 BoogieDeclarations]: Found specification of procedure read~real [2018-11-23 12:09:43,822 INFO L130 BoogieDeclarations]: Found specification of procedure write~real [2018-11-23 12:09:43,822 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.alloc [2018-11-23 12:09:43,822 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2018-11-23 12:09:43,823 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2018-11-23 12:09:43,823 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2018-11-23 12:09:43,823 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~real [2018-11-23 12:09:43,823 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2018-11-23 12:09:44,323 INFO L275 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2018-11-23 12:09:44,323 INFO L280 CfgBuilder]: Removed 22 assue(true) statements. [2018-11-23 12:09:44,323 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 12:09:44 BoogieIcfgContainer [2018-11-23 12:09:44,323 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2018-11-23 12:09:44,324 INFO L113 PluginConnector]: ------------------------CodeCheck---------------------------- [2018-11-23 12:09:44,324 INFO L271 PluginConnector]: Initializing CodeCheck... [2018-11-23 12:09:44,330 INFO L276 PluginConnector]: CodeCheck initialized [2018-11-23 12:09:44,331 INFO L185 PluginConnector]: Executing the observer CodeCheckObserver from plugin CodeCheck for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 12:09:44" (1/1) ... [2018-11-23 12:09:44,338 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:09:44,356 INFO L82 GeneralOperation]: Start removeUnreachable. Operand no size info available [2018-11-23 12:09:44,360 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 66 states to 39 states and 66 transitions. [2018-11-23 12:09:44,361 INFO L276 IsEmpty]: Start isEmpty. Operand 39 states and 66 transitions. [2018-11-23 12:09:44,362 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 9 [2018-11-23 12:09:44,363 INFO L427 CodeCheckObserver]: Error Path is FOUND. [2018-11-23 12:09:44,408 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:09:44,430 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 12:09:44,438 INFO L82 GeneralOperation]: Start removeUnreachable. Operand no size info available [2018-11-23 12:09:44,438 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 61 states to 39 states and 61 transitions. [2018-11-23 12:09:44,438 INFO L276 IsEmpty]: Start isEmpty. Operand 39 states and 61 transitions. [2018-11-23 12:09:44,439 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 11 [2018-11-23 12:09:44,439 INFO L427 CodeCheckObserver]: Error Path is FOUND. [2018-11-23 12:09:44,476 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 12:09:44,507 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 12:09:44,549 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 12:09:44,561 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 12:09:44,583 WARN L493 CodeCheckObserver]: This program is UNSAFE, Check terminated with 2 iterations. ----- class de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder.RCFGBacktranslator [?] #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~one_fmod~0 := 1.0;call ~#Zero_fmod~0.base, ~#Zero_fmod~0.offset := #Ultimate.alloc(16);call write~init~real(0.0, ~#Zero_fmod~0.base, ~#Zero_fmod~0.offset, 8);call write~init~real(~someUnaryDOUBLEoperation(0.0), ~#Zero_fmod~0.base, 8 + ~#Zero_fmod~0.offset, 8);havoc main_#res;havoc main_#t~nondet16, main_#t~ret17, main_#t~ret18, main_~x~0, main_~y~0, main_~res~0;main_~x~0 := main_#t~nondet16;havoc main_#t~nondet16;main_~y~0 := ~someUnaryDOUBLEoperation(0.0);fmod_double_#in~x, fmod_double_#in~y := main_~x~0, main_~y~0;havoc fmod_double_#res;havoc fmod_double_#t~mem0, fmod_double_#t~union1, fmod_double_#t~mem2, fmod_double_#t~union3, fmod_double_~#ew_u~0.base, fmod_double_~#ew_u~0.offset, fmod_double_#t~mem4, fmod_double_#t~union5, fmod_double_#t~mem6, fmod_double_#t~union7, fmod_double_~#ew_u~1.base, fmod_double_~#ew_u~1.offset, fmod_double_#t~mem8, fmod_double_#t~mem10, fmod_double_#t~post9, fmod_double_#t~mem11, fmod_double_#t~mem12, fmod_double_#t~union13.lsw, fmod_double_#t~union13.msw, fmod_double_~#iw_u~0.base, fmod_double_~#iw_u~0.offset, fmod_double_#t~mem14, fmod_double_#t~union15.lsw, fmod_double_#t~union15.msw, fmod_double_~#iw_u~1.base, fmod_double_~#iw_u~1.offset, fmod_double_~x, fmod_double_~y, fmod_double_~n~0, fmod_double_~hx~0, fmod_double_~hy~0, fmod_double_~hz~0, fmod_double_~ix~0, fmod_double_~iy~0, fmod_double_~sx~0, fmod_double_~i~0, fmod_double_~lx~0, fmod_double_~ly~0, fmod_double_~lz~0;fmod_double_~x := fmod_double_#in~x;fmod_double_~y := fmod_double_#in~y;havoc fmod_double_~n~0;havoc fmod_double_~hx~0;havoc fmod_double_~hy~0;havoc fmod_double_~hz~0;havoc fmod_double_~ix~0;havoc fmod_double_~iy~0;havoc fmod_double_~sx~0;havoc fmod_double_~i~0;havoc fmod_double_~lx~0;havoc fmod_double_~ly~0;havoc fmod_double_~lz~0; VAL [ULTIMATE.start_fmod_double_~x=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~mem4;havoc fmod_double_#t~union5;call fmod_double_#t~mem6 := read~int(fmod_double_~#ew_u~1.base, fmod_double_~#ew_u~1.offset, 4);fmod_double_~ly~0 := fmod_double_#t~mem6;call write~real(fmod_double_#t~union7, fmod_double_~#ew_u~1.base, fmod_double_~#ew_u~1.offset, 8);havoc fmod_double_#t~mem6;havoc fmod_double_#t~union7;call ULTIMATE.dealloc(fmod_double_~#ew_u~1.base, fmod_double_~#ew_u~1.offset);havoc fmod_double_~#ew_u~1.base, fmod_double_~#ew_u~1.offset; VAL [ULTIMATE.start_fmod_double_~hx~0=582, ULTIMATE.start_fmod_double_~hy~0=582, ULTIMATE.start_fmod_double_~lx~0=3, ULTIMATE.start_fmod_double_~ly~0=9, ULTIMATE.start_fmod_double_~x=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; [L169] main_~x~0 := main_#t~nondet16; [L169] havoc main_#t~nondet16; [L170] main_~y~0 := ~someUnaryDOUBLEoperation(0.0); [L171] fmod_double_#in~x, fmod_double_#in~y := main_~x~0, main_~y~0; [L171] havoc fmod_double_#res; [L171] havoc fmod_double_#t~mem0, fmod_double_#t~union1, fmod_double_#t~mem2, fmod_double_#t~union3, fmod_double_~#ew_u~0.base, fmod_double_~#ew_u~0.offset, fmod_double_#t~mem4, fmod_double_#t~union5, fmod_double_#t~mem6, fmod_double_#t~union7, fmod_double_~#ew_u~1.base, fmod_double_~#ew_u~1.offset, fmod_double_#t~mem8, fmod_double_#t~mem10, fmod_double_#t~post9, fmod_double_#t~mem11, fmod_double_#t~mem12, fmod_double_#t~union13.lsw, fmod_double_#t~union13.msw, fmod_double_~#iw_u~0.base, fmod_double_~#iw_u~0.offset, fmod_double_#t~mem14, fmod_double_#t~union15.lsw, fmod_double_#t~union15.msw, fmod_double_~#iw_u~1.base, fmod_double_~#iw_u~1.offset, fmod_double_~x, fmod_double_~y, fmod_double_~n~0, fmod_double_~hx~0, fmod_double_~hy~0, fmod_double_~hz~0, fmod_double_~ix~0, fmod_double_~iy~0, fmod_double_~sx~0, fmod_double_~i~0, fmod_double_~lx~0, fmod_double_~ly~0, fmod_double_~lz~0; [L23-L161] fmod_double_~x := fmod_double_#in~x; [L23-L161] fmod_double_~y := fmod_double_#in~y; [L24] havoc fmod_double_~n~0; [L24] havoc fmod_double_~hx~0; [L24] havoc fmod_double_~hy~0; [L24] havoc fmod_double_~hz~0; [L24] havoc fmod_double_~ix~0; [L24] havoc fmod_double_~iy~0; [L24] havoc fmod_double_~sx~0; [L24] havoc fmod_double_~i~0; [L25] havoc fmod_double_~lx~0; [L25] havoc fmod_double_~ly~0; [L25] havoc fmod_double_~lz~0; VAL [#NULL.base=0, #NULL.offset=0, fmod_double_#in~x=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~mem4; [L36] havoc fmod_double_#t~union5; [L37] call fmod_double_#t~mem6 := read~int(fmod_double_~#ew_u~1.base, fmod_double_~#ew_u~1.offset, 4); [L37] fmod_double_~ly~0 := fmod_double_#t~mem6; [L37] call write~real(fmod_double_#t~union7, fmod_double_~#ew_u~1.base, fmod_double_~#ew_u~1.offset, 8); [L37] havoc fmod_double_#t~mem6; [L37] havoc fmod_double_#t~union7; [L34] call ULTIMATE.dealloc(fmod_double_~#ew_u~1.base, fmod_double_~#ew_u~1.offset); [L34] havoc fmod_double_~#ew_u~1.base, fmod_double_~#ew_u~1.offset; VAL [#NULL.base=0, #NULL.offset=0, fmod_double_#in~x=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] [L171] main_#t~ret17 := fmod_double_#res; [L171] main_~res~0 := main_#t~ret17; [L171] havoc main_#t~ret17; [L174] isnan_double_#in~x := main_~res~0; [L174] havoc isnan_double_#res; [L174] havoc isnan_double_~x; [L16] isnan_double_~x := isnan_double_#in~x; [L16] isnan_double_#res := (if ~someBinaryDOUBLEComparisonOperation(isnan_double_~x, isnan_double_~x) then 1 else 0); [L174] main_#t~ret18 := isnan_double_#res; [L174] assume -2147483648 <= main_#t~ret18 && main_#t~ret18 <= 2147483647; VAL [#NULL.base=0, #NULL.offset=0, fmod_double_#in~x=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] [L174-L177] assume 0 == main_#t~ret18; [L174] 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] [L175] 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; [L169] main_~x~0 := main_#t~nondet16; [L169] havoc main_#t~nondet16; [L170] main_~y~0 := ~someUnaryDOUBLEoperation(0.0); [L171] fmod_double_#in~x, fmod_double_#in~y := main_~x~0, main_~y~0; [L171] havoc fmod_double_#res; [L171] havoc fmod_double_#t~mem0, fmod_double_#t~union1, fmod_double_#t~mem2, fmod_double_#t~union3, fmod_double_~#ew_u~0.base, fmod_double_~#ew_u~0.offset, fmod_double_#t~mem4, fmod_double_#t~union5, fmod_double_#t~mem6, fmod_double_#t~union7, fmod_double_~#ew_u~1.base, fmod_double_~#ew_u~1.offset, fmod_double_#t~mem8, fmod_double_#t~mem10, fmod_double_#t~post9, fmod_double_#t~mem11, fmod_double_#t~mem12, fmod_double_#t~union13.lsw, fmod_double_#t~union13.msw, fmod_double_~#iw_u~0.base, fmod_double_~#iw_u~0.offset, fmod_double_#t~mem14, fmod_double_#t~union15.lsw, fmod_double_#t~union15.msw, fmod_double_~#iw_u~1.base, fmod_double_~#iw_u~1.offset, fmod_double_~x, fmod_double_~y, fmod_double_~n~0, fmod_double_~hx~0, fmod_double_~hy~0, fmod_double_~hz~0, fmod_double_~ix~0, fmod_double_~iy~0, fmod_double_~sx~0, fmod_double_~i~0, fmod_double_~lx~0, fmod_double_~ly~0, fmod_double_~lz~0; [L23-L161] fmod_double_~x := fmod_double_#in~x; [L23-L161] fmod_double_~y := fmod_double_#in~y; [L24] havoc fmod_double_~n~0; [L24] havoc fmod_double_~hx~0; [L24] havoc fmod_double_~hy~0; [L24] havoc fmod_double_~hz~0; [L24] havoc fmod_double_~ix~0; [L24] havoc fmod_double_~iy~0; [L24] havoc fmod_double_~sx~0; [L24] havoc fmod_double_~i~0; [L25] havoc fmod_double_~lx~0; [L25] havoc fmod_double_~ly~0; [L25] havoc fmod_double_~lz~0; VAL [#NULL.base=0, #NULL.offset=0, fmod_double_#in~x=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~mem4; [L36] havoc fmod_double_#t~union5; [L37] call fmod_double_#t~mem6 := read~int(fmod_double_~#ew_u~1.base, fmod_double_~#ew_u~1.offset, 4); [L37] fmod_double_~ly~0 := fmod_double_#t~mem6; [L37] call write~real(fmod_double_#t~union7, fmod_double_~#ew_u~1.base, fmod_double_~#ew_u~1.offset, 8); [L37] havoc fmod_double_#t~mem6; [L37] havoc fmod_double_#t~union7; [L34] call ULTIMATE.dealloc(fmod_double_~#ew_u~1.base, fmod_double_~#ew_u~1.offset); [L34] havoc fmod_double_~#ew_u~1.base, fmod_double_~#ew_u~1.offset; VAL [#NULL.base=0, #NULL.offset=0, fmod_double_#in~x=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] [L171] main_#t~ret17 := fmod_double_#res; [L171] main_~res~0 := main_#t~ret17; [L171] havoc main_#t~ret17; [L174] isnan_double_#in~x := main_~res~0; [L174] havoc isnan_double_#res; [L174] havoc isnan_double_~x; [L16] isnan_double_~x := isnan_double_#in~x; [L16] isnan_double_#res := (if ~someBinaryDOUBLEComparisonOperation(isnan_double_~x, isnan_double_~x) then 1 else 0); [L174] main_#t~ret18 := isnan_double_#res; [L174] assume -2147483648 <= main_#t~ret18 && main_#t~ret18 <= 2147483647; VAL [#NULL.base=0, #NULL.offset=0, fmod_double_#in~x=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] [L174-L177] assume 0 == main_#t~ret18; [L174] 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] [L175] 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; [L169] main_~x~0 := main_#t~nondet16; [L169] havoc main_#t~nondet16; [L170] main_~y~0 := ~someUnaryDOUBLEoperation(0.0); [L171] fmod_double_#in~x, fmod_double_#in~y := main_~x~0, main_~y~0; [L171] havoc fmod_double_#res; [L171] havoc fmod_double_#t~mem0, fmod_double_#t~union1, fmod_double_#t~mem2, fmod_double_#t~union3, fmod_double_~#ew_u~0, fmod_double_#t~mem4, fmod_double_#t~union5, fmod_double_#t~mem6, fmod_double_#t~union7, fmod_double_~#ew_u~1, fmod_double_#t~mem8, fmod_double_#t~mem10, fmod_double_#t~post9, fmod_double_#t~mem11, fmod_double_#t~mem12, fmod_double_#t~union13, fmod_double_~#iw_u~0, fmod_double_#t~mem14, fmod_double_#t~union15, fmod_double_~#iw_u~1, fmod_double_~x, fmod_double_~y, fmod_double_~n~0, fmod_double_~hx~0, fmod_double_~hy~0, fmod_double_~hz~0, fmod_double_~ix~0, fmod_double_~iy~0, fmod_double_~sx~0, fmod_double_~i~0, fmod_double_~lx~0, fmod_double_~ly~0, fmod_double_~lz~0; [L23-L161] fmod_double_~x := fmod_double_#in~x; [L23-L161] fmod_double_~y := fmod_double_#in~y; [L24] havoc fmod_double_~n~0; [L24] havoc fmod_double_~hx~0; [L24] havoc fmod_double_~hy~0; [L24] havoc fmod_double_~hz~0; [L24] havoc fmod_double_~ix~0; [L24] havoc fmod_double_~iy~0; [L24] havoc fmod_double_~sx~0; [L24] havoc fmod_double_~i~0; [L25] havoc fmod_double_~lx~0; [L25] havoc fmod_double_~ly~0; [L25] havoc fmod_double_~lz~0; VAL [#NULL!base=0, #NULL!offset=0, fmod_double_#in~x=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~mem4; [L36] havoc fmod_double_#t~union5; [L37] FCALL call fmod_double_#t~mem6 := read~int({ base: fmod_double_~#ew_u~1!base, offset: fmod_double_~#ew_u~1!offset }, 4); [L37] fmod_double_~ly~0 := fmod_double_#t~mem6; [L37] FCALL call write~real(fmod_double_#t~union7, { base: fmod_double_~#ew_u~1!base, offset: fmod_double_~#ew_u~1!offset }, 8); [L37] havoc fmod_double_#t~mem6; [L37] havoc fmod_double_#t~union7; [L34] FCALL call ULTIMATE.dealloc(fmod_double_~#ew_u~1); [L34] havoc fmod_double_~#ew_u~1; VAL [#NULL!base=0, #NULL!offset=0, fmod_double_#in~x=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] [L171] main_#t~ret17 := fmod_double_#res; [L171] main_~res~0 := main_#t~ret17; [L171] havoc main_#t~ret17; [L174] isnan_double_#in~x := main_~res~0; [L174] havoc isnan_double_#res; [L174] havoc isnan_double_~x; [L16] isnan_double_~x := isnan_double_#in~x; [L16] isnan_double_#res := (if ~someBinaryDOUBLEComparisonOperation(isnan_double_~x, isnan_double_~x) then 1 else 0); [L174] main_#t~ret18 := isnan_double_#res; [L174] assume -2147483648 <= main_#t~ret18 && main_#t~ret18 <= 2147483647; VAL [#NULL!base=0, #NULL!offset=0, fmod_double_#in~x=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] [L174] COND TRUE 0 == main_#t~ret18 [L174] 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] [L175] 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; [L169] main_~x~0 := main_#t~nondet16; [L169] havoc main_#t~nondet16; [L170] main_~y~0 := ~someUnaryDOUBLEoperation(0.0); [L171] fmod_double_#in~x, fmod_double_#in~y := main_~x~0, main_~y~0; [L171] havoc fmod_double_#res; [L171] havoc fmod_double_#t~mem0, fmod_double_#t~union1, fmod_double_#t~mem2, fmod_double_#t~union3, fmod_double_~#ew_u~0, fmod_double_#t~mem4, fmod_double_#t~union5, fmod_double_#t~mem6, fmod_double_#t~union7, fmod_double_~#ew_u~1, fmod_double_#t~mem8, fmod_double_#t~mem10, fmod_double_#t~post9, fmod_double_#t~mem11, fmod_double_#t~mem12, fmod_double_#t~union13, fmod_double_~#iw_u~0, fmod_double_#t~mem14, fmod_double_#t~union15, fmod_double_~#iw_u~1, fmod_double_~x, fmod_double_~y, fmod_double_~n~0, fmod_double_~hx~0, fmod_double_~hy~0, fmod_double_~hz~0, fmod_double_~ix~0, fmod_double_~iy~0, fmod_double_~sx~0, fmod_double_~i~0, fmod_double_~lx~0, fmod_double_~ly~0, fmod_double_~lz~0; [L23-L161] fmod_double_~x := fmod_double_#in~x; [L23-L161] fmod_double_~y := fmod_double_#in~y; [L24] havoc fmod_double_~n~0; [L24] havoc fmod_double_~hx~0; [L24] havoc fmod_double_~hy~0; [L24] havoc fmod_double_~hz~0; [L24] havoc fmod_double_~ix~0; [L24] havoc fmod_double_~iy~0; [L24] havoc fmod_double_~sx~0; [L24] havoc fmod_double_~i~0; [L25] havoc fmod_double_~lx~0; [L25] havoc fmod_double_~ly~0; [L25] havoc fmod_double_~lz~0; VAL [#NULL!base=0, #NULL!offset=0, fmod_double_#in~x=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~mem4; [L36] havoc fmod_double_#t~union5; [L37] FCALL call fmod_double_#t~mem6 := read~int({ base: fmod_double_~#ew_u~1!base, offset: fmod_double_~#ew_u~1!offset }, 4); [L37] fmod_double_~ly~0 := fmod_double_#t~mem6; [L37] FCALL call write~real(fmod_double_#t~union7, { base: fmod_double_~#ew_u~1!base, offset: fmod_double_~#ew_u~1!offset }, 8); [L37] havoc fmod_double_#t~mem6; [L37] havoc fmod_double_#t~union7; [L34] FCALL call ULTIMATE.dealloc(fmod_double_~#ew_u~1); [L34] havoc fmod_double_~#ew_u~1; VAL [#NULL!base=0, #NULL!offset=0, fmod_double_#in~x=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] [L171] main_#t~ret17 := fmod_double_#res; [L171] main_~res~0 := main_#t~ret17; [L171] havoc main_#t~ret17; [L174] isnan_double_#in~x := main_~res~0; [L174] havoc isnan_double_#res; [L174] havoc isnan_double_~x; [L16] isnan_double_~x := isnan_double_#in~x; [L16] isnan_double_#res := (if ~someBinaryDOUBLEComparisonOperation(isnan_double_~x, isnan_double_~x) then 1 else 0); [L174] main_#t~ret18 := isnan_double_#res; [L174] assume -2147483648 <= main_#t~ret18 && main_#t~ret18 <= 2147483647; VAL [#NULL!base=0, #NULL!offset=0, fmod_double_#in~x=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] [L174] COND TRUE 0 == main_#t~ret18 [L174] 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] [L175] 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); [L169] ~x~0 := #t~nondet16; [L169] havoc #t~nondet16; [L170] ~y~0 := ~someUnaryDOUBLEoperation(0.0); [L23-L161] ~x := #in~x; [L23-L161] ~y := #in~y; [L24] havoc ~n~0; [L24] havoc ~hx~0; [L24] havoc ~hy~0; [L24] havoc ~hz~0; [L24] havoc ~ix~0; [L24] havoc ~iy~0; [L24] havoc ~sx~0; [L24] havoc ~i~0; [L25] havoc ~lx~0; [L25] havoc ~ly~0; [L25] havoc ~lz~0; VAL [#NULL!base=0, #NULL!offset=0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L28] FCALL call ~#ew_u~0 := #Ultimate.alloc(8); [L29] FCALL call write~real(~x, { base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 8); [L30] FCALL call #t~mem0 := read~int({ base: ~#ew_u~0!base, offset: 4 + ~#ew_u~0!offset }, 4); [L30] ~hx~0 := (if #t~mem0 % 4294967296 % 4294967296 <= 2147483647 then #t~mem0 % 4294967296 % 4294967296 else #t~mem0 % 4294967296 % 4294967296 - 4294967296); [L30] FCALL call write~real(#t~union1, { base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 8); [L30] havoc #t~union1; [L30] havoc #t~mem0; [L31] FCALL call #t~mem2 := read~int({ base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 4); [L31] ~lx~0 := #t~mem2; [L31] FCALL call write~real(#t~union3, { base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 8); [L31] havoc #t~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~mem4; [L36] havoc #t~union5; [L37] FCALL call #t~mem6 := read~int({ base: ~#ew_u~1!base, offset: ~#ew_u~1!offset }, 4); [L37] ~ly~0 := #t~mem6; [L37] FCALL call write~real(#t~union7, { base: ~#ew_u~1!base, offset: ~#ew_u~1!offset }, 8); [L37] havoc #t~mem6; [L37] havoc #t~union7; [L34] FCALL call ULTIMATE.dealloc(~#ew_u~1); [L34] havoc ~#ew_u~1; VAL [#NULL!base=0, #NULL!offset=0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L39] ~sx~0 := (if ~bitwiseAnd(~hx~0, 2147483648) % 4294967296 % 4294967296 <= 2147483647 then ~bitwiseAnd(~hx~0, 2147483648) % 4294967296 % 4294967296 else ~bitwiseAnd(~hx~0, 2147483648) % 4294967296 % 4294967296 - 4294967296); [L40] ~hx~0 := ~bitwiseXor(~hx~0, ~sx~0); [L41] ~hy~0 := ~bitwiseAnd(~hy~0, 2147483647); VAL [#NULL!base=0, #NULL!offset=0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L43-L44] COND TRUE (0 == ~bitwiseOr(~hy~0, ~ly~0) % 4294967296 || ~hx~0 >= 2146435072) || ~bitwiseOr(~hy~0, ~bitwiseOr(~ly~0, -~ly~0) / 2147483648) % 4294967296 > 2146435072 [L45] #res := ~someBinaryArithmeticDOUBLEoperation(~someBinaryArithmeticDOUBLEoperation(~x, ~y), ~someBinaryArithmeticDOUBLEoperation(~x, ~y)); VAL [#NULL!base=0, #NULL!offset=0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L171] ~res~0 := #t~ret17; [L171] havoc #t~ret17; [L16] ~x := #in~x; [L16] #res := (if ~someBinaryDOUBLEComparisonOperation(~x, ~x) then 1 else 0); [L174] assume -2147483648 <= #t~ret18 && #t~ret18 <= 2147483647; VAL [#NULL!base=0, #NULL!offset=0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L174] COND TRUE 0 == #t~ret18 [L174] havoc #t~ret18; VAL [#NULL!base=0, #NULL!offset=0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L175] assert false; VAL [#NULL!base=0, #NULL!offset=0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] ----- ----- class de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.CACSL2BoogieBacktranslator [?] #NULL := { base: 0, offset: 0 }; [?] #valid[0] := 0; [L18-L21] ~one_fmod~0 := 1.0; [L18-L21] FCALL call ~#Zero_fmod~0 := #Ultimate.alloc(16); [L18-L21] FCALL call write~init~real(0.0, { base: ~#Zero_fmod~0!base, offset: ~#Zero_fmod~0!offset }, 8); [L18-L21] FCALL call write~init~real(~someUnaryDOUBLEoperation(0.0), { base: ~#Zero_fmod~0!base, offset: 8 + ~#Zero_fmod~0!offset }, 8); [L169] ~x~0 := #t~nondet16; [L169] havoc #t~nondet16; [L170] ~y~0 := ~someUnaryDOUBLEoperation(0.0); [L23-L161] ~x := #in~x; [L23-L161] ~y := #in~y; [L24] havoc ~n~0; [L24] havoc ~hx~0; [L24] havoc ~hy~0; [L24] havoc ~hz~0; [L24] havoc ~ix~0; [L24] havoc ~iy~0; [L24] havoc ~sx~0; [L24] havoc ~i~0; [L25] havoc ~lx~0; [L25] havoc ~ly~0; [L25] havoc ~lz~0; VAL [#NULL!base=0, #NULL!offset=0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L28] FCALL call ~#ew_u~0 := #Ultimate.alloc(8); [L29] FCALL call write~real(~x, { base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 8); [L30] FCALL call #t~mem0 := read~int({ base: ~#ew_u~0!base, offset: 4 + ~#ew_u~0!offset }, 4); [L30] ~hx~0 := (if #t~mem0 % 4294967296 % 4294967296 <= 2147483647 then #t~mem0 % 4294967296 % 4294967296 else #t~mem0 % 4294967296 % 4294967296 - 4294967296); [L30] FCALL call write~real(#t~union1, { base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 8); [L30] havoc #t~union1; [L30] havoc #t~mem0; [L31] FCALL call #t~mem2 := read~int({ base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 4); [L31] ~lx~0 := #t~mem2; [L31] FCALL call write~real(#t~union3, { base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 8); [L31] havoc #t~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~mem4; [L36] havoc #t~union5; [L37] FCALL call #t~mem6 := read~int({ base: ~#ew_u~1!base, offset: ~#ew_u~1!offset }, 4); [L37] ~ly~0 := #t~mem6; [L37] FCALL call write~real(#t~union7, { base: ~#ew_u~1!base, offset: ~#ew_u~1!offset }, 8); [L37] havoc #t~mem6; [L37] havoc #t~union7; [L34] FCALL call ULTIMATE.dealloc(~#ew_u~1); [L34] havoc ~#ew_u~1; VAL [#NULL!base=0, #NULL!offset=0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L39] ~sx~0 := (if ~bitwiseAnd(~hx~0, 2147483648) % 4294967296 % 4294967296 <= 2147483647 then ~bitwiseAnd(~hx~0, 2147483648) % 4294967296 % 4294967296 else ~bitwiseAnd(~hx~0, 2147483648) % 4294967296 % 4294967296 - 4294967296); [L40] ~hx~0 := ~bitwiseXor(~hx~0, ~sx~0); [L41] ~hy~0 := ~bitwiseAnd(~hy~0, 2147483647); VAL [#NULL!base=0, #NULL!offset=0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L43-L44] COND TRUE (0 == ~bitwiseOr(~hy~0, ~ly~0) % 4294967296 || ~hx~0 >= 2146435072) || ~bitwiseOr(~hy~0, ~bitwiseOr(~ly~0, -~ly~0) / 2147483648) % 4294967296 > 2146435072 [L45] #res := ~someBinaryArithmeticDOUBLEoperation(~someBinaryArithmeticDOUBLEoperation(~x, ~y), ~someBinaryArithmeticDOUBLEoperation(~x, ~y)); VAL [#NULL!base=0, #NULL!offset=0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L171] ~res~0 := #t~ret17; [L171] havoc #t~ret17; [L16] ~x := #in~x; [L16] #res := (if ~someBinaryDOUBLEComparisonOperation(~x, ~x) then 1 else 0); [L174] assume -2147483648 <= #t~ret18 && #t~ret18 <= 2147483647; VAL [#NULL!base=0, #NULL!offset=0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L174] COND TRUE 0 == #t~ret18 [L174] havoc #t~ret18; VAL [#NULL!base=0, #NULL!offset=0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L175] assert false; VAL [#NULL!base=0, #NULL!offset=0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L18-L21] static const double one_fmod = 1.0, Zero_fmod[] = { 0.0, -0.0, }; [L169] double x = __VERIFIER_nondet_double(); [L170] double y = -0.0; [L24] __int32_t n, hx, hy, hz, ix, iy, sx, i; [L25] __uint32_t lx, ly, lz; VAL [one_fmod=1, Zero_fmod={2:0}] [L28] ieee_double_shape_type ew_u; [L29] ew_u.value = (x) [L30] EXPR ew_u.parts.msw [L30] (hx) = ew_u.parts.msw [L31] EXPR ew_u.parts.lsw [L31] (lx) = ew_u.parts.lsw [L34] ieee_double_shape_type ew_u; [L35] ew_u.value = (y) [L36] EXPR ew_u.parts.msw [L36] (hy) = ew_u.parts.msw [L37] EXPR ew_u.parts.lsw [L37] (ly) = ew_u.parts.lsw [L39] sx = hx & 0x80000000 [L40] hx ^= sx [L41] hy &= 0x7fffffff VAL [one_fmod=1, Zero_fmod={2:0}] [L43-L44] COND TRUE (hy | ly) == 0 || (hx >= 0x7ff00000) || ((hy | ((ly | -ly) >> 31)) > 0x7ff00000) [L45] return (x * y) / (x * y); VAL [one_fmod=1, Zero_fmod={2:0}] [L171] double res = fmod_double(x, y); [L16] return x != x; [L174] COND TRUE !isnan_double(res) [L175] __VERIFIER_error() VAL [one_fmod=1, Zero_fmod={2:0}] ----- [2018-11-23 12:09:44,635 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.codecheck CFG 23.11 12:09:44 ImpRootNode [2018-11-23 12:09:44,635 INFO L132 PluginConnector]: ------------------------ END CodeCheck---------------------------- [2018-11-23 12:09:44,635 INFO L113 PluginConnector]: ------------------------Witness Printer---------------------------- [2018-11-23 12:09:44,636 INFO L271 PluginConnector]: Initializing Witness Printer... [2018-11-23 12:09:44,636 INFO L276 PluginConnector]: Witness Printer initialized [2018-11-23 12:09:44,636 INFO L185 PluginConnector]: Executing the observer RCFGCatcher from plugin Witness Printer for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 12:09:44" (3/4) ... [2018-11-23 12:09:44,641 INFO L147 WitnessPrinter]: No result that supports witness generation found [2018-11-23 12:09:44,641 INFO L132 PluginConnector]: ------------------------ END Witness Printer---------------------------- [2018-11-23 12:09:44,642 INFO L168 Benchmark]: Toolchain (without parser) took 1217.38 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 138.9 MB). Free memory was 960.3 MB in the beginning and 1.0 GB in the end (delta: -83.7 MB). Peak memory consumption was 55.2 MB. Max. memory is 11.5 GB. [2018-11-23 12:09:44,643 INFO L168 Benchmark]: CDTParser took 0.15 ms. Allocated memory is still 1.0 GB. Free memory is still 985.5 MB. There was no memory consumed. Max. memory is 11.5 GB. [2018-11-23 12:09:44,644 INFO L168 Benchmark]: CACSL2BoogieTranslator took 289.78 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 138.9 MB). Free memory was 960.3 MB in the beginning and 1.1 GB in the end (delta: -176.0 MB). Peak memory consumption was 29.0 MB. Max. memory is 11.5 GB. [2018-11-23 12:09:44,644 INFO L168 Benchmark]: Boogie Procedure Inliner took 32.95 ms. Allocated memory is still 1.2 GB. Free memory was 1.1 GB in the beginning and 1.1 GB in the end (delta: 2.7 MB). Peak memory consumption was 2.7 MB. Max. memory is 11.5 GB. [2018-11-23 12:09:44,645 INFO L168 Benchmark]: Boogie Preprocessor took 30.32 ms. Allocated memory is still 1.2 GB. Free memory was 1.1 GB in the beginning and 1.1 GB in the end (delta: 2.7 MB). Peak memory consumption was 2.7 MB. Max. memory is 11.5 GB. [2018-11-23 12:09:44,647 INFO L168 Benchmark]: RCFGBuilder took 543.73 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: 57.4 MB). Peak memory consumption was 57.4 MB. Max. memory is 11.5 GB. [2018-11-23 12:09:44,647 INFO L168 Benchmark]: CodeCheck took 311.43 ms. Allocated memory is still 1.2 GB. Free memory was 1.1 GB in the beginning and 1.0 GB in the end (delta: 29.6 MB). Peak memory consumption was 29.6 MB. Max. memory is 11.5 GB. [2018-11-23 12:09:44,648 INFO L168 Benchmark]: Witness Printer took 6.01 ms. Allocated memory is still 1.2 GB. Free memory is still 1.0 GB. There was no memory consumed. Max. memory is 11.5 GB. [2018-11-23 12:09:44,651 INFO L336 ainManager$Toolchain]: ####################### End [Toolchain 1] ####################### --- Results --- * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.codecheck: - StatisticsResult: Ultimate CodeCheck benchmark data CFG has 1 procedures, 55 locations, 1 error locations. UNSAFE Result, 0.2s OverallTime, 2 OverallIterations, 0 TraceHistogramMax, 0.0s AutomataDifference, 0.0s DeadEndRemovalTime, 0.0s HoareAnnotationTime, HoareTripleCheckerStatistics: 17 SDtfs, 0 SDslu, 0 SDs, 0 SdLazy, 0 SolverSat, 0 SolverUnsat, 0 SolverUnknown, 0 SolverNotchecked, 0.0s Time, PredicateUnifierStatistics: 0 DeclaredPredicates, 61 GetRequests, 61 SyntacticMatches, 0 SemanticMatches, 0 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s Time, 0.0s BasicInterpolantAutomatonTime, BiggestAbstraction: size=-1occurred in iteration=-1, traceCheckStatistics: 0.0s SsaConstructionTime, 0.0s SatisfiabilityAnalysisTime, 0.0s InterpolantComputationTime, 18 NumberOfCodeBlocks, 18 NumberOfCodeBlocksAsserted, 2 NumberOfCheckSat, 7 ConstructedInterpolants, 0 QuantifiedInterpolants, 49 SizeOfPredicates, 0 NumberOfNonLiveVariables, 0 ConjunctsInSsa, 0 ConjunctsInUnsatCore, 1 InterpolantComputations, 1 PerfectInterpolantSequences, 0/0 InterpolantCoveringCapability, InterpolantConsolidationStatistics: No data available, PathInvariantsStatistics: No data available, 0/0 InterpolantCoveringCapability, TotalInterpolationStatistics: No data available, 0.0s AbstIntTime, 0 AbstIntIterations, 0 AbstIntStrong, NaN AbsIntWeakeningRatio, NaN AbsIntAvgWeakeningVarsNumRemoved, NaN AbsIntAvgWeakenedConjuncts, 0.0s DumpTime, AutomataMinimizationStatistics: No data available, HoareAnnotationStatistics: No data available, RefinementEngineStatistics: No data available, ReuseStatistics: No data available - UnprovableResult [Line: 175]: Unable to prove that call of __VERIFIER_error() unreachable Unable to prove that call of __VERIFIER_error() unreachable Reason: overapproximation of bitwiseOr at line 44, overapproximation of someUnaryDOUBLEoperation at line 20, overapproximation of bitwiseAnd at line 39, overapproximation of someBinaryArithmeticDOUBLEoperation at line 45, overapproximation of someBinaryDOUBLEComparisonOperation at line 16, overapproximation of bitwiseXor at line 40. Possible FailurePath: [L18-L21] static const double one_fmod = 1.0, Zero_fmod[] = { 0.0, -0.0, }; [L169] double x = __VERIFIER_nondet_double(); [L170] double y = -0.0; [L24] __int32_t n, hx, hy, hz, ix, iy, sx, i; [L25] __uint32_t lx, ly, lz; VAL [one_fmod=1, Zero_fmod={2:0}] [L28] ieee_double_shape_type ew_u; [L29] ew_u.value = (x) [L30] EXPR ew_u.parts.msw [L30] (hx) = ew_u.parts.msw [L31] EXPR ew_u.parts.lsw [L31] (lx) = ew_u.parts.lsw [L34] ieee_double_shape_type ew_u; [L35] ew_u.value = (y) [L36] EXPR ew_u.parts.msw [L36] (hy) = ew_u.parts.msw [L37] EXPR ew_u.parts.lsw [L37] (ly) = ew_u.parts.lsw [L39] sx = hx & 0x80000000 [L40] hx ^= sx [L41] hy &= 0x7fffffff VAL [one_fmod=1, Zero_fmod={2:0}] [L43-L44] COND TRUE (hy | ly) == 0 || (hx >= 0x7ff00000) || ((hy | ((ly | -ly) >> 31)) > 0x7ff00000) [L45] return (x * y) / (x * y); VAL [one_fmod=1, Zero_fmod={2:0}] [L171] double res = fmod_double(x, y); [L16] return x != x; [L174] COND TRUE !isnan_double(res) [L175] __VERIFIER_error() VAL [one_fmod=1, Zero_fmod={2:0}] * Results from de.uni_freiburg.informatik.ultimate.core: - StatisticsResult: Toolchain Benchmarks Benchmark results are: * CDTParser took 0.15 ms. Allocated memory is still 1.0 GB. Free memory is still 985.5 MB. There was no memory consumed. Max. memory is 11.5 GB. * CACSL2BoogieTranslator took 289.78 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 138.9 MB). Free memory was 960.3 MB in the beginning and 1.1 GB in the end (delta: -176.0 MB). Peak memory consumption was 29.0 MB. Max. memory is 11.5 GB. * Boogie Procedure Inliner took 32.95 ms. Allocated memory is still 1.2 GB. Free memory was 1.1 GB in the beginning and 1.1 GB in the end (delta: 2.7 MB). Peak memory consumption was 2.7 MB. Max. memory is 11.5 GB. * Boogie Preprocessor took 30.32 ms. Allocated memory is still 1.2 GB. Free memory was 1.1 GB in the beginning and 1.1 GB in the end (delta: 2.7 MB). Peak memory consumption was 2.7 MB. Max. memory is 11.5 GB. * RCFGBuilder took 543.73 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: 57.4 MB). Peak memory consumption was 57.4 MB. Max. memory is 11.5 GB. * CodeCheck took 311.43 ms. Allocated memory is still 1.2 GB. Free memory was 1.1 GB in the beginning and 1.0 GB in the end (delta: 29.6 MB). Peak memory consumption was 29.6 MB. Max. memory is 11.5 GB. * Witness Printer took 6.01 ms. Allocated memory is still 1.2 GB. Free memory is still 1.0 GB. There was no memory consumed. Max. memory is 11.5 GB. RESULT: Ultimate could not prove your program: unable to determine feasibility of some traces Received shutdown request... ### Bit-precise run ### This is Ultimate 0.1.23-aa41828 [2018-11-23 12:09:46,066 INFO L170 SettingsManager]: Resetting all preferences to default values... [2018-11-23 12:09:46,067 INFO L174 SettingsManager]: Resetting UltimateCore preferences to default values [2018-11-23 12:09:46,075 INFO L177 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2018-11-23 12:09:46,076 INFO L174 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2018-11-23 12:09:46,076 INFO L174 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2018-11-23 12:09:46,077 INFO L174 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2018-11-23 12:09:46,078 INFO L174 SettingsManager]: Resetting LassoRanker preferences to default values [2018-11-23 12:09:46,079 INFO L174 SettingsManager]: Resetting Reaching Definitions preferences to default values [2018-11-23 12:09:46,080 INFO L174 SettingsManager]: Resetting SyntaxChecker preferences to default values [2018-11-23 12:09:46,081 INFO L177 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2018-11-23 12:09:46,081 INFO L174 SettingsManager]: Resetting LTL2Aut preferences to default values [2018-11-23 12:09:46,081 INFO L174 SettingsManager]: Resetting PEA to Boogie preferences to default values [2018-11-23 12:09:46,082 INFO L174 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2018-11-23 12:09:46,083 INFO L174 SettingsManager]: Resetting ChcToBoogie preferences to default values [2018-11-23 12:09:46,083 INFO L174 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2018-11-23 12:09:46,084 INFO L174 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2018-11-23 12:09:46,085 INFO L174 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2018-11-23 12:09:46,086 INFO L174 SettingsManager]: Resetting CodeCheck preferences to default values [2018-11-23 12:09:46,087 INFO L174 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2018-11-23 12:09:46,088 INFO L174 SettingsManager]: Resetting RCFGBuilder preferences to default values [2018-11-23 12:09:46,089 INFO L174 SettingsManager]: Resetting TraceAbstraction preferences to default values [2018-11-23 12:09:46,090 INFO L177 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2018-11-23 12:09:46,091 INFO L177 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2018-11-23 12:09:46,091 INFO L174 SettingsManager]: Resetting TreeAutomizer preferences to default values [2018-11-23 12:09:46,091 INFO L174 SettingsManager]: Resetting IcfgTransformer preferences to default values [2018-11-23 12:09:46,092 INFO L174 SettingsManager]: Resetting Boogie Printer preferences to default values [2018-11-23 12:09:46,092 INFO L174 SettingsManager]: Resetting ReqPrinter preferences to default values [2018-11-23 12:09:46,093 INFO L174 SettingsManager]: Resetting Witness Printer preferences to default values [2018-11-23 12:09:46,094 INFO L177 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2018-11-23 12:09:46,094 INFO L174 SettingsManager]: Resetting CDTParser preferences to default values [2018-11-23 12:09:46,094 INFO L177 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2018-11-23 12:09:46,094 INFO L177 SettingsManager]: ReqParser provides no preferences, ignoring... [2018-11-23 12:09:46,095 INFO L174 SettingsManager]: Resetting SmtParser preferences to default values [2018-11-23 12:09:46,095 INFO L174 SettingsManager]: Resetting Witness Parser preferences to default values [2018-11-23 12:09:46,096 INFO L181 SettingsManager]: Finished resetting all preferences to default values... [2018-11-23 12:09:46,096 INFO L98 SettingsManager]: Beginning loading settings from /tmp/vcloud-vcloud-master/worker/working_dir_d5895f2e-f005-4d3b-b390-0dec6406dd46/bin-2019/ukojak/config/svcomp-Reach-32bit-Kojak_Bitvector.epf [2018-11-23 12:09:46,106 INFO L110 SettingsManager]: Loading preferences was successful [2018-11-23 12:09:46,106 INFO L112 SettingsManager]: Preferences different from defaults after loading the file: [2018-11-23 12:09:46,107 INFO L131 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2018-11-23 12:09:46,107 INFO L133 SettingsManager]: * ... to procedures called more than once=ALWAYS [2018-11-23 12:09:46,107 INFO L131 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2018-11-23 12:09:46,107 INFO L133 SettingsManager]: * Create parallel compositions if possible=false [2018-11-23 12:09:46,108 INFO L131 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2018-11-23 12:09:46,108 INFO L133 SettingsManager]: * sizeof long=4 [2018-11-23 12:09:46,108 INFO L133 SettingsManager]: * sizeof POINTER=4 [2018-11-23 12:09:46,108 INFO L133 SettingsManager]: * Check division by zero=IGNORE [2018-11-23 12:09:46,108 INFO L133 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2018-11-23 12:09:46,108 INFO L133 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2018-11-23 12:09:46,108 INFO L133 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2018-11-23 12:09:46,109 INFO L133 SettingsManager]: * Use bitvectors instead of ints=true [2018-11-23 12:09:46,109 INFO L133 SettingsManager]: * Memory model=HoenickeLindenmann_4ByteResolution [2018-11-23 12:09:46,109 INFO L133 SettingsManager]: * sizeof long double=12 [2018-11-23 12:09:46,109 INFO L133 SettingsManager]: * Check if freed pointer was valid=false [2018-11-23 12:09:46,109 INFO L133 SettingsManager]: * Use constant arrays=true [2018-11-23 12:09:46,109 INFO L133 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2018-11-23 12:09:46,109 INFO L131 SettingsManager]: Preferences of CodeCheck differ from their defaults: [2018-11-23 12:09:46,109 INFO L133 SettingsManager]: * Timeout in seconds=1000000 [2018-11-23 12:09:46,110 INFO L131 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2018-11-23 12:09:46,110 INFO L133 SettingsManager]: * To the following directory=./dump/ [2018-11-23 12:09:46,110 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:10000 [2018-11-23 12:09:46,110 INFO L131 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2018-11-23 12:09:46,110 INFO L133 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2018-11-23 12:09:46,110 INFO L133 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2018-11-23 12:09:46,110 INFO L133 SettingsManager]: * Use separate solver for trace checks=false [2018-11-23 12:09:46,111 INFO L133 SettingsManager]: * Trace refinement strategy=WALRUS [2018-11-23 12:09:46,111 INFO L133 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2018-11-23 12:09:46,111 INFO L133 SettingsManager]: * Command for external solver=cvc4nyu --tear-down-incremental --rewrite-divk --print-success --lang smt [2018-11-23 12:09:46,111 INFO L133 SettingsManager]: * Logic for external solver=AUFBV [2018-11-23 12:09:46,111 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_d5895f2e-f005-4d3b-b390-0dec6406dd46/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 -> 1c6c05365b181d4eacf1f0a2b19f094d722c4a6a [2018-11-23 12:09:46,140 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2018-11-23 12:09:46,149 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2018-11-23 12:09:46,152 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2018-11-23 12:09:46,153 INFO L271 PluginConnector]: Initializing CDTParser... [2018-11-23 12:09:46,153 INFO L276 PluginConnector]: CDTParser initialized [2018-11-23 12:09:46,154 INFO L418 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /tmp/vcloud-vcloud-master/worker/working_dir_d5895f2e-f005-4d3b-b390-0dec6406dd46/bin-2019/ukojak/../../sv-benchmarks/c/float-newlib/double_req_bl_1121b_true-unreach-call.c [2018-11-23 12:09:46,197 INFO L221 CDTParser]: Created temporary CDT project at /tmp/vcloud-vcloud-master/worker/working_dir_d5895f2e-f005-4d3b-b390-0dec6406dd46/bin-2019/ukojak/data/f787f938b/323c09cbfba14d4bb3c1b15cabc0852a/FLAG4e172b8a1 [2018-11-23 12:09:46,531 INFO L307 CDTParser]: Found 1 translation units. [2018-11-23 12:09:46,531 INFO L161 CDTParser]: Scanning /tmp/vcloud-vcloud-master/worker/working_dir_d5895f2e-f005-4d3b-b390-0dec6406dd46/sv-benchmarks/c/float-newlib/double_req_bl_1121b_true-unreach-call.c [2018-11-23 12:09:46,536 INFO L355 CDTParser]: About to delete temporary CDT project at /tmp/vcloud-vcloud-master/worker/working_dir_d5895f2e-f005-4d3b-b390-0dec6406dd46/bin-2019/ukojak/data/f787f938b/323c09cbfba14d4bb3c1b15cabc0852a/FLAG4e172b8a1 [2018-11-23 12:09:46,958 INFO L363 CDTParser]: Successfully deleted /tmp/vcloud-vcloud-master/worker/working_dir_d5895f2e-f005-4d3b-b390-0dec6406dd46/bin-2019/ukojak/data/f787f938b/323c09cbfba14d4bb3c1b15cabc0852a [2018-11-23 12:09:46,960 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2018-11-23 12:09:46,961 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2018-11-23 12:09:46,962 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2018-11-23 12:09:46,962 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2018-11-23 12:09:46,965 INFO L276 PluginConnector]: CACSL2BoogieTranslator initialized [2018-11-23 12:09:46,966 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 12:09:46" (1/1) ... [2018-11-23 12:09:46,968 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@3273da23 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:09:46, skipping insertion in model container [2018-11-23 12:09:46,968 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 12:09:46" (1/1) ... [2018-11-23 12:09:46,976 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2018-11-23 12:09:46,995 INFO L176 MainTranslator]: Built tables and reachable declarations [2018-11-23 12:09:47,147 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 12:09:47,152 INFO L191 MainTranslator]: Completed pre-run [2018-11-23 12:09:47,184 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 12:09:47,200 INFO L195 MainTranslator]: Completed translation [2018-11-23 12:09:47,201 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:09:47 WrapperNode [2018-11-23 12:09:47,201 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2018-11-23 12:09:47,201 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2018-11-23 12:09:47,201 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2018-11-23 12:09:47,202 INFO L276 PluginConnector]: Boogie Procedure Inliner initialized [2018-11-23 12:09:47,207 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:09:47" (1/1) ... [2018-11-23 12:09:47,215 INFO L185 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:09:47" (1/1) ... [2018-11-23 12:09:47,283 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2018-11-23 12:09:47,283 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2018-11-23 12:09:47,283 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2018-11-23 12:09:47,283 INFO L276 PluginConnector]: Boogie Preprocessor initialized [2018-11-23 12:09:47,289 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:09:47" (1/1) ... [2018-11-23 12:09:47,290 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:09:47" (1/1) ... [2018-11-23 12:09:47,293 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:09:47" (1/1) ... [2018-11-23 12:09:47,294 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:09:47" (1/1) ... [2018-11-23 12:09:47,304 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:09:47" (1/1) ... [2018-11-23 12:09:47,310 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:09:47" (1/1) ... [2018-11-23 12:09:47,313 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:09:47" (1/1) ... [2018-11-23 12:09:47,316 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2018-11-23 12:09:47,316 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2018-11-23 12:09:47,316 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2018-11-23 12:09:47,317 INFO L276 PluginConnector]: RCFGBuilder initialized [2018-11-23 12:09:47,317 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:09:47" (1/1) ... No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_d5895f2e-f005-4d3b-b390-0dec6406dd46/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 12:09:47,364 INFO L130 BoogieDeclarations]: Found specification of procedure read~intFLOATTYPE8 [2018-11-23 12:09:47,364 INFO L130 BoogieDeclarations]: Found specification of procedure write~intFLOATTYPE8 [2018-11-23 12:09:47,365 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~intFLOATTYPE8 [2018-11-23 12:09:47,365 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.alloc [2018-11-23 12:09:47,365 INFO L130 BoogieDeclarations]: Found specification of procedure read~intINTTYPE4 [2018-11-23 12:09:47,365 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2018-11-23 12:09:47,365 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2018-11-23 12:09:47,365 INFO L130 BoogieDeclarations]: Found specification of procedure write~intINTTYPE4 [2018-11-23 12:09:47,365 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2018-11-23 12:09:47,494 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 12:09:47,535 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 12:09:47,573 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 12:09:50,367 INFO L275 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2018-11-23 12:09:50,368 INFO L280 CfgBuilder]: Removed 22 assue(true) statements. [2018-11-23 12:09:50,368 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 12:09:50 BoogieIcfgContainer [2018-11-23 12:09:50,368 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2018-11-23 12:09:50,369 INFO L113 PluginConnector]: ------------------------CodeCheck---------------------------- [2018-11-23 12:09:50,369 INFO L271 PluginConnector]: Initializing CodeCheck... [2018-11-23 12:09:50,376 INFO L276 PluginConnector]: CodeCheck initialized [2018-11-23 12:09:50,376 INFO L185 PluginConnector]: Executing the observer CodeCheckObserver from plugin CodeCheck for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 12:09:50" (1/1) ... [2018-11-23 12:09:50,383 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:09:50,400 INFO L82 GeneralOperation]: Start removeUnreachable. Operand no size info available [2018-11-23 12:09:50,404 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 66 states to 39 states and 66 transitions. [2018-11-23 12:09:50,404 INFO L276 IsEmpty]: Start isEmpty. Operand 39 states and 66 transitions. [2018-11-23 12:09:50,406 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 9 [2018-11-23 12:09:50,406 INFO L427 CodeCheckObserver]: Error Path is FOUND. [2018-11-23 12:09:50,446 ERROR L613 CodeCheckObserver]: First Tracecheck threw exception Indexed Sort BitVec undefined [2018-11-23 12:09:50,467 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:09:50,473 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:09:50,484 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 12:09:50,493 INFO L82 GeneralOperation]: Start removeUnreachable. Operand no size info available [2018-11-23 12:09:50,493 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 61 states to 39 states and 61 transitions. [2018-11-23 12:09:50,494 INFO L276 IsEmpty]: Start isEmpty. Operand 39 states and 61 transitions. [2018-11-23 12:09:50,495 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 11 [2018-11-23 12:09:50,495 INFO L427 CodeCheckObserver]: Error Path is FOUND. [2018-11-23 12:09:50,496 ERROR L613 CodeCheckObserver]: First Tracecheck threw exception Indexed Sort BitVec undefined [2018-11-23 12:09:52,567 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:09:52,874 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:10:02,340 WARN L180 SmtUtils]: Spent 3.70 s on a formula simplification that was a NOOP. DAG size: 9 [2018-11-23 12:10:08,507 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 12:10:45,930 WARN L180 SmtUtils]: Spent 7.99 s on a formula simplification that was a NOOP. DAG size: 10 [2018-11-23 12:12:06,063 INFO L82 GeneralOperation]: Start removeUnreachable. Operand no size info available [2018-11-23 12:12:06,063 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 68 states to 41 states and 68 transitions. [2018-11-23 12:12:06,064 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 68 transitions. [2018-11-23 12:12:06,064 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 13 [2018-11-23 12:12:06,064 INFO L427 CodeCheckObserver]: Error Path is FOUND. [2018-11-23 12:12:06,065 ERROR L613 CodeCheckObserver]: First Tracecheck threw exception Indexed Sort BitVec undefined [2018-11-23 12:12:06,093 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:12:06,096 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:12:06,112 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 12:12:06,113 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 12:12:06,117 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 2 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 48 treesize of output 56 [2018-11-23 12:12:06,189 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 12:12:06,191 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:12:06,192 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 2 stores, 1 select indices, 1 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 37 treesize of output 44 [2018-11-23 12:12:06,192 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:12:06,212 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 35 treesize of output 27 [2018-11-23 12:12:06,251 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:12:06,251 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 2 disjoint index pairs (out of 1 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 14 [2018-11-23 12:12:06,252 INFO L267 ElimStorePlain]: Start of recursive call 5: End of recursive call: and 1 xjuncts. [2018-11-23 12:12:06,267 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:12:06,273 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:12:06,293 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-2 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-11-23 12:12:06,294 INFO L202 ElimStorePlain]: Needed 5 recursive calls to eliminate 4 variables, input treesize:58, output treesize:19 [2018-11-23 12:12:18,608 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 12:13:51,468 INFO L82 GeneralOperation]: Start removeUnreachable. Operand no size info available [2018-11-23 12:13:51,468 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 11 states and 10 transitions. [2018-11-23 12:13:51,468 INFO L276 IsEmpty]: Start isEmpty. Operand 11 states and 10 transitions. [2018-11-23 12:13:51,469 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:13:51,469 WARN L424 CodeCheckObserver]: This Program is SAFE, Check terminated with 4 iterations. [2018-11-23 12:13:51,478 INFO L775 CodeCheckObserver]: All specifications hold 1 specifications checked. All of them hold [2018-11-23 12:13:53,512 WARN L180 SmtUtils]: Spent 2.01 s on a formula simplification that was a NOOP. DAG size: 9 [2018-11-23 12:13:53,536 INFO L579 CodeCheckObserver]: Invariant with dag size 9 [2018-11-23 12:13:53,540 WARN L416 cessorBacktranslator]: Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven [2018-11-23 12:13:53,540 WARN L416 cessorBacktranslator]: Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven [2018-11-23 12:13:53,541 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[ULTIMATE.start_fmod_double_~x,QUANTIFIED] [2018-11-23 12:13:53,541 WARN L416 cessorBacktranslator]: Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven [2018-11-23 12:13:53,541 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[ULTIMATE.start_fmod_double_~x,QUANTIFIED] [2018-11-23 12:13:53,543 WARN L416 cessorBacktranslator]: Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven [2018-11-23 12:13:53,544 WARN L416 cessorBacktranslator]: Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven [2018-11-23 12:13:53,544 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[ULTIMATE.start_fmod_double_~x,QUANTIFIED] [2018-11-23 12:13:53,544 WARN L416 cessorBacktranslator]: Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven [2018-11-23 12:13:53,544 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[ULTIMATE.start_fmod_double_~x,QUANTIFIED] [2018-11-23 12:13:53,545 INFO L579 CodeCheckObserver]: Invariant with dag size 1 [2018-11-23 12:13:53,545 INFO L579 CodeCheckObserver]: Invariant with dag size 4 [2018-11-23 12:13:53,546 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.codecheck CFG 23.11 12:13:53 ImpRootNode [2018-11-23 12:13:53,546 INFO L132 PluginConnector]: ------------------------ END CodeCheck---------------------------- [2018-11-23 12:13:53,546 INFO L113 PluginConnector]: ------------------------Witness Printer---------------------------- [2018-11-23 12:13:53,546 INFO L271 PluginConnector]: Initializing Witness Printer... [2018-11-23 12:13:53,547 INFO L276 PluginConnector]: Witness Printer initialized [2018-11-23 12:13:53,547 INFO L185 PluginConnector]: Executing the observer RCFGCatcher from plugin Witness Printer for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 12:09:50" (3/4) ... [2018-11-23 12:13:53,550 INFO L144 WitnessPrinter]: Generating witness for correct program [2018-11-23 12:13:53,557 INFO L879 BoogieBacktranslator]: Reduced CFG by removing 5 nodes and edges [2018-11-23 12:13:53,557 INFO L879 BoogieBacktranslator]: Reduced CFG by removing 4 nodes and edges [2018-11-23 12:13:53,585 INFO L145 WitnessManager]: Wrote witness to /tmp/vcloud-vcloud-master/worker/working_dir_d5895f2e-f005-4d3b-b390-0dec6406dd46/bin-2019/ukojak/witness.graphml [2018-11-23 12:13:53,585 INFO L132 PluginConnector]: ------------------------ END Witness Printer---------------------------- [2018-11-23 12:13:53,586 INFO L168 Benchmark]: Toolchain (without parser) took 246625.10 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 154.1 MB). Free memory was 949.2 MB in the beginning and 989.8 MB in the end (delta: -40.6 MB). Peak memory consumption was 113.5 MB. Max. memory is 11.5 GB. [2018-11-23 12:13:53,586 INFO L168 Benchmark]: CDTParser took 0.16 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 12:13:53,586 INFO L168 Benchmark]: CACSL2BoogieTranslator took 239.12 ms. Allocated memory is still 1.0 GB. Free memory was 949.2 MB in the beginning and 933.1 MB in the end (delta: 16.1 MB). Peak memory consumption was 16.1 MB. Max. memory is 11.5 GB. [2018-11-23 12:13:53,587 INFO L168 Benchmark]: Boogie Procedure Inliner took 81.34 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 154.1 MB). Free memory was 933.1 MB in the beginning and 1.1 GB in the end (delta: -215.7 MB). Peak memory consumption was 20.9 MB. Max. memory is 11.5 GB. [2018-11-23 12:13:53,587 INFO L168 Benchmark]: Boogie Preprocessor took 33.17 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 12:13:53,588 INFO L168 Benchmark]: RCFGBuilder took 3052.06 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: 52.3 MB). Peak memory consumption was 52.3 MB. Max. memory is 11.5 GB. [2018-11-23 12:13:53,588 INFO L168 Benchmark]: CodeCheck took 243177.25 ms. Allocated memory is still 1.2 GB. Free memory was 1.1 GB in the beginning and 989.8 MB in the end (delta: 100.1 MB). Peak memory consumption was 100.1 MB. Max. memory is 11.5 GB. [2018-11-23 12:13:53,588 INFO L168 Benchmark]: Witness Printer took 38.88 ms. Allocated memory is still 1.2 GB. Free memory is still 989.8 MB. There was no memory consumed. Max. memory is 11.5 GB. [2018-11-23 12:13:53,590 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, 241.0s OverallTime, 4 OverallIterations, 0 TraceHistogramMax, 0.0s AutomataDifference, 0.0s DeadEndRemovalTime, 0.0s HoareAnnotationTime, HoareTripleCheckerStatistics: 114 SDtfs, 44 SDslu, 40 SDs, 0 SdLazy, 118 SolverSat, 26 SolverUnsat, 8 SolverUnknown, 0 SolverNotchecked, 148.6s Time, PredicateUnifierStatistics: 0 DeclaredPredicates, 249 GetRequests, 231 SyntacticMatches, 0 SemanticMatches, 18 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 39 ImplicationChecksByTransitivity, 135.6s Time, 0.0s BasicInterpolantAutomatonTime, BiggestAbstraction: size=-1occurred in iteration=-1, traceCheckStatistics: 0.0s SsaConstructionTime, 2.0s SatisfiabilityAnalysisTime, 28.4s InterpolantComputationTime, 30 NumberOfCodeBlocks, 30 NumberOfCodeBlocksAsserted, 3 NumberOfCheckSat, 27 ConstructedInterpolants, 4 QuantifiedInterpolants, 1323 SizeOfPredicates, 15 NumberOfNonLiveVariables, 161 ConjunctsInSsa, 21 ConjunctsInUnsatCore, 3 InterpolantComputations, 3 PerfectInterpolantSequences, 0/0 InterpolantCoveringCapability, InterpolantConsolidationStatistics: No data available, PathInvariantsStatistics: No data available, 0/0 InterpolantCoveringCapability, TotalInterpolationStatistics: No data available, 0.0s AbstIntTime, 0 AbstIntIterations, 0 AbstIntStrong, NaN AbsIntWeakeningRatio, NaN AbsIntAvgWeakeningVarsNumRemoved, NaN AbsIntAvgWeakenedConjuncts, 0.0s DumpTime, AutomataMinimizationStatistics: No data available, HoareAnnotationStatistics: No data available, RefinementEngineStatistics: No data available, ReuseStatistics: No data available - PositiveResult [Line: 175]: call of __VERIFIER_error() unreachable For all program executions holds that call of __VERIFIER_error() unreachable at this location - AllSpecificationsHoldResult: All specifications hold 1 specifications checked. All of them hold - InvariantResult [Line: 23]: Loop Invariant [2018-11-23 12:13:53,594 WARN L416 cessorBacktranslator]: Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven [2018-11-23 12:13:53,594 WARN L416 cessorBacktranslator]: Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven [2018-11-23 12:13:53,594 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[ULTIMATE.start_fmod_double_~x,QUANTIFIED] [2018-11-23 12:13:53,594 WARN L416 cessorBacktranslator]: Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven [2018-11-23 12:13:53,595 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[ULTIMATE.start_fmod_double_~x,QUANTIFIED] [2018-11-23 12:13:53,595 WARN L416 cessorBacktranslator]: Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven [2018-11-23 12:13:53,595 WARN L416 cessorBacktranslator]: Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven [2018-11-23 12:13:53,595 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[ULTIMATE.start_fmod_double_~x,QUANTIFIED] [2018-11-23 12:13:53,596 WARN L416 cessorBacktranslator]: Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven [2018-11-23 12:13:53,596 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[ULTIMATE.start_fmod_double_~x,QUANTIFIED] Derived loop invariant: (\exists ULTIMATE.start_fmod_double_~x : C_DOUBLE :: ~fp.div~DOUBLE(~roundNearestTiesToEven, ~fp.mul~DOUBLE(~roundNearestTiesToEven, ULTIMATE.start_fmod_double_~x, ~fp.neg~DOUBLE(~Pluszero~LONGDOUBLE())), ~fp.mul~DOUBLE(~roundNearestTiesToEven, ULTIMATE.start_fmod_double_~x, ~fp.neg~DOUBLE(~Pluszero~LONGDOUBLE()))) == \result) - InvariantResult [Line: 163]: Loop Invariant Derived loop invariant: 1 - InvariantResult [Line: 27]: Loop Invariant Derived loop invariant: ~fp.neg~DOUBLE(~Pluszero~LONGDOUBLE()) == y * Results from de.uni_freiburg.informatik.ultimate.core: - StatisticsResult: Toolchain Benchmarks Benchmark results are: * CDTParser took 0.16 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 239.12 ms. Allocated memory is still 1.0 GB. Free memory was 949.2 MB in the beginning and 933.1 MB in the end (delta: 16.1 MB). Peak memory consumption was 16.1 MB. Max. memory is 11.5 GB. * Boogie Procedure Inliner took 81.34 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 154.1 MB). Free memory was 933.1 MB in the beginning and 1.1 GB in the end (delta: -215.7 MB). Peak memory consumption was 20.9 MB. Max. memory is 11.5 GB. * Boogie Preprocessor took 33.17 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 3052.06 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: 52.3 MB). Peak memory consumption was 52.3 MB. Max. memory is 11.5 GB. * CodeCheck took 243177.25 ms. Allocated memory is still 1.2 GB. Free memory was 1.1 GB in the beginning and 989.8 MB in the end (delta: 100.1 MB). Peak memory consumption was 100.1 MB. Max. memory is 11.5 GB. * Witness Printer took 38.88 ms. Allocated memory is still 1.2 GB. Free memory is still 989.8 MB. There was no memory consumed. Max. memory is 11.5 GB. * Results from de.uni_freiburg.informatik.ultimate.boogie.preprocessor: - GenericResult: Unfinished Backtranslation Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven - GenericResult: Unfinished Backtranslation Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[ULTIMATE.start_fmod_double_~x,QUANTIFIED] - GenericResult: Unfinished Backtranslation Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[ULTIMATE.start_fmod_double_~x,QUANTIFIED] - GenericResult: Unfinished Backtranslation Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven - GenericResult: Unfinished Backtranslation Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[ULTIMATE.start_fmod_double_~x,QUANTIFIED] - GenericResult: Unfinished Backtranslation Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[ULTIMATE.start_fmod_double_~x,QUANTIFIED] - GenericResult: Unfinished Backtranslation Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven - GenericResult: Unfinished Backtranslation Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[ULTIMATE.start_fmod_double_~x,QUANTIFIED] - GenericResult: Unfinished Backtranslation Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[ULTIMATE.start_fmod_double_~x,QUANTIFIED] - GenericResult: Unfinished Backtranslation Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven - GenericResult: Unfinished Backtranslation Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[ULTIMATE.start_fmod_double_~x,QUANTIFIED] - GenericResult: Unfinished Backtranslation Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[ULTIMATE.start_fmod_double_~x,QUANTIFIED] RESULT: Ultimate proved your program to be correct! [MP z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:10000 (1)] Forcibly destroying the process Received shutdown request...