Herbie run

Date:Tuesday, October 24th, 2023
Commit:4c861e3a on platforms
Hostname:nightly with Racket 8.6
Seed:2023297
Parameters:256 points for 4 iterations
Flags:
reduce: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: 12.9min)

localize2.6min (20.5%)

Compiler

Compiled 144089 to 34598 computations (76% saved)

eval2.4min (18.5%)

Compiler

Compiled 17263746 to 3761787 computations (78.2% saved)

soundness2.0min (15.7%)

Rules
138706×*-commutative
137754×fma-def
121026×times-frac
98961×associate-*r*
80305×distribute-lft-neg-in
Stop Event
unsound
353×node limit
Compiler

Compiled 77653 to 30321 computations (61% saved)

sample1.4min (11.2%)

Results
1.4min247680×body256valid
1.8s8439×body256invalid
824.0ms2118×body256precondition
Bogosity

regimes1.0min (8%)

Counts
14743 → 386
Calls

145 calls:

2.5s
s
1.8s
cosTheta_i
1.7s
uy
1.4s
maxCos
1.3s
r
Compiler

Compiled 523257 to 191751 computations (63.4% saved)

simplify1.0min (7.9%)

Algorithm
148×egg-herbie
Rules
62879×*-commutative
55805×fma-def
43994×unswap-sqr
41089×times-frac
35511×associate-*r*
Stop Event
done
unsound
30×saturated
29×fuel
116×node limit
Counts
91362 → 81827
Compiler

Compiled 15617 to 7612 computations (51.3% saved)

prune54.3s (7%)

Counts
150149 → 4044
Compiler

Compiled 561087 to 285952 computations (49% saved)

analyze27.8s (3.6%)

Algorithm
30×search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%2.6%97.4%0%0%0%0
0.4%0%2.6%97.4%0%0%0%1
9.5%0.3%2.4%97.4%0%0%0%2
43.3%1.1%1.5%97.4%0%0%0%3
48.2%1.3%1.4%97.4%0%0%0%4
65.2%1.7%0.9%97.4%0%0%0%5
70.4%1.8%0.8%97.4%0%0%0%6
79.1%2%0.5%97.4%0%0%0%7
81.1%2.1%0.5%97.4%0%0.1%0%8
86.1%2.2%0.4%97.4%0%0.1%0%9
87.6%2.2%0.3%97.4%0%0.1%0%10
91.9%2.3%0.2%97.4%0%0.1%0%11
92.6%2.3%0.2%97.4%0%0.1%0%12
Compiler

Compiled 2668 to 1267 computations (52.5% saved)

rewrite24.9s (3.2%)

Algorithm
350×rewrite-once
116×batch-egg-rewrite
Rules
54938×frac-2neg
48445×frac-times
36486×frac-add
32926×frac-sub
29736×cancel-sign-sub-inv
Stop Event
saturated
unsound
114×node limit
Counts
1400 → 61896
Calls

1801 calls:

13.0ms
(/.f32 (/.f32 (fma.f32 alpha alpha -1) (*.f32 (log.f32 alpha) -2)) (*.f32 (PI.f32) (-.f32 -1 (*.f32 (fma.f32 alpha alpha -1) (*.f32 cosTheta cosTheta)))))
9.0ms
(+.f32 (/.f32 sinTheta_i (/.f32 v sinTheta_O)) (/.f32 1 v))
4.0ms
(PI.f32)
3.0ms
(/.f64 (*.f64 (*.f64 1/2 (binary32->binary64 cosTheta_i)) (/.f64 (binary32->binary64 cosTheta_O) (binary32->binary64 v))) (sinh.f64 (/.f64 1 (binary32->binary64 v))))
3.0ms
(*.f32 (*.f32 dX.u dX.u) (floor.f32 w))

preprocess18.9s (2.4%)

Algorithm
30×egg-herbie
Rules
29509×fma-def
13084×distribute-lft-neg-in
10278×distribute-rgt-neg-in
9532×distribute-lft-in
8983×*-commutative
Stop Event
saturated
27×node limit
Compiler

Compiled 45810 to 15827 computations (65.5% saved)

series14.1s (1.8%)

Counts
1400 → 29466
Calls

8466 calls:

TimeVariablePointExpression
447.0ms
cosTheta_i
@0
(/.f64 (*.f64 (binary32->binary64 v) (*.f64 (sinh.f64 (/.f64 1 (binary32->binary64 v))) 2)) (/.f64 (binary32->binary64 cosTheta_i) (/.f64 (binary32->binary64 v) (binary32->binary64 cosTheta_O))))
359.0ms
dY.v
@inf
(/.f64 (fmax.f64 (+.f64 (pow.f64 (*.f64 (floor.f64 (binary32->binary64 w)) (binary32->binary64 dX.u)) 2) (pow.f64 (*.f64 (floor.f64 (binary32->binary64 h)) (binary32->binary64 dX.v)) 2)) (+.f64 (pow.f64 (*.f64 (floor.f64 (binary32->binary64 w)) (binary32->binary64 dY.u)) 2) (pow.f64 (*.f64 (floor.f64 (binary32->binary64 h)) (binary32->binary64 dY.v)) 2))) (fabs.f64 (*.f64 (floor.f64 (binary32->binary64 h)) (*.f64 (floor.f64 (binary32->binary64 w)) (-.f64 (*.f64 (binary32->binary64 dX.u) (binary32->binary64 dY.v)) (*.f64 (binary32->binary64 dX.v) (binary32->binary64 dY.u)))))))
310.0ms
c
@0
(/.f64 1 (+.f64 (+.f64 1 (binary32->binary64 c)) (/.f64 (/.f64 (sqrt.f64 (+.f64 1 (*.f64 (binary32->binary64 cosTheta) -2))) (*.f64 (sqrt.f64 (PI.f32)) (binary32->binary64 cosTheta))) (pow.f64 (exp.f64 (binary32->binary64 cosTheta)) (binary32->binary64 cosTheta)))))
198.0ms
h
@inf
(pow.f32 (fmax.f32 (+.f32 (pow.f32 (*.f32 dX.u (floor.f32 w)) 2) (pow.f32 (*.f32 dX.v (floor.f32 h)) 2)) (+.f32 (pow.f32 (*.f32 (floor.f32 w) dY.u) 2) (pow.f32 (*.f32 dY.v (floor.f32 h)) 2))) 1/4)
194.0ms
cosTheta
@inf
(/.f64 1 (+.f64 (+.f64 1 (binary32->binary64 c)) (/.f64 (/.f64 (sqrt.f64 (+.f64 1 (*.f64 (binary32->binary64 cosTheta) -2))) (*.f64 (sqrt.f64 (PI.f32)) (binary32->binary64 cosTheta))) (pow.f64 (exp.f64 (binary32->binary64 cosTheta)) (binary32->binary64 cosTheta)))))

bsearch80.0ms (0%)

Algorithm
20×binary-search
29×left-value
Stop Event
20×narrow-enough
Compiler

Compiled 2514 to 1142 computations (54.6% saved)

end15.0ms (0%)

Profiling

Loading profile data...