Herbie run

Date:Thursday, September 5th, 2024
Commit:9205cc88 on zane-concrete-values
Hostname:nightly with Racket 8.11.1
Seed:2024249
Parameters:256 points for 4 iterations
Flags:
localize:costslocalize:errorsreduce:regimesreduce:avg-errorreduce:binary-searchreduce:branch-expressionssetup:simplifysetup:searchrules:arithmeticrules:polynomialsrules:fractionsrules:exponentsrules:trigonometryrules:hyperbolicrules:numericsrules:specialrules:boolsrules:branchesgenerate:rrgenerate:taylorgenerate:simplifygenerate:proofs
default

Time bar (total: 4.6min)

sample2.0min (42.6%)

Memory
99.2MiB live, 115 334.6MiB allocated
Samples
29.9s41 631×2valid
24.8s147 512×0invalid
20.4s92 123×1valid
9.7s4 781×5exit
9.3s94 420×0valid
1.9s2 992×3valid
610.0ms4 125×0exit
492.0ms2 242×1exit
8.0ms2exit
7.0ms4exit
7.0ms3exit
2.0ms4valid
Precisions
Click to see histograms. Total time spent on operations: 1.3min
ival-tan: 13.7s (17% of total)
ival-pow: 9.9s (12.3% of total)
ival-mult: 6.3s (7.8% of total)
adjust: 5.8s (7.3% of total)
const: 5.5s (6.8% of total)
ival-cos: 4.4s (5.5% of total)
ival-sub: 4.3s (5.4% of total)
ival-div: 4.2s (5.2% of total)
ival-add: 3.5s (4.4% of total)
ival-sin: 3.5s (4.3% of total)
ival-log: 3.3s (4.1% of total)
ival-expm1: 2.7s (3.3% of total)
ival-<=: 2.4s (2.9% of total)
ival-fabs: 2.3s (2.8% of total)
ival-exp: 2.1s (2.6% of total)
ival-<: 1.2s (1.5% of total)
ival-sqrt: 1.2s (1.5% of total)
ival-log1p: 1.2s (1.4% of total)
ival-and: 601.0ms (0.7% of total)
ival-fmin: 487.0ms (0.6% of total)
ival->: 443.0ms (0.6% of total)
ival-atan: 375.0ms (0.5% of total)
exact: 342.0ms (0.4% of total)
ival-cbrt: 314.0ms (0.4% of total)
ival-neg: 306.0ms (0.4% of total)
ival-assert: 154.0ms (0.2% of total)
ival-true: 69.0ms (0.1% of total)
Bogosity

simplify36.7s (13.3%)

Memory
639.6MiB live, 31 943.8MiB allocated
Algorithm
246×egg-herbie
Rules
2 141 648×lower-fma.f32
2 141 086×lower-fma.f64
754 686×lower-*.f32
753 896×lower-*.f64
476 568×lower-+.f32
Stop Event
324×iter limit
167×node limit
82×saturated
Counts
29 520 → 29 066

soundness28.3s (10.3%)

Memory
164.8MiB live, 17 277.2MiB allocated
Rules
1 164 474×lower-fma.f32
1 164 188×lower-fma.f64
608 344×lower-*.f32
607 942×lower-*.f64
332 650×lower-/.f32
Stop Event
210×iter limit
135×node limit
22×fuel
done
saturated
Compiler

Compiled 9 010 to 5 350 computations (40.6% saved)

rewrite22.6s (8.2%)

Memory
109.7MiB live, 23 440.2MiB allocated
Rules
490 150×lower-fma.f32
489 594×lower-fma.f64
434 262×lower-*.f32
433 482×lower-*.f64
400 124×lower-/.f32
Stop Event
222×iter limit
108×node limit
saturated
Counts
1 649 → 65 863

localize22.3s (8.1%)

Memory
173.5MiB live, 23 318.7MiB allocated
Samples
7.2s5 043×2valid
6.7s10 265×1valid
3.1s10 599×0valid
810.0ms320×3valid
457.0ms1 481×0invalid
135.0ms48×5exit
48.0ms148×0exit
Compiler

Compiled 21 533 to 3 220 computations (85% saved)

Precisions
Click to see histograms. Total time spent on operations: 14.9s
ival-mult: 2.3s (15.4% of total)
ival-tan: 2.1s (14.4% of total)
adjust: 1.8s (12.4% of total)
ival-div: 1.8s (12.2% of total)
ival-add: 1.1s (7.5% of total)
ival-sin: 896.0ms (6% of total)
const: 678.0ms (4.6% of total)
ival-sub: 654.0ms (4.4% of total)
ival-cos: 592.0ms (4% of total)
ival-pow: 550.0ms (3.7% of total)
ival-log: 434.0ms (2.9% of total)
ival-sqrt: 392.0ms (2.6% of total)
ival-exp: 364.0ms (2.4% of total)
ival-log1p: 270.0ms (1.8% of total)
ival-neg: 224.0ms (1.5% of total)
ival-pow2: 165.0ms (1.1% of total)
ival-expm1: 118.0ms (0.8% of total)
ival-cosh: 106.0ms (0.7% of total)
ival-cbrt: 64.0ms (0.4% of total)
exact: 45.0ms (0.3% of total)
ival-atan: 43.0ms (0.3% of total)
ival-true: 23.0ms (0.2% of total)
ival-atan2: 18.0ms (0.1% of total)
ival-assert: 12.0ms (0.1% of total)
ival-hypot: 10.0ms (0.1% of total)
ival-fabs: 1.0ms (0% of total)

eval20.3s (7.3%)

Memory
308.5MiB live, 25 227.2MiB allocated
Compiler

Compiled 2 837 158 to 295 246 computations (89.6% saved)

prune6.7s (2.4%)

Memory
-426.2MiB live, 9 708.5MiB allocated
Counts
111 007 → 1 900
Compiler

Compiled 60 723 to 35 553 computations (41.5% saved)

explain5.9s (2.1%)

Memory
64.5MiB live, 6 873.0MiB allocated
Explanations
Click to see full explanations table
OperatorSubexpressionExplanationCount
-.f64#fcancellation416231
log.f64#fsensitivity7611
/.f64#fu/u4360
sqrt.f64#foflow-rescue4000
+.f64#fcancellation3331
/.f64#fu/n1340
pow.f64(pow.f64 (+.f64 x #s(literal 1 binary64)) (/.f64 #s(literal 1 binary64) n))sensitivity680
sqrt.f64#fuflow-rescue340
/.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/u170
(*.f64 b eps)underflow152
(-.f64 (exp.f64 (*.f64 a eps)) #s(literal 1 binary64))underflow134
(-.f64 (exp.f64 (*.f64 b eps)) #s(literal 1 binary64))underflow152
(*.f64 (-.f64 (exp.f64 (*.f64 a eps)) #s(literal 1 binary64)) (-.f64 (exp.f64 (*.f64 b eps)) #s(literal 1 binary64)))underflow230
(*.f64 a eps)underflow134
-.f64#fnan-rescue150
/.f64(/.f64 (-.f64 #s(literal 1 binary64) (cos.f64 x)) (*.f64 x x))n/o40
(*.f64 x x)overflow67
/.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
cos.f64(cos.f64 (+.f64 x eps))sensitivity10
exp.f64(exp.f64 (neg.f64 x))sensitivity10
sin.f64(sin.f64 (+.f64 x eps))sensitivity10
tan.f64(tan.f64 (+.f64 x eps))sensitivity10
Confusion
Predicted +Predicted -
+521219
-1451792
Precision
0.9729326115363076
Recall
0.996367807302619
Confusion?
Predicted +Predicted MaybePredicted -
+5212154
-145171775
Precision?
0.9699387641491928
Recall?
0.9992353278531829
Freqs
test
numberfreq
01811
14550
2652
3104
451
Total Confusion?
Predicted +Predicted MaybePredicted -
+2800
-000
Precision?
1.0
Recall?
1.0
Samples
1.8s2 598×2valid
1.1s5 818×1valid
454.0ms5 718×0valid
128.0ms202×3valid
Compiler

Compiled 2 154 to 763 computations (64.6% saved)

Precisions
Click to see histograms. Total time spent on operations: 2.7s
ival-tan: 629.0ms (23.2% of total)
ival-exp: 282.0ms (10.4% of total)
ival-cos: 256.0ms (9.5% of total)
adjust: 240.0ms (8.9% of total)
ival-log: 220.0ms (8.1% of total)
ival-div: 183.0ms (6.8% of total)
ival-sin: 161.0ms (5.9% of total)
ival-sub: 136.0ms (5% of total)
ival-mult: 127.0ms (4.7% of total)
ival-add: 108.0ms (4% of total)
ival-pow: 90.0ms (3.3% of total)
ival-expm1: 66.0ms (2.4% of total)
ival-sqrt: 63.0ms (2.3% of total)
ival-log1p: 57.0ms (2.1% of total)
ival-cbrt: 27.0ms (1% of total)
ival-atan: 19.0ms (0.7% of total)
ival-neg: 15.0ms (0.6% of total)
ival-true: 12.0ms (0.4% of total)
exact: 8.0ms (0.3% of total)
ival-assert: 6.0ms (0.2% of total)

preprocess4.6s (1.7%)

Memory
-178.8MiB live, 4 559.8MiB allocated
Algorithm
28×egg-herbie
Rules
27 478×lower-fma.f64
27 478×lower-fma.f32
10 768×div-sub
10 444×sub-neg
9 190×lower-*.f32
Stop Event
56×iter limit
50×saturated
node limit
Compiler

Compiled 9 522 to 3 947 computations (58.5% saved)

series4.5s (1.6%)

Memory
-15.7MiB live, 5 774.6MiB allocated
Counts
1 649 → 29 520
Calls

504 calls:

TimeVariablePointExpression
76.0ms
x
@0
((* (/ 1 (* (cbrt x) 3)) (pow (cbrt x) -1)) (/ 1 (* (cbrt x) 3)) (- (cbrt (+ x 1)) (cbrt x)) (* (cbrt x) 3) (- (cbrt (+ x 1)) (cbrt x)) (* (pow x -2/3) 1/3) (pow x -2/3) (pow (/ 1 (cbrt x)) 2) (- (cbrt (+ x 1)) (cbrt x)) (* (pow (/ 1 (cbrt x)) 2) 1/3) (cbrt x) (- (cbrt (+ x 1)) (cbrt x)) (* (pow (exp 1/3) (* (log x) -2)) 1/3) (pow (exp 1/3) (* (log x) -2)) (exp 1/3) (+ (* (cbrt (+ (* x x) -1)) (cbrt (pow (- x 1) -1))) (neg (cbrt x))) (cbrt (+ (* x x) -1)) (+ (* x x) -1) (cbrt (pow (- x 1) -1)))
60.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) (+ (* (/ (* (+ (* (* b a) b) (* (* b a) a)) -1/2) (* b b)) (/ (/ (+ b a) a) a)) (* (/ 1/2 b) (/ (pow (+ b a) 2) a))) (/ (* (+ (* (* b a) b) (* (* b a) a)) -1/2) (* b b)) (+ (* (* b a) b) (* (* b a) a)) (/ (* eps (- (exp (* (+ a b) eps)) 1)) (* (- (exp (* a eps)) 1) (- (exp (* b eps)) 1))) (* (- (exp (* eps (+ b a))) 1) eps) (- (exp (* eps (+ b a))) 1) (* eps (+ b a)) (/ (pow (+ b a) 2) a) (* (/ 1/2 b) (/ (pow (+ b a) 2) a)) (/ (* (- (exp (* eps (+ b a))) 1) eps) (* (- (exp (* eps b)) 1) (- (exp (* eps a)) 1))) (* (- (exp (* eps b)) 1) (- (exp (* eps a)) 1)))
52.0ms
eps
@0
((- (cos (+ x eps)) (cos x)) (* (+ (* (* -1/2 eps) (cos x)) (neg (sin x))) eps) (+ (* (* -1/2 eps) (cos x)) (neg (sin x))) (* -1/2 eps) (- (cos (+ x eps)) (cos x)) (* (+ (* (sin x) (+ (* (* eps eps) 1/6) -1)) (* (* (cos x) -1/2) eps)) eps) (+ (* (sin x) (+ (* (* eps eps) 1/6) -1)) (* (* (cos x) -1/2) eps)) (+ (* (+ (* (* eps eps) 1/6) -1) x) (* -1/2 eps)) (- (cos (+ x eps)) (cos x)) (* (+ (* (sin x) (+ (* (* eps eps) 1/6) -1)) (* (* (cos x) -1/2) eps)) eps) (+ (* (+ (* (* eps (+ (* 1/4 eps) (* (* (+ (* (* eps eps) 1/6) -1) x) -1/6))) x) (+ (* (pow eps 3) 1/6) (neg eps))) x) (* (* eps eps) -1/2)) (* (* (+ (* (* x x) 1/6) -1) x) eps) (+ (* (* eps (+ (* (* x x) -1/120) 1/6)) (* x x)) (neg eps)) (- (cos (+ x eps)) (cos x)) (* (neg eps) (sin x)) (* eps (+ (* (* x x) -1/120) 1/6)) (/ x (/ -1 (+ (* (* eps eps) 1/6) -1))) (+ (* -1 (/ x (/ -1 (+ (* (* eps eps) 1/6) -1)))) (* -1/2 eps)) (- (cos (+ x eps)) (cos x)) (* (+ (* (sin x) (+ (* (* eps eps) 1/6) -1)) (* (* (cos x) -1/2) eps)) eps) (cos x) (+ (* (* x x) 1/6) -1) (* (+ (* (* eps (+ (* (* x x) -1/120) 1/6)) (* x x)) (neg eps)) x) (+ (* (sin x) (+ (* (* eps eps) 1/6) -1)) (* (* (cos x) -1/2) eps)))
52.0ms
n
@0
((- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n))) (/ (- (log (+ 1 x)) (log x)) n) (- (log (+ 1 x)) (log x)) (log (+ 1 x)) (- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n))) (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n)) (/ 1 n) (- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n))) (pow (+ x 1) (/ 1 n)) (+ (/ x n) 1) (/ x n) (+ (* (- (/ 1/2 (* n n)) (/ 1/2 n)) x) (/ 1 n)) (+ (* (+ (* (- (/ 1/2 (* n n)) (/ 1/2 n)) x) (/ 1 n)) x) 1) (- (/ 1/2 (* n n)) (/ 1/2 n)) (- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n))) (+ (* (/ (pow x (/ 1 n)) x) (- (/ 1/2 (* n n)) (/ 1/2 n))) (/ (pow x (/ 1 n)) n)) (- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n))) (/ (+ (* (/ (pow x (/ 1 n)) x) (- (/ 1/2 (* n n)) (/ 1/2 n))) (/ (pow x (/ 1 n)) n)) x) (log x) (pow (+ x 1) (/ 1 n)) (/ 1/2 (* n n)))
50.0ms
x
@-inf
((* (/ 1/3 (cbrt x)) (pow (cbrt x) -1)) (- (cbrt (+ x 1)) (cbrt x)) (/ 1/3 (cbrt x)) (cbrt x) (pow x 1/3) (- (cbrt (+ x 1)) (pow x 1/3)) (cbrt (+ x 1)) (* (* -2 (log x)) 1/3) (exp (* (* -2 (log x)) 1/3)) (- (cbrt (+ x 1)) (cbrt x)) (* (exp (* (* -2 (log x)) 1/3)) 1/3) (pow (pow (cbrt x) -1) 2) (- (cbrt (+ x 1)) (cbrt x)) (* (pow (pow (cbrt x) -1) 2) 1/3) (pow (cbrt x) -1) (+ (* (cbrt (+ (pow x 3) 1)) (/ 1 (cbrt (+ (* x (- x 1)) 1)))) (neg (cbrt x))) (cbrt (+ (pow x 3) 1)) (+ (pow x 3) 1) (pow x 3) (cbrt (+ (* x (- x 1)) 1)))

regimes3.6s (1.3%)

Memory
-75.1MiB live, 4 521.1MiB allocated
Counts
3 452 → 314
Calls

43 calls:

816.0ms
x
385.0ms
eps
172.0ms
b
152.0ms
(/.f64 #s(literal 1 binary64) n)
120.0ms
a
Compiler

Compiled 2 020 to 1 880 computations (6.9% saved)

analyze1.8s (0.7%)

Memory
152.9MiB live, 2 225.6MiB allocated
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)

bsearch1.0s (0.4%)

Memory
-24.1MiB live, 986.0MiB allocated
Algorithm
61×binary-search
50×left-value
Stop Event
58×narrow-enough
predicate-same
Samples
351.0ms3 677×0valid
118.0ms568×1valid
61.0ms214×2valid
60.0ms746×0invalid
1.0ms13×0exit
1.0ms3valid
Compiler

Compiled 8 773 to 9 304 computations (-6.1% saved)

Precisions
Click to see histograms. Total time spent on operations: 434.0ms
ival-mult: 132.0ms (30.4% of total)
ival-div: 63.0ms (14.5% of total)
ival-sub: 57.0ms (13.1% of total)
ival-sqrt: 40.0ms (9.2% of total)
ival-pow: 36.0ms (8.3% of total)
ival-add: 26.0ms (6% of total)
ival-cos: 21.0ms (4.8% of total)
adjust: 18.0ms (4.2% of total)
ival-neg: 16.0ms (3.7% of total)
ival-cbrt: 6.0ms (1.4% of total)
ival-expm1: 5.0ms (1.2% of total)
ival-sin: 5.0ms (1.2% of total)
ival-true: 4.0ms (0.9% of total)
exact: 3.0ms (0.7% of total)
ival-assert: 2.0ms (0.5% of total)

start1.0ms (0%)

Memory
1.7MiB live, 1.7MiB allocated

end0.0ms (0%)

Memory
0.4MiB live, 0.3MiB allocated

Profiling

Loading profile data...