Herbie run

Date:Thursday, May 23rd, 2024
Commit:6b737c7e on explanations-trifurcate
Hostname:nightly with Racket 8.11.1
Seed:2024144
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: 10.8min)

simplify2.4min (22.1%)

Algorithm
268×egg-herbie
Rules
215708×fma-define
120276×times-frac
120022×distribute-lft-in
118514×*-commutative
113718×fma-neg
Stop Event
65×saturated
203×node limit
Counts
102538 → 73426

soundness1.5min (14.3%)

Rules
107976×fma-define
70784×times-frac
69616×*-commutative
65470×associate-*r*
56456×distribute-lft-in
Stop Event
saturated
164×node limit
29×fuel
done
Compiler

Compiled 62999 to 12855 computations (79.6% saved)

sample1.5min (14.2%)

Results
1.2min247632×0valid
1.4s8365×0invalid
703.0ms2120×0precondition
9.0ms48×1valid
Precisions
Click to see histograms. Total time spent on operations: 59.2s
ival-mult: 12.7s (21.5% of total)
ival-<=: 11.3s (19.1% of total)
...c/correct-round.rkt:121:19: 9.7s (16.4% of total)
ival-div: 4.5s (7.5% of total)
ival-sub: 2.2s (3.7% of total)
ival-sin: 2.1s (3.6% of total)
ival-add: 2.0s (3.3% of total)
ival-fabs: 1.9s (3.1% of total)
ival-log: 1.7s (2.9% of total)
ival-sqrt: 1.7s (2.9% of total)
ival-and: 1.6s (2.7% of total)
ival-neg: 1.1s (1.8% of total)
ival-exp: 993.0ms (1.7% of total)
ival-floor: 927.0ms (1.6% of total)
ival-cos: 895.0ms (1.5% of total)
ival-pi: 805.0ms (1.4% of total)
const: 454.0ms (0.8% of total)
ival-tan: 433.0ms (0.7% of total)
ival-if: 405.0ms (0.7% of total)
ival-fmax: 326.0ms (0.6% of total)
ival-<: 291.0ms (0.5% of total)
ival->: 260.0ms (0.4% of total)
ival-log2: 255.0ms (0.4% of total)
ival-==: 175.0ms (0.3% of total)
ival-asin: 161.0ms (0.3% of total)
ival-atan: 118.0ms (0.2% of total)
ival-sinh: 85.0ms (0.1% of total)
ival->=: 79.0ms (0.1% of total)
backward-pass: 73.0ms (0.1% of total)
Bogosity

prune58.4s (9.1%)

Counts
152282 → 4062
Compiler

Compiled 362196 to 132286 computations (63.5% saved)

end44.7s (6.9%)

localize44.0s (6.8%)

Results
18.8s26010×0valid
7.4s784×5exit
2.2s1993×0invalid
1.0s518×1valid
623.0ms1159×0unsamplable
Compiler

Compiled 103174 to 5501 computations (94.7% saved)

Precisions
Click to see histograms. Total time spent on operations: 18.1s
ival-mult: 4.4s (24.3% of total)
ival-div: 2.9s (16% of total)
ival-pow: 1.8s (9.9% of total)
ival-expm1: 1.6s (8.9% of total)
ival-add: 717.0ms (4% of total)
ival-log: 581.0ms (3.2% of total)
ival-sqrt: 573.0ms (3.2% of total)
ival-sin: 550.0ms (3% of total)
backward-pass: 529.0ms (2.9% of total)
...c/correct-round.rkt:121:19: 478.0ms (2.6% of total)
ival-tan: 409.0ms (2.3% of total)
ival-fma: 379.0ms (2.1% of total)
ival-cos: 375.0ms (2.1% of total)
ival-sub: 341.0ms (1.9% of total)
ival-log1p: 315.0ms (1.7% of total)
ival-exp: 312.0ms (1.7% of total)
ival-neg: 300.0ms (1.7% of total)
ival-hypot: 278.0ms (1.5% of total)
ival-fmax: 270.0ms (1.5% of total)
ival-atan: 171.0ms (0.9% of total)
ival-if: 147.0ms (0.8% of total)
ival-pi: 120.0ms (0.7% of total)
ival-floor: 102.0ms (0.6% of total)
const: 100.0ms (0.6% of total)
ival-log2: 92.0ms (0.5% of total)
ival-cbrt: 49.0ms (0.3% of total)
ival-asin: 48.0ms (0.3% of total)
ival->: 44.0ms (0.2% of total)
ival->=: 40.0ms (0.2% of total)
ival-fabs: 36.0ms (0.2% of total)
ival-<: 15.0ms (0.1% of total)
ival-sinh: 14.0ms (0.1% of total)
ival-e: 2.0ms (0% of total)

eval33.7s (5.2%)

Compiler

Compiled 17062972 to 625865 computations (96.3% saved)

rewrite32.4s (5%)

Algorithm
119×batch-egg-rewrite
Rules
60454×log1p-expm1-u
48868×expm1-log1p-u
37013×pow1
36414×log-prod
35796×add-exp-log
Stop Event
119×node limit
Counts
2012 → 46024

analyze32.0s (5%)

Algorithm
30×search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%2.6%97.4%0%0%0%0
0%0%2.6%97.4%0%0%0%1
7.8%0.2%2.4%97.4%0%0%0%2
8.5%0.2%2.4%97.4%0%0%0%3
12.8%0.3%2.3%97.4%0%0%0%4
47%1.2%1.4%97.4%0%0%0%5
51.8%1.3%1.2%97.4%0%0%0%6
69.5%1.8%0.8%97.4%0%0%0%7
71.6%1.8%0.7%97.4%0%0.1%0%8
81.1%2.1%0.5%97.4%0%0.1%0%9
82.6%2.1%0.4%97.4%0%0.1%0%10
88.3%2.2%0.3%97.4%0%0.1%0%11
89.1%2.2%0.3%97.4%0%0.1%0%12
Compiler

Compiled 2668 to 1046 computations (60.8% saved)

Precisions
Click to see histograms. Total time spent on operations: 22.0s
ival-mult: 5.2s (23.5% of total)
ival-<=: 4.1s (18.6% of total)
...c/correct-round.rkt:121:19: 2.6s (11.8% of total)
ival-fabs: 1.7s (7.6% of total)
ival-div: 1.4s (6.5% of total)
ival-add: 1.2s (5.5% of total)
ival-floor: 713.0ms (3.2% of total)
ival-sqrt: 685.0ms (3.1% of total)
ival-and: 677.0ms (3.1% of total)
ival-fmax: 554.0ms (2.5% of total)
ival-sub: 464.0ms (2.1% of total)
ival-sin: 434.0ms (2% of total)
ival-if: 429.0ms (2% of total)
ival-==: 260.0ms (1.2% of total)
ival-cos: 229.0ms (1% of total)
ival-log2: 212.0ms (1% of total)
ival->: 196.0ms (0.9% of total)
ival-log: 185.0ms (0.8% of total)
const: 134.0ms (0.6% of total)
ival-<: 109.0ms (0.5% of total)
ival-tan: 104.0ms (0.5% of total)
ival-pi: 86.0ms (0.4% of total)
ival-exp: 85.0ms (0.4% of total)
ival->=: 84.0ms (0.4% of total)
ival-neg: 78.0ms (0.4% of total)
ival-atan: 39.0ms (0.2% of total)
ival-sinh: 31.0ms (0.1% of total)
backward-pass: 23.0ms (0.1% of total)
ival-asin: 18.0ms (0.1% of total)

regimes29.6s (4.6%)

Counts
9655 → 401
Calls

145 calls:

894.0ms
dY.u
801.0ms
ux
786.0ms
maxCos
756.0ms
s
752.0ms
uy
Compiler

Compiled 14799 to 10226 computations (30.9% saved)

series26.1s (4%)

Counts
2012 → 56514
Calls

14022 calls:

TimeVariablePointExpression
247.0ms
c
@0
(sqrt (* c (+ 1 (+ (/ (pow (PI) -1/2) (* cosTheta c)) (- (/ 1 c) (/ (pow (PI) -1/2) c))))))
163.0ms
ux
@-inf
(- 1 (* (+ (- 1 ux) (* ux maxCos)) (+ (- 1 ux) (* ux maxCos))))
159.0ms
dX.v
@0
(if (>= (+ (* (floor w) (* (* dX.u dX.u) (floor w))) (* (floor h) (* (floor h) (* dX.v dX.v)))) (+ (* (floor h) (* dY.v (* (floor h) dY.v))) (* dY.u (* dY.u (* (floor w) (floor w)))))) (/ (* (floor h) dX.v) (sqrt (fmax (+ (* (floor w) (* (* dX.u dX.u) (floor w))) (* (floor h) (* (floor h) (* dX.v dX.v)))) (+ (* (floor h) (* dY.v (* (floor h) dY.v))) (* dY.u (* dY.u (* (floor w) (floor w)))))))) (/ (* (floor h) dY.v) (sqrt (fmax (+ (* (floor w) (* (* dX.u dX.u) (floor w))) (* (floor h) (* (floor h) (* dX.v dX.v)))) (+ (* (floor h) (* dY.v (* (floor h) dY.v))) (* dY.u (* dY.u (* (floor w) (floor w)))))))))
139.0ms
w
@-inf
(* (log (fmax (+ (* (floor w) (* (floor w) (pow dX.u 2))) (pow (* (floor h) dX.v) 2)) (+ (* (floor w) (* (floor w) (pow dY.u 2))) (* (floor h) (* (floor h) (pow dY.v 2)))))) 1/2)
125.0ms
dY.u
@inf
(log (+ 1 (log2 (sqrt (fmax (pow (* (floor w) dX.u) 2) (pow (sqrt (+ (* (* (floor d) dY.w) (* (floor d) dY.w)) (* (sqrt (+ (* (* (floor w) dY.u) (* (floor w) dY.u)) (* (* (floor h) dY.v) (* (floor h) dY.v)))) (sqrt (+ (* (* (floor w) dY.u) (* (floor w) dY.u)) (* (* (floor h) dY.v) (* (floor h) dY.v))))))) 2))))))

explain9.6s (1.5%)

Explanations
Click to see full explanations table
OperatorSubexpressionExplanationCount
log.f32#fsensitivity99368
-.f32#fcancellation39930
sqrt.f32#foflow-rescue3950
tan.f32(tan.f32 (+.f32 (*.f32 (*.f32 #s(literal 2 binary32) (PI.f32)) u1) (*.f32 #s(literal 1/2 binary32) (PI.f32))))cancellation18216
cos.f32#fsensitivity1799
/.f32#fo/n1460
exp.f32#fsensitivity3922
/.f32#fu/n290
/.f32#fo/o180
sqrt.f32(sqrt.f32 (-.f32 (*.f32 eta eta) (/.f32 (*.f32 sinTheta_O sinTheta_O) (sqrt.f32 (-.f32 #s(literal 1 binary32) (*.f32 sinTheta_O sinTheta_O))))))uflow-rescue120
(*.f32 sinTheta_O sinTheta_O)underflow272
(-.f32 (*.f32 eta eta) (/.f32 (*.f32 sinTheta_O sinTheta_O) (sqrt.f32 (-.f32 #s(literal 1 binary32) (*.f32 sinTheta_O sinTheta_O)))))underflow12
(/.f32 (*.f32 sinTheta_O sinTheta_O) (sqrt.f32 (-.f32 #s(literal 1 binary32) (*.f32 sinTheta_O sinTheta_O))))underflow136
(*.f32 eta eta)underflow12
/.f32(/.f32 (neg.f32 (log.f32 (-.f32 #s(literal 1 binary32) u0))) (+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay))))n/o80
(/.f32 sin2phi (*.f32 alphay alphay))overflow17
(+.f32 (/.f32 cos2phi (*.f32 alphax alphax)) (/.f32 sin2phi (*.f32 alphay alphay)))overflow17
*.f32#fn*o30
log.f32(log.f32 (/.f32 #s(literal 1 binary32) (*.f32 #s(literal 2 binary32) v)))oflow-rescue10
(/.f32 #s(literal 1 binary32) (*.f32 #s(literal 2 binary32) v))overflow1
*.f32(*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle)))n*u10
*.f32(*.f32 (sin.f32 (*.f32 u normAngle)) (/.f32 #s(literal 1 binary32) (sin.f32 normAngle)))u*o10
(*.f32 u normAngle)underflow2
(sin.f32 (*.f32 u normAngle))underflow2
(/.f32 #s(literal 1 binary32) (sin.f32 normAngle))overflow2
Confusion
Predicted +Predicted -
+166963
-3985550
Precision
0.8074504112239961
Recall
0.9636258660508084
Confusion?
Predicted +Predicted MaybePredicted -
+16692736
-3981035447
Precision?
0.7719617660446063
Recall?
0.9792147806004619
Freqs
test
numberfreq
05613
11747
2301
319
Total Confusion?
Predicted +Predicted MaybePredicted -
+2311
-212
Precision?
0.8888888888888888
Recall?
0.96
Results
3.9s15286×0valid
39.0ms74×1valid
Compiler

Compiled 18444 to 2196 computations (88.1% saved)

Precisions
Click to see histograms. Total time spent on operations: 2.1s
ival-mult: 785.0ms (37.4% of total)
ival-div: 215.0ms (10.2% of total)
ival-floor: 205.0ms (9.8% of total)
ival-add: 154.0ms (7.3% of total)
ival-sqrt: 141.0ms (6.7% of total)
ival-log: 106.0ms (5% of total)
ival-sub: 89.0ms (4.2% of total)
ival-sin: 84.0ms (4% of total)
ival-cos: 46.0ms (2.2% of total)
ival-exp: 40.0ms (1.9% of total)
ival-neg: 31.0ms (1.5% of total)
const: 29.0ms (1.4% of total)
...c/correct-round.rkt:121:19: 27.0ms (1.3% of total)
ival-pi: 25.0ms (1.2% of total)
ival-tan: 20.0ms (1% of total)
ival-fmax: 19.0ms (0.9% of total)
ival-if: 18.0ms (0.9% of total)
ival-log2: 15.0ms (0.7% of total)
ival-fabs: 10.0ms (0.5% of total)
backward-pass: 8.0ms (0.4% of total)
ival-atan: 7.0ms (0.3% of total)
ival-sinh: 6.0ms (0.3% of total)
ival->=: 6.0ms (0.3% of total)
ival->: 5.0ms (0.2% of total)
ival-asin: 5.0ms (0.2% of total)
ival-<: 2.0ms (0.1% of total)

preprocess8.6s (1.3%)

Algorithm
30×egg-herbie
Rules
30630×fma-define
21782×fma-neg
15892×unsub-neg
14706×distribute-lft-neg-in
11858×distribute-rgt-neg-in
Stop Event
11×saturated
19×node limit
Compiler

Compiled 51400 to 15380 computations (70.1% saved)

bsearch38.0ms (0%)

Algorithm
70×binary-search
12×left-value
Stop Event
70×narrow-enough
Compiler

Compiled 3881 to 1847 computations (52.4% saved)

Profiling

Loading profile data...