/usr/bin/java -ea -Xmx8000000000 -Xss4m -jar ./plugins/org.eclipse.equinox.launcher_1.5.800.v20200727-1323.jar -data @noDefault -ultimatedata ./data --core.log.level.for.class de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=WARN -tc ../../../trunk/examples/toolchains/AutomizerC.xml -s ../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationQvasr_64.epf -i ../../../trunk/examples/svcomp/nla-digbench-scaling/hard-ll_valuebound1.c -------------------------------------------------------------------------------- This is Ultimate 0.2.2-dev-e106359-m [2022-04-15 15:36:32,962 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-15 15:36:32,964 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-15 15:36:32,982 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-15 15:36:32,982 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-15 15:36:32,987 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-15 15:36:32,988 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-15 15:36:32,989 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-15 15:36:32,990 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-15 15:36:32,991 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-15 15:36:32,991 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-15 15:36:32,992 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-15 15:36:32,992 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-15 15:36:32,993 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-15 15:36:32,993 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-15 15:36:32,994 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-15 15:36:32,994 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-15 15:36:32,995 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-15 15:36:32,996 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-15 15:36:32,997 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-15 15:36:33,001 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-15 15:36:33,004 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-15 15:36:33,005 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-15 15:36:33,007 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-15 15:36:33,008 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-15 15:36:33,016 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-15 15:36:33,016 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-15 15:36:33,017 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-15 15:36:33,018 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-15 15:36:33,018 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-15 15:36:33,019 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-15 15:36:33,019 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-15 15:36:33,020 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-15 15:36:33,021 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-15 15:36:33,021 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-15 15:36:33,023 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-15 15:36:33,023 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-15 15:36:33,024 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-15 15:36:33,024 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-15 15:36:33,024 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-15 15:36:33,025 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-15 15:36:33,027 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-15 15:36:33,027 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationQvasr_64.epf [2022-04-15 15:36:33,035 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-15 15:36:33,035 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-15 15:36:33,036 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-15 15:36:33,036 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-15 15:36:33,036 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-15 15:36:33,036 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-15 15:36:33,036 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-15 15:36:33,036 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-15 15:36:33,036 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-15 15:36:33,036 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-15 15:36:33,036 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-15 15:36:33,036 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-15 15:36:33,037 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-15 15:36:33,037 INFO L138 SettingsManager]: * To the following directory=./dump/ [2022-04-15 15:36:33,037 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-15 15:36:33,037 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-15 15:36:33,037 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-15 15:36:33,037 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=Craig_NestedInterpolation [2022-04-15 15:36:33,037 INFO L138 SettingsManager]: * Trace refinement strategy=ACCELERATED_INTERPOLATION [2022-04-15 15:36:33,037 INFO L138 SettingsManager]: * Trace refinement strategy used in Accelerated Interpolation=CAMEL [2022-04-15 15:36:33,037 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-04-15 15:36:33,037 INFO L138 SettingsManager]: * Loop acceleration method that is used by accelerated interpolation=QVASR [2022-04-15 15:36:33,037 INFO L138 SettingsManager]: * Use separate solver for trace checks=false WARNING: An illegal reflective access operation has occurred WARNING: Illegal reflective access by com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 (file:/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/com.sun.xml.bind_2.2.0.v201505121915.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int) WARNING: Please consider reporting this to the maintainers of com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations WARNING: All illegal access operations will be denied in a future release Applying setting for plugin de.uni_freiburg.informatik.ultimate.core: Log level for class -> de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=WARN; [2022-04-15 15:36:33,227 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-15 15:36:33,242 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-15 15:36:33,243 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-15 15:36:33,244 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-15 15:36:33,244 INFO L275 PluginConnector]: CDTParser initialized [2022-04-15 15:36:33,245 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/nla-digbench-scaling/hard-ll_valuebound1.c [2022-04-15 15:36:33,287 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/33293e694/7066d5c1cab94fa3b3edaa03d4dcf315/FLAGbb206ecf4 [2022-04-15 15:36:33,641 INFO L306 CDTParser]: Found 1 translation units. [2022-04-15 15:36:33,641 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/hard-ll_valuebound1.c [2022-04-15 15:36:33,645 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/33293e694/7066d5c1cab94fa3b3edaa03d4dcf315/FLAGbb206ecf4 [2022-04-15 15:36:33,653 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/33293e694/7066d5c1cab94fa3b3edaa03d4dcf315 [2022-04-15 15:36:33,654 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-15 15:36:33,655 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2022-04-15 15:36:33,656 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-15 15:36:33,656 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-15 15:36:33,658 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-15 15:36:33,659 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 15.04 03:36:33" (1/1) ... [2022-04-15 15:36:33,659 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@7e359381 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 03:36:33, skipping insertion in model container [2022-04-15 15:36:33,659 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 15.04 03:36:33" (1/1) ... [2022-04-15 15:36:33,663 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-15 15:36:33,678 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-15 15:36:33,781 WARN L230 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/hard-ll_valuebound1.c[538,551] [2022-04-15 15:36:33,808 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-15 15:36:33,813 INFO L203 MainTranslator]: Completed pre-run [2022-04-15 15:36:33,821 WARN L230 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/hard-ll_valuebound1.c[538,551] [2022-04-15 15:36:33,828 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-15 15:36:33,836 INFO L208 MainTranslator]: Completed translation [2022-04-15 15:36:33,836 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 03:36:33 WrapperNode [2022-04-15 15:36:33,836 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-15 15:36:33,837 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-15 15:36:33,837 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-15 15:36:33,837 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-15 15:36:33,844 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 03:36:33" (1/1) ... [2022-04-15 15:36:33,844 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 03:36:33" (1/1) ... [2022-04-15 15:36:33,848 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 03:36:33" (1/1) ... [2022-04-15 15:36:33,848 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 03:36:33" (1/1) ... [2022-04-15 15:36:33,852 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 03:36:33" (1/1) ... [2022-04-15 15:36:33,855 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 03:36:33" (1/1) ... [2022-04-15 15:36:33,855 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 03:36:33" (1/1) ... [2022-04-15 15:36:33,856 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-15 15:36:33,857 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-15 15:36:33,857 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-15 15:36:33,857 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-15 15:36:33,858 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 03:36:33" (1/1) ... [2022-04-15 15:36:33,873 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-15 15:36:33,879 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 15:36:33,888 INFO L229 MonitoredProcess]: Starting monitored process 1 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (exit command is (exit), workingDir is null) [2022-04-15 15:36:33,905 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Waiting until timeout for monitored process [2022-04-15 15:36:33,929 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-15 15:36:33,929 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-15 15:36:33,929 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-15 15:36:33,929 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-04-15 15:36:33,929 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-15 15:36:33,930 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-15 15:36:33,930 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-15 15:36:33,930 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-15 15:36:33,930 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-15 15:36:33,930 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-15 15:36:33,931 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_uint [2022-04-15 15:36:33,931 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-04-15 15:36:33,931 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-15 15:36:33,931 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-15 15:36:33,932 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-15 15:36:33,933 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-15 15:36:33,933 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-15 15:36:33,933 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-15 15:36:33,933 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-15 15:36:33,934 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-15 15:36:33,976 INFO L234 CfgBuilder]: Building ICFG [2022-04-15 15:36:33,977 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-15 15:36:34,079 INFO L275 CfgBuilder]: Performing block encoding [2022-04-15 15:36:34,084 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-15 15:36:34,084 INFO L299 CfgBuilder]: Removed 2 assume(true) statements. [2022-04-15 15:36:34,085 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 15.04 03:36:34 BoogieIcfgContainer [2022-04-15 15:36:34,085 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-15 15:36:34,086 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-15 15:36:34,086 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-15 15:36:34,088 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-15 15:36:34,088 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 15.04 03:36:33" (1/3) ... [2022-04-15 15:36:34,089 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@788aa862 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 15.04 03:36:34, skipping insertion in model container [2022-04-15 15:36:34,089 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 03:36:33" (2/3) ... [2022-04-15 15:36:34,089 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@788aa862 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 15.04 03:36:34, skipping insertion in model container [2022-04-15 15:36:34,089 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 15.04 03:36:34" (3/3) ... [2022-04-15 15:36:34,090 INFO L111 eAbstractionObserver]: Analyzing ICFG hard-ll_valuebound1.c [2022-04-15 15:36:34,093 INFO L202 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:Craig_NestedInterpolation Determinization: PREDICATE_ABSTRACTION [2022-04-15 15:36:34,093 INFO L161 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-15 15:36:34,118 INFO L339 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-15 15:36:34,122 INFO L340 AbstractCegarLoop]: Settings: SEPARATE_VIOLATION_CHECK=true, mInterprocedural=true, mMaxIterations=1000000, mWatchIteration=1000000, mArtifact=RCFG, mInterpolation=Craig_NestedInterpolation, mInterpolantAutomaton=STRAIGHT_LINE, mDumpAutomata=false, mAutomataFormat=ATS_NUMERATE, mDumpPath=., mDeterminiation=PREDICATE_ABSTRACTION, mMinimize=MINIMIZE_SEVPA, mHoare=true, mAutomataTypeConcurrency=FINITE_AUTOMATA, mHoareTripleChecks=INCREMENTAL, mHoareAnnotationPositions=All, mDumpOnlyReuseAutomata=false, mLimitTraceHistogram=0, mErrorLocTimeLimit=0, mLimitPathProgramCount=0, mCollectInterpolantStatistics=true, mHeuristicEmptinessCheck=false, mHeuristicEmptinessCheckAStarHeuristic=ZERO, mHeuristicEmptinessCheckAStarHeuristicRandomSeed=1337, mHeuristicEmptinessCheckSmtFeatureScoringMethod=DAGSIZE, mSMTFeatureExtraction=false, mSMTFeatureExtractionDumpPath=., mOverrideInterpolantAutomaton=false, mMcrInterpolantMethod=WP [2022-04-15 15:36:34,122 INFO L341 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-15 15:36:34,135 INFO L276 IsEmpty]: Start isEmpty. Operand has 38 states, 20 states have (on average 1.5) internal successors, (30), 21 states have internal predecessors, (30), 12 states have call successors, (12), 4 states have call predecessors, (12), 4 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-15 15:36:34,140 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 29 [2022-04-15 15:36:34,140 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 15:36:34,140 INFO L499 BasicCegarLoop]: trace histogram [3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 15:36:34,141 INFO L403 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 15:36:34,144 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 15:36:34,144 INFO L85 PathProgramCache]: Analyzing trace with hash -1784424332, now seen corresponding path program 1 times [2022-04-15 15:36:34,149 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 15:36:34,150 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [442892137] [2022-04-15 15:36:34,157 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 15:36:34,157 INFO L85 PathProgramCache]: Analyzing trace with hash -1784424332, now seen corresponding path program 2 times [2022-04-15 15:36:34,159 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 15:36:34,159 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1117950636] [2022-04-15 15:36:34,159 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 15:36:34,160 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 15:36:34,231 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 15:36:34,281 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 15:36:34,284 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 15:36:34,299 INFO L290 TraceCheckUtils]: 0: Hoare triple {58#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {41#true} is VALID [2022-04-15 15:36:34,299 INFO L290 TraceCheckUtils]: 1: Hoare triple {41#true} assume true; {41#true} is VALID [2022-04-15 15:36:34,301 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {41#true} {41#true} #101#return; {41#true} is VALID [2022-04-15 15:36:34,301 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-15 15:36:34,303 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 15:36:34,307 INFO L290 TraceCheckUtils]: 0: Hoare triple {41#true} ~cond := #in~cond; {41#true} is VALID [2022-04-15 15:36:34,308 INFO L290 TraceCheckUtils]: 1: Hoare triple {41#true} assume 0 == ~cond;assume false; {42#false} is VALID [2022-04-15 15:36:34,308 INFO L290 TraceCheckUtils]: 2: Hoare triple {42#false} assume true; {42#false} is VALID [2022-04-15 15:36:34,308 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {42#false} {41#true} #81#return; {42#false} is VALID [2022-04-15 15:36:34,309 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-04-15 15:36:34,310 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 15:36:34,314 INFO L290 TraceCheckUtils]: 0: Hoare triple {41#true} ~cond := #in~cond; {41#true} is VALID [2022-04-15 15:36:34,315 INFO L290 TraceCheckUtils]: 1: Hoare triple {41#true} assume 0 == ~cond;assume false; {42#false} is VALID [2022-04-15 15:36:34,315 INFO L290 TraceCheckUtils]: 2: Hoare triple {42#false} assume true; {42#false} is VALID [2022-04-15 15:36:34,315 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {42#false} {42#false} #83#return; {42#false} is VALID [2022-04-15 15:36:34,315 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-15 15:36:34,317 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 15:36:34,321 INFO L290 TraceCheckUtils]: 0: Hoare triple {41#true} ~cond := #in~cond; {41#true} is VALID [2022-04-15 15:36:34,321 INFO L290 TraceCheckUtils]: 1: Hoare triple {41#true} assume 0 == ~cond;assume false; {42#false} is VALID [2022-04-15 15:36:34,322 INFO L290 TraceCheckUtils]: 2: Hoare triple {42#false} assume true; {42#false} is VALID [2022-04-15 15:36:34,322 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {42#false} {42#false} #85#return; {42#false} is VALID [2022-04-15 15:36:34,323 INFO L272 TraceCheckUtils]: 0: Hoare triple {41#true} call ULTIMATE.init(); {58#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-15 15:36:34,323 INFO L290 TraceCheckUtils]: 1: Hoare triple {58#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {41#true} is VALID [2022-04-15 15:36:34,323 INFO L290 TraceCheckUtils]: 2: Hoare triple {41#true} assume true; {41#true} is VALID [2022-04-15 15:36:34,323 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {41#true} {41#true} #101#return; {41#true} is VALID [2022-04-15 15:36:34,323 INFO L272 TraceCheckUtils]: 4: Hoare triple {41#true} call #t~ret6 := main(); {41#true} is VALID [2022-04-15 15:36:34,324 INFO L290 TraceCheckUtils]: 5: Hoare triple {41#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4; {41#true} is VALID [2022-04-15 15:36:34,324 INFO L272 TraceCheckUtils]: 6: Hoare triple {41#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 1 then 1 else 0)); {41#true} is VALID [2022-04-15 15:36:34,324 INFO L290 TraceCheckUtils]: 7: Hoare triple {41#true} ~cond := #in~cond; {41#true} is VALID [2022-04-15 15:36:34,324 INFO L290 TraceCheckUtils]: 8: Hoare triple {41#true} assume 0 == ~cond;assume false; {42#false} is VALID [2022-04-15 15:36:34,324 INFO L290 TraceCheckUtils]: 9: Hoare triple {42#false} assume true; {42#false} is VALID [2022-04-15 15:36:34,325 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {42#false} {41#true} #81#return; {42#false} is VALID [2022-04-15 15:36:34,325 INFO L290 TraceCheckUtils]: 11: Hoare triple {42#false} ~B~0 := #t~nondet5;havoc #t~nondet5; {42#false} is VALID [2022-04-15 15:36:34,325 INFO L272 TraceCheckUtils]: 12: Hoare triple {42#false} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 1 then 1 else 0)); {41#true} is VALID [2022-04-15 15:36:34,325 INFO L290 TraceCheckUtils]: 13: Hoare triple {41#true} ~cond := #in~cond; {41#true} is VALID [2022-04-15 15:36:34,328 INFO L290 TraceCheckUtils]: 14: Hoare triple {41#true} assume 0 == ~cond;assume false; {42#false} is VALID [2022-04-15 15:36:34,329 INFO L290 TraceCheckUtils]: 15: Hoare triple {42#false} assume true; {42#false} is VALID [2022-04-15 15:36:34,329 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {42#false} {42#false} #83#return; {42#false} is VALID [2022-04-15 15:36:34,329 INFO L272 TraceCheckUtils]: 17: Hoare triple {42#false} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {41#true} is VALID [2022-04-15 15:36:34,329 INFO L290 TraceCheckUtils]: 18: Hoare triple {41#true} ~cond := #in~cond; {41#true} is VALID [2022-04-15 15:36:34,330 INFO L290 TraceCheckUtils]: 19: Hoare triple {41#true} assume 0 == ~cond;assume false; {42#false} is VALID [2022-04-15 15:36:34,330 INFO L290 TraceCheckUtils]: 20: Hoare triple {42#false} assume true; {42#false} is VALID [2022-04-15 15:36:34,331 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {42#false} {42#false} #85#return; {42#false} is VALID [2022-04-15 15:36:34,331 INFO L290 TraceCheckUtils]: 22: Hoare triple {42#false} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {42#false} is VALID [2022-04-15 15:36:34,331 INFO L290 TraceCheckUtils]: 23: Hoare triple {42#false} assume !false; {42#false} is VALID [2022-04-15 15:36:34,331 INFO L272 TraceCheckUtils]: 24: Hoare triple {42#false} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {42#false} is VALID [2022-04-15 15:36:34,331 INFO L290 TraceCheckUtils]: 25: Hoare triple {42#false} ~cond := #in~cond; {42#false} is VALID [2022-04-15 15:36:34,331 INFO L290 TraceCheckUtils]: 26: Hoare triple {42#false} assume 0 == ~cond; {42#false} is VALID [2022-04-15 15:36:34,331 INFO L290 TraceCheckUtils]: 27: Hoare triple {42#false} assume !false; {42#false} is VALID [2022-04-15 15:36:34,332 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-15 15:36:34,332 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 15:36:34,332 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1117950636] [2022-04-15 15:36:34,333 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1117950636] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 15:36:34,333 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 15:36:34,333 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-15 15:36:34,335 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 15:36:34,335 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [442892137] [2022-04-15 15:36:34,335 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [442892137] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 15:36:34,335 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 15:36:34,335 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-15 15:36:34,336 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [4919423] [2022-04-15 15:36:34,336 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 15:36:34,339 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) Word has length 28 [2022-04-15 15:36:34,340 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 15:36:34,343 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-15 15:36:34,381 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 22 edges. 22 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 15:36:34,382 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-04-15 15:36:34,382 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 15:36:34,407 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-04-15 15:36:34,408 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-15 15:36:34,409 INFO L87 Difference]: Start difference. First operand has 38 states, 20 states have (on average 1.5) internal successors, (30), 21 states have internal predecessors, (30), 12 states have call successors, (12), 4 states have call predecessors, (12), 4 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) Second operand has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-15 15:36:34,601 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:36:34,601 INFO L93 Difference]: Finished difference Result 69 states and 110 transitions. [2022-04-15 15:36:34,601 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-04-15 15:36:34,601 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) Word has length 28 [2022-04-15 15:36:34,602 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 15:36:34,603 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-15 15:36:34,617 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 110 transitions. [2022-04-15 15:36:34,617 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-15 15:36:34,628 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 110 transitions. [2022-04-15 15:36:34,629 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 3 states and 110 transitions. [2022-04-15 15:36:34,762 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 110 edges. 110 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 15:36:34,771 INFO L225 Difference]: With dead ends: 69 [2022-04-15 15:36:34,772 INFO L226 Difference]: Without dead ends: 33 [2022-04-15 15:36:34,778 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 13 GetRequests, 12 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-15 15:36:34,783 INFO L913 BasicCegarLoop]: 38 mSDtfsCounter, 21 mSDsluCounter, 3 mSDsCounter, 0 mSdLazyCounter, 12 mSolverCounterSat, 11 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 31 SdHoareTripleChecker+Valid, 41 SdHoareTripleChecker+Invalid, 23 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 11 IncrementalHoareTripleChecker+Valid, 12 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-15 15:36:34,784 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [31 Valid, 41 Invalid, 23 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [11 Valid, 12 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-15 15:36:34,795 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 33 states. [2022-04-15 15:36:34,809 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 33 to 33. [2022-04-15 15:36:34,809 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 15:36:34,810 INFO L82 GeneralOperation]: Start isEquivalent. First operand 33 states. Second operand has 33 states, 17 states have (on average 1.2352941176470589) internal successors, (21), 18 states have internal predecessors, (21), 12 states have call successors, (12), 4 states have call predecessors, (12), 3 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-15 15:36:34,810 INFO L74 IsIncluded]: Start isIncluded. First operand 33 states. Second operand has 33 states, 17 states have (on average 1.2352941176470589) internal successors, (21), 18 states have internal predecessors, (21), 12 states have call successors, (12), 4 states have call predecessors, (12), 3 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-15 15:36:34,811 INFO L87 Difference]: Start difference. First operand 33 states. Second operand has 33 states, 17 states have (on average 1.2352941176470589) internal successors, (21), 18 states have internal predecessors, (21), 12 states have call successors, (12), 4 states have call predecessors, (12), 3 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-15 15:36:34,813 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:36:34,814 INFO L93 Difference]: Finished difference Result 33 states and 43 transitions. [2022-04-15 15:36:34,814 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 43 transitions. [2022-04-15 15:36:34,814 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 15:36:34,814 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 15:36:34,815 INFO L74 IsIncluded]: Start isIncluded. First operand has 33 states, 17 states have (on average 1.2352941176470589) internal successors, (21), 18 states have internal predecessors, (21), 12 states have call successors, (12), 4 states have call predecessors, (12), 3 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand 33 states. [2022-04-15 15:36:34,815 INFO L87 Difference]: Start difference. First operand has 33 states, 17 states have (on average 1.2352941176470589) internal successors, (21), 18 states have internal predecessors, (21), 12 states have call successors, (12), 4 states have call predecessors, (12), 3 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand 33 states. [2022-04-15 15:36:34,819 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:36:34,819 INFO L93 Difference]: Finished difference Result 33 states and 43 transitions. [2022-04-15 15:36:34,819 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 43 transitions. [2022-04-15 15:36:34,820 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 15:36:34,820 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 15:36:34,820 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 15:36:34,821 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 15:36:34,822 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 33 states, 17 states have (on average 1.2352941176470589) internal successors, (21), 18 states have internal predecessors, (21), 12 states have call successors, (12), 4 states have call predecessors, (12), 3 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-15 15:36:34,826 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 33 states to 33 states and 43 transitions. [2022-04-15 15:36:34,827 INFO L78 Accepts]: Start accepts. Automaton has 33 states and 43 transitions. Word has length 28 [2022-04-15 15:36:34,827 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 15:36:34,827 INFO L478 AbstractCegarLoop]: Abstraction has 33 states and 43 transitions. [2022-04-15 15:36:34,829 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-15 15:36:34,829 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 33 states and 43 transitions. [2022-04-15 15:36:34,876 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 43 edges. 43 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 15:36:34,876 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 43 transitions. [2022-04-15 15:36:34,878 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 29 [2022-04-15 15:36:34,878 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 15:36:34,878 INFO L499 BasicCegarLoop]: trace histogram [3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 15:36:34,878 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-04-15 15:36:34,879 INFO L403 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 15:36:34,881 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 15:36:34,881 INFO L85 PathProgramCache]: Analyzing trace with hash 1361835634, now seen corresponding path program 1 times [2022-04-15 15:36:34,881 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 15:36:34,881 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1229744210] [2022-04-15 15:36:34,882 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 15:36:34,882 INFO L85 PathProgramCache]: Analyzing trace with hash 1361835634, now seen corresponding path program 2 times [2022-04-15 15:36:34,883 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 15:36:34,883 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [924388680] [2022-04-15 15:36:34,883 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 15:36:34,883 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 15:36:34,901 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 15:36:34,946 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 15:36:34,948 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 15:36:34,953 INFO L290 TraceCheckUtils]: 0: Hoare triple {351#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {331#true} is VALID [2022-04-15 15:36:34,953 INFO L290 TraceCheckUtils]: 1: Hoare triple {331#true} assume true; {331#true} is VALID [2022-04-15 15:36:34,953 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {331#true} {331#true} #101#return; {331#true} is VALID [2022-04-15 15:36:34,953 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-15 15:36:34,954 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 15:36:34,958 INFO L290 TraceCheckUtils]: 0: Hoare triple {331#true} ~cond := #in~cond; {331#true} is VALID [2022-04-15 15:36:34,958 INFO L290 TraceCheckUtils]: 1: Hoare triple {331#true} assume !(0 == ~cond); {331#true} is VALID [2022-04-15 15:36:34,958 INFO L290 TraceCheckUtils]: 2: Hoare triple {331#true} assume true; {331#true} is VALID [2022-04-15 15:36:34,958 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {331#true} {331#true} #81#return; {331#true} is VALID [2022-04-15 15:36:34,958 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-04-15 15:36:34,959 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 15:36:34,963 INFO L290 TraceCheckUtils]: 0: Hoare triple {331#true} ~cond := #in~cond; {331#true} is VALID [2022-04-15 15:36:34,963 INFO L290 TraceCheckUtils]: 1: Hoare triple {331#true} assume !(0 == ~cond); {331#true} is VALID [2022-04-15 15:36:34,963 INFO L290 TraceCheckUtils]: 2: Hoare triple {331#true} assume true; {331#true} is VALID [2022-04-15 15:36:34,963 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {331#true} {331#true} #83#return; {331#true} is VALID [2022-04-15 15:36:34,963 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-15 15:36:34,964 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 15:36:34,968 INFO L290 TraceCheckUtils]: 0: Hoare triple {331#true} ~cond := #in~cond; {331#true} is VALID [2022-04-15 15:36:34,968 INFO L290 TraceCheckUtils]: 1: Hoare triple {331#true} assume !(0 == ~cond); {331#true} is VALID [2022-04-15 15:36:34,968 INFO L290 TraceCheckUtils]: 2: Hoare triple {331#true} assume true; {331#true} is VALID [2022-04-15 15:36:34,968 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {331#true} {331#true} #85#return; {331#true} is VALID [2022-04-15 15:36:34,969 INFO L272 TraceCheckUtils]: 0: Hoare triple {331#true} call ULTIMATE.init(); {351#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-15 15:36:34,969 INFO L290 TraceCheckUtils]: 1: Hoare triple {351#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {331#true} is VALID [2022-04-15 15:36:34,969 INFO L290 TraceCheckUtils]: 2: Hoare triple {331#true} assume true; {331#true} is VALID [2022-04-15 15:36:34,969 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {331#true} {331#true} #101#return; {331#true} is VALID [2022-04-15 15:36:34,969 INFO L272 TraceCheckUtils]: 4: Hoare triple {331#true} call #t~ret6 := main(); {331#true} is VALID [2022-04-15 15:36:34,970 INFO L290 TraceCheckUtils]: 5: Hoare triple {331#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4; {331#true} is VALID [2022-04-15 15:36:34,970 INFO L272 TraceCheckUtils]: 6: Hoare triple {331#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 1 then 1 else 0)); {331#true} is VALID [2022-04-15 15:36:34,970 INFO L290 TraceCheckUtils]: 7: Hoare triple {331#true} ~cond := #in~cond; {331#true} is VALID [2022-04-15 15:36:34,970 INFO L290 TraceCheckUtils]: 8: Hoare triple {331#true} assume !(0 == ~cond); {331#true} is VALID [2022-04-15 15:36:34,970 INFO L290 TraceCheckUtils]: 9: Hoare triple {331#true} assume true; {331#true} is VALID [2022-04-15 15:36:34,970 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {331#true} {331#true} #81#return; {331#true} is VALID [2022-04-15 15:36:34,970 INFO L290 TraceCheckUtils]: 11: Hoare triple {331#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {331#true} is VALID [2022-04-15 15:36:34,971 INFO L272 TraceCheckUtils]: 12: Hoare triple {331#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 1 then 1 else 0)); {331#true} is VALID [2022-04-15 15:36:34,971 INFO L290 TraceCheckUtils]: 13: Hoare triple {331#true} ~cond := #in~cond; {331#true} is VALID [2022-04-15 15:36:34,971 INFO L290 TraceCheckUtils]: 14: Hoare triple {331#true} assume !(0 == ~cond); {331#true} is VALID [2022-04-15 15:36:34,971 INFO L290 TraceCheckUtils]: 15: Hoare triple {331#true} assume true; {331#true} is VALID [2022-04-15 15:36:34,971 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {331#true} {331#true} #83#return; {331#true} is VALID [2022-04-15 15:36:34,971 INFO L272 TraceCheckUtils]: 17: Hoare triple {331#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {331#true} is VALID [2022-04-15 15:36:34,972 INFO L290 TraceCheckUtils]: 18: Hoare triple {331#true} ~cond := #in~cond; {331#true} is VALID [2022-04-15 15:36:34,972 INFO L290 TraceCheckUtils]: 19: Hoare triple {331#true} assume !(0 == ~cond); {331#true} is VALID [2022-04-15 15:36:34,972 INFO L290 TraceCheckUtils]: 20: Hoare triple {331#true} assume true; {331#true} is VALID [2022-04-15 15:36:34,972 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {331#true} {331#true} #85#return; {331#true} is VALID [2022-04-15 15:36:34,972 INFO L290 TraceCheckUtils]: 22: Hoare triple {331#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {348#(= main_~q~0 0)} is VALID [2022-04-15 15:36:34,973 INFO L290 TraceCheckUtils]: 23: Hoare triple {348#(= main_~q~0 0)} assume !false; {348#(= main_~q~0 0)} is VALID [2022-04-15 15:36:34,973 INFO L272 TraceCheckUtils]: 24: Hoare triple {348#(= main_~q~0 0)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {349#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 15:36:34,974 INFO L290 TraceCheckUtils]: 25: Hoare triple {349#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {350#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 15:36:34,974 INFO L290 TraceCheckUtils]: 26: Hoare triple {350#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {332#false} is VALID [2022-04-15 15:36:34,974 INFO L290 TraceCheckUtils]: 27: Hoare triple {332#false} assume !false; {332#false} is VALID [2022-04-15 15:36:34,975 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-15 15:36:34,975 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 15:36:34,975 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [924388680] [2022-04-15 15:36:34,975 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [924388680] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 15:36:34,975 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 15:36:34,975 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-15 15:36:34,976 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 15:36:34,976 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1229744210] [2022-04-15 15:36:34,976 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1229744210] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 15:36:34,976 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 15:36:34,976 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-15 15:36:34,976 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1200496697] [2022-04-15 15:36:34,976 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 15:36:34,977 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 2.0) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) Word has length 28 [2022-04-15 15:36:34,977 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 15:36:34,977 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 2.0) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-04-15 15:36:34,992 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 22 edges. 22 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 15:36:34,992 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-15 15:36:34,992 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 15:36:34,993 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-15 15:36:34,993 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2022-04-15 15:36:34,993 INFO L87 Difference]: Start difference. First operand 33 states and 43 transitions. Second operand has 6 states, 6 states have (on average 2.0) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-04-15 15:36:35,338 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:36:35,339 INFO L93 Difference]: Finished difference Result 46 states and 60 transitions. [2022-04-15 15:36:35,339 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-04-15 15:36:35,339 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 2.0) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) Word has length 28 [2022-04-15 15:36:35,340 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 15:36:35,340 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 2.0) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-04-15 15:36:35,342 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 60 transitions. [2022-04-15 15:36:35,342 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 2.0) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-04-15 15:36:35,343 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 60 transitions. [2022-04-15 15:36:35,343 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 7 states and 60 transitions. [2022-04-15 15:36:35,396 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 60 edges. 60 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 15:36:35,398 INFO L225 Difference]: With dead ends: 46 [2022-04-15 15:36:35,398 INFO L226 Difference]: Without dead ends: 44 [2022-04-15 15:36:35,398 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 17 GetRequests, 9 SyntacticMatches, 0 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 5 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=28, Invalid=62, Unknown=0, NotChecked=0, Total=90 [2022-04-15 15:36:35,399 INFO L913 BasicCegarLoop]: 31 mSDtfsCounter, 38 mSDsluCounter, 17 mSDsCounter, 0 mSdLazyCounter, 126 mSolverCounterSat, 29 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 44 SdHoareTripleChecker+Valid, 48 SdHoareTripleChecker+Invalid, 155 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 29 IncrementalHoareTripleChecker+Valid, 126 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-15 15:36:35,400 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [44 Valid, 48 Invalid, 155 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [29 Valid, 126 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-15 15:36:35,401 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 44 states. [2022-04-15 15:36:35,407 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 44 to 37. [2022-04-15 15:36:35,407 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 15:36:35,407 INFO L82 GeneralOperation]: Start isEquivalent. First operand 44 states. Second operand has 37 states, 20 states have (on average 1.2) internal successors, (24), 21 states have internal predecessors, (24), 12 states have call successors, (12), 5 states have call predecessors, (12), 4 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-15 15:36:35,408 INFO L74 IsIncluded]: Start isIncluded. First operand 44 states. Second operand has 37 states, 20 states have (on average 1.2) internal successors, (24), 21 states have internal predecessors, (24), 12 states have call successors, (12), 5 states have call predecessors, (12), 4 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-15 15:36:35,409 INFO L87 Difference]: Start difference. First operand 44 states. Second operand has 37 states, 20 states have (on average 1.2) internal successors, (24), 21 states have internal predecessors, (24), 12 states have call successors, (12), 5 states have call predecessors, (12), 4 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-15 15:36:35,417 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:36:35,417 INFO L93 Difference]: Finished difference Result 44 states and 58 transitions. [2022-04-15 15:36:35,417 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 58 transitions. [2022-04-15 15:36:35,417 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 15:36:35,418 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 15:36:35,418 INFO L74 IsIncluded]: Start isIncluded. First operand has 37 states, 20 states have (on average 1.2) internal successors, (24), 21 states have internal predecessors, (24), 12 states have call successors, (12), 5 states have call predecessors, (12), 4 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand 44 states. [2022-04-15 15:36:35,418 INFO L87 Difference]: Start difference. First operand has 37 states, 20 states have (on average 1.2) internal successors, (24), 21 states have internal predecessors, (24), 12 states have call successors, (12), 5 states have call predecessors, (12), 4 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand 44 states. [2022-04-15 15:36:35,420 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:36:35,420 INFO L93 Difference]: Finished difference Result 44 states and 58 transitions. [2022-04-15 15:36:35,420 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 58 transitions. [2022-04-15 15:36:35,421 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 15:36:35,421 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 15:36:35,421 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 15:36:35,421 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 15:36:35,421 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 37 states, 20 states have (on average 1.2) internal successors, (24), 21 states have internal predecessors, (24), 12 states have call successors, (12), 5 states have call predecessors, (12), 4 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-15 15:36:35,422 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 37 states to 37 states and 46 transitions. [2022-04-15 15:36:35,422 INFO L78 Accepts]: Start accepts. Automaton has 37 states and 46 transitions. Word has length 28 [2022-04-15 15:36:35,423 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 15:36:35,423 INFO L478 AbstractCegarLoop]: Abstraction has 37 states and 46 transitions. [2022-04-15 15:36:35,423 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 2.0) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-04-15 15:36:35,423 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 37 states and 46 transitions. [2022-04-15 15:36:35,473 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 46 edges. 46 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 15:36:35,473 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states and 46 transitions. [2022-04-15 15:36:35,474 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 34 [2022-04-15 15:36:35,474 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 15:36:35,474 INFO L499 BasicCegarLoop]: trace histogram [3, 3, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 15:36:35,474 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1 [2022-04-15 15:36:35,475 INFO L403 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 15:36:35,475 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 15:36:35,475 INFO L85 PathProgramCache]: Analyzing trace with hash 1382067636, now seen corresponding path program 1 times [2022-04-15 15:36:35,475 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 15:36:35,477 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [737562568] [2022-04-15 15:36:35,477 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 15:36:35,478 INFO L85 PathProgramCache]: Analyzing trace with hash 1382067636, now seen corresponding path program 2 times [2022-04-15 15:36:35,478 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 15:36:35,478 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1642486714] [2022-04-15 15:36:35,478 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 15:36:35,478 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 15:36:35,495 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 15:36:35,544 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 15:36:35,546 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 15:36:35,564 INFO L290 TraceCheckUtils]: 0: Hoare triple {640#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {616#true} is VALID [2022-04-15 15:36:35,564 INFO L290 TraceCheckUtils]: 1: Hoare triple {616#true} assume true; {616#true} is VALID [2022-04-15 15:36:35,564 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {616#true} {616#true} #101#return; {616#true} is VALID [2022-04-15 15:36:35,565 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-15 15:36:35,566 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 15:36:35,568 INFO L290 TraceCheckUtils]: 0: Hoare triple {616#true} ~cond := #in~cond; {616#true} is VALID [2022-04-15 15:36:35,569 INFO L290 TraceCheckUtils]: 1: Hoare triple {616#true} assume !(0 == ~cond); {616#true} is VALID [2022-04-15 15:36:35,569 INFO L290 TraceCheckUtils]: 2: Hoare triple {616#true} assume true; {616#true} is VALID [2022-04-15 15:36:35,569 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {616#true} {616#true} #81#return; {616#true} is VALID [2022-04-15 15:36:35,569 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-04-15 15:36:35,569 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 15:36:35,572 INFO L290 TraceCheckUtils]: 0: Hoare triple {616#true} ~cond := #in~cond; {616#true} is VALID [2022-04-15 15:36:35,572 INFO L290 TraceCheckUtils]: 1: Hoare triple {616#true} assume !(0 == ~cond); {616#true} is VALID [2022-04-15 15:36:35,572 INFO L290 TraceCheckUtils]: 2: Hoare triple {616#true} assume true; {616#true} is VALID [2022-04-15 15:36:35,573 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {616#true} {616#true} #83#return; {616#true} is VALID [2022-04-15 15:36:35,573 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-15 15:36:35,573 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 15:36:35,576 INFO L290 TraceCheckUtils]: 0: Hoare triple {616#true} ~cond := #in~cond; {616#true} is VALID [2022-04-15 15:36:35,576 INFO L290 TraceCheckUtils]: 1: Hoare triple {616#true} assume !(0 == ~cond); {616#true} is VALID [2022-04-15 15:36:35,576 INFO L290 TraceCheckUtils]: 2: Hoare triple {616#true} assume true; {616#true} is VALID [2022-04-15 15:36:35,576 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {616#true} {616#true} #85#return; {616#true} is VALID [2022-04-15 15:36:35,576 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 24 [2022-04-15 15:36:35,578 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 15:36:35,591 INFO L290 TraceCheckUtils]: 0: Hoare triple {616#true} ~cond := #in~cond; {616#true} is VALID [2022-04-15 15:36:35,591 INFO L290 TraceCheckUtils]: 1: Hoare triple {616#true} assume !(0 == ~cond); {616#true} is VALID [2022-04-15 15:36:35,591 INFO L290 TraceCheckUtils]: 2: Hoare triple {616#true} assume true; {616#true} is VALID [2022-04-15 15:36:35,592 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {616#true} {633#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} #87#return; {633#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} is VALID [2022-04-15 15:36:35,592 INFO L272 TraceCheckUtils]: 0: Hoare triple {616#true} call ULTIMATE.init(); {640#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-15 15:36:35,592 INFO L290 TraceCheckUtils]: 1: Hoare triple {640#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {616#true} is VALID [2022-04-15 15:36:35,592 INFO L290 TraceCheckUtils]: 2: Hoare triple {616#true} assume true; {616#true} is VALID [2022-04-15 15:36:35,592 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {616#true} {616#true} #101#return; {616#true} is VALID [2022-04-15 15:36:35,593 INFO L272 TraceCheckUtils]: 4: Hoare triple {616#true} call #t~ret6 := main(); {616#true} is VALID [2022-04-15 15:36:35,593 INFO L290 TraceCheckUtils]: 5: Hoare triple {616#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4; {616#true} is VALID [2022-04-15 15:36:35,593 INFO L272 TraceCheckUtils]: 6: Hoare triple {616#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 1 then 1 else 0)); {616#true} is VALID [2022-04-15 15:36:35,593 INFO L290 TraceCheckUtils]: 7: Hoare triple {616#true} ~cond := #in~cond; {616#true} is VALID [2022-04-15 15:36:35,593 INFO L290 TraceCheckUtils]: 8: Hoare triple {616#true} assume !(0 == ~cond); {616#true} is VALID [2022-04-15 15:36:35,593 INFO L290 TraceCheckUtils]: 9: Hoare triple {616#true} assume true; {616#true} is VALID [2022-04-15 15:36:35,593 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {616#true} {616#true} #81#return; {616#true} is VALID [2022-04-15 15:36:35,593 INFO L290 TraceCheckUtils]: 11: Hoare triple {616#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {616#true} is VALID [2022-04-15 15:36:35,593 INFO L272 TraceCheckUtils]: 12: Hoare triple {616#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 1 then 1 else 0)); {616#true} is VALID [2022-04-15 15:36:35,593 INFO L290 TraceCheckUtils]: 13: Hoare triple {616#true} ~cond := #in~cond; {616#true} is VALID [2022-04-15 15:36:35,594 INFO L290 TraceCheckUtils]: 14: Hoare triple {616#true} assume !(0 == ~cond); {616#true} is VALID [2022-04-15 15:36:35,594 INFO L290 TraceCheckUtils]: 15: Hoare triple {616#true} assume true; {616#true} is VALID [2022-04-15 15:36:35,594 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {616#true} {616#true} #83#return; {616#true} is VALID [2022-04-15 15:36:35,594 INFO L272 TraceCheckUtils]: 17: Hoare triple {616#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {616#true} is VALID [2022-04-15 15:36:35,594 INFO L290 TraceCheckUtils]: 18: Hoare triple {616#true} ~cond := #in~cond; {616#true} is VALID [2022-04-15 15:36:35,594 INFO L290 TraceCheckUtils]: 19: Hoare triple {616#true} assume !(0 == ~cond); {616#true} is VALID [2022-04-15 15:36:35,594 INFO L290 TraceCheckUtils]: 20: Hoare triple {616#true} assume true; {616#true} is VALID [2022-04-15 15:36:35,594 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {616#true} {616#true} #85#return; {616#true} is VALID [2022-04-15 15:36:35,596 INFO L290 TraceCheckUtils]: 22: Hoare triple {616#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {633#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} is VALID [2022-04-15 15:36:35,596 INFO L290 TraceCheckUtils]: 23: Hoare triple {633#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} assume !false; {633#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} is VALID [2022-04-15 15:36:35,596 INFO L272 TraceCheckUtils]: 24: Hoare triple {633#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {616#true} is VALID [2022-04-15 15:36:35,596 INFO L290 TraceCheckUtils]: 25: Hoare triple {616#true} ~cond := #in~cond; {616#true} is VALID [2022-04-15 15:36:35,597 INFO L290 TraceCheckUtils]: 26: Hoare triple {616#true} assume !(0 == ~cond); {616#true} is VALID [2022-04-15 15:36:35,597 INFO L290 TraceCheckUtils]: 27: Hoare triple {616#true} assume true; {616#true} is VALID [2022-04-15 15:36:35,597 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {616#true} {633#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} #87#return; {633#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} is VALID [2022-04-15 15:36:35,598 INFO L272 TraceCheckUtils]: 29: Hoare triple {633#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {638#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 15:36:35,598 INFO L290 TraceCheckUtils]: 30: Hoare triple {638#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {639#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 15:36:35,598 INFO L290 TraceCheckUtils]: 31: Hoare triple {639#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {617#false} is VALID [2022-04-15 15:36:35,599 INFO L290 TraceCheckUtils]: 32: Hoare triple {617#false} assume !false; {617#false} is VALID [2022-04-15 15:36:35,599 INFO L134 CoverageAnalysis]: Checked inductivity of 14 backedges. 2 proven. 0 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-15 15:36:35,599 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 15:36:35,599 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1642486714] [2022-04-15 15:36:35,599 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1642486714] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 15:36:35,599 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 15:36:35,599 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-15 15:36:35,599 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 15:36:35,600 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [737562568] [2022-04-15 15:36:35,600 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [737562568] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 15:36:35,600 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 15:36:35,600 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-15 15:36:35,600 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [605398461] [2022-04-15 15:36:35,600 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 15:36:35,600 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 2.5) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (7), 3 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) Word has length 33 [2022-04-15 15:36:35,600 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 15:36:35,601 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 2.5) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (7), 3 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-15 15:36:35,617 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 27 edges. 27 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 15:36:35,617 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-15 15:36:35,618 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 15:36:35,618 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-15 15:36:35,618 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2022-04-15 15:36:35,619 INFO L87 Difference]: Start difference. First operand 37 states and 46 transitions. Second operand has 6 states, 6 states have (on average 2.5) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (7), 3 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-15 15:36:36,009 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:36:36,010 INFO L93 Difference]: Finished difference Result 50 states and 63 transitions. [2022-04-15 15:36:36,010 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-04-15 15:36:36,010 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 2.5) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (7), 3 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) Word has length 33 [2022-04-15 15:36:36,010 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 15:36:36,010 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 2.5) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (7), 3 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-15 15:36:36,011 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 60 transitions. [2022-04-15 15:36:36,012 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 2.5) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (7), 3 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-15 15:36:36,013 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 60 transitions. [2022-04-15 15:36:36,013 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 7 states and 60 transitions. [2022-04-15 15:36:36,066 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 60 edges. 60 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 15:36:36,069 INFO L225 Difference]: With dead ends: 50 [2022-04-15 15:36:36,069 INFO L226 Difference]: Without dead ends: 48 [2022-04-15 15:36:36,069 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 19 GetRequests, 11 SyntacticMatches, 0 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 4 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=28, Invalid=62, Unknown=0, NotChecked=0, Total=90 [2022-04-15 15:36:36,070 INFO L913 BasicCegarLoop]: 31 mSDtfsCounter, 33 mSDsluCounter, 17 mSDsCounter, 0 mSdLazyCounter, 132 mSolverCounterSat, 28 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 39 SdHoareTripleChecker+Valid, 48 SdHoareTripleChecker+Invalid, 160 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 28 IncrementalHoareTripleChecker+Valid, 132 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-15 15:36:36,070 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [39 Valid, 48 Invalid, 160 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [28 Valid, 132 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-15 15:36:36,070 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 48 states. [2022-04-15 15:36:36,078 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 48 to 41. [2022-04-15 15:36:36,078 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 15:36:36,078 INFO L82 GeneralOperation]: Start isEquivalent. First operand 48 states. Second operand has 41 states, 23 states have (on average 1.173913043478261) internal successors, (27), 24 states have internal predecessors, (27), 12 states have call successors, (12), 6 states have call predecessors, (12), 5 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-15 15:36:36,078 INFO L74 IsIncluded]: Start isIncluded. First operand 48 states. Second operand has 41 states, 23 states have (on average 1.173913043478261) internal successors, (27), 24 states have internal predecessors, (27), 12 states have call successors, (12), 6 states have call predecessors, (12), 5 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-15 15:36:36,079 INFO L87 Difference]: Start difference. First operand 48 states. Second operand has 41 states, 23 states have (on average 1.173913043478261) internal successors, (27), 24 states have internal predecessors, (27), 12 states have call successors, (12), 6 states have call predecessors, (12), 5 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-15 15:36:36,081 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:36:36,081 INFO L93 Difference]: Finished difference Result 48 states and 61 transitions. [2022-04-15 15:36:36,081 INFO L276 IsEmpty]: Start isEmpty. Operand 48 states and 61 transitions. [2022-04-15 15:36:36,082 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 15:36:36,082 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 15:36:36,082 INFO L74 IsIncluded]: Start isIncluded. First operand has 41 states, 23 states have (on average 1.173913043478261) internal successors, (27), 24 states have internal predecessors, (27), 12 states have call successors, (12), 6 states have call predecessors, (12), 5 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand 48 states. [2022-04-15 15:36:36,082 INFO L87 Difference]: Start difference. First operand has 41 states, 23 states have (on average 1.173913043478261) internal successors, (27), 24 states have internal predecessors, (27), 12 states have call successors, (12), 6 states have call predecessors, (12), 5 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand 48 states. [2022-04-15 15:36:36,084 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:36:36,084 INFO L93 Difference]: Finished difference Result 48 states and 61 transitions. [2022-04-15 15:36:36,084 INFO L276 IsEmpty]: Start isEmpty. Operand 48 states and 61 transitions. [2022-04-15 15:36:36,085 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 15:36:36,085 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 15:36:36,085 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 15:36:36,085 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 15:36:36,085 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 41 states, 23 states have (on average 1.173913043478261) internal successors, (27), 24 states have internal predecessors, (27), 12 states have call successors, (12), 6 states have call predecessors, (12), 5 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-15 15:36:36,086 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 41 states to 41 states and 49 transitions. [2022-04-15 15:36:36,086 INFO L78 Accepts]: Start accepts. Automaton has 41 states and 49 transitions. Word has length 33 [2022-04-15 15:36:36,087 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 15:36:36,087 INFO L478 AbstractCegarLoop]: Abstraction has 41 states and 49 transitions. [2022-04-15 15:36:36,087 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 2.5) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (7), 3 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-15 15:36:36,087 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 41 states and 49 transitions. [2022-04-15 15:36:36,139 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 49 edges. 49 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 15:36:36,139 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 49 transitions. [2022-04-15 15:36:36,140 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 39 [2022-04-15 15:36:36,140 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 15:36:36,140 INFO L499 BasicCegarLoop]: trace histogram [3, 3, 3, 3, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 15:36:36,140 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable2 [2022-04-15 15:36:36,140 INFO L403 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 15:36:36,141 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 15:36:36,141 INFO L85 PathProgramCache]: Analyzing trace with hash -1455208590, now seen corresponding path program 1 times [2022-04-15 15:36:36,141 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 15:36:36,141 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2055668744] [2022-04-15 15:36:36,141 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 15:36:36,141 INFO L85 PathProgramCache]: Analyzing trace with hash -1455208590, now seen corresponding path program 2 times [2022-04-15 15:36:36,141 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 15:36:36,141 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1703741356] [2022-04-15 15:36:36,141 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 15:36:36,141 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 15:36:36,154 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 15:36:36,155 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1571644785] [2022-04-15 15:36:36,155 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 15:36:36,155 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 15:36:36,155 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 15:36:36,165 INFO L229 MonitoredProcess]: Starting monitored process 2 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 15:36:36,165 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Waiting until timeout for monitored process [2022-04-15 15:36:36,201 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 15:36:36,201 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 15:36:36,203 INFO L263 TraceCheckSpWp]: Trace formula consists of 106 conjuncts, 17 conjunts are in the unsatisfiable core [2022-04-15 15:36:36,225 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 15:36:36,228 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 15:36:37,076 INFO L272 TraceCheckUtils]: 0: Hoare triple {929#true} call ULTIMATE.init(); {929#true} is VALID [2022-04-15 15:36:37,077 INFO L290 TraceCheckUtils]: 1: Hoare triple {929#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {929#true} is VALID [2022-04-15 15:36:37,077 INFO L290 TraceCheckUtils]: 2: Hoare triple {929#true} assume true; {929#true} is VALID [2022-04-15 15:36:37,079 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {929#true} {929#true} #101#return; {929#true} is VALID [2022-04-15 15:36:37,079 INFO L272 TraceCheckUtils]: 4: Hoare triple {929#true} call #t~ret6 := main(); {929#true} is VALID [2022-04-15 15:36:37,079 INFO L290 TraceCheckUtils]: 5: Hoare triple {929#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4; {929#true} is VALID [2022-04-15 15:36:37,079 INFO L272 TraceCheckUtils]: 6: Hoare triple {929#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 1 then 1 else 0)); {929#true} is VALID [2022-04-15 15:36:37,079 INFO L290 TraceCheckUtils]: 7: Hoare triple {929#true} ~cond := #in~cond; {929#true} is VALID [2022-04-15 15:36:37,079 INFO L290 TraceCheckUtils]: 8: Hoare triple {929#true} assume !(0 == ~cond); {929#true} is VALID [2022-04-15 15:36:37,079 INFO L290 TraceCheckUtils]: 9: Hoare triple {929#true} assume true; {929#true} is VALID [2022-04-15 15:36:37,079 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {929#true} {929#true} #81#return; {929#true} is VALID [2022-04-15 15:36:37,081 INFO L290 TraceCheckUtils]: 11: Hoare triple {929#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {929#true} is VALID [2022-04-15 15:36:37,081 INFO L272 TraceCheckUtils]: 12: Hoare triple {929#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 1 then 1 else 0)); {929#true} is VALID [2022-04-15 15:36:37,081 INFO L290 TraceCheckUtils]: 13: Hoare triple {929#true} ~cond := #in~cond; {973#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-15 15:36:37,082 INFO L290 TraceCheckUtils]: 14: Hoare triple {973#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {977#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 15:36:37,082 INFO L290 TraceCheckUtils]: 15: Hoare triple {977#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {977#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 15:36:37,083 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {977#(not (= |assume_abort_if_not_#in~cond| 0))} {929#true} #83#return; {984#(<= (mod main_~B~0 4294967296) 1)} is VALID [2022-04-15 15:36:37,083 INFO L272 TraceCheckUtils]: 17: Hoare triple {984#(<= (mod main_~B~0 4294967296) 1)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {929#true} is VALID [2022-04-15 15:36:37,083 INFO L290 TraceCheckUtils]: 18: Hoare triple {929#true} ~cond := #in~cond; {973#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-15 15:36:37,083 INFO L290 TraceCheckUtils]: 19: Hoare triple {973#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {977#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 15:36:37,084 INFO L290 TraceCheckUtils]: 20: Hoare triple {977#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {977#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 15:36:37,084 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {977#(not (= |assume_abort_if_not_#in~cond| 0))} {984#(<= (mod main_~B~0 4294967296) 1)} #85#return; {1000#(and (<= (mod main_~B~0 4294967296) 1) (<= 1 (mod main_~B~0 4294967296)))} is VALID [2022-04-15 15:36:37,085 INFO L290 TraceCheckUtils]: 22: Hoare triple {1000#(and (<= (mod main_~B~0 4294967296) 1) (<= 1 (mod main_~B~0 4294967296)))} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {1004#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-15 15:36:37,085 INFO L290 TraceCheckUtils]: 23: Hoare triple {1004#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} assume !false; {1004#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-15 15:36:37,085 INFO L272 TraceCheckUtils]: 24: Hoare triple {1004#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {929#true} is VALID [2022-04-15 15:36:37,085 INFO L290 TraceCheckUtils]: 25: Hoare triple {929#true} ~cond := #in~cond; {929#true} is VALID [2022-04-15 15:36:37,085 INFO L290 TraceCheckUtils]: 26: Hoare triple {929#true} assume !(0 == ~cond); {929#true} is VALID [2022-04-15 15:36:37,086 INFO L290 TraceCheckUtils]: 27: Hoare triple {929#true} assume true; {929#true} is VALID [2022-04-15 15:36:37,086 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {929#true} {1004#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} #87#return; {1004#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-15 15:36:37,086 INFO L272 TraceCheckUtils]: 29: Hoare triple {1004#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {929#true} is VALID [2022-04-15 15:36:37,086 INFO L290 TraceCheckUtils]: 30: Hoare triple {929#true} ~cond := #in~cond; {929#true} is VALID [2022-04-15 15:36:37,086 INFO L290 TraceCheckUtils]: 31: Hoare triple {929#true} assume !(0 == ~cond); {929#true} is VALID [2022-04-15 15:36:37,093 INFO L290 TraceCheckUtils]: 32: Hoare triple {929#true} assume true; {929#true} is VALID [2022-04-15 15:36:37,099 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {929#true} {1004#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} #89#return; {1004#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-15 15:36:37,100 INFO L272 TraceCheckUtils]: 34: Hoare triple {1004#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {1041#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 15:36:37,101 INFO L290 TraceCheckUtils]: 35: Hoare triple {1041#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1045#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 15:36:37,101 INFO L290 TraceCheckUtils]: 36: Hoare triple {1045#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {930#false} is VALID [2022-04-15 15:36:37,102 INFO L290 TraceCheckUtils]: 37: Hoare triple {930#false} assume !false; {930#false} is VALID [2022-04-15 15:36:37,102 INFO L134 CoverageAnalysis]: Checked inductivity of 20 backedges. 10 proven. 0 refuted. 0 times theorem prover too weak. 10 trivial. 0 not checked. [2022-04-15 15:36:37,102 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-15 15:36:37,102 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 15:36:37,102 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1703741356] [2022-04-15 15:36:37,102 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 15:36:37,102 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1571644785] [2022-04-15 15:36:37,102 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1571644785] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 15:36:37,102 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 15:36:37,103 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-15 15:36:37,103 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 15:36:37,103 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2055668744] [2022-04-15 15:36:37,104 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2055668744] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 15:36:37,104 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 15:36:37,104 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-15 15:36:37,104 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [311726653] [2022-04-15 15:36:37,104 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 15:36:37,105 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 8 states have (on average 2.25) internal successors, (18), 6 states have internal predecessors, (18), 3 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 3 states have call successors, (6) Word has length 38 [2022-04-15 15:36:37,106 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 15:36:37,107 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 9 states, 8 states have (on average 2.25) internal successors, (18), 6 states have internal predecessors, (18), 3 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-15 15:36:37,124 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 32 edges. 32 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 15:36:37,125 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-15 15:36:37,125 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 15:36:37,125 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-15 15:36:37,126 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=18, Invalid=54, Unknown=0, NotChecked=0, Total=72 [2022-04-15 15:36:37,126 INFO L87 Difference]: Start difference. First operand 41 states and 49 transitions. Second operand has 9 states, 8 states have (on average 2.25) internal successors, (18), 6 states have internal predecessors, (18), 3 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-15 15:36:37,515 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:36:37,516 INFO L93 Difference]: Finished difference Result 69 states and 89 transitions. [2022-04-15 15:36:37,516 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-15 15:36:37,516 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 8 states have (on average 2.25) internal successors, (18), 6 states have internal predecessors, (18), 3 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 3 states have call successors, (6) Word has length 38 [2022-04-15 15:36:37,516 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 15:36:37,516 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 8 states have (on average 2.25) internal successors, (18), 6 states have internal predecessors, (18), 3 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-15 15:36:37,518 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 83 transitions. [2022-04-15 15:36:37,518 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 8 states have (on average 2.25) internal successors, (18), 6 states have internal predecessors, (18), 3 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-15 15:36:37,519 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 83 transitions. [2022-04-15 15:36:37,519 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 83 transitions. [2022-04-15 15:36:37,582 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 83 edges. 83 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 15:36:37,584 INFO L225 Difference]: With dead ends: 69 [2022-04-15 15:36:37,584 INFO L226 Difference]: Without dead ends: 55 [2022-04-15 15:36:37,584 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 39 GetRequests, 30 SyntacticMatches, 0 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 9 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=26, Invalid=84, Unknown=0, NotChecked=0, Total=110 [2022-04-15 15:36:37,585 INFO L913 BasicCegarLoop]: 40 mSDtfsCounter, 33 mSDsluCounter, 138 mSDsCounter, 0 mSdLazyCounter, 117 mSolverCounterSat, 19 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 44 SdHoareTripleChecker+Valid, 178 SdHoareTripleChecker+Invalid, 136 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 19 IncrementalHoareTripleChecker+Valid, 117 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-15 15:36:37,585 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [44 Valid, 178 Invalid, 136 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [19 Valid, 117 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-15 15:36:37,585 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 55 states. [2022-04-15 15:36:37,620 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 55 to 55. [2022-04-15 15:36:37,620 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 15:36:37,620 INFO L82 GeneralOperation]: Start isEquivalent. First operand 55 states. Second operand has 55 states, 30 states have (on average 1.1666666666666667) internal successors, (35), 32 states have internal predecessors, (35), 18 states have call successors, (18), 7 states have call predecessors, (18), 6 states have return successors, (15), 15 states have call predecessors, (15), 15 states have call successors, (15) [2022-04-15 15:36:37,620 INFO L74 IsIncluded]: Start isIncluded. First operand 55 states. Second operand has 55 states, 30 states have (on average 1.1666666666666667) internal successors, (35), 32 states have internal predecessors, (35), 18 states have call successors, (18), 7 states have call predecessors, (18), 6 states have return successors, (15), 15 states have call predecessors, (15), 15 states have call successors, (15) [2022-04-15 15:36:37,621 INFO L87 Difference]: Start difference. First operand 55 states. Second operand has 55 states, 30 states have (on average 1.1666666666666667) internal successors, (35), 32 states have internal predecessors, (35), 18 states have call successors, (18), 7 states have call predecessors, (18), 6 states have return successors, (15), 15 states have call predecessors, (15), 15 states have call successors, (15) [2022-04-15 15:36:37,623 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:36:37,623 INFO L93 Difference]: Finished difference Result 55 states and 68 transitions. [2022-04-15 15:36:37,623 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 68 transitions. [2022-04-15 15:36:37,623 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 15:36:37,623 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 15:36:37,624 INFO L74 IsIncluded]: Start isIncluded. First operand has 55 states, 30 states have (on average 1.1666666666666667) internal successors, (35), 32 states have internal predecessors, (35), 18 states have call successors, (18), 7 states have call predecessors, (18), 6 states have return successors, (15), 15 states have call predecessors, (15), 15 states have call successors, (15) Second operand 55 states. [2022-04-15 15:36:37,624 INFO L87 Difference]: Start difference. First operand has 55 states, 30 states have (on average 1.1666666666666667) internal successors, (35), 32 states have internal predecessors, (35), 18 states have call successors, (18), 7 states have call predecessors, (18), 6 states have return successors, (15), 15 states have call predecessors, (15), 15 states have call successors, (15) Second operand 55 states. [2022-04-15 15:36:37,630 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:36:37,630 INFO L93 Difference]: Finished difference Result 55 states and 68 transitions. [2022-04-15 15:36:37,630 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 68 transitions. [2022-04-15 15:36:37,630 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 15:36:37,631 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 15:36:37,631 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 15:36:37,631 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 15:36:37,631 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 55 states, 30 states have (on average 1.1666666666666667) internal successors, (35), 32 states have internal predecessors, (35), 18 states have call successors, (18), 7 states have call predecessors, (18), 6 states have return successors, (15), 15 states have call predecessors, (15), 15 states have call successors, (15) [2022-04-15 15:36:37,632 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 55 states to 55 states and 68 transitions. [2022-04-15 15:36:37,633 INFO L78 Accepts]: Start accepts. Automaton has 55 states and 68 transitions. Word has length 38 [2022-04-15 15:36:37,633 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 15:36:37,633 INFO L478 AbstractCegarLoop]: Abstraction has 55 states and 68 transitions. [2022-04-15 15:36:37,633 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 8 states have (on average 2.25) internal successors, (18), 6 states have internal predecessors, (18), 3 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-15 15:36:37,633 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 55 states and 68 transitions. [2022-04-15 15:36:37,712 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 68 edges. 68 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 15:36:37,712 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 68 transitions. [2022-04-15 15:36:37,714 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 46 [2022-04-15 15:36:37,714 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 15:36:37,714 INFO L499 BasicCegarLoop]: trace histogram [4, 3, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 15:36:37,730 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Ended with exit code 0 [2022-04-15 15:36:37,915 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3,2 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 15:36:37,915 INFO L403 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 15:36:37,915 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 15:36:37,915 INFO L85 PathProgramCache]: Analyzing trace with hash -1688067263, now seen corresponding path program 1 times [2022-04-15 15:36:37,916 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 15:36:37,916 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1035486571] [2022-04-15 15:36:37,916 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 15:36:37,916 INFO L85 PathProgramCache]: Analyzing trace with hash -1688067263, now seen corresponding path program 2 times [2022-04-15 15:36:37,916 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 15:36:37,916 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1516640243] [2022-04-15 15:36:37,916 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 15:36:37,916 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 15:36:37,928 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 15:36:37,929 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [813936645] [2022-04-15 15:36:37,929 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 15:36:37,929 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 15:36:37,929 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 15:36:37,931 INFO L229 MonitoredProcess]: Starting monitored process 3 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 15:36:37,932 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Waiting until timeout for monitored process [2022-04-15 15:36:37,969 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 15:36:37,970 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 15:36:37,971 INFO L263 TraceCheckSpWp]: Trace formula consists of 117 conjuncts, 13 conjunts are in the unsatisfiable core [2022-04-15 15:36:37,983 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 15:36:37,984 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 15:36:39,367 INFO L272 TraceCheckUtils]: 0: Hoare triple {1413#true} call ULTIMATE.init(); {1413#true} is VALID [2022-04-15 15:36:39,367 INFO L290 TraceCheckUtils]: 1: Hoare triple {1413#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {1413#true} is VALID [2022-04-15 15:36:39,367 INFO L290 TraceCheckUtils]: 2: Hoare triple {1413#true} assume true; {1413#true} is VALID [2022-04-15 15:36:39,367 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1413#true} {1413#true} #101#return; {1413#true} is VALID [2022-04-15 15:36:39,367 INFO L272 TraceCheckUtils]: 4: Hoare triple {1413#true} call #t~ret6 := main(); {1413#true} is VALID [2022-04-15 15:36:39,367 INFO L290 TraceCheckUtils]: 5: Hoare triple {1413#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4; {1413#true} is VALID [2022-04-15 15:36:39,367 INFO L272 TraceCheckUtils]: 6: Hoare triple {1413#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 1 then 1 else 0)); {1413#true} is VALID [2022-04-15 15:36:39,368 INFO L290 TraceCheckUtils]: 7: Hoare triple {1413#true} ~cond := #in~cond; {1413#true} is VALID [2022-04-15 15:36:39,368 INFO L290 TraceCheckUtils]: 8: Hoare triple {1413#true} assume !(0 == ~cond); {1413#true} is VALID [2022-04-15 15:36:39,368 INFO L290 TraceCheckUtils]: 9: Hoare triple {1413#true} assume true; {1413#true} is VALID [2022-04-15 15:36:39,368 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1413#true} {1413#true} #81#return; {1413#true} is VALID [2022-04-15 15:36:39,368 INFO L290 TraceCheckUtils]: 11: Hoare triple {1413#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {1413#true} is VALID [2022-04-15 15:36:39,368 INFO L272 TraceCheckUtils]: 12: Hoare triple {1413#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 1 then 1 else 0)); {1413#true} is VALID [2022-04-15 15:36:39,372 INFO L290 TraceCheckUtils]: 13: Hoare triple {1413#true} ~cond := #in~cond; {1457#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-15 15:36:39,372 INFO L290 TraceCheckUtils]: 14: Hoare triple {1457#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {1461#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 15:36:39,372 INFO L290 TraceCheckUtils]: 15: Hoare triple {1461#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1461#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 15:36:39,373 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1461#(not (= |assume_abort_if_not_#in~cond| 0))} {1413#true} #83#return; {1468#(<= (mod main_~B~0 4294967296) 1)} is VALID [2022-04-15 15:36:39,373 INFO L272 TraceCheckUtils]: 17: Hoare triple {1468#(<= (mod main_~B~0 4294967296) 1)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {1413#true} is VALID [2022-04-15 15:36:39,373 INFO L290 TraceCheckUtils]: 18: Hoare triple {1413#true} ~cond := #in~cond; {1413#true} is VALID [2022-04-15 15:36:39,373 INFO L290 TraceCheckUtils]: 19: Hoare triple {1413#true} assume !(0 == ~cond); {1413#true} is VALID [2022-04-15 15:36:39,373 INFO L290 TraceCheckUtils]: 20: Hoare triple {1413#true} assume true; {1413#true} is VALID [2022-04-15 15:36:39,374 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1413#true} {1468#(<= (mod main_~B~0 4294967296) 1)} #85#return; {1468#(<= (mod main_~B~0 4294967296) 1)} is VALID [2022-04-15 15:36:39,374 INFO L290 TraceCheckUtils]: 22: Hoare triple {1468#(<= (mod main_~B~0 4294967296) 1)} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {1487#(and (<= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} is VALID [2022-04-15 15:36:39,374 INFO L290 TraceCheckUtils]: 23: Hoare triple {1487#(and (<= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} assume !false; {1487#(and (<= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} is VALID [2022-04-15 15:36:39,375 INFO L272 TraceCheckUtils]: 24: Hoare triple {1487#(and (<= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {1413#true} is VALID [2022-04-15 15:36:39,375 INFO L290 TraceCheckUtils]: 25: Hoare triple {1413#true} ~cond := #in~cond; {1413#true} is VALID [2022-04-15 15:36:39,375 INFO L290 TraceCheckUtils]: 26: Hoare triple {1413#true} assume !(0 == ~cond); {1413#true} is VALID [2022-04-15 15:36:39,375 INFO L290 TraceCheckUtils]: 27: Hoare triple {1413#true} assume true; {1413#true} is VALID [2022-04-15 15:36:39,375 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {1413#true} {1487#(and (<= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} #87#return; {1487#(and (<= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} is VALID [2022-04-15 15:36:39,375 INFO L272 TraceCheckUtils]: 29: Hoare triple {1487#(and (<= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {1413#true} is VALID [2022-04-15 15:36:39,376 INFO L290 TraceCheckUtils]: 30: Hoare triple {1413#true} ~cond := #in~cond; {1413#true} is VALID [2022-04-15 15:36:39,376 INFO L290 TraceCheckUtils]: 31: Hoare triple {1413#true} assume !(0 == ~cond); {1413#true} is VALID [2022-04-15 15:36:39,376 INFO L290 TraceCheckUtils]: 32: Hoare triple {1413#true} assume true; {1413#true} is VALID [2022-04-15 15:36:39,376 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {1413#true} {1487#(and (<= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} #89#return; {1487#(and (<= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} is VALID [2022-04-15 15:36:39,376 INFO L272 TraceCheckUtils]: 34: Hoare triple {1487#(and (<= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {1413#true} is VALID [2022-04-15 15:36:39,376 INFO L290 TraceCheckUtils]: 35: Hoare triple {1413#true} ~cond := #in~cond; {1413#true} is VALID [2022-04-15 15:36:39,377 INFO L290 TraceCheckUtils]: 36: Hoare triple {1413#true} assume !(0 == ~cond); {1413#true} is VALID [2022-04-15 15:36:39,377 INFO L290 TraceCheckUtils]: 37: Hoare triple {1413#true} assume true; {1413#true} is VALID [2022-04-15 15:36:39,378 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {1413#true} {1487#(and (<= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} #91#return; {1487#(and (<= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} is VALID [2022-04-15 15:36:39,379 INFO L290 TraceCheckUtils]: 39: Hoare triple {1487#(and (<= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} assume !(~r~0 >= ~d~0); {1539#(and (< main_~r~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} is VALID [2022-04-15 15:36:39,379 INFO L290 TraceCheckUtils]: 40: Hoare triple {1539#(and (< main_~r~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} assume !false; {1539#(and (< main_~r~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} is VALID [2022-04-15 15:36:39,380 INFO L272 TraceCheckUtils]: 41: Hoare triple {1539#(and (< main_~r~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {1546#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 15:36:39,380 INFO L290 TraceCheckUtils]: 42: Hoare triple {1546#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1550#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 15:36:39,381 INFO L290 TraceCheckUtils]: 43: Hoare triple {1550#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1414#false} is VALID [2022-04-15 15:36:39,381 INFO L290 TraceCheckUtils]: 44: Hoare triple {1414#false} assume !false; {1414#false} is VALID [2022-04-15 15:36:39,381 INFO L134 CoverageAnalysis]: Checked inductivity of 30 backedges. 9 proven. 3 refuted. 0 times theorem prover too weak. 18 trivial. 0 not checked. [2022-04-15 15:36:39,381 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 15:36:40,240 INFO L290 TraceCheckUtils]: 44: Hoare triple {1414#false} assume !false; {1414#false} is VALID [2022-04-15 15:36:40,240 INFO L290 TraceCheckUtils]: 43: Hoare triple {1550#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1414#false} is VALID [2022-04-15 15:36:40,241 INFO L290 TraceCheckUtils]: 42: Hoare triple {1546#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1550#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 15:36:40,241 INFO L272 TraceCheckUtils]: 41: Hoare triple {1566#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {1546#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 15:36:40,242 INFO L290 TraceCheckUtils]: 40: Hoare triple {1566#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} assume !false; {1566#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} is VALID [2022-04-15 15:36:40,242 INFO L290 TraceCheckUtils]: 39: Hoare triple {1573#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} assume !(~r~0 >= ~d~0); {1566#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} is VALID [2022-04-15 15:36:40,243 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {1413#true} {1573#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} #91#return; {1573#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} is VALID [2022-04-15 15:36:40,243 INFO L290 TraceCheckUtils]: 37: Hoare triple {1413#true} assume true; {1413#true} is VALID [2022-04-15 15:36:40,243 INFO L290 TraceCheckUtils]: 36: Hoare triple {1413#true} assume !(0 == ~cond); {1413#true} is VALID [2022-04-15 15:36:40,243 INFO L290 TraceCheckUtils]: 35: Hoare triple {1413#true} ~cond := #in~cond; {1413#true} is VALID [2022-04-15 15:36:40,243 INFO L272 TraceCheckUtils]: 34: Hoare triple {1573#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {1413#true} is VALID [2022-04-15 15:36:40,243 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {1413#true} {1573#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} #89#return; {1573#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} is VALID [2022-04-15 15:36:40,244 INFO L290 TraceCheckUtils]: 32: Hoare triple {1413#true} assume true; {1413#true} is VALID [2022-04-15 15:36:40,244 INFO L290 TraceCheckUtils]: 31: Hoare triple {1413#true} assume !(0 == ~cond); {1413#true} is VALID [2022-04-15 15:36:40,244 INFO L290 TraceCheckUtils]: 30: Hoare triple {1413#true} ~cond := #in~cond; {1413#true} is VALID [2022-04-15 15:36:40,244 INFO L272 TraceCheckUtils]: 29: Hoare triple {1573#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {1413#true} is VALID [2022-04-15 15:36:40,244 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {1413#true} {1573#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} #87#return; {1573#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} is VALID [2022-04-15 15:36:40,244 INFO L290 TraceCheckUtils]: 27: Hoare triple {1413#true} assume true; {1413#true} is VALID [2022-04-15 15:36:40,244 INFO L290 TraceCheckUtils]: 26: Hoare triple {1413#true} assume !(0 == ~cond); {1413#true} is VALID [2022-04-15 15:36:40,245 INFO L290 TraceCheckUtils]: 25: Hoare triple {1413#true} ~cond := #in~cond; {1413#true} is VALID [2022-04-15 15:36:40,245 INFO L272 TraceCheckUtils]: 24: Hoare triple {1573#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {1413#true} is VALID [2022-04-15 15:36:40,245 INFO L290 TraceCheckUtils]: 23: Hoare triple {1573#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} assume !false; {1573#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} is VALID [2022-04-15 15:36:40,250 INFO L290 TraceCheckUtils]: 22: Hoare triple {1468#(<= (mod main_~B~0 4294967296) 1)} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {1573#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} is VALID [2022-04-15 15:36:40,250 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1413#true} {1468#(<= (mod main_~B~0 4294967296) 1)} #85#return; {1468#(<= (mod main_~B~0 4294967296) 1)} is VALID [2022-04-15 15:36:40,250 INFO L290 TraceCheckUtils]: 20: Hoare triple {1413#true} assume true; {1413#true} is VALID [2022-04-15 15:36:40,250 INFO L290 TraceCheckUtils]: 19: Hoare triple {1413#true} assume !(0 == ~cond); {1413#true} is VALID [2022-04-15 15:36:40,250 INFO L290 TraceCheckUtils]: 18: Hoare triple {1413#true} ~cond := #in~cond; {1413#true} is VALID [2022-04-15 15:36:40,251 INFO L272 TraceCheckUtils]: 17: Hoare triple {1468#(<= (mod main_~B~0 4294967296) 1)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {1413#true} is VALID [2022-04-15 15:36:40,251 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1461#(not (= |assume_abort_if_not_#in~cond| 0))} {1413#true} #83#return; {1468#(<= (mod main_~B~0 4294967296) 1)} is VALID [2022-04-15 15:36:40,251 INFO L290 TraceCheckUtils]: 15: Hoare triple {1461#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1461#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 15:36:40,252 INFO L290 TraceCheckUtils]: 14: Hoare triple {1652#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} assume !(0 == ~cond); {1461#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 15:36:40,252 INFO L290 TraceCheckUtils]: 13: Hoare triple {1413#true} ~cond := #in~cond; {1652#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-04-15 15:36:40,252 INFO L272 TraceCheckUtils]: 12: Hoare triple {1413#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 1 then 1 else 0)); {1413#true} is VALID [2022-04-15 15:36:40,252 INFO L290 TraceCheckUtils]: 11: Hoare triple {1413#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {1413#true} is VALID [2022-04-15 15:36:40,252 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1413#true} {1413#true} #81#return; {1413#true} is VALID [2022-04-15 15:36:40,252 INFO L290 TraceCheckUtils]: 9: Hoare triple {1413#true} assume true; {1413#true} is VALID [2022-04-15 15:36:40,252 INFO L290 TraceCheckUtils]: 8: Hoare triple {1413#true} assume !(0 == ~cond); {1413#true} is VALID [2022-04-15 15:36:40,253 INFO L290 TraceCheckUtils]: 7: Hoare triple {1413#true} ~cond := #in~cond; {1413#true} is VALID [2022-04-15 15:36:40,253 INFO L272 TraceCheckUtils]: 6: Hoare triple {1413#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 1 then 1 else 0)); {1413#true} is VALID [2022-04-15 15:36:40,253 INFO L290 TraceCheckUtils]: 5: Hoare triple {1413#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4; {1413#true} is VALID [2022-04-15 15:36:40,253 INFO L272 TraceCheckUtils]: 4: Hoare triple {1413#true} call #t~ret6 := main(); {1413#true} is VALID [2022-04-15 15:36:40,253 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1413#true} {1413#true} #101#return; {1413#true} is VALID [2022-04-15 15:36:40,253 INFO L290 TraceCheckUtils]: 2: Hoare triple {1413#true} assume true; {1413#true} is VALID [2022-04-15 15:36:40,253 INFO L290 TraceCheckUtils]: 1: Hoare triple {1413#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {1413#true} is VALID [2022-04-15 15:36:40,253 INFO L272 TraceCheckUtils]: 0: Hoare triple {1413#true} call ULTIMATE.init(); {1413#true} is VALID [2022-04-15 15:36:40,253 INFO L134 CoverageAnalysis]: Checked inductivity of 30 backedges. 9 proven. 3 refuted. 0 times theorem prover too weak. 18 trivial. 0 not checked. [2022-04-15 15:36:40,253 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 15:36:40,253 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1516640243] [2022-04-15 15:36:40,254 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 15:36:40,254 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [813936645] [2022-04-15 15:36:40,254 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [813936645] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 15:36:40,254 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 15:36:40,254 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 9] total 12 [2022-04-15 15:36:40,254 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 15:36:40,254 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1035486571] [2022-04-15 15:36:40,254 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1035486571] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 15:36:40,254 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 15:36:40,254 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-15 15:36:40,254 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1932527524] [2022-04-15 15:36:40,254 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 15:36:40,255 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 2.2222222222222223) internal successors, (20), 7 states have internal predecessors, (20), 4 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 3 states have call predecessors, (7), 3 states have call successors, (7) Word has length 45 [2022-04-15 15:36:40,255 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 15:36:40,255 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 9 states, 9 states have (on average 2.2222222222222223) internal successors, (20), 7 states have internal predecessors, (20), 4 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 3 states have call predecessors, (7), 3 states have call successors, (7) [2022-04-15 15:36:40,280 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 36 edges. 36 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 15:36:40,280 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-15 15:36:40,280 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 15:36:40,281 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-15 15:36:40,281 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=29, Invalid=103, Unknown=0, NotChecked=0, Total=132 [2022-04-15 15:36:40,281 INFO L87 Difference]: Start difference. First operand 55 states and 68 transitions. Second operand has 9 states, 9 states have (on average 2.2222222222222223) internal successors, (20), 7 states have internal predecessors, (20), 4 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 3 states have call predecessors, (7), 3 states have call successors, (7) [2022-04-15 15:36:40,788 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:36:40,788 INFO L93 Difference]: Finished difference Result 65 states and 76 transitions. [2022-04-15 15:36:40,788 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-15 15:36:40,788 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 2.2222222222222223) internal successors, (20), 7 states have internal predecessors, (20), 4 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 3 states have call predecessors, (7), 3 states have call successors, (7) Word has length 45 [2022-04-15 15:36:40,789 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 15:36:40,789 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 2.2222222222222223) internal successors, (20), 7 states have internal predecessors, (20), 4 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 3 states have call predecessors, (7), 3 states have call successors, (7) [2022-04-15 15:36:40,796 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 64 transitions. [2022-04-15 15:36:40,796 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 2.2222222222222223) internal successors, (20), 7 states have internal predecessors, (20), 4 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 3 states have call predecessors, (7), 3 states have call successors, (7) [2022-04-15 15:36:40,798 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 64 transitions. [2022-04-15 15:36:40,798 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 64 transitions. [2022-04-15 15:36:40,860 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 64 edges. 64 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 15:36:40,861 INFO L225 Difference]: With dead ends: 65 [2022-04-15 15:36:40,861 INFO L226 Difference]: Without dead ends: 54 [2022-04-15 15:36:40,862 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 92 GetRequests, 78 SyntacticMatches, 1 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 21 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=45, Invalid=165, Unknown=0, NotChecked=0, Total=210 [2022-04-15 15:36:40,862 INFO L913 BasicCegarLoop]: 37 mSDtfsCounter, 23 mSDsluCounter, 136 mSDsCounter, 0 mSdLazyCounter, 150 mSolverCounterSat, 10 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 29 SdHoareTripleChecker+Valid, 173 SdHoareTripleChecker+Invalid, 160 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 10 IncrementalHoareTripleChecker+Valid, 150 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-15 15:36:40,862 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [29 Valid, 173 Invalid, 160 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [10 Valid, 150 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-15 15:36:40,863 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 54 states. [2022-04-15 15:36:40,893 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 54 to 54. [2022-04-15 15:36:40,894 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 15:36:40,894 INFO L82 GeneralOperation]: Start isEquivalent. First operand 54 states. Second operand has 54 states, 31 states have (on average 1.1290322580645162) internal successors, (35), 32 states have internal predecessors, (35), 15 states have call successors, (15), 8 states have call predecessors, (15), 7 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-15 15:36:40,894 INFO L74 IsIncluded]: Start isIncluded. First operand 54 states. Second operand has 54 states, 31 states have (on average 1.1290322580645162) internal successors, (35), 32 states have internal predecessors, (35), 15 states have call successors, (15), 8 states have call predecessors, (15), 7 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-15 15:36:40,894 INFO L87 Difference]: Start difference. First operand 54 states. Second operand has 54 states, 31 states have (on average 1.1290322580645162) internal successors, (35), 32 states have internal predecessors, (35), 15 states have call successors, (15), 8 states have call predecessors, (15), 7 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-15 15:36:40,896 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:36:40,896 INFO L93 Difference]: Finished difference Result 54 states and 63 transitions. [2022-04-15 15:36:40,896 INFO L276 IsEmpty]: Start isEmpty. Operand 54 states and 63 transitions. [2022-04-15 15:36:40,896 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 15:36:40,896 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 15:36:40,897 INFO L74 IsIncluded]: Start isIncluded. First operand has 54 states, 31 states have (on average 1.1290322580645162) internal successors, (35), 32 states have internal predecessors, (35), 15 states have call successors, (15), 8 states have call predecessors, (15), 7 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) Second operand 54 states. [2022-04-15 15:36:40,897 INFO L87 Difference]: Start difference. First operand has 54 states, 31 states have (on average 1.1290322580645162) internal successors, (35), 32 states have internal predecessors, (35), 15 states have call successors, (15), 8 states have call predecessors, (15), 7 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) Second operand 54 states. [2022-04-15 15:36:40,898 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:36:40,898 INFO L93 Difference]: Finished difference Result 54 states and 63 transitions. [2022-04-15 15:36:40,898 INFO L276 IsEmpty]: Start isEmpty. Operand 54 states and 63 transitions. [2022-04-15 15:36:40,899 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 15:36:40,899 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 15:36:40,899 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 15:36:40,899 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 15:36:40,899 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 54 states, 31 states have (on average 1.1290322580645162) internal successors, (35), 32 states have internal predecessors, (35), 15 states have call successors, (15), 8 states have call predecessors, (15), 7 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-15 15:36:40,900 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 54 states to 54 states and 63 transitions. [2022-04-15 15:36:40,900 INFO L78 Accepts]: Start accepts. Automaton has 54 states and 63 transitions. Word has length 45 [2022-04-15 15:36:40,900 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 15:36:40,900 INFO L478 AbstractCegarLoop]: Abstraction has 54 states and 63 transitions. [2022-04-15 15:36:40,901 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 9 states have (on average 2.2222222222222223) internal successors, (20), 7 states have internal predecessors, (20), 4 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 3 states have call predecessors, (7), 3 states have call successors, (7) [2022-04-15 15:36:40,901 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 54 states and 63 transitions. [2022-04-15 15:36:40,973 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 63 edges. 63 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 15:36:40,973 INFO L276 IsEmpty]: Start isEmpty. Operand 54 states and 63 transitions. [2022-04-15 15:36:40,974 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 56 [2022-04-15 15:36:40,974 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 15:36:40,974 INFO L499 BasicCegarLoop]: trace histogram [6, 5, 5, 3, 3, 3, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 15:36:40,997 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Forceful destruction successful, exit code 0 [2022-04-15 15:36:41,191 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4,3 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 15:36:41,192 INFO L403 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 15:36:41,192 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 15:36:41,192 INFO L85 PathProgramCache]: Analyzing trace with hash -1471734606, now seen corresponding path program 1 times [2022-04-15 15:36:41,192 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 15:36:41,192 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1138854170] [2022-04-15 15:36:41,193 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 15:36:41,193 INFO L85 PathProgramCache]: Analyzing trace with hash -1471734606, now seen corresponding path program 2 times [2022-04-15 15:36:41,193 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 15:36:41,193 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [394189006] [2022-04-15 15:36:41,193 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 15:36:41,193 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 15:36:41,204 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 15:36:41,204 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1203388972] [2022-04-15 15:36:41,204 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 15:36:41,204 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 15:36:41,205 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 15:36:41,209 INFO L229 MonitoredProcess]: Starting monitored process 4 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 15:36:41,210 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Waiting until timeout for monitored process [2022-04-15 15:36:41,244 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 15:36:41,245 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 15:36:41,245 INFO L263 TraceCheckSpWp]: Trace formula consists of 139 conjuncts, 21 conjunts are in the unsatisfiable core [2022-04-15 15:36:41,255 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 15:36:41,256 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 15:36:42,483 INFO L272 TraceCheckUtils]: 0: Hoare triple {2046#true} call ULTIMATE.init(); {2046#true} is VALID [2022-04-15 15:36:42,484 INFO L290 TraceCheckUtils]: 1: Hoare triple {2046#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {2046#true} is VALID [2022-04-15 15:36:42,484 INFO L290 TraceCheckUtils]: 2: Hoare triple {2046#true} assume true; {2046#true} is VALID [2022-04-15 15:36:42,484 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2046#true} {2046#true} #101#return; {2046#true} is VALID [2022-04-15 15:36:42,484 INFO L272 TraceCheckUtils]: 4: Hoare triple {2046#true} call #t~ret6 := main(); {2046#true} is VALID [2022-04-15 15:36:42,484 INFO L290 TraceCheckUtils]: 5: Hoare triple {2046#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4; {2046#true} is VALID [2022-04-15 15:36:42,484 INFO L272 TraceCheckUtils]: 6: Hoare triple {2046#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 1 then 1 else 0)); {2046#true} is VALID [2022-04-15 15:36:42,484 INFO L290 TraceCheckUtils]: 7: Hoare triple {2046#true} ~cond := #in~cond; {2046#true} is VALID [2022-04-15 15:36:42,484 INFO L290 TraceCheckUtils]: 8: Hoare triple {2046#true} assume !(0 == ~cond); {2046#true} is VALID [2022-04-15 15:36:42,484 INFO L290 TraceCheckUtils]: 9: Hoare triple {2046#true} assume true; {2046#true} is VALID [2022-04-15 15:36:42,484 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2046#true} {2046#true} #81#return; {2046#true} is VALID [2022-04-15 15:36:42,484 INFO L290 TraceCheckUtils]: 11: Hoare triple {2046#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {2046#true} is VALID [2022-04-15 15:36:42,485 INFO L272 TraceCheckUtils]: 12: Hoare triple {2046#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 1 then 1 else 0)); {2046#true} is VALID [2022-04-15 15:36:42,485 INFO L290 TraceCheckUtils]: 13: Hoare triple {2046#true} ~cond := #in~cond; {2090#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-15 15:36:42,485 INFO L290 TraceCheckUtils]: 14: Hoare triple {2090#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {2094#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 15:36:42,485 INFO L290 TraceCheckUtils]: 15: Hoare triple {2094#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {2094#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 15:36:42,486 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2094#(not (= |assume_abort_if_not_#in~cond| 0))} {2046#true} #83#return; {2101#(<= (mod main_~B~0 4294967296) 1)} is VALID [2022-04-15 15:36:42,486 INFO L272 TraceCheckUtils]: 17: Hoare triple {2101#(<= (mod main_~B~0 4294967296) 1)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {2046#true} is VALID [2022-04-15 15:36:42,486 INFO L290 TraceCheckUtils]: 18: Hoare triple {2046#true} ~cond := #in~cond; {2090#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-15 15:36:42,487 INFO L290 TraceCheckUtils]: 19: Hoare triple {2090#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {2094#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 15:36:42,487 INFO L290 TraceCheckUtils]: 20: Hoare triple {2094#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {2094#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 15:36:42,487 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2094#(not (= |assume_abort_if_not_#in~cond| 0))} {2101#(<= (mod main_~B~0 4294967296) 1)} #85#return; {2117#(and (<= (mod main_~B~0 4294967296) 1) (<= 1 (mod main_~B~0 4294967296)))} is VALID [2022-04-15 15:36:42,488 INFO L290 TraceCheckUtils]: 22: Hoare triple {2117#(and (<= (mod main_~B~0 4294967296) 1) (<= 1 (mod main_~B~0 4294967296)))} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {2121#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-15 15:36:42,488 INFO L290 TraceCheckUtils]: 23: Hoare triple {2121#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} assume !false; {2121#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-15 15:36:42,488 INFO L272 TraceCheckUtils]: 24: Hoare triple {2121#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {2046#true} is VALID [2022-04-15 15:36:42,488 INFO L290 TraceCheckUtils]: 25: Hoare triple {2046#true} ~cond := #in~cond; {2046#true} is VALID [2022-04-15 15:36:42,488 INFO L290 TraceCheckUtils]: 26: Hoare triple {2046#true} assume !(0 == ~cond); {2046#true} is VALID [2022-04-15 15:36:42,488 INFO L290 TraceCheckUtils]: 27: Hoare triple {2046#true} assume true; {2046#true} is VALID [2022-04-15 15:36:42,489 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2046#true} {2121#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} #87#return; {2121#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-15 15:36:42,489 INFO L272 TraceCheckUtils]: 29: Hoare triple {2121#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {2046#true} is VALID [2022-04-15 15:36:42,489 INFO L290 TraceCheckUtils]: 30: Hoare triple {2046#true} ~cond := #in~cond; {2046#true} is VALID [2022-04-15 15:36:42,489 INFO L290 TraceCheckUtils]: 31: Hoare triple {2046#true} assume !(0 == ~cond); {2046#true} is VALID [2022-04-15 15:36:42,489 INFO L290 TraceCheckUtils]: 32: Hoare triple {2046#true} assume true; {2046#true} is VALID [2022-04-15 15:36:42,491 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {2046#true} {2121#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} #89#return; {2121#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-15 15:36:42,491 INFO L272 TraceCheckUtils]: 34: Hoare triple {2121#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {2046#true} is VALID [2022-04-15 15:36:42,491 INFO L290 TraceCheckUtils]: 35: Hoare triple {2046#true} ~cond := #in~cond; {2046#true} is VALID [2022-04-15 15:36:42,491 INFO L290 TraceCheckUtils]: 36: Hoare triple {2046#true} assume !(0 == ~cond); {2046#true} is VALID [2022-04-15 15:36:42,491 INFO L290 TraceCheckUtils]: 37: Hoare triple {2046#true} assume true; {2046#true} is VALID [2022-04-15 15:36:42,491 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {2046#true} {2121#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} #91#return; {2121#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-15 15:36:42,492 INFO L290 TraceCheckUtils]: 39: Hoare triple {2121#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {2173#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (<= 1 (mod main_~B~0 4294967296)))} is VALID [2022-04-15 15:36:42,493 INFO L290 TraceCheckUtils]: 40: Hoare triple {2173#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (<= 1 (mod main_~B~0 4294967296)))} assume !false; {2173#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (<= 1 (mod main_~B~0 4294967296)))} is VALID [2022-04-15 15:36:42,493 INFO L272 TraceCheckUtils]: 41: Hoare triple {2173#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (<= 1 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {2046#true} is VALID [2022-04-15 15:36:42,493 INFO L290 TraceCheckUtils]: 42: Hoare triple {2046#true} ~cond := #in~cond; {2046#true} is VALID [2022-04-15 15:36:42,493 INFO L290 TraceCheckUtils]: 43: Hoare triple {2046#true} assume !(0 == ~cond); {2046#true} is VALID [2022-04-15 15:36:42,493 INFO L290 TraceCheckUtils]: 44: Hoare triple {2046#true} assume true; {2046#true} is VALID [2022-04-15 15:36:42,493 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {2046#true} {2173#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (<= 1 (mod main_~B~0 4294967296)))} #87#return; {2173#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (<= 1 (mod main_~B~0 4294967296)))} is VALID [2022-04-15 15:36:42,494 INFO L272 TraceCheckUtils]: 46: Hoare triple {2173#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (<= 1 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {2046#true} is VALID [2022-04-15 15:36:42,494 INFO L290 TraceCheckUtils]: 47: Hoare triple {2046#true} ~cond := #in~cond; {2046#true} is VALID [2022-04-15 15:36:42,494 INFO L290 TraceCheckUtils]: 48: Hoare triple {2046#true} assume !(0 == ~cond); {2046#true} is VALID [2022-04-15 15:36:42,494 INFO L290 TraceCheckUtils]: 49: Hoare triple {2046#true} assume true; {2046#true} is VALID [2022-04-15 15:36:42,494 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {2046#true} {2173#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (<= 1 (mod main_~B~0 4294967296)))} #89#return; {2173#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (<= 1 (mod main_~B~0 4294967296)))} is VALID [2022-04-15 15:36:42,495 INFO L272 TraceCheckUtils]: 51: Hoare triple {2173#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (<= 1 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {2210#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 15:36:42,495 INFO L290 TraceCheckUtils]: 52: Hoare triple {2210#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2214#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 15:36:42,495 INFO L290 TraceCheckUtils]: 53: Hoare triple {2214#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2047#false} is VALID [2022-04-15 15:36:42,496 INFO L290 TraceCheckUtils]: 54: Hoare triple {2047#false} assume !false; {2047#false} is VALID [2022-04-15 15:36:42,496 INFO L134 CoverageAnalysis]: Checked inductivity of 66 backedges. 16 proven. 4 refuted. 0 times theorem prover too weak. 46 trivial. 0 not checked. [2022-04-15 15:36:42,496 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 15:36:42,930 INFO L290 TraceCheckUtils]: 54: Hoare triple {2047#false} assume !false; {2047#false} is VALID [2022-04-15 15:36:42,931 INFO L290 TraceCheckUtils]: 53: Hoare triple {2214#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2047#false} is VALID [2022-04-15 15:36:42,931 INFO L290 TraceCheckUtils]: 52: Hoare triple {2210#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2214#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 15:36:42,932 INFO L272 TraceCheckUtils]: 51: Hoare triple {2230#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {2210#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 15:36:42,932 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {2046#true} {2230#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} #89#return; {2230#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-15 15:36:42,932 INFO L290 TraceCheckUtils]: 49: Hoare triple {2046#true} assume true; {2046#true} is VALID [2022-04-15 15:36:42,932 INFO L290 TraceCheckUtils]: 48: Hoare triple {2046#true} assume !(0 == ~cond); {2046#true} is VALID [2022-04-15 15:36:42,933 INFO L290 TraceCheckUtils]: 47: Hoare triple {2046#true} ~cond := #in~cond; {2046#true} is VALID [2022-04-15 15:36:42,933 INFO L272 TraceCheckUtils]: 46: Hoare triple {2230#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {2046#true} is VALID [2022-04-15 15:36:42,935 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {2046#true} {2230#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} #87#return; {2230#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-15 15:36:42,935 INFO L290 TraceCheckUtils]: 44: Hoare triple {2046#true} assume true; {2046#true} is VALID [2022-04-15 15:36:42,935 INFO L290 TraceCheckUtils]: 43: Hoare triple {2046#true} assume !(0 == ~cond); {2046#true} is VALID [2022-04-15 15:36:42,935 INFO L290 TraceCheckUtils]: 42: Hoare triple {2046#true} ~cond := #in~cond; {2046#true} is VALID [2022-04-15 15:36:42,935 INFO L272 TraceCheckUtils]: 41: Hoare triple {2230#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {2046#true} is VALID [2022-04-15 15:36:42,935 INFO L290 TraceCheckUtils]: 40: Hoare triple {2230#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} assume !false; {2230#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-15 15:36:43,125 INFO L290 TraceCheckUtils]: 39: Hoare triple {2230#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {2230#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-15 15:36:43,127 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {2046#true} {2230#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} #91#return; {2230#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-15 15:36:43,127 INFO L290 TraceCheckUtils]: 37: Hoare triple {2046#true} assume true; {2046#true} is VALID [2022-04-15 15:36:43,127 INFO L290 TraceCheckUtils]: 36: Hoare triple {2046#true} assume !(0 == ~cond); {2046#true} is VALID [2022-04-15 15:36:43,137 INFO L290 TraceCheckUtils]: 35: Hoare triple {2046#true} ~cond := #in~cond; {2046#true} is VALID [2022-04-15 15:36:43,137 INFO L272 TraceCheckUtils]: 34: Hoare triple {2230#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {2046#true} is VALID [2022-04-15 15:36:43,140 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {2046#true} {2230#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} #89#return; {2230#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-15 15:36:43,140 INFO L290 TraceCheckUtils]: 32: Hoare triple {2046#true} assume true; {2046#true} is VALID [2022-04-15 15:36:43,140 INFO L290 TraceCheckUtils]: 31: Hoare triple {2046#true} assume !(0 == ~cond); {2046#true} is VALID [2022-04-15 15:36:43,140 INFO L290 TraceCheckUtils]: 30: Hoare triple {2046#true} ~cond := #in~cond; {2046#true} is VALID [2022-04-15 15:36:43,140 INFO L272 TraceCheckUtils]: 29: Hoare triple {2230#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {2046#true} is VALID [2022-04-15 15:36:43,140 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2046#true} {2230#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} #87#return; {2230#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-15 15:36:43,141 INFO L290 TraceCheckUtils]: 27: Hoare triple {2046#true} assume true; {2046#true} is VALID [2022-04-15 15:36:43,141 INFO L290 TraceCheckUtils]: 26: Hoare triple {2046#true} assume !(0 == ~cond); {2046#true} is VALID [2022-04-15 15:36:43,141 INFO L290 TraceCheckUtils]: 25: Hoare triple {2046#true} ~cond := #in~cond; {2046#true} is VALID [2022-04-15 15:36:43,141 INFO L272 TraceCheckUtils]: 24: Hoare triple {2230#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {2046#true} is VALID [2022-04-15 15:36:43,141 INFO L290 TraceCheckUtils]: 23: Hoare triple {2230#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} assume !false; {2230#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-15 15:36:43,142 INFO L290 TraceCheckUtils]: 22: Hoare triple {2046#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {2230#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-15 15:36:43,142 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2046#true} {2046#true} #85#return; {2046#true} is VALID [2022-04-15 15:36:43,142 INFO L290 TraceCheckUtils]: 20: Hoare triple {2046#true} assume true; {2046#true} is VALID [2022-04-15 15:36:43,142 INFO L290 TraceCheckUtils]: 19: Hoare triple {2046#true} assume !(0 == ~cond); {2046#true} is VALID [2022-04-15 15:36:43,142 INFO L290 TraceCheckUtils]: 18: Hoare triple {2046#true} ~cond := #in~cond; {2046#true} is VALID [2022-04-15 15:36:43,142 INFO L272 TraceCheckUtils]: 17: Hoare triple {2046#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {2046#true} is VALID [2022-04-15 15:36:43,142 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2046#true} {2046#true} #83#return; {2046#true} is VALID [2022-04-15 15:36:43,142 INFO L290 TraceCheckUtils]: 15: Hoare triple {2046#true} assume true; {2046#true} is VALID [2022-04-15 15:36:43,142 INFO L290 TraceCheckUtils]: 14: Hoare triple {2046#true} assume !(0 == ~cond); {2046#true} is VALID [2022-04-15 15:36:43,142 INFO L290 TraceCheckUtils]: 13: Hoare triple {2046#true} ~cond := #in~cond; {2046#true} is VALID [2022-04-15 15:36:43,142 INFO L272 TraceCheckUtils]: 12: Hoare triple {2046#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 1 then 1 else 0)); {2046#true} is VALID [2022-04-15 15:36:43,142 INFO L290 TraceCheckUtils]: 11: Hoare triple {2046#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {2046#true} is VALID [2022-04-15 15:36:43,142 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2046#true} {2046#true} #81#return; {2046#true} is VALID [2022-04-15 15:36:43,142 INFO L290 TraceCheckUtils]: 9: Hoare triple {2046#true} assume true; {2046#true} is VALID [2022-04-15 15:36:43,143 INFO L290 TraceCheckUtils]: 8: Hoare triple {2046#true} assume !(0 == ~cond); {2046#true} is VALID [2022-04-15 15:36:43,143 INFO L290 TraceCheckUtils]: 7: Hoare triple {2046#true} ~cond := #in~cond; {2046#true} is VALID [2022-04-15 15:36:43,143 INFO L272 TraceCheckUtils]: 6: Hoare triple {2046#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 1 then 1 else 0)); {2046#true} is VALID [2022-04-15 15:36:43,143 INFO L290 TraceCheckUtils]: 5: Hoare triple {2046#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4; {2046#true} is VALID [2022-04-15 15:36:43,143 INFO L272 TraceCheckUtils]: 4: Hoare triple {2046#true} call #t~ret6 := main(); {2046#true} is VALID [2022-04-15 15:36:43,143 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2046#true} {2046#true} #101#return; {2046#true} is VALID [2022-04-15 15:36:43,143 INFO L290 TraceCheckUtils]: 2: Hoare triple {2046#true} assume true; {2046#true} is VALID [2022-04-15 15:36:43,143 INFO L290 TraceCheckUtils]: 1: Hoare triple {2046#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {2046#true} is VALID [2022-04-15 15:36:43,143 INFO L272 TraceCheckUtils]: 0: Hoare triple {2046#true} call ULTIMATE.init(); {2046#true} is VALID [2022-04-15 15:36:43,143 INFO L134 CoverageAnalysis]: Checked inductivity of 66 backedges. 10 proven. 0 refuted. 0 times theorem prover too weak. 56 trivial. 0 not checked. [2022-04-15 15:36:43,143 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 15:36:43,144 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [394189006] [2022-04-15 15:36:43,144 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 15:36:43,144 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1203388972] [2022-04-15 15:36:43,144 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1203388972] provided 1 perfect and 1 imperfect interpolant sequences [2022-04-15 15:36:43,144 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-15 15:36:43,144 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [10] total 11 [2022-04-15 15:36:43,144 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 15:36:43,144 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1138854170] [2022-04-15 15:36:43,144 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1138854170] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 15:36:43,144 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 15:36:43,144 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-15 15:36:43,144 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1746312077] [2022-04-15 15:36:43,144 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 15:36:43,145 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) Word has length 55 [2022-04-15 15:36:43,145 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 15:36:43,145 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-15 15:36:43,168 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 32 edges. 32 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 15:36:43,168 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-15 15:36:43,168 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 15:36:43,169 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-15 15:36:43,169 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=26, Invalid=84, Unknown=0, NotChecked=0, Total=110 [2022-04-15 15:36:43,169 INFO L87 Difference]: Start difference. First operand 54 states and 63 transitions. Second operand has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-15 15:36:43,554 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:36:43,554 INFO L93 Difference]: Finished difference Result 66 states and 78 transitions. [2022-04-15 15:36:43,554 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-15 15:36:43,554 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) Word has length 55 [2022-04-15 15:36:43,554 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 15:36:43,554 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-15 15:36:43,555 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 58 transitions. [2022-04-15 15:36:43,555 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-15 15:36:43,556 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 58 transitions. [2022-04-15 15:36:43,556 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 58 transitions. [2022-04-15 15:36:43,599 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 58 edges. 58 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 15:36:43,600 INFO L225 Difference]: With dead ends: 66 [2022-04-15 15:36:43,600 INFO L226 Difference]: Without dead ends: 64 [2022-04-15 15:36:43,600 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 110 GetRequests, 98 SyntacticMatches, 2 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 18 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=30, Invalid=102, Unknown=0, NotChecked=0, Total=132 [2022-04-15 15:36:43,601 INFO L913 BasicCegarLoop]: 41 mSDtfsCounter, 8 mSDsluCounter, 88 mSDsCounter, 0 mSdLazyCounter, 50 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 11 SdHoareTripleChecker+Valid, 129 SdHoareTripleChecker+Invalid, 51 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 50 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-15 15:36:43,601 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [11 Valid, 129 Invalid, 51 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 50 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-15 15:36:43,602 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 64 states. [2022-04-15 15:36:43,637 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 64 to 61. [2022-04-15 15:36:43,637 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 15:36:43,637 INFO L82 GeneralOperation]: Start isEquivalent. First operand 64 states. Second operand has 61 states, 35 states have (on average 1.1142857142857143) internal successors, (39), 37 states have internal predecessors, (39), 17 states have call successors, (17), 9 states have call predecessors, (17), 8 states have return successors, (15), 14 states have call predecessors, (15), 15 states have call successors, (15) [2022-04-15 15:36:43,637 INFO L74 IsIncluded]: Start isIncluded. First operand 64 states. Second operand has 61 states, 35 states have (on average 1.1142857142857143) internal successors, (39), 37 states have internal predecessors, (39), 17 states have call successors, (17), 9 states have call predecessors, (17), 8 states have return successors, (15), 14 states have call predecessors, (15), 15 states have call successors, (15) [2022-04-15 15:36:43,638 INFO L87 Difference]: Start difference. First operand 64 states. Second operand has 61 states, 35 states have (on average 1.1142857142857143) internal successors, (39), 37 states have internal predecessors, (39), 17 states have call successors, (17), 9 states have call predecessors, (17), 8 states have return successors, (15), 14 states have call predecessors, (15), 15 states have call successors, (15) [2022-04-15 15:36:43,639 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:36:43,639 INFO L93 Difference]: Finished difference Result 64 states and 76 transitions. [2022-04-15 15:36:43,640 INFO L276 IsEmpty]: Start isEmpty. Operand 64 states and 76 transitions. [2022-04-15 15:36:43,640 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 15:36:43,640 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 15:36:43,640 INFO L74 IsIncluded]: Start isIncluded. First operand has 61 states, 35 states have (on average 1.1142857142857143) internal successors, (39), 37 states have internal predecessors, (39), 17 states have call successors, (17), 9 states have call predecessors, (17), 8 states have return successors, (15), 14 states have call predecessors, (15), 15 states have call successors, (15) Second operand 64 states. [2022-04-15 15:36:43,640 INFO L87 Difference]: Start difference. First operand has 61 states, 35 states have (on average 1.1142857142857143) internal successors, (39), 37 states have internal predecessors, (39), 17 states have call successors, (17), 9 states have call predecessors, (17), 8 states have return successors, (15), 14 states have call predecessors, (15), 15 states have call successors, (15) Second operand 64 states. [2022-04-15 15:36:43,642 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:36:43,642 INFO L93 Difference]: Finished difference Result 64 states and 76 transitions. [2022-04-15 15:36:43,642 INFO L276 IsEmpty]: Start isEmpty. Operand 64 states and 76 transitions. [2022-04-15 15:36:43,642 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 15:36:43,642 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 15:36:43,642 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 15:36:43,642 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 15:36:43,643 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 61 states, 35 states have (on average 1.1142857142857143) internal successors, (39), 37 states have internal predecessors, (39), 17 states have call successors, (17), 9 states have call predecessors, (17), 8 states have return successors, (15), 14 states have call predecessors, (15), 15 states have call successors, (15) [2022-04-15 15:36:43,644 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 61 states to 61 states and 71 transitions. [2022-04-15 15:36:43,644 INFO L78 Accepts]: Start accepts. Automaton has 61 states and 71 transitions. Word has length 55 [2022-04-15 15:36:43,644 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 15:36:43,644 INFO L478 AbstractCegarLoop]: Abstraction has 61 states and 71 transitions. [2022-04-15 15:36:43,645 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-15 15:36:43,645 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 61 states and 71 transitions. [2022-04-15 15:36:43,722 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 71 edges. 71 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 15:36:43,722 INFO L276 IsEmpty]: Start isEmpty. Operand 61 states and 71 transitions. [2022-04-15 15:36:43,723 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 63 [2022-04-15 15:36:43,723 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 15:36:43,723 INFO L499 BasicCegarLoop]: trace histogram [7, 6, 6, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 15:36:43,742 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Forceful destruction successful, exit code 0 [2022-04-15 15:36:43,931 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5,4 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 15:36:43,931 INFO L403 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 15:36:43,932 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 15:36:43,932 INFO L85 PathProgramCache]: Analyzing trace with hash -1784683007, now seen corresponding path program 1 times [2022-04-15 15:36:43,932 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 15:36:43,932 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [508408862] [2022-04-15 15:36:43,932 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 15:36:43,932 INFO L85 PathProgramCache]: Analyzing trace with hash -1784683007, now seen corresponding path program 2 times [2022-04-15 15:36:43,932 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 15:36:43,933 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [130527243] [2022-04-15 15:36:43,933 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 15:36:43,933 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 15:36:43,944 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 15:36:43,944 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1257365491] [2022-04-15 15:36:43,944 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 15:36:43,944 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 15:36:43,944 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 15:36:43,945 INFO L229 MonitoredProcess]: Starting monitored process 5 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 15:36:43,946 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Waiting until timeout for monitored process [2022-04-15 15:36:43,981 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 15:36:43,981 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 15:36:43,982 INFO L263 TraceCheckSpWp]: Trace formula consists of 150 conjuncts, 17 conjunts are in the unsatisfiable core [2022-04-15 15:36:43,994 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 15:36:43,996 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 15:36:47,079 INFO L272 TraceCheckUtils]: 0: Hoare triple {2770#true} call ULTIMATE.init(); {2770#true} is VALID [2022-04-15 15:36:47,079 INFO L290 TraceCheckUtils]: 1: Hoare triple {2770#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {2770#true} is VALID [2022-04-15 15:36:47,080 INFO L290 TraceCheckUtils]: 2: Hoare triple {2770#true} assume true; {2770#true} is VALID [2022-04-15 15:36:47,080 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2770#true} {2770#true} #101#return; {2770#true} is VALID [2022-04-15 15:36:47,080 INFO L272 TraceCheckUtils]: 4: Hoare triple {2770#true} call #t~ret6 := main(); {2770#true} is VALID [2022-04-15 15:36:47,080 INFO L290 TraceCheckUtils]: 5: Hoare triple {2770#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4; {2770#true} is VALID [2022-04-15 15:36:47,080 INFO L272 TraceCheckUtils]: 6: Hoare triple {2770#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 1 then 1 else 0)); {2770#true} is VALID [2022-04-15 15:36:47,082 INFO L290 TraceCheckUtils]: 7: Hoare triple {2770#true} ~cond := #in~cond; {2770#true} is VALID [2022-04-15 15:36:47,082 INFO L290 TraceCheckUtils]: 8: Hoare triple {2770#true} assume !(0 == ~cond); {2770#true} is VALID [2022-04-15 15:36:47,083 INFO L290 TraceCheckUtils]: 9: Hoare triple {2770#true} assume true; {2770#true} is VALID [2022-04-15 15:36:47,083 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2770#true} {2770#true} #81#return; {2770#true} is VALID [2022-04-15 15:36:47,083 INFO L290 TraceCheckUtils]: 11: Hoare triple {2770#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {2770#true} is VALID [2022-04-15 15:36:47,083 INFO L272 TraceCheckUtils]: 12: Hoare triple {2770#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 1 then 1 else 0)); {2770#true} is VALID [2022-04-15 15:36:47,083 INFO L290 TraceCheckUtils]: 13: Hoare triple {2770#true} ~cond := #in~cond; {2814#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-15 15:36:47,083 INFO L290 TraceCheckUtils]: 14: Hoare triple {2814#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {2818#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 15:36:47,084 INFO L290 TraceCheckUtils]: 15: Hoare triple {2818#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {2818#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 15:36:47,084 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2818#(not (= |assume_abort_if_not_#in~cond| 0))} {2770#true} #83#return; {2825#(<= (mod main_~B~0 4294967296) 1)} is VALID [2022-04-15 15:36:47,087 INFO L272 TraceCheckUtils]: 17: Hoare triple {2825#(<= (mod main_~B~0 4294967296) 1)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {2770#true} is VALID [2022-04-15 15:36:47,087 INFO L290 TraceCheckUtils]: 18: Hoare triple {2770#true} ~cond := #in~cond; {2770#true} is VALID [2022-04-15 15:36:47,087 INFO L290 TraceCheckUtils]: 19: Hoare triple {2770#true} assume !(0 == ~cond); {2770#true} is VALID [2022-04-15 15:36:47,088 INFO L290 TraceCheckUtils]: 20: Hoare triple {2770#true} assume true; {2770#true} is VALID [2022-04-15 15:36:47,088 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2770#true} {2825#(<= (mod main_~B~0 4294967296) 1)} #85#return; {2825#(<= (mod main_~B~0 4294967296) 1)} is VALID [2022-04-15 15:36:47,088 INFO L290 TraceCheckUtils]: 22: Hoare triple {2825#(<= (mod main_~B~0 4294967296) 1)} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {2844#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0))} is VALID [2022-04-15 15:36:47,089 INFO L290 TraceCheckUtils]: 23: Hoare triple {2844#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0))} assume !false; {2844#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0))} is VALID [2022-04-15 15:36:47,089 INFO L272 TraceCheckUtils]: 24: Hoare triple {2844#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {2770#true} is VALID [2022-04-15 15:36:47,089 INFO L290 TraceCheckUtils]: 25: Hoare triple {2770#true} ~cond := #in~cond; {2770#true} is VALID [2022-04-15 15:36:47,089 INFO L290 TraceCheckUtils]: 26: Hoare triple {2770#true} assume !(0 == ~cond); {2770#true} is VALID [2022-04-15 15:36:47,089 INFO L290 TraceCheckUtils]: 27: Hoare triple {2770#true} assume true; {2770#true} is VALID [2022-04-15 15:36:47,089 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2770#true} {2844#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0))} #87#return; {2844#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0))} is VALID [2022-04-15 15:36:47,089 INFO L272 TraceCheckUtils]: 29: Hoare triple {2844#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {2770#true} is VALID [2022-04-15 15:36:47,090 INFO L290 TraceCheckUtils]: 30: Hoare triple {2770#true} ~cond := #in~cond; {2770#true} is VALID [2022-04-15 15:36:47,090 INFO L290 TraceCheckUtils]: 31: Hoare triple {2770#true} assume !(0 == ~cond); {2770#true} is VALID [2022-04-15 15:36:47,090 INFO L290 TraceCheckUtils]: 32: Hoare triple {2770#true} assume true; {2770#true} is VALID [2022-04-15 15:36:47,090 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {2770#true} {2844#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0))} #89#return; {2844#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0))} is VALID [2022-04-15 15:36:47,090 INFO L272 TraceCheckUtils]: 34: Hoare triple {2844#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {2770#true} is VALID [2022-04-15 15:36:47,090 INFO L290 TraceCheckUtils]: 35: Hoare triple {2770#true} ~cond := #in~cond; {2770#true} is VALID [2022-04-15 15:36:47,090 INFO L290 TraceCheckUtils]: 36: Hoare triple {2770#true} assume !(0 == ~cond); {2770#true} is VALID [2022-04-15 15:36:47,090 INFO L290 TraceCheckUtils]: 37: Hoare triple {2770#true} assume true; {2770#true} is VALID [2022-04-15 15:36:47,091 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {2770#true} {2844#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0))} #91#return; {2844#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0))} is VALID [2022-04-15 15:36:47,092 INFO L290 TraceCheckUtils]: 39: Hoare triple {2844#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {2896#(and (<= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-15 15:36:47,092 INFO L290 TraceCheckUtils]: 40: Hoare triple {2896#(and (<= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} assume !false; {2896#(and (<= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-15 15:36:47,092 INFO L272 TraceCheckUtils]: 41: Hoare triple {2896#(and (<= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {2770#true} is VALID [2022-04-15 15:36:47,092 INFO L290 TraceCheckUtils]: 42: Hoare triple {2770#true} ~cond := #in~cond; {2770#true} is VALID [2022-04-15 15:36:47,092 INFO L290 TraceCheckUtils]: 43: Hoare triple {2770#true} assume !(0 == ~cond); {2770#true} is VALID [2022-04-15 15:36:47,092 INFO L290 TraceCheckUtils]: 44: Hoare triple {2770#true} assume true; {2770#true} is VALID [2022-04-15 15:36:47,093 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {2770#true} {2896#(and (<= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} #87#return; {2896#(and (<= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-15 15:36:47,093 INFO L272 TraceCheckUtils]: 46: Hoare triple {2896#(and (<= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {2770#true} is VALID [2022-04-15 15:36:47,093 INFO L290 TraceCheckUtils]: 47: Hoare triple {2770#true} ~cond := #in~cond; {2770#true} is VALID [2022-04-15 15:36:47,093 INFO L290 TraceCheckUtils]: 48: Hoare triple {2770#true} assume !(0 == ~cond); {2770#true} is VALID [2022-04-15 15:36:47,094 INFO L290 TraceCheckUtils]: 49: Hoare triple {2770#true} assume true; {2770#true} is VALID [2022-04-15 15:36:47,094 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {2770#true} {2896#(and (<= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} #89#return; {2896#(and (<= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-15 15:36:47,094 INFO L272 TraceCheckUtils]: 51: Hoare triple {2896#(and (<= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {2770#true} is VALID [2022-04-15 15:36:47,094 INFO L290 TraceCheckUtils]: 52: Hoare triple {2770#true} ~cond := #in~cond; {2770#true} is VALID [2022-04-15 15:36:47,094 INFO L290 TraceCheckUtils]: 53: Hoare triple {2770#true} assume !(0 == ~cond); {2770#true} is VALID [2022-04-15 15:36:47,094 INFO L290 TraceCheckUtils]: 54: Hoare triple {2770#true} assume true; {2770#true} is VALID [2022-04-15 15:36:47,095 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {2770#true} {2896#(and (<= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} #91#return; {2896#(and (<= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-15 15:36:47,096 INFO L290 TraceCheckUtils]: 56: Hoare triple {2896#(and (<= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} assume !(~r~0 >= ~d~0); {2948#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~r~0 (* 2 (mod main_~B~0 4294967296))) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-15 15:36:47,096 INFO L290 TraceCheckUtils]: 57: Hoare triple {2948#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~r~0 (* 2 (mod main_~B~0 4294967296))) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} assume !false; {2948#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~r~0 (* 2 (mod main_~B~0 4294967296))) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-15 15:36:47,097 INFO L272 TraceCheckUtils]: 58: Hoare triple {2948#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~r~0 (* 2 (mod main_~B~0 4294967296))) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {2955#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 15:36:47,097 INFO L290 TraceCheckUtils]: 59: Hoare triple {2955#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2959#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 15:36:47,097 INFO L290 TraceCheckUtils]: 60: Hoare triple {2959#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2771#false} is VALID [2022-04-15 15:36:47,097 INFO L290 TraceCheckUtils]: 61: Hoare triple {2771#false} assume !false; {2771#false} is VALID [2022-04-15 15:36:47,098 INFO L134 CoverageAnalysis]: Checked inductivity of 89 backedges. 15 proven. 8 refuted. 0 times theorem prover too weak. 66 trivial. 0 not checked. [2022-04-15 15:36:47,098 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 15:36:48,274 INFO L290 TraceCheckUtils]: 61: Hoare triple {2771#false} assume !false; {2771#false} is VALID [2022-04-15 15:36:48,275 INFO L290 TraceCheckUtils]: 60: Hoare triple {2959#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2771#false} is VALID [2022-04-15 15:36:48,275 INFO L290 TraceCheckUtils]: 59: Hoare triple {2955#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2959#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 15:36:48,276 INFO L272 TraceCheckUtils]: 58: Hoare triple {2975#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {2955#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 15:36:48,276 INFO L290 TraceCheckUtils]: 57: Hoare triple {2975#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} assume !false; {2975#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} is VALID [2022-04-15 15:36:48,276 INFO L290 TraceCheckUtils]: 56: Hoare triple {2982#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} assume !(~r~0 >= ~d~0); {2975#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} is VALID [2022-04-15 15:36:48,277 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {2770#true} {2982#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} #91#return; {2982#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} is VALID [2022-04-15 15:36:48,277 INFO L290 TraceCheckUtils]: 54: Hoare triple {2770#true} assume true; {2770#true} is VALID [2022-04-15 15:36:48,277 INFO L290 TraceCheckUtils]: 53: Hoare triple {2770#true} assume !(0 == ~cond); {2770#true} is VALID [2022-04-15 15:36:48,277 INFO L290 TraceCheckUtils]: 52: Hoare triple {2770#true} ~cond := #in~cond; {2770#true} is VALID [2022-04-15 15:36:48,277 INFO L272 TraceCheckUtils]: 51: Hoare triple {2982#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {2770#true} is VALID [2022-04-15 15:36:48,278 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {2770#true} {2982#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} #89#return; {2982#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} is VALID [2022-04-15 15:36:48,278 INFO L290 TraceCheckUtils]: 49: Hoare triple {2770#true} assume true; {2770#true} is VALID [2022-04-15 15:36:48,278 INFO L290 TraceCheckUtils]: 48: Hoare triple {2770#true} assume !(0 == ~cond); {2770#true} is VALID [2022-04-15 15:36:48,278 INFO L290 TraceCheckUtils]: 47: Hoare triple {2770#true} ~cond := #in~cond; {2770#true} is VALID [2022-04-15 15:36:48,278 INFO L272 TraceCheckUtils]: 46: Hoare triple {2982#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {2770#true} is VALID [2022-04-15 15:36:48,278 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {2770#true} {2982#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} #87#return; {2982#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} is VALID [2022-04-15 15:36:48,278 INFO L290 TraceCheckUtils]: 44: Hoare triple {2770#true} assume true; {2770#true} is VALID [2022-04-15 15:36:48,279 INFO L290 TraceCheckUtils]: 43: Hoare triple {2770#true} assume !(0 == ~cond); {2770#true} is VALID [2022-04-15 15:36:48,279 INFO L290 TraceCheckUtils]: 42: Hoare triple {2770#true} ~cond := #in~cond; {2770#true} is VALID [2022-04-15 15:36:48,279 INFO L272 TraceCheckUtils]: 41: Hoare triple {2982#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {2770#true} is VALID [2022-04-15 15:36:48,279 INFO L290 TraceCheckUtils]: 40: Hoare triple {2982#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} assume !false; {2982#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} is VALID [2022-04-15 15:36:48,280 INFO L290 TraceCheckUtils]: 39: Hoare triple {3034#(or (not (<= main_~d~0 main_~r~0)) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= (* main_~d~0 2) main_~r~0))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {2982#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} is VALID [2022-04-15 15:36:48,280 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {2770#true} {3034#(or (not (<= main_~d~0 main_~r~0)) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= (* main_~d~0 2) main_~r~0))} #91#return; {3034#(or (not (<= main_~d~0 main_~r~0)) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-15 15:36:48,280 INFO L290 TraceCheckUtils]: 37: Hoare triple {2770#true} assume true; {2770#true} is VALID [2022-04-15 15:36:48,280 INFO L290 TraceCheckUtils]: 36: Hoare triple {2770#true} assume !(0 == ~cond); {2770#true} is VALID [2022-04-15 15:36:48,280 INFO L290 TraceCheckUtils]: 35: Hoare triple {2770#true} ~cond := #in~cond; {2770#true} is VALID [2022-04-15 15:36:48,281 INFO L272 TraceCheckUtils]: 34: Hoare triple {3034#(or (not (<= main_~d~0 main_~r~0)) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= (* main_~d~0 2) main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {2770#true} is VALID [2022-04-15 15:36:48,281 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {2770#true} {3034#(or (not (<= main_~d~0 main_~r~0)) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= (* main_~d~0 2) main_~r~0))} #89#return; {3034#(or (not (<= main_~d~0 main_~r~0)) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-15 15:36:48,281 INFO L290 TraceCheckUtils]: 32: Hoare triple {2770#true} assume true; {2770#true} is VALID [2022-04-15 15:36:48,281 INFO L290 TraceCheckUtils]: 31: Hoare triple {2770#true} assume !(0 == ~cond); {2770#true} is VALID [2022-04-15 15:36:48,281 INFO L290 TraceCheckUtils]: 30: Hoare triple {2770#true} ~cond := #in~cond; {2770#true} is VALID [2022-04-15 15:36:48,281 INFO L272 TraceCheckUtils]: 29: Hoare triple {3034#(or (not (<= main_~d~0 main_~r~0)) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= (* main_~d~0 2) main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {2770#true} is VALID [2022-04-15 15:36:48,284 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2770#true} {3034#(or (not (<= main_~d~0 main_~r~0)) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= (* main_~d~0 2) main_~r~0))} #87#return; {3034#(or (not (<= main_~d~0 main_~r~0)) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-15 15:36:48,284 INFO L290 TraceCheckUtils]: 27: Hoare triple {2770#true} assume true; {2770#true} is VALID [2022-04-15 15:36:48,284 INFO L290 TraceCheckUtils]: 26: Hoare triple {2770#true} assume !(0 == ~cond); {2770#true} is VALID [2022-04-15 15:36:48,284 INFO L290 TraceCheckUtils]: 25: Hoare triple {2770#true} ~cond := #in~cond; {2770#true} is VALID [2022-04-15 15:36:48,284 INFO L272 TraceCheckUtils]: 24: Hoare triple {3034#(or (not (<= main_~d~0 main_~r~0)) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= (* main_~d~0 2) main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {2770#true} is VALID [2022-04-15 15:36:48,284 INFO L290 TraceCheckUtils]: 23: Hoare triple {3034#(or (not (<= main_~d~0 main_~r~0)) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= (* main_~d~0 2) main_~r~0))} assume !false; {3034#(or (not (<= main_~d~0 main_~r~0)) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-15 15:36:48,285 INFO L290 TraceCheckUtils]: 22: Hoare triple {2770#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {3034#(or (not (<= main_~d~0 main_~r~0)) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-15 15:36:48,285 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2770#true} {2770#true} #85#return; {2770#true} is VALID [2022-04-15 15:36:48,285 INFO L290 TraceCheckUtils]: 20: Hoare triple {2770#true} assume true; {2770#true} is VALID [2022-04-15 15:36:48,285 INFO L290 TraceCheckUtils]: 19: Hoare triple {2770#true} assume !(0 == ~cond); {2770#true} is VALID [2022-04-15 15:36:48,285 INFO L290 TraceCheckUtils]: 18: Hoare triple {2770#true} ~cond := #in~cond; {2770#true} is VALID [2022-04-15 15:36:48,285 INFO L272 TraceCheckUtils]: 17: Hoare triple {2770#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {2770#true} is VALID [2022-04-15 15:36:48,285 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2770#true} {2770#true} #83#return; {2770#true} is VALID [2022-04-15 15:36:48,285 INFO L290 TraceCheckUtils]: 15: Hoare triple {2770#true} assume true; {2770#true} is VALID [2022-04-15 15:36:48,285 INFO L290 TraceCheckUtils]: 14: Hoare triple {2770#true} assume !(0 == ~cond); {2770#true} is VALID [2022-04-15 15:36:48,285 INFO L290 TraceCheckUtils]: 13: Hoare triple {2770#true} ~cond := #in~cond; {2770#true} is VALID [2022-04-15 15:36:48,286 INFO L272 TraceCheckUtils]: 12: Hoare triple {2770#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 1 then 1 else 0)); {2770#true} is VALID [2022-04-15 15:36:48,286 INFO L290 TraceCheckUtils]: 11: Hoare triple {2770#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {2770#true} is VALID [2022-04-15 15:36:48,286 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2770#true} {2770#true} #81#return; {2770#true} is VALID [2022-04-15 15:36:48,286 INFO L290 TraceCheckUtils]: 9: Hoare triple {2770#true} assume true; {2770#true} is VALID [2022-04-15 15:36:48,286 INFO L290 TraceCheckUtils]: 8: Hoare triple {2770#true} assume !(0 == ~cond); {2770#true} is VALID [2022-04-15 15:36:48,286 INFO L290 TraceCheckUtils]: 7: Hoare triple {2770#true} ~cond := #in~cond; {2770#true} is VALID [2022-04-15 15:36:48,286 INFO L272 TraceCheckUtils]: 6: Hoare triple {2770#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 1 then 1 else 0)); {2770#true} is VALID [2022-04-15 15:36:48,286 INFO L290 TraceCheckUtils]: 5: Hoare triple {2770#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4; {2770#true} is VALID [2022-04-15 15:36:48,286 INFO L272 TraceCheckUtils]: 4: Hoare triple {2770#true} call #t~ret6 := main(); {2770#true} is VALID [2022-04-15 15:36:48,286 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2770#true} {2770#true} #101#return; {2770#true} is VALID [2022-04-15 15:36:48,286 INFO L290 TraceCheckUtils]: 2: Hoare triple {2770#true} assume true; {2770#true} is VALID [2022-04-15 15:36:48,286 INFO L290 TraceCheckUtils]: 1: Hoare triple {2770#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {2770#true} is VALID [2022-04-15 15:36:48,286 INFO L272 TraceCheckUtils]: 0: Hoare triple {2770#true} call ULTIMATE.init(); {2770#true} is VALID [2022-04-15 15:36:48,287 INFO L134 CoverageAnalysis]: Checked inductivity of 89 backedges. 12 proven. 5 refuted. 0 times theorem prover too weak. 72 trivial. 0 not checked. [2022-04-15 15:36:48,287 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 15:36:48,287 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [130527243] [2022-04-15 15:36:48,287 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 15:36:48,287 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1257365491] [2022-04-15 15:36:48,287 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1257365491] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 15:36:48,287 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 15:36:48,287 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 7] total 13 [2022-04-15 15:36:48,287 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 15:36:48,287 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [508408862] [2022-04-15 15:36:48,288 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [508408862] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 15:36:48,288 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 15:36:48,288 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-15 15:36:48,288 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [177371902] [2022-04-15 15:36:48,288 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 15:36:48,290 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 2.2) internal successors, (22), 8 states have internal predecessors, (22), 5 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) Word has length 62 [2022-04-15 15:36:48,290 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 15:36:48,290 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 10 states, 10 states have (on average 2.2) internal successors, (22), 8 states have internal predecessors, (22), 5 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-15 15:36:48,350 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 44 edges. 44 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 15:36:48,350 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-15 15:36:48,350 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 15:36:48,350 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-15 15:36:48,350 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=37, Invalid=119, Unknown=0, NotChecked=0, Total=156 [2022-04-15 15:36:48,350 INFO L87 Difference]: Start difference. First operand 61 states and 71 transitions. Second operand has 10 states, 10 states have (on average 2.2) internal successors, (22), 8 states have internal predecessors, (22), 5 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-15 15:36:49,577 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:36:49,577 INFO L93 Difference]: Finished difference Result 90 states and 108 transitions. [2022-04-15 15:36:49,577 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-15 15:36:49,577 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 2.2) internal successors, (22), 8 states have internal predecessors, (22), 5 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) Word has length 62 [2022-04-15 15:36:49,578 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 15:36:49,578 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 2.2) internal successors, (22), 8 states have internal predecessors, (22), 5 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-15 15:36:49,579 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 77 transitions. [2022-04-15 15:36:49,579 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 2.2) internal successors, (22), 8 states have internal predecessors, (22), 5 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-15 15:36:49,580 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 77 transitions. [2022-04-15 15:36:49,580 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 77 transitions. [2022-04-15 15:36:49,648 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 77 edges. 77 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 15:36:49,649 INFO L225 Difference]: With dead ends: 90 [2022-04-15 15:36:49,649 INFO L226 Difference]: Without dead ends: 88 [2022-04-15 15:36:49,650 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 126 GetRequests, 111 SyntacticMatches, 1 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 27 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=53, Invalid=187, Unknown=0, NotChecked=0, Total=240 [2022-04-15 15:36:49,650 INFO L913 BasicCegarLoop]: 38 mSDtfsCounter, 28 mSDsluCounter, 132 mSDsCounter, 0 mSdLazyCounter, 234 mSolverCounterSat, 26 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 34 SdHoareTripleChecker+Valid, 170 SdHoareTripleChecker+Invalid, 260 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 26 IncrementalHoareTripleChecker+Valid, 234 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-04-15 15:36:49,650 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [34 Valid, 170 Invalid, 260 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [26 Valid, 234 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-04-15 15:36:49,651 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 88 states. [2022-04-15 15:36:49,717 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 88 to 87. [2022-04-15 15:36:49,717 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 15:36:49,717 INFO L82 GeneralOperation]: Start isEquivalent. First operand 88 states. Second operand has 87 states, 50 states have (on average 1.14) internal successors, (57), 54 states have internal predecessors, (57), 25 states have call successors, (25), 12 states have call predecessors, (25), 11 states have return successors, (23), 20 states have call predecessors, (23), 23 states have call successors, (23) [2022-04-15 15:36:49,717 INFO L74 IsIncluded]: Start isIncluded. First operand 88 states. Second operand has 87 states, 50 states have (on average 1.14) internal successors, (57), 54 states have internal predecessors, (57), 25 states have call successors, (25), 12 states have call predecessors, (25), 11 states have return successors, (23), 20 states have call predecessors, (23), 23 states have call successors, (23) [2022-04-15 15:36:49,718 INFO L87 Difference]: Start difference. First operand 88 states. Second operand has 87 states, 50 states have (on average 1.14) internal successors, (57), 54 states have internal predecessors, (57), 25 states have call successors, (25), 12 states have call predecessors, (25), 11 states have return successors, (23), 20 states have call predecessors, (23), 23 states have call successors, (23) [2022-04-15 15:36:49,720 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:36:49,720 INFO L93 Difference]: Finished difference Result 88 states and 106 transitions. [2022-04-15 15:36:49,720 INFO L276 IsEmpty]: Start isEmpty. Operand 88 states and 106 transitions. [2022-04-15 15:36:49,720 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 15:36:49,720 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 15:36:49,720 INFO L74 IsIncluded]: Start isIncluded. First operand has 87 states, 50 states have (on average 1.14) internal successors, (57), 54 states have internal predecessors, (57), 25 states have call successors, (25), 12 states have call predecessors, (25), 11 states have return successors, (23), 20 states have call predecessors, (23), 23 states have call successors, (23) Second operand 88 states. [2022-04-15 15:36:49,721 INFO L87 Difference]: Start difference. First operand has 87 states, 50 states have (on average 1.14) internal successors, (57), 54 states have internal predecessors, (57), 25 states have call successors, (25), 12 states have call predecessors, (25), 11 states have return successors, (23), 20 states have call predecessors, (23), 23 states have call successors, (23) Second operand 88 states. [2022-04-15 15:36:49,723 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:36:49,723 INFO L93 Difference]: Finished difference Result 88 states and 106 transitions. [2022-04-15 15:36:49,723 INFO L276 IsEmpty]: Start isEmpty. Operand 88 states and 106 transitions. [2022-04-15 15:36:49,723 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 15:36:49,723 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 15:36:49,723 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 15:36:49,723 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 15:36:49,724 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 87 states, 50 states have (on average 1.14) internal successors, (57), 54 states have internal predecessors, (57), 25 states have call successors, (25), 12 states have call predecessors, (25), 11 states have return successors, (23), 20 states have call predecessors, (23), 23 states have call successors, (23) [2022-04-15 15:36:49,726 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 87 states to 87 states and 105 transitions. [2022-04-15 15:36:49,726 INFO L78 Accepts]: Start accepts. Automaton has 87 states and 105 transitions. Word has length 62 [2022-04-15 15:36:49,726 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 15:36:49,726 INFO L478 AbstractCegarLoop]: Abstraction has 87 states and 105 transitions. [2022-04-15 15:36:49,726 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 10 states have (on average 2.2) internal successors, (22), 8 states have internal predecessors, (22), 5 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-15 15:36:49,726 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 87 states and 105 transitions. [2022-04-15 15:36:49,854 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 105 edges. 105 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 15:36:49,855 INFO L276 IsEmpty]: Start isEmpty. Operand 87 states and 105 transitions. [2022-04-15 15:36:49,855 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 76 [2022-04-15 15:36:49,855 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 15:36:49,855 INFO L499 BasicCegarLoop]: trace histogram [9, 8, 8, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 15:36:49,871 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Forceful destruction successful, exit code 0 [2022-04-15 15:36:50,064 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable6,5 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 15:36:50,065 INFO L403 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 15:36:50,065 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 15:36:50,065 INFO L85 PathProgramCache]: Analyzing trace with hash 680531353, now seen corresponding path program 1 times [2022-04-15 15:36:50,065 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 15:36:50,065 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [584188964] [2022-04-15 15:36:50,065 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 15:36:50,065 INFO L85 PathProgramCache]: Analyzing trace with hash 680531353, now seen corresponding path program 2 times [2022-04-15 15:36:50,066 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 15:36:50,066 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [883070749] [2022-04-15 15:36:50,066 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 15:36:50,066 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 15:36:50,082 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 15:36:50,082 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [552544741] [2022-04-15 15:36:50,082 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 15:36:50,082 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 15:36:50,083 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 15:36:50,083 INFO L229 MonitoredProcess]: Starting monitored process 6 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 15:36:50,084 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Waiting until timeout for monitored process [2022-04-15 15:36:50,143 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 15:36:50,143 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 15:36:50,144 INFO L263 TraceCheckSpWp]: Trace formula consists of 179 conjuncts, 30 conjunts are in the unsatisfiable core [2022-04-15 15:36:50,159 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 15:36:50,163 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 15:36:55,969 INFO L272 TraceCheckUtils]: 0: Hoare triple {3690#true} call ULTIMATE.init(); {3690#true} is VALID [2022-04-15 15:36:55,970 INFO L290 TraceCheckUtils]: 1: Hoare triple {3690#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {3690#true} is VALID [2022-04-15 15:36:55,970 INFO L290 TraceCheckUtils]: 2: Hoare triple {3690#true} assume true; {3690#true} is VALID [2022-04-15 15:36:55,970 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3690#true} {3690#true} #101#return; {3690#true} is VALID [2022-04-15 15:36:55,970 INFO L272 TraceCheckUtils]: 4: Hoare triple {3690#true} call #t~ret6 := main(); {3690#true} is VALID [2022-04-15 15:36:55,970 INFO L290 TraceCheckUtils]: 5: Hoare triple {3690#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4; {3690#true} is VALID [2022-04-15 15:36:55,970 INFO L272 TraceCheckUtils]: 6: Hoare triple {3690#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 1 then 1 else 0)); {3690#true} is VALID [2022-04-15 15:36:55,970 INFO L290 TraceCheckUtils]: 7: Hoare triple {3690#true} ~cond := #in~cond; {3690#true} is VALID [2022-04-15 15:36:55,970 INFO L290 TraceCheckUtils]: 8: Hoare triple {3690#true} assume !(0 == ~cond); {3690#true} is VALID [2022-04-15 15:36:55,970 INFO L290 TraceCheckUtils]: 9: Hoare triple {3690#true} assume true; {3690#true} is VALID [2022-04-15 15:36:55,970 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3690#true} {3690#true} #81#return; {3690#true} is VALID [2022-04-15 15:36:55,970 INFO L290 TraceCheckUtils]: 11: Hoare triple {3690#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {3690#true} is VALID [2022-04-15 15:36:55,970 INFO L272 TraceCheckUtils]: 12: Hoare triple {3690#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 1 then 1 else 0)); {3690#true} is VALID [2022-04-15 15:36:55,974 INFO L290 TraceCheckUtils]: 13: Hoare triple {3690#true} ~cond := #in~cond; {3734#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-15 15:36:55,974 INFO L290 TraceCheckUtils]: 14: Hoare triple {3734#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {3738#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 15:36:55,974 INFO L290 TraceCheckUtils]: 15: Hoare triple {3738#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {3738#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 15:36:55,975 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3738#(not (= |assume_abort_if_not_#in~cond| 0))} {3690#true} #83#return; {3745#(<= (mod main_~B~0 4294967296) 1)} is VALID [2022-04-15 15:36:55,975 INFO L272 TraceCheckUtils]: 17: Hoare triple {3745#(<= (mod main_~B~0 4294967296) 1)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {3690#true} is VALID [2022-04-15 15:36:55,975 INFO L290 TraceCheckUtils]: 18: Hoare triple {3690#true} ~cond := #in~cond; {3690#true} is VALID [2022-04-15 15:36:55,975 INFO L290 TraceCheckUtils]: 19: Hoare triple {3690#true} assume !(0 == ~cond); {3690#true} is VALID [2022-04-15 15:36:55,975 INFO L290 TraceCheckUtils]: 20: Hoare triple {3690#true} assume true; {3690#true} is VALID [2022-04-15 15:36:55,975 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3690#true} {3745#(<= (mod main_~B~0 4294967296) 1)} #85#return; {3745#(<= (mod main_~B~0 4294967296) 1)} is VALID [2022-04-15 15:36:55,976 INFO L290 TraceCheckUtils]: 22: Hoare triple {3745#(<= (mod main_~B~0 4294967296) 1)} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {3764#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-15 15:36:55,976 INFO L290 TraceCheckUtils]: 23: Hoare triple {3764#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (= main_~p~0 1))} assume !false; {3764#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-15 15:36:55,976 INFO L272 TraceCheckUtils]: 24: Hoare triple {3764#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {3690#true} is VALID [2022-04-15 15:36:55,976 INFO L290 TraceCheckUtils]: 25: Hoare triple {3690#true} ~cond := #in~cond; {3690#true} is VALID [2022-04-15 15:36:55,976 INFO L290 TraceCheckUtils]: 26: Hoare triple {3690#true} assume !(0 == ~cond); {3690#true} is VALID [2022-04-15 15:36:55,976 INFO L290 TraceCheckUtils]: 27: Hoare triple {3690#true} assume true; {3690#true} is VALID [2022-04-15 15:36:55,977 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {3690#true} {3764#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (= main_~p~0 1))} #87#return; {3764#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-15 15:36:55,977 INFO L272 TraceCheckUtils]: 29: Hoare triple {3764#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {3690#true} is VALID [2022-04-15 15:36:55,977 INFO L290 TraceCheckUtils]: 30: Hoare triple {3690#true} ~cond := #in~cond; {3690#true} is VALID [2022-04-15 15:36:55,977 INFO L290 TraceCheckUtils]: 31: Hoare triple {3690#true} assume !(0 == ~cond); {3690#true} is VALID [2022-04-15 15:36:55,977 INFO L290 TraceCheckUtils]: 32: Hoare triple {3690#true} assume true; {3690#true} is VALID [2022-04-15 15:36:55,978 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {3690#true} {3764#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (= main_~p~0 1))} #89#return; {3764#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-15 15:36:55,978 INFO L272 TraceCheckUtils]: 34: Hoare triple {3764#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {3690#true} is VALID [2022-04-15 15:36:55,978 INFO L290 TraceCheckUtils]: 35: Hoare triple {3690#true} ~cond := #in~cond; {3690#true} is VALID [2022-04-15 15:36:55,978 INFO L290 TraceCheckUtils]: 36: Hoare triple {3690#true} assume !(0 == ~cond); {3690#true} is VALID [2022-04-15 15:36:55,978 INFO L290 TraceCheckUtils]: 37: Hoare triple {3690#true} assume true; {3690#true} is VALID [2022-04-15 15:36:55,978 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {3690#true} {3764#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (= main_~p~0 1))} #91#return; {3764#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-15 15:36:55,979 INFO L290 TraceCheckUtils]: 39: Hoare triple {3764#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (= main_~p~0 1))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {3816#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-15 15:36:55,980 INFO L290 TraceCheckUtils]: 40: Hoare triple {3816#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} assume !false; {3816#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-15 15:36:55,980 INFO L272 TraceCheckUtils]: 41: Hoare triple {3816#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {3690#true} is VALID [2022-04-15 15:36:55,980 INFO L290 TraceCheckUtils]: 42: Hoare triple {3690#true} ~cond := #in~cond; {3690#true} is VALID [2022-04-15 15:36:55,980 INFO L290 TraceCheckUtils]: 43: Hoare triple {3690#true} assume !(0 == ~cond); {3690#true} is VALID [2022-04-15 15:36:55,980 INFO L290 TraceCheckUtils]: 44: Hoare triple {3690#true} assume true; {3690#true} is VALID [2022-04-15 15:36:55,980 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {3690#true} {3816#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} #87#return; {3816#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-15 15:36:55,981 INFO L272 TraceCheckUtils]: 46: Hoare triple {3816#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {3690#true} is VALID [2022-04-15 15:36:55,981 INFO L290 TraceCheckUtils]: 47: Hoare triple {3690#true} ~cond := #in~cond; {3690#true} is VALID [2022-04-15 15:36:55,981 INFO L290 TraceCheckUtils]: 48: Hoare triple {3690#true} assume !(0 == ~cond); {3690#true} is VALID [2022-04-15 15:36:55,981 INFO L290 TraceCheckUtils]: 49: Hoare triple {3690#true} assume true; {3690#true} is VALID [2022-04-15 15:36:55,981 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {3690#true} {3816#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} #89#return; {3816#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-15 15:36:55,981 INFO L272 TraceCheckUtils]: 51: Hoare triple {3816#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {3690#true} is VALID [2022-04-15 15:36:55,981 INFO L290 TraceCheckUtils]: 52: Hoare triple {3690#true} ~cond := #in~cond; {3690#true} is VALID [2022-04-15 15:36:55,981 INFO L290 TraceCheckUtils]: 53: Hoare triple {3690#true} assume !(0 == ~cond); {3690#true} is VALID [2022-04-15 15:36:55,981 INFO L290 TraceCheckUtils]: 54: Hoare triple {3690#true} assume true; {3690#true} is VALID [2022-04-15 15:36:55,982 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {3690#true} {3816#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} #91#return; {3816#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-15 15:36:55,982 INFO L290 TraceCheckUtils]: 56: Hoare triple {3816#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} assume !(~r~0 >= ~d~0); {3868#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-15 15:36:55,983 INFO L290 TraceCheckUtils]: 57: Hoare triple {3868#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} assume !false; {3868#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-15 15:36:55,983 INFO L272 TraceCheckUtils]: 58: Hoare triple {3868#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {3690#true} is VALID [2022-04-15 15:36:55,983 INFO L290 TraceCheckUtils]: 59: Hoare triple {3690#true} ~cond := #in~cond; {3690#true} is VALID [2022-04-15 15:36:55,983 INFO L290 TraceCheckUtils]: 60: Hoare triple {3690#true} assume !(0 == ~cond); {3690#true} is VALID [2022-04-15 15:36:55,983 INFO L290 TraceCheckUtils]: 61: Hoare triple {3690#true} assume true; {3690#true} is VALID [2022-04-15 15:36:55,983 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {3690#true} {3868#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} #93#return; {3868#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-15 15:36:55,984 INFO L272 TraceCheckUtils]: 63: Hoare triple {3868#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {3690#true} is VALID [2022-04-15 15:36:55,984 INFO L290 TraceCheckUtils]: 64: Hoare triple {3690#true} ~cond := #in~cond; {3690#true} is VALID [2022-04-15 15:36:55,984 INFO L290 TraceCheckUtils]: 65: Hoare triple {3690#true} assume !(0 == ~cond); {3690#true} is VALID [2022-04-15 15:36:55,984 INFO L290 TraceCheckUtils]: 66: Hoare triple {3690#true} assume true; {3690#true} is VALID [2022-04-15 15:36:55,984 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {3690#true} {3868#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} #95#return; {3868#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-15 15:36:55,986 INFO L290 TraceCheckUtils]: 68: Hoare triple {3868#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {3905#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (not (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0)) (<= (mod main_~B~0 4294967296) main_~r~0) (= main_~p~0 1))} is VALID [2022-04-15 15:36:55,987 INFO L290 TraceCheckUtils]: 69: Hoare triple {3905#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (not (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0)) (<= (mod main_~B~0 4294967296) main_~r~0) (= main_~p~0 1))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {3909#(and (not (<= (* 2 (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296))) (<= (mod main_~B~0 4294967296) (mod main_~A~0 4294967296)) (= (+ (* (- 1) (div (* 2 (mod main_~B~0 4294967296)) 2)) (mod main_~A~0 4294967296)) main_~r~0) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 1))} is VALID [2022-04-15 15:36:55,987 INFO L290 TraceCheckUtils]: 70: Hoare triple {3909#(and (not (<= (* 2 (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296))) (<= (mod main_~B~0 4294967296) (mod main_~A~0 4294967296)) (= (+ (* (- 1) (div (* 2 (mod main_~B~0 4294967296)) 2)) (mod main_~A~0 4294967296)) main_~r~0) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 1))} assume !false; {3909#(and (not (<= (* 2 (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296))) (<= (mod main_~B~0 4294967296) (mod main_~A~0 4294967296)) (= (+ (* (- 1) (div (* 2 (mod main_~B~0 4294967296)) 2)) (mod main_~A~0 4294967296)) main_~r~0) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 1))} is VALID [2022-04-15 15:36:55,988 INFO L272 TraceCheckUtils]: 71: Hoare triple {3909#(and (not (<= (* 2 (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296))) (<= (mod main_~B~0 4294967296) (mod main_~A~0 4294967296)) (= (+ (* (- 1) (div (* 2 (mod main_~B~0 4294967296)) 2)) (mod main_~A~0 4294967296)) main_~r~0) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 1))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {3916#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 15:36:55,988 INFO L290 TraceCheckUtils]: 72: Hoare triple {3916#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3920#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 15:36:55,988 INFO L290 TraceCheckUtils]: 73: Hoare triple {3920#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3691#false} is VALID [2022-04-15 15:36:55,988 INFO L290 TraceCheckUtils]: 74: Hoare triple {3691#false} assume !false; {3691#false} is VALID [2022-04-15 15:36:55,989 INFO L134 CoverageAnalysis]: Checked inductivity of 147 backedges. 19 proven. 10 refuted. 0 times theorem prover too weak. 118 trivial. 0 not checked. [2022-04-15 15:36:55,989 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 15:37:02,922 INFO L290 TraceCheckUtils]: 74: Hoare triple {3691#false} assume !false; {3691#false} is VALID [2022-04-15 15:37:02,922 INFO L290 TraceCheckUtils]: 73: Hoare triple {3920#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3691#false} is VALID [2022-04-15 15:37:02,923 INFO L290 TraceCheckUtils]: 72: Hoare triple {3916#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3920#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 15:37:02,923 INFO L272 TraceCheckUtils]: 71: Hoare triple {3936#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {3916#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 15:37:02,924 INFO L290 TraceCheckUtils]: 70: Hoare triple {3936#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} assume !false; {3936#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} is VALID [2022-04-15 15:37:02,926 INFO L290 TraceCheckUtils]: 69: Hoare triple {3943#(= (mod main_~A~0 4294967296) (+ (* (- 1) main_~d~0) (* (+ main_~q~0 main_~p~0) (mod main_~B~0 4294967296)) main_~r~0))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {3936#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} is VALID [2022-04-15 15:37:02,937 INFO L290 TraceCheckUtils]: 68: Hoare triple {3947#(and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {3943#(= (mod main_~A~0 4294967296) (+ (* (- 1) main_~d~0) (* (+ main_~q~0 main_~p~0) (mod main_~B~0 4294967296)) main_~r~0))} is VALID [2022-04-15 15:37:02,938 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {3690#true} {3947#(and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} #95#return; {3947#(and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} is VALID [2022-04-15 15:37:02,938 INFO L290 TraceCheckUtils]: 66: Hoare triple {3690#true} assume true; {3690#true} is VALID [2022-04-15 15:37:02,938 INFO L290 TraceCheckUtils]: 65: Hoare triple {3690#true} assume !(0 == ~cond); {3690#true} is VALID [2022-04-15 15:37:02,938 INFO L290 TraceCheckUtils]: 64: Hoare triple {3690#true} ~cond := #in~cond; {3690#true} is VALID [2022-04-15 15:37:02,938 INFO L272 TraceCheckUtils]: 63: Hoare triple {3947#(and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {3690#true} is VALID [2022-04-15 15:37:02,938 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {3690#true} {3947#(and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} #93#return; {3947#(and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} is VALID [2022-04-15 15:37:02,939 INFO L290 TraceCheckUtils]: 61: Hoare triple {3690#true} assume true; {3690#true} is VALID [2022-04-15 15:37:02,939 INFO L290 TraceCheckUtils]: 60: Hoare triple {3690#true} assume !(0 == ~cond); {3690#true} is VALID [2022-04-15 15:37:02,939 INFO L290 TraceCheckUtils]: 59: Hoare triple {3690#true} ~cond := #in~cond; {3690#true} is VALID [2022-04-15 15:37:02,939 INFO L272 TraceCheckUtils]: 58: Hoare triple {3947#(and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {3690#true} is VALID [2022-04-15 15:37:02,940 INFO L290 TraceCheckUtils]: 57: Hoare triple {3947#(and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} assume !false; {3947#(and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} is VALID [2022-04-15 15:37:02,941 INFO L290 TraceCheckUtils]: 56: Hoare triple {3984#(or (and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (<= main_~d~0 main_~r~0))} assume !(~r~0 >= ~d~0); {3947#(and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} is VALID [2022-04-15 15:37:02,941 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {3690#true} {3984#(or (and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (<= main_~d~0 main_~r~0))} #91#return; {3984#(or (and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-15 15:37:02,941 INFO L290 TraceCheckUtils]: 54: Hoare triple {3690#true} assume true; {3690#true} is VALID [2022-04-15 15:37:02,941 INFO L290 TraceCheckUtils]: 53: Hoare triple {3690#true} assume !(0 == ~cond); {3690#true} is VALID [2022-04-15 15:37:02,941 INFO L290 TraceCheckUtils]: 52: Hoare triple {3690#true} ~cond := #in~cond; {3690#true} is VALID [2022-04-15 15:37:02,942 INFO L272 TraceCheckUtils]: 51: Hoare triple {3984#(or (and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (<= main_~d~0 main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {3690#true} is VALID [2022-04-15 15:37:02,942 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {3690#true} {3984#(or (and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (<= main_~d~0 main_~r~0))} #89#return; {3984#(or (and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-15 15:37:02,942 INFO L290 TraceCheckUtils]: 49: Hoare triple {3690#true} assume true; {3690#true} is VALID [2022-04-15 15:37:02,942 INFO L290 TraceCheckUtils]: 48: Hoare triple {3690#true} assume !(0 == ~cond); {3690#true} is VALID [2022-04-15 15:37:02,942 INFO L290 TraceCheckUtils]: 47: Hoare triple {3690#true} ~cond := #in~cond; {3690#true} is VALID [2022-04-15 15:37:02,942 INFO L272 TraceCheckUtils]: 46: Hoare triple {3984#(or (and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (<= main_~d~0 main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {3690#true} is VALID [2022-04-15 15:37:02,943 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {3690#true} {3984#(or (and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (<= main_~d~0 main_~r~0))} #87#return; {3984#(or (and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-15 15:37:02,943 INFO L290 TraceCheckUtils]: 44: Hoare triple {3690#true} assume true; {3690#true} is VALID [2022-04-15 15:37:02,943 INFO L290 TraceCheckUtils]: 43: Hoare triple {3690#true} assume !(0 == ~cond); {3690#true} is VALID [2022-04-15 15:37:02,943 INFO L290 TraceCheckUtils]: 42: Hoare triple {3690#true} ~cond := #in~cond; {3690#true} is VALID [2022-04-15 15:37:02,943 INFO L272 TraceCheckUtils]: 41: Hoare triple {3984#(or (and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (<= main_~d~0 main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {3690#true} is VALID [2022-04-15 15:37:02,944 INFO L290 TraceCheckUtils]: 40: Hoare triple {3984#(or (and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (<= main_~d~0 main_~r~0))} assume !false; {3984#(or (and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-15 15:37:02,947 INFO L290 TraceCheckUtils]: 39: Hoare triple {4036#(or (not (<= main_~d~0 main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {3984#(or (and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-15 15:37:02,948 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {3690#true} {4036#(or (not (<= main_~d~0 main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} #91#return; {4036#(or (not (<= main_~d~0 main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-15 15:37:02,948 INFO L290 TraceCheckUtils]: 37: Hoare triple {3690#true} assume true; {3690#true} is VALID [2022-04-15 15:37:02,948 INFO L290 TraceCheckUtils]: 36: Hoare triple {3690#true} assume !(0 == ~cond); {3690#true} is VALID [2022-04-15 15:37:02,948 INFO L290 TraceCheckUtils]: 35: Hoare triple {3690#true} ~cond := #in~cond; {3690#true} is VALID [2022-04-15 15:37:02,948 INFO L272 TraceCheckUtils]: 34: Hoare triple {4036#(or (not (<= main_~d~0 main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {3690#true} is VALID [2022-04-15 15:37:02,949 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {3690#true} {4036#(or (not (<= main_~d~0 main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} #89#return; {4036#(or (not (<= main_~d~0 main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-15 15:37:02,949 INFO L290 TraceCheckUtils]: 32: Hoare triple {3690#true} assume true; {3690#true} is VALID [2022-04-15 15:37:02,949 INFO L290 TraceCheckUtils]: 31: Hoare triple {3690#true} assume !(0 == ~cond); {3690#true} is VALID [2022-04-15 15:37:02,949 INFO L290 TraceCheckUtils]: 30: Hoare triple {3690#true} ~cond := #in~cond; {3690#true} is VALID [2022-04-15 15:37:02,949 INFO L272 TraceCheckUtils]: 29: Hoare triple {4036#(or (not (<= main_~d~0 main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {3690#true} is VALID [2022-04-15 15:37:02,950 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {3690#true} {4036#(or (not (<= main_~d~0 main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} #87#return; {4036#(or (not (<= main_~d~0 main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-15 15:37:02,950 INFO L290 TraceCheckUtils]: 27: Hoare triple {3690#true} assume true; {3690#true} is VALID [2022-04-15 15:37:02,950 INFO L290 TraceCheckUtils]: 26: Hoare triple {3690#true} assume !(0 == ~cond); {3690#true} is VALID [2022-04-15 15:37:02,950 INFO L290 TraceCheckUtils]: 25: Hoare triple {3690#true} ~cond := #in~cond; {3690#true} is VALID [2022-04-15 15:37:02,950 INFO L272 TraceCheckUtils]: 24: Hoare triple {4036#(or (not (<= main_~d~0 main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {3690#true} is VALID [2022-04-15 15:37:02,950 INFO L290 TraceCheckUtils]: 23: Hoare triple {4036#(or (not (<= main_~d~0 main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} assume !false; {4036#(or (not (<= main_~d~0 main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-15 15:37:02,952 INFO L290 TraceCheckUtils]: 22: Hoare triple {3690#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {4036#(or (not (<= main_~d~0 main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-15 15:37:02,952 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3690#true} {3690#true} #85#return; {3690#true} is VALID [2022-04-15 15:37:02,952 INFO L290 TraceCheckUtils]: 20: Hoare triple {3690#true} assume true; {3690#true} is VALID [2022-04-15 15:37:02,952 INFO L290 TraceCheckUtils]: 19: Hoare triple {3690#true} assume !(0 == ~cond); {3690#true} is VALID [2022-04-15 15:37:02,952 INFO L290 TraceCheckUtils]: 18: Hoare triple {3690#true} ~cond := #in~cond; {3690#true} is VALID [2022-04-15 15:37:02,952 INFO L272 TraceCheckUtils]: 17: Hoare triple {3690#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {3690#true} is VALID [2022-04-15 15:37:02,952 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3690#true} {3690#true} #83#return; {3690#true} is VALID [2022-04-15 15:37:02,952 INFO L290 TraceCheckUtils]: 15: Hoare triple {3690#true} assume true; {3690#true} is VALID [2022-04-15 15:37:02,952 INFO L290 TraceCheckUtils]: 14: Hoare triple {3690#true} assume !(0 == ~cond); {3690#true} is VALID [2022-04-15 15:37:02,952 INFO L290 TraceCheckUtils]: 13: Hoare triple {3690#true} ~cond := #in~cond; {3690#true} is VALID [2022-04-15 15:37:02,952 INFO L272 TraceCheckUtils]: 12: Hoare triple {3690#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 1 then 1 else 0)); {3690#true} is VALID [2022-04-15 15:37:02,952 INFO L290 TraceCheckUtils]: 11: Hoare triple {3690#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {3690#true} is VALID [2022-04-15 15:37:02,953 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3690#true} {3690#true} #81#return; {3690#true} is VALID [2022-04-15 15:37:02,953 INFO L290 TraceCheckUtils]: 9: Hoare triple {3690#true} assume true; {3690#true} is VALID [2022-04-15 15:37:02,953 INFO L290 TraceCheckUtils]: 8: Hoare triple {3690#true} assume !(0 == ~cond); {3690#true} is VALID [2022-04-15 15:37:02,953 INFO L290 TraceCheckUtils]: 7: Hoare triple {3690#true} ~cond := #in~cond; {3690#true} is VALID [2022-04-15 15:37:02,953 INFO L272 TraceCheckUtils]: 6: Hoare triple {3690#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 1 then 1 else 0)); {3690#true} is VALID [2022-04-15 15:37:02,953 INFO L290 TraceCheckUtils]: 5: Hoare triple {3690#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4; {3690#true} is VALID [2022-04-15 15:37:02,953 INFO L272 TraceCheckUtils]: 4: Hoare triple {3690#true} call #t~ret6 := main(); {3690#true} is VALID [2022-04-15 15:37:02,953 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3690#true} {3690#true} #101#return; {3690#true} is VALID [2022-04-15 15:37:02,953 INFO L290 TraceCheckUtils]: 2: Hoare triple {3690#true} assume true; {3690#true} is VALID [2022-04-15 15:37:02,953 INFO L290 TraceCheckUtils]: 1: Hoare triple {3690#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {3690#true} is VALID [2022-04-15 15:37:02,953 INFO L272 TraceCheckUtils]: 0: Hoare triple {3690#true} call ULTIMATE.init(); {3690#true} is VALID [2022-04-15 15:37:02,954 INFO L134 CoverageAnalysis]: Checked inductivity of 147 backedges. 16 proven. 7 refuted. 0 times theorem prover too weak. 124 trivial. 0 not checked. [2022-04-15 15:37:02,954 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 15:37:02,954 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [883070749] [2022-04-15 15:37:02,954 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 15:37:02,954 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [552544741] [2022-04-15 15:37:02,954 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [552544741] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 15:37:02,954 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 15:37:02,954 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 9] total 17 [2022-04-15 15:37:02,954 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 15:37:02,954 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [584188964] [2022-04-15 15:37:02,954 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [584188964] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 15:37:02,954 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 15:37:02,954 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [12] imperfect sequences [] total 12 [2022-04-15 15:37:02,954 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [253856586] [2022-04-15 15:37:02,954 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 15:37:02,955 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 12 states have (on average 2.0833333333333335) internal successors, (25), 10 states have internal predecessors, (25), 6 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 5 states have call predecessors, (12), 5 states have call successors, (12) Word has length 75 [2022-04-15 15:37:02,955 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 15:37:02,955 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 12 states, 12 states have (on average 2.0833333333333335) internal successors, (25), 10 states have internal predecessors, (25), 6 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 5 states have call predecessors, (12), 5 states have call successors, (12) [2022-04-15 15:37:03,004 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 51 edges. 51 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 15:37:03,004 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 12 states [2022-04-15 15:37:03,004 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 15:37:03,005 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2022-04-15 15:37:03,005 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=62, Invalid=210, Unknown=0, NotChecked=0, Total=272 [2022-04-15 15:37:03,005 INFO L87 Difference]: Start difference. First operand 87 states and 105 transitions. Second operand has 12 states, 12 states have (on average 2.0833333333333335) internal successors, (25), 10 states have internal predecessors, (25), 6 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 5 states have call predecessors, (12), 5 states have call successors, (12) [2022-04-15 15:37:04,814 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:37:04,814 INFO L93 Difference]: Finished difference Result 121 states and 148 transitions. [2022-04-15 15:37:04,814 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-04-15 15:37:04,814 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 12 states have (on average 2.0833333333333335) internal successors, (25), 10 states have internal predecessors, (25), 6 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 5 states have call predecessors, (12), 5 states have call successors, (12) Word has length 75 [2022-04-15 15:37:04,814 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 15:37:04,814 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 12 states have (on average 2.0833333333333335) internal successors, (25), 10 states have internal predecessors, (25), 6 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 5 states have call predecessors, (12), 5 states have call successors, (12) [2022-04-15 15:37:04,816 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 102 transitions. [2022-04-15 15:37:04,816 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 12 states have (on average 2.0833333333333335) internal successors, (25), 10 states have internal predecessors, (25), 6 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 5 states have call predecessors, (12), 5 states have call successors, (12) [2022-04-15 15:37:04,817 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 102 transitions. [2022-04-15 15:37:04,818 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 12 states and 102 transitions. [2022-04-15 15:37:04,912 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 102 edges. 102 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 15:37:04,914 INFO L225 Difference]: With dead ends: 121 [2022-04-15 15:37:04,914 INFO L226 Difference]: Without dead ends: 98 [2022-04-15 15:37:04,915 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 151 GetRequests, 133 SyntacticMatches, 1 SemanticMatches, 17 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 68 ImplicationChecksByTransitivity, 1.9s TimeCoverageRelationStatistics Valid=70, Invalid=272, Unknown=0, NotChecked=0, Total=342 [2022-04-15 15:37:04,915 INFO L913 BasicCegarLoop]: 45 mSDtfsCounter, 23 mSDsluCounter, 169 mSDsCounter, 0 mSdLazyCounter, 345 mSolverCounterSat, 22 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 32 SdHoareTripleChecker+Valid, 214 SdHoareTripleChecker+Invalid, 367 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 22 IncrementalHoareTripleChecker+Valid, 345 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.5s IncrementalHoareTripleChecker+Time [2022-04-15 15:37:04,915 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [32 Valid, 214 Invalid, 367 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [22 Valid, 345 Invalid, 0 Unknown, 0 Unchecked, 0.5s Time] [2022-04-15 15:37:04,916 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 98 states. [2022-04-15 15:37:05,020 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 98 to 96. [2022-04-15 15:37:05,021 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 15:37:05,021 INFO L82 GeneralOperation]: Start isEquivalent. First operand 98 states. Second operand has 96 states, 58 states have (on average 1.1206896551724137) internal successors, (65), 60 states have internal predecessors, (65), 24 states have call successors, (24), 14 states have call predecessors, (24), 13 states have return successors, (22), 21 states have call predecessors, (22), 22 states have call successors, (22) [2022-04-15 15:37:05,021 INFO L74 IsIncluded]: Start isIncluded. First operand 98 states. Second operand has 96 states, 58 states have (on average 1.1206896551724137) internal successors, (65), 60 states have internal predecessors, (65), 24 states have call successors, (24), 14 states have call predecessors, (24), 13 states have return successors, (22), 21 states have call predecessors, (22), 22 states have call successors, (22) [2022-04-15 15:37:05,021 INFO L87 Difference]: Start difference. First operand 98 states. Second operand has 96 states, 58 states have (on average 1.1206896551724137) internal successors, (65), 60 states have internal predecessors, (65), 24 states have call successors, (24), 14 states have call predecessors, (24), 13 states have return successors, (22), 21 states have call predecessors, (22), 22 states have call successors, (22) [2022-04-15 15:37:05,024 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:37:05,024 INFO L93 Difference]: Finished difference Result 98 states and 114 transitions. [2022-04-15 15:37:05,024 INFO L276 IsEmpty]: Start isEmpty. Operand 98 states and 114 transitions. [2022-04-15 15:37:05,024 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 15:37:05,024 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 15:37:05,024 INFO L74 IsIncluded]: Start isIncluded. First operand has 96 states, 58 states have (on average 1.1206896551724137) internal successors, (65), 60 states have internal predecessors, (65), 24 states have call successors, (24), 14 states have call predecessors, (24), 13 states have return successors, (22), 21 states have call predecessors, (22), 22 states have call successors, (22) Second operand 98 states. [2022-04-15 15:37:05,024 INFO L87 Difference]: Start difference. First operand has 96 states, 58 states have (on average 1.1206896551724137) internal successors, (65), 60 states have internal predecessors, (65), 24 states have call successors, (24), 14 states have call predecessors, (24), 13 states have return successors, (22), 21 states have call predecessors, (22), 22 states have call successors, (22) Second operand 98 states. [2022-04-15 15:37:05,026 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:37:05,026 INFO L93 Difference]: Finished difference Result 98 states and 114 transitions. [2022-04-15 15:37:05,026 INFO L276 IsEmpty]: Start isEmpty. Operand 98 states and 114 transitions. [2022-04-15 15:37:05,027 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 15:37:05,027 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 15:37:05,027 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 15:37:05,027 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 15:37:05,028 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 96 states, 58 states have (on average 1.1206896551724137) internal successors, (65), 60 states have internal predecessors, (65), 24 states have call successors, (24), 14 states have call predecessors, (24), 13 states have return successors, (22), 21 states have call predecessors, (22), 22 states have call successors, (22) [2022-04-15 15:37:05,029 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 96 states to 96 states and 111 transitions. [2022-04-15 15:37:05,030 INFO L78 Accepts]: Start accepts. Automaton has 96 states and 111 transitions. Word has length 75 [2022-04-15 15:37:05,030 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 15:37:05,030 INFO L478 AbstractCegarLoop]: Abstraction has 96 states and 111 transitions. [2022-04-15 15:37:05,030 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 12 states, 12 states have (on average 2.0833333333333335) internal successors, (25), 10 states have internal predecessors, (25), 6 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 5 states have call predecessors, (12), 5 states have call successors, (12) [2022-04-15 15:37:05,030 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 96 states and 111 transitions. [2022-04-15 15:37:05,167 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 111 edges. 111 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 15:37:05,168 INFO L276 IsEmpty]: Start isEmpty. Operand 96 states and 111 transitions. [2022-04-15 15:37:05,168 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 80 [2022-04-15 15:37:05,168 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 15:37:05,168 INFO L499 BasicCegarLoop]: trace histogram [10, 9, 9, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 15:37:05,195 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Forceful destruction successful, exit code 0 [2022-04-15 15:37:05,369 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable7,6 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 15:37:05,369 INFO L403 AbstractCegarLoop]: === Iteration 9 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 15:37:05,369 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 15:37:05,369 INFO L85 PathProgramCache]: Analyzing trace with hash -1211630783, now seen corresponding path program 3 times [2022-04-15 15:37:05,369 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 15:37:05,369 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [330157749] [2022-04-15 15:37:05,370 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 15:37:05,370 INFO L85 PathProgramCache]: Analyzing trace with hash -1211630783, now seen corresponding path program 4 times [2022-04-15 15:37:05,370 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 15:37:05,370 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [997426064] [2022-04-15 15:37:05,370 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 15:37:05,370 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 15:37:05,379 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 15:37:05,383 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1841458298] [2022-04-15 15:37:05,383 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-15 15:37:05,383 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 15:37:05,384 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 15:37:05,384 INFO L229 MonitoredProcess]: Starting monitored process 7 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 15:37:05,385 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Waiting until timeout for monitored process [2022-04-15 15:37:05,423 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-15 15:37:05,423 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 15:37:05,424 INFO L263 TraceCheckSpWp]: Trace formula consists of 183 conjuncts, 14 conjunts are in the unsatisfiable core [2022-04-15 15:37:05,440 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 15:37:05,441 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 15:37:10,009 INFO L272 TraceCheckUtils]: 0: Hoare triple {4790#true} call ULTIMATE.init(); {4790#true} is VALID [2022-04-15 15:37:10,009 INFO L290 TraceCheckUtils]: 1: Hoare triple {4790#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {4790#true} is VALID [2022-04-15 15:37:10,010 INFO L290 TraceCheckUtils]: 2: Hoare triple {4790#true} assume true; {4790#true} is VALID [2022-04-15 15:37:10,010 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4790#true} {4790#true} #101#return; {4790#true} is VALID [2022-04-15 15:37:10,010 INFO L272 TraceCheckUtils]: 4: Hoare triple {4790#true} call #t~ret6 := main(); {4790#true} is VALID [2022-04-15 15:37:10,010 INFO L290 TraceCheckUtils]: 5: Hoare triple {4790#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4; {4790#true} is VALID [2022-04-15 15:37:10,010 INFO L272 TraceCheckUtils]: 6: Hoare triple {4790#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 1 then 1 else 0)); {4790#true} is VALID [2022-04-15 15:37:10,010 INFO L290 TraceCheckUtils]: 7: Hoare triple {4790#true} ~cond := #in~cond; {4816#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-15 15:37:10,011 INFO L290 TraceCheckUtils]: 8: Hoare triple {4816#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {4820#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 15:37:10,011 INFO L290 TraceCheckUtils]: 9: Hoare triple {4820#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {4820#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 15:37:10,012 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4820#(not (= |assume_abort_if_not_#in~cond| 0))} {4790#true} #81#return; {4827#(<= (mod main_~A~0 4294967296) 1)} is VALID [2022-04-15 15:37:10,012 INFO L290 TraceCheckUtils]: 11: Hoare triple {4827#(<= (mod main_~A~0 4294967296) 1)} ~B~0 := #t~nondet5;havoc #t~nondet5; {4827#(<= (mod main_~A~0 4294967296) 1)} is VALID [2022-04-15 15:37:10,012 INFO L272 TraceCheckUtils]: 12: Hoare triple {4827#(<= (mod main_~A~0 4294967296) 1)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 1 then 1 else 0)); {4790#true} is VALID [2022-04-15 15:37:10,012 INFO L290 TraceCheckUtils]: 13: Hoare triple {4790#true} ~cond := #in~cond; {4790#true} is VALID [2022-04-15 15:37:10,012 INFO L290 TraceCheckUtils]: 14: Hoare triple {4790#true} assume !(0 == ~cond); {4790#true} is VALID [2022-04-15 15:37:10,012 INFO L290 TraceCheckUtils]: 15: Hoare triple {4790#true} assume true; {4790#true} is VALID [2022-04-15 15:37:10,013 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {4790#true} {4827#(<= (mod main_~A~0 4294967296) 1)} #83#return; {4827#(<= (mod main_~A~0 4294967296) 1)} is VALID [2022-04-15 15:37:10,013 INFO L272 TraceCheckUtils]: 17: Hoare triple {4827#(<= (mod main_~A~0 4294967296) 1)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {4790#true} is VALID [2022-04-15 15:37:10,013 INFO L290 TraceCheckUtils]: 18: Hoare triple {4790#true} ~cond := #in~cond; {4790#true} is VALID [2022-04-15 15:37:10,013 INFO L290 TraceCheckUtils]: 19: Hoare triple {4790#true} assume !(0 == ~cond); {4790#true} is VALID [2022-04-15 15:37:10,013 INFO L290 TraceCheckUtils]: 20: Hoare triple {4790#true} assume true; {4790#true} is VALID [2022-04-15 15:37:10,014 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {4790#true} {4827#(<= (mod main_~A~0 4294967296) 1)} #85#return; {4827#(<= (mod main_~A~0 4294967296) 1)} is VALID [2022-04-15 15:37:10,015 INFO L290 TraceCheckUtils]: 22: Hoare triple {4827#(<= (mod main_~A~0 4294967296) 1)} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {4864#(and (< main_~d~0 4294967296) (<= 0 main_~d~0) (< 0 (+ (div (+ (* (- 1) main_~r~0) 1) 4294967296) 1)))} is VALID [2022-04-15 15:37:10,016 INFO L290 TraceCheckUtils]: 23: Hoare triple {4864#(and (< main_~d~0 4294967296) (<= 0 main_~d~0) (< 0 (+ (div (+ (* (- 1) main_~r~0) 1) 4294967296) 1)))} assume !false; {4864#(and (< main_~d~0 4294967296) (<= 0 main_~d~0) (< 0 (+ (div (+ (* (- 1) main_~r~0) 1) 4294967296) 1)))} is VALID [2022-04-15 15:37:10,016 INFO L272 TraceCheckUtils]: 24: Hoare triple {4864#(and (< main_~d~0 4294967296) (<= 0 main_~d~0) (< 0 (+ (div (+ (* (- 1) main_~r~0) 1) 4294967296) 1)))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {4790#true} is VALID [2022-04-15 15:37:10,016 INFO L290 TraceCheckUtils]: 25: Hoare triple {4790#true} ~cond := #in~cond; {4790#true} is VALID [2022-04-15 15:37:10,016 INFO L290 TraceCheckUtils]: 26: Hoare triple {4790#true} assume !(0 == ~cond); {4790#true} is VALID [2022-04-15 15:37:10,016 INFO L290 TraceCheckUtils]: 27: Hoare triple {4790#true} assume true; {4790#true} is VALID [2022-04-15 15:37:10,017 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {4790#true} {4864#(and (< main_~d~0 4294967296) (<= 0 main_~d~0) (< 0 (+ (div (+ (* (- 1) main_~r~0) 1) 4294967296) 1)))} #87#return; {4864#(and (< main_~d~0 4294967296) (<= 0 main_~d~0) (< 0 (+ (div (+ (* (- 1) main_~r~0) 1) 4294967296) 1)))} is VALID [2022-04-15 15:37:10,017 INFO L272 TraceCheckUtils]: 29: Hoare triple {4864#(and (< main_~d~0 4294967296) (<= 0 main_~d~0) (< 0 (+ (div (+ (* (- 1) main_~r~0) 1) 4294967296) 1)))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {4790#true} is VALID [2022-04-15 15:37:10,017 INFO L290 TraceCheckUtils]: 30: Hoare triple {4790#true} ~cond := #in~cond; {4790#true} is VALID [2022-04-15 15:37:10,017 INFO L290 TraceCheckUtils]: 31: Hoare triple {4790#true} assume !(0 == ~cond); {4790#true} is VALID [2022-04-15 15:37:10,017 INFO L290 TraceCheckUtils]: 32: Hoare triple {4790#true} assume true; {4790#true} is VALID [2022-04-15 15:37:10,018 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {4790#true} {4864#(and (< main_~d~0 4294967296) (<= 0 main_~d~0) (< 0 (+ (div (+ (* (- 1) main_~r~0) 1) 4294967296) 1)))} #89#return; {4864#(and (< main_~d~0 4294967296) (<= 0 main_~d~0) (< 0 (+ (div (+ (* (- 1) main_~r~0) 1) 4294967296) 1)))} is VALID [2022-04-15 15:37:10,018 INFO L272 TraceCheckUtils]: 34: Hoare triple {4864#(and (< main_~d~0 4294967296) (<= 0 main_~d~0) (< 0 (+ (div (+ (* (- 1) main_~r~0) 1) 4294967296) 1)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {4790#true} is VALID [2022-04-15 15:37:10,018 INFO L290 TraceCheckUtils]: 35: Hoare triple {4790#true} ~cond := #in~cond; {4790#true} is VALID [2022-04-15 15:37:10,018 INFO L290 TraceCheckUtils]: 36: Hoare triple {4790#true} assume !(0 == ~cond); {4790#true} is VALID [2022-04-15 15:37:10,018 INFO L290 TraceCheckUtils]: 37: Hoare triple {4790#true} assume true; {4790#true} is VALID [2022-04-15 15:37:10,018 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {4790#true} {4864#(and (< main_~d~0 4294967296) (<= 0 main_~d~0) (< 0 (+ (div (+ (* (- 1) main_~r~0) 1) 4294967296) 1)))} #91#return; {4864#(and (< main_~d~0 4294967296) (<= 0 main_~d~0) (< 0 (+ (div (+ (* (- 1) main_~r~0) 1) 4294967296) 1)))} is VALID [2022-04-15 15:37:10,019 INFO L290 TraceCheckUtils]: 39: Hoare triple {4864#(and (< main_~d~0 4294967296) (<= 0 main_~d~0) (< 0 (+ (div (+ (* (- 1) main_~r~0) 1) 4294967296) 1)))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {4916#(and (<= 0 (div (* (- 1) main_~d~0) (- 2))) (= (mod main_~d~0 2) 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0) (< 0 (+ (div (+ (* (- 1) main_~r~0) 1) 4294967296) 1)))} is VALID [2022-04-15 15:37:10,020 INFO L290 TraceCheckUtils]: 40: Hoare triple {4916#(and (<= 0 (div (* (- 1) main_~d~0) (- 2))) (= (mod main_~d~0 2) 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0) (< 0 (+ (div (+ (* (- 1) main_~r~0) 1) 4294967296) 1)))} assume !false; {4916#(and (<= 0 (div (* (- 1) main_~d~0) (- 2))) (= (mod main_~d~0 2) 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0) (< 0 (+ (div (+ (* (- 1) main_~r~0) 1) 4294967296) 1)))} is VALID [2022-04-15 15:37:10,020 INFO L272 TraceCheckUtils]: 41: Hoare triple {4916#(and (<= 0 (div (* (- 1) main_~d~0) (- 2))) (= (mod main_~d~0 2) 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0) (< 0 (+ (div (+ (* (- 1) main_~r~0) 1) 4294967296) 1)))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {4790#true} is VALID [2022-04-15 15:37:10,020 INFO L290 TraceCheckUtils]: 42: Hoare triple {4790#true} ~cond := #in~cond; {4790#true} is VALID [2022-04-15 15:37:10,020 INFO L290 TraceCheckUtils]: 43: Hoare triple {4790#true} assume !(0 == ~cond); {4790#true} is VALID [2022-04-15 15:37:10,020 INFO L290 TraceCheckUtils]: 44: Hoare triple {4790#true} assume true; {4790#true} is VALID [2022-04-15 15:37:10,021 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {4790#true} {4916#(and (<= 0 (div (* (- 1) main_~d~0) (- 2))) (= (mod main_~d~0 2) 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0) (< 0 (+ (div (+ (* (- 1) main_~r~0) 1) 4294967296) 1)))} #87#return; {4916#(and (<= 0 (div (* (- 1) main_~d~0) (- 2))) (= (mod main_~d~0 2) 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0) (< 0 (+ (div (+ (* (- 1) main_~r~0) 1) 4294967296) 1)))} is VALID [2022-04-15 15:37:10,021 INFO L272 TraceCheckUtils]: 46: Hoare triple {4916#(and (<= 0 (div (* (- 1) main_~d~0) (- 2))) (= (mod main_~d~0 2) 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0) (< 0 (+ (div (+ (* (- 1) main_~r~0) 1) 4294967296) 1)))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {4790#true} is VALID [2022-04-15 15:37:10,021 INFO L290 TraceCheckUtils]: 47: Hoare triple {4790#true} ~cond := #in~cond; {4790#true} is VALID [2022-04-15 15:37:10,021 INFO L290 TraceCheckUtils]: 48: Hoare triple {4790#true} assume !(0 == ~cond); {4790#true} is VALID [2022-04-15 15:37:10,021 INFO L290 TraceCheckUtils]: 49: Hoare triple {4790#true} assume true; {4790#true} is VALID [2022-04-15 15:37:10,021 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {4790#true} {4916#(and (<= 0 (div (* (- 1) main_~d~0) (- 2))) (= (mod main_~d~0 2) 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0) (< 0 (+ (div (+ (* (- 1) main_~r~0) 1) 4294967296) 1)))} #89#return; {4916#(and (<= 0 (div (* (- 1) main_~d~0) (- 2))) (= (mod main_~d~0 2) 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0) (< 0 (+ (div (+ (* (- 1) main_~r~0) 1) 4294967296) 1)))} is VALID [2022-04-15 15:37:10,021 INFO L272 TraceCheckUtils]: 51: Hoare triple {4916#(and (<= 0 (div (* (- 1) main_~d~0) (- 2))) (= (mod main_~d~0 2) 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0) (< 0 (+ (div (+ (* (- 1) main_~r~0) 1) 4294967296) 1)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {4790#true} is VALID [2022-04-15 15:37:10,021 INFO L290 TraceCheckUtils]: 52: Hoare triple {4790#true} ~cond := #in~cond; {4790#true} is VALID [2022-04-15 15:37:10,021 INFO L290 TraceCheckUtils]: 53: Hoare triple {4790#true} assume !(0 == ~cond); {4790#true} is VALID [2022-04-15 15:37:10,022 INFO L290 TraceCheckUtils]: 54: Hoare triple {4790#true} assume true; {4790#true} is VALID [2022-04-15 15:37:10,022 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {4790#true} {4916#(and (<= 0 (div (* (- 1) main_~d~0) (- 2))) (= (mod main_~d~0 2) 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0) (< 0 (+ (div (+ (* (- 1) main_~r~0) 1) 4294967296) 1)))} #91#return; {4916#(and (<= 0 (div (* (- 1) main_~d~0) (- 2))) (= (mod main_~d~0 2) 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0) (< 0 (+ (div (+ (* (- 1) main_~r~0) 1) 4294967296) 1)))} is VALID [2022-04-15 15:37:10,036 INFO L290 TraceCheckUtils]: 56: Hoare triple {4916#(and (<= 0 (div (* (- 1) main_~d~0) (- 2))) (= (mod main_~d~0 2) 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0) (< 0 (+ (div (+ (* (- 1) main_~r~0) 1) 4294967296) 1)))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {4968#(and (<= (div main_~r~0 (- 2)) (div (* (- 1) main_~d~0) 4)) (< (div main_~r~0 (- 2)) 1) (< 0 (+ (div (+ (* (- 1) main_~r~0) 1) 4294967296) 1)))} is VALID [2022-04-15 15:37:10,037 INFO L290 TraceCheckUtils]: 57: Hoare triple {4968#(and (<= (div main_~r~0 (- 2)) (div (* (- 1) main_~d~0) 4)) (< (div main_~r~0 (- 2)) 1) (< 0 (+ (div (+ (* (- 1) main_~r~0) 1) 4294967296) 1)))} assume !false; {4968#(and (<= (div main_~r~0 (- 2)) (div (* (- 1) main_~d~0) 4)) (< (div main_~r~0 (- 2)) 1) (< 0 (+ (div (+ (* (- 1) main_~r~0) 1) 4294967296) 1)))} is VALID [2022-04-15 15:37:10,037 INFO L272 TraceCheckUtils]: 58: Hoare triple {4968#(and (<= (div main_~r~0 (- 2)) (div (* (- 1) main_~d~0) 4)) (< (div main_~r~0 (- 2)) 1) (< 0 (+ (div (+ (* (- 1) main_~r~0) 1) 4294967296) 1)))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {4790#true} is VALID [2022-04-15 15:37:10,037 INFO L290 TraceCheckUtils]: 59: Hoare triple {4790#true} ~cond := #in~cond; {4790#true} is VALID [2022-04-15 15:37:10,037 INFO L290 TraceCheckUtils]: 60: Hoare triple {4790#true} assume !(0 == ~cond); {4790#true} is VALID [2022-04-15 15:37:10,037 INFO L290 TraceCheckUtils]: 61: Hoare triple {4790#true} assume true; {4790#true} is VALID [2022-04-15 15:37:10,038 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {4790#true} {4968#(and (<= (div main_~r~0 (- 2)) (div (* (- 1) main_~d~0) 4)) (< (div main_~r~0 (- 2)) 1) (< 0 (+ (div (+ (* (- 1) main_~r~0) 1) 4294967296) 1)))} #87#return; {4968#(and (<= (div main_~r~0 (- 2)) (div (* (- 1) main_~d~0) 4)) (< (div main_~r~0 (- 2)) 1) (< 0 (+ (div (+ (* (- 1) main_~r~0) 1) 4294967296) 1)))} is VALID [2022-04-15 15:37:10,038 INFO L272 TraceCheckUtils]: 63: Hoare triple {4968#(and (<= (div main_~r~0 (- 2)) (div (* (- 1) main_~d~0) 4)) (< (div main_~r~0 (- 2)) 1) (< 0 (+ (div (+ (* (- 1) main_~r~0) 1) 4294967296) 1)))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {4790#true} is VALID [2022-04-15 15:37:10,038 INFO L290 TraceCheckUtils]: 64: Hoare triple {4790#true} ~cond := #in~cond; {4790#true} is VALID [2022-04-15 15:37:10,038 INFO L290 TraceCheckUtils]: 65: Hoare triple {4790#true} assume !(0 == ~cond); {4790#true} is VALID [2022-04-15 15:37:10,038 INFO L290 TraceCheckUtils]: 66: Hoare triple {4790#true} assume true; {4790#true} is VALID [2022-04-15 15:37:10,038 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {4790#true} {4968#(and (<= (div main_~r~0 (- 2)) (div (* (- 1) main_~d~0) 4)) (< (div main_~r~0 (- 2)) 1) (< 0 (+ (div (+ (* (- 1) main_~r~0) 1) 4294967296) 1)))} #89#return; {4968#(and (<= (div main_~r~0 (- 2)) (div (* (- 1) main_~d~0) 4)) (< (div main_~r~0 (- 2)) 1) (< 0 (+ (div (+ (* (- 1) main_~r~0) 1) 4294967296) 1)))} is VALID [2022-04-15 15:37:10,039 INFO L272 TraceCheckUtils]: 68: Hoare triple {4968#(and (<= (div main_~r~0 (- 2)) (div (* (- 1) main_~d~0) 4)) (< (div main_~r~0 (- 2)) 1) (< 0 (+ (div (+ (* (- 1) main_~r~0) 1) 4294967296) 1)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {4790#true} is VALID [2022-04-15 15:37:10,039 INFO L290 TraceCheckUtils]: 69: Hoare triple {4790#true} ~cond := #in~cond; {4790#true} is VALID [2022-04-15 15:37:10,039 INFO L290 TraceCheckUtils]: 70: Hoare triple {4790#true} assume !(0 == ~cond); {4790#true} is VALID [2022-04-15 15:37:10,039 INFO L290 TraceCheckUtils]: 71: Hoare triple {4790#true} assume true; {4790#true} is VALID [2022-04-15 15:37:10,039 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {4790#true} {4968#(and (<= (div main_~r~0 (- 2)) (div (* (- 1) main_~d~0) 4)) (< (div main_~r~0 (- 2)) 1) (< 0 (+ (div (+ (* (- 1) main_~r~0) 1) 4294967296) 1)))} #91#return; {4968#(and (<= (div main_~r~0 (- 2)) (div (* (- 1) main_~d~0) 4)) (< (div main_~r~0 (- 2)) 1) (< 0 (+ (div (+ (* (- 1) main_~r~0) 1) 4294967296) 1)))} is VALID [2022-04-15 15:37:10,040 INFO L290 TraceCheckUtils]: 73: Hoare triple {4968#(and (<= (div main_~r~0 (- 2)) (div (* (- 1) main_~d~0) 4)) (< (div main_~r~0 (- 2)) 1) (< 0 (+ (div (+ (* (- 1) main_~r~0) 1) 4294967296) 1)))} assume !(~r~0 >= ~d~0); {4791#false} is VALID [2022-04-15 15:37:10,040 INFO L290 TraceCheckUtils]: 74: Hoare triple {4791#false} assume !false; {4791#false} is VALID [2022-04-15 15:37:10,040 INFO L272 TraceCheckUtils]: 75: Hoare triple {4791#false} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {4791#false} is VALID [2022-04-15 15:37:10,040 INFO L290 TraceCheckUtils]: 76: Hoare triple {4791#false} ~cond := #in~cond; {4791#false} is VALID [2022-04-15 15:37:10,040 INFO L290 TraceCheckUtils]: 77: Hoare triple {4791#false} assume 0 == ~cond; {4791#false} is VALID [2022-04-15 15:37:10,040 INFO L290 TraceCheckUtils]: 78: Hoare triple {4791#false} assume !false; {4791#false} is VALID [2022-04-15 15:37:10,041 INFO L134 CoverageAnalysis]: Checked inductivity of 189 backedges. 23 proven. 16 refuted. 0 times theorem prover too weak. 150 trivial. 0 not checked. [2022-04-15 15:37:10,041 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 15:37:10,738 INFO L290 TraceCheckUtils]: 78: Hoare triple {4791#false} assume !false; {4791#false} is VALID [2022-04-15 15:37:10,738 INFO L290 TraceCheckUtils]: 77: Hoare triple {4791#false} assume 0 == ~cond; {4791#false} is VALID [2022-04-15 15:37:10,738 INFO L290 TraceCheckUtils]: 76: Hoare triple {4791#false} ~cond := #in~cond; {4791#false} is VALID [2022-04-15 15:37:10,738 INFO L272 TraceCheckUtils]: 75: Hoare triple {4791#false} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {4791#false} is VALID [2022-04-15 15:37:10,738 INFO L290 TraceCheckUtils]: 74: Hoare triple {4791#false} assume !false; {4791#false} is VALID [2022-04-15 15:37:10,738 INFO L290 TraceCheckUtils]: 73: Hoare triple {5050#(<= main_~d~0 main_~r~0)} assume !(~r~0 >= ~d~0); {4791#false} is VALID [2022-04-15 15:37:10,739 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {4790#true} {5050#(<= main_~d~0 main_~r~0)} #91#return; {5050#(<= main_~d~0 main_~r~0)} is VALID [2022-04-15 15:37:10,739 INFO L290 TraceCheckUtils]: 71: Hoare triple {4790#true} assume true; {4790#true} is VALID [2022-04-15 15:37:10,739 INFO L290 TraceCheckUtils]: 70: Hoare triple {4790#true} assume !(0 == ~cond); {4790#true} is VALID [2022-04-15 15:37:10,739 INFO L290 TraceCheckUtils]: 69: Hoare triple {4790#true} ~cond := #in~cond; {4790#true} is VALID [2022-04-15 15:37:10,739 INFO L272 TraceCheckUtils]: 68: Hoare triple {5050#(<= main_~d~0 main_~r~0)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {4790#true} is VALID [2022-04-15 15:37:10,739 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {4790#true} {5050#(<= main_~d~0 main_~r~0)} #89#return; {5050#(<= main_~d~0 main_~r~0)} is VALID [2022-04-15 15:37:10,739 INFO L290 TraceCheckUtils]: 66: Hoare triple {4790#true} assume true; {4790#true} is VALID [2022-04-15 15:37:10,739 INFO L290 TraceCheckUtils]: 65: Hoare triple {4790#true} assume !(0 == ~cond); {4790#true} is VALID [2022-04-15 15:37:10,739 INFO L290 TraceCheckUtils]: 64: Hoare triple {4790#true} ~cond := #in~cond; {4790#true} is VALID [2022-04-15 15:37:10,740 INFO L272 TraceCheckUtils]: 63: Hoare triple {5050#(<= main_~d~0 main_~r~0)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {4790#true} is VALID [2022-04-15 15:37:10,740 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {4790#true} {5050#(<= main_~d~0 main_~r~0)} #87#return; {5050#(<= main_~d~0 main_~r~0)} is VALID [2022-04-15 15:37:10,740 INFO L290 TraceCheckUtils]: 61: Hoare triple {4790#true} assume true; {4790#true} is VALID [2022-04-15 15:37:10,740 INFO L290 TraceCheckUtils]: 60: Hoare triple {4790#true} assume !(0 == ~cond); {4790#true} is VALID [2022-04-15 15:37:10,740 INFO L290 TraceCheckUtils]: 59: Hoare triple {4790#true} ~cond := #in~cond; {4790#true} is VALID [2022-04-15 15:37:10,740 INFO L272 TraceCheckUtils]: 58: Hoare triple {5050#(<= main_~d~0 main_~r~0)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {4790#true} is VALID [2022-04-15 15:37:10,740 INFO L290 TraceCheckUtils]: 57: Hoare triple {5050#(<= main_~d~0 main_~r~0)} assume !false; {5050#(<= main_~d~0 main_~r~0)} is VALID [2022-04-15 15:37:10,741 INFO L290 TraceCheckUtils]: 56: Hoare triple {5102#(or (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {5050#(<= main_~d~0 main_~r~0)} is VALID [2022-04-15 15:37:10,742 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {4790#true} {5102#(or (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} #91#return; {5102#(or (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-15 15:37:10,742 INFO L290 TraceCheckUtils]: 54: Hoare triple {4790#true} assume true; {4790#true} is VALID [2022-04-15 15:37:10,742 INFO L290 TraceCheckUtils]: 53: Hoare triple {4790#true} assume !(0 == ~cond); {4790#true} is VALID [2022-04-15 15:37:10,742 INFO L290 TraceCheckUtils]: 52: Hoare triple {4790#true} ~cond := #in~cond; {4790#true} is VALID [2022-04-15 15:37:10,742 INFO L272 TraceCheckUtils]: 51: Hoare triple {5102#(or (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {4790#true} is VALID [2022-04-15 15:37:10,742 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {4790#true} {5102#(or (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} #89#return; {5102#(or (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-15 15:37:10,742 INFO L290 TraceCheckUtils]: 49: Hoare triple {4790#true} assume true; {4790#true} is VALID [2022-04-15 15:37:10,742 INFO L290 TraceCheckUtils]: 48: Hoare triple {4790#true} assume !(0 == ~cond); {4790#true} is VALID [2022-04-15 15:37:10,742 INFO L290 TraceCheckUtils]: 47: Hoare triple {4790#true} ~cond := #in~cond; {4790#true} is VALID [2022-04-15 15:37:10,742 INFO L272 TraceCheckUtils]: 46: Hoare triple {5102#(or (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {4790#true} is VALID [2022-04-15 15:37:10,743 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {4790#true} {5102#(or (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} #87#return; {5102#(or (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-15 15:37:10,743 INFO L290 TraceCheckUtils]: 44: Hoare triple {4790#true} assume true; {4790#true} is VALID [2022-04-15 15:37:10,743 INFO L290 TraceCheckUtils]: 43: Hoare triple {4790#true} assume !(0 == ~cond); {4790#true} is VALID [2022-04-15 15:37:10,743 INFO L290 TraceCheckUtils]: 42: Hoare triple {4790#true} ~cond := #in~cond; {4790#true} is VALID [2022-04-15 15:37:10,743 INFO L272 TraceCheckUtils]: 41: Hoare triple {5102#(or (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {4790#true} is VALID [2022-04-15 15:37:10,743 INFO L290 TraceCheckUtils]: 40: Hoare triple {5102#(or (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} assume !false; {5102#(or (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-15 15:37:10,744 INFO L290 TraceCheckUtils]: 39: Hoare triple {5154#(or (<= (* main_~d~0 4) main_~r~0) (< main_~r~0 (* main_~d~0 2)))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {5102#(or (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-15 15:37:10,744 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {4790#true} {5154#(or (<= (* main_~d~0 4) main_~r~0) (< main_~r~0 (* main_~d~0 2)))} #91#return; {5154#(or (<= (* main_~d~0 4) main_~r~0) (< main_~r~0 (* main_~d~0 2)))} is VALID [2022-04-15 15:37:10,745 INFO L290 TraceCheckUtils]: 37: Hoare triple {4790#true} assume true; {4790#true} is VALID [2022-04-15 15:37:10,745 INFO L290 TraceCheckUtils]: 36: Hoare triple {4790#true} assume !(0 == ~cond); {4790#true} is VALID [2022-04-15 15:37:10,745 INFO L290 TraceCheckUtils]: 35: Hoare triple {4790#true} ~cond := #in~cond; {4790#true} is VALID [2022-04-15 15:37:10,745 INFO L272 TraceCheckUtils]: 34: Hoare triple {5154#(or (<= (* main_~d~0 4) main_~r~0) (< main_~r~0 (* main_~d~0 2)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {4790#true} is VALID [2022-04-15 15:37:10,745 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {4790#true} {5154#(or (<= (* main_~d~0 4) main_~r~0) (< main_~r~0 (* main_~d~0 2)))} #89#return; {5154#(or (<= (* main_~d~0 4) main_~r~0) (< main_~r~0 (* main_~d~0 2)))} is VALID [2022-04-15 15:37:10,745 INFO L290 TraceCheckUtils]: 32: Hoare triple {4790#true} assume true; {4790#true} is VALID [2022-04-15 15:37:10,745 INFO L290 TraceCheckUtils]: 31: Hoare triple {4790#true} assume !(0 == ~cond); {4790#true} is VALID [2022-04-15 15:37:10,745 INFO L290 TraceCheckUtils]: 30: Hoare triple {4790#true} ~cond := #in~cond; {4790#true} is VALID [2022-04-15 15:37:10,745 INFO L272 TraceCheckUtils]: 29: Hoare triple {5154#(or (<= (* main_~d~0 4) main_~r~0) (< main_~r~0 (* main_~d~0 2)))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {4790#true} is VALID [2022-04-15 15:37:10,746 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {4790#true} {5154#(or (<= (* main_~d~0 4) main_~r~0) (< main_~r~0 (* main_~d~0 2)))} #87#return; {5154#(or (<= (* main_~d~0 4) main_~r~0) (< main_~r~0 (* main_~d~0 2)))} is VALID [2022-04-15 15:37:10,746 INFO L290 TraceCheckUtils]: 27: Hoare triple {4790#true} assume true; {4790#true} is VALID [2022-04-15 15:37:10,746 INFO L290 TraceCheckUtils]: 26: Hoare triple {4790#true} assume !(0 == ~cond); {4790#true} is VALID [2022-04-15 15:37:10,746 INFO L290 TraceCheckUtils]: 25: Hoare triple {4790#true} ~cond := #in~cond; {4790#true} is VALID [2022-04-15 15:37:10,746 INFO L272 TraceCheckUtils]: 24: Hoare triple {5154#(or (<= (* main_~d~0 4) main_~r~0) (< main_~r~0 (* main_~d~0 2)))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {4790#true} is VALID [2022-04-15 15:37:10,746 INFO L290 TraceCheckUtils]: 23: Hoare triple {5154#(or (<= (* main_~d~0 4) main_~r~0) (< main_~r~0 (* main_~d~0 2)))} assume !false; {5154#(or (<= (* main_~d~0 4) main_~r~0) (< main_~r~0 (* main_~d~0 2)))} is VALID [2022-04-15 15:37:10,748 INFO L290 TraceCheckUtils]: 22: Hoare triple {4827#(<= (mod main_~A~0 4294967296) 1)} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {5154#(or (<= (* main_~d~0 4) main_~r~0) (< main_~r~0 (* main_~d~0 2)))} is VALID [2022-04-15 15:37:10,748 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {4790#true} {4827#(<= (mod main_~A~0 4294967296) 1)} #85#return; {4827#(<= (mod main_~A~0 4294967296) 1)} is VALID [2022-04-15 15:37:10,748 INFO L290 TraceCheckUtils]: 20: Hoare triple {4790#true} assume true; {4790#true} is VALID [2022-04-15 15:37:10,748 INFO L290 TraceCheckUtils]: 19: Hoare triple {4790#true} assume !(0 == ~cond); {4790#true} is VALID [2022-04-15 15:37:10,748 INFO L290 TraceCheckUtils]: 18: Hoare triple {4790#true} ~cond := #in~cond; {4790#true} is VALID [2022-04-15 15:37:10,748 INFO L272 TraceCheckUtils]: 17: Hoare triple {4827#(<= (mod main_~A~0 4294967296) 1)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {4790#true} is VALID [2022-04-15 15:37:10,749 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {4790#true} {4827#(<= (mod main_~A~0 4294967296) 1)} #83#return; {4827#(<= (mod main_~A~0 4294967296) 1)} is VALID [2022-04-15 15:37:10,749 INFO L290 TraceCheckUtils]: 15: Hoare triple {4790#true} assume true; {4790#true} is VALID [2022-04-15 15:37:10,749 INFO L290 TraceCheckUtils]: 14: Hoare triple {4790#true} assume !(0 == ~cond); {4790#true} is VALID [2022-04-15 15:37:10,749 INFO L290 TraceCheckUtils]: 13: Hoare triple {4790#true} ~cond := #in~cond; {4790#true} is VALID [2022-04-15 15:37:10,749 INFO L272 TraceCheckUtils]: 12: Hoare triple {4827#(<= (mod main_~A~0 4294967296) 1)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 1 then 1 else 0)); {4790#true} is VALID [2022-04-15 15:37:10,752 INFO L290 TraceCheckUtils]: 11: Hoare triple {4827#(<= (mod main_~A~0 4294967296) 1)} ~B~0 := #t~nondet5;havoc #t~nondet5; {4827#(<= (mod main_~A~0 4294967296) 1)} is VALID [2022-04-15 15:37:10,752 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4820#(not (= |assume_abort_if_not_#in~cond| 0))} {4790#true} #81#return; {4827#(<= (mod main_~A~0 4294967296) 1)} is VALID [2022-04-15 15:37:10,752 INFO L290 TraceCheckUtils]: 9: Hoare triple {4820#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {4820#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 15:37:10,753 INFO L290 TraceCheckUtils]: 8: Hoare triple {5251#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} assume !(0 == ~cond); {4820#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 15:37:10,753 INFO L290 TraceCheckUtils]: 7: Hoare triple {4790#true} ~cond := #in~cond; {5251#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-04-15 15:37:10,753 INFO L272 TraceCheckUtils]: 6: Hoare triple {4790#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 1 then 1 else 0)); {4790#true} is VALID [2022-04-15 15:37:10,753 INFO L290 TraceCheckUtils]: 5: Hoare triple {4790#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4; {4790#true} is VALID [2022-04-15 15:37:10,753 INFO L272 TraceCheckUtils]: 4: Hoare triple {4790#true} call #t~ret6 := main(); {4790#true} is VALID [2022-04-15 15:37:10,753 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4790#true} {4790#true} #101#return; {4790#true} is VALID [2022-04-15 15:37:10,753 INFO L290 TraceCheckUtils]: 2: Hoare triple {4790#true} assume true; {4790#true} is VALID [2022-04-15 15:37:10,753 INFO L290 TraceCheckUtils]: 1: Hoare triple {4790#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {4790#true} is VALID [2022-04-15 15:37:10,753 INFO L272 TraceCheckUtils]: 0: Hoare triple {4790#true} call ULTIMATE.init(); {4790#true} is VALID [2022-04-15 15:37:10,754 INFO L134 CoverageAnalysis]: Checked inductivity of 189 backedges. 18 proven. 21 refuted. 0 times theorem prover too weak. 150 trivial. 0 not checked. [2022-04-15 15:37:10,754 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 15:37:10,754 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [997426064] [2022-04-15 15:37:10,754 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 15:37:10,754 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1841458298] [2022-04-15 15:37:10,754 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1841458298] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 15:37:10,754 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 15:37:10,754 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 12 [2022-04-15 15:37:10,754 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 15:37:10,754 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [330157749] [2022-04-15 15:37:10,754 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [330157749] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 15:37:10,755 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 15:37:10,755 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-15 15:37:10,755 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [64710219] [2022-04-15 15:37:10,755 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 15:37:10,756 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 3.0) internal successors, (24), 8 states have internal predecessors, (24), 6 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 5 states have call predecessors, (13), 5 states have call successors, (13) Word has length 79 [2022-04-15 15:37:10,756 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 15:37:10,757 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 8 states have (on average 3.0) internal successors, (24), 8 states have internal predecessors, (24), 6 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 5 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-15 15:37:10,800 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 52 edges. 52 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 15:37:10,801 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-15 15:37:10,801 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 15:37:10,801 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-15 15:37:10,801 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=30, Invalid=102, Unknown=0, NotChecked=0, Total=132 [2022-04-15 15:37:10,801 INFO L87 Difference]: Start difference. First operand 96 states and 111 transitions. Second operand has 8 states, 8 states have (on average 3.0) internal successors, (24), 8 states have internal predecessors, (24), 6 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 5 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-15 15:37:12,360 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:37:12,360 INFO L93 Difference]: Finished difference Result 113 states and 131 transitions. [2022-04-15 15:37:12,360 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-15 15:37:12,360 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 3.0) internal successors, (24), 8 states have internal predecessors, (24), 6 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 5 states have call predecessors, (13), 5 states have call successors, (13) Word has length 79 [2022-04-15 15:37:12,361 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 15:37:12,361 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 3.0) internal successors, (24), 8 states have internal predecessors, (24), 6 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 5 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-15 15:37:12,362 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 83 transitions. [2022-04-15 15:37:12,362 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 3.0) internal successors, (24), 8 states have internal predecessors, (24), 6 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 5 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-15 15:37:12,363 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 83 transitions. [2022-04-15 15:37:12,363 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 83 transitions. [2022-04-15 15:37:12,444 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 83 edges. 83 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 15:37:12,445 INFO L225 Difference]: With dead ends: 113 [2022-04-15 15:37:12,445 INFO L226 Difference]: Without dead ends: 76 [2022-04-15 15:37:12,446 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 161 GetRequests, 146 SyntacticMatches, 1 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 13 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=59, Invalid=181, Unknown=0, NotChecked=0, Total=240 [2022-04-15 15:37:12,446 INFO L913 BasicCegarLoop]: 49 mSDtfsCounter, 16 mSDsluCounter, 130 mSDsCounter, 0 mSdLazyCounter, 131 mSolverCounterSat, 29 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.7s Time, 0 mProtectedPredicate, 0 mProtectedAction, 16 SdHoareTripleChecker+Valid, 179 SdHoareTripleChecker+Invalid, 160 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 29 IncrementalHoareTripleChecker+Valid, 131 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.7s IncrementalHoareTripleChecker+Time [2022-04-15 15:37:12,446 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [16 Valid, 179 Invalid, 160 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [29 Valid, 131 Invalid, 0 Unknown, 0 Unchecked, 0.7s Time] [2022-04-15 15:37:12,447 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 76 states. [2022-04-15 15:37:12,565 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 76 to 76. [2022-04-15 15:37:12,565 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 15:37:12,565 INFO L82 GeneralOperation]: Start isEquivalent. First operand 76 states. Second operand has 76 states, 46 states have (on average 1.108695652173913) internal successors, (51), 47 states have internal predecessors, (51), 19 states have call successors, (19), 11 states have call predecessors, (19), 10 states have return successors, (17), 17 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-15 15:37:12,565 INFO L74 IsIncluded]: Start isIncluded. First operand 76 states. Second operand has 76 states, 46 states have (on average 1.108695652173913) internal successors, (51), 47 states have internal predecessors, (51), 19 states have call successors, (19), 11 states have call predecessors, (19), 10 states have return successors, (17), 17 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-15 15:37:12,565 INFO L87 Difference]: Start difference. First operand 76 states. Second operand has 76 states, 46 states have (on average 1.108695652173913) internal successors, (51), 47 states have internal predecessors, (51), 19 states have call successors, (19), 11 states have call predecessors, (19), 10 states have return successors, (17), 17 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-15 15:37:12,567 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:37:12,567 INFO L93 Difference]: Finished difference Result 76 states and 87 transitions. [2022-04-15 15:37:12,567 INFO L276 IsEmpty]: Start isEmpty. Operand 76 states and 87 transitions. [2022-04-15 15:37:12,567 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 15:37:12,567 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 15:37:12,568 INFO L74 IsIncluded]: Start isIncluded. First operand has 76 states, 46 states have (on average 1.108695652173913) internal successors, (51), 47 states have internal predecessors, (51), 19 states have call successors, (19), 11 states have call predecessors, (19), 10 states have return successors, (17), 17 states have call predecessors, (17), 17 states have call successors, (17) Second operand 76 states. [2022-04-15 15:37:12,568 INFO L87 Difference]: Start difference. First operand has 76 states, 46 states have (on average 1.108695652173913) internal successors, (51), 47 states have internal predecessors, (51), 19 states have call successors, (19), 11 states have call predecessors, (19), 10 states have return successors, (17), 17 states have call predecessors, (17), 17 states have call successors, (17) Second operand 76 states. [2022-04-15 15:37:12,569 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:37:12,569 INFO L93 Difference]: Finished difference Result 76 states and 87 transitions. [2022-04-15 15:37:12,569 INFO L276 IsEmpty]: Start isEmpty. Operand 76 states and 87 transitions. [2022-04-15 15:37:12,570 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 15:37:12,570 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 15:37:12,570 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 15:37:12,570 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 15:37:12,570 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 76 states, 46 states have (on average 1.108695652173913) internal successors, (51), 47 states have internal predecessors, (51), 19 states have call successors, (19), 11 states have call predecessors, (19), 10 states have return successors, (17), 17 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-15 15:37:12,571 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 76 states to 76 states and 87 transitions. [2022-04-15 15:37:12,571 INFO L78 Accepts]: Start accepts. Automaton has 76 states and 87 transitions. Word has length 79 [2022-04-15 15:37:12,571 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 15:37:12,572 INFO L478 AbstractCegarLoop]: Abstraction has 76 states and 87 transitions. [2022-04-15 15:37:12,572 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 8 states have (on average 3.0) internal successors, (24), 8 states have internal predecessors, (24), 6 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 5 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-15 15:37:12,572 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 76 states and 87 transitions. [2022-04-15 15:37:12,693 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 87 edges. 87 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 15:37:12,693 INFO L276 IsEmpty]: Start isEmpty. Operand 76 states and 87 transitions. [2022-04-15 15:37:12,694 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 81 [2022-04-15 15:37:12,694 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 15:37:12,694 INFO L499 BasicCegarLoop]: trace histogram [10, 9, 9, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 15:37:12,710 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Ended with exit code 0 [2022-04-15 15:37:12,907 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable8,7 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 15:37:12,907 INFO L403 AbstractCegarLoop]: === Iteration 10 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 15:37:12,908 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 15:37:12,908 INFO L85 PathProgramCache]: Analyzing trace with hash -1566820819, now seen corresponding path program 3 times [2022-04-15 15:37:12,908 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 15:37:12,908 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1877402401] [2022-04-15 15:37:12,908 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 15:37:12,908 INFO L85 PathProgramCache]: Analyzing trace with hash -1566820819, now seen corresponding path program 4 times [2022-04-15 15:37:12,908 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 15:37:12,908 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [737772077] [2022-04-15 15:37:12,908 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 15:37:12,908 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 15:37:12,916 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 15:37:12,916 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1927963840] [2022-04-15 15:37:12,917 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-15 15:37:12,917 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 15:37:12,917 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 15:37:12,917 INFO L229 MonitoredProcess]: Starting monitored process 8 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 15:37:12,918 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Waiting until timeout for monitored process [2022-04-15 15:37:12,959 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-15 15:37:12,960 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 15:37:12,960 INFO L263 TraceCheckSpWp]: Trace formula consists of 188 conjuncts, 22 conjunts are in the unsatisfiable core [2022-04-15 15:37:12,972 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 15:37:12,974 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 15:37:14,665 INFO L272 TraceCheckUtils]: 0: Hoare triple {5813#true} call ULTIMATE.init(); {5813#true} is VALID [2022-04-15 15:37:14,665 INFO L290 TraceCheckUtils]: 1: Hoare triple {5813#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {5813#true} is VALID [2022-04-15 15:37:14,665 INFO L290 TraceCheckUtils]: 2: Hoare triple {5813#true} assume true; {5813#true} is VALID [2022-04-15 15:37:14,665 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5813#true} {5813#true} #101#return; {5813#true} is VALID [2022-04-15 15:37:14,665 INFO L272 TraceCheckUtils]: 4: Hoare triple {5813#true} call #t~ret6 := main(); {5813#true} is VALID [2022-04-15 15:37:14,665 INFO L290 TraceCheckUtils]: 5: Hoare triple {5813#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4; {5813#true} is VALID [2022-04-15 15:37:14,666 INFO L272 TraceCheckUtils]: 6: Hoare triple {5813#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 1 then 1 else 0)); {5813#true} is VALID [2022-04-15 15:37:14,666 INFO L290 TraceCheckUtils]: 7: Hoare triple {5813#true} ~cond := #in~cond; {5813#true} is VALID [2022-04-15 15:37:14,666 INFO L290 TraceCheckUtils]: 8: Hoare triple {5813#true} assume !(0 == ~cond); {5813#true} is VALID [2022-04-15 15:37:14,666 INFO L290 TraceCheckUtils]: 9: Hoare triple {5813#true} assume true; {5813#true} is VALID [2022-04-15 15:37:14,666 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5813#true} {5813#true} #81#return; {5813#true} is VALID [2022-04-15 15:37:14,666 INFO L290 TraceCheckUtils]: 11: Hoare triple {5813#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {5813#true} is VALID [2022-04-15 15:37:14,666 INFO L272 TraceCheckUtils]: 12: Hoare triple {5813#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 1 then 1 else 0)); {5813#true} is VALID [2022-04-15 15:37:14,666 INFO L290 TraceCheckUtils]: 13: Hoare triple {5813#true} ~cond := #in~cond; {5857#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-15 15:37:14,666 INFO L290 TraceCheckUtils]: 14: Hoare triple {5857#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {5861#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 15:37:14,667 INFO L290 TraceCheckUtils]: 15: Hoare triple {5861#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {5861#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 15:37:14,667 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {5861#(not (= |assume_abort_if_not_#in~cond| 0))} {5813#true} #83#return; {5868#(<= (mod main_~B~0 4294967296) 1)} is VALID [2022-04-15 15:37:14,667 INFO L272 TraceCheckUtils]: 17: Hoare triple {5868#(<= (mod main_~B~0 4294967296) 1)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {5813#true} is VALID [2022-04-15 15:37:14,667 INFO L290 TraceCheckUtils]: 18: Hoare triple {5813#true} ~cond := #in~cond; {5813#true} is VALID [2022-04-15 15:37:14,667 INFO L290 TraceCheckUtils]: 19: Hoare triple {5813#true} assume !(0 == ~cond); {5813#true} is VALID [2022-04-15 15:37:14,667 INFO L290 TraceCheckUtils]: 20: Hoare triple {5813#true} assume true; {5813#true} is VALID [2022-04-15 15:37:14,668 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {5813#true} {5868#(<= (mod main_~B~0 4294967296) 1)} #85#return; {5868#(<= (mod main_~B~0 4294967296) 1)} is VALID [2022-04-15 15:37:14,668 INFO L290 TraceCheckUtils]: 22: Hoare triple {5868#(<= (mod main_~B~0 4294967296) 1)} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {5887#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (= main_~p~0 1))} is VALID [2022-04-15 15:37:14,668 INFO L290 TraceCheckUtils]: 23: Hoare triple {5887#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (= main_~p~0 1))} assume !false; {5887#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (= main_~p~0 1))} is VALID [2022-04-15 15:37:14,668 INFO L272 TraceCheckUtils]: 24: Hoare triple {5887#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {5813#true} is VALID [2022-04-15 15:37:14,668 INFO L290 TraceCheckUtils]: 25: Hoare triple {5813#true} ~cond := #in~cond; {5813#true} is VALID [2022-04-15 15:37:14,669 INFO L290 TraceCheckUtils]: 26: Hoare triple {5813#true} assume !(0 == ~cond); {5813#true} is VALID [2022-04-15 15:37:14,669 INFO L290 TraceCheckUtils]: 27: Hoare triple {5813#true} assume true; {5813#true} is VALID [2022-04-15 15:37:14,669 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {5813#true} {5887#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (= main_~p~0 1))} #87#return; {5887#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (= main_~p~0 1))} is VALID [2022-04-15 15:37:14,669 INFO L272 TraceCheckUtils]: 29: Hoare triple {5887#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (= main_~p~0 1))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {5813#true} is VALID [2022-04-15 15:37:14,669 INFO L290 TraceCheckUtils]: 30: Hoare triple {5813#true} ~cond := #in~cond; {5813#true} is VALID [2022-04-15 15:37:14,669 INFO L290 TraceCheckUtils]: 31: Hoare triple {5813#true} assume !(0 == ~cond); {5813#true} is VALID [2022-04-15 15:37:14,669 INFO L290 TraceCheckUtils]: 32: Hoare triple {5813#true} assume true; {5813#true} is VALID [2022-04-15 15:37:14,670 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {5813#true} {5887#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (= main_~p~0 1))} #89#return; {5887#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (= main_~p~0 1))} is VALID [2022-04-15 15:37:14,670 INFO L272 TraceCheckUtils]: 34: Hoare triple {5887#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (= main_~p~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {5813#true} is VALID [2022-04-15 15:37:14,670 INFO L290 TraceCheckUtils]: 35: Hoare triple {5813#true} ~cond := #in~cond; {5813#true} is VALID [2022-04-15 15:37:14,670 INFO L290 TraceCheckUtils]: 36: Hoare triple {5813#true} assume !(0 == ~cond); {5813#true} is VALID [2022-04-15 15:37:14,670 INFO L290 TraceCheckUtils]: 37: Hoare triple {5813#true} assume true; {5813#true} is VALID [2022-04-15 15:37:14,670 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {5813#true} {5887#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (= main_~p~0 1))} #91#return; {5887#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (= main_~p~0 1))} is VALID [2022-04-15 15:37:14,671 INFO L290 TraceCheckUtils]: 39: Hoare triple {5887#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (= main_~p~0 1))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {5939#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-15 15:37:14,672 INFO L290 TraceCheckUtils]: 40: Hoare triple {5939#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (<= (mod main_~B~0 4294967296) main_~r~0))} assume !false; {5939#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-15 15:37:14,672 INFO L272 TraceCheckUtils]: 41: Hoare triple {5939#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (<= (mod main_~B~0 4294967296) main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {5813#true} is VALID [2022-04-15 15:37:14,672 INFO L290 TraceCheckUtils]: 42: Hoare triple {5813#true} ~cond := #in~cond; {5813#true} is VALID [2022-04-15 15:37:14,672 INFO L290 TraceCheckUtils]: 43: Hoare triple {5813#true} assume !(0 == ~cond); {5813#true} is VALID [2022-04-15 15:37:14,672 INFO L290 TraceCheckUtils]: 44: Hoare triple {5813#true} assume true; {5813#true} is VALID [2022-04-15 15:37:14,672 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {5813#true} {5939#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (<= (mod main_~B~0 4294967296) main_~r~0))} #87#return; {5939#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-15 15:37:14,672 INFO L272 TraceCheckUtils]: 46: Hoare triple {5939#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (<= (mod main_~B~0 4294967296) main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {5813#true} is VALID [2022-04-15 15:37:14,672 INFO L290 TraceCheckUtils]: 47: Hoare triple {5813#true} ~cond := #in~cond; {5813#true} is VALID [2022-04-15 15:37:14,672 INFO L290 TraceCheckUtils]: 48: Hoare triple {5813#true} assume !(0 == ~cond); {5813#true} is VALID [2022-04-15 15:37:14,672 INFO L290 TraceCheckUtils]: 49: Hoare triple {5813#true} assume true; {5813#true} is VALID [2022-04-15 15:37:14,673 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {5813#true} {5939#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (<= (mod main_~B~0 4294967296) main_~r~0))} #89#return; {5939#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-15 15:37:14,673 INFO L272 TraceCheckUtils]: 51: Hoare triple {5939#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (<= (mod main_~B~0 4294967296) main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {5813#true} is VALID [2022-04-15 15:37:14,673 INFO L290 TraceCheckUtils]: 52: Hoare triple {5813#true} ~cond := #in~cond; {5813#true} is VALID [2022-04-15 15:37:14,673 INFO L290 TraceCheckUtils]: 53: Hoare triple {5813#true} assume !(0 == ~cond); {5813#true} is VALID [2022-04-15 15:37:14,673 INFO L290 TraceCheckUtils]: 54: Hoare triple {5813#true} assume true; {5813#true} is VALID [2022-04-15 15:37:14,674 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {5813#true} {5939#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (<= (mod main_~B~0 4294967296) main_~r~0))} #91#return; {5939#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-15 15:37:14,675 INFO L290 TraceCheckUtils]: 56: Hoare triple {5939#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (<= (mod main_~B~0 4294967296) main_~r~0))} assume !(~r~0 >= ~d~0); {5991#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (< (mod main_~B~0 4294967296) main_~d~0))} is VALID [2022-04-15 15:37:14,675 INFO L290 TraceCheckUtils]: 57: Hoare triple {5991#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (< (mod main_~B~0 4294967296) main_~d~0))} assume !false; {5991#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (< (mod main_~B~0 4294967296) main_~d~0))} is VALID [2022-04-15 15:37:14,675 INFO L272 TraceCheckUtils]: 58: Hoare triple {5991#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (< (mod main_~B~0 4294967296) main_~d~0))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {5813#true} is VALID [2022-04-15 15:37:14,675 INFO L290 TraceCheckUtils]: 59: Hoare triple {5813#true} ~cond := #in~cond; {5813#true} is VALID [2022-04-15 15:37:14,675 INFO L290 TraceCheckUtils]: 60: Hoare triple {5813#true} assume !(0 == ~cond); {5813#true} is VALID [2022-04-15 15:37:14,675 INFO L290 TraceCheckUtils]: 61: Hoare triple {5813#true} assume true; {5813#true} is VALID [2022-04-15 15:37:14,676 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {5813#true} {5991#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (< (mod main_~B~0 4294967296) main_~d~0))} #93#return; {5991#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (< (mod main_~B~0 4294967296) main_~d~0))} is VALID [2022-04-15 15:37:14,676 INFO L272 TraceCheckUtils]: 63: Hoare triple {5991#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (< (mod main_~B~0 4294967296) main_~d~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {5813#true} is VALID [2022-04-15 15:37:14,676 INFO L290 TraceCheckUtils]: 64: Hoare triple {5813#true} ~cond := #in~cond; {5813#true} is VALID [2022-04-15 15:37:14,676 INFO L290 TraceCheckUtils]: 65: Hoare triple {5813#true} assume !(0 == ~cond); {5813#true} is VALID [2022-04-15 15:37:14,676 INFO L290 TraceCheckUtils]: 66: Hoare triple {5813#true} assume true; {5813#true} is VALID [2022-04-15 15:37:14,676 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {5813#true} {5991#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (< (mod main_~B~0 4294967296) main_~d~0))} #95#return; {5991#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (< (mod main_~B~0 4294967296) main_~d~0))} is VALID [2022-04-15 15:37:14,677 INFO L290 TraceCheckUtils]: 68: Hoare triple {5991#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (< (mod main_~B~0 4294967296) main_~d~0))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {6028#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (= main_~p~0 1))} is VALID [2022-04-15 15:37:14,678 INFO L290 TraceCheckUtils]: 69: Hoare triple {6028#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (= main_~p~0 1))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {6028#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (= main_~p~0 1))} is VALID [2022-04-15 15:37:14,678 INFO L290 TraceCheckUtils]: 70: Hoare triple {6028#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (= main_~p~0 1))} assume !false; {6028#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (= main_~p~0 1))} is VALID [2022-04-15 15:37:14,678 INFO L272 TraceCheckUtils]: 71: Hoare triple {6028#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (= main_~p~0 1))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {5813#true} is VALID [2022-04-15 15:37:14,678 INFO L290 TraceCheckUtils]: 72: Hoare triple {5813#true} ~cond := #in~cond; {5813#true} is VALID [2022-04-15 15:37:14,678 INFO L290 TraceCheckUtils]: 73: Hoare triple {5813#true} assume !(0 == ~cond); {5813#true} is VALID [2022-04-15 15:37:14,678 INFO L290 TraceCheckUtils]: 74: Hoare triple {5813#true} assume true; {5813#true} is VALID [2022-04-15 15:37:14,679 INFO L284 TraceCheckUtils]: 75: Hoare quadruple {5813#true} {6028#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (= main_~p~0 1))} #93#return; {6028#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (= main_~p~0 1))} is VALID [2022-04-15 15:37:14,679 INFO L272 TraceCheckUtils]: 76: Hoare triple {6028#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (= main_~p~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {6053#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 15:37:14,680 INFO L290 TraceCheckUtils]: 77: Hoare triple {6053#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {6057#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 15:37:14,680 INFO L290 TraceCheckUtils]: 78: Hoare triple {6057#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {5814#false} is VALID [2022-04-15 15:37:14,680 INFO L290 TraceCheckUtils]: 79: Hoare triple {5814#false} assume !false; {5814#false} is VALID [2022-04-15 15:37:14,680 INFO L134 CoverageAnalysis]: Checked inductivity of 182 backedges. 21 proven. 11 refuted. 0 times theorem prover too weak. 150 trivial. 0 not checked. [2022-04-15 15:37:14,680 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 15:37:24,991 INFO L290 TraceCheckUtils]: 79: Hoare triple {5814#false} assume !false; {5814#false} is VALID [2022-04-15 15:37:24,991 INFO L290 TraceCheckUtils]: 78: Hoare triple {6057#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {5814#false} is VALID [2022-04-15 15:37:24,991 INFO L290 TraceCheckUtils]: 77: Hoare triple {6053#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {6057#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 15:37:24,992 INFO L272 TraceCheckUtils]: 76: Hoare triple {6073#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {6053#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 15:37:24,992 INFO L284 TraceCheckUtils]: 75: Hoare quadruple {5813#true} {6073#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} #93#return; {6073#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-15 15:37:24,992 INFO L290 TraceCheckUtils]: 74: Hoare triple {5813#true} assume true; {5813#true} is VALID [2022-04-15 15:37:24,992 INFO L290 TraceCheckUtils]: 73: Hoare triple {5813#true} assume !(0 == ~cond); {5813#true} is VALID [2022-04-15 15:37:24,993 INFO L290 TraceCheckUtils]: 72: Hoare triple {5813#true} ~cond := #in~cond; {5813#true} is VALID [2022-04-15 15:37:24,993 INFO L272 TraceCheckUtils]: 71: Hoare triple {6073#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {5813#true} is VALID [2022-04-15 15:37:24,993 INFO L290 TraceCheckUtils]: 70: Hoare triple {6073#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} assume !false; {6073#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-15 15:37:24,993 INFO L290 TraceCheckUtils]: 69: Hoare triple {6073#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {6073#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-15 15:37:25,005 INFO L290 TraceCheckUtils]: 68: Hoare triple {6098#(and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))))))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {6073#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-15 15:37:25,006 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {5813#true} {6098#(and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))))))} #95#return; {6098#(and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))))))} is VALID [2022-04-15 15:37:25,006 INFO L290 TraceCheckUtils]: 66: Hoare triple {5813#true} assume true; {5813#true} is VALID [2022-04-15 15:37:25,006 INFO L290 TraceCheckUtils]: 65: Hoare triple {5813#true} assume !(0 == ~cond); {5813#true} is VALID [2022-04-15 15:37:25,006 INFO L290 TraceCheckUtils]: 64: Hoare triple {5813#true} ~cond := #in~cond; {5813#true} is VALID [2022-04-15 15:37:25,006 INFO L272 TraceCheckUtils]: 63: Hoare triple {6098#(and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))))))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {5813#true} is VALID [2022-04-15 15:37:25,007 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {5813#true} {6098#(and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))))))} #93#return; {6098#(and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))))))} is VALID [2022-04-15 15:37:25,007 INFO L290 TraceCheckUtils]: 61: Hoare triple {5813#true} assume true; {5813#true} is VALID [2022-04-15 15:37:25,007 INFO L290 TraceCheckUtils]: 60: Hoare triple {5813#true} assume !(0 == ~cond); {5813#true} is VALID [2022-04-15 15:37:25,007 INFO L290 TraceCheckUtils]: 59: Hoare triple {5813#true} ~cond := #in~cond; {5813#true} is VALID [2022-04-15 15:37:25,007 INFO L272 TraceCheckUtils]: 58: Hoare triple {6098#(and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))))))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {5813#true} is VALID [2022-04-15 15:37:25,008 INFO L290 TraceCheckUtils]: 57: Hoare triple {6098#(and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))))))} assume !false; {6098#(and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))))))} is VALID [2022-04-15 15:37:25,009 INFO L290 TraceCheckUtils]: 56: Hoare triple {6135#(or (and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2)))))) (<= main_~d~0 main_~r~0))} assume !(~r~0 >= ~d~0); {6098#(and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))))))} is VALID [2022-04-15 15:37:25,010 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {5813#true} {6135#(or (and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2)))))) (<= main_~d~0 main_~r~0))} #91#return; {6135#(or (and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2)))))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-15 15:37:25,010 INFO L290 TraceCheckUtils]: 54: Hoare triple {5813#true} assume true; {5813#true} is VALID [2022-04-15 15:37:25,010 INFO L290 TraceCheckUtils]: 53: Hoare triple {5813#true} assume !(0 == ~cond); {5813#true} is VALID [2022-04-15 15:37:25,010 INFO L290 TraceCheckUtils]: 52: Hoare triple {5813#true} ~cond := #in~cond; {5813#true} is VALID [2022-04-15 15:37:25,010 INFO L272 TraceCheckUtils]: 51: Hoare triple {6135#(or (and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2)))))) (<= main_~d~0 main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {5813#true} is VALID [2022-04-15 15:37:25,010 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {5813#true} {6135#(or (and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2)))))) (<= main_~d~0 main_~r~0))} #89#return; {6135#(or (and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2)))))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-15 15:37:25,010 INFO L290 TraceCheckUtils]: 49: Hoare triple {5813#true} assume true; {5813#true} is VALID [2022-04-15 15:37:25,010 INFO L290 TraceCheckUtils]: 48: Hoare triple {5813#true} assume !(0 == ~cond); {5813#true} is VALID [2022-04-15 15:37:25,010 INFO L290 TraceCheckUtils]: 47: Hoare triple {5813#true} ~cond := #in~cond; {5813#true} is VALID [2022-04-15 15:37:25,011 INFO L272 TraceCheckUtils]: 46: Hoare triple {6135#(or (and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2)))))) (<= main_~d~0 main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {5813#true} is VALID [2022-04-15 15:37:25,011 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {5813#true} {6135#(or (and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2)))))) (<= main_~d~0 main_~r~0))} #87#return; {6135#(or (and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2)))))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-15 15:37:25,011 INFO L290 TraceCheckUtils]: 44: Hoare triple {5813#true} assume true; {5813#true} is VALID [2022-04-15 15:37:25,011 INFO L290 TraceCheckUtils]: 43: Hoare triple {5813#true} assume !(0 == ~cond); {5813#true} is VALID [2022-04-15 15:37:25,011 INFO L290 TraceCheckUtils]: 42: Hoare triple {5813#true} ~cond := #in~cond; {5813#true} is VALID [2022-04-15 15:37:25,011 INFO L272 TraceCheckUtils]: 41: Hoare triple {6135#(or (and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2)))))) (<= main_~d~0 main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {5813#true} is VALID [2022-04-15 15:37:25,012 INFO L290 TraceCheckUtils]: 40: Hoare triple {6135#(or (and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2)))))) (<= main_~d~0 main_~r~0))} assume !false; {6135#(or (and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2)))))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-15 15:37:25,016 INFO L290 TraceCheckUtils]: 39: Hoare triple {6187#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {6135#(or (and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2)))))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-15 15:37:25,016 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {5813#true} {6187#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} #91#return; {6187#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} is VALID [2022-04-15 15:37:25,017 INFO L290 TraceCheckUtils]: 37: Hoare triple {5813#true} assume true; {5813#true} is VALID [2022-04-15 15:37:25,017 INFO L290 TraceCheckUtils]: 36: Hoare triple {5813#true} assume !(0 == ~cond); {5813#true} is VALID [2022-04-15 15:37:25,017 INFO L290 TraceCheckUtils]: 35: Hoare triple {5813#true} ~cond := #in~cond; {5813#true} is VALID [2022-04-15 15:37:25,017 INFO L272 TraceCheckUtils]: 34: Hoare triple {6187#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {5813#true} is VALID [2022-04-15 15:37:25,017 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {5813#true} {6187#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} #89#return; {6187#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} is VALID [2022-04-15 15:37:25,017 INFO L290 TraceCheckUtils]: 32: Hoare triple {5813#true} assume true; {5813#true} is VALID [2022-04-15 15:37:25,017 INFO L290 TraceCheckUtils]: 31: Hoare triple {5813#true} assume !(0 == ~cond); {5813#true} is VALID [2022-04-15 15:37:25,017 INFO L290 TraceCheckUtils]: 30: Hoare triple {5813#true} ~cond := #in~cond; {5813#true} is VALID [2022-04-15 15:37:25,017 INFO L272 TraceCheckUtils]: 29: Hoare triple {6187#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {5813#true} is VALID [2022-04-15 15:37:25,018 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {5813#true} {6187#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} #87#return; {6187#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} is VALID [2022-04-15 15:37:25,018 INFO L290 TraceCheckUtils]: 27: Hoare triple {5813#true} assume true; {5813#true} is VALID [2022-04-15 15:37:25,018 INFO L290 TraceCheckUtils]: 26: Hoare triple {5813#true} assume !(0 == ~cond); {5813#true} is VALID [2022-04-15 15:37:25,018 INFO L290 TraceCheckUtils]: 25: Hoare triple {5813#true} ~cond := #in~cond; {5813#true} is VALID [2022-04-15 15:37:25,018 INFO L272 TraceCheckUtils]: 24: Hoare triple {6187#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {5813#true} is VALID [2022-04-15 15:37:25,018 INFO L290 TraceCheckUtils]: 23: Hoare triple {6187#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} assume !false; {6187#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} is VALID [2022-04-15 15:37:25,019 INFO L290 TraceCheckUtils]: 22: Hoare triple {5813#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {6187#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} is VALID [2022-04-15 15:37:25,019 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {5813#true} {5813#true} #85#return; {5813#true} is VALID [2022-04-15 15:37:25,019 INFO L290 TraceCheckUtils]: 20: Hoare triple {5813#true} assume true; {5813#true} is VALID [2022-04-15 15:37:25,019 INFO L290 TraceCheckUtils]: 19: Hoare triple {5813#true} assume !(0 == ~cond); {5813#true} is VALID [2022-04-15 15:37:25,019 INFO L290 TraceCheckUtils]: 18: Hoare triple {5813#true} ~cond := #in~cond; {5813#true} is VALID [2022-04-15 15:37:25,019 INFO L272 TraceCheckUtils]: 17: Hoare triple {5813#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {5813#true} is VALID [2022-04-15 15:37:25,019 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {5813#true} {5813#true} #83#return; {5813#true} is VALID [2022-04-15 15:37:25,019 INFO L290 TraceCheckUtils]: 15: Hoare triple {5813#true} assume true; {5813#true} is VALID [2022-04-15 15:37:25,019 INFO L290 TraceCheckUtils]: 14: Hoare triple {5813#true} assume !(0 == ~cond); {5813#true} is VALID [2022-04-15 15:37:25,019 INFO L290 TraceCheckUtils]: 13: Hoare triple {5813#true} ~cond := #in~cond; {5813#true} is VALID [2022-04-15 15:37:25,020 INFO L272 TraceCheckUtils]: 12: Hoare triple {5813#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 1 then 1 else 0)); {5813#true} is VALID [2022-04-15 15:37:25,020 INFO L290 TraceCheckUtils]: 11: Hoare triple {5813#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {5813#true} is VALID [2022-04-15 15:37:25,020 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5813#true} {5813#true} #81#return; {5813#true} is VALID [2022-04-15 15:37:25,020 INFO L290 TraceCheckUtils]: 9: Hoare triple {5813#true} assume true; {5813#true} is VALID [2022-04-15 15:37:25,020 INFO L290 TraceCheckUtils]: 8: Hoare triple {5813#true} assume !(0 == ~cond); {5813#true} is VALID [2022-04-15 15:37:25,020 INFO L290 TraceCheckUtils]: 7: Hoare triple {5813#true} ~cond := #in~cond; {5813#true} is VALID [2022-04-15 15:37:25,020 INFO L272 TraceCheckUtils]: 6: Hoare triple {5813#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 1 then 1 else 0)); {5813#true} is VALID [2022-04-15 15:37:25,020 INFO L290 TraceCheckUtils]: 5: Hoare triple {5813#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4; {5813#true} is VALID [2022-04-15 15:37:25,020 INFO L272 TraceCheckUtils]: 4: Hoare triple {5813#true} call #t~ret6 := main(); {5813#true} is VALID [2022-04-15 15:37:25,020 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5813#true} {5813#true} #101#return; {5813#true} is VALID [2022-04-15 15:37:25,020 INFO L290 TraceCheckUtils]: 2: Hoare triple {5813#true} assume true; {5813#true} is VALID [2022-04-15 15:37:25,020 INFO L290 TraceCheckUtils]: 1: Hoare triple {5813#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {5813#true} is VALID [2022-04-15 15:37:25,020 INFO L272 TraceCheckUtils]: 0: Hoare triple {5813#true} call ULTIMATE.init(); {5813#true} is VALID [2022-04-15 15:37:25,021 INFO L134 CoverageAnalysis]: Checked inductivity of 182 backedges. 18 proven. 8 refuted. 0 times theorem prover too weak. 156 trivial. 0 not checked. [2022-04-15 15:37:25,021 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 15:37:25,021 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [737772077] [2022-04-15 15:37:25,021 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 15:37:25,021 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1927963840] [2022-04-15 15:37:25,021 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1927963840] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 15:37:25,021 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 15:37:25,021 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 8] total 15 [2022-04-15 15:37:25,021 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 15:37:25,021 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1877402401] [2022-04-15 15:37:25,021 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1877402401] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 15:37:25,021 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 15:37:25,022 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-15 15:37:25,022 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1414934773] [2022-04-15 15:37:25,022 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 15:37:25,022 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 2.272727272727273) internal successors, (25), 9 states have internal predecessors, (25), 6 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 6 states have call predecessors, (13), 6 states have call successors, (13) Word has length 80 [2022-04-15 15:37:25,022 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 15:37:25,022 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 11 states, 11 states have (on average 2.272727272727273) internal successors, (25), 9 states have internal predecessors, (25), 6 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 6 states have call predecessors, (13), 6 states have call successors, (13) [2022-04-15 15:37:25,075 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 53 edges. 53 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 15:37:25,075 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-15 15:37:25,075 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 15:37:25,076 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-15 15:37:25,076 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=50, Invalid=160, Unknown=0, NotChecked=0, Total=210 [2022-04-15 15:37:25,076 INFO L87 Difference]: Start difference. First operand 76 states and 87 transitions. Second operand has 11 states, 11 states have (on average 2.272727272727273) internal successors, (25), 9 states have internal predecessors, (25), 6 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 6 states have call predecessors, (13), 6 states have call successors, (13) [2022-04-15 15:37:25,867 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:37:25,868 INFO L93 Difference]: Finished difference Result 96 states and 109 transitions. [2022-04-15 15:37:25,868 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-15 15:37:25,868 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 2.272727272727273) internal successors, (25), 9 states have internal predecessors, (25), 6 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 6 states have call predecessors, (13), 6 states have call successors, (13) Word has length 80 [2022-04-15 15:37:25,868 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 15:37:25,872 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 2.272727272727273) internal successors, (25), 9 states have internal predecessors, (25), 6 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 6 states have call predecessors, (13), 6 states have call successors, (13) [2022-04-15 15:37:25,873 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 76 transitions. [2022-04-15 15:37:25,874 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 2.272727272727273) internal successors, (25), 9 states have internal predecessors, (25), 6 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 6 states have call predecessors, (13), 6 states have call successors, (13) [2022-04-15 15:37:25,875 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 76 transitions. [2022-04-15 15:37:25,875 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 76 transitions. [2022-04-15 15:37:25,952 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 76 edges. 76 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 15:37:25,953 INFO L225 Difference]: With dead ends: 96 [2022-04-15 15:37:25,953 INFO L226 Difference]: Without dead ends: 71 [2022-04-15 15:37:25,953 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 162 GetRequests, 145 SyntacticMatches, 1 SemanticMatches, 16 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 45 ImplicationChecksByTransitivity, 0.8s TimeCoverageRelationStatistics Valid=67, Invalid=239, Unknown=0, NotChecked=0, Total=306 [2022-04-15 15:37:25,954 INFO L913 BasicCegarLoop]: 41 mSDtfsCounter, 20 mSDsluCounter, 134 mSDsCounter, 0 mSdLazyCounter, 188 mSolverCounterSat, 22 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 22 SdHoareTripleChecker+Valid, 175 SdHoareTripleChecker+Invalid, 210 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 22 IncrementalHoareTripleChecker+Valid, 188 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-04-15 15:37:25,954 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [22 Valid, 175 Invalid, 210 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [22 Valid, 188 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-04-15 15:37:25,954 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 71 states. [2022-04-15 15:37:26,058 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 71 to 71. [2022-04-15 15:37:26,058 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 15:37:26,058 INFO L82 GeneralOperation]: Start isEquivalent. First operand 71 states. Second operand has 71 states, 44 states have (on average 1.0) internal successors, (44), 44 states have internal predecessors, (44), 16 states have call successors, (16), 12 states have call predecessors, (16), 10 states have return successors, (14), 14 states have call predecessors, (14), 14 states have call successors, (14) [2022-04-15 15:37:26,058 INFO L74 IsIncluded]: Start isIncluded. First operand 71 states. Second operand has 71 states, 44 states have (on average 1.0) internal successors, (44), 44 states have internal predecessors, (44), 16 states have call successors, (16), 12 states have call predecessors, (16), 10 states have return successors, (14), 14 states have call predecessors, (14), 14 states have call successors, (14) [2022-04-15 15:37:26,059 INFO L87 Difference]: Start difference. First operand 71 states. Second operand has 71 states, 44 states have (on average 1.0) internal successors, (44), 44 states have internal predecessors, (44), 16 states have call successors, (16), 12 states have call predecessors, (16), 10 states have return successors, (14), 14 states have call predecessors, (14), 14 states have call successors, (14) [2022-04-15 15:37:26,060 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:37:26,060 INFO L93 Difference]: Finished difference Result 71 states and 74 transitions. [2022-04-15 15:37:26,060 INFO L276 IsEmpty]: Start isEmpty. Operand 71 states and 74 transitions. [2022-04-15 15:37:26,060 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 15:37:26,060 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 15:37:26,060 INFO L74 IsIncluded]: Start isIncluded. First operand has 71 states, 44 states have (on average 1.0) internal successors, (44), 44 states have internal predecessors, (44), 16 states have call successors, (16), 12 states have call predecessors, (16), 10 states have return successors, (14), 14 states have call predecessors, (14), 14 states have call successors, (14) Second operand 71 states. [2022-04-15 15:37:26,060 INFO L87 Difference]: Start difference. First operand has 71 states, 44 states have (on average 1.0) internal successors, (44), 44 states have internal predecessors, (44), 16 states have call successors, (16), 12 states have call predecessors, (16), 10 states have return successors, (14), 14 states have call predecessors, (14), 14 states have call successors, (14) Second operand 71 states. [2022-04-15 15:37:26,061 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:37:26,061 INFO L93 Difference]: Finished difference Result 71 states and 74 transitions. [2022-04-15 15:37:26,062 INFO L276 IsEmpty]: Start isEmpty. Operand 71 states and 74 transitions. [2022-04-15 15:37:26,062 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 15:37:26,062 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 15:37:26,062 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 15:37:26,062 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 15:37:26,062 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 71 states, 44 states have (on average 1.0) internal successors, (44), 44 states have internal predecessors, (44), 16 states have call successors, (16), 12 states have call predecessors, (16), 10 states have return successors, (14), 14 states have call predecessors, (14), 14 states have call successors, (14) [2022-04-15 15:37:26,063 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 71 states to 71 states and 74 transitions. [2022-04-15 15:37:26,063 INFO L78 Accepts]: Start accepts. Automaton has 71 states and 74 transitions. Word has length 80 [2022-04-15 15:37:26,063 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 15:37:26,063 INFO L478 AbstractCegarLoop]: Abstraction has 71 states and 74 transitions. [2022-04-15 15:37:26,063 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 11 states, 11 states have (on average 2.272727272727273) internal successors, (25), 9 states have internal predecessors, (25), 6 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 6 states have call predecessors, (13), 6 states have call successors, (13) [2022-04-15 15:37:26,063 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 71 states and 74 transitions. [2022-04-15 15:37:26,163 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 74 edges. 74 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 15:37:26,163 INFO L276 IsEmpty]: Start isEmpty. Operand 71 states and 74 transitions. [2022-04-15 15:37:26,164 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 87 [2022-04-15 15:37:26,164 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 15:37:26,164 INFO L499 BasicCegarLoop]: trace histogram [11, 10, 10, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 15:37:26,180 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Forceful destruction successful, exit code 0 [2022-04-15 15:37:26,364 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable9,8 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 15:37:26,365 INFO L403 AbstractCegarLoop]: === Iteration 11 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 15:37:26,365 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 15:37:26,365 INFO L85 PathProgramCache]: Analyzing trace with hash -815356955, now seen corresponding path program 1 times [2022-04-15 15:37:26,365 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 15:37:26,365 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [897407196] [2022-04-15 15:37:26,365 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 15:37:26,366 INFO L85 PathProgramCache]: Analyzing trace with hash -815356955, now seen corresponding path program 2 times [2022-04-15 15:37:26,366 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 15:37:26,366 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [913467591] [2022-04-15 15:37:26,366 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 15:37:26,366 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 15:37:26,376 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 15:37:26,376 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1495293558] [2022-04-15 15:37:26,376 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 15:37:26,376 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 15:37:26,376 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 15:37:26,377 INFO L229 MonitoredProcess]: Starting monitored process 9 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 15:37:26,378 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Waiting until timeout for monitored process [2022-04-15 15:37:26,423 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 15:37:26,423 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 15:37:26,424 INFO L263 TraceCheckSpWp]: Trace formula consists of 199 conjuncts, 32 conjunts are in the unsatisfiable core [2022-04-15 15:37:26,438 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 15:37:26,439 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 15:37:52,821 INFO L272 TraceCheckUtils]: 0: Hoare triple {6789#true} call ULTIMATE.init(); {6789#true} is VALID [2022-04-15 15:37:52,821 INFO L290 TraceCheckUtils]: 1: Hoare triple {6789#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {6789#true} is VALID [2022-04-15 15:37:52,821 INFO L290 TraceCheckUtils]: 2: Hoare triple {6789#true} assume true; {6789#true} is VALID [2022-04-15 15:37:52,821 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6789#true} {6789#true} #101#return; {6789#true} is VALID [2022-04-15 15:37:52,821 INFO L272 TraceCheckUtils]: 4: Hoare triple {6789#true} call #t~ret6 := main(); {6789#true} is VALID [2022-04-15 15:37:52,821 INFO L290 TraceCheckUtils]: 5: Hoare triple {6789#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4; {6789#true} is VALID [2022-04-15 15:37:52,821 INFO L272 TraceCheckUtils]: 6: Hoare triple {6789#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 1 then 1 else 0)); {6789#true} is VALID [2022-04-15 15:37:52,821 INFO L290 TraceCheckUtils]: 7: Hoare triple {6789#true} ~cond := #in~cond; {6789#true} is VALID [2022-04-15 15:37:52,821 INFO L290 TraceCheckUtils]: 8: Hoare triple {6789#true} assume !(0 == ~cond); {6789#true} is VALID [2022-04-15 15:37:52,821 INFO L290 TraceCheckUtils]: 9: Hoare triple {6789#true} assume true; {6789#true} is VALID [2022-04-15 15:37:52,821 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6789#true} {6789#true} #81#return; {6789#true} is VALID [2022-04-15 15:37:52,822 INFO L290 TraceCheckUtils]: 11: Hoare triple {6789#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {6789#true} is VALID [2022-04-15 15:37:52,822 INFO L272 TraceCheckUtils]: 12: Hoare triple {6789#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 1 then 1 else 0)); {6789#true} is VALID [2022-04-15 15:37:52,824 INFO L290 TraceCheckUtils]: 13: Hoare triple {6789#true} ~cond := #in~cond; {6833#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-15 15:37:52,824 INFO L290 TraceCheckUtils]: 14: Hoare triple {6833#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {6837#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 15:37:52,825 INFO L290 TraceCheckUtils]: 15: Hoare triple {6837#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {6837#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 15:37:52,825 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {6837#(not (= |assume_abort_if_not_#in~cond| 0))} {6789#true} #83#return; {6844#(<= (mod main_~B~0 4294967296) 1)} is VALID [2022-04-15 15:37:52,825 INFO L272 TraceCheckUtils]: 17: Hoare triple {6844#(<= (mod main_~B~0 4294967296) 1)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {6789#true} is VALID [2022-04-15 15:37:52,825 INFO L290 TraceCheckUtils]: 18: Hoare triple {6789#true} ~cond := #in~cond; {6789#true} is VALID [2022-04-15 15:37:52,825 INFO L290 TraceCheckUtils]: 19: Hoare triple {6789#true} assume !(0 == ~cond); {6789#true} is VALID [2022-04-15 15:37:52,825 INFO L290 TraceCheckUtils]: 20: Hoare triple {6789#true} assume true; {6789#true} is VALID [2022-04-15 15:37:52,826 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {6789#true} {6844#(<= (mod main_~B~0 4294967296) 1)} #85#return; {6844#(<= (mod main_~B~0 4294967296) 1)} is VALID [2022-04-15 15:37:52,827 INFO L290 TraceCheckUtils]: 22: Hoare triple {6844#(<= (mod main_~B~0 4294967296) 1)} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {6863#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~d~0 4294967296) 1) (< main_~d~0 4294967296) (<= 0 main_~d~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-15 15:37:52,828 INFO L290 TraceCheckUtils]: 23: Hoare triple {6863#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~d~0 4294967296) 1) (< main_~d~0 4294967296) (<= 0 main_~d~0) (= main_~q~0 0) (= main_~p~0 1))} assume !false; {6863#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~d~0 4294967296) 1) (< main_~d~0 4294967296) (<= 0 main_~d~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-15 15:37:52,828 INFO L272 TraceCheckUtils]: 24: Hoare triple {6863#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~d~0 4294967296) 1) (< main_~d~0 4294967296) (<= 0 main_~d~0) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {6789#true} is VALID [2022-04-15 15:37:52,828 INFO L290 TraceCheckUtils]: 25: Hoare triple {6789#true} ~cond := #in~cond; {6789#true} is VALID [2022-04-15 15:37:52,828 INFO L290 TraceCheckUtils]: 26: Hoare triple {6789#true} assume !(0 == ~cond); {6789#true} is VALID [2022-04-15 15:37:52,828 INFO L290 TraceCheckUtils]: 27: Hoare triple {6789#true} assume true; {6789#true} is VALID [2022-04-15 15:37:52,829 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {6789#true} {6863#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~d~0 4294967296) 1) (< main_~d~0 4294967296) (<= 0 main_~d~0) (= main_~q~0 0) (= main_~p~0 1))} #87#return; {6863#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~d~0 4294967296) 1) (< main_~d~0 4294967296) (<= 0 main_~d~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-15 15:37:52,829 INFO L272 TraceCheckUtils]: 29: Hoare triple {6863#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~d~0 4294967296) 1) (< main_~d~0 4294967296) (<= 0 main_~d~0) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {6789#true} is VALID [2022-04-15 15:37:52,829 INFO L290 TraceCheckUtils]: 30: Hoare triple {6789#true} ~cond := #in~cond; {6789#true} is VALID [2022-04-15 15:37:52,829 INFO L290 TraceCheckUtils]: 31: Hoare triple {6789#true} assume !(0 == ~cond); {6789#true} is VALID [2022-04-15 15:37:52,829 INFO L290 TraceCheckUtils]: 32: Hoare triple {6789#true} assume true; {6789#true} is VALID [2022-04-15 15:37:52,833 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {6789#true} {6863#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~d~0 4294967296) 1) (< main_~d~0 4294967296) (<= 0 main_~d~0) (= main_~q~0 0) (= main_~p~0 1))} #89#return; {6863#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~d~0 4294967296) 1) (< main_~d~0 4294967296) (<= 0 main_~d~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-15 15:37:52,833 INFO L272 TraceCheckUtils]: 34: Hoare triple {6863#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~d~0 4294967296) 1) (< main_~d~0 4294967296) (<= 0 main_~d~0) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {6789#true} is VALID [2022-04-15 15:37:52,833 INFO L290 TraceCheckUtils]: 35: Hoare triple {6789#true} ~cond := #in~cond; {6789#true} is VALID [2022-04-15 15:37:52,833 INFO L290 TraceCheckUtils]: 36: Hoare triple {6789#true} assume !(0 == ~cond); {6789#true} is VALID [2022-04-15 15:37:52,833 INFO L290 TraceCheckUtils]: 37: Hoare triple {6789#true} assume true; {6789#true} is VALID [2022-04-15 15:37:52,834 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {6789#true} {6863#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~d~0 4294967296) 1) (< main_~d~0 4294967296) (<= 0 main_~d~0) (= main_~q~0 0) (= main_~p~0 1))} #91#return; {6863#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~d~0 4294967296) 1) (< main_~d~0 4294967296) (<= 0 main_~d~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-15 15:37:52,837 INFO L290 TraceCheckUtils]: 39: Hoare triple {6863#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~d~0 4294967296) 1) (< main_~d~0 4294967296) (<= 0 main_~d~0) (= main_~q~0 0) (= main_~p~0 1))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {6915#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod (div (- main_~d~0) (- 2)) 4294967296) 1) (= main_~p~0 2) (<= 0 (div (* (- 1) main_~d~0) (- 2))) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-15 15:37:52,837 INFO L290 TraceCheckUtils]: 40: Hoare triple {6915#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod (div (- main_~d~0) (- 2)) 4294967296) 1) (= main_~p~0 2) (<= 0 (div (* (- 1) main_~d~0) (- 2))) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} assume !false; {6915#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod (div (- main_~d~0) (- 2)) 4294967296) 1) (= main_~p~0 2) (<= 0 (div (* (- 1) main_~d~0) (- 2))) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-15 15:37:52,837 INFO L272 TraceCheckUtils]: 41: Hoare triple {6915#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod (div (- main_~d~0) (- 2)) 4294967296) 1) (= main_~p~0 2) (<= 0 (div (* (- 1) main_~d~0) (- 2))) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {6789#true} is VALID [2022-04-15 15:37:52,837 INFO L290 TraceCheckUtils]: 42: Hoare triple {6789#true} ~cond := #in~cond; {6789#true} is VALID [2022-04-15 15:37:52,837 INFO L290 TraceCheckUtils]: 43: Hoare triple {6789#true} assume !(0 == ~cond); {6789#true} is VALID [2022-04-15 15:37:52,837 INFO L290 TraceCheckUtils]: 44: Hoare triple {6789#true} assume true; {6789#true} is VALID [2022-04-15 15:37:52,838 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {6789#true} {6915#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod (div (- main_~d~0) (- 2)) 4294967296) 1) (= main_~p~0 2) (<= 0 (div (* (- 1) main_~d~0) (- 2))) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} #87#return; {6915#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod (div (- main_~d~0) (- 2)) 4294967296) 1) (= main_~p~0 2) (<= 0 (div (* (- 1) main_~d~0) (- 2))) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-15 15:37:52,838 INFO L272 TraceCheckUtils]: 46: Hoare triple {6915#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod (div (- main_~d~0) (- 2)) 4294967296) 1) (= main_~p~0 2) (<= 0 (div (* (- 1) main_~d~0) (- 2))) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {6789#true} is VALID [2022-04-15 15:37:52,838 INFO L290 TraceCheckUtils]: 47: Hoare triple {6789#true} ~cond := #in~cond; {6789#true} is VALID [2022-04-15 15:37:52,838 INFO L290 TraceCheckUtils]: 48: Hoare triple {6789#true} assume !(0 == ~cond); {6789#true} is VALID [2022-04-15 15:37:52,838 INFO L290 TraceCheckUtils]: 49: Hoare triple {6789#true} assume true; {6789#true} is VALID [2022-04-15 15:37:52,838 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {6789#true} {6915#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod (div (- main_~d~0) (- 2)) 4294967296) 1) (= main_~p~0 2) (<= 0 (div (* (- 1) main_~d~0) (- 2))) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} #89#return; {6915#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod (div (- main_~d~0) (- 2)) 4294967296) 1) (= main_~p~0 2) (<= 0 (div (* (- 1) main_~d~0) (- 2))) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-15 15:37:52,839 INFO L272 TraceCheckUtils]: 51: Hoare triple {6915#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod (div (- main_~d~0) (- 2)) 4294967296) 1) (= main_~p~0 2) (<= 0 (div (* (- 1) main_~d~0) (- 2))) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {6789#true} is VALID [2022-04-15 15:37:52,839 INFO L290 TraceCheckUtils]: 52: Hoare triple {6789#true} ~cond := #in~cond; {6789#true} is VALID [2022-04-15 15:37:52,839 INFO L290 TraceCheckUtils]: 53: Hoare triple {6789#true} assume !(0 == ~cond); {6789#true} is VALID [2022-04-15 15:37:52,839 INFO L290 TraceCheckUtils]: 54: Hoare triple {6789#true} assume true; {6789#true} is VALID [2022-04-15 15:37:52,839 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {6789#true} {6915#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod (div (- main_~d~0) (- 2)) 4294967296) 1) (= main_~p~0 2) (<= 0 (div (* (- 1) main_~d~0) (- 2))) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} #91#return; {6915#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod (div (- main_~d~0) (- 2)) 4294967296) 1) (= main_~p~0 2) (<= 0 (div (* (- 1) main_~d~0) (- 2))) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-15 15:37:52,840 INFO L290 TraceCheckUtils]: 56: Hoare triple {6915#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod (div (- main_~d~0) (- 2)) 4294967296) 1) (= main_~p~0 2) (<= 0 (div (* (- 1) main_~d~0) (- 2))) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} assume !(~r~0 >= ~d~0); {6967#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod (div (- main_~d~0) (- 2)) 4294967296) 1) (< main_~r~0 main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-15 15:37:52,840 INFO L290 TraceCheckUtils]: 57: Hoare triple {6967#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod (div (- main_~d~0) (- 2)) 4294967296) 1) (< main_~r~0 main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} assume !false; {6967#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod (div (- main_~d~0) (- 2)) 4294967296) 1) (< main_~r~0 main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-15 15:37:52,840 INFO L272 TraceCheckUtils]: 58: Hoare triple {6967#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod (div (- main_~d~0) (- 2)) 4294967296) 1) (< main_~r~0 main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {6789#true} is VALID [2022-04-15 15:37:52,840 INFO L290 TraceCheckUtils]: 59: Hoare triple {6789#true} ~cond := #in~cond; {6789#true} is VALID [2022-04-15 15:37:52,840 INFO L290 TraceCheckUtils]: 60: Hoare triple {6789#true} assume !(0 == ~cond); {6789#true} is VALID [2022-04-15 15:37:52,840 INFO L290 TraceCheckUtils]: 61: Hoare triple {6789#true} assume true; {6789#true} is VALID [2022-04-15 15:37:52,842 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {6789#true} {6967#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod (div (- main_~d~0) (- 2)) 4294967296) 1) (< main_~r~0 main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} #93#return; {6967#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod (div (- main_~d~0) (- 2)) 4294967296) 1) (< main_~r~0 main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-15 15:37:52,842 INFO L272 TraceCheckUtils]: 63: Hoare triple {6967#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod (div (- main_~d~0) (- 2)) 4294967296) 1) (< main_~r~0 main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {6789#true} is VALID [2022-04-15 15:37:52,842 INFO L290 TraceCheckUtils]: 64: Hoare triple {6789#true} ~cond := #in~cond; {6789#true} is VALID [2022-04-15 15:37:52,842 INFO L290 TraceCheckUtils]: 65: Hoare triple {6789#true} assume !(0 == ~cond); {6789#true} is VALID [2022-04-15 15:37:52,842 INFO L290 TraceCheckUtils]: 66: Hoare triple {6789#true} assume true; {6789#true} is VALID [2022-04-15 15:37:52,843 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {6789#true} {6967#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod (div (- main_~d~0) (- 2)) 4294967296) 1) (< main_~r~0 main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} #95#return; {6967#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod (div (- main_~d~0) (- 2)) 4294967296) 1) (< main_~r~0 main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-15 15:37:52,847 INFO L290 TraceCheckUtils]: 68: Hoare triple {6967#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod (div (- main_~d~0) (- 2)) 4294967296) 1) (< main_~r~0 main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {7004#(and (= (mod main_~A~0 4294967296) main_~r~0) (exists ((aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247 Int) (aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247 Int) (aux_div_v_main_~d~0_41_36 Int) (aux_div_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103 Int)) (and (< aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247 (+ (div (+ (* (- 2) aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247) (* 8589934592 aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247) 2 (* main_~d~0 2) (* (- 2) (div (+ (- 1) (* (- 1) main_~r~0)) (- 2)))) 8589934592) 1)) (<= aux_div_v_main_~d~0_41_36 main_~r~0) (<= (* aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247 4294967296) (+ (div (+ (- 1) (* (- 1) main_~r~0)) (- 2)) aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247)) (< aux_div_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103 (+ (div (+ (* (- 2) aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247) (* 8589934592 aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247) (* aux_div_v_main_~d~0_41_36 2) 1 (* (- 2) (div (+ (- 1) (* (- 1) main_~r~0)) (- 2)))) 8589934592) 1)) (<= (+ (* aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247 4294967296) main_~d~0) (+ (* 4294967296 aux_div_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103) (div (+ (- 1) (* (- 1) main_~r~0)) (- 2)) aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247)) (<= 0 aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247) (<= (+ (div (+ (- 1) (* (- 1) main_~r~0)) (- 2)) aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247) (+ (* aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247 4294967296) 1)))) (< main_~r~0 (+ (* main_~d~0 2) 1)) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-15 15:37:52,854 INFO L290 TraceCheckUtils]: 69: Hoare triple {7004#(and (= (mod main_~A~0 4294967296) main_~r~0) (exists ((aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247 Int) (aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247 Int) (aux_div_v_main_~d~0_41_36 Int) (aux_div_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103 Int)) (and (< aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247 (+ (div (+ (* (- 2) aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247) (* 8589934592 aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247) 2 (* main_~d~0 2) (* (- 2) (div (+ (- 1) (* (- 1) main_~r~0)) (- 2)))) 8589934592) 1)) (<= aux_div_v_main_~d~0_41_36 main_~r~0) (<= (* aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247 4294967296) (+ (div (+ (- 1) (* (- 1) main_~r~0)) (- 2)) aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247)) (< aux_div_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103 (+ (div (+ (* (- 2) aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247) (* 8589934592 aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247) (* aux_div_v_main_~d~0_41_36 2) 1 (* (- 2) (div (+ (- 1) (* (- 1) main_~r~0)) (- 2)))) 8589934592) 1)) (<= (+ (* aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247 4294967296) main_~d~0) (+ (* 4294967296 aux_div_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103) (div (+ (- 1) (* (- 1) main_~r~0)) (- 2)) aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247)) (<= 0 aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247) (<= (+ (div (+ (- 1) (* (- 1) main_~r~0)) (- 2)) aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247) (+ (* aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247 4294967296) 1)))) (< main_~r~0 (+ (* main_~d~0 2) 1)) (= main_~q~0 0) (= main_~p~0 1))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {7008#(and (= main_~q~0 main_~p~0) (exists ((aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247 Int) (aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247 Int) (aux_div_v_main_~d~0_41_36 Int) (aux_div_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103 Int)) (and (<= aux_div_v_main_~d~0_41_36 (+ main_~d~0 main_~r~0)) (<= (+ (* aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247 4294967296) main_~d~0) (+ (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2)) (* 4294967296 aux_div_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103) aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247)) (<= (* aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247 4294967296) (+ (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2)) aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247)) (<= (+ (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2)) aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247) (+ (* aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247 4294967296) 1)) (< aux_div_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103 (+ (div (+ (* (- 2) aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247) (* 8589934592 aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247) (* aux_div_v_main_~d~0_41_36 2) (* (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2)) (- 2)) 1) 8589934592) 1)) (< aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247 (+ (div (+ (* (- 2) aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247) (* 8589934592 aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247) 2 (* (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2)) (- 2)) (* main_~d~0 2)) 8589934592) 1)) (<= 0 aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247))) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (< main_~r~0 (+ main_~d~0 1)) (= main_~p~0 1))} is VALID [2022-04-15 15:37:52,859 INFO L290 TraceCheckUtils]: 70: Hoare triple {7008#(and (= main_~q~0 main_~p~0) (exists ((aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247 Int) (aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247 Int) (aux_div_v_main_~d~0_41_36 Int) (aux_div_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103 Int)) (and (<= aux_div_v_main_~d~0_41_36 (+ main_~d~0 main_~r~0)) (<= (+ (* aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247 4294967296) main_~d~0) (+ (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2)) (* 4294967296 aux_div_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103) aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247)) (<= (* aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247 4294967296) (+ (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2)) aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247)) (<= (+ (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2)) aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247) (+ (* aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247 4294967296) 1)) (< aux_div_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103 (+ (div (+ (* (- 2) aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247) (* 8589934592 aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247) (* aux_div_v_main_~d~0_41_36 2) (* (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2)) (- 2)) 1) 8589934592) 1)) (< aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247 (+ (div (+ (* (- 2) aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247) (* 8589934592 aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247) 2 (* (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2)) (- 2)) (* main_~d~0 2)) 8589934592) 1)) (<= 0 aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247))) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (< main_~r~0 (+ main_~d~0 1)) (= main_~p~0 1))} assume !false; {7008#(and (= main_~q~0 main_~p~0) (exists ((aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247 Int) (aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247 Int) (aux_div_v_main_~d~0_41_36 Int) (aux_div_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103 Int)) (and (<= aux_div_v_main_~d~0_41_36 (+ main_~d~0 main_~r~0)) (<= (+ (* aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247 4294967296) main_~d~0) (+ (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2)) (* 4294967296 aux_div_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103) aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247)) (<= (* aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247 4294967296) (+ (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2)) aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247)) (<= (+ (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2)) aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247) (+ (* aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247 4294967296) 1)) (< aux_div_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103 (+ (div (+ (* (- 2) aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247) (* 8589934592 aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247) (* aux_div_v_main_~d~0_41_36 2) (* (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2)) (- 2)) 1) 8589934592) 1)) (< aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247 (+ (div (+ (* (- 2) aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247) (* 8589934592 aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247) 2 (* (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2)) (- 2)) (* main_~d~0 2)) 8589934592) 1)) (<= 0 aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247))) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (< main_~r~0 (+ main_~d~0 1)) (= main_~p~0 1))} is VALID [2022-04-15 15:37:52,859 INFO L272 TraceCheckUtils]: 71: Hoare triple {7008#(and (= main_~q~0 main_~p~0) (exists ((aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247 Int) (aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247 Int) (aux_div_v_main_~d~0_41_36 Int) (aux_div_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103 Int)) (and (<= aux_div_v_main_~d~0_41_36 (+ main_~d~0 main_~r~0)) (<= (+ (* aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247 4294967296) main_~d~0) (+ (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2)) (* 4294967296 aux_div_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103) aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247)) (<= (* aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247 4294967296) (+ (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2)) aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247)) (<= (+ (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2)) aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247) (+ (* aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247 4294967296) 1)) (< aux_div_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103 (+ (div (+ (* (- 2) aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247) (* 8589934592 aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247) (* aux_div_v_main_~d~0_41_36 2) (* (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2)) (- 2)) 1) 8589934592) 1)) (< aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247 (+ (div (+ (* (- 2) aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247) (* 8589934592 aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247) 2 (* (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2)) (- 2)) (* main_~d~0 2)) 8589934592) 1)) (<= 0 aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247))) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (< main_~r~0 (+ main_~d~0 1)) (= main_~p~0 1))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {6789#true} is VALID [2022-04-15 15:37:52,859 INFO L290 TraceCheckUtils]: 72: Hoare triple {6789#true} ~cond := #in~cond; {6789#true} is VALID [2022-04-15 15:37:52,859 INFO L290 TraceCheckUtils]: 73: Hoare triple {6789#true} assume !(0 == ~cond); {6789#true} is VALID [2022-04-15 15:37:52,859 INFO L290 TraceCheckUtils]: 74: Hoare triple {6789#true} assume true; {6789#true} is VALID [2022-04-15 15:37:52,860 INFO L284 TraceCheckUtils]: 75: Hoare quadruple {6789#true} {7008#(and (= main_~q~0 main_~p~0) (exists ((aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247 Int) (aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247 Int) (aux_div_v_main_~d~0_41_36 Int) (aux_div_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103 Int)) (and (<= aux_div_v_main_~d~0_41_36 (+ main_~d~0 main_~r~0)) (<= (+ (* aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247 4294967296) main_~d~0) (+ (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2)) (* 4294967296 aux_div_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103) aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247)) (<= (* aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247 4294967296) (+ (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2)) aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247)) (<= (+ (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2)) aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247) (+ (* aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247 4294967296) 1)) (< aux_div_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103 (+ (div (+ (* (- 2) aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247) (* 8589934592 aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247) (* aux_div_v_main_~d~0_41_36 2) (* (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2)) (- 2)) 1) 8589934592) 1)) (< aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247 (+ (div (+ (* (- 2) aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247) (* 8589934592 aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247) 2 (* (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2)) (- 2)) (* main_~d~0 2)) 8589934592) 1)) (<= 0 aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247))) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (< main_~r~0 (+ main_~d~0 1)) (= main_~p~0 1))} #93#return; {7008#(and (= main_~q~0 main_~p~0) (exists ((aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247 Int) (aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247 Int) (aux_div_v_main_~d~0_41_36 Int) (aux_div_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103 Int)) (and (<= aux_div_v_main_~d~0_41_36 (+ main_~d~0 main_~r~0)) (<= (+ (* aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247 4294967296) main_~d~0) (+ (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2)) (* 4294967296 aux_div_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103) aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247)) (<= (* aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247 4294967296) (+ (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2)) aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247)) (<= (+ (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2)) aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247) (+ (* aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247 4294967296) 1)) (< aux_div_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103 (+ (div (+ (* (- 2) aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247) (* 8589934592 aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247) (* aux_div_v_main_~d~0_41_36 2) (* (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2)) (- 2)) 1) 8589934592) 1)) (< aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247 (+ (div (+ (* (- 2) aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247) (* 8589934592 aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247) 2 (* (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2)) (- 2)) (* main_~d~0 2)) 8589934592) 1)) (<= 0 aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247))) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (< main_~r~0 (+ main_~d~0 1)) (= main_~p~0 1))} is VALID [2022-04-15 15:37:52,860 INFO L272 TraceCheckUtils]: 76: Hoare triple {7008#(and (= main_~q~0 main_~p~0) (exists ((aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247 Int) (aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247 Int) (aux_div_v_main_~d~0_41_36 Int) (aux_div_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103 Int)) (and (<= aux_div_v_main_~d~0_41_36 (+ main_~d~0 main_~r~0)) (<= (+ (* aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247 4294967296) main_~d~0) (+ (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2)) (* 4294967296 aux_div_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103) aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247)) (<= (* aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247 4294967296) (+ (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2)) aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247)) (<= (+ (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2)) aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247) (+ (* aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247 4294967296) 1)) (< aux_div_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103 (+ (div (+ (* (- 2) aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247) (* 8589934592 aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247) (* aux_div_v_main_~d~0_41_36 2) (* (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2)) (- 2)) 1) 8589934592) 1)) (< aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247 (+ (div (+ (* (- 2) aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247) (* 8589934592 aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247) 2 (* (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2)) (- 2)) (* main_~d~0 2)) 8589934592) 1)) (<= 0 aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247))) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (< main_~r~0 (+ main_~d~0 1)) (= main_~p~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {6789#true} is VALID [2022-04-15 15:37:52,860 INFO L290 TraceCheckUtils]: 77: Hoare triple {6789#true} ~cond := #in~cond; {6789#true} is VALID [2022-04-15 15:37:52,860 INFO L290 TraceCheckUtils]: 78: Hoare triple {6789#true} assume !(0 == ~cond); {6789#true} is VALID [2022-04-15 15:37:52,860 INFO L290 TraceCheckUtils]: 79: Hoare triple {6789#true} assume true; {6789#true} is VALID [2022-04-15 15:37:52,861 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {6789#true} {7008#(and (= main_~q~0 main_~p~0) (exists ((aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247 Int) (aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247 Int) (aux_div_v_main_~d~0_41_36 Int) (aux_div_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103 Int)) (and (<= aux_div_v_main_~d~0_41_36 (+ main_~d~0 main_~r~0)) (<= (+ (* aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247 4294967296) main_~d~0) (+ (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2)) (* 4294967296 aux_div_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103) aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247)) (<= (* aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247 4294967296) (+ (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2)) aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247)) (<= (+ (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2)) aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247) (+ (* aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247 4294967296) 1)) (< aux_div_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103 (+ (div (+ (* (- 2) aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247) (* 8589934592 aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247) (* aux_div_v_main_~d~0_41_36 2) (* (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2)) (- 2)) 1) 8589934592) 1)) (< aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247 (+ (div (+ (* (- 2) aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247) (* 8589934592 aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247) 2 (* (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2)) (- 2)) (* main_~d~0 2)) 8589934592) 1)) (<= 0 aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247))) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (< main_~r~0 (+ main_~d~0 1)) (= main_~p~0 1))} #95#return; {7008#(and (= main_~q~0 main_~p~0) (exists ((aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247 Int) (aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247 Int) (aux_div_v_main_~d~0_41_36 Int) (aux_div_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103 Int)) (and (<= aux_div_v_main_~d~0_41_36 (+ main_~d~0 main_~r~0)) (<= (+ (* aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247 4294967296) main_~d~0) (+ (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2)) (* 4294967296 aux_div_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103) aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247)) (<= (* aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247 4294967296) (+ (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2)) aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247)) (<= (+ (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2)) aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247) (+ (* aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247 4294967296) 1)) (< aux_div_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103 (+ (div (+ (* (- 2) aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247) (* 8589934592 aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247) (* aux_div_v_main_~d~0_41_36 2) (* (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2)) (- 2)) 1) 8589934592) 1)) (< aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247 (+ (div (+ (* (- 2) aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247) (* 8589934592 aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247) 2 (* (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2)) (- 2)) (* main_~d~0 2)) 8589934592) 1)) (<= 0 aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247))) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (< main_~r~0 (+ main_~d~0 1)) (= main_~p~0 1))} is VALID [2022-04-15 15:37:52,869 INFO L290 TraceCheckUtils]: 81: Hoare triple {7008#(and (= main_~q~0 main_~p~0) (exists ((aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247 Int) (aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247 Int) (aux_div_v_main_~d~0_41_36 Int) (aux_div_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103 Int)) (and (<= aux_div_v_main_~d~0_41_36 (+ main_~d~0 main_~r~0)) (<= (+ (* aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247 4294967296) main_~d~0) (+ (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2)) (* 4294967296 aux_div_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103) aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247)) (<= (* aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247 4294967296) (+ (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2)) aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247)) (<= (+ (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2)) aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247) (+ (* aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247 4294967296) 1)) (< aux_div_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103 (+ (div (+ (* (- 2) aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247) (* 8589934592 aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247) (* aux_div_v_main_~d~0_41_36 2) (* (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2)) (- 2)) 1) 8589934592) 1)) (< aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247 (+ (div (+ (* (- 2) aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247) (* 8589934592 aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247) 2 (* (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2)) (- 2)) (* main_~d~0 2)) 8589934592) 1)) (<= 0 aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247))) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (< main_~r~0 (+ main_~d~0 1)) (= main_~p~0 1))} assume !(1 != ~p~0); {7045#(and (exists ((aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247 Int) (aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247 Int) (aux_div_v_main_~d~0_41_36 Int) (aux_div_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103 Int)) (and (<= aux_div_v_main_~d~0_41_36 (+ main_~d~0 main_~r~0)) (<= (+ (* aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247 4294967296) main_~d~0) (+ (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2)) (* 4294967296 aux_div_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103) aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247)) (<= (* aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247 4294967296) (+ (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2)) aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247)) (<= (+ (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2)) aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247) (+ (* aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247 4294967296) 1)) (< aux_div_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103 (+ (div (+ (* (- 2) aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247) (* 8589934592 aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247) (* aux_div_v_main_~d~0_41_36 2) (* (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2)) (- 2)) 1) 8589934592) 1)) (< aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247 (+ (div (+ (* (- 2) aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247) (* 8589934592 aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247) 2 (* (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2)) (- 2)) (* main_~d~0 2)) 8589934592) 1)) (<= 0 aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247))) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (< main_~r~0 (+ main_~d~0 1)) (= main_~q~0 1))} is VALID [2022-04-15 15:37:52,869 INFO L272 TraceCheckUtils]: 82: Hoare triple {7045#(and (exists ((aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247 Int) (aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247 Int) (aux_div_v_main_~d~0_41_36 Int) (aux_div_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103 Int)) (and (<= aux_div_v_main_~d~0_41_36 (+ main_~d~0 main_~r~0)) (<= (+ (* aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247 4294967296) main_~d~0) (+ (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2)) (* 4294967296 aux_div_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103) aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247)) (<= (* aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247 4294967296) (+ (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2)) aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247)) (<= (+ (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2)) aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247) (+ (* aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247 4294967296) 1)) (< aux_div_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103 (+ (div (+ (* (- 2) aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247) (* 8589934592 aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247) (* aux_div_v_main_~d~0_41_36 2) (* (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2)) (- 2)) 1) 8589934592) 1)) (< aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247 (+ (div (+ (* (- 2) aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247) (* 8589934592 aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247) 2 (* (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2)) (- 2)) (* main_~d~0 2)) 8589934592) 1)) (<= 0 aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247))) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (< main_~r~0 (+ main_~d~0 1)) (= main_~q~0 1))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {7049#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 15:37:52,870 INFO L290 TraceCheckUtils]: 83: Hoare triple {7049#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {7053#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 15:37:52,870 INFO L290 TraceCheckUtils]: 84: Hoare triple {7053#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {6790#false} is VALID [2022-04-15 15:37:52,870 INFO L290 TraceCheckUtils]: 85: Hoare triple {6790#false} assume !false; {6790#false} is VALID [2022-04-15 15:37:52,871 INFO L134 CoverageAnalysis]: Checked inductivity of 221 backedges. 23 proven. 12 refuted. 0 times theorem prover too weak. 186 trivial. 0 not checked. [2022-04-15 15:37:52,871 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 15:38:19,579 INFO L290 TraceCheckUtils]: 85: Hoare triple {6790#false} assume !false; {6790#false} is VALID [2022-04-15 15:38:19,580 INFO L290 TraceCheckUtils]: 84: Hoare triple {7053#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {6790#false} is VALID [2022-04-15 15:38:19,580 INFO L290 TraceCheckUtils]: 83: Hoare triple {7049#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {7053#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 15:38:19,580 INFO L272 TraceCheckUtils]: 82: Hoare triple {7069#(= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {7049#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 15:38:19,581 INFO L290 TraceCheckUtils]: 81: Hoare triple {7073#(or (= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0)) (not (= main_~p~0 1)))} assume !(1 != ~p~0); {7069#(= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0))} is VALID [2022-04-15 15:38:19,581 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {6789#true} {7073#(or (= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0)) (not (= main_~p~0 1)))} #95#return; {7073#(or (= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0)) (not (= main_~p~0 1)))} is VALID [2022-04-15 15:38:19,581 INFO L290 TraceCheckUtils]: 79: Hoare triple {6789#true} assume true; {6789#true} is VALID [2022-04-15 15:38:19,581 INFO L290 TraceCheckUtils]: 78: Hoare triple {6789#true} assume !(0 == ~cond); {6789#true} is VALID [2022-04-15 15:38:19,582 INFO L290 TraceCheckUtils]: 77: Hoare triple {6789#true} ~cond := #in~cond; {6789#true} is VALID [2022-04-15 15:38:19,582 INFO L272 TraceCheckUtils]: 76: Hoare triple {7073#(or (= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0)) (not (= main_~p~0 1)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {6789#true} is VALID [2022-04-15 15:38:19,582 INFO L284 TraceCheckUtils]: 75: Hoare quadruple {6789#true} {7073#(or (= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0)) (not (= main_~p~0 1)))} #93#return; {7073#(or (= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0)) (not (= main_~p~0 1)))} is VALID [2022-04-15 15:38:19,582 INFO L290 TraceCheckUtils]: 74: Hoare triple {6789#true} assume true; {6789#true} is VALID [2022-04-15 15:38:19,582 INFO L290 TraceCheckUtils]: 73: Hoare triple {6789#true} assume !(0 == ~cond); {6789#true} is VALID [2022-04-15 15:38:19,582 INFO L290 TraceCheckUtils]: 72: Hoare triple {6789#true} ~cond := #in~cond; {6789#true} is VALID [2022-04-15 15:38:19,582 INFO L272 TraceCheckUtils]: 71: Hoare triple {7073#(or (= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0)) (not (= main_~p~0 1)))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {6789#true} is VALID [2022-04-15 15:38:19,587 INFO L290 TraceCheckUtils]: 70: Hoare triple {7073#(or (= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0)) (not (= main_~p~0 1)))} assume !false; {7073#(or (= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0)) (not (= main_~p~0 1)))} is VALID [2022-04-15 15:38:19,589 INFO L290 TraceCheckUtils]: 69: Hoare triple {7073#(or (= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0)) (not (= main_~p~0 1)))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {7073#(or (= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0)) (not (= main_~p~0 1)))} is VALID [2022-04-15 15:38:19,594 INFO L290 TraceCheckUtils]: 68: Hoare triple {7113#(or (not (= (div main_~p~0 2) 1)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (mod main_~A~0 4294967296) (+ (* main_~q~0 (div main_~d~0 2)) main_~r~0))) (or (= (mod main_~A~0 4294967296) (+ (* (+ (div main_~d~0 2) 1) main_~q~0) main_~r~0)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {7073#(or (= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0)) (not (= main_~p~0 1)))} is VALID [2022-04-15 15:38:19,594 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {6789#true} {7113#(or (not (= (div main_~p~0 2) 1)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (mod main_~A~0 4294967296) (+ (* main_~q~0 (div main_~d~0 2)) main_~r~0))) (or (= (mod main_~A~0 4294967296) (+ (* (+ (div main_~d~0 2) 1) main_~q~0) main_~r~0)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))))} #95#return; {7113#(or (not (= (div main_~p~0 2) 1)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (mod main_~A~0 4294967296) (+ (* main_~q~0 (div main_~d~0 2)) main_~r~0))) (or (= (mod main_~A~0 4294967296) (+ (* (+ (div main_~d~0 2) 1) main_~q~0) main_~r~0)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))))} is VALID [2022-04-15 15:38:19,594 INFO L290 TraceCheckUtils]: 66: Hoare triple {6789#true} assume true; {6789#true} is VALID [2022-04-15 15:38:19,594 INFO L290 TraceCheckUtils]: 65: Hoare triple {6789#true} assume !(0 == ~cond); {6789#true} is VALID [2022-04-15 15:38:19,595 INFO L290 TraceCheckUtils]: 64: Hoare triple {6789#true} ~cond := #in~cond; {6789#true} is VALID [2022-04-15 15:38:19,595 INFO L272 TraceCheckUtils]: 63: Hoare triple {7113#(or (not (= (div main_~p~0 2) 1)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (mod main_~A~0 4294967296) (+ (* main_~q~0 (div main_~d~0 2)) main_~r~0))) (or (= (mod main_~A~0 4294967296) (+ (* (+ (div main_~d~0 2) 1) main_~q~0) main_~r~0)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {6789#true} is VALID [2022-04-15 15:38:19,595 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {6789#true} {7113#(or (not (= (div main_~p~0 2) 1)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (mod main_~A~0 4294967296) (+ (* main_~q~0 (div main_~d~0 2)) main_~r~0))) (or (= (mod main_~A~0 4294967296) (+ (* (+ (div main_~d~0 2) 1) main_~q~0) main_~r~0)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))))} #93#return; {7113#(or (not (= (div main_~p~0 2) 1)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (mod main_~A~0 4294967296) (+ (* main_~q~0 (div main_~d~0 2)) main_~r~0))) (or (= (mod main_~A~0 4294967296) (+ (* (+ (div main_~d~0 2) 1) main_~q~0) main_~r~0)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))))} is VALID [2022-04-15 15:38:19,595 INFO L290 TraceCheckUtils]: 61: Hoare triple {6789#true} assume true; {6789#true} is VALID [2022-04-15 15:38:19,595 INFO L290 TraceCheckUtils]: 60: Hoare triple {6789#true} assume !(0 == ~cond); {6789#true} is VALID [2022-04-15 15:38:19,595 INFO L290 TraceCheckUtils]: 59: Hoare triple {6789#true} ~cond := #in~cond; {6789#true} is VALID [2022-04-15 15:38:19,595 INFO L272 TraceCheckUtils]: 58: Hoare triple {7113#(or (not (= (div main_~p~0 2) 1)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (mod main_~A~0 4294967296) (+ (* main_~q~0 (div main_~d~0 2)) main_~r~0))) (or (= (mod main_~A~0 4294967296) (+ (* (+ (div main_~d~0 2) 1) main_~q~0) main_~r~0)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {6789#true} is VALID [2022-04-15 15:38:19,596 INFO L290 TraceCheckUtils]: 57: Hoare triple {7113#(or (not (= (div main_~p~0 2) 1)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (mod main_~A~0 4294967296) (+ (* main_~q~0 (div main_~d~0 2)) main_~r~0))) (or (= (mod main_~A~0 4294967296) (+ (* (+ (div main_~d~0 2) 1) main_~q~0) main_~r~0)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))))} assume !false; {7113#(or (not (= (div main_~p~0 2) 1)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (mod main_~A~0 4294967296) (+ (* main_~q~0 (div main_~d~0 2)) main_~r~0))) (or (= (mod main_~A~0 4294967296) (+ (* (+ (div main_~d~0 2) 1) main_~q~0) main_~r~0)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))))} is VALID [2022-04-15 15:38:19,597 INFO L290 TraceCheckUtils]: 56: Hoare triple {7150#(or (not (= (div main_~p~0 2) 1)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (mod main_~A~0 4294967296) (+ (* main_~q~0 (div main_~d~0 2)) main_~r~0))) (or (= (mod main_~A~0 4294967296) (+ (* (+ (div main_~d~0 2) 1) main_~q~0) main_~r~0)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (<= main_~d~0 main_~r~0))} assume !(~r~0 >= ~d~0); {7113#(or (not (= (div main_~p~0 2) 1)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (mod main_~A~0 4294967296) (+ (* main_~q~0 (div main_~d~0 2)) main_~r~0))) (or (= (mod main_~A~0 4294967296) (+ (* (+ (div main_~d~0 2) 1) main_~q~0) main_~r~0)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))))} is VALID [2022-04-15 15:38:19,597 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {6789#true} {7150#(or (not (= (div main_~p~0 2) 1)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (mod main_~A~0 4294967296) (+ (* main_~q~0 (div main_~d~0 2)) main_~r~0))) (or (= (mod main_~A~0 4294967296) (+ (* (+ (div main_~d~0 2) 1) main_~q~0) main_~r~0)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (<= main_~d~0 main_~r~0))} #91#return; {7150#(or (not (= (div main_~p~0 2) 1)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (mod main_~A~0 4294967296) (+ (* main_~q~0 (div main_~d~0 2)) main_~r~0))) (or (= (mod main_~A~0 4294967296) (+ (* (+ (div main_~d~0 2) 1) main_~q~0) main_~r~0)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-15 15:38:19,597 INFO L290 TraceCheckUtils]: 54: Hoare triple {6789#true} assume true; {6789#true} is VALID [2022-04-15 15:38:19,597 INFO L290 TraceCheckUtils]: 53: Hoare triple {6789#true} assume !(0 == ~cond); {6789#true} is VALID [2022-04-15 15:38:19,597 INFO L290 TraceCheckUtils]: 52: Hoare triple {6789#true} ~cond := #in~cond; {6789#true} is VALID [2022-04-15 15:38:19,597 INFO L272 TraceCheckUtils]: 51: Hoare triple {7150#(or (not (= (div main_~p~0 2) 1)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (mod main_~A~0 4294967296) (+ (* main_~q~0 (div main_~d~0 2)) main_~r~0))) (or (= (mod main_~A~0 4294967296) (+ (* (+ (div main_~d~0 2) 1) main_~q~0) main_~r~0)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (<= main_~d~0 main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {6789#true} is VALID [2022-04-15 15:38:19,598 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {6789#true} {7150#(or (not (= (div main_~p~0 2) 1)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (mod main_~A~0 4294967296) (+ (* main_~q~0 (div main_~d~0 2)) main_~r~0))) (or (= (mod main_~A~0 4294967296) (+ (* (+ (div main_~d~0 2) 1) main_~q~0) main_~r~0)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (<= main_~d~0 main_~r~0))} #89#return; {7150#(or (not (= (div main_~p~0 2) 1)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (mod main_~A~0 4294967296) (+ (* main_~q~0 (div main_~d~0 2)) main_~r~0))) (or (= (mod main_~A~0 4294967296) (+ (* (+ (div main_~d~0 2) 1) main_~q~0) main_~r~0)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-15 15:38:19,598 INFO L290 TraceCheckUtils]: 49: Hoare triple {6789#true} assume true; {6789#true} is VALID [2022-04-15 15:38:19,598 INFO L290 TraceCheckUtils]: 48: Hoare triple {6789#true} assume !(0 == ~cond); {6789#true} is VALID [2022-04-15 15:38:19,598 INFO L290 TraceCheckUtils]: 47: Hoare triple {6789#true} ~cond := #in~cond; {6789#true} is VALID [2022-04-15 15:38:19,598 INFO L272 TraceCheckUtils]: 46: Hoare triple {7150#(or (not (= (div main_~p~0 2) 1)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (mod main_~A~0 4294967296) (+ (* main_~q~0 (div main_~d~0 2)) main_~r~0))) (or (= (mod main_~A~0 4294967296) (+ (* (+ (div main_~d~0 2) 1) main_~q~0) main_~r~0)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (<= main_~d~0 main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {6789#true} is VALID [2022-04-15 15:38:19,599 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {6789#true} {7150#(or (not (= (div main_~p~0 2) 1)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (mod main_~A~0 4294967296) (+ (* main_~q~0 (div main_~d~0 2)) main_~r~0))) (or (= (mod main_~A~0 4294967296) (+ (* (+ (div main_~d~0 2) 1) main_~q~0) main_~r~0)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (<= main_~d~0 main_~r~0))} #87#return; {7150#(or (not (= (div main_~p~0 2) 1)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (mod main_~A~0 4294967296) (+ (* main_~q~0 (div main_~d~0 2)) main_~r~0))) (or (= (mod main_~A~0 4294967296) (+ (* (+ (div main_~d~0 2) 1) main_~q~0) main_~r~0)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-15 15:38:19,599 INFO L290 TraceCheckUtils]: 44: Hoare triple {6789#true} assume true; {6789#true} is VALID [2022-04-15 15:38:19,599 INFO L290 TraceCheckUtils]: 43: Hoare triple {6789#true} assume !(0 == ~cond); {6789#true} is VALID [2022-04-15 15:38:19,599 INFO L290 TraceCheckUtils]: 42: Hoare triple {6789#true} ~cond := #in~cond; {6789#true} is VALID [2022-04-15 15:38:19,599 INFO L272 TraceCheckUtils]: 41: Hoare triple {7150#(or (not (= (div main_~p~0 2) 1)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (mod main_~A~0 4294967296) (+ (* main_~q~0 (div main_~d~0 2)) main_~r~0))) (or (= (mod main_~A~0 4294967296) (+ (* (+ (div main_~d~0 2) 1) main_~q~0) main_~r~0)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (<= main_~d~0 main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {6789#true} is VALID [2022-04-15 15:38:19,599 INFO L290 TraceCheckUtils]: 40: Hoare triple {7150#(or (not (= (div main_~p~0 2) 1)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (mod main_~A~0 4294967296) (+ (* main_~q~0 (div main_~d~0 2)) main_~r~0))) (or (= (mod main_~A~0 4294967296) (+ (* (+ (div main_~d~0 2) 1) main_~q~0) main_~r~0)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (<= main_~d~0 main_~r~0))} assume !false; {7150#(or (not (= (div main_~p~0 2) 1)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (mod main_~A~0 4294967296) (+ (* main_~q~0 (div main_~d~0 2)) main_~r~0))) (or (= (mod main_~A~0 4294967296) (+ (* (+ (div main_~d~0 2) 1) main_~q~0) main_~r~0)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-15 15:38:19,603 INFO L290 TraceCheckUtils]: 39: Hoare triple {7202#(or (not (= (div (* main_~p~0 2) 2) 1)) (= (+ main_~r~0 (* (div (* main_~d~0 2) 2) main_~q~0)) (mod main_~A~0 4294967296)) (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {7150#(or (not (= (div main_~p~0 2) 1)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (mod main_~A~0 4294967296) (+ (* main_~q~0 (div main_~d~0 2)) main_~r~0))) (or (= (mod main_~A~0 4294967296) (+ (* (+ (div main_~d~0 2) 1) main_~q~0) main_~r~0)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-15 15:38:19,603 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {6789#true} {7202#(or (not (= (div (* main_~p~0 2) 2) 1)) (= (+ main_~r~0 (* (div (* main_~d~0 2) 2) main_~q~0)) (mod main_~A~0 4294967296)) (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} #91#return; {7202#(or (not (= (div (* main_~p~0 2) 2) 1)) (= (+ main_~r~0 (* (div (* main_~d~0 2) 2) main_~q~0)) (mod main_~A~0 4294967296)) (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-15 15:38:19,603 INFO L290 TraceCheckUtils]: 37: Hoare triple {6789#true} assume true; {6789#true} is VALID [2022-04-15 15:38:19,603 INFO L290 TraceCheckUtils]: 36: Hoare triple {6789#true} assume !(0 == ~cond); {6789#true} is VALID [2022-04-15 15:38:19,603 INFO L290 TraceCheckUtils]: 35: Hoare triple {6789#true} ~cond := #in~cond; {6789#true} is VALID [2022-04-15 15:38:19,603 INFO L272 TraceCheckUtils]: 34: Hoare triple {7202#(or (not (= (div (* main_~p~0 2) 2) 1)) (= (+ main_~r~0 (* (div (* main_~d~0 2) 2) main_~q~0)) (mod main_~A~0 4294967296)) (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {6789#true} is VALID [2022-04-15 15:38:19,604 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {6789#true} {7202#(or (not (= (div (* main_~p~0 2) 2) 1)) (= (+ main_~r~0 (* (div (* main_~d~0 2) 2) main_~q~0)) (mod main_~A~0 4294967296)) (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} #89#return; {7202#(or (not (= (div (* main_~p~0 2) 2) 1)) (= (+ main_~r~0 (* (div (* main_~d~0 2) 2) main_~q~0)) (mod main_~A~0 4294967296)) (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-15 15:38:19,604 INFO L290 TraceCheckUtils]: 32: Hoare triple {6789#true} assume true; {6789#true} is VALID [2022-04-15 15:38:19,604 INFO L290 TraceCheckUtils]: 31: Hoare triple {6789#true} assume !(0 == ~cond); {6789#true} is VALID [2022-04-15 15:38:19,604 INFO L290 TraceCheckUtils]: 30: Hoare triple {6789#true} ~cond := #in~cond; {6789#true} is VALID [2022-04-15 15:38:19,604 INFO L272 TraceCheckUtils]: 29: Hoare triple {7202#(or (not (= (div (* main_~p~0 2) 2) 1)) (= (+ main_~r~0 (* (div (* main_~d~0 2) 2) main_~q~0)) (mod main_~A~0 4294967296)) (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {6789#true} is VALID [2022-04-15 15:38:19,605 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {6789#true} {7202#(or (not (= (div (* main_~p~0 2) 2) 1)) (= (+ main_~r~0 (* (div (* main_~d~0 2) 2) main_~q~0)) (mod main_~A~0 4294967296)) (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} #87#return; {7202#(or (not (= (div (* main_~p~0 2) 2) 1)) (= (+ main_~r~0 (* (div (* main_~d~0 2) 2) main_~q~0)) (mod main_~A~0 4294967296)) (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-15 15:38:19,605 INFO L290 TraceCheckUtils]: 27: Hoare triple {6789#true} assume true; {6789#true} is VALID [2022-04-15 15:38:19,605 INFO L290 TraceCheckUtils]: 26: Hoare triple {6789#true} assume !(0 == ~cond); {6789#true} is VALID [2022-04-15 15:38:19,605 INFO L290 TraceCheckUtils]: 25: Hoare triple {6789#true} ~cond := #in~cond; {6789#true} is VALID [2022-04-15 15:38:19,605 INFO L272 TraceCheckUtils]: 24: Hoare triple {7202#(or (not (= (div (* main_~p~0 2) 2) 1)) (= (+ main_~r~0 (* (div (* main_~d~0 2) 2) main_~q~0)) (mod main_~A~0 4294967296)) (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {6789#true} is VALID [2022-04-15 15:38:19,605 INFO L290 TraceCheckUtils]: 23: Hoare triple {7202#(or (not (= (div (* main_~p~0 2) 2) 1)) (= (+ main_~r~0 (* (div (* main_~d~0 2) 2) main_~q~0)) (mod main_~A~0 4294967296)) (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} assume !false; {7202#(or (not (= (div (* main_~p~0 2) 2) 1)) (= (+ main_~r~0 (* (div (* main_~d~0 2) 2) main_~q~0)) (mod main_~A~0 4294967296)) (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-15 15:38:19,606 INFO L290 TraceCheckUtils]: 22: Hoare triple {6789#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {7202#(or (not (= (div (* main_~p~0 2) 2) 1)) (= (+ main_~r~0 (* (div (* main_~d~0 2) 2) main_~q~0)) (mod main_~A~0 4294967296)) (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-15 15:38:19,606 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {6789#true} {6789#true} #85#return; {6789#true} is VALID [2022-04-15 15:38:19,606 INFO L290 TraceCheckUtils]: 20: Hoare triple {6789#true} assume true; {6789#true} is VALID [2022-04-15 15:38:19,606 INFO L290 TraceCheckUtils]: 19: Hoare triple {6789#true} assume !(0 == ~cond); {6789#true} is VALID [2022-04-15 15:38:19,606 INFO L290 TraceCheckUtils]: 18: Hoare triple {6789#true} ~cond := #in~cond; {6789#true} is VALID [2022-04-15 15:38:19,606 INFO L272 TraceCheckUtils]: 17: Hoare triple {6789#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {6789#true} is VALID [2022-04-15 15:38:19,606 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {6789#true} {6789#true} #83#return; {6789#true} is VALID [2022-04-15 15:38:19,606 INFO L290 TraceCheckUtils]: 15: Hoare triple {6789#true} assume true; {6789#true} is VALID [2022-04-15 15:38:19,606 INFO L290 TraceCheckUtils]: 14: Hoare triple {6789#true} assume !(0 == ~cond); {6789#true} is VALID [2022-04-15 15:38:19,606 INFO L290 TraceCheckUtils]: 13: Hoare triple {6789#true} ~cond := #in~cond; {6789#true} is VALID [2022-04-15 15:38:19,606 INFO L272 TraceCheckUtils]: 12: Hoare triple {6789#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 1 then 1 else 0)); {6789#true} is VALID [2022-04-15 15:38:19,606 INFO L290 TraceCheckUtils]: 11: Hoare triple {6789#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {6789#true} is VALID [2022-04-15 15:38:19,606 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6789#true} {6789#true} #81#return; {6789#true} is VALID [2022-04-15 15:38:19,607 INFO L290 TraceCheckUtils]: 9: Hoare triple {6789#true} assume true; {6789#true} is VALID [2022-04-15 15:38:19,607 INFO L290 TraceCheckUtils]: 8: Hoare triple {6789#true} assume !(0 == ~cond); {6789#true} is VALID [2022-04-15 15:38:19,607 INFO L290 TraceCheckUtils]: 7: Hoare triple {6789#true} ~cond := #in~cond; {6789#true} is VALID [2022-04-15 15:38:19,607 INFO L272 TraceCheckUtils]: 6: Hoare triple {6789#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 1 then 1 else 0)); {6789#true} is VALID [2022-04-15 15:38:19,607 INFO L290 TraceCheckUtils]: 5: Hoare triple {6789#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4; {6789#true} is VALID [2022-04-15 15:38:19,607 INFO L272 TraceCheckUtils]: 4: Hoare triple {6789#true} call #t~ret6 := main(); {6789#true} is VALID [2022-04-15 15:38:19,607 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6789#true} {6789#true} #101#return; {6789#true} is VALID [2022-04-15 15:38:19,607 INFO L290 TraceCheckUtils]: 2: Hoare triple {6789#true} assume true; {6789#true} is VALID [2022-04-15 15:38:19,607 INFO L290 TraceCheckUtils]: 1: Hoare triple {6789#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {6789#true} is VALID [2022-04-15 15:38:19,607 INFO L272 TraceCheckUtils]: 0: Hoare triple {6789#true} call ULTIMATE.init(); {6789#true} is VALID [2022-04-15 15:38:19,607 INFO L134 CoverageAnalysis]: Checked inductivity of 221 backedges. 20 proven. 9 refuted. 0 times theorem prover too weak. 192 trivial. 0 not checked. [2022-04-15 15:38:19,607 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 15:38:19,608 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [913467591] [2022-04-15 15:38:19,608 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 15:38:19,608 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1495293558] [2022-04-15 15:38:19,608 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1495293558] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 15:38:19,608 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 15:38:19,608 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 9] total 18 [2022-04-15 15:38:19,608 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 15:38:19,608 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [897407196] [2022-04-15 15:38:19,608 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [897407196] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 15:38:19,608 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 15:38:19,608 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [13] imperfect sequences [] total 13 [2022-04-15 15:38:19,608 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1875549280] [2022-04-15 15:38:19,608 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 15:38:19,609 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 12 states have (on average 2.1666666666666665) internal successors, (26), 11 states have internal predecessors, (26), 7 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 6 states have call predecessors, (14), 6 states have call successors, (14) Word has length 86 [2022-04-15 15:38:19,609 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 15:38:19,609 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 13 states, 12 states have (on average 2.1666666666666665) internal successors, (26), 11 states have internal predecessors, (26), 7 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 6 states have call predecessors, (14), 6 states have call successors, (14) [2022-04-15 15:38:19,704 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 56 edges. 56 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 15:38:19,704 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-04-15 15:38:19,704 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 15:38:19,704 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-04-15 15:38:19,705 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=68, Invalid=238, Unknown=0, NotChecked=0, Total=306 [2022-04-15 15:38:19,705 INFO L87 Difference]: Start difference. First operand 71 states and 74 transitions. Second operand has 13 states, 12 states have (on average 2.1666666666666665) internal successors, (26), 11 states have internal predecessors, (26), 7 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 6 states have call predecessors, (14), 6 states have call successors, (14) [2022-04-15 15:38:21,423 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:38:21,423 INFO L93 Difference]: Finished difference Result 71 states and 74 transitions. [2022-04-15 15:38:21,423 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-15 15:38:21,423 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 12 states have (on average 2.1666666666666665) internal successors, (26), 11 states have internal predecessors, (26), 7 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 6 states have call predecessors, (14), 6 states have call successors, (14) Word has length 86 [2022-04-15 15:38:21,424 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 15:38:21,424 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 12 states have (on average 2.1666666666666665) internal successors, (26), 11 states have internal predecessors, (26), 7 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 6 states have call predecessors, (14), 6 states have call successors, (14) [2022-04-15 15:38:21,425 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 55 transitions. [2022-04-15 15:38:21,425 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 12 states have (on average 2.1666666666666665) internal successors, (26), 11 states have internal predecessors, (26), 7 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 6 states have call predecessors, (14), 6 states have call successors, (14) [2022-04-15 15:38:21,425 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 55 transitions. [2022-04-15 15:38:21,425 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 55 transitions. [2022-04-15 15:38:21,550 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 55 edges. 55 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 15:38:21,550 INFO L225 Difference]: With dead ends: 71 [2022-04-15 15:38:21,550 INFO L226 Difference]: Without dead ends: 0 [2022-04-15 15:38:21,551 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 177 GetRequests, 153 SyntacticMatches, 2 SemanticMatches, 22 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 64 ImplicationChecksByTransitivity, 1.9s TimeCoverageRelationStatistics Valid=116, Invalid=436, Unknown=0, NotChecked=0, Total=552 [2022-04-15 15:38:21,553 INFO L913 BasicCegarLoop]: 33 mSDtfsCounter, 15 mSDsluCounter, 159 mSDsCounter, 0 mSdLazyCounter, 174 mSolverCounterSat, 18 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.7s Time, 0 mProtectedPredicate, 0 mProtectedAction, 15 SdHoareTripleChecker+Valid, 192 SdHoareTripleChecker+Invalid, 285 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 18 IncrementalHoareTripleChecker+Valid, 174 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 93 IncrementalHoareTripleChecker+Unchecked, 0.7s IncrementalHoareTripleChecker+Time [2022-04-15 15:38:21,553 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [15 Valid, 192 Invalid, 285 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [18 Valid, 174 Invalid, 0 Unknown, 93 Unchecked, 0.7s Time] [2022-04-15 15:38:21,553 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 0 states. [2022-04-15 15:38:21,553 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 0 to 0. [2022-04-15 15:38:21,553 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 15:38:21,554 INFO L82 GeneralOperation]: Start isEquivalent. First operand 0 states. Second operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-04-15 15:38:21,554 INFO L74 IsIncluded]: Start isIncluded. First operand 0 states. Second operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-04-15 15:38:21,554 INFO L87 Difference]: Start difference. First operand 0 states. Second operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-04-15 15:38:21,554 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:38:21,554 INFO L93 Difference]: Finished difference Result 0 states and 0 transitions. [2022-04-15 15:38:21,554 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2022-04-15 15:38:21,554 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 15:38:21,554 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 15:38:21,554 INFO L74 IsIncluded]: Start isIncluded. First operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 0 states. [2022-04-15 15:38:21,554 INFO L87 Difference]: Start difference. First operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 0 states. [2022-04-15 15:38:21,554 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 15:38:21,554 INFO L93 Difference]: Finished difference Result 0 states and 0 transitions. [2022-04-15 15:38:21,554 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2022-04-15 15:38:21,554 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 15:38:21,554 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 15:38:21,554 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 15:38:21,554 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 15:38:21,554 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-04-15 15:38:21,554 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 0 states to 0 states and 0 transitions. [2022-04-15 15:38:21,554 INFO L78 Accepts]: Start accepts. Automaton has 0 states and 0 transitions. Word has length 86 [2022-04-15 15:38:21,555 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 15:38:21,555 INFO L478 AbstractCegarLoop]: Abstraction has 0 states and 0 transitions. [2022-04-15 15:38:21,555 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 13 states, 12 states have (on average 2.1666666666666665) internal successors, (26), 11 states have internal predecessors, (26), 7 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 6 states have call predecessors, (14), 6 states have call successors, (14) [2022-04-15 15:38:21,555 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 0 states and 0 transitions. [2022-04-15 15:38:21,555 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 0 edges. 0 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 15:38:21,555 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2022-04-15 15:38:21,555 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 15:38:21,557 INFO L788 garLoopResultBuilder]: Registering result SAFE for location __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION (0 of 1 remaining) [2022-04-15 15:38:21,573 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Forceful destruction successful, exit code 0 [2022-04-15 15:38:21,773 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 9 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable10 [2022-04-15 15:38:21,774 INFO L343 DoubleDeckerVisitor]: Before removal of dead ends 0 states and 0 transitions. [2022-04-15 15:38:25,605 INFO L882 garLoopResultBuilder]: For program point reach_errorEXIT(line 8) no Hoare annotation was computed. [2022-04-15 15:38:25,606 INFO L882 garLoopResultBuilder]: For program point reach_errorENTRY(line 8) no Hoare annotation was computed. [2022-04-15 15:38:25,606 INFO L882 garLoopResultBuilder]: For program point reach_errorFINAL(line 8) no Hoare annotation was computed. [2022-04-15 15:38:25,606 INFO L885 garLoopResultBuilder]: At program point assume_abort_if_notENTRY(lines 11 13) the Hoare annotation is: true [2022-04-15 15:38:25,606 INFO L878 garLoopResultBuilder]: At program point L12(line 12) the Hoare annotation is: (= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|) [2022-04-15 15:38:25,606 INFO L878 garLoopResultBuilder]: At program point L12-2(lines 11 13) the Hoare annotation is: (and (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)) [2022-04-15 15:38:25,606 INFO L878 garLoopResultBuilder]: At program point assume_abort_if_notEXIT(lines 11 13) the Hoare annotation is: (and (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)) [2022-04-15 15:38:25,606 INFO L878 garLoopResultBuilder]: At program point L29(line 29) the Hoare annotation is: (let ((.cse0 (mod main_~B~0 4294967296))) (and (<= (mod main_~A~0 4294967296) 1) (<= .cse0 1) (<= 1 .cse0))) [2022-04-15 15:38:25,606 INFO L878 garLoopResultBuilder]: At program point L60(line 60) the Hoare annotation is: (let ((.cse0 (mod main_~B~0 4294967296))) (and (= main_~d~0 .cse0) (<= .cse0 1) (<= 1 .cse0) (= main_~p~0 1))) [2022-04-15 15:38:25,606 INFO L885 garLoopResultBuilder]: At program point mainEXIT(lines 22 63) the Hoare annotation is: true [2022-04-15 15:38:25,606 INFO L878 garLoopResultBuilder]: At program point L54(lines 54 57) the Hoare annotation is: (let ((.cse6 (mod main_~B~0 4294967296))) (and (= (mod main_~A~0 4294967296) main_~r~0) (exists ((aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247 Int) (aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247 Int) (aux_div_v_main_~d~0_41_36 Int) (aux_div_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103 Int)) (let ((.cse5 (div (+ (- 1) (* (- 1) main_~r~0)) (- 2)))) (let ((.cse0 (* (- 2) aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247)) (.cse1 (* 8589934592 aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247)) (.cse2 (* (- 2) .cse5)) (.cse4 (+ .cse5 aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247)) (.cse3 (* aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247 4294967296))) (and (< aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247 (+ (div (+ .cse0 .cse1 2 (* main_~d~0 2) .cse2) 8589934592) 1)) (<= aux_div_v_main_~d~0_41_36 main_~r~0) (<= .cse3 .cse4) (< aux_div_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103 (+ (div (+ .cse0 .cse1 (* aux_div_v_main_~d~0_41_36 2) 1 .cse2) 8589934592) 1)) (<= (+ .cse3 main_~d~0) (+ (* 4294967296 aux_div_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103) .cse5 aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247)) (<= 0 aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247) (<= .cse4 (+ .cse3 1)))))) (< main_~r~0 (+ (* main_~d~0 2) 1)) (<= 1 .cse6) (= main_~q~0 0) (<= .cse6 main_~r~0) (= main_~p~0 1))) [2022-04-15 15:38:25,606 INFO L878 garLoopResultBuilder]: At program point L54-2(lines 22 63) the Hoare annotation is: (let ((.cse8 (mod main_~B~0 4294967296))) (let ((.cse7 (<= .cse8 1)) (.cse10 (= main_~q~0 0)) (.cse6 (mod main_~A~0 4294967296)) (.cse9 (= main_~p~0 1))) (or (and (exists ((aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247 Int) (aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247 Int) (aux_div_v_main_~d~0_41_36 Int) (aux_div_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103 Int)) (let ((.cse1 (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2)))) (let ((.cse2 (+ .cse1 aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247)) (.cse0 (* aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247 4294967296)) (.cse3 (* (- 2) aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247)) (.cse4 (* 8589934592 aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247)) (.cse5 (* .cse1 (- 2)))) (and (<= aux_div_v_main_~d~0_41_36 (+ main_~d~0 main_~r~0)) (<= (+ .cse0 main_~d~0) (+ .cse1 (* 4294967296 aux_div_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103) aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247)) (<= .cse0 .cse2) (<= .cse2 (+ .cse0 1)) (< aux_div_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103 (+ (div (+ .cse3 .cse4 (* aux_div_v_main_~d~0_41_36 2) .cse5 1) 8589934592) 1)) (< aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247 (+ (div (+ .cse3 .cse4 2 .cse5 (* main_~d~0 2)) 8589934592) 1)) (<= 0 aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247))))) (= (+ main_~d~0 main_~r~0) .cse6) .cse7 (< main_~r~0 (+ main_~d~0 1)) (= main_~q~0 1) (< .cse6 (* 2 .cse8)) .cse9) (and (= .cse6 main_~r~0) (= main_~p~0 2) (<= 1 .cse8) .cse10 (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0) (< 0 (+ (div (+ (* (- 1) main_~r~0) 1) 4294967296) 1)) (< .cse8 main_~d~0)) (and (= main_~d~0 .cse8) (< main_~r~0 .cse8) .cse7 .cse10 (<= .cse6 main_~r~0) .cse9)))) [2022-04-15 15:38:25,607 INFO L878 garLoopResultBuilder]: At program point L48(lines 46 58) the Hoare annotation is: (let ((.cse1 (mod main_~B~0 4294967296))) (let ((.cse9 (<= .cse1 1)) (.cse2 (= main_~q~0 0)) (.cse0 (mod main_~A~0 4294967296)) (.cse10 (= main_~p~0 1))) (or (and (= .cse0 main_~r~0) (< main_~r~0 (* 2 .cse1)) (= main_~p~0 2) .cse2 (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0) (< 0 (+ (div (+ (* (- 1) main_~r~0) 1) 4294967296) 1)) (< .cse1 main_~d~0)) (and (exists ((aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247 Int) (aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247 Int) (aux_div_v_main_~d~0_41_36 Int) (aux_div_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103 Int)) (let ((.cse4 (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2)))) (let ((.cse5 (+ .cse4 aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247)) (.cse3 (* aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247 4294967296)) (.cse6 (* (- 2) aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247)) (.cse7 (* 8589934592 aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247)) (.cse8 (* .cse4 (- 2)))) (and (<= aux_div_v_main_~d~0_41_36 (+ main_~d~0 main_~r~0)) (<= (+ .cse3 main_~d~0) (+ .cse4 (* 4294967296 aux_div_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103) aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247)) (<= .cse3 .cse5) (<= .cse5 (+ .cse3 1)) (< aux_div_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103 (+ (div (+ .cse6 .cse7 (* aux_div_v_main_~d~0_41_36 2) .cse8 1) 8589934592) 1)) (< aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247 (+ (div (+ .cse6 .cse7 2 .cse8 (* main_~d~0 2)) 8589934592) 1)) (<= 0 aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247))))) (< 0 .cse1) (= (+ main_~d~0 main_~r~0) .cse0) .cse9 (< main_~r~0 (+ main_~d~0 1)) (= main_~q~0 1) .cse10) (and (= main_~d~0 .cse1) (< main_~r~0 .cse1) .cse9 .cse2 (<= .cse0 main_~r~0) .cse10)))) [2022-04-15 15:38:25,607 INFO L878 garLoopResultBuilder]: At program point L46-1(lines 46 58) the Hoare annotation is: (let ((.cse0 (mod main_~B~0 4294967296)) (.cse1 (mod main_~A~0 4294967296)) (.cse2 (= main_~p~0 1))) (or (and (= main_~d~0 .cse0) (< main_~r~0 .cse0) (<= .cse0 1) (= main_~q~0 0) (<= .cse1 main_~r~0) .cse2) (and (= .cse1 (+ main_~r~0 .cse0)) (exists ((aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247 Int) (aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247 Int) (aux_div_v_main_~d~0_41_36 Int) (aux_div_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103 Int)) (let ((.cse4 (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2)))) (let ((.cse5 (+ .cse4 aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247)) (.cse3 (* aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247 4294967296)) (.cse6 (* (- 2) aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247)) (.cse7 (* 8589934592 aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247)) (.cse8 (* .cse4 (- 2)))) (and (<= aux_div_v_main_~d~0_41_36 (+ main_~d~0 main_~r~0)) (<= (+ .cse3 main_~d~0) (+ .cse4 (* 4294967296 aux_div_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103) aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247)) (<= .cse3 .cse5) (<= .cse5 (+ .cse3 1)) (< aux_div_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103 (+ (div (+ .cse6 .cse7 (* aux_div_v_main_~d~0_41_36 2) .cse8 1) 8589934592) 1)) (< aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247 (+ (div (+ .cse6 .cse7 2 .cse8 (* main_~d~0 2)) 8589934592) 1)) (<= 0 aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247))))) (= (+ main_~d~0 main_~r~0) .cse1) (< main_~r~0 (+ main_~d~0 1)) (= main_~q~0 1) .cse2))) [2022-04-15 15:38:25,607 INFO L885 garLoopResultBuilder]: At program point mainFINAL(lines 22 63) the Hoare annotation is: true [2022-04-15 15:38:25,607 INFO L878 garLoopResultBuilder]: At program point L38(line 38) the Hoare annotation is: (let ((.cse10 (* (- 1) main_~d~0))) (let ((.cse6 (div .cse10 (- 2))) (.cse7 (mod main_~B~0 4294967296))) (let ((.cse0 (= (mod main_~A~0 4294967296) main_~r~0)) (.cse1 (= main_~d~0 (* main_~p~0 .cse7))) (.cse2 (<= 0 .cse6)) (.cse9 (<= .cse7 1)) (.cse3 (<= 1 .cse7)) (.cse4 (= (mod main_~d~0 2) 0)) (.cse5 (= main_~q~0 0)) (.cse8 (< 0 (+ (div (+ (* (- 1) main_~r~0) 1) 4294967296) 1)))) (or (and .cse0 .cse1 .cse2 .cse3 .cse4 .cse5 (<= .cse6 main_~r~0) (<= .cse7 main_~r~0) .cse8) (and .cse0 .cse1 .cse9 .cse3 .cse5 .cse8 (= main_~p~0 1)) (and (= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296))) (<= (div main_~r~0 (- 2)) (div .cse10 4)) .cse1 .cse2 .cse9 .cse3 .cse4 .cse5 .cse8))))) [2022-04-15 15:38:25,607 INFO L878 garLoopResultBuilder]: At program point L36-2(lines 36 44) the Hoare annotation is: (let ((.cse10 (* (- 1) main_~d~0))) (let ((.cse6 (div .cse10 (- 2))) (.cse7 (mod main_~B~0 4294967296))) (let ((.cse0 (= (mod main_~A~0 4294967296) main_~r~0)) (.cse1 (= main_~d~0 (* main_~p~0 .cse7))) (.cse2 (<= 0 .cse6)) (.cse9 (<= .cse7 1)) (.cse3 (<= 1 .cse7)) (.cse4 (= (mod main_~d~0 2) 0)) (.cse5 (= main_~q~0 0)) (.cse8 (< 0 (+ (div (+ (* (- 1) main_~r~0) 1) 4294967296) 1)))) (or (and .cse0 .cse1 .cse2 .cse3 .cse4 .cse5 (<= .cse6 main_~r~0) (<= .cse7 main_~r~0) .cse8) (and .cse0 .cse1 .cse9 .cse3 .cse5 .cse8 (= main_~p~0 1)) (and (= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296))) (<= (div main_~r~0 (- 2)) (div .cse10 4)) .cse1 .cse2 .cse9 .cse3 .cse4 .cse5 .cse8))))) [2022-04-15 15:38:25,607 INFO L885 garLoopResultBuilder]: At program point mainENTRY(lines 22 63) the Hoare annotation is: true [2022-04-15 15:38:25,607 INFO L885 garLoopResultBuilder]: At program point L61(line 61) the Hoare annotation is: true [2022-04-15 15:38:25,607 INFO L878 garLoopResultBuilder]: At program point L28(line 28) the Hoare annotation is: (<= (mod main_~A~0 4294967296) 1) [2022-04-15 15:38:25,607 INFO L878 garLoopResultBuilder]: At program point L28-1(line 28) the Hoare annotation is: (and (<= (mod main_~A~0 4294967296) 1) (<= (mod main_~B~0 4294967296) 1)) [2022-04-15 15:38:25,607 INFO L885 garLoopResultBuilder]: At program point L26(line 26) the Hoare annotation is: true [2022-04-15 15:38:25,607 INFO L878 garLoopResultBuilder]: At program point L26-1(line 26) the Hoare annotation is: (<= (mod main_~A~0 4294967296) 1) [2022-04-15 15:38:25,607 INFO L878 garLoopResultBuilder]: At program point L47(line 47) the Hoare annotation is: (let ((.cse8 (mod main_~B~0 4294967296))) (let ((.cse7 (<= .cse8 1)) (.cse10 (= main_~q~0 0)) (.cse6 (mod main_~A~0 4294967296)) (.cse9 (= main_~p~0 1))) (or (and (exists ((aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247 Int) (aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247 Int) (aux_div_v_main_~d~0_41_36 Int) (aux_div_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103 Int)) (let ((.cse1 (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2)))) (let ((.cse2 (+ .cse1 aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247)) (.cse0 (* aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247 4294967296)) (.cse3 (* (- 2) aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247)) (.cse4 (* 8589934592 aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247)) (.cse5 (* .cse1 (- 2)))) (and (<= aux_div_v_main_~d~0_41_36 (+ main_~d~0 main_~r~0)) (<= (+ .cse0 main_~d~0) (+ .cse1 (* 4294967296 aux_div_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103) aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247)) (<= .cse0 .cse2) (<= .cse2 (+ .cse0 1)) (< aux_div_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103 (+ (div (+ .cse3 .cse4 (* aux_div_v_main_~d~0_41_36 2) .cse5 1) 8589934592) 1)) (< aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247 (+ (div (+ .cse3 .cse4 2 .cse5 (* main_~d~0 2)) 8589934592) 1)) (<= 0 aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247))))) (= (+ main_~d~0 main_~r~0) .cse6) .cse7 (< main_~r~0 (+ main_~d~0 1)) (= main_~q~0 1) (< .cse6 (* 2 .cse8)) .cse9) (and (= .cse6 main_~r~0) (= main_~p~0 2) (<= 1 .cse8) .cse10 (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0) (< 0 (+ (div (+ (* (- 1) main_~r~0) 1) 4294967296) 1)) (< .cse8 main_~d~0)) (and (= main_~d~0 .cse8) (< main_~r~0 .cse8) .cse7 .cse10 (<= .cse6 main_~r~0) .cse9)))) [2022-04-15 15:38:25,608 INFO L878 garLoopResultBuilder]: At program point L47-1(line 47) the Hoare annotation is: (let ((.cse8 (mod main_~B~0 4294967296))) (let ((.cse7 (<= .cse8 1)) (.cse10 (= main_~q~0 0)) (.cse6 (mod main_~A~0 4294967296)) (.cse9 (= main_~p~0 1))) (or (and (exists ((aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247 Int) (aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247 Int) (aux_div_v_main_~d~0_41_36 Int) (aux_div_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103 Int)) (let ((.cse1 (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2)))) (let ((.cse2 (+ .cse1 aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247)) (.cse0 (* aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247 4294967296)) (.cse3 (* (- 2) aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247)) (.cse4 (* 8589934592 aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247)) (.cse5 (* .cse1 (- 2)))) (and (<= aux_div_v_main_~d~0_41_36 (+ main_~d~0 main_~r~0)) (<= (+ .cse0 main_~d~0) (+ .cse1 (* 4294967296 aux_div_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103) aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247)) (<= .cse0 .cse2) (<= .cse2 (+ .cse0 1)) (< aux_div_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103 (+ (div (+ .cse3 .cse4 (* aux_div_v_main_~d~0_41_36 2) .cse5 1) 8589934592) 1)) (< aux_div_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247 (+ (div (+ .cse3 .cse4 2 .cse5 (* main_~d~0 2)) 8589934592) 1)) (<= 0 aux_mod_aux_mod_aux_mod_aux_div_aux_mod_aux_mod_v_main_~d~0_41_36_77_99_64_103_247))))) (= (+ main_~d~0 main_~r~0) .cse6) .cse7 (< main_~r~0 (+ main_~d~0 1)) (= main_~q~0 1) (< .cse6 (* 2 .cse8)) .cse9) (and (= .cse6 main_~r~0) (= main_~p~0 2) (<= 1 .cse8) .cse10 (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0) (< 0 (+ (div (+ (* (- 1) main_~r~0) 1) 4294967296) 1)) (< .cse8 main_~d~0)) (and (= main_~d~0 .cse8) (< main_~r~0 .cse8) .cse7 .cse10 (<= .cse6 main_~r~0) .cse9)))) [2022-04-15 15:38:25,608 INFO L878 garLoopResultBuilder]: At program point L39(lines 36 44) the Hoare annotation is: (let ((.cse10 (* (- 1) main_~d~0))) (let ((.cse6 (div .cse10 (- 2))) (.cse7 (mod main_~B~0 4294967296))) (let ((.cse0 (= (mod main_~A~0 4294967296) main_~r~0)) (.cse1 (= main_~d~0 (* main_~p~0 .cse7))) (.cse2 (<= 0 .cse6)) (.cse9 (<= .cse7 1)) (.cse3 (<= 1 .cse7)) (.cse4 (= (mod main_~d~0 2) 0)) (.cse5 (= main_~q~0 0)) (.cse8 (< 0 (+ (div (+ (* (- 1) main_~r~0) 1) 4294967296) 1)))) (or (and .cse0 .cse1 .cse2 .cse3 .cse4 .cse5 (<= .cse6 main_~r~0) (<= .cse7 main_~r~0) .cse8) (and .cse0 .cse1 .cse9 .cse3 .cse5 .cse8 (= main_~p~0 1)) (and (= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296))) (<= (div main_~r~0 (- 2)) (div .cse10 4)) .cse1 .cse2 .cse9 .cse3 .cse4 .cse5 .cse8))))) [2022-04-15 15:38:25,608 INFO L878 garLoopResultBuilder]: At program point L37(line 37) the Hoare annotation is: (let ((.cse10 (* (- 1) main_~d~0))) (let ((.cse6 (div .cse10 (- 2))) (.cse7 (mod main_~B~0 4294967296))) (let ((.cse0 (= (mod main_~A~0 4294967296) main_~r~0)) (.cse1 (= main_~d~0 (* main_~p~0 .cse7))) (.cse2 (<= 0 .cse6)) (.cse9 (<= .cse7 1)) (.cse3 (<= 1 .cse7)) (.cse4 (= (mod main_~d~0 2) 0)) (.cse5 (= main_~q~0 0)) (.cse8 (< 0 (+ (div (+ (* (- 1) main_~r~0) 1) 4294967296) 1)))) (or (and .cse0 .cse1 .cse2 .cse3 .cse4 .cse5 (<= .cse6 main_~r~0) (<= .cse7 main_~r~0) .cse8) (and .cse0 .cse1 .cse9 .cse3 .cse5 .cse8 (= main_~p~0 1)) (and (= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296))) (<= (div main_~r~0 (- 2)) (div .cse10 4)) .cse1 .cse2 .cse9 .cse3 .cse4 .cse5 .cse8))))) [2022-04-15 15:38:25,608 INFO L878 garLoopResultBuilder]: At program point L37-1(line 37) the Hoare annotation is: (let ((.cse10 (* (- 1) main_~d~0))) (let ((.cse6 (div .cse10 (- 2))) (.cse7 (mod main_~B~0 4294967296))) (let ((.cse0 (= (mod main_~A~0 4294967296) main_~r~0)) (.cse1 (= main_~d~0 (* main_~p~0 .cse7))) (.cse2 (<= 0 .cse6)) (.cse9 (<= .cse7 1)) (.cse3 (<= 1 .cse7)) (.cse4 (= (mod main_~d~0 2) 0)) (.cse5 (= main_~q~0 0)) (.cse8 (< 0 (+ (div (+ (* (- 1) main_~r~0) 1) 4294967296) 1)))) (or (and .cse0 .cse1 .cse2 .cse3 .cse4 .cse5 (<= .cse6 main_~r~0) (<= .cse7 main_~r~0) .cse8) (and .cse0 .cse1 .cse9 .cse3 .cse5 .cse8 (= main_~p~0 1)) (and (= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296))) (<= (div main_~r~0 (- 2)) (div .cse10 4)) .cse1 .cse2 .cse9 .cse3 .cse4 .cse5 .cse8))))) [2022-04-15 15:38:25,608 INFO L885 garLoopResultBuilder]: At program point ULTIMATE.initFINAL(line -1) the Hoare annotation is: true [2022-04-15 15:38:25,608 INFO L878 garLoopResultBuilder]: At program point ULTIMATE.initENTRY(line -1) the Hoare annotation is: (and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|)) [2022-04-15 15:38:25,608 INFO L885 garLoopResultBuilder]: At program point ULTIMATE.initEXIT(line -1) the Hoare annotation is: true [2022-04-15 15:38:25,608 INFO L885 garLoopResultBuilder]: At program point ULTIMATE.startEXIT(line -1) the Hoare annotation is: true [2022-04-15 15:38:25,608 INFO L885 garLoopResultBuilder]: At program point L-1(line -1) the Hoare annotation is: true [2022-04-15 15:38:25,608 INFO L885 garLoopResultBuilder]: At program point ULTIMATE.startENTRY(line -1) the Hoare annotation is: true [2022-04-15 15:38:25,608 INFO L885 garLoopResultBuilder]: At program point ULTIMATE.startFINAL(line -1) the Hoare annotation is: true [2022-04-15 15:38:25,608 INFO L878 garLoopResultBuilder]: At program point L16(lines 16 17) the Hoare annotation is: (= |__VERIFIER_assert_#in~cond| 0) [2022-04-15 15:38:25,608 INFO L878 garLoopResultBuilder]: At program point L15(lines 15 18) the Hoare annotation is: (and (or (not (<= 1 |__VERIFIER_assert_#in~cond|)) (<= 1 __VERIFIER_assert_~cond)) (or (= |__VERIFIER_assert_#in~cond| 0) (not (= __VERIFIER_assert_~cond 0)))) [2022-04-15 15:38:25,608 INFO L885 garLoopResultBuilder]: At program point __VERIFIER_assertENTRY(lines 14 20) the Hoare annotation is: true [2022-04-15 15:38:25,608 INFO L878 garLoopResultBuilder]: At program point L15-2(lines 14 20) the Hoare annotation is: (and (or (not (<= 1 |__VERIFIER_assert_#in~cond|)) (<= 1 __VERIFIER_assert_~cond)) (or (= |__VERIFIER_assert_#in~cond| 0) (not (= __VERIFIER_assert_~cond 0)))) [2022-04-15 15:38:25,608 INFO L878 garLoopResultBuilder]: At program point __VERIFIER_assertEXIT(lines 14 20) the Hoare annotation is: (and (or (not (<= 1 |__VERIFIER_assert_#in~cond|)) (<= 1 __VERIFIER_assert_~cond)) (or (= |__VERIFIER_assert_#in~cond| 0) (not (= __VERIFIER_assert_~cond 0)))) [2022-04-15 15:38:25,608 INFO L878 garLoopResultBuilder]: At program point __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION(line 17) the Hoare annotation is: (= |__VERIFIER_assert_#in~cond| 0) [2022-04-15 15:38:25,610 INFO L719 BasicCegarLoop]: Path program histogram: [4, 4, 2, 2, 2, 2, 2, 2, 2] [2022-04-15 15:38:25,611 INFO L177 ceAbstractionStarter]: Computing trace abstraction results [2022-04-15 15:38:25,613 WARN L170 areAnnotationChecker]: reach_errorENTRY has no Hoare annotation [2022-04-15 15:38:25,614 WARN L170 areAnnotationChecker]: reach_errorFINAL has no Hoare annotation [2022-04-15 15:38:25,723 INFO L163 areAnnotationChecker]: CFG has 54 edges. 54 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. 0 times interpolants missing. [2022-04-15 15:38:25,741 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 15.04 03:38:25 BoogieIcfgContainer [2022-04-15 15:38:25,741 INFO L132 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2022-04-15 15:38:25,743 INFO L158 Benchmark]: Toolchain (without parser) took 112086.76ms. Allocated memory was 187.7MB in the beginning and 270.5MB in the end (delta: 82.8MB). Free memory was 137.3MB in the beginning and 111.0MB in the end (delta: 26.3MB). Peak memory consumption was 135.2MB. Max. memory is 8.0GB. [2022-04-15 15:38:25,743 INFO L158 Benchmark]: CDTParser took 0.11ms. Allocated memory is still 187.7MB. Free memory was 153.5MB in the beginning and 153.4MB in the end (delta: 136.4kB). There was no memory consumed. Max. memory is 8.0GB. [2022-04-15 15:38:25,743 INFO L158 Benchmark]: CACSL2BoogieTranslator took 180.60ms. Allocated memory is still 187.7MB. Free memory was 137.2MB in the beginning and 163.0MB in the end (delta: -25.9MB). Peak memory consumption was 12.6MB. Max. memory is 8.0GB. [2022-04-15 15:38:25,743 INFO L158 Benchmark]: Boogie Preprocessor took 19.33ms. Allocated memory is still 187.7MB. Free memory was 163.0MB in the beginning and 161.5MB in the end (delta: 1.6MB). Peak memory consumption was 1.0MB. Max. memory is 8.0GB. [2022-04-15 15:38:25,746 INFO L158 Benchmark]: RCFGBuilder took 228.35ms. Allocated memory is still 187.7MB. Free memory was 161.5MB in the beginning and 149.4MB in the end (delta: 12.1MB). Peak memory consumption was 12.6MB. Max. memory is 8.0GB. [2022-04-15 15:38:25,746 INFO L158 Benchmark]: TraceAbstraction took 111655.04ms. Allocated memory was 187.7MB in the beginning and 270.5MB in the end (delta: 82.8MB). Free memory was 148.9MB in the beginning and 111.0MB in the end (delta: 37.9MB). Peak memory consumption was 147.9MB. Max. memory is 8.0GB. [2022-04-15 15:38:25,747 INFO L339 ainManager$Toolchain]: ####################### End [Toolchain 1] ####################### --- Results --- * Results from de.uni_freiburg.informatik.ultimate.core: - AssertionsEnabledResult: Assertions are enabled Assertions are enabled - StatisticsResult: Toolchain Benchmarks Benchmark results are: * CDTParser took 0.11ms. Allocated memory is still 187.7MB. Free memory was 153.5MB in the beginning and 153.4MB in the end (delta: 136.4kB). There was no memory consumed. Max. memory is 8.0GB. * CACSL2BoogieTranslator took 180.60ms. Allocated memory is still 187.7MB. Free memory was 137.2MB in the beginning and 163.0MB in the end (delta: -25.9MB). Peak memory consumption was 12.6MB. Max. memory is 8.0GB. * Boogie Preprocessor took 19.33ms. Allocated memory is still 187.7MB. Free memory was 163.0MB in the beginning and 161.5MB in the end (delta: 1.6MB). Peak memory consumption was 1.0MB. Max. memory is 8.0GB. * RCFGBuilder took 228.35ms. Allocated memory is still 187.7MB. Free memory was 161.5MB in the beginning and 149.4MB in the end (delta: 12.1MB). Peak memory consumption was 12.6MB. Max. memory is 8.0GB. * TraceAbstraction took 111655.04ms. Allocated memory was 187.7MB in the beginning and 270.5MB in the end (delta: 82.8MB). Free memory was 148.9MB in the beginning and 111.0MB in the end (delta: 37.9MB). Peak memory consumption was 147.9MB. Max. memory is 8.0GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - StatisticsResult: ErrorAutomatonStatistics NumberErrorTraces: 0, NumberStatementsAllTraces: 0, NumberRelevantStatements: 0, 0.0s ErrorAutomatonConstructionTimeTotal, 0.0s FaulLocalizationTime, NumberStatementsFirstTrace: -1, TraceLengthAvg: 0, 0.0s ErrorAutomatonConstructionTimeAvg, 0.0s ErrorAutomatonDifferenceTimeAvg, 0.0s ErrorAutomatonDifferenceTimeTotal, NumberOfNoEnhancement: 0, NumberOfFiniteEnhancement: 0, NumberOfInfiniteEnhancement: 0 - PositiveResult [Line: 17]: call to reach_error is unreachable For all program executions holds that call to reach_error is unreachable at this location - StatisticsResult: Ultimate Automizer benchmark data CFG has 6 procedures, 41 locations, 1 error locations. Started 1 CEGAR loops. OverallTime: 111.5s, OverallIterations: 11, TraceHistogramMax: 11, PathProgramHistogramMax: 4, EmptinessCheckTime: 0.0s, AutomataDifference: 10.3s, DeadEndRemovalTime: 0.0s, HoareAnnotationTime: 3.8s, InitialAbstractionConstructionTime: 0.0s, PartialOrderReductionTime: 0.0s, HoareTripleCheckerStatistics: 0 mSolverCounterUnknown, 317 SdHoareTripleChecker+Valid, 3.4s IncrementalHoareTripleChecker+Time, 0 mSdLazyCounter, 258 mSDsluCounter, 1547 SdHoareTripleChecker+Invalid, 3.4s Time, 0 mProtectedAction, 0 SdHoareTripleChecker+Unchecked, 93 IncrementalHoareTripleChecker+Unchecked, 1123 mSDsCounter, 215 IncrementalHoareTripleChecker+Valid, 0 mProtectedPredicate, 1659 IncrementalHoareTripleChecker+Invalid, 1967 SdHoareTripleChecker+Unknown, 0 mSolverCounterNotChecked, 215 mSolverCounterUnsat, 424 mSDtfsCounter, 1659 mSolverCounterSat, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Unknown, PredicateUnifierStatistics: 0 DeclaredPredicates, 1067 GetRequests, 926 SyntacticMatches, 9 SemanticMatches, 132 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 274 ImplicationChecksByTransitivity, 5.5s Time, 0.0s BasicInterpolantAutomatonTime, BiggestAbstraction: size=96occurred in iteration=8, InterpolantAutomatonStates: 94, traceCheckStatistics: No data available, InterpolantConsolidationStatistics: No data available, PathInvariantsStatistics: No data available, 0/0 InterpolantCoveringCapability, TotalInterpolationStatistics: No data available, 0.0s DumpTime, AutomataMinimizationStatistics: 0.6s AutomataMinimizationTime, 11 MinimizatonAttempts, 20 StatesRemovedByMinimization, 5 NontrivialMinimizations, HoareAnnotationStatistics: 0.0s HoareAnnotationTime, 38 LocationsWithAnnotation, 342 PreInvPairs, 453 NumberOfFragments, 2155 HoareAnnotationTreeSize, 342 FomulaSimplifications, 447 FormulaSimplificationTreeSizeReduction, 0.4s HoareSimplificationTime, 38 FomulaSimplificationsInter, 1494 FormulaSimplificationTreeSizeReductionInter, 3.3s HoareSimplificationTimeInter, RefinementEngineStatistics: TRACE_CHECK: No data available, INVARIANT_SYNTHESIS: No data available, INTERPOLANT_CONSOLIDATION: No data available, ABSTRACT_INTERPRETATION: No data available, PDR: No data available, ACCELERATED_INTERPOLATION: No data available, SIFA: No data available, ReuseStatistics: No data available - AllSpecificationsHoldResult: All specifications hold 1 specifications checked. All of them hold - InvariantResult [Line: 36]: Loop Invariant Derived loop invariant: (((((((((A % 4294967296 == r && d == p * (B % 4294967296)) && 0 <= -1 * d / -2) && 1 <= B % 4294967296) && d % 2 == 0) && q == 0) && -1 * d / -2 <= r) && B % 4294967296 <= r) && 0 < (-1 * r + 1) / 4294967296 + 1) || ((((((A % 4294967296 == r && d == p * (B % 4294967296)) && B % 4294967296 <= 1) && 1 <= B % 4294967296) && q == 0) && 0 < (-1 * r + 1) / 4294967296 + 1) && p == 1)) || ((((((((A == r + A / 4294967296 * 4294967296 && r / -2 <= -1 * d / 4) && d == p * (B % 4294967296)) && 0 <= -1 * d / -2) && B % 4294967296 <= 1) && 1 <= B % 4294967296) && d % 2 == 0) && q == 0) && 0 < (-1 * r + 1) / 4294967296 + 1) - ProcedureContractResult [Line: 11]: Procedure Contract for assume_abort_if_not Derived contract for procedure assume_abort_if_not: !(\old(cond) == 0) && cond == \old(cond) - ProcedureContractResult [Line: 22]: Procedure Contract for main Derived contract for procedure main: 1 - ProcedureContractResult [Line: 14]: Procedure Contract for __VERIFIER_assert Derived contract for procedure __VERIFIER_assert: (!(1 <= \old(cond)) || 1 <= cond) && (\old(cond) == 0 || !(cond == 0)) RESULT: Ultimate proved your program to be correct! [2022-04-15 15:38:25,845 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Ended with exit code 0 Received shutdown request...