Herbie run

Date:Thursday, August 29th, 2024
Commit:1756e4cd on tiny-egraph-speedups
Hostname:nightly with Racket 8.11.1
Seed:2024242
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.7min)

sample1.9min (40.6%)

Memory
299.3MiB live, 115 750.2MiB allocated
Samples
28.6s41 559×2valid
25.3s144 802×0invalid
18.7s92 033×1valid
9.8s4 809×5exit
9.5s94 630×0valid
2.2s2 941×3valid
443.0ms2 352×1exit
336.0ms4 167×0exit
59.0ms11×4exit
29.0ms2exit
8.0ms3exit
5.0ms4valid
Precisions
Click to see histograms. Total time spent on operations: 1.3min
ival-tan: 13.4s (17.3% of total)
ival-pow: 10.0s (12.9% of total)
ival-mult: 6.2s (7.9% of total)
const: 5.2s (6.8% of total)
adjust: 5.1s (6.6% of total)
ival-cos: 4.7s (6% of total)
ival-div: 3.9s (5% of total)
ival-sin: 3.5s (4.6% of total)
ival-sub: 3.4s (4.4% of total)
ival-log: 3.3s (4.3% of total)
ival-add: 3.2s (4.1% of total)
ival-expm1: 2.7s (3.5% of total)
ival-<=: 2.2s (2.8% of total)
ival-fabs: 2.1s (2.8% of total)
ival-exp: 2.1s (2.7% of total)
ival-log1p: 1.1s (1.4% of total)
ival-sqrt: 1.0s (1.3% of total)
ival-<: 942.0ms (1.2% of total)
ival-atan: 651.0ms (0.8% of total)
ival-and: 599.0ms (0.8% of total)
ival-fmin: 498.0ms (0.6% of total)
ival-neg: 397.0ms (0.5% of total)
exact: 335.0ms (0.4% of total)
ival->: 324.0ms (0.4% of total)
ival-cbrt: 267.0ms (0.3% of total)
ival-assert: 183.0ms (0.2% of total)
ival-true: 69.0ms (0.1% of total)
Bogosity

simplify35.6s (12.6%)

Memory
762.8MiB live, 31 595.4MiB allocated
Algorithm
242×egg-herbie
Stop Event
318×iter limit
164×node limit
81×saturated
Counts
28 980 → 28 569

soundness29.9s (10.6%)

Memory
-19.8MiB live, 17 164.2MiB allocated
Stop Event
203×iter limit
137×node limit
22×fuel
done
saturated
Compiler

Compiled 8 552 to 5 220 computations (39% saved)

rewrite23.1s (8.2%)

Memory
-58.6MiB live, 22 672.1MiB allocated
Stop Event
215×iter limit
106×node limit
saturated
Counts
1 650 → 61 359

localize22.1s (7.9%)

Memory
-22.6MiB live, 23 388.3MiB allocated
Samples
7.8s5 598×2valid
5.8s9 785×1valid
3.2s10 625×0valid
905.0ms392×3valid
388.0ms915×0invalid
40.0ms66×0exit
17.0ms5exit
5.0ms4valid
Compiler

Compiled 22 375 to 3 290 computations (85.3% saved)

Precisions
Click to see histograms. Total time spent on operations: 14.5s
ival-mult: 2.4s (16.3% of total)
ival-tan: 2.0s (13.5% of total)
adjust: 1.8s (12.3% of total)
ival-div: 1.7s (11.8% of total)
ival-add: 1.2s (8.1% of total)
ival-pow: 858.0ms (5.9% of total)
ival-sub: 741.0ms (5.1% of total)
ival-cos: 641.0ms (4.4% of total)
const: 620.0ms (4.3% of total)
ival-sin: 513.0ms (3.5% of total)
ival-log: 400.0ms (2.8% of total)
ival-exp: 371.0ms (2.6% of total)
ival-log1p: 268.0ms (1.9% of total)
ival-neg: 258.0ms (1.8% of total)
ival-pow2: 220.0ms (1.5% of total)
ival-sqrt: 182.0ms (1.3% of total)
ival-expm1: 147.0ms (1% of total)
ival-cosh: 77.0ms (0.5% of total)
ival-cbrt: 55.0ms (0.4% of total)
exact: 44.0ms (0.3% of total)
ival-atan2: 24.0ms (0.2% of total)
ival-hypot: 23.0ms (0.2% of total)
ival-true: 23.0ms (0.2% of total)
ival-atan: 21.0ms (0.1% of total)
ival-assert: 11.0ms (0.1% of total)
ival-fabs: 1.0ms (0% of total)

eval18.2s (6.5%)

Memory
477.4MiB live, 23 791.7MiB allocated
Compiler

Compiled 2 691 730 to 293 031 computations (89.1% saved)

prune16.9s (6%)

Memory
-373.1MiB live, 22 978.2MiB allocated
Counts
103 249 → 1 729
Compiler

Compiled 57 093 to 32 215 computations (43.6% saved)

explain6.1s (2.2%)

Memory
-124.8MiB live, 6 882.5MiB allocated
Explanations
Click to see full explanations table
OperatorSubexpressionExplanationCount
-.f64#fcancellation414225
log.f64#fsensitivity7603
/.f64#fu/u4430
sqrt.f64#foflow-rescue4260
+.f64#fcancellation3641
/.f64#fu/n1010
pow.f64(pow.f64 (+.f64 x #s(literal 1 binary64)) (/.f64 #s(literal 1 binary64) n))sensitivity670
-.f64#fnan-rescue290
/.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)underflow144
(-.f64 (exp.f64 (*.f64 a eps)) #s(literal 1 binary64))underflow142
(-.f64 (exp.f64 (*.f64 b eps)) #s(literal 1 binary64))underflow144
(*.f64 (-.f64 (exp.f64 (*.f64 a eps)) #s(literal 1 binary64)) (-.f64 (exp.f64 (*.f64 b eps)) #s(literal 1 binary64)))underflow232
(*.f64 a eps)underflow142
sqrt.f64#fuflow-rescue160
/.f64(/.f64 (-.f64 #s(literal 1 binary64) (cos.f64 x)) (*.f64 x x))n/o40
(*.f64 x x)overflow59
exp.f64(exp.f64 (neg.f64 x))sensitivity20
/.f64(/.f64 (-.f64 (neg.f64 b_2) (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c)))) a)o/n10
(-.f64 (neg.f64 b_2) (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c))))overflow1
(*.f64 b_2 b_2)overflow90
(*.f64 a c)overflow28
(-.f64 (*.f64 b_2 b_2) (*.f64 a c))overflow105
Confusion
Predicted +Predicted -
+519811
-1591800
Precision
0.970319208512227
Recall
0.9978882703014014
Confusion?
Predicted +Predicted MaybePredicted -
+519883
-159191781
Precision?
0.9669390787518574
Recall?
0.999424073718564
Freqs
test
numberfreq
01811
14551
2641
3114
451
Total Confusion?
Predicted +Predicted MaybePredicted -
+2800
-000
Precision?
1.0
Recall?
1.0
Samples
1.9s2 622×2valid
1.1s5 722×1valid
491.0ms5 808×0valid
110.0ms182×3valid
2.0ms4valid
Compiler

Compiled 2 154 to 763 computations (64.6% saved)

Precisions
Click to see histograms. Total time spent on operations: 3.0s
ival-tan: 1.1s (36.7% of total)
adjust: 235.0ms (7.9% of total)
ival-div: 206.0ms (7% of total)
ival-cos: 204.0ms (6.9% of total)
ival-log: 180.0ms (6.1% of total)
ival-sub: 147.0ms (5% of total)
ival-sin: 139.0ms (4.7% of total)
ival-exp: 131.0ms (4.4% of total)
ival-sqrt: 130.0ms (4.4% of total)
ival-add: 105.0ms (3.5% of total)
ival-pow: 95.0ms (3.2% of total)
ival-mult: 94.0ms (3.2% of total)
ival-log1p: 59.0ms (2% of total)
ival-atan: 56.0ms (1.9% of total)
ival-expm1: 25.0ms (0.8% of total)
ival-neg: 22.0ms (0.7% of total)
ival-cbrt: 18.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)

series4.7s (1.7%)

Memory
-36.0MiB live, 6 051.2MiB allocated
Counts
1 650 → 28 980
Calls

492 calls:

TimeVariablePointExpression
97.0ms
eps
@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)) 1)) (- (exp (* eps a)) 1)) (/ (* (- (exp (* eps (+ b a))) 1) eps) (- (exp (* eps b)) 1)) (* (- (exp (* eps (+ b a))) 1) eps) (- (exp (* eps (+ b a))) 1) (/ (pow (+ b a) 2) a) (* (/ 1/2 b) (/ (pow (+ b a) 2) a)) (* eps (+ b a)))
59.0ms
x
@0
((- (cbrt (+ x 1)) (cbrt x)) (* (cbrt (/ (/ 1 x) x)) 1/3) (cbrt (/ (/ 1 x) x)) (/ (/ 1 x) x) (- (cbrt (+ x 1)) (cbrt x)) (cbrt (+ x 1)) (cbrt x) (pow (pow x 1/6) 2) (- (cbrt (+ x 1)) (pow (pow x 1/6) 2)) (cbrt (+ x 1)) (+ x 1) (- (pow (exp 1/3) (log (+ 1 x))) (cbrt x)) (pow (exp 1/3) (log (+ 1 x))) (exp 1/3) (log (+ 1 x)) (- (cbrt (+ x 1)) (cbrt x)) (/ (+ (* (cbrt (pow x 4)) 1/3) (+ (* (cbrt (/ (/ 1 x) x)) 5/81) (* -1/9 (cbrt x)))) (* x x)) (+ (* (cbrt (pow x 4)) 1/3) (+ (* (cbrt (/ (/ 1 x) x)) 5/81) (* -1/9 (cbrt x)))) (cbrt (pow x 4)) (pow x 1/6))
53.0ms
a
@0
((/ (- (neg b_2) (sqrt (+ (* b_2 b_2) (* (neg a) c)))) a) (- (neg b_2) (sqrt (+ (* b_2 b_2) (* (neg a) c)))) (neg b_2) (sqrt (+ (* b_2 b_2) (* (neg 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)))) (* (* (/ a b_2) -1/2) c) (* (/ a b_2) -1/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))) (+ (* b_2 b_2) (+ (* c a) (* b_2 b_2))) (+ (* c a) (* b_2 b_2)) (* b_2 b_2) (* (- (sqrt (neg (+ (* c a) (* b_2 b_2)))) b_2) a) (neg a) (+ (* (* -1/2 c) (/ a b_2)) b_2) (/ (+ (* b_2 b_2) (+ (* c a) (* b_2 b_2))) (* (- (sqrt (neg (+ (* c a) (* b_2 b_2)))) b_2) a)) (sqrt (neg (+ (* c a) (* b_2 b_2)))))
53.0ms
c
@-inf
((/ (+ (neg b_2) (sqrt (- (* b_2 b_2) (* a c)))) a) (* (/ c b_2) -1/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)))) (* -2 b_2) (* (neg b_2) (+ (* (/ (/ c b_2) b_2) -1/2) (/ 2 a))) (/ (+ (neg b_2) (sqrt (- (* b_2 b_2) (* a c)))) a) (neg b_2) (+ (* (/ (/ c b_2) b_2) -1/2) (/ 2 a)) (* (+ (* (* c -1/8) (/ a (pow b_2 3))) (/ -1/2 b_2)) c) (/ (+ (neg b_2) (sqrt (- (* b_2 b_2) (* a c)))) a) (+ (* (* c -1/8) (/ a (pow b_2 3))) (/ -1/2 b_2)) (* c -1/8) (+ (neg b_2) (sqrt (/ (- (pow b_2 12) (pow (* c a) 6)) (* (+ (* c a) (* b_2 b_2)) (+ (pow (* (+ (* c a) (* b_2 b_2)) (* c a)) 2) (pow b_2 8)))))) (/ (+ (neg b_2) (sqrt (/ (- (pow b_2 12) (pow (* c a) 6)) (* (+ (* c a) (* b_2 b_2)) (+ (pow (* (+ (* c a) (* b_2 b_2)) (* c a)) 2) (pow b_2 8)))))) a) (sqrt (/ (- (pow b_2 12) (pow (* c a) 6)) (* (+ (* c a) (* b_2 b_2)) (+ (pow (* (+ (* c a) (* b_2 b_2)) (* c a)) 2) (pow b_2 8))))) (/ (/ c b_2) b_2) (/ a (pow b_2 3)) (/ (- (pow b_2 12) (pow (* c a) 6)) (* (+ (* c a) (* b_2 b_2)) (+ (pow (* (+ (* c a) (* b_2 b_2)) (* c a)) 2) (pow b_2 8)))) (- (pow b_2 12) (pow (* c a) 6)))
49.0ms
n
@0
((/ (- (- (log x) (log (+ 1 x))) (/ (+ (* (- (pow (log (+ 1 x)) 2) (pow (log x) 2)) 1/2) (* 1/6 (/ (- (pow (log (+ 1 x)) 3) (pow (log x) 3)) n))) n)) (neg n)) (- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n))) (- (- (log x) (log (+ 1 x))) (/ (+ (* (- (pow (log (+ 1 x)) 2) (pow (log x) 2)) 1/2) (* 1/6 (/ (- (pow (log (+ 1 x)) 3) (pow (log x) 3)) n))) n)) (- (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 n)) x) n) (- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n))) (/ (pow x (/ 1 n)) x) (- (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 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) (- (pow (log (+ 1 x)) 3) (pow (log x) 3)) (- (pow (log (+ 1 x)) 2) (pow (log x) 2)) (log x) (/ 1/2 (* n n)))

preprocess4.4s (1.6%)

Memory
64.4MiB live, 4 857.0MiB allocated
Algorithm
28×egg-herbie
Stop Event
56×iter limit
50×saturated
node limit
Compiler

Compiled 9 460 to 4 177 computations (55.8% saved)

regimes3.4s (1.2%)

Memory
-5.7MiB live, 4 063.9MiB allocated
Counts
3 507 → 318
Calls

43 calls:

919.0ms
x
210.0ms
eps
176.0ms
b
134.0ms
c
127.0ms
a
Compiler

Compiled 2 152 to 2 009 computations (6.6% saved)

analyze1.8s (0.6%)

Memory
174.9MiB live, 1 793.7MiB 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.2s (0.4%)

Memory
-64.6MiB live, 1 237.1MiB allocated
Algorithm
80×binary-search
18×left-value
Stop Event
75×narrow-enough
predicate-same
Samples
485.0ms3 871×0valid
114.0ms580×1valid
70.0ms217×2valid
67.0ms696×0invalid
3.0ms42×0exit
1.0ms3valid
Compiler

Compiled 12 229 to 12 334 computations (-0.9% saved)

Precisions
Click to see histograms. Total time spent on operations: 416.0ms
ival-mult: 92.0ms (22.1% of total)
ival-pow: 74.0ms (17.8% of total)
ival-div: 60.0ms (14.4% of total)
ival-sqrt: 55.0ms (13.2% of total)
ival-sub: 40.0ms (9.6% of total)
adjust: 21.0ms (5% of total)
ival-add: 18.0ms (4.3% of total)
ival-neg: 17.0ms (4.1% of total)
ival-cos: 15.0ms (3.6% of total)
ival-cbrt: 5.0ms (1.2% of total)
ival-expm1: 5.0ms (1.2% of total)
ival-sin: 4.0ms (1% of total)
ival-true: 4.0ms (1% of total)
exact: 3.0ms (0.7% of total)
ival-assert: 2.0ms (0.5% of total)
ival-exp: 1.0ms (0.2% of total)

start1.0ms (0%)

Memory
1.4MiB live, 1.3MiB allocated

end0.0ms (0%)

Memory
0.4MiB live, 0.4MiB allocated

Profiling

Loading profile data...