Herbie run

Date:Tuesday, December 24th, 2024
Commit:531d180e on main
Seed:2024359
Parameters:256 points for 4 iterations
Flags:
localize:costslocalize:errorsreduce:regimesreduce:binary-searchreduce:branch-expressionssetup:simplifysetup:searchrules:arithmeticrules:polynomialsrules:fractionsrules:exponentsrules:trigonometryrules:hyperbolicrules:numericsrules:specialrules:boolsrules:branchesgenerate:rrgenerate:taylorgenerate:simplifygenerate:proofs
default
Memory:242 539.9 MB

Time bar (total: 4.4min)

sample2.1min (47.2%)

Memory
1 255.1MiB live, 118 481.2MiB allocated; 35.2s collecting garbage
Samples
29.3s43 549×2valid
24.5s145 938×0invalid
21.4s97 041×1valid
17.1s6 931×5exit
8.2s87 228×0valid
2.5s3 347×3valid
712.0ms4 148×0exit
5.0ms4valid
Precisions
Click to see histograms. Total time spent on operations: 1.4min
ival-pow: 16.0s (18.6% of total)
ival-tan: 12.5s (14.5% of total)
adjust: 8.9s (10.4% of total)
ival-mult: 6.1s (7.1% of total)
const: 5.0s (5.8% of total)
ival-div: 4.2s (4.9% of total)
ival-cos: 4.2s (4.9% of total)
ival-sub: 3.9s (4.6% of total)
ival-log: 3.6s (4.2% of total)
ival-add: 3.5s (4.1% of total)
ival-sin: 3.3s (3.8% of total)
ival-<=: 2.4s (2.8% of total)
ival-fabs: 2.1s (2.4% of total)
ival-exp: 2.0s (2.4% of total)
ival-expm1: 1.9s (2.2% of total)
ival-sqrt: 1.3s (1.5% of total)
ival-log1p: 1.1s (1.3% of total)
ival-<: 876.0ms (1% of total)
ival-and: 631.0ms (0.7% of total)
ival-fmin: 460.0ms (0.5% of total)
ival-atan: 371.0ms (0.4% of total)
exact: 362.0ms (0.4% of total)
ival-cbrt: 333.0ms (0.4% of total)
ival->: 267.0ms (0.3% of total)
ival-neg: 238.0ms (0.3% of total)
ival-assert: 163.0ms (0.2% of total)
ival-true: 71.0ms (0.1% of total)
Bogosity

simplify34.4s (13.1%)

Memory
631.4MiB live, 28 022.5MiB allocated; 9.7s collecting garbage
Algorithm
246×egg-herbie
Stop Event
328×iter limit
212×node limit
34×saturated
Counts
8 747 → 8 650

rewrite22.8s (8.7%)

Memory
162.3MiB live, 19 981.0MiB allocated; 5.8s collecting garbage
Stop Event
220×iter limit
109×node limit
Counts
1 595 → 50 299

derivations22.5s (8.6%)

Memory
300.7MiB live, 13 855.8MiB allocated; 3.1s collecting garbage
Stop Event
192×iter limit
132×node limit
22×fuel
done
Compiler

Compiled 6 992 to 1 879 computations (73.1% saved)

localize22.4s (8.5%)

Memory
20.9MiB live, 22 604.8MiB allocated; 3.8s collecting garbage
Samples
8.5s6 583×2valid
6.9s10 820×1valid
2.4s9 925×0valid
1.2s537×3valid
55.0ms39×5exit
Compiler

Compiled 22 250 to 3 236 computations (85.5% saved)

Precisions
Click to see histograms. Total time spent on operations: 15.4s
adjust: 3.1s (20.2% of total)
ival-mult: 2.4s (15.7% of total)
ival-tan: 2.0s (12.9% of total)
ival-div: 1.7s (11.1% of total)
ival-add: 1.1s (6.8% of total)
ival-sub: 866.0ms (5.6% of total)
ival-sin: 796.0ms (5.2% of total)
ival-pow: 709.0ms (4.6% of total)
const: 653.0ms (4.2% of total)
ival-cos: 438.0ms (2.8% of total)
ival-log: 415.0ms (2.7% of total)
ival-exp: 335.0ms (2.2% of total)
ival-sqrt: 203.0ms (1.3% of total)
ival-log1p: 192.0ms (1.2% of total)
ival-expm1: 101.0ms (0.7% of total)
ival-neg: 91.0ms (0.6% of total)
ival-pow2: 90.0ms (0.6% of total)
ival-cosh: 61.0ms (0.4% of total)
ival-cbrt: 55.0ms (0.4% of total)
exact: 46.0ms (0.3% of total)
ival-true: 23.0ms (0.1% of total)
ival-assert: 14.0ms (0.1% of total)
ival-atan2: 14.0ms (0.1% of total)
ival-pi: 11.0ms (0.1% of total)
ival-atan: 10.0ms (0.1% of total)
ival-hypot: 8.0ms (0.1% of total)
ival-fabs: 1.0ms (0% of total)
ival->: 1.0ms (0% of total)
ival-then: 0.0ms (0% of total)

eval11.3s (4.3%)

Memory
-158.0MiB live, 12 887.8MiB allocated; 4.1s collecting garbage
Compiler

Compiled 2 576 162 to 257 352 computations (90% saved)

explain6.0s (2.3%)

Memory
-112.4MiB live, 6 428.8MiB allocated; 1.1s collecting garbage
Explanations
Click to see full explanations table
OperatorSubexpressionExplanationCount
-.f64#fcancellation412331
log.f64#fsensitivity7661
/.f64#fu/u4290
sqrt.f64#foflow-rescue4160
+.f64#fcancellation3150
/.f64#fu/n1140
pow.f64(pow.f64 (+.f64 x #s(literal 1 binary64)) (/.f64 #s(literal 1 binary64) n))sensitivity710
sqrt.f64#fuflow-rescue320
/.f64(/.f64 (*.f64 eps (-.f64 (exp.f64 (*.f64 (+.f64 a b) eps)) #s(literal 1 binary64))) (*.f64 (-.f64 (exp.f64 (*.f64 a eps)) #s(literal 1 binary64)) (-.f64 (exp.f64 (*.f64 b eps)) #s(literal 1 binary64))))n/u240
(*.f64 b eps)underflow138
(-.f64 (exp.f64 (*.f64 a eps)) #s(literal 1 binary64))underflow139
(-.f64 (exp.f64 (*.f64 b eps)) #s(literal 1 binary64))underflow138
(*.f64 (-.f64 (exp.f64 (*.f64 a eps)) #s(literal 1 binary64)) (-.f64 (exp.f64 (*.f64 b eps)) #s(literal 1 binary64)))underflow231
(*.f64 a eps)underflow139
/.f64(/.f64 (-.f64 #s(literal 1 binary64) (cos.f64 x)) (*.f64 x x))n/o40
(*.f64 x x)overflow64
cos.f64(cos.f64 (+.f64 x eps))sensitivity31
sin.f64(sin.f64 (+.f64 x eps))sensitivity30
tan.f64(tan.f64 (+.f64 x eps))sensitivity30
/.f64(/.f64 (-.f64 (exp.f64 (*.f64 #s(literal 2 binary64) x)) #s(literal 1 binary64)) (-.f64 (exp.f64 x) #s(literal 1 binary64)))o/o20
(exp.f64 (*.f64 #s(literal 2 binary64) x))overflow2
(-.f64 (exp.f64 (*.f64 #s(literal 2 binary64) x)) #s(literal 1 binary64))overflow2
(exp.f64 x)overflow2
(-.f64 (exp.f64 x) #s(literal 1 binary64))overflow2
exp.f64(exp.f64 (*.f64 a x))sensitivity11
-.f64(-.f64 (*.f64 (+.f64 n #s(literal 1 binary64)) (log.f64 (+.f64 n #s(literal 1 binary64)))) (*.f64 n (log.f64 n)))nan-rescue10
(*.f64 (+.f64 n #s(literal 1 binary64)) (log.f64 (+.f64 n #s(literal 1 binary64))))overflow1
(*.f64 n (log.f64 n))overflow1
Confusion
Predicted +Predicted -
+516315
-1281862
Precision
0.9758079758079758
Recall
0.9971031286210892
Confusion?
Predicted +Predicted MaybePredicted -
+516396
-128231839
Precision?
0.9716325380424573
Recall?
0.9988412514484357
Freqs
test
numberfreq
01877
14485
2650
3102
454
Total Confusion?
Predicted +Predicted MaybePredicted -
+2800
-000
Precision?
1.0
Recall?
1.0
Samples
1.7s2 708×2valid
1.4s6 042×1valid
480.0ms5 394×0valid
189.0ms192×3valid
Compiler

Compiled 2 154 to 763 computations (64.6% saved)

Precisions
Click to see histograms. Total time spent on operations: 3.1s
ival-tan: 859.0ms (27.5% of total)
adjust: 511.0ms (16.3% of total)
ival-log: 235.0ms (7.5% of total)
ival-cos: 183.0ms (5.9% of total)
ival-sub: 172.0ms (5.5% of total)
ival-pow: 171.0ms (5.5% of total)
ival-div: 167.0ms (5.3% of total)
ival-exp: 153.0ms (4.9% of total)
ival-sin: 150.0ms (4.8% of total)
ival-mult: 125.0ms (4% of total)
ival-add: 93.0ms (3% of total)
ival-sqrt: 90.0ms (2.9% of total)
ival-log1p: 58.0ms (1.9% of total)
ival-expm1: 55.0ms (1.8% of total)
ival-cbrt: 35.0ms (1.1% of total)
ival-atan: 28.0ms (0.9% of total)
ival-neg: 13.0ms (0.4% of total)
ival-true: 12.0ms (0.4% of total)
exact: 9.0ms (0.3% of total)
ival-assert: 6.0ms (0.2% of total)

preprocess5.5s (2.1%)

Memory
-113.5MiB live, 4 831.7MiB allocated; 1.9s collecting garbage
Algorithm
28×egg-herbie
Stop Event
56×iter limit
33×saturated
23×node limit
Compiler

Compiled 16 628 to 5 311 computations (68.1% saved)

prune3.9s (1.5%)

Memory
-635.4MiB live, 5 112.3MiB allocated; 1.5s collecting garbage
Counts
61 629 → 1 840
Compiler

Compiled 107 692 to 55 636 computations (48.3% saved)

series3.8s (1.5%)

Memory
-0.5MiB live, 4 060.7MiB allocated; 905ms collecting garbage
Counts
1 595 → 8 747
Calls

507 calls:

TimeVariablePointExpression
90.0ms
a
@inf
((/ (* eps (- (exp (* (+ a b) eps)) 1)) (* (- (exp (* a eps)) 1) (- (exp (* b eps)) 1))) (/ (/ (+ b a) b) a) (/ (+ b a) b) (+ b a) (/ (* eps (- (exp (* (+ a b) eps)) 1)) (* (- (exp (* a eps)) 1) (- (exp (* b eps)) 1))) (/ 1 a) (/ (* eps (- (exp (* (+ a b) eps)) 1)) (* (- (exp (* a eps)) 1) (- (exp (* b eps)) 1))) (/ 1 b) (- (* (/ (pow (+ b a) 2) b) (/ 1/2 a)) (* (* (* (* b a) (+ b a)) 1/2) (/ (+ b a) (* (* (* b a) a) b)))) (* (* (* (* b a) (+ b a)) 1/2) (/ (+ b a) (* (* (* b a) a) b))) (/ (* eps (- (exp (* (+ a b) eps)) 1)) (* (- (exp (* a eps)) 1) (- (exp (* b eps)) 1))) (+ (* (- (* (/ (pow (+ b a) 2) b) (/ 1/2 a)) (* (* (* (* b a) (+ b a)) 1/2) (/ (+ b a) (* (* (* b a) a) b)))) eps) (+ (/ 1 b) (/ 1 a))) (/ (+ (* (* eps (+ -1/2 (/ (pow (exp a) eps) (- (exp (* eps a)) 1)))) b) 1) b) (/ (* eps (- (exp (* (+ a b) eps)) 1)) (* (- (exp (* a eps)) 1) (- (exp (* b eps)) 1))) (+ (* (* eps (+ -1/2 (/ (pow (exp a) eps) (- (exp (* eps a)) 1)))) b) 1) (* eps (+ -1/2 (/ (pow (exp a) eps) (- (exp (* eps a)) 1)))) (/ (pow (+ b a) 2) b) (/ (+ b a) (* (* (* b a) a) b)) (* (/ (pow (+ b a) 2) b) (/ 1/2 a)) (/ (pow (exp a) eps) (- (exp (* eps a)) 1)))
57.0ms
a
@inf
((- (/ (neg b_2) a) (/ (sqrt (- (* b_2 b_2) (* a c))) a)) (/ (neg b_2) a) (neg b_2) (/ (sqrt (- (* b_2 b_2) (* a c))) a) (/ (- (neg b_2) (sqrt (- (* b_2 b_2) (* a c)))) a) (+ (* (/ 1/2 b_2) c) (* (/ b_2 a) -2)) (* (/ 1/2 b_2) c) (/ 1/2 b_2) (/ (- (neg b_2) (pow (pow (+ (* c a) (* b_2 b_2)) 4) 1/8)) a) (- (neg b_2) (pow (pow (+ (* c a) (* b_2 b_2)) 4) 1/8)) (* (/ (* c a) b_2) 1/2) (/ (* c a) b_2) (/ (/ (- (* b_2 b_2) (- (* b_2 b_2) (* a c))) a) (+ (sqrt (- (* b_2 b_2) (* a c))) (neg b_2))) (/ (- (* b_2 b_2) (- (* b_2 b_2) (* a c))) a) (- (* b_2 b_2) (- (* b_2 b_2) (* a c))) (* b_2 b_2) (exp (log (sqrt (- (* b_2 b_2) (* a c))))) (* (+ (exp (log (sqrt (- (* b_2 b_2) (* a c))))) (neg b_2)) a) (/ (- (* b_2 b_2) (- (* b_2 b_2) (* a c))) (* (+ (exp (log (sqrt (- (* b_2 b_2) (* a c))))) (neg b_2)) a)) (sqrt (- (* b_2 b_2) (* a c))) (+ (* (neg c) a) (* b_2 b_2)) (- (* b_2 b_2) (* a c)) (sqrt (- (* b_2 b_2) (* a c))) (+ (sqrt (- (* b_2 b_2) (* a c))) (neg b_2)))
56.0ms
x
@-inf
((- (sqrt (+ x 1)) (sqrt x)) (/ (+ (* (pow x -3/2) 1/16) (+ (* (sqrt x) 1/2) (/ -1/8 (sqrt x)))) x) (+ (* (pow x -3/2) 1/16) (+ (* (sqrt x) 1/2) (/ -1/8 (sqrt x)))) (pow x -3/2) (- (sqrt (+ x 1)) (neg (sqrt x))) (+ (sqrt x) 1) (sqrt x) (- (sqrt (+ x 1)) (sqrt x)) (/ (/ (+ (* (sqrt x) 1/2) (+ (* 1/16 (pow x -3/2)) (/ 1/8 (sqrt x)))) (sqrt x)) (sqrt x)) (/ (+ (* (sqrt x) 1/2) (+ (* 1/16 (pow x -3/2)) (/ 1/8 (sqrt x)))) (sqrt x)) (- (sqrt (+ x 1)) (sqrt x)) (/ (+ (* (sqrt x) 1/2) (/ -1/8 (sqrt x))) x) (+ (* (sqrt x) 1/2) (/ -1/8 (sqrt x))) (/ (* (/ -1/8 (sqrt x)) x) (* x x)) (/ (* x (* (sqrt x) 1/2)) (* x x)) (+ (/ (* (/ -1/8 (sqrt x)) x) (* x x)) (/ (* x (* (sqrt x) 1/2)) (* x x))) (- (sqrt (+ x 1)) (sqrt x)) (/ -1/8 (sqrt x)) (* (/ -1/8 (sqrt x)) x))
55.0ms
b_2
@inf
((- (/ (neg b_2) a) (/ (sqrt (- (* b_2 b_2) (* a c))) a)) (/ (neg b_2) a) (neg b_2) (/ (sqrt (- (* b_2 b_2) (* a c))) a) (/ (- (neg b_2) (sqrt (- (* b_2 b_2) (* a c)))) a) (+ (* (/ 1/2 b_2) c) (* (/ b_2 a) -2)) (* (/ 1/2 b_2) c) (/ 1/2 b_2) (/ (- (neg b_2) (pow (pow (+ (* c a) (* b_2 b_2)) 4) 1/8)) a) (- (neg b_2) (pow (pow (+ (* c a) (* b_2 b_2)) 4) 1/8)) (* (/ (* c a) b_2) 1/2) (/ (* c a) b_2) (/ (/ (- (* b_2 b_2) (- (* b_2 b_2) (* a c))) a) (+ (sqrt (- (* b_2 b_2) (* a c))) (neg b_2))) (/ (- (* b_2 b_2) (- (* b_2 b_2) (* a c))) a) (- (* b_2 b_2) (- (* b_2 b_2) (* a c))) (* b_2 b_2) (exp (log (sqrt (- (* b_2 b_2) (* a c))))) (* (+ (exp (log (sqrt (- (* b_2 b_2) (* a c))))) (neg b_2)) a) (/ (- (* b_2 b_2) (- (* b_2 b_2) (* a c))) (* (+ (exp (log (sqrt (- (* b_2 b_2) (* a c))))) (neg b_2)) a)) (sqrt (- (* b_2 b_2) (* a c))) (+ (* (neg c) a) (* b_2 b_2)) (- (* b_2 b_2) (* a c)) (sqrt (- (* b_2 b_2) (* a c))) (+ (sqrt (- (* b_2 b_2) (* a c))) (neg b_2)))
53.0ms
a
@0
((/ (- (neg b_2) (sqrt (- (* b_2 b_2) (* a c)))) a) (- (neg b_2) (sqrt (- (* b_2 b_2) (* a c)))) (neg b_2) (sqrt (- (* b_2 b_2) (* a c))) (/ (- (neg b_2) (sqrt (- (* b_2 b_2) (* a c)))) a) (* -1/2 (/ c b_2)) (/ c b_2) (/ (- (neg b_2) (sqrt (- (* b_2 b_2) (* a c)))) a) (- (neg b_2) (sqrt (- (* b_2 b_2) (* a c)))) (sqrt (- (* b_2 b_2) (* a c))) (/ (- (neg b_2) (sqrt (- (* b_2 b_2) (* a c)))) a) (+ (* (/ 1/2 b_2) c) (* (/ b_2 a) -2)) (/ 1/2 b_2) (* (/ b_2 a) -2) (/ (- (neg b_2) (pow (pow (+ (* c a) (* b_2 b_2)) 4) 1/8)) a) (- (neg b_2) (pow (pow (+ (* c a) (* b_2 b_2)) 4) 1/8)) (pow (pow (+ (* c a) (* b_2 b_2)) 4) 1/8) (- (* b_2 b_2) (* a c)) (- (* b_2 b_2) (* a c)) (pow (+ (* c a) (* b_2 b_2)) 4))

regimes3.2s (1.2%)

Memory
-32.4MiB live, 3 243.5MiB allocated; 374ms collecting garbage
Counts
3 585 → 275
Calls

43 calls:

1000.0ms
x
478.0ms
eps
114.0ms
(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
100.0ms
N
92.0ms
b_2
Compiler

Compiled 2 277 to 2 082 computations (8.6% saved)

analyze2.3s (0.9%)

Memory
106.9MiB live, 2 313.5MiB allocated; 1.3s collecting garbage
Algorithm
28×search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%61.1%38.9%0%0%0%0
7.4%4.5%56.6%38.9%0%0%0%1
22.3%13.6%47.5%38.9%0%0%0%2
40.2%23.5%34.9%38.9%0%2.7%0%3
53.4%31.1%27.2%38.9%0%2.8%0%4
63%36.3%21.3%38.9%0%3.6%0%5
65.9%37.5%19.4%38.9%0%4.2%0%6
70.4%38.8%16.3%38.9%0%6%0%7
73.6%40.2%14.4%38.9%0%6.5%0%8
76.3%40.9%12.7%38.9%0%7.5%0%9
78.4%41.4%11.4%38.9%0%8.3%0%10
81.1%42.4%9.9%38.9%0%8.8%0%11
82.3%42.7%9.2%38.9%0%9.3%0%12
Compiler

Compiled 483 to 337 computations (30.2% saved)

bsearch868.0ms (0.3%)

Memory
85.3MiB live, 713.7MiB allocated; 82ms collecting garbage
Algorithm
49×binary-search
19×left-value
Stop Event
44×narrow-enough
predicate-same
Samples
364.0ms3 733×0valid
80.0ms389×1valid
68.0ms214×2valid
58.0ms774×0invalid
1.0ms0exit
Compiler

Compiled 16 790 to 13 015 computations (22.5% saved)

Precisions
Click to see histograms. Total time spent on operations: 361.0ms
ival-mult: 83.0ms (23% of total)
ival-pow: 56.0ms (15.5% of total)
ival-sqrt: 52.0ms (14.4% of total)
ival-div: 42.0ms (11.6% of total)
adjust: 39.0ms (10.8% of total)
ival-sub: 33.0ms (9.2% of total)
ival-neg: 17.0ms (4.7% of total)
ival-add: 15.0ms (4.2% of total)
ival-cos: 10.0ms (2.8% of total)
ival-true: 4.0ms (1.1% of total)
ival-exp: 3.0ms (0.8% of total)
ival-expm1: 3.0ms (0.8% of total)
exact: 3.0ms (0.8% of total)
ival-assert: 2.0ms (0.6% of total)

start1.0ms (0%)

Memory
2.2MiB live, 2.1MiB allocated; 0ms collecting garbage

end0.0ms (0%)

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

Profiling

Loading profile data...