./Ultimate.py --spec ../../sv-benchmarks/c/properties/unreach-call.prp --file ../../sv-benchmarks/c/float-newlib/float_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_92186675-2149-4d51-bfcc-e3ac30d623a2/bin-2019/ukojak/data/config -Xmx12G -Xms1G -jar /tmp/vcloud-vcloud-master/worker/working_dir_92186675-2149-4d51-bfcc-e3ac30d623a2/bin-2019/ukojak/plugins/org.eclipse.equinox.launcher_1.3.100.v20150511-1540.jar -data @noDefault -ultimatedata /tmp/vcloud-vcloud-master/worker/working_dir_92186675-2149-4d51-bfcc-e3ac30d623a2/bin-2019/ukojak/data -tc /tmp/vcloud-vcloud-master/worker/working_dir_92186675-2149-4d51-bfcc-e3ac30d623a2/bin-2019/ukojak/config/KojakReach.xml -i ../../sv-benchmarks/c/float-newlib/float_req_bl_1121b_true-unreach-call.c -s /tmp/vcloud-vcloud-master/worker/working_dir_92186675-2149-4d51-bfcc-e3ac30d623a2/bin-2019/ukojak/config/svcomp-Reach-32bit-Kojak_Default.epf --cacsl2boogietranslator.entry.function main --witnessprinter.witness.directory /tmp/vcloud-vcloud-master/worker/working_dir_92186675-2149-4d51-bfcc-e3ac30d623a2/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 73dc70fc086318c728ead326eb8ef835fee9f9a2 .......................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................... 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_92186675-2149-4d51-bfcc-e3ac30d623a2/bin-2019/ukojak/data/config -Xmx12G -Xms1G -jar /tmp/vcloud-vcloud-master/worker/working_dir_92186675-2149-4d51-bfcc-e3ac30d623a2/bin-2019/ukojak/plugins/org.eclipse.equinox.launcher_1.3.100.v20150511-1540.jar -data @noDefault -ultimatedata /tmp/vcloud-vcloud-master/worker/working_dir_92186675-2149-4d51-bfcc-e3ac30d623a2/bin-2019/ukojak/data -tc /tmp/vcloud-vcloud-master/worker/working_dir_92186675-2149-4d51-bfcc-e3ac30d623a2/bin-2019/ukojak/config/KojakReach.xml -i ../../sv-benchmarks/c/float-newlib/float_req_bl_1121b_true-unreach-call.c -s /tmp/vcloud-vcloud-master/worker/working_dir_92186675-2149-4d51-bfcc-e3ac30d623a2/bin-2019/ukojak/config/svcomp-Reach-32bit-Kojak_Bitvector.epf --cacsl2boogietranslator.entry.function main --witnessprinter.witness.directory /tmp/vcloud-vcloud-master/worker/working_dir_92186675-2149-4d51-bfcc-e3ac30d623a2/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 73dc70fc086318c728ead326eb8ef835fee9f9a2 ....................................................................................................................................................................................................................................................................................................... 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 03:30:46,902 INFO L170 SettingsManager]: Resetting all preferences to default values... [2018-11-23 03:30:46,904 INFO L174 SettingsManager]: Resetting UltimateCore preferences to default values [2018-11-23 03:30:46,911 INFO L177 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2018-11-23 03:30:46,911 INFO L174 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2018-11-23 03:30:46,912 INFO L174 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2018-11-23 03:30:46,913 INFO L174 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2018-11-23 03:30:46,914 INFO L174 SettingsManager]: Resetting LassoRanker preferences to default values [2018-11-23 03:30:46,915 INFO L174 SettingsManager]: Resetting Reaching Definitions preferences to default values [2018-11-23 03:30:46,916 INFO L174 SettingsManager]: Resetting SyntaxChecker preferences to default values [2018-11-23 03:30:46,916 INFO L177 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2018-11-23 03:30:46,916 INFO L174 SettingsManager]: Resetting LTL2Aut preferences to default values [2018-11-23 03:30:46,918 INFO L174 SettingsManager]: Resetting PEA to Boogie preferences to default values [2018-11-23 03:30:46,919 INFO L174 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2018-11-23 03:30:46,919 INFO L174 SettingsManager]: Resetting ChcToBoogie preferences to default values [2018-11-23 03:30:46,920 INFO L174 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2018-11-23 03:30:46,921 INFO L174 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2018-11-23 03:30:46,922 INFO L174 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2018-11-23 03:30:46,924 INFO L174 SettingsManager]: Resetting CodeCheck preferences to default values [2018-11-23 03:30:46,925 INFO L174 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2018-11-23 03:30:46,925 INFO L174 SettingsManager]: Resetting RCFGBuilder preferences to default values [2018-11-23 03:30:46,926 INFO L174 SettingsManager]: Resetting TraceAbstraction preferences to default values [2018-11-23 03:30:46,927 INFO L177 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2018-11-23 03:30:46,927 INFO L177 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2018-11-23 03:30:46,927 INFO L174 SettingsManager]: Resetting TreeAutomizer preferences to default values [2018-11-23 03:30:46,928 INFO L174 SettingsManager]: Resetting IcfgTransformer preferences to default values [2018-11-23 03:30:46,929 INFO L174 SettingsManager]: Resetting Boogie Printer preferences to default values [2018-11-23 03:30:46,930 INFO L174 SettingsManager]: Resetting ReqPrinter preferences to default values [2018-11-23 03:30:46,930 INFO L174 SettingsManager]: Resetting Witness Printer preferences to default values [2018-11-23 03:30:46,931 INFO L177 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2018-11-23 03:30:46,931 INFO L174 SettingsManager]: Resetting CDTParser preferences to default values [2018-11-23 03:30:46,932 INFO L177 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2018-11-23 03:30:46,932 INFO L177 SettingsManager]: ReqParser provides no preferences, ignoring... [2018-11-23 03:30:46,932 INFO L174 SettingsManager]: Resetting SmtParser preferences to default values [2018-11-23 03:30:46,933 INFO L174 SettingsManager]: Resetting Witness Parser preferences to default values [2018-11-23 03:30:46,934 INFO L181 SettingsManager]: Finished resetting all preferences to default values... [2018-11-23 03:30:46,934 INFO L98 SettingsManager]: Beginning loading settings from /tmp/vcloud-vcloud-master/worker/working_dir_92186675-2149-4d51-bfcc-e3ac30d623a2/bin-2019/ukojak/config/svcomp-Reach-32bit-Kojak_Default.epf [2018-11-23 03:30:46,941 INFO L110 SettingsManager]: Loading preferences was successful [2018-11-23 03:30:46,941 INFO L112 SettingsManager]: Preferences different from defaults after loading the file: [2018-11-23 03:30:46,942 INFO L131 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2018-11-23 03:30:46,942 INFO L133 SettingsManager]: * ... to procedures called more than once=ALWAYS [2018-11-23 03:30:46,942 INFO L131 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2018-11-23 03:30:46,943 INFO L133 SettingsManager]: * Create parallel compositions if possible=false [2018-11-23 03:30:46,943 INFO L131 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2018-11-23 03:30:46,943 INFO L133 SettingsManager]: * sizeof long=4 [2018-11-23 03:30:46,943 INFO L133 SettingsManager]: * Overapproximate operations on floating types=true [2018-11-23 03:30:46,943 INFO L133 SettingsManager]: * sizeof POINTER=4 [2018-11-23 03:30:46,943 INFO L133 SettingsManager]: * Check division by zero=IGNORE [2018-11-23 03:30:46,943 INFO L133 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2018-11-23 03:30:46,944 INFO L133 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2018-11-23 03:30:46,944 INFO L133 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2018-11-23 03:30:46,944 INFO L133 SettingsManager]: * sizeof long double=12 [2018-11-23 03:30:46,944 INFO L133 SettingsManager]: * Check if freed pointer was valid=false [2018-11-23 03:30:46,944 INFO L133 SettingsManager]: * Use constant arrays=true [2018-11-23 03:30:46,944 INFO L133 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2018-11-23 03:30:46,944 INFO L131 SettingsManager]: Preferences of CodeCheck differ from their defaults: [2018-11-23 03:30:46,944 INFO L133 SettingsManager]: * Timeout in seconds=1000000 [2018-11-23 03:30:46,945 INFO L131 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2018-11-23 03:30:46,947 INFO L133 SettingsManager]: * To the following directory=./dump/ [2018-11-23 03:30:46,947 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:10000 [2018-11-23 03:30:46,947 INFO L131 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2018-11-23 03:30:46,947 INFO L133 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2018-11-23 03:30:46,947 INFO L133 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2018-11-23 03:30:46,947 INFO L133 SettingsManager]: * Trace refinement strategy=PENGUIN [2018-11-23 03:30:46,947 INFO L133 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2018-11-23 03:30:46,948 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2018-11-23 03:30:46,948 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_92186675-2149-4d51-bfcc-e3ac30d623a2/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 -> 73dc70fc086318c728ead326eb8ef835fee9f9a2 [2018-11-23 03:30:46,970 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2018-11-23 03:30:46,980 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2018-11-23 03:30:46,983 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2018-11-23 03:30:46,984 INFO L271 PluginConnector]: Initializing CDTParser... [2018-11-23 03:30:46,985 INFO L276 PluginConnector]: CDTParser initialized [2018-11-23 03:30:46,986 INFO L418 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /tmp/vcloud-vcloud-master/worker/working_dir_92186675-2149-4d51-bfcc-e3ac30d623a2/bin-2019/ukojak/../../sv-benchmarks/c/float-newlib/float_req_bl_1121b_true-unreach-call.c [2018-11-23 03:30:47,038 INFO L221 CDTParser]: Created temporary CDT project at /tmp/vcloud-vcloud-master/worker/working_dir_92186675-2149-4d51-bfcc-e3ac30d623a2/bin-2019/ukojak/data/dcc03264c/6b8ee33a334e41ab88eed925d01fda66/FLAG02c4bf172 [2018-11-23 03:30:47,367 INFO L307 CDTParser]: Found 1 translation units. [2018-11-23 03:30:47,368 INFO L161 CDTParser]: Scanning /tmp/vcloud-vcloud-master/worker/working_dir_92186675-2149-4d51-bfcc-e3ac30d623a2/sv-benchmarks/c/float-newlib/float_req_bl_1121b_true-unreach-call.c [2018-11-23 03:30:47,372 INFO L355 CDTParser]: About to delete temporary CDT project at /tmp/vcloud-vcloud-master/worker/working_dir_92186675-2149-4d51-bfcc-e3ac30d623a2/bin-2019/ukojak/data/dcc03264c/6b8ee33a334e41ab88eed925d01fda66/FLAG02c4bf172 [2018-11-23 03:30:47,795 INFO L363 CDTParser]: Successfully deleted /tmp/vcloud-vcloud-master/worker/working_dir_92186675-2149-4d51-bfcc-e3ac30d623a2/bin-2019/ukojak/data/dcc03264c/6b8ee33a334e41ab88eed925d01fda66 [2018-11-23 03:30:47,797 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2018-11-23 03:30:47,799 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2018-11-23 03:30:47,799 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2018-11-23 03:30:47,799 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2018-11-23 03:30:47,802 INFO L276 PluginConnector]: CACSL2BoogieTranslator initialized [2018-11-23 03:30:47,802 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 03:30:47" (1/1) ... [2018-11-23 03:30:47,804 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@32768438 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 03:30:47, skipping insertion in model container [2018-11-23 03:30:47,804 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 03:30:47" (1/1) ... [2018-11-23 03:30:47,810 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2018-11-23 03:30:47,826 INFO L176 MainTranslator]: Built tables and reachable declarations [2018-11-23 03:30:47,957 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 03:30:47,960 INFO L191 MainTranslator]: Completed pre-run [2018-11-23 03:30:47,984 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 03:30:47,997 INFO L195 MainTranslator]: Completed translation [2018-11-23 03:30:47,998 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 03:30:47 WrapperNode [2018-11-23 03:30:47,998 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2018-11-23 03:30:47,998 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2018-11-23 03:30:47,998 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2018-11-23 03:30:47,998 INFO L276 PluginConnector]: Boogie Procedure Inliner initialized [2018-11-23 03:30:48,003 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 03:30:47" (1/1) ... [2018-11-23 03:30:48,010 INFO L185 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 03:30:47" (1/1) ... [2018-11-23 03:30:48,066 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2018-11-23 03:30:48,067 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2018-11-23 03:30:48,067 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2018-11-23 03:30:48,067 INFO L276 PluginConnector]: Boogie Preprocessor initialized [2018-11-23 03:30:48,075 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 03:30:47" (1/1) ... [2018-11-23 03:30:48,075 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 03:30:47" (1/1) ... [2018-11-23 03:30:48,078 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 03:30:47" (1/1) ... [2018-11-23 03:30:48,078 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 03:30:47" (1/1) ... [2018-11-23 03:30:48,086 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 03:30:47" (1/1) ... [2018-11-23 03:30:48,091 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 03:30:47" (1/1) ... [2018-11-23 03:30:48,092 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 03:30:47" (1/1) ... [2018-11-23 03:30:48,094 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2018-11-23 03:30:48,095 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2018-11-23 03:30:48,095 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2018-11-23 03:30:48,095 INFO L276 PluginConnector]: RCFGBuilder initialized [2018-11-23 03:30:48,096 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 03:30:47" (1/1) ... No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_92186675-2149-4d51-bfcc-e3ac30d623a2/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 03:30:48,132 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2018-11-23 03:30:48,132 INFO L130 BoogieDeclarations]: Found specification of procedure read~real [2018-11-23 03:30:48,132 INFO L130 BoogieDeclarations]: Found specification of procedure write~real [2018-11-23 03:30:48,132 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.alloc [2018-11-23 03:30:48,132 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2018-11-23 03:30:48,132 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2018-11-23 03:30:48,133 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2018-11-23 03:30:48,133 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~real [2018-11-23 03:30:48,133 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2018-11-23 03:30:48,474 INFO L275 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2018-11-23 03:30:48,475 INFO L280 CfgBuilder]: Removed 20 assue(true) statements. [2018-11-23 03:30:48,475 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 03:30:48 BoogieIcfgContainer [2018-11-23 03:30:48,475 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2018-11-23 03:30:48,475 INFO L113 PluginConnector]: ------------------------CodeCheck---------------------------- [2018-11-23 03:30:48,476 INFO L271 PluginConnector]: Initializing CodeCheck... [2018-11-23 03:30:48,483 INFO L276 PluginConnector]: CodeCheck initialized [2018-11-23 03:30:48,483 INFO L185 PluginConnector]: Executing the observer CodeCheckObserver from plugin CodeCheck for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 03:30:48" (1/1) ... [2018-11-23 03:30:48,491 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 03:30:48,509 INFO L82 GeneralOperation]: Start removeUnreachable. Operand no size info available [2018-11-23 03:30:48,514 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 56 states to 34 states and 56 transitions. [2018-11-23 03:30:48,514 INFO L276 IsEmpty]: Start isEmpty. Operand 34 states and 56 transitions. [2018-11-23 03:30:48,516 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 9 [2018-11-23 03:30:48,516 INFO L427 CodeCheckObserver]: Error Path is FOUND. [2018-11-23 03:30:48,563 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 03:30:48,585 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 03:30:48,593 INFO L82 GeneralOperation]: Start removeUnreachable. Operand no size info available [2018-11-23 03:30:48,593 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 51 states to 34 states and 51 transitions. [2018-11-23 03:30:48,593 INFO L276 IsEmpty]: Start isEmpty. Operand 34 states and 51 transitions. [2018-11-23 03:30:48,594 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 11 [2018-11-23 03:30:48,594 INFO L427 CodeCheckObserver]: Error Path is FOUND. [2018-11-23 03:30:48,629 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 03:30:48,651 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 03:30:48,686 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 03:30:48,699 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 03:30:48,713 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(8);call write~init~real(0.0, ~#Zero_fmod~0.base, ~#Zero_fmod~0.offset, 4);call write~init~real(~someUnaryDOUBLEoperation(0.0), ~#Zero_fmod~0.base, 4 + ~#Zero_fmod~0.offset, 4);havoc main_#res;havoc main_#t~nondet12, main_#t~ret13, main_#t~ret14, main_~x~0, main_~y~0, main_~res~0;main_~x~0 := main_#t~nondet12;havoc main_#t~nondet12;main_~y~0 := ~someUnaryFLOAToperation(0.0);fmod_float_#in~x, fmod_float_#in~y := main_~x~0, main_~y~0;havoc fmod_float_#res;havoc fmod_float_#t~mem0, fmod_float_#t~union1, fmod_float_~#gf_u~0.base, fmod_float_~#gf_u~0.offset, fmod_float_#t~mem2, fmod_float_#t~union3, fmod_float_~#gf_u~1.base, fmod_float_~#gf_u~1.offset, fmod_float_#t~mem4, fmod_float_#t~mem6, fmod_float_#t~post5, fmod_float_#t~mem7, fmod_float_#t~mem8, fmod_float_#t~union9, fmod_float_~#sf_u~0.base, fmod_float_~#sf_u~0.offset, fmod_float_#t~mem10, fmod_float_#t~union11, fmod_float_~#sf_u~1.base, fmod_float_~#sf_u~1.offset, fmod_float_~x, fmod_float_~y, fmod_float_~n~0, fmod_float_~hx~0, fmod_float_~hy~0, fmod_float_~hz~0, fmod_float_~ix~0, fmod_float_~iy~0, fmod_float_~sx~0, fmod_float_~i~0;fmod_float_~x := fmod_float_#in~x;fmod_float_~y := fmod_float_#in~y;havoc fmod_float_~n~0;havoc fmod_float_~hx~0;havoc fmod_float_~hy~0;havoc fmod_float_~hz~0;havoc fmod_float_~ix~0;havoc fmod_float_~iy~0;havoc fmod_float_~sx~0;havoc fmod_float_~i~0; VAL [ULTIMATE.start_fmod_float_~x=2.0, ULTIMATE.start_fmod_float_~y=8.0, ULTIMATE.start_main_~x~0=2.0, ULTIMATE.start_main_~y~0=8.0, |#NULL.base|=0, |#NULL.offset|=0, |ULTIMATE.start_fmod_float_#in~x|=2.0, |ULTIMATE.start_fmod_float_#in~y|=8.0, |~#Zero_fmod~0.base|=2, |~#Zero_fmod~0.offset|=0, ~one_fmod~0=1.0] [?] call fmod_float_~#gf_u~0.base, fmod_float_~#gf_u~0.offset := #Ultimate.alloc(4);call write~real(fmod_float_~x, fmod_float_~#gf_u~0.base, fmod_float_~#gf_u~0.offset, 4);call fmod_float_#t~mem0 := read~int(fmod_float_~#gf_u~0.base, fmod_float_~#gf_u~0.offset, 4);fmod_float_~hx~0 := (if fmod_float_#t~mem0 % 4294967296 % 4294967296 <= 2147483647 then fmod_float_#t~mem0 % 4294967296 % 4294967296 else fmod_float_#t~mem0 % 4294967296 % 4294967296 - 4294967296);call write~real(fmod_float_#t~union1, fmod_float_~#gf_u~0.base, fmod_float_~#gf_u~0.offset, 4);havoc fmod_float_#t~mem0;havoc fmod_float_#t~union1;call ULTIMATE.dealloc(fmod_float_~#gf_u~0.base, fmod_float_~#gf_u~0.offset);havoc fmod_float_~#gf_u~0.base, fmod_float_~#gf_u~0.offset; VAL [ULTIMATE.start_fmod_float_~hx~0=0, ULTIMATE.start_fmod_float_~x=2.0, ULTIMATE.start_fmod_float_~y=8.0, ULTIMATE.start_main_~x~0=2.0, ULTIMATE.start_main_~y~0=8.0, |#NULL.base|=0, |#NULL.offset|=0, |ULTIMATE.start_fmod_float_#in~x|=2.0, |ULTIMATE.start_fmod_float_#in~y|=8.0, |~#Zero_fmod~0.base|=2, |~#Zero_fmod~0.offset|=0, ~one_fmod~0=1.0] [?] goto; VAL [ULTIMATE.start_fmod_float_~hx~0=0, ULTIMATE.start_fmod_float_~x=2.0, ULTIMATE.start_fmod_float_~y=8.0, ULTIMATE.start_main_~x~0=2.0, ULTIMATE.start_main_~y~0=8.0, |#NULL.base|=0, |#NULL.offset|=0, |ULTIMATE.start_fmod_float_#in~x|=2.0, |ULTIMATE.start_fmod_float_#in~y|=8.0, |~#Zero_fmod~0.base|=2, |~#Zero_fmod~0.offset|=0, ~one_fmod~0=1.0] [?] call fmod_float_~#gf_u~1.base, fmod_float_~#gf_u~1.offset := #Ultimate.alloc(4);call write~real(fmod_float_~y, fmod_float_~#gf_u~1.base, fmod_float_~#gf_u~1.offset, 4);call fmod_float_#t~mem2 := read~int(fmod_float_~#gf_u~1.base, fmod_float_~#gf_u~1.offset, 4);fmod_float_~hy~0 := (if fmod_float_#t~mem2 % 4294967296 % 4294967296 <= 2147483647 then fmod_float_#t~mem2 % 4294967296 % 4294967296 else fmod_float_#t~mem2 % 4294967296 % 4294967296 - 4294967296);call write~real(fmod_float_#t~union3, fmod_float_~#gf_u~1.base, fmod_float_~#gf_u~1.offset, 4);havoc fmod_float_#t~mem2;havoc fmod_float_#t~union3;call ULTIMATE.dealloc(fmod_float_~#gf_u~1.base, fmod_float_~#gf_u~1.offset);havoc fmod_float_~#gf_u~1.base, fmod_float_~#gf_u~1.offset; VAL [ULTIMATE.start_fmod_float_~hx~0=0, ULTIMATE.start_fmod_float_~hy~0=0, ULTIMATE.start_fmod_float_~x=2.0, ULTIMATE.start_fmod_float_~y=8.0, ULTIMATE.start_main_~x~0=2.0, ULTIMATE.start_main_~y~0=8.0, |#NULL.base|=0, |#NULL.offset|=0, |ULTIMATE.start_fmod_float_#in~x|=2.0, |ULTIMATE.start_fmod_float_#in~y|=8.0, |~#Zero_fmod~0.base|=2, |~#Zero_fmod~0.offset|=0, ~one_fmod~0=1.0] [?] goto; VAL [ULTIMATE.start_fmod_float_~hx~0=0, ULTIMATE.start_fmod_float_~hy~0=0, ULTIMATE.start_fmod_float_~x=2.0, ULTIMATE.start_fmod_float_~y=8.0, ULTIMATE.start_main_~x~0=2.0, ULTIMATE.start_main_~y~0=8.0, |#NULL.base|=0, |#NULL.offset|=0, |ULTIMATE.start_fmod_float_#in~x|=2.0, |ULTIMATE.start_fmod_float_#in~y|=8.0, |~#Zero_fmod~0.base|=2, |~#Zero_fmod~0.offset|=0, ~one_fmod~0=1.0] [?] fmod_float_~sx~0 := (if ~bitwiseAnd(fmod_float_~hx~0, 2147483648) % 4294967296 % 4294967296 <= 2147483647 then ~bitwiseAnd(fmod_float_~hx~0, 2147483648) % 4294967296 % 4294967296 else ~bitwiseAnd(fmod_float_~hx~0, 2147483648) % 4294967296 % 4294967296 - 4294967296);fmod_float_~hx~0 := ~bitwiseXor(fmod_float_~hx~0, fmod_float_~sx~0);fmod_float_~hy~0 := ~bitwiseAnd(fmod_float_~hy~0, 2147483647); VAL [ULTIMATE.start_fmod_float_~sx~0=8879, ULTIMATE.start_fmod_float_~x=2.0, ULTIMATE.start_fmod_float_~y=8.0, ULTIMATE.start_main_~x~0=2.0, ULTIMATE.start_main_~y~0=8.0, |#NULL.base|=0, |#NULL.offset|=0, |ULTIMATE.start_fmod_float_#in~x|=2.0, |ULTIMATE.start_fmod_float_#in~y|=8.0, |~#Zero_fmod~0.base|=2, |~#Zero_fmod~0.offset|=0, ~one_fmod~0=1.0] [?] assume (0 == fmod_float_~hy~0 || !(fmod_float_~hx~0 < 2139095040)) || fmod_float_~hy~0 > 2139095040;fmod_float_#res := ~someBinaryArithmeticFLOAToperation(~someBinaryArithmeticFLOAToperation(fmod_float_~x, fmod_float_~y), ~someBinaryArithmeticFLOAToperation(fmod_float_~x, fmod_float_~y)); VAL [ULTIMATE.start_fmod_float_~hx~0=2139095040, ULTIMATE.start_fmod_float_~hy~0=0, ULTIMATE.start_fmod_float_~sx~0=8879, ULTIMATE.start_fmod_float_~x=2.0, ULTIMATE.start_fmod_float_~y=8.0, ULTIMATE.start_main_~x~0=2.0, ULTIMATE.start_main_~y~0=8.0, |#NULL.base|=0, |#NULL.offset|=0, |ULTIMATE.start_fmod_float_#in~x|=2.0, |ULTIMATE.start_fmod_float_#in~y|=8.0, |~#Zero_fmod~0.base|=2, |~#Zero_fmod~0.offset|=0, ~one_fmod~0=1.0] [?] main_#t~ret13 := fmod_float_#res;main_~res~0 := main_#t~ret13;havoc main_#t~ret13;isnan_float_#in~x := main_~res~0;havoc isnan_float_#res;havoc isnan_float_~x;isnan_float_~x := isnan_float_#in~x;isnan_float_#res := (if ~someBinaryFLOATComparisonOperation(isnan_float_~x, isnan_float_~x) then 1 else 0);main_#t~ret14 := isnan_float_#res;assume -2147483648 <= main_#t~ret14 && main_#t~ret14 <= 2147483647; VAL [ULTIMATE.start_fmod_float_~hx~0=2139095040, ULTIMATE.start_fmod_float_~hy~0=0, ULTIMATE.start_fmod_float_~sx~0=8879, ULTIMATE.start_fmod_float_~x=2.0, ULTIMATE.start_fmod_float_~y=8.0, ULTIMATE.start_isnan_float_~x=9.0, ULTIMATE.start_main_~res~0=9.0, ULTIMATE.start_main_~x~0=2.0, ULTIMATE.start_main_~y~0=8.0, |#NULL.base|=0, |#NULL.offset|=0, |ULTIMATE.start_fmod_float_#in~x|=2.0, |ULTIMATE.start_fmod_float_#in~y|=8.0, |ULTIMATE.start_fmod_float_#res|=9.0, |ULTIMATE.start_isnan_float_#in~x|=9.0, |ULTIMATE.start_isnan_float_#res|=0, |ULTIMATE.start_main_#t~ret14|=0, |~#Zero_fmod~0.base|=2, |~#Zero_fmod~0.offset|=0, ~one_fmod~0=1.0] [?] assume 0 == main_#t~ret14;havoc main_#t~ret14; VAL [ULTIMATE.start_fmod_float_~hx~0=2139095040, ULTIMATE.start_fmod_float_~hy~0=0, ULTIMATE.start_fmod_float_~sx~0=8879, ULTIMATE.start_fmod_float_~x=2.0, ULTIMATE.start_fmod_float_~y=8.0, ULTIMATE.start_isnan_float_~x=9.0, ULTIMATE.start_main_~res~0=9.0, ULTIMATE.start_main_~x~0=2.0, ULTIMATE.start_main_~y~0=8.0, |#NULL.base|=0, |#NULL.offset|=0, |ULTIMATE.start_fmod_float_#in~x|=2.0, |ULTIMATE.start_fmod_float_#in~y|=8.0, |ULTIMATE.start_fmod_float_#res|=9.0, |ULTIMATE.start_isnan_float_#in~x|=9.0, |ULTIMATE.start_isnan_float_#res|=0, |~#Zero_fmod~0.base|=2, |~#Zero_fmod~0.offset|=0, ~one_fmod~0=1.0] [?] assume !false; VAL [ULTIMATE.start_fmod_float_~hx~0=2139095040, ULTIMATE.start_fmod_float_~hy~0=0, ULTIMATE.start_fmod_float_~sx~0=8879, ULTIMATE.start_fmod_float_~x=2.0, ULTIMATE.start_fmod_float_~y=8.0, ULTIMATE.start_isnan_float_~x=9.0, ULTIMATE.start_main_~res~0=9.0, ULTIMATE.start_main_~x~0=2.0, ULTIMATE.start_main_~y~0=8.0, |#NULL.base|=0, |#NULL.offset|=0, |ULTIMATE.start_fmod_float_#in~x|=2.0, |ULTIMATE.start_fmod_float_#in~y|=8.0, |ULTIMATE.start_fmod_float_#res|=9.0, |ULTIMATE.start_isnan_float_#in~x|=9.0, |ULTIMATE.start_isnan_float_#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]; [L12-L15] ~one_fmod~0 := 1.0; [L12-L15] call ~#Zero_fmod~0.base, ~#Zero_fmod~0.offset := #Ultimate.alloc(8); [L12-L15] call write~init~real(0.0, ~#Zero_fmod~0.base, ~#Zero_fmod~0.offset, 4); [L12-L15] call write~init~real(~someUnaryDOUBLEoperation(0.0), ~#Zero_fmod~0.base, 4 + ~#Zero_fmod~0.offset, 4); [?] havoc main_#res; [?] havoc main_#t~nondet12, main_#t~ret13, main_#t~ret14, main_~x~0, main_~y~0, main_~res~0; [L116] main_~x~0 := main_#t~nondet12; [L116] havoc main_#t~nondet12; [L117] main_~y~0 := ~someUnaryFLOAToperation(0.0); [L118] fmod_float_#in~x, fmod_float_#in~y := main_~x~0, main_~y~0; [L118] havoc fmod_float_#res; [L118] havoc fmod_float_#t~mem0, fmod_float_#t~union1, fmod_float_~#gf_u~0.base, fmod_float_~#gf_u~0.offset, fmod_float_#t~mem2, fmod_float_#t~union3, fmod_float_~#gf_u~1.base, fmod_float_~#gf_u~1.offset, fmod_float_#t~mem4, fmod_float_#t~mem6, fmod_float_#t~post5, fmod_float_#t~mem7, fmod_float_#t~mem8, fmod_float_#t~union9, fmod_float_~#sf_u~0.base, fmod_float_~#sf_u~0.offset, fmod_float_#t~mem10, fmod_float_#t~union11, fmod_float_~#sf_u~1.base, fmod_float_~#sf_u~1.offset, fmod_float_~x, fmod_float_~y, fmod_float_~n~0, fmod_float_~hx~0, fmod_float_~hy~0, fmod_float_~hz~0, fmod_float_~ix~0, fmod_float_~iy~0, fmod_float_~sx~0, fmod_float_~i~0; [L17-L105] fmod_float_~x := fmod_float_#in~x; [L17-L105] fmod_float_~y := fmod_float_#in~y; [L18] havoc fmod_float_~n~0; [L18] havoc fmod_float_~hx~0; [L18] havoc fmod_float_~hy~0; [L18] havoc fmod_float_~hz~0; [L18] havoc fmod_float_~ix~0; [L18] havoc fmod_float_~iy~0; [L18] havoc fmod_float_~sx~0; [L18] havoc fmod_float_~i~0; VAL [#NULL.base=0, #NULL.offset=0, fmod_float_#in~x=2.0, fmod_float_#in~y=8.0, fmod_float_~x=2.0, fmod_float_~y=8.0, main_~x~0=2.0, main_~y~0=8.0, ~#Zero_fmod~0.base=2, ~#Zero_fmod~0.offset=0, ~one_fmod~0=1.0] [L21] call fmod_float_~#gf_u~0.base, fmod_float_~#gf_u~0.offset := #Ultimate.alloc(4); [L22] call write~real(fmod_float_~x, fmod_float_~#gf_u~0.base, fmod_float_~#gf_u~0.offset, 4); [L23] call fmod_float_#t~mem0 := read~int(fmod_float_~#gf_u~0.base, fmod_float_~#gf_u~0.offset, 4); [L23] fmod_float_~hx~0 := (if fmod_float_#t~mem0 % 4294967296 % 4294967296 <= 2147483647 then fmod_float_#t~mem0 % 4294967296 % 4294967296 else fmod_float_#t~mem0 % 4294967296 % 4294967296 - 4294967296); [L23] call write~real(fmod_float_#t~union1, fmod_float_~#gf_u~0.base, fmod_float_~#gf_u~0.offset, 4); [L23] havoc fmod_float_#t~mem0; [L23] havoc fmod_float_#t~union1; [L21] call ULTIMATE.dealloc(fmod_float_~#gf_u~0.base, fmod_float_~#gf_u~0.offset); [L21] havoc fmod_float_~#gf_u~0.base, fmod_float_~#gf_u~0.offset; VAL [#NULL.base=0, #NULL.offset=0, fmod_float_#in~x=2.0, fmod_float_#in~y=8.0, fmod_float_~hx~0=0, fmod_float_~x=2.0, fmod_float_~y=8.0, main_~x~0=2.0, main_~y~0=8.0, ~#Zero_fmod~0.base=2, ~#Zero_fmod~0.offset=0, ~one_fmod~0=1.0] [L26] call fmod_float_~#gf_u~1.base, fmod_float_~#gf_u~1.offset := #Ultimate.alloc(4); [L27] call write~real(fmod_float_~y, fmod_float_~#gf_u~1.base, fmod_float_~#gf_u~1.offset, 4); [L28] call fmod_float_#t~mem2 := read~int(fmod_float_~#gf_u~1.base, fmod_float_~#gf_u~1.offset, 4); [L28] fmod_float_~hy~0 := (if fmod_float_#t~mem2 % 4294967296 % 4294967296 <= 2147483647 then fmod_float_#t~mem2 % 4294967296 % 4294967296 else fmod_float_#t~mem2 % 4294967296 % 4294967296 - 4294967296); [L28] call write~real(fmod_float_#t~union3, fmod_float_~#gf_u~1.base, fmod_float_~#gf_u~1.offset, 4); [L28] havoc fmod_float_#t~mem2; [L28] havoc fmod_float_#t~union3; [L26] call ULTIMATE.dealloc(fmod_float_~#gf_u~1.base, fmod_float_~#gf_u~1.offset); [L26] havoc fmod_float_~#gf_u~1.base, fmod_float_~#gf_u~1.offset; VAL [#NULL.base=0, #NULL.offset=0, fmod_float_#in~x=2.0, fmod_float_#in~y=8.0, fmod_float_~hx~0=0, fmod_float_~hy~0=0, fmod_float_~x=2.0, fmod_float_~y=8.0, main_~x~0=2.0, main_~y~0=8.0, ~#Zero_fmod~0.base=2, ~#Zero_fmod~0.offset=0, ~one_fmod~0=1.0] [L30] fmod_float_~sx~0 := (if ~bitwiseAnd(fmod_float_~hx~0, 2147483648) % 4294967296 % 4294967296 <= 2147483647 then ~bitwiseAnd(fmod_float_~hx~0, 2147483648) % 4294967296 % 4294967296 else ~bitwiseAnd(fmod_float_~hx~0, 2147483648) % 4294967296 % 4294967296 - 4294967296); [L31] fmod_float_~hx~0 := ~bitwiseXor(fmod_float_~hx~0, fmod_float_~sx~0); [L32] fmod_float_~hy~0 := ~bitwiseAnd(fmod_float_~hy~0, 2147483647); VAL [#NULL.base=0, #NULL.offset=0, fmod_float_#in~x=2.0, fmod_float_#in~y=8.0, fmod_float_~sx~0=8879, fmod_float_~x=2.0, fmod_float_~y=8.0, main_~x~0=2.0, main_~y~0=8.0, ~#Zero_fmod~0.base=2, ~#Zero_fmod~0.offset=0, ~one_fmod~0=1.0] [L34-L35] assume (0 == fmod_float_~hy~0 || !(fmod_float_~hx~0 < 2139095040)) || fmod_float_~hy~0 > 2139095040; [L35] fmod_float_#res := ~someBinaryArithmeticFLOAToperation(~someBinaryArithmeticFLOAToperation(fmod_float_~x, fmod_float_~y), ~someBinaryArithmeticFLOAToperation(fmod_float_~x, fmod_float_~y)); VAL [#NULL.base=0, #NULL.offset=0, fmod_float_#in~x=2.0, fmod_float_#in~y=8.0, fmod_float_~hx~0=2139095040, fmod_float_~hy~0=0, fmod_float_~sx~0=8879, fmod_float_~x=2.0, fmod_float_~y=8.0, main_~x~0=2.0, main_~y~0=8.0, ~#Zero_fmod~0.base=2, ~#Zero_fmod~0.offset=0, ~one_fmod~0=1.0] [L118] main_#t~ret13 := fmod_float_#res; [L118] main_~res~0 := main_#t~ret13; [L118] havoc main_#t~ret13; [L121] isnan_float_#in~x := main_~res~0; [L121] havoc isnan_float_#res; [L121] havoc isnan_float_~x; [L108] isnan_float_~x := isnan_float_#in~x; [L108] isnan_float_#res := (if ~someBinaryFLOATComparisonOperation(isnan_float_~x, isnan_float_~x) then 1 else 0); [L121] main_#t~ret14 := isnan_float_#res; [L121] assume -2147483648 <= main_#t~ret14 && main_#t~ret14 <= 2147483647; VAL [#NULL.base=0, #NULL.offset=0, fmod_float_#in~x=2.0, fmod_float_#in~y=8.0, fmod_float_#res=9.0, fmod_float_~hx~0=2139095040, fmod_float_~hy~0=0, fmod_float_~sx~0=8879, fmod_float_~x=2.0, fmod_float_~y=8.0, isnan_float_#in~x=9.0, isnan_float_#res=0, isnan_float_~x=9.0, main_#t~ret14=0, main_~res~0=9.0, main_~x~0=2.0, main_~y~0=8.0, ~#Zero_fmod~0.base=2, ~#Zero_fmod~0.offset=0, ~one_fmod~0=1.0] [L121-L124] assume 0 == main_#t~ret14; [L121] havoc main_#t~ret14; VAL [#NULL.base=0, #NULL.offset=0, fmod_float_#in~x=2.0, fmod_float_#in~y=8.0, fmod_float_#res=9.0, fmod_float_~hx~0=2139095040, fmod_float_~hy~0=0, fmod_float_~sx~0=8879, fmod_float_~x=2.0, fmod_float_~y=8.0, isnan_float_#in~x=9.0, isnan_float_#res=0, isnan_float_~x=9.0, main_~res~0=9.0, main_~x~0=2.0, main_~y~0=8.0, ~#Zero_fmod~0.base=2, ~#Zero_fmod~0.offset=0, ~one_fmod~0=1.0] [L122] assert false; VAL [#NULL.base=0, #NULL.offset=0, fmod_float_#in~x=2.0, fmod_float_#in~y=8.0, fmod_float_#res=9.0, fmod_float_~hx~0=2139095040, fmod_float_~hy~0=0, fmod_float_~sx~0=8879, fmod_float_~x=2.0, fmod_float_~y=8.0, isnan_float_#in~x=9.0, isnan_float_#res=0, isnan_float_~x=9.0, main_~res~0=9.0, main_~x~0=2.0, main_~y~0=8.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]; [L12-L15] ~one_fmod~0 := 1.0; [L12-L15] call ~#Zero_fmod~0.base, ~#Zero_fmod~0.offset := #Ultimate.alloc(8); [L12-L15] call write~init~real(0.0, ~#Zero_fmod~0.base, ~#Zero_fmod~0.offset, 4); [L12-L15] call write~init~real(~someUnaryDOUBLEoperation(0.0), ~#Zero_fmod~0.base, 4 + ~#Zero_fmod~0.offset, 4); [?] havoc main_#res; [?] havoc main_#t~nondet12, main_#t~ret13, main_#t~ret14, main_~x~0, main_~y~0, main_~res~0; [L116] main_~x~0 := main_#t~nondet12; [L116] havoc main_#t~nondet12; [L117] main_~y~0 := ~someUnaryFLOAToperation(0.0); [L118] fmod_float_#in~x, fmod_float_#in~y := main_~x~0, main_~y~0; [L118] havoc fmod_float_#res; [L118] havoc fmod_float_#t~mem0, fmod_float_#t~union1, fmod_float_~#gf_u~0.base, fmod_float_~#gf_u~0.offset, fmod_float_#t~mem2, fmod_float_#t~union3, fmod_float_~#gf_u~1.base, fmod_float_~#gf_u~1.offset, fmod_float_#t~mem4, fmod_float_#t~mem6, fmod_float_#t~post5, fmod_float_#t~mem7, fmod_float_#t~mem8, fmod_float_#t~union9, fmod_float_~#sf_u~0.base, fmod_float_~#sf_u~0.offset, fmod_float_#t~mem10, fmod_float_#t~union11, fmod_float_~#sf_u~1.base, fmod_float_~#sf_u~1.offset, fmod_float_~x, fmod_float_~y, fmod_float_~n~0, fmod_float_~hx~0, fmod_float_~hy~0, fmod_float_~hz~0, fmod_float_~ix~0, fmod_float_~iy~0, fmod_float_~sx~0, fmod_float_~i~0; [L17-L105] fmod_float_~x := fmod_float_#in~x; [L17-L105] fmod_float_~y := fmod_float_#in~y; [L18] havoc fmod_float_~n~0; [L18] havoc fmod_float_~hx~0; [L18] havoc fmod_float_~hy~0; [L18] havoc fmod_float_~hz~0; [L18] havoc fmod_float_~ix~0; [L18] havoc fmod_float_~iy~0; [L18] havoc fmod_float_~sx~0; [L18] havoc fmod_float_~i~0; VAL [#NULL.base=0, #NULL.offset=0, fmod_float_#in~x=2.0, fmod_float_#in~y=8.0, fmod_float_~x=2.0, fmod_float_~y=8.0, main_~x~0=2.0, main_~y~0=8.0, ~#Zero_fmod~0.base=2, ~#Zero_fmod~0.offset=0, ~one_fmod~0=1.0] [L21] call fmod_float_~#gf_u~0.base, fmod_float_~#gf_u~0.offset := #Ultimate.alloc(4); [L22] call write~real(fmod_float_~x, fmod_float_~#gf_u~0.base, fmod_float_~#gf_u~0.offset, 4); [L23] call fmod_float_#t~mem0 := read~int(fmod_float_~#gf_u~0.base, fmod_float_~#gf_u~0.offset, 4); [L23] fmod_float_~hx~0 := (if fmod_float_#t~mem0 % 4294967296 % 4294967296 <= 2147483647 then fmod_float_#t~mem0 % 4294967296 % 4294967296 else fmod_float_#t~mem0 % 4294967296 % 4294967296 - 4294967296); [L23] call write~real(fmod_float_#t~union1, fmod_float_~#gf_u~0.base, fmod_float_~#gf_u~0.offset, 4); [L23] havoc fmod_float_#t~mem0; [L23] havoc fmod_float_#t~union1; [L21] call ULTIMATE.dealloc(fmod_float_~#gf_u~0.base, fmod_float_~#gf_u~0.offset); [L21] havoc fmod_float_~#gf_u~0.base, fmod_float_~#gf_u~0.offset; VAL [#NULL.base=0, #NULL.offset=0, fmod_float_#in~x=2.0, fmod_float_#in~y=8.0, fmod_float_~hx~0=0, fmod_float_~x=2.0, fmod_float_~y=8.0, main_~x~0=2.0, main_~y~0=8.0, ~#Zero_fmod~0.base=2, ~#Zero_fmod~0.offset=0, ~one_fmod~0=1.0] [L26] call fmod_float_~#gf_u~1.base, fmod_float_~#gf_u~1.offset := #Ultimate.alloc(4); [L27] call write~real(fmod_float_~y, fmod_float_~#gf_u~1.base, fmod_float_~#gf_u~1.offset, 4); [L28] call fmod_float_#t~mem2 := read~int(fmod_float_~#gf_u~1.base, fmod_float_~#gf_u~1.offset, 4); [L28] fmod_float_~hy~0 := (if fmod_float_#t~mem2 % 4294967296 % 4294967296 <= 2147483647 then fmod_float_#t~mem2 % 4294967296 % 4294967296 else fmod_float_#t~mem2 % 4294967296 % 4294967296 - 4294967296); [L28] call write~real(fmod_float_#t~union3, fmod_float_~#gf_u~1.base, fmod_float_~#gf_u~1.offset, 4); [L28] havoc fmod_float_#t~mem2; [L28] havoc fmod_float_#t~union3; [L26] call ULTIMATE.dealloc(fmod_float_~#gf_u~1.base, fmod_float_~#gf_u~1.offset); [L26] havoc fmod_float_~#gf_u~1.base, fmod_float_~#gf_u~1.offset; VAL [#NULL.base=0, #NULL.offset=0, fmod_float_#in~x=2.0, fmod_float_#in~y=8.0, fmod_float_~hx~0=0, fmod_float_~hy~0=0, fmod_float_~x=2.0, fmod_float_~y=8.0, main_~x~0=2.0, main_~y~0=8.0, ~#Zero_fmod~0.base=2, ~#Zero_fmod~0.offset=0, ~one_fmod~0=1.0] [L30] fmod_float_~sx~0 := (if ~bitwiseAnd(fmod_float_~hx~0, 2147483648) % 4294967296 % 4294967296 <= 2147483647 then ~bitwiseAnd(fmod_float_~hx~0, 2147483648) % 4294967296 % 4294967296 else ~bitwiseAnd(fmod_float_~hx~0, 2147483648) % 4294967296 % 4294967296 - 4294967296); [L31] fmod_float_~hx~0 := ~bitwiseXor(fmod_float_~hx~0, fmod_float_~sx~0); [L32] fmod_float_~hy~0 := ~bitwiseAnd(fmod_float_~hy~0, 2147483647); VAL [#NULL.base=0, #NULL.offset=0, fmod_float_#in~x=2.0, fmod_float_#in~y=8.0, fmod_float_~sx~0=8879, fmod_float_~x=2.0, fmod_float_~y=8.0, main_~x~0=2.0, main_~y~0=8.0, ~#Zero_fmod~0.base=2, ~#Zero_fmod~0.offset=0, ~one_fmod~0=1.0] [L34-L35] assume (0 == fmod_float_~hy~0 || !(fmod_float_~hx~0 < 2139095040)) || fmod_float_~hy~0 > 2139095040; [L35] fmod_float_#res := ~someBinaryArithmeticFLOAToperation(~someBinaryArithmeticFLOAToperation(fmod_float_~x, fmod_float_~y), ~someBinaryArithmeticFLOAToperation(fmod_float_~x, fmod_float_~y)); VAL [#NULL.base=0, #NULL.offset=0, fmod_float_#in~x=2.0, fmod_float_#in~y=8.0, fmod_float_~hx~0=2139095040, fmod_float_~hy~0=0, fmod_float_~sx~0=8879, fmod_float_~x=2.0, fmod_float_~y=8.0, main_~x~0=2.0, main_~y~0=8.0, ~#Zero_fmod~0.base=2, ~#Zero_fmod~0.offset=0, ~one_fmod~0=1.0] [L118] main_#t~ret13 := fmod_float_#res; [L118] main_~res~0 := main_#t~ret13; [L118] havoc main_#t~ret13; [L121] isnan_float_#in~x := main_~res~0; [L121] havoc isnan_float_#res; [L121] havoc isnan_float_~x; [L108] isnan_float_~x := isnan_float_#in~x; [L108] isnan_float_#res := (if ~someBinaryFLOATComparisonOperation(isnan_float_~x, isnan_float_~x) then 1 else 0); [L121] main_#t~ret14 := isnan_float_#res; [L121] assume -2147483648 <= main_#t~ret14 && main_#t~ret14 <= 2147483647; VAL [#NULL.base=0, #NULL.offset=0, fmod_float_#in~x=2.0, fmod_float_#in~y=8.0, fmod_float_#res=9.0, fmod_float_~hx~0=2139095040, fmod_float_~hy~0=0, fmod_float_~sx~0=8879, fmod_float_~x=2.0, fmod_float_~y=8.0, isnan_float_#in~x=9.0, isnan_float_#res=0, isnan_float_~x=9.0, main_#t~ret14=0, main_~res~0=9.0, main_~x~0=2.0, main_~y~0=8.0, ~#Zero_fmod~0.base=2, ~#Zero_fmod~0.offset=0, ~one_fmod~0=1.0] [L121-L124] assume 0 == main_#t~ret14; [L121] havoc main_#t~ret14; VAL [#NULL.base=0, #NULL.offset=0, fmod_float_#in~x=2.0, fmod_float_#in~y=8.0, fmod_float_#res=9.0, fmod_float_~hx~0=2139095040, fmod_float_~hy~0=0, fmod_float_~sx~0=8879, fmod_float_~x=2.0, fmod_float_~y=8.0, isnan_float_#in~x=9.0, isnan_float_#res=0, isnan_float_~x=9.0, main_~res~0=9.0, main_~x~0=2.0, main_~y~0=8.0, ~#Zero_fmod~0.base=2, ~#Zero_fmod~0.offset=0, ~one_fmod~0=1.0] [L122] assert false; VAL [#NULL.base=0, #NULL.offset=0, fmod_float_#in~x=2.0, fmod_float_#in~y=8.0, fmod_float_#res=9.0, fmod_float_~hx~0=2139095040, fmod_float_~hy~0=0, fmod_float_~sx~0=8879, fmod_float_~x=2.0, fmod_float_~y=8.0, isnan_float_#in~x=9.0, isnan_float_#res=0, isnan_float_~x=9.0, main_~res~0=9.0, main_~x~0=2.0, main_~y~0=8.0, ~#Zero_fmod~0.base=2, ~#Zero_fmod~0.offset=0, ~one_fmod~0=1.0] [?] #NULL := { base: 0, offset: 0 }; [?] #valid[0] := 0; [L12-L15] ~one_fmod~0 := 1.0; [L12-L15] FCALL call ~#Zero_fmod~0 := #Ultimate.alloc(8); [L12-L15] FCALL call write~init~real(0.0, { base: ~#Zero_fmod~0!base, offset: ~#Zero_fmod~0!offset }, 4); [L12-L15] FCALL call write~init~real(~someUnaryDOUBLEoperation(0.0), { base: ~#Zero_fmod~0!base, offset: 4 + ~#Zero_fmod~0!offset }, 4); [?] havoc main_#res; [?] havoc main_#t~nondet12, main_#t~ret13, main_#t~ret14, main_~x~0, main_~y~0, main_~res~0; [L116] main_~x~0 := main_#t~nondet12; [L116] havoc main_#t~nondet12; [L117] main_~y~0 := ~someUnaryFLOAToperation(0.0); [L118] fmod_float_#in~x, fmod_float_#in~y := main_~x~0, main_~y~0; [L118] havoc fmod_float_#res; [L118] havoc fmod_float_#t~mem0, fmod_float_#t~union1, fmod_float_~#gf_u~0, fmod_float_#t~mem2, fmod_float_#t~union3, fmod_float_~#gf_u~1, fmod_float_#t~mem4, fmod_float_#t~mem6, fmod_float_#t~post5, fmod_float_#t~mem7, fmod_float_#t~mem8, fmod_float_#t~union9, fmod_float_~#sf_u~0, fmod_float_#t~mem10, fmod_float_#t~union11, fmod_float_~#sf_u~1, fmod_float_~x, fmod_float_~y, fmod_float_~n~0, fmod_float_~hx~0, fmod_float_~hy~0, fmod_float_~hz~0, fmod_float_~ix~0, fmod_float_~iy~0, fmod_float_~sx~0, fmod_float_~i~0; [L17-L105] fmod_float_~x := fmod_float_#in~x; [L17-L105] fmod_float_~y := fmod_float_#in~y; [L18] havoc fmod_float_~n~0; [L18] havoc fmod_float_~hx~0; [L18] havoc fmod_float_~hy~0; [L18] havoc fmod_float_~hz~0; [L18] havoc fmod_float_~ix~0; [L18] havoc fmod_float_~iy~0; [L18] havoc fmod_float_~sx~0; [L18] havoc fmod_float_~i~0; VAL [#NULL!base=0, #NULL!offset=0, fmod_float_#in~x=2.0, fmod_float_#in~y=8.0, fmod_float_~x=2.0, fmod_float_~y=8.0, main_~x~0=2.0, main_~y~0=8.0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L21] FCALL call fmod_float_~#gf_u~0 := #Ultimate.alloc(4); [L22] FCALL call write~real(fmod_float_~x, { base: fmod_float_~#gf_u~0!base, offset: fmod_float_~#gf_u~0!offset }, 4); [L23] FCALL call fmod_float_#t~mem0 := read~int({ base: fmod_float_~#gf_u~0!base, offset: fmod_float_~#gf_u~0!offset }, 4); [L23] fmod_float_~hx~0 := (if fmod_float_#t~mem0 % 4294967296 % 4294967296 <= 2147483647 then fmod_float_#t~mem0 % 4294967296 % 4294967296 else fmod_float_#t~mem0 % 4294967296 % 4294967296 - 4294967296); [L23] FCALL call write~real(fmod_float_#t~union1, { base: fmod_float_~#gf_u~0!base, offset: fmod_float_~#gf_u~0!offset }, 4); [L23] havoc fmod_float_#t~mem0; [L23] havoc fmod_float_#t~union1; [L21] FCALL call ULTIMATE.dealloc(fmod_float_~#gf_u~0); [L21] havoc fmod_float_~#gf_u~0; VAL [#NULL!base=0, #NULL!offset=0, fmod_float_#in~x=2.0, fmod_float_#in~y=8.0, fmod_float_~hx~0=0, fmod_float_~x=2.0, fmod_float_~y=8.0, main_~x~0=2.0, main_~y~0=8.0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L26] FCALL call fmod_float_~#gf_u~1 := #Ultimate.alloc(4); [L27] FCALL call write~real(fmod_float_~y, { base: fmod_float_~#gf_u~1!base, offset: fmod_float_~#gf_u~1!offset }, 4); [L28] FCALL call fmod_float_#t~mem2 := read~int({ base: fmod_float_~#gf_u~1!base, offset: fmod_float_~#gf_u~1!offset }, 4); [L28] fmod_float_~hy~0 := (if fmod_float_#t~mem2 % 4294967296 % 4294967296 <= 2147483647 then fmod_float_#t~mem2 % 4294967296 % 4294967296 else fmod_float_#t~mem2 % 4294967296 % 4294967296 - 4294967296); [L28] FCALL call write~real(fmod_float_#t~union3, { base: fmod_float_~#gf_u~1!base, offset: fmod_float_~#gf_u~1!offset }, 4); [L28] havoc fmod_float_#t~mem2; [L28] havoc fmod_float_#t~union3; [L26] FCALL call ULTIMATE.dealloc(fmod_float_~#gf_u~1); [L26] havoc fmod_float_~#gf_u~1; VAL [#NULL!base=0, #NULL!offset=0, fmod_float_#in~x=2.0, fmod_float_#in~y=8.0, fmod_float_~hx~0=0, fmod_float_~hy~0=0, fmod_float_~x=2.0, fmod_float_~y=8.0, main_~x~0=2.0, main_~y~0=8.0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L30] fmod_float_~sx~0 := (if ~bitwiseAnd(fmod_float_~hx~0, 2147483648) % 4294967296 % 4294967296 <= 2147483647 then ~bitwiseAnd(fmod_float_~hx~0, 2147483648) % 4294967296 % 4294967296 else ~bitwiseAnd(fmod_float_~hx~0, 2147483648) % 4294967296 % 4294967296 - 4294967296); [L31] fmod_float_~hx~0 := ~bitwiseXor(fmod_float_~hx~0, fmod_float_~sx~0); [L32] fmod_float_~hy~0 := ~bitwiseAnd(fmod_float_~hy~0, 2147483647); VAL [#NULL!base=0, #NULL!offset=0, fmod_float_#in~x=2.0, fmod_float_#in~y=8.0, fmod_float_~sx~0=8879, fmod_float_~x=2.0, fmod_float_~y=8.0, main_~x~0=2.0, main_~y~0=8.0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L34] COND TRUE (0 == fmod_float_~hy~0 || !(fmod_float_~hx~0 < 2139095040)) || fmod_float_~hy~0 > 2139095040 [L35] fmod_float_#res := ~someBinaryArithmeticFLOAToperation(~someBinaryArithmeticFLOAToperation(fmod_float_~x, fmod_float_~y), ~someBinaryArithmeticFLOAToperation(fmod_float_~x, fmod_float_~y)); VAL [#NULL!base=0, #NULL!offset=0, fmod_float_#in~x=2.0, fmod_float_#in~y=8.0, fmod_float_~hx~0=2139095040, fmod_float_~hy~0=0, fmod_float_~sx~0=8879, fmod_float_~x=2.0, fmod_float_~y=8.0, main_~x~0=2.0, main_~y~0=8.0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L118] main_#t~ret13 := fmod_float_#res; [L118] main_~res~0 := main_#t~ret13; [L118] havoc main_#t~ret13; [L121] isnan_float_#in~x := main_~res~0; [L121] havoc isnan_float_#res; [L121] havoc isnan_float_~x; [L108] isnan_float_~x := isnan_float_#in~x; [L108] isnan_float_#res := (if ~someBinaryFLOATComparisonOperation(isnan_float_~x, isnan_float_~x) then 1 else 0); [L121] main_#t~ret14 := isnan_float_#res; [L121] assume -2147483648 <= main_#t~ret14 && main_#t~ret14 <= 2147483647; VAL [#NULL!base=0, #NULL!offset=0, fmod_float_#in~x=2.0, fmod_float_#in~y=8.0, fmod_float_#res=9.0, fmod_float_~hx~0=2139095040, fmod_float_~hy~0=0, fmod_float_~sx~0=8879, fmod_float_~x=2.0, fmod_float_~y=8.0, isnan_float_#in~x=9.0, isnan_float_#res=0, isnan_float_~x=9.0, main_#t~ret14=0, main_~res~0=9.0, main_~x~0=2.0, main_~y~0=8.0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L121] COND TRUE 0 == main_#t~ret14 [L121] havoc main_#t~ret14; VAL [#NULL!base=0, #NULL!offset=0, fmod_float_#in~x=2.0, fmod_float_#in~y=8.0, fmod_float_#res=9.0, fmod_float_~hx~0=2139095040, fmod_float_~hy~0=0, fmod_float_~sx~0=8879, fmod_float_~x=2.0, fmod_float_~y=8.0, isnan_float_#in~x=9.0, isnan_float_#res=0, isnan_float_~x=9.0, main_~res~0=9.0, main_~x~0=2.0, main_~y~0=8.0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L122] assert false; VAL [#NULL!base=0, #NULL!offset=0, fmod_float_#in~x=2.0, fmod_float_#in~y=8.0, fmod_float_#res=9.0, fmod_float_~hx~0=2139095040, fmod_float_~hy~0=0, fmod_float_~sx~0=8879, fmod_float_~x=2.0, fmod_float_~y=8.0, isnan_float_#in~x=9.0, isnan_float_#res=0, isnan_float_~x=9.0, main_~res~0=9.0, main_~x~0=2.0, main_~y~0=8.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; [L12-L15] ~one_fmod~0 := 1.0; [L12-L15] FCALL call ~#Zero_fmod~0 := #Ultimate.alloc(8); [L12-L15] FCALL call write~init~real(0.0, { base: ~#Zero_fmod~0!base, offset: ~#Zero_fmod~0!offset }, 4); [L12-L15] FCALL call write~init~real(~someUnaryDOUBLEoperation(0.0), { base: ~#Zero_fmod~0!base, offset: 4 + ~#Zero_fmod~0!offset }, 4); [?] havoc main_#res; [?] havoc main_#t~nondet12, main_#t~ret13, main_#t~ret14, main_~x~0, main_~y~0, main_~res~0; [L116] main_~x~0 := main_#t~nondet12; [L116] havoc main_#t~nondet12; [L117] main_~y~0 := ~someUnaryFLOAToperation(0.0); [L118] fmod_float_#in~x, fmod_float_#in~y := main_~x~0, main_~y~0; [L118] havoc fmod_float_#res; [L118] havoc fmod_float_#t~mem0, fmod_float_#t~union1, fmod_float_~#gf_u~0, fmod_float_#t~mem2, fmod_float_#t~union3, fmod_float_~#gf_u~1, fmod_float_#t~mem4, fmod_float_#t~mem6, fmod_float_#t~post5, fmod_float_#t~mem7, fmod_float_#t~mem8, fmod_float_#t~union9, fmod_float_~#sf_u~0, fmod_float_#t~mem10, fmod_float_#t~union11, fmod_float_~#sf_u~1, fmod_float_~x, fmod_float_~y, fmod_float_~n~0, fmod_float_~hx~0, fmod_float_~hy~0, fmod_float_~hz~0, fmod_float_~ix~0, fmod_float_~iy~0, fmod_float_~sx~0, fmod_float_~i~0; [L17-L105] fmod_float_~x := fmod_float_#in~x; [L17-L105] fmod_float_~y := fmod_float_#in~y; [L18] havoc fmod_float_~n~0; [L18] havoc fmod_float_~hx~0; [L18] havoc fmod_float_~hy~0; [L18] havoc fmod_float_~hz~0; [L18] havoc fmod_float_~ix~0; [L18] havoc fmod_float_~iy~0; [L18] havoc fmod_float_~sx~0; [L18] havoc fmod_float_~i~0; VAL [#NULL!base=0, #NULL!offset=0, fmod_float_#in~x=2.0, fmod_float_#in~y=8.0, fmod_float_~x=2.0, fmod_float_~y=8.0, main_~x~0=2.0, main_~y~0=8.0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L21] FCALL call fmod_float_~#gf_u~0 := #Ultimate.alloc(4); [L22] FCALL call write~real(fmod_float_~x, { base: fmod_float_~#gf_u~0!base, offset: fmod_float_~#gf_u~0!offset }, 4); [L23] FCALL call fmod_float_#t~mem0 := read~int({ base: fmod_float_~#gf_u~0!base, offset: fmod_float_~#gf_u~0!offset }, 4); [L23] fmod_float_~hx~0 := (if fmod_float_#t~mem0 % 4294967296 % 4294967296 <= 2147483647 then fmod_float_#t~mem0 % 4294967296 % 4294967296 else fmod_float_#t~mem0 % 4294967296 % 4294967296 - 4294967296); [L23] FCALL call write~real(fmod_float_#t~union1, { base: fmod_float_~#gf_u~0!base, offset: fmod_float_~#gf_u~0!offset }, 4); [L23] havoc fmod_float_#t~mem0; [L23] havoc fmod_float_#t~union1; [L21] FCALL call ULTIMATE.dealloc(fmod_float_~#gf_u~0); [L21] havoc fmod_float_~#gf_u~0; VAL [#NULL!base=0, #NULL!offset=0, fmod_float_#in~x=2.0, fmod_float_#in~y=8.0, fmod_float_~hx~0=0, fmod_float_~x=2.0, fmod_float_~y=8.0, main_~x~0=2.0, main_~y~0=8.0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L26] FCALL call fmod_float_~#gf_u~1 := #Ultimate.alloc(4); [L27] FCALL call write~real(fmod_float_~y, { base: fmod_float_~#gf_u~1!base, offset: fmod_float_~#gf_u~1!offset }, 4); [L28] FCALL call fmod_float_#t~mem2 := read~int({ base: fmod_float_~#gf_u~1!base, offset: fmod_float_~#gf_u~1!offset }, 4); [L28] fmod_float_~hy~0 := (if fmod_float_#t~mem2 % 4294967296 % 4294967296 <= 2147483647 then fmod_float_#t~mem2 % 4294967296 % 4294967296 else fmod_float_#t~mem2 % 4294967296 % 4294967296 - 4294967296); [L28] FCALL call write~real(fmod_float_#t~union3, { base: fmod_float_~#gf_u~1!base, offset: fmod_float_~#gf_u~1!offset }, 4); [L28] havoc fmod_float_#t~mem2; [L28] havoc fmod_float_#t~union3; [L26] FCALL call ULTIMATE.dealloc(fmod_float_~#gf_u~1); [L26] havoc fmod_float_~#gf_u~1; VAL [#NULL!base=0, #NULL!offset=0, fmod_float_#in~x=2.0, fmod_float_#in~y=8.0, fmod_float_~hx~0=0, fmod_float_~hy~0=0, fmod_float_~x=2.0, fmod_float_~y=8.0, main_~x~0=2.0, main_~y~0=8.0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L30] fmod_float_~sx~0 := (if ~bitwiseAnd(fmod_float_~hx~0, 2147483648) % 4294967296 % 4294967296 <= 2147483647 then ~bitwiseAnd(fmod_float_~hx~0, 2147483648) % 4294967296 % 4294967296 else ~bitwiseAnd(fmod_float_~hx~0, 2147483648) % 4294967296 % 4294967296 - 4294967296); [L31] fmod_float_~hx~0 := ~bitwiseXor(fmod_float_~hx~0, fmod_float_~sx~0); [L32] fmod_float_~hy~0 := ~bitwiseAnd(fmod_float_~hy~0, 2147483647); VAL [#NULL!base=0, #NULL!offset=0, fmod_float_#in~x=2.0, fmod_float_#in~y=8.0, fmod_float_~sx~0=8879, fmod_float_~x=2.0, fmod_float_~y=8.0, main_~x~0=2.0, main_~y~0=8.0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L34] COND TRUE (0 == fmod_float_~hy~0 || !(fmod_float_~hx~0 < 2139095040)) || fmod_float_~hy~0 > 2139095040 [L35] fmod_float_#res := ~someBinaryArithmeticFLOAToperation(~someBinaryArithmeticFLOAToperation(fmod_float_~x, fmod_float_~y), ~someBinaryArithmeticFLOAToperation(fmod_float_~x, fmod_float_~y)); VAL [#NULL!base=0, #NULL!offset=0, fmod_float_#in~x=2.0, fmod_float_#in~y=8.0, fmod_float_~hx~0=2139095040, fmod_float_~hy~0=0, fmod_float_~sx~0=8879, fmod_float_~x=2.0, fmod_float_~y=8.0, main_~x~0=2.0, main_~y~0=8.0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L118] main_#t~ret13 := fmod_float_#res; [L118] main_~res~0 := main_#t~ret13; [L118] havoc main_#t~ret13; [L121] isnan_float_#in~x := main_~res~0; [L121] havoc isnan_float_#res; [L121] havoc isnan_float_~x; [L108] isnan_float_~x := isnan_float_#in~x; [L108] isnan_float_#res := (if ~someBinaryFLOATComparisonOperation(isnan_float_~x, isnan_float_~x) then 1 else 0); [L121] main_#t~ret14 := isnan_float_#res; [L121] assume -2147483648 <= main_#t~ret14 && main_#t~ret14 <= 2147483647; VAL [#NULL!base=0, #NULL!offset=0, fmod_float_#in~x=2.0, fmod_float_#in~y=8.0, fmod_float_#res=9.0, fmod_float_~hx~0=2139095040, fmod_float_~hy~0=0, fmod_float_~sx~0=8879, fmod_float_~x=2.0, fmod_float_~y=8.0, isnan_float_#in~x=9.0, isnan_float_#res=0, isnan_float_~x=9.0, main_#t~ret14=0, main_~res~0=9.0, main_~x~0=2.0, main_~y~0=8.0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L121] COND TRUE 0 == main_#t~ret14 [L121] havoc main_#t~ret14; VAL [#NULL!base=0, #NULL!offset=0, fmod_float_#in~x=2.0, fmod_float_#in~y=8.0, fmod_float_#res=9.0, fmod_float_~hx~0=2139095040, fmod_float_~hy~0=0, fmod_float_~sx~0=8879, fmod_float_~x=2.0, fmod_float_~y=8.0, isnan_float_#in~x=9.0, isnan_float_#res=0, isnan_float_~x=9.0, main_~res~0=9.0, main_~x~0=2.0, main_~y~0=8.0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L122] assert false; VAL [#NULL!base=0, #NULL!offset=0, fmod_float_#in~x=2.0, fmod_float_#in~y=8.0, fmod_float_#res=9.0, fmod_float_~hx~0=2139095040, fmod_float_~hy~0=0, fmod_float_~sx~0=8879, fmod_float_~x=2.0, fmod_float_~y=8.0, isnan_float_#in~x=9.0, isnan_float_#res=0, isnan_float_~x=9.0, main_~res~0=9.0, main_~x~0=2.0, main_~y~0=8.0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [?] #NULL := { base: 0, offset: 0 }; [?] #valid[0] := 0; [L12-L15] ~one_fmod~0 := 1.0; [L12-L15] FCALL call ~#Zero_fmod~0 := #Ultimate.alloc(8); [L12-L15] FCALL call write~init~real(0.0, { base: ~#Zero_fmod~0!base, offset: ~#Zero_fmod~0!offset }, 4); [L12-L15] FCALL call write~init~real(~someUnaryDOUBLEoperation(0.0), { base: ~#Zero_fmod~0!base, offset: 4 + ~#Zero_fmod~0!offset }, 4); [L116] ~x~0 := #t~nondet12; [L116] havoc #t~nondet12; [L117] ~y~0 := ~someUnaryFLOAToperation(0.0); [L17-L105] ~x := #in~x; [L17-L105] ~y := #in~y; [L18] havoc ~n~0; [L18] havoc ~hx~0; [L18] havoc ~hy~0; [L18] havoc ~hz~0; [L18] havoc ~ix~0; [L18] havoc ~iy~0; [L18] havoc ~sx~0; [L18] havoc ~i~0; VAL [#NULL!base=0, #NULL!offset=0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L21] FCALL call ~#gf_u~0 := #Ultimate.alloc(4); [L22] FCALL call write~real(~x, { base: ~#gf_u~0!base, offset: ~#gf_u~0!offset }, 4); [L23] FCALL call #t~mem0 := read~int({ base: ~#gf_u~0!base, offset: ~#gf_u~0!offset }, 4); [L23] ~hx~0 := (if #t~mem0 % 4294967296 % 4294967296 <= 2147483647 then #t~mem0 % 4294967296 % 4294967296 else #t~mem0 % 4294967296 % 4294967296 - 4294967296); [L23] FCALL call write~real(#t~union1, { base: ~#gf_u~0!base, offset: ~#gf_u~0!offset }, 4); [L23] havoc #t~mem0; [L23] havoc #t~union1; [L21] FCALL call ULTIMATE.dealloc(~#gf_u~0); [L21] havoc ~#gf_u~0; VAL [#NULL!base=0, #NULL!offset=0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L26] FCALL call ~#gf_u~1 := #Ultimate.alloc(4); [L27] FCALL call write~real(~y, { base: ~#gf_u~1!base, offset: ~#gf_u~1!offset }, 4); [L28] FCALL call #t~mem2 := read~int({ base: ~#gf_u~1!base, offset: ~#gf_u~1!offset }, 4); [L28] ~hy~0 := (if #t~mem2 % 4294967296 % 4294967296 <= 2147483647 then #t~mem2 % 4294967296 % 4294967296 else #t~mem2 % 4294967296 % 4294967296 - 4294967296); [L28] FCALL call write~real(#t~union3, { base: ~#gf_u~1!base, offset: ~#gf_u~1!offset }, 4); [L28] havoc #t~mem2; [L28] havoc #t~union3; [L26] FCALL call ULTIMATE.dealloc(~#gf_u~1); [L26] havoc ~#gf_u~1; VAL [#NULL!base=0, #NULL!offset=0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L30] ~sx~0 := (if ~bitwiseAnd(~hx~0, 2147483648) % 4294967296 % 4294967296 <= 2147483647 then ~bitwiseAnd(~hx~0, 2147483648) % 4294967296 % 4294967296 else ~bitwiseAnd(~hx~0, 2147483648) % 4294967296 % 4294967296 - 4294967296); [L31] ~hx~0 := ~bitwiseXor(~hx~0, ~sx~0); [L32] ~hy~0 := ~bitwiseAnd(~hy~0, 2147483647); VAL [#NULL!base=0, #NULL!offset=0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L34] COND TRUE (0 == ~hy~0 || !(~hx~0 < 2139095040)) || ~hy~0 > 2139095040 [L35] #res := ~someBinaryArithmeticFLOAToperation(~someBinaryArithmeticFLOAToperation(~x, ~y), ~someBinaryArithmeticFLOAToperation(~x, ~y)); VAL [#NULL!base=0, #NULL!offset=0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L118] ~res~0 := #t~ret13; [L118] havoc #t~ret13; [L108] ~x := #in~x; [L108] #res := (if ~someBinaryFLOATComparisonOperation(~x, ~x) then 1 else 0); [L121] assume -2147483648 <= #t~ret14 && #t~ret14 <= 2147483647; VAL [#NULL!base=0, #NULL!offset=0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L121] COND TRUE 0 == #t~ret14 [L121] havoc #t~ret14; VAL [#NULL!base=0, #NULL!offset=0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L122] 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; [L12-L15] ~one_fmod~0 := 1.0; [L12-L15] FCALL call ~#Zero_fmod~0 := #Ultimate.alloc(8); [L12-L15] FCALL call write~init~real(0.0, { base: ~#Zero_fmod~0!base, offset: ~#Zero_fmod~0!offset }, 4); [L12-L15] FCALL call write~init~real(~someUnaryDOUBLEoperation(0.0), { base: ~#Zero_fmod~0!base, offset: 4 + ~#Zero_fmod~0!offset }, 4); [L116] ~x~0 := #t~nondet12; [L116] havoc #t~nondet12; [L117] ~y~0 := ~someUnaryFLOAToperation(0.0); [L17-L105] ~x := #in~x; [L17-L105] ~y := #in~y; [L18] havoc ~n~0; [L18] havoc ~hx~0; [L18] havoc ~hy~0; [L18] havoc ~hz~0; [L18] havoc ~ix~0; [L18] havoc ~iy~0; [L18] havoc ~sx~0; [L18] havoc ~i~0; VAL [#NULL!base=0, #NULL!offset=0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L21] FCALL call ~#gf_u~0 := #Ultimate.alloc(4); [L22] FCALL call write~real(~x, { base: ~#gf_u~0!base, offset: ~#gf_u~0!offset }, 4); [L23] FCALL call #t~mem0 := read~int({ base: ~#gf_u~0!base, offset: ~#gf_u~0!offset }, 4); [L23] ~hx~0 := (if #t~mem0 % 4294967296 % 4294967296 <= 2147483647 then #t~mem0 % 4294967296 % 4294967296 else #t~mem0 % 4294967296 % 4294967296 - 4294967296); [L23] FCALL call write~real(#t~union1, { base: ~#gf_u~0!base, offset: ~#gf_u~0!offset }, 4); [L23] havoc #t~mem0; [L23] havoc #t~union1; [L21] FCALL call ULTIMATE.dealloc(~#gf_u~0); [L21] havoc ~#gf_u~0; VAL [#NULL!base=0, #NULL!offset=0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L26] FCALL call ~#gf_u~1 := #Ultimate.alloc(4); [L27] FCALL call write~real(~y, { base: ~#gf_u~1!base, offset: ~#gf_u~1!offset }, 4); [L28] FCALL call #t~mem2 := read~int({ base: ~#gf_u~1!base, offset: ~#gf_u~1!offset }, 4); [L28] ~hy~0 := (if #t~mem2 % 4294967296 % 4294967296 <= 2147483647 then #t~mem2 % 4294967296 % 4294967296 else #t~mem2 % 4294967296 % 4294967296 - 4294967296); [L28] FCALL call write~real(#t~union3, { base: ~#gf_u~1!base, offset: ~#gf_u~1!offset }, 4); [L28] havoc #t~mem2; [L28] havoc #t~union3; [L26] FCALL call ULTIMATE.dealloc(~#gf_u~1); [L26] havoc ~#gf_u~1; VAL [#NULL!base=0, #NULL!offset=0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L30] ~sx~0 := (if ~bitwiseAnd(~hx~0, 2147483648) % 4294967296 % 4294967296 <= 2147483647 then ~bitwiseAnd(~hx~0, 2147483648) % 4294967296 % 4294967296 else ~bitwiseAnd(~hx~0, 2147483648) % 4294967296 % 4294967296 - 4294967296); [L31] ~hx~0 := ~bitwiseXor(~hx~0, ~sx~0); [L32] ~hy~0 := ~bitwiseAnd(~hy~0, 2147483647); VAL [#NULL!base=0, #NULL!offset=0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L34] COND TRUE (0 == ~hy~0 || !(~hx~0 < 2139095040)) || ~hy~0 > 2139095040 [L35] #res := ~someBinaryArithmeticFLOAToperation(~someBinaryArithmeticFLOAToperation(~x, ~y), ~someBinaryArithmeticFLOAToperation(~x, ~y)); VAL [#NULL!base=0, #NULL!offset=0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L118] ~res~0 := #t~ret13; [L118] havoc #t~ret13; [L108] ~x := #in~x; [L108] #res := (if ~someBinaryFLOATComparisonOperation(~x, ~x) then 1 else 0); [L121] assume -2147483648 <= #t~ret14 && #t~ret14 <= 2147483647; VAL [#NULL!base=0, #NULL!offset=0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L121] COND TRUE 0 == #t~ret14 [L121] havoc #t~ret14; VAL [#NULL!base=0, #NULL!offset=0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L122] assert false; VAL [#NULL!base=0, #NULL!offset=0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L12-L15] static const float one_fmod = 1.0, Zero_fmod[] = { 0.0, -0.0, }; [L116] float x = __VERIFIER_nondet_float(); [L117] float y = -0.0f; [L18] __int32_t n, hx, hy, hz, ix, iy, sx, i; VAL [one_fmod=1, Zero_fmod={2:0}] [L21] ieee_float_shape_type gf_u; [L22] gf_u.value = (x) [L23] EXPR gf_u.word [L23] (hx) = gf_u.word [L26] ieee_float_shape_type gf_u; [L27] gf_u.value = (y) [L28] EXPR gf_u.word [L28] (hy) = gf_u.word [L30] sx = hx & 0x80000000 [L31] hx ^= sx [L32] hy &= 0x7fffffff VAL [one_fmod=1, Zero_fmod={2:0}] [L34] COND TRUE ((hy) == 0) || !((hx) < 0x7f800000L) || ((hy) > 0x7f800000L) [L35] return (x * y) / (x * y); VAL [one_fmod=1, Zero_fmod={2:0}] [L118] float res = fmod_float(x, y); [L108] return x != x; [L121] COND TRUE !isnan_float(res) [L122] __VERIFIER_error() VAL [one_fmod=1, Zero_fmod={2:0}] ----- [2018-11-23 03:30:48,759 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.codecheck CFG 23.11 03:30:48 ImpRootNode [2018-11-23 03:30:48,759 INFO L132 PluginConnector]: ------------------------ END CodeCheck---------------------------- [2018-11-23 03:30:48,759 INFO L113 PluginConnector]: ------------------------Witness Printer---------------------------- [2018-11-23 03:30:48,759 INFO L271 PluginConnector]: Initializing Witness Printer... [2018-11-23 03:30:48,760 INFO L276 PluginConnector]: Witness Printer initialized [2018-11-23 03:30:48,760 INFO L185 PluginConnector]: Executing the observer RCFGCatcher from plugin Witness Printer for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 03:30:48" (3/4) ... [2018-11-23 03:30:48,763 INFO L147 WitnessPrinter]: No result that supports witness generation found [2018-11-23 03:30:48,764 INFO L132 PluginConnector]: ------------------------ END Witness Printer---------------------------- [2018-11-23 03:30:48,764 INFO L168 Benchmark]: Toolchain (without parser) took 966.34 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 143.1 MB). Free memory was 958.2 MB in the beginning and 1.1 GB in the end (delta: -116.5 MB). Peak memory consumption was 26.6 MB. Max. memory is 11.5 GB. [2018-11-23 03:30:48,766 INFO L168 Benchmark]: CDTParser took 0.16 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 03:30:48,766 INFO L168 Benchmark]: CACSL2BoogieTranslator took 198.76 ms. Allocated memory is still 1.0 GB. Free memory was 958.2 MB in the beginning and 944.7 MB in the end (delta: 13.5 MB). Peak memory consumption was 13.5 MB. Max. memory is 11.5 GB. [2018-11-23 03:30:48,767 INFO L168 Benchmark]: Boogie Procedure Inliner took 68.50 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 143.1 MB). Free memory was 944.7 MB in the beginning and 1.1 GB in the end (delta: -193.5 MB). Peak memory consumption was 17.1 MB. Max. memory is 11.5 GB. [2018-11-23 03:30:48,767 INFO L168 Benchmark]: Boogie Preprocessor took 27.74 ms. Allocated memory is still 1.2 GB. Free memory is still 1.1 GB. There was no memory consumed. Max. memory is 11.5 GB. [2018-11-23 03:30:48,768 INFO L168 Benchmark]: RCFGBuilder took 380.36 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: 34.0 MB). Peak memory consumption was 34.0 MB. Max. memory is 11.5 GB. [2018-11-23 03:30:48,768 INFO L168 Benchmark]: CodeCheck took 283.60 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: 29.6 MB). Peak memory consumption was 29.6 MB. Max. memory is 11.5 GB. [2018-11-23 03:30:48,769 INFO L168 Benchmark]: Witness Printer took 4.33 ms. Allocated memory is still 1.2 GB. Free memory is still 1.1 GB. There was no memory consumed. Max. memory is 11.5 GB. [2018-11-23 03:30:48,772 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, 42 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: 122]: Unable to prove that call of __VERIFIER_error() unreachable Unable to prove that call of __VERIFIER_error() unreachable Reason: overapproximation of someBinaryFLOATComparisonOperation at line 108, overapproximation of someUnaryDOUBLEoperation at line 14, overapproximation of bitwiseAnd at line 30, overapproximation of someUnaryFLOAToperation at line 117, overapproximation of bitwiseXor at line 31, overapproximation of someBinaryArithmeticFLOAToperation at line 35. Possible FailurePath: [L12-L15] static const float one_fmod = 1.0, Zero_fmod[] = { 0.0, -0.0, }; [L116] float x = __VERIFIER_nondet_float(); [L117] float y = -0.0f; [L18] __int32_t n, hx, hy, hz, ix, iy, sx, i; VAL [one_fmod=1, Zero_fmod={2:0}] [L21] ieee_float_shape_type gf_u; [L22] gf_u.value = (x) [L23] EXPR gf_u.word [L23] (hx) = gf_u.word [L26] ieee_float_shape_type gf_u; [L27] gf_u.value = (y) [L28] EXPR gf_u.word [L28] (hy) = gf_u.word [L30] sx = hx & 0x80000000 [L31] hx ^= sx [L32] hy &= 0x7fffffff VAL [one_fmod=1, Zero_fmod={2:0}] [L34] COND TRUE ((hy) == 0) || !((hx) < 0x7f800000L) || ((hy) > 0x7f800000L) [L35] return (x * y) / (x * y); VAL [one_fmod=1, Zero_fmod={2:0}] [L118] float res = fmod_float(x, y); [L108] return x != x; [L121] COND TRUE !isnan_float(res) [L122] __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.16 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 198.76 ms. Allocated memory is still 1.0 GB. Free memory was 958.2 MB in the beginning and 944.7 MB in the end (delta: 13.5 MB). Peak memory consumption was 13.5 MB. Max. memory is 11.5 GB. * Boogie Procedure Inliner took 68.50 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 143.1 MB). Free memory was 944.7 MB in the beginning and 1.1 GB in the end (delta: -193.5 MB). Peak memory consumption was 17.1 MB. Max. memory is 11.5 GB. * Boogie Preprocessor took 27.74 ms. Allocated memory is still 1.2 GB. Free memory is still 1.1 GB. There was no memory consumed. Max. memory is 11.5 GB. * RCFGBuilder took 380.36 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: 34.0 MB). Peak memory consumption was 34.0 MB. Max. memory is 11.5 GB. * CodeCheck took 283.60 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: 29.6 MB). Peak memory consumption was 29.6 MB. Max. memory is 11.5 GB. * Witness Printer took 4.33 ms. Allocated memory is still 1.2 GB. Free memory is still 1.1 GB. There was no memory consumed. Max. memory is 11.5 GB. 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 03:30:50,294 INFO L170 SettingsManager]: Resetting all preferences to default values... [2018-11-23 03:30:50,295 INFO L174 SettingsManager]: Resetting UltimateCore preferences to default values [2018-11-23 03:30:50,303 INFO L177 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2018-11-23 03:30:50,304 INFO L174 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2018-11-23 03:30:50,304 INFO L174 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2018-11-23 03:30:50,305 INFO L174 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2018-11-23 03:30:50,306 INFO L174 SettingsManager]: Resetting LassoRanker preferences to default values [2018-11-23 03:30:50,308 INFO L174 SettingsManager]: Resetting Reaching Definitions preferences to default values [2018-11-23 03:30:50,308 INFO L174 SettingsManager]: Resetting SyntaxChecker preferences to default values [2018-11-23 03:30:50,309 INFO L177 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2018-11-23 03:30:50,309 INFO L174 SettingsManager]: Resetting LTL2Aut preferences to default values [2018-11-23 03:30:50,310 INFO L174 SettingsManager]: Resetting PEA to Boogie preferences to default values [2018-11-23 03:30:50,311 INFO L174 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2018-11-23 03:30:50,311 INFO L174 SettingsManager]: Resetting ChcToBoogie preferences to default values [2018-11-23 03:30:50,312 INFO L174 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2018-11-23 03:30:50,313 INFO L174 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2018-11-23 03:30:50,314 INFO L174 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2018-11-23 03:30:50,315 INFO L174 SettingsManager]: Resetting CodeCheck preferences to default values [2018-11-23 03:30:50,317 INFO L174 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2018-11-23 03:30:50,317 INFO L174 SettingsManager]: Resetting RCFGBuilder preferences to default values [2018-11-23 03:30:50,318 INFO L174 SettingsManager]: Resetting TraceAbstraction preferences to default values [2018-11-23 03:30:50,320 INFO L177 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2018-11-23 03:30:50,320 INFO L177 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2018-11-23 03:30:50,321 INFO L174 SettingsManager]: Resetting TreeAutomizer preferences to default values [2018-11-23 03:30:50,321 INFO L174 SettingsManager]: Resetting IcfgTransformer preferences to default values [2018-11-23 03:30:50,322 INFO L174 SettingsManager]: Resetting Boogie Printer preferences to default values [2018-11-23 03:30:50,323 INFO L174 SettingsManager]: Resetting ReqPrinter preferences to default values [2018-11-23 03:30:50,323 INFO L174 SettingsManager]: Resetting Witness Printer preferences to default values [2018-11-23 03:30:50,324 INFO L177 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2018-11-23 03:30:50,324 INFO L174 SettingsManager]: Resetting CDTParser preferences to default values [2018-11-23 03:30:50,325 INFO L177 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2018-11-23 03:30:50,325 INFO L177 SettingsManager]: ReqParser provides no preferences, ignoring... [2018-11-23 03:30:50,325 INFO L174 SettingsManager]: Resetting SmtParser preferences to default values [2018-11-23 03:30:50,326 INFO L174 SettingsManager]: Resetting Witness Parser preferences to default values [2018-11-23 03:30:50,326 INFO L181 SettingsManager]: Finished resetting all preferences to default values... [2018-11-23 03:30:50,327 INFO L98 SettingsManager]: Beginning loading settings from /tmp/vcloud-vcloud-master/worker/working_dir_92186675-2149-4d51-bfcc-e3ac30d623a2/bin-2019/ukojak/config/svcomp-Reach-32bit-Kojak_Bitvector.epf [2018-11-23 03:30:50,338 INFO L110 SettingsManager]: Loading preferences was successful [2018-11-23 03:30:50,339 INFO L112 SettingsManager]: Preferences different from defaults after loading the file: [2018-11-23 03:30:50,339 INFO L131 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2018-11-23 03:30:50,339 INFO L133 SettingsManager]: * ... to procedures called more than once=ALWAYS [2018-11-23 03:30:50,340 INFO L131 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2018-11-23 03:30:50,340 INFO L133 SettingsManager]: * Create parallel compositions if possible=false [2018-11-23 03:30:50,340 INFO L131 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2018-11-23 03:30:50,341 INFO L133 SettingsManager]: * sizeof long=4 [2018-11-23 03:30:50,341 INFO L133 SettingsManager]: * sizeof POINTER=4 [2018-11-23 03:30:50,341 INFO L133 SettingsManager]: * Check division by zero=IGNORE [2018-11-23 03:30:50,341 INFO L133 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2018-11-23 03:30:50,341 INFO L133 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2018-11-23 03:30:50,341 INFO L133 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2018-11-23 03:30:50,341 INFO L133 SettingsManager]: * Use bitvectors instead of ints=true [2018-11-23 03:30:50,342 INFO L133 SettingsManager]: * Memory model=HoenickeLindenmann_4ByteResolution [2018-11-23 03:30:50,342 INFO L133 SettingsManager]: * sizeof long double=12 [2018-11-23 03:30:50,342 INFO L133 SettingsManager]: * Check if freed pointer was valid=false [2018-11-23 03:30:50,342 INFO L133 SettingsManager]: * Use constant arrays=true [2018-11-23 03:30:50,342 INFO L133 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2018-11-23 03:30:50,342 INFO L131 SettingsManager]: Preferences of CodeCheck differ from their defaults: [2018-11-23 03:30:50,343 INFO L133 SettingsManager]: * Timeout in seconds=1000000 [2018-11-23 03:30:50,343 INFO L131 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2018-11-23 03:30:50,343 INFO L133 SettingsManager]: * To the following directory=./dump/ [2018-11-23 03:30:50,343 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:10000 [2018-11-23 03:30:50,343 INFO L131 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2018-11-23 03:30:50,343 INFO L133 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2018-11-23 03:30:50,343 INFO L133 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2018-11-23 03:30:50,344 INFO L133 SettingsManager]: * Use separate solver for trace checks=false [2018-11-23 03:30:50,344 INFO L133 SettingsManager]: * Trace refinement strategy=WALRUS [2018-11-23 03:30:50,344 INFO L133 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2018-11-23 03:30:50,344 INFO L133 SettingsManager]: * Command for external solver=cvc4nyu --tear-down-incremental --rewrite-divk --print-success --lang smt [2018-11-23 03:30:50,344 INFO L133 SettingsManager]: * Logic for external solver=AUFBV [2018-11-23 03:30:50,344 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_92186675-2149-4d51-bfcc-e3ac30d623a2/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 -> 73dc70fc086318c728ead326eb8ef835fee9f9a2 [2018-11-23 03:30:50,375 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2018-11-23 03:30:50,384 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2018-11-23 03:30:50,386 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2018-11-23 03:30:50,387 INFO L271 PluginConnector]: Initializing CDTParser... [2018-11-23 03:30:50,388 INFO L276 PluginConnector]: CDTParser initialized [2018-11-23 03:30:50,388 INFO L418 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /tmp/vcloud-vcloud-master/worker/working_dir_92186675-2149-4d51-bfcc-e3ac30d623a2/bin-2019/ukojak/../../sv-benchmarks/c/float-newlib/float_req_bl_1121b_true-unreach-call.c [2018-11-23 03:30:50,427 INFO L221 CDTParser]: Created temporary CDT project at /tmp/vcloud-vcloud-master/worker/working_dir_92186675-2149-4d51-bfcc-e3ac30d623a2/bin-2019/ukojak/data/d26dd5d05/dafebf038d874c1eb099afb01e5981ef/FLAGf81c733d8 [2018-11-23 03:30:50,750 INFO L307 CDTParser]: Found 1 translation units. [2018-11-23 03:30:50,750 INFO L161 CDTParser]: Scanning /tmp/vcloud-vcloud-master/worker/working_dir_92186675-2149-4d51-bfcc-e3ac30d623a2/sv-benchmarks/c/float-newlib/float_req_bl_1121b_true-unreach-call.c [2018-11-23 03:30:50,755 INFO L355 CDTParser]: About to delete temporary CDT project at /tmp/vcloud-vcloud-master/worker/working_dir_92186675-2149-4d51-bfcc-e3ac30d623a2/bin-2019/ukojak/data/d26dd5d05/dafebf038d874c1eb099afb01e5981ef/FLAGf81c733d8 [2018-11-23 03:30:50,767 INFO L363 CDTParser]: Successfully deleted /tmp/vcloud-vcloud-master/worker/working_dir_92186675-2149-4d51-bfcc-e3ac30d623a2/bin-2019/ukojak/data/d26dd5d05/dafebf038d874c1eb099afb01e5981ef [2018-11-23 03:30:50,769 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2018-11-23 03:30:50,770 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2018-11-23 03:30:50,771 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2018-11-23 03:30:50,771 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2018-11-23 03:30:50,774 INFO L276 PluginConnector]: CACSL2BoogieTranslator initialized [2018-11-23 03:30:50,775 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 03:30:50" (1/1) ... [2018-11-23 03:30:50,777 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@500b9a79 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 03:30:50, skipping insertion in model container [2018-11-23 03:30:50,777 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 03:30:50" (1/1) ... [2018-11-23 03:30:50,786 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2018-11-23 03:30:50,803 INFO L176 MainTranslator]: Built tables and reachable declarations [2018-11-23 03:30:50,965 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 03:30:50,971 INFO L191 MainTranslator]: Completed pre-run [2018-11-23 03:30:51,000 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 03:30:51,018 INFO L195 MainTranslator]: Completed translation [2018-11-23 03:30:51,019 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 03:30:51 WrapperNode [2018-11-23 03:30:51,019 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2018-11-23 03:30:51,019 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2018-11-23 03:30:51,019 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2018-11-23 03:30:51,020 INFO L276 PluginConnector]: Boogie Procedure Inliner initialized [2018-11-23 03:30:51,025 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 03:30:51" (1/1) ... [2018-11-23 03:30:51,035 INFO L185 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 03:30:51" (1/1) ... [2018-11-23 03:30:51,110 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2018-11-23 03:30:51,110 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2018-11-23 03:30:51,110 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2018-11-23 03:30:51,110 INFO L276 PluginConnector]: Boogie Preprocessor initialized [2018-11-23 03:30:51,117 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 03:30:51" (1/1) ... [2018-11-23 03:30:51,118 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 03:30:51" (1/1) ... [2018-11-23 03:30:51,120 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 03:30:51" (1/1) ... [2018-11-23 03:30:51,120 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 03:30:51" (1/1) ... [2018-11-23 03:30:51,128 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 03:30:51" (1/1) ... [2018-11-23 03:30:51,133 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 03:30:51" (1/1) ... [2018-11-23 03:30:51,135 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 03:30:51" (1/1) ... [2018-11-23 03:30:51,138 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2018-11-23 03:30:51,138 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2018-11-23 03:30:51,138 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2018-11-23 03:30:51,139 INFO L276 PluginConnector]: RCFGBuilder initialized [2018-11-23 03:30:51,139 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 03:30:51" (1/1) ... No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_92186675-2149-4d51-bfcc-e3ac30d623a2/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 03:30:51,175 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~intFLOATTYPE4 [2018-11-23 03:30:51,176 INFO L130 BoogieDeclarations]: Found specification of procedure read~intFLOATTYPE4 [2018-11-23 03:30:51,176 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.alloc [2018-11-23 03:30:51,176 INFO L130 BoogieDeclarations]: Found specification of procedure read~intINTTYPE4 [2018-11-23 03:30:51,176 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2018-11-23 03:30:51,176 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2018-11-23 03:30:51,176 INFO L130 BoogieDeclarations]: Found specification of procedure write~intFLOATTYPE4 [2018-11-23 03:30:51,176 INFO L130 BoogieDeclarations]: Found specification of procedure write~intINTTYPE4 [2018-11-23 03:30:51,177 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2018-11-23 03:30:52,161 INFO L275 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2018-11-23 03:30:52,162 INFO L280 CfgBuilder]: Removed 20 assue(true) statements. [2018-11-23 03:30:52,162 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 03:30:52 BoogieIcfgContainer [2018-11-23 03:30:52,162 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2018-11-23 03:30:52,163 INFO L113 PluginConnector]: ------------------------CodeCheck---------------------------- [2018-11-23 03:30:52,163 INFO L271 PluginConnector]: Initializing CodeCheck... [2018-11-23 03:30:52,170 INFO L276 PluginConnector]: CodeCheck initialized [2018-11-23 03:30:52,170 INFO L185 PluginConnector]: Executing the observer CodeCheckObserver from plugin CodeCheck for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 03:30:52" (1/1) ... [2018-11-23 03:30:52,178 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 03:30:52,197 INFO L82 GeneralOperation]: Start removeUnreachable. Operand no size info available [2018-11-23 03:30:52,202 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 56 states to 34 states and 56 transitions. [2018-11-23 03:30:52,202 INFO L276 IsEmpty]: Start isEmpty. Operand 34 states and 56 transitions. [2018-11-23 03:30:52,204 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 9 [2018-11-23 03:30:52,204 INFO L427 CodeCheckObserver]: Error Path is FOUND. [2018-11-23 03:30:52,241 ERROR L613 CodeCheckObserver]: First Tracecheck threw exception Indexed Sort BitVec undefined [2018-11-23 03:30:52,258 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 03:30:52,262 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 03:30:52,270 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 03:30:52,277 INFO L82 GeneralOperation]: Start removeUnreachable. Operand no size info available [2018-11-23 03:30:52,277 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 51 states to 34 states and 51 transitions. [2018-11-23 03:30:52,278 INFO L276 IsEmpty]: Start isEmpty. Operand 34 states and 51 transitions. [2018-11-23 03:30:52,278 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 11 [2018-11-23 03:30:52,278 INFO L427 CodeCheckObserver]: Error Path is FOUND. [2018-11-23 03:30:52,279 ERROR L613 CodeCheckObserver]: First Tracecheck threw exception Indexed Sort BitVec undefined [2018-11-23 03:30:52,581 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 03:30:52,621 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 03:30:54,103 WARN L180 SmtUtils]: Spent 704.00 ms on a formula simplification that was a NOOP. DAG size: 9 [2018-11-23 03:30:55,170 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 03:31:01,742 WARN L180 SmtUtils]: Spent 616.00 ms on a formula simplification that was a NOOP. DAG size: 10 [2018-11-23 03:31:14,884 INFO L82 GeneralOperation]: Start removeUnreachable. Operand no size info available [2018-11-23 03:31:14,885 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 58 states to 36 states and 58 transitions. [2018-11-23 03:31:14,885 INFO L276 IsEmpty]: Start isEmpty. Operand 36 states and 58 transitions. [2018-11-23 03:31:14,885 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 12 [2018-11-23 03:31:14,886 INFO L427 CodeCheckObserver]: Error Path is FOUND. [2018-11-23 03:31:14,887 ERROR L613 CodeCheckObserver]: First Tracecheck threw exception Indexed Sort BitVec undefined [2018-11-23 03:31:14,905 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 03:31:14,907 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 03:31:16,853 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 03:31:28,751 INFO L82 GeneralOperation]: Start removeUnreachable. Operand no size info available [2018-11-23 03:31:28,751 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 11 states and 10 transitions. [2018-11-23 03:31:28,751 INFO L276 IsEmpty]: Start isEmpty. Operand 11 states and 10 transitions. [2018-11-23 03:31:28,752 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 03:31:28,752 WARN L424 CodeCheckObserver]: This Program is SAFE, Check terminated with 4 iterations. [2018-11-23 03:31:28,760 INFO L775 CodeCheckObserver]: All specifications hold 1 specifications checked. All of them hold [2018-11-23 03:31:29,153 WARN L180 SmtUtils]: Spent 369.00 ms on a formula simplification that was a NOOP. DAG size: 9 [2018-11-23 03:31:29,163 INFO L579 CodeCheckObserver]: Invariant with dag size 4 [2018-11-23 03:31:29,170 INFO L579 CodeCheckObserver]: Invariant with dag size 9 [2018-11-23 03:31:29,171 WARN L416 cessorBacktranslator]: Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven [2018-11-23 03:31:29,171 WARN L416 cessorBacktranslator]: Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven [2018-11-23 03:31:29,171 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[ULTIMATE.start_fmod_float_~x,QUANTIFIED] [2018-11-23 03:31:29,172 WARN L416 cessorBacktranslator]: Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven [2018-11-23 03:31:29,172 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[ULTIMATE.start_fmod_float_~x,QUANTIFIED] [2018-11-23 03:31:29,172 WARN L416 cessorBacktranslator]: Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven [2018-11-23 03:31:29,173 WARN L416 cessorBacktranslator]: Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven [2018-11-23 03:31:29,173 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[ULTIMATE.start_fmod_float_~x,QUANTIFIED] [2018-11-23 03:31:29,173 WARN L416 cessorBacktranslator]: Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven [2018-11-23 03:31:29,173 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[ULTIMATE.start_fmod_float_~x,QUANTIFIED] [2018-11-23 03:31:29,174 INFO L579 CodeCheckObserver]: Invariant with dag size 1 [2018-11-23 03:31:29,174 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.codecheck CFG 23.11 03:31:29 ImpRootNode [2018-11-23 03:31:29,175 INFO L132 PluginConnector]: ------------------------ END CodeCheck---------------------------- [2018-11-23 03:31:29,175 INFO L113 PluginConnector]: ------------------------Witness Printer---------------------------- [2018-11-23 03:31:29,175 INFO L271 PluginConnector]: Initializing Witness Printer... [2018-11-23 03:31:29,175 INFO L276 PluginConnector]: Witness Printer initialized [2018-11-23 03:31:29,176 INFO L185 PluginConnector]: Executing the observer RCFGCatcher from plugin Witness Printer for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 03:30:52" (3/4) ... [2018-11-23 03:31:29,180 INFO L144 WitnessPrinter]: Generating witness for correct program [2018-11-23 03:31:29,190 INFO L879 BoogieBacktranslator]: Reduced CFG by removing 5 nodes and edges [2018-11-23 03:31:29,191 INFO L879 BoogieBacktranslator]: Reduced CFG by removing 4 nodes and edges [2018-11-23 03:31:29,224 INFO L145 WitnessManager]: Wrote witness to /tmp/vcloud-vcloud-master/worker/working_dir_92186675-2149-4d51-bfcc-e3ac30d623a2/bin-2019/ukojak/witness.graphml [2018-11-23 03:31:29,225 INFO L132 PluginConnector]: ------------------------ END Witness Printer---------------------------- [2018-11-23 03:31:29,225 INFO L168 Benchmark]: Toolchain (without parser) took 38455.65 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 147.8 MB). Free memory was 949.7 MB in the beginning and 1.0 GB in the end (delta: -62.4 MB). Peak memory consumption was 85.5 MB. Max. memory is 11.5 GB. [2018-11-23 03:31:29,226 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 03:31:29,226 INFO L168 Benchmark]: CACSL2BoogieTranslator took 248.20 ms. Allocated memory is still 1.0 GB. Free memory was 949.7 MB in the beginning and 933.6 MB in the end (delta: 16.1 MB). Peak memory consumption was 16.1 MB. Max. memory is 11.5 GB. [2018-11-23 03:31:29,226 INFO L168 Benchmark]: Boogie Procedure Inliner took 90.54 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 147.8 MB). Free memory was 933.6 MB in the beginning and 1.1 GB in the end (delta: -201.5 MB). Peak memory consumption was 15.5 MB. Max. memory is 11.5 GB. [2018-11-23 03:31:29,227 INFO L168 Benchmark]: Boogie Preprocessor took 27.92 ms. Allocated memory is still 1.2 GB. Free memory is still 1.1 GB. There was no memory consumed. Max. memory is 11.5 GB. [2018-11-23 03:31:29,227 INFO L168 Benchmark]: RCFGBuilder took 1024.02 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: 40.4 MB). Peak memory consumption was 40.4 MB. Max. memory is 11.5 GB. [2018-11-23 03:31:29,227 INFO L168 Benchmark]: CodeCheck took 37011.96 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: 75.7 MB). Peak memory consumption was 75.7 MB. Max. memory is 11.5 GB. [2018-11-23 03:31:29,228 INFO L168 Benchmark]: Witness Printer took 49.62 ms. Allocated memory is still 1.2 GB. Free memory was 1.0 GB in the beginning and 1.0 GB in the end (delta: 6.9 MB). Peak memory consumption was 6.9 MB. Max. memory is 11.5 GB. [2018-11-23 03:31:29,230 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, 42 locations, 1 error locations. SAFE Result, 36.5s OverallTime, 4 OverallIterations, 0 TraceHistogramMax, 0.0s AutomataDifference, 0.0s DeadEndRemovalTime, 0.0s HoareAnnotationTime, HoareTripleCheckerStatistics: 110 SDtfs, 44 SDslu, 40 SDs, 0 SdLazy, 126 SolverSat, 26 SolverUnsat, 0 SolverUnknown, 0 SolverNotchecked, 25.2s Time, PredicateUnifierStatistics: 0 DeclaredPredicates, 241 GetRequests, 223 SyntacticMatches, 0 SemanticMatches, 18 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 39 ImplicationChecksByTransitivity, 19.4s Time, 0.0s BasicInterpolantAutomatonTime, BiggestAbstraction: size=-1occurred in iteration=-1, traceCheckStatistics: 0.0s SsaConstructionTime, 0.3s SatisfiabilityAnalysisTime, 4.5s InterpolantComputationTime, 29 NumberOfCodeBlocks, 29 NumberOfCodeBlocksAsserted, 3 NumberOfCheckSat, 26 ConstructedInterpolants, 2 QuantifiedInterpolants, 984 SizeOfPredicates, 16 NumberOfNonLiveVariables, 124 ConjunctsInSsa, 18 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: 122]: 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: 20]: Loop Invariant Derived loop invariant: y == ~fp.neg~FLOAT(~Pluszero~LONGDOUBLE()) - InvariantResult [Line: 17]: Loop Invariant [2018-11-23 03:31:29,232 WARN L416 cessorBacktranslator]: Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven [2018-11-23 03:31:29,232 WARN L416 cessorBacktranslator]: Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven [2018-11-23 03:31:29,232 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[ULTIMATE.start_fmod_float_~x,QUANTIFIED] [2018-11-23 03:31:29,233 WARN L416 cessorBacktranslator]: Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven [2018-11-23 03:31:29,233 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[ULTIMATE.start_fmod_float_~x,QUANTIFIED] [2018-11-23 03:31:29,233 WARN L416 cessorBacktranslator]: Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven [2018-11-23 03:31:29,233 WARN L416 cessorBacktranslator]: Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven [2018-11-23 03:31:29,233 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[ULTIMATE.start_fmod_float_~x,QUANTIFIED] [2018-11-23 03:31:29,233 WARN L416 cessorBacktranslator]: Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven [2018-11-23 03:31:29,233 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[ULTIMATE.start_fmod_float_~x,QUANTIFIED] Derived loop invariant: (\exists ULTIMATE.start_fmod_float_~x : C_FLOAT :: ~fp.div~FLOAT(~roundNearestTiesToEven, ~fp.mul~FLOAT(~roundNearestTiesToEven, ULTIMATE.start_fmod_float_~x, ~fp.neg~FLOAT(~Pluszero~LONGDOUBLE())), ~fp.mul~FLOAT(~roundNearestTiesToEven, ULTIMATE.start_fmod_float_~x, ~fp.neg~FLOAT(~Pluszero~LONGDOUBLE()))) == \result) - InvariantResult [Line: 110]: Loop Invariant Derived loop invariant: 1 * 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 248.20 ms. Allocated memory is still 1.0 GB. Free memory was 949.7 MB in the beginning and 933.6 MB in the end (delta: 16.1 MB). Peak memory consumption was 16.1 MB. Max. memory is 11.5 GB. * Boogie Procedure Inliner took 90.54 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 147.8 MB). Free memory was 933.6 MB in the beginning and 1.1 GB in the end (delta: -201.5 MB). Peak memory consumption was 15.5 MB. Max. memory is 11.5 GB. * Boogie Preprocessor took 27.92 ms. Allocated memory is still 1.2 GB. Free memory is still 1.1 GB. There was no memory consumed. Max. memory is 11.5 GB. * RCFGBuilder took 1024.02 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: 40.4 MB). Peak memory consumption was 40.4 MB. Max. memory is 11.5 GB. * CodeCheck took 37011.96 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: 75.7 MB). Peak memory consumption was 75.7 MB. Max. memory is 11.5 GB. * Witness Printer took 49.62 ms. Allocated memory is still 1.2 GB. Free memory was 1.0 GB in the beginning and 1.0 GB in the end (delta: 6.9 MB). Peak memory consumption was 6.9 MB. 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_float_~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_float_~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_float_~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_float_~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_float_~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_float_~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_float_~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_float_~x,QUANTIFIED] RESULT: Ultimate proved your program to be correct! Received shutdown request...