Herbie run

Date:Saturday, March 29th, 2025
Commit:775c1039 on always-constant-fold
Seed:2025088
Parameters:256 points for 4 iterations
Flags:
reduce:regimesreduce:binary-searchreduce:branch-expressionsreduce:simplifysetup:simplifysetup:searchrules:arithmeticrules:polynomialsrules:fractionsrules:exponentsrules:trigonometryrules:hyperbolicrules:numericsrules:specialrules:boolsrules:branchesgenerate:rrgenerate:taylorgenerate:simplifygenerate:proofs
default
Memory:176 961.1 MB

Time bar (total: 2.3min)

sample50.4s (36.9%)

Memory
631.8MiB live, 65 188.2MiB allocated; 18.8s collecting garbage
Samples
22.7s292 989×0valid
6.9s17 714×2valid
6.2s35 626×1valid
361.0ms4 249×0invalid
208.0ms423×3valid
133.0ms995×0exit
55.0ms101×4exit
51.0ms101×3exit
17.0ms33×1exit
Precisions
Click to see histograms. Total time spent on operations: 23.8s
ival-mult!: 6.5s (27.4% of total)
ival-pow: 3.7s (15.6% of total)
ival-sin: 2.4s (10.1% of total)
ival-div!: 2.4s (10% of total)
adjust: 1.9s (7.9% of total)
ival-add!: 1.5s (6.5% of total)
ival-sub!: 1.5s (6.3% of total)
ival-cos: 1.4s (6% of total)
ival-exp: 601.0ms (2.5% of total)
ival-sqrt: 500.0ms (2.1% of total)
ival-pow2: 384.0ms (1.6% of total)
ival-neg: 364.0ms (1.5% of total)
ival-expm1: 148.0ms (0.6% of total)
ival-<=: 126.0ms (0.5% of total)
ival-log1p: 120.0ms (0.5% of total)
ival-atan: 89.0ms (0.4% of total)
ival-tan: 69.0ms (0.3% of total)
ival-hypot: 17.0ms (0.1% of total)
ival-and: 8.0ms (0% of total)
ival-fabs: 4.0ms (0% of total)
ival-if: 4.0ms (0% of total)
ival-==: 2.0ms (0% of total)
ival-assert: 1.0ms (0% of total)
const: 0.0ms (0% of total)
ival-<: 0.0ms (0% of total)
Bogosity

rewrite29.2s (21.4%)

Memory
500.1MiB live, 33 653.6MiB allocated; 7.2s collecting garbage
Stop Event
364×iter-limit
146×node-limit
saturated
unsound
Counts
20 404 → 43 664

preprocess10.3s (7.6%)

Memory
698.4MiB live, 11 634.2MiB allocated; 2.2s collecting garbage
Stop Event
84×iter-limit
64×node-limit
20×saturated
Compiler

Compiled 71 369 to 15 080 computations (78.9% saved)

explain9.6s (7%)

Memory
-138.4MiB live, 11 745.0MiB allocated; 3.9s collecting garbage
Explanations
Click to see full explanations table
OperatorSubexpressionExplanationCount
-.f64#fcancellation13560
+.f64#fcancellation35580
-.f64(-.f64 (*.f64 #s(literal 170000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 binary64) t) #s(literal 170000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 binary64))oflow-left2250
sqrt.f64#foflow-rescue2020
log.f64(log.f64 (+.f64 #s(literal 1 binary64) x))sensitivity1770
/.f64#fn/o1590
/.f64#fo/o1560
pow.f64(pow.f64 (+.f64 #s(literal 1 binary64) (/.f64 i n)) n)sensitivity1340
-.f64#fnan-rescue1090
/.f64#fu/n730
/.f64#fn/u630
/.f64#fu/u590
/.f64#fo/n500
+.f64(+.f64 (+.f64 (*.f64 (+.f64 (*.f64 (*.f64 (*.f64 #s(literal 2 binary64) x1) (/.f64 (-.f64 (+.f64 (*.f64 (*.f64 #s(literal 3 binary64) x1) x1) (*.f64 #s(literal 2 binary64) x2)) x1) (+.f64 (*.f64 x1 x1) #s(literal 1 binary64)))) (-.f64 (/.f64 (-.f64 (+.f64 (*.f64 (*.f64 #s(literal 3 binary64) x1) x1) (*.f64 #s(literal 2 binary64) x2)) x1) (+.f64 (*.f64 x1 x1) #s(literal 1 binary64))) #s(literal 3 binary64))) (*.f64 (*.f64 x1 x1) (-.f64 (*.f64 #s(literal 4 binary64) (/.f64 (-.f64 (+.f64 (*.f64 (*.f64 #s(literal 3 binary64) x1) x1) (*.f64 #s(literal 2 binary64) x2)) x1) (+.f64 (*.f64 x1 x1) #s(literal 1 binary64)))) #s(literal 6 binary64)))) (+.f64 (*.f64 x1 x1) #s(literal 1 binary64))) (*.f64 (*.f64 (*.f64 #s(literal 3 binary64) x1) x1) (/.f64 (-.f64 (+.f64 (*.f64 (*.f64 #s(literal 3 binary64) x1) x1) (*.f64 #s(literal 2 binary64) x2)) x1) (+.f64 (*.f64 x1 x1) #s(literal 1 binary64))))) (*.f64 (*.f64 x1 x1) x1))nan-rescue420
(*.f64 x1 x1)overflow378
(*.f64 (+.f64 (*.f64 (*.f64 (*.f64 #s(literal 2 binary64) x1) (/.f64 (-.f64 (+.f64 (*.f64 (*.f64 #s(literal 3 binary64) x1) x1) (*.f64 #s(literal 2 binary64) x2)) x1) (+.f64 (*.f64 x1 x1) #s(literal 1 binary64)))) (-.f64 (/.f64 (-.f64 (+.f64 (*.f64 (*.f64 #s(literal 3 binary64) x1) x1) (*.f64 #s(literal 2 binary64) x2)) x1) (+.f64 (*.f64 x1 x1) #s(literal 1 binary64))) #s(literal 3 binary64))) (*.f64 (*.f64 x1 x1) (-.f64 (*.f64 #s(literal 4 binary64) (/.f64 (-.f64 (+.f64 (*.f64 (*.f64 #s(literal 3 binary64) x1) x1) (*.f64 #s(literal 2 binary64) x2)) x1) (+.f64 (*.f64 x1 x1) #s(literal 1 binary64)))) #s(literal 6 binary64)))) (+.f64 (*.f64 x1 x1) #s(literal 1 binary64)))overflow110
(+.f64 (*.f64 x1 x1) #s(literal 1 binary64))overflow315
(*.f64 (*.f64 (*.f64 #s(literal 2 binary64) x1) (/.f64 (-.f64 (+.f64 (*.f64 (*.f64 #s(literal 3 binary64) x1) x1) (*.f64 #s(literal 2 binary64) x2)) x1) (+.f64 (*.f64 x1 x1) #s(literal 1 binary64)))) (-.f64 (/.f64 (-.f64 (+.f64 (*.f64 (*.f64 #s(literal 3 binary64) x1) x1) (*.f64 #s(literal 2 binary64) x2)) x1) (+.f64 (*.f64 x1 x1) #s(literal 1 binary64))) #s(literal 3 binary64)))overflow15
(+.f64 (*.f64 (*.f64 #s(literal 3 binary64) x1) x1) (*.f64 #s(literal 2 binary64) x2))overflow252
(-.f64 (+.f64 (*.f64 (*.f64 #s(literal 3 binary64) x1) x1) (*.f64 #s(literal 2 binary64) x2)) x1)overflow252
(+.f64 (*.f64 (*.f64 (*.f64 #s(literal 2 binary64) x1) (/.f64 (-.f64 (+.f64 (*.f64 (*.f64 #s(literal 3 binary64) x1) x1) (*.f64 #s(literal 2 binary64) x2)) x1) (+.f64 (*.f64 x1 x1) #s(literal 1 binary64)))) (-.f64 (/.f64 (-.f64 (+.f64 (*.f64 (*.f64 #s(literal 3 binary64) x1) x1) (*.f64 #s(literal 2 binary64) x2)) x1) (+.f64 (*.f64 x1 x1) #s(literal 1 binary64))) #s(literal 3 binary64))) (*.f64 (*.f64 x1 x1) (-.f64 (*.f64 #s(literal 4 binary64) (/.f64 (-.f64 (+.f64 (*.f64 (*.f64 #s(literal 3 binary64) x1) x1) (*.f64 #s(literal 2 binary64) x2)) x1) (+.f64 (*.f64 x1 x1) #s(literal 1 binary64)))) #s(literal 6 binary64))))overflow78
(*.f64 (*.f64 (*.f64 #s(literal 3 binary64) x1) x1) (/.f64 (-.f64 (+.f64 (*.f64 (*.f64 #s(literal 3 binary64) x1) x1) (*.f64 #s(literal 2 binary64) x2)) x1) (+.f64 (*.f64 x1 x1) #s(literal 1 binary64))))overflow63
(*.f64 (*.f64 #s(literal 3 binary64) x1) x1)overflow315
(*.f64 (*.f64 x1 x1) (-.f64 (*.f64 #s(literal 4 binary64) (/.f64 (-.f64 (+.f64 (*.f64 (*.f64 #s(literal 3 binary64) x1) x1) (*.f64 #s(literal 2 binary64) x2)) x1) (+.f64 (*.f64 x1 x1) #s(literal 1 binary64)))) #s(literal 6 binary64)))overflow63
(+.f64 (*.f64 (+.f64 (*.f64 (*.f64 (*.f64 #s(literal 2 binary64) x1) (/.f64 (-.f64 (+.f64 (*.f64 (*.f64 #s(literal 3 binary64) x1) x1) (*.f64 #s(literal 2 binary64) x2)) x1) (+.f64 (*.f64 x1 x1) #s(literal 1 binary64)))) (-.f64 (/.f64 (-.f64 (+.f64 (*.f64 (*.f64 #s(literal 3 binary64) x1) x1) (*.f64 #s(literal 2 binary64) x2)) x1) (+.f64 (*.f64 x1 x1) #s(literal 1 binary64))) #s(literal 3 binary64))) (*.f64 (*.f64 x1 x1) (-.f64 (*.f64 #s(literal 4 binary64) (/.f64 (-.f64 (+.f64 (*.f64 (*.f64 #s(literal 3 binary64) x1) x1) (*.f64 #s(literal 2 binary64) x2)) x1) (+.f64 (*.f64 x1 x1) #s(literal 1 binary64)))) #s(literal 6 binary64)))) (+.f64 (*.f64 x1 x1) #s(literal 1 binary64))) (*.f64 (*.f64 (*.f64 #s(literal 3 binary64) x1) x1) (/.f64 (-.f64 (+.f64 (*.f64 (*.f64 #s(literal 3 binary64) x1) x1) (*.f64 #s(literal 2 binary64) x2)) x1) (+.f64 (*.f64 x1 x1) #s(literal 1 binary64)))))overflow110
(*.f64 x1 x1)overflow63
(*.f64 (*.f64 x1 x1) x1)overflow83
*.f64#fn*u390
*.f64#fn*o210
pow.f64(pow.f64 (+.f64 #s(literal 1 binary64) (/.f64 i n)) n)oflow-rescue160
(pow.f64 (+.f64 #s(literal 1 binary64) (/.f64 i n)) n)overflow27
(/.f64 i n)overflow16
(+.f64 #s(literal 1 binary64) (/.f64 i n))overflow16
sqrt.f64#fuflow-rescue80
Confusion
Predicted +Predicted -
+3922226
-1106494
Precision
0.972718253968254
Recall
0.9455159112825458
Confusion?
Predicted +Predicted MaybePredicted -
+392215274
-1101846310
Precision?
0.9326923076923077
Recall?
0.9821600771456124
Freqs
test
numberfreq
06720
13592
2393
347
Total Confusion?
Predicted +Predicted MaybePredicted -
+3110
-208
Precision?
0.9411764705882353
Recall?
1.0
Samples
1.6s16 814×0valid
696.0ms1 408×2valid
614.0ms3 262×1valid
8.0ms20×3valid
Compiler

Compiled 7 535 to 1 486 computations (80.3% saved)

Precisions
Click to see histograms. Total time spent on operations: 1.8s
ival-mult!: 408.0ms (22.7% of total)
ival-sub!: 259.0ms (14.4% of total)
adjust: 239.0ms (13.3% of total)
ival-div!: 230.0ms (12.8% of total)
ival-pow: 227.0ms (12.6% of total)
ival-sin: 147.0ms (8.2% of total)
ival-cos: 94.0ms (5.2% of total)
ival-add!: 94.0ms (5.2% of total)
ival-exp: 27.0ms (1.5% of total)
ival-sqrt: 27.0ms (1.5% of total)
ival-pow2: 15.0ms (0.8% of total)
ival-neg: 14.0ms (0.8% of total)
ival-atan: 5.0ms (0.3% of total)
ival-log1p: 5.0ms (0.3% of total)
ival-tan: 4.0ms (0.2% of total)
ival-expm1: 3.0ms (0.2% of total)
const: 0.0ms (0% of total)

eval8.5s (6.2%)

Memory
-208.9MiB live, 14 257.2MiB allocated; 2.3s collecting garbage
Compiler

Compiled 2 339 444 to 205 323 computations (91.2% saved)

derivations7.7s (5.6%)

Memory
-126.6MiB live, 7 865.0MiB allocated; 963ms collecting garbage
Stop Event
26×fuel
16×done
Compiler

Compiled 25 332 to 2 671 computations (89.5% saved)

series5.2s (3.8%)

Memory
-206.6MiB live, 7 933.3MiB allocated; 1.1s collecting garbage
Counts
3 425 → 16 979
Calls

882 calls:

TimeVariablePointExpression
339.0ms
b
@-inf
((- (* a a) (* b b)) (* a a) a (- (* a a) (* b b)) (* (neg b) b) (neg b) b (* (- a b) (+ b a)) (- a b) (+ b a))
106.0ms
i
@-inf
((* (/ (* (- (exp (* (log (+ 1 (/ i n))) n)) 1) 100) i) n) (/ (* (- (exp (* (log (+ 1 (/ i n))) n)) 1) 100) i) (* (- (exp (* (log (+ 1 (/ i n))) n)) 1) 100) (- (exp (* (log (+ 1 (/ i n))) n)) 1) (- (exp i) 1) i 100 n (* 100 (/ (- (pow (+ 1 (/ i n)) n) 1) (/ i n))) (+ (* (* 100 (+ (* (* n i) (- (+ (* (pow n -2) 1/3) 1/6) (/ 1/2 n))) (* (- 1/2 (/ 1/2 n)) n))) i) (* n 100)) (* (/ (* i i) n) 100/3) (/ (* i i) n) (* i i) 100/3 (* 100 (* (/ (- (exp (* (log (+ 1 (/ i n))) n)) 1) i) n)) (* (/ (- (exp (* (log (+ 1 (/ i n))) n)) 1) i) n) (/ (- (exp (* (log (+ 1 (/ i n))) n)) 1) i) (- (exp (* (log (+ 1 (/ i n))) n)) 1) (- (exp i) 1) (* (+ (* 1/2 i) 1) i) (+ (* 1/2 i) 1) 1/2 1 (* 100 (/ (- (pow (+ 1 (/ i n)) n) 1) (/ i n))) (+ (* (* 100 (+ (* (* n i) (- (+ (* (pow n -2) 1/3) 1/6) (/ 1/2 n))) (* (- 1/2 (/ 1/2 n)) n))) i) (* n 100)) (* 100 (+ (* (* n i) (- (+ (* (pow n -2) 1/3) 1/6) (/ 1/2 n))) (* (- 1/2 (/ 1/2 n)) n))) (+ (* (* n i) (- (+ (* (pow n -2) 1/3) 1/6) (/ 1/2 n))) (* (- 1/2 (/ 1/2 n)) n)) (* n i) (- (+ (* (pow n -2) 1/3) 1/6) (/ 1/2 n)) 1/6 (* (- 1/2 (/ 1/2 n)) n) (- 1/2 (/ 1/2 n)) (/ 1/2 n) (* n 100) (* (/ (- (pow (+ 1 (/ i n)) n) 1) (/ i n)) 100) (/ (- (pow (+ 1 (/ i n)) n) 1) (/ i n)) (* (/ (log (/ i n)) i) (* n n)) (/ (log (/ i n)) i) (log (/ i n)) (/ i n) (* n n))
89.0ms
x
@0
((/ -10 (+ (* x x) -1)) -10 (+ (* x x) -1) x -1 (/ 10 (- 1 (* x x))) (* (+ (* x x) 1) 10) (+ (* x x) 1) 1 10 (/ 10 (- 1 (* x x))) (- 10 (* (neg x) (* x 10))) (* (neg x) (* x 10)) (neg x) (* x 10) (/ 10 (+ (- 1 x) (* x (- 1 x)))) (+ (- 1 x) (* x (- 1 x))) (- 1 x) (* x (- 1 x)) (* (/ 10 (- 1 x)) (/ 1 (- x -1))) (/ 10 (- 1 x)) (/ 1 (- x -1)) (- x -1))
83.0ms
a
@0
((- (* a a) (* b b)) (* a a) a (* b b) b)
83.0ms
v
@inf
((* (/ (neg t1) (+ u t1)) (/ v (+ u t1))) (/ (neg t1) (+ u t1)) (neg t1) t1 (+ u t1) u (/ v (+ u t1)) v (/ (* (neg t1) v) (* (+ t1 u) (+ t1 u))) (/ (neg v) t1) (neg v) (/ (* (neg t1) v) (* (+ t1 u) (+ t1 u))) (* (neg t1) v) (* (+ t1 u) (+ t1 u)) (+ t1 u) (+ t1 u) (/ (* (neg t1) v) (* (+ t1 u) (+ t1 u))) (* (/ v u) (/ (neg t1) u)) (/ v u) (/ (neg t1) u) (/ (* (neg t1) v) (/ (* (- (* t1 t1) (* u u)) (- (* t1 t1) (* u u))) (* (- t1 u) (- t1 u)))) (/ (* (- (* t1 t1) (* u u)) (- (* t1 t1) (* u u))) (* (- t1 u) (- t1 u))) (* (- (* t1 t1) (* u u)) (- (* t1 t1) (* u u))) (- (* t1 t1) (* u u)) (* t1 t1) (* u u) (* (- t1 u) (- t1 u)) (- t1 u))

regimes5.0s (3.7%)

Memory
-33.7MiB live, 8 363.4MiB allocated; 1.1s collecting garbage
Counts
3 947 → 525
Calls

96 calls:

585.0ms
x
262.0ms
c
254.0ms
b
191.0ms
a
170.0ms
n
Compiler

Compiled 8 129 to 5 251 computations (35.4% saved)

prune4.6s (3.3%)

Memory
246.6MiB live, 7 723.2MiB allocated; 2.1s collecting garbage
Counts
50 332 → 1 892
Compiler

Compiled 152 868 to 65 026 computations (57.5% saved)

analyze3.3s (2.4%)

Memory
70.3MiB live, 4 356.0MiB allocated; 1.1s collecting garbage
Algorithm
43×search
random
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%54.5%45.5%0%0%0%0
21.4%11.7%42.9%45.5%0%0%0%1
37.4%20.4%34.1%45.5%0%0%0%2
48.7%26.2%27.7%45.5%0%0.6%0%3
57.7%30.7%22.6%45.5%0%1.2%0%4
71.2%37.7%15.3%45.5%0%1.6%0%5
72.9%38.4%14.3%45.5%0%1.8%0%6
77.9%40.7%11.6%45.5%0%2.2%0%7
81.5%42.6%9.7%45.5%0%2.3%0%8
84.1%43.8%8.3%45.5%0%2.5%0%9
86.2%44.6%7.2%45.5%0%2.7%0%10
88.2%45.6%6.1%45.5%0%2.8%0%11
89.1%45.9%5.6%45.5%0%2.9%0%12
Compiler

Compiled 1 402 to 721 computations (48.6% saved)

bsearch2.7s (2%)

Memory
64.3MiB live, 4 235.8MiB allocated; 887ms collecting garbage
Algorithm
187×binary-search
67×left-value
Stop Event
174×narrow-enough
12×predicate-same
predicate-failed
Samples
956.0ms10 466×0valid
295.0ms1 048×1valid
88.0ms229×2valid
68.0ms1 026×0invalid
9.0ms94×0exit
0.0ms1exit
0.0ms3valid
Compiler

Compiled 150 108 to 80 497 computations (46.4% saved)

Precisions
Click to see histograms. Total time spent on operations: 985.0ms
ival-mult!: 367.0ms (37.3% of total)
ival-pow: 136.0ms (13.8% of total)
ival-div!: 133.0ms (13.5% of total)
adjust: 89.0ms (9% of total)
ival-sub!: 63.0ms (6.4% of total)
ival-add!: 54.0ms (5.5% of total)
ival-sqrt: 52.0ms (5.3% of total)
ival-exp: 47.0ms (4.8% of total)
ival-neg: 42.0ms (4.3% of total)
ival-expm1: 2.0ms (0.2% of total)

start2.0ms (0%)

Memory
5.6MiB live, 5.5MiB allocated; 0ms collecting garbage

end0.0ms (0%)

Memory
0.8MiB live, 0.8MiB allocated; 0ms collecting garbage

Profiling

Loading profile data...