Herbie run

Date:Thursday, February 20th, 2025
Commit:87019920 on main
Seed:2025051
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:171 161.9 MB

Time bar (total: 2.6min)

sample1.1min (42.5%)

Memory
676.9MiB live, 70 581.7MiB allocated; 26.0s collecting garbage
Samples
26.2s284 610×0valid
13.7s44 198×1valid
8.0s17 555×2valid
926.0ms389×3valid
425.0ms4 200×0invalid
176.0ms202×5exit
142.0ms999×0exit
Precisions
Click to see histograms. Total time spent on operations: 36.8s
ival-mult: 10.1s (27.4% of total)
adjust: 4.1s (11.2% of total)
ival-pow: 4.0s (11% of total)
ival-add: 3.7s (10% of total)
ival-sub: 3.6s (9.8% of total)
ival-div: 3.6s (9.6% of total)
ival-sin: 2.3s (6.3% of total)
ival-cos: 1.5s (4.1% of total)
const: 1.5s (4.1% of total)
ival-sqrt: 465.0ms (1.3% of total)
ival-exp: 451.0ms (1.2% of total)
ival-neg: 333.0ms (0.9% of total)
exact: 270.0ms (0.7% of total)
ival-pow2: 223.0ms (0.6% of total)
ival-log1p: 146.0ms (0.4% of total)
ival-expm1: 124.0ms (0.3% of total)
ival-assert: 118.0ms (0.3% of total)
ival-atan: 80.0ms (0.2% of total)
ival-tan: 50.0ms (0.1% of total)
ival-pi: 40.0ms (0.1% of total)
ival-hypot: 29.0ms (0.1% of total)
ival-<=: 16.0ms (0% of total)
ival-true: 10.0ms (0% of total)
ival-and: 9.0ms (0% of total)
ival-if: 5.0ms (0% of total)
ival-fabs: 4.0ms (0% of total)
ival-==: 3.0ms (0% of total)
ival-<: 1.0ms (0% of total)
Bogosity

rewrite29.9s (19.2%)

Memory
-97.7MiB live, 29 922.0MiB allocated; 7.7s collecting garbage
Stop Event
359×iter limit
145×node limit
saturated
unsound
Counts
20 374 → 42 475

preprocess9.8s (6.3%)

Memory
394.8MiB live, 10 606.6MiB allocated; 1.8s collecting garbage
Stop Event
84×iter limit
64×node limit
20×saturated
Compiler

Compiled 58 665 to 9 426 computations (83.9% saved)

explain9.3s (6%)

Memory
-108.8MiB live, 12 199.9MiB allocated; 1.8s collecting garbage
Explanations
Click to see full explanations table
OperatorSubexpressionExplanationCount
-.f64#fcancellation13116
+.f64#fcancellation35877
-.f64(-.f64 (*.f64 #s(literal 170000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 binary64) t) #s(literal 170000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 binary64))oflow-left2240
sqrt.f64#foflow-rescue2020
log.f64(log.f64 (+.f64 #s(literal 1 binary64) x))sensitivity1600
/.f64#fn/o1560
/.f64#fo/o1560
pow.f64(pow.f64 (+.f64 #s(literal 1 binary64) (/.f64 i n)) n)sensitivity1370
-.f64#fnan-rescue1080
/.f64#fu/n900
/.f64#fn/u650
/.f64#fu/u600
/.f64#fo/n540
+.f64#fnan-rescue420
*.f64#fn*o290
*.f64#fn*u290
pow.f64(pow.f64 (+.f64 #s(literal 1 binary64) (/.f64 i n)) n)oflow-rescue260
(pow.f64 (+.f64 #s(literal 1 binary64) (/.f64 i n)) n)overflow24
(/.f64 i n)overflow26
(+.f64 #s(literal 1 binary64) (/.f64 i n))overflow26
sqrt.f64#fuflow-rescue120
Confusion
Predicted +Predicted -
+3864208
-1206560
Precision
0.9698795180722891
Recall
0.9489194499017681
Confusion?
Predicted +Predicted MaybePredicted -
+386414167
-1201996361
Precision?
0.9262257169287696
Recall?
0.9835461689587426
Freqs
test
numberfreq
06768
13529
2400
355
Total Confusion?
Predicted +Predicted MaybePredicted -
+3010
-209
Precision?
0.9393939393939394
Recall?
1.0
Samples
1.5s16 304×0valid
1.2s3 704×1valid
639.0ms1 462×2valid
19.0ms32×3valid
3.0ms4valid
Compiler

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

Precisions
Click to see histograms. Total time spent on operations: 2.3s
ival-mult: 644.0ms (28.2% of total)
adjust: 387.0ms (16.9% of total)
ival-pow: 256.0ms (11.2% of total)
ival-add: 244.0ms (10.7% of total)
ival-div: 210.0ms (9.2% of total)
ival-sub: 174.0ms (7.6% of total)
ival-sin: 105.0ms (4.6% of total)
ival-cos: 63.0ms (2.8% of total)
const: 45.0ms (2% of total)
ival-exp: 30.0ms (1.3% of total)
ival-sqrt: 25.0ms (1.1% of total)
ival-pow2: 20.0ms (0.9% of total)
ival-true: 18.0ms (0.8% of total)
exact: 18.0ms (0.8% of total)
ival-neg: 17.0ms (0.7% of total)
ival-assert: 8.0ms (0.3% of total)
ival-log1p: 5.0ms (0.2% of total)
ival-tan: 4.0ms (0.2% of total)
ival-atan: 4.0ms (0.2% of total)
ival-pi: 4.0ms (0.2% of total)
ival-expm1: 3.0ms (0.1% of total)

derivations8.6s (5.5%)

Memory
9.1MiB live, 7 339.6MiB allocated; 1.4s collecting garbage
Stop Event
26×fuel
16×done
Compiler

Compiled 26 007 to 2 839 computations (89.1% saved)

eval7.8s (5%)

Memory
389.7MiB live, 10 897.4MiB allocated; 2.1s collecting garbage
Compiler

Compiled 2 103 530 to 191 815 computations (90.9% saved)

regimes6.3s (4%)

Memory
58.8MiB live, 7 570.3MiB allocated; 2.2s collecting garbage
Counts
4 619 → 590
Calls

96 calls:

599.0ms
x
395.0ms
b
360.0ms
a
266.0ms
(*.f64 (cos.f64 x) (exp.f64 (*.f64 #s(literal 10 binary64) (*.f64 x x))))
211.0ms
c
Compiler

Compiled 8 693 to 5 755 computations (33.8% saved)

prune4.6s (3%)

Memory
-348.5MiB live, 6 430.5MiB allocated; 1.7s collecting garbage
Counts
48 631 → 1 919
Compiler

Compiled 139 918 to 62 300 computations (55.5% saved)

series4.0s (2.6%)

Memory
505.6MiB live, 5 653.6MiB allocated; 743ms collecting garbage
Counts
3 327 → 17 047
Calls

882 calls:

TimeVariablePointExpression
64.0ms
x
@-inf
((* (+ (* -6450306886639899/50000000000000000 (* x x)) 238732414637843/250000000000000) x) (+ (* -6450306886639899/50000000000000000 (* x x)) 238732414637843/250000000000000) (* (* (- (* (pow x -2) 238732414637843/250000000000000) 6450306886639899/50000000000000000) x) x) (* (- (* (pow x -2) 238732414637843/250000000000000) 6450306886639899/50000000000000000) x) (/ 238732414637843/250000000000000 x) 238732414637843/250000000000000 x (* (+ (* -6450306886639899/50000000000000000 (* x x)) 238732414637843/250000000000000) x) (+ (* -6450306886639899/50000000000000000 (* x x)) 238732414637843/250000000000000) (* (* (- (* (pow x -2) 238732414637843/250000000000000) 6450306886639899/50000000000000000) x) x) (* (- (* (pow x -2) 238732414637843/250000000000000) 6450306886639899/50000000000000000) x) (- (* (pow x -2) 238732414637843/250000000000000) 6450306886639899/50000000000000000) -6450306886639899/50000000000000000 (/ (* (- (pow (* (* x x) -6450306886639899/50000000000000000) 2) 56993165798814994692847692649/62500000000000000000000000000) x) (+ (* (* -6450306886639899/50000000000000000 x) x) -238732414637843/250000000000000)) (* (- (pow (* (* x x) -6450306886639899/50000000000000000) 2) 56993165798814994692847692649/62500000000000000000000000000) x) (- (pow (* (* x x) -6450306886639899/50000000000000000) 2) 56993165798814994692847692649/62500000000000000000000000000) -56993165798814994692847692649/62500000000000000000000000000 (+ (* (* -6450306886639899/50000000000000000 x) x) -238732414637843/250000000000000) (* -6450306886639899/50000000000000000 x) -238732414637843/250000000000000)
53.0ms
y
@0
((- (pow x 4) (pow y 4)) (neg (pow y 4)) (pow y 4) y 4 (- (pow x 4) (pow y 4)) (pow x 4) x (* (+ (* x x) (* y y)) (- (* x x) (* y y))) (+ (* x x) (* y y)) (* y y) (- (* x x) (* y y)) (* x x))
51.0ms
eps
@-inf
((/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2) (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (+ 1 (/ 1 eps)) 1 (/ 1 eps) eps (exp (neg (* (- 1 eps) x))) (neg (* (- 1 eps) x)) (* (- 1 eps) x) (- 1 eps) x (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x)))) (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))) (neg (* (+ 1 eps) x)) (* (+ 1 eps) x) (+ 1 eps) 2)
50.0ms
b
@-inf
((/ (* (/ (PI) (* (* 2 (+ a b)) (- b a))) (- b a)) (* a b)) (* (/ (PI) (* (* 2 (+ a b)) (- b a))) (- b a)) (/ (PI) (* (* 2 (+ a b)) (- b a))) (PI) (* (* 2 (+ a b)) (- b a)) (* 2 (+ a b)) 2 (+ a b) a b (- b a) (* a b) (* (* (/ (PI) 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))) (* (/ (PI) (* a (* a b))) 1/2) (/ (PI) (* a (* a b))) (* a (* a b)) 1/2 (/ (* (- (* 1 b) (* a 1)) (* (PI) 1)) (* (* a b) (* 2 (* (+ b a) (- b a))))) (* (- (* 1 b) (* a 1)) (* (PI) 1)) (* (PI) b) (* (* a b) (* 2 (* (+ b a) (- b a)))) (* 2 (* (+ b a) (- b a))) (* (+ b a) (- b a)) (+ b a) (* (* (/ (/ (PI) 2) (+ b a)) (/ 1 (- b a))) (- (/ 1 a) (/ 1 b))) (* (/ (/ (PI) 2) (+ b a)) (/ 1 (- b a))) (* (/ (PI) (* a a)) -1/2) (/ (PI) (* a a)) (* a a) -1/2 (- (/ 1 a) (/ 1 b)) (/ 1 a) 1 (/ 1 b) (/ (* (- (* 1 b) (* a 1)) (* (PI) 1)) (* a (* b (* (* 2 (+ a b)) (- b a))))) (* (- (* 1 b) (* a 1)) (* (PI) 1)) (- (* 1 b) (* a 1)) (* 1 b) (* a 1) (* (PI) 1) (* a (* b (* (* 2 (+ a b)) (- b a)))) (* b (* (* 2 (+ a b)) (- b a))))
50.0ms
b
@inf
((* (+ a (+ b (+ c d))) 2) (* 2 (+ b (+ (+ d c) a))) 2 (+ b (+ (+ d c) a)) b (+ (+ d c) a) (* c (+ 1 (/ (+ a d) c))) c (+ 1 (/ (+ a d) c)) 1 (/ (+ a d) c) (+ a d) a d (* (- (/ (* a a) (- a (+ (+ d c) b))) (/ (pow (+ (+ d c) b) 2) (- a (+ (+ d c) b)))) 2) (- (/ (* a a) (- a (+ (+ d c) b))) (/ (pow (+ (+ d c) b) 2) (- a (+ (+ d c) b)))) (* (+ a (+ (+ c b) d)) 2) (+ a (+ (+ c b) d)) (+ (+ c b) d) (* (+ a (+ b (+ c d))) 2) (* (+ (* (/ (+ (+ c b) a) d) 2) 2) d) (+ (* (/ (+ (+ c b) a) d) 2) 2) (/ (+ (+ c b) a) d) (+ (+ c b) a) (+ c b) (* (+ a (+ b (+ c d))) 2) (* (+ (* (/ (+ (+ d c) b) a) 2) 2) a) (+ (* (/ (+ (+ d c) b) a) 2) 2) (/ (+ (+ d c) b) a) (+ (+ d c) b) (+ d c))

analyze3.9s (2.5%)

Memory
141.4MiB live, 4 308.7MiB allocated; 2.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)

bsearch3.2s (2%)

Memory
-5.1MiB live, 3 677.2MiB allocated; 557ms collecting garbage
Algorithm
182×binary-search
104×left-value
Stop Event
164×narrow-enough
17×predicate-same
predicate-failed
Samples
1.1s11 339×0valid
346.0ms991×1valid
295.0ms522×2valid
142.0ms1 381×0invalid
14.0ms94×0exit
11.0ms12×3valid
Compiler

Compiled 145 962 to 76 304 computations (47.7% saved)

Precisions
Click to see histograms. Total time spent on operations: 1.5s
ival-mult: 464.0ms (31.6% of total)
ival-pow: 215.0ms (14.7% of total)
ival-div: 214.0ms (14.6% of total)
ival-sub: 185.0ms (12.6% of total)
ival-add: 114.0ms (7.8% of total)
adjust: 95.0ms (6.5% of total)
ival-exp: 63.0ms (4.3% of total)
ival-neg: 42.0ms (2.9% of total)
ival-sqrt: 29.0ms (2% of total)
exact: 12.0ms (0.8% of total)
ival-pi: 10.0ms (0.7% of total)
ival-true: 10.0ms (0.7% of total)
ival-assert: 5.0ms (0.3% of total)
const: 4.0ms (0.3% of total)
ival-expm1: 4.0ms (0.3% of total)

simplify2.3s (1.5%)

Memory
-149.6MiB live, 1 968.3MiB allocated; 352ms collecting garbage
Stop Event
33×node limit
saturated

start3.0ms (0%)

Memory
5.4MiB live, 5.3MiB allocated; 0ms collecting garbage

end0.0ms (0%)

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

Profiling

Loading profile data...