Details

Time bar (total: 8.1s)

analyze7.0ms (0.1%)

Algorithm
search
Search
TrueOtherFalseIter
0%0%100%0
0%0%100%1
Compiler

Compiled 66 to 48 computations (27.3% saved)

sample2.4s (30.1%)

Symmetry

(sort cosTheta_i cosTheta_O)

(sort sinTheta_i sinTheta_O)

Results
2.4s8256×body128valid
Compiler

Compiled 159 to 115 computations (27.7% saved)

simplify15.0ms (0.2%)

Algorithm
egg-herbie
Rules
914×times-frac_binary32
551×associate-/l*_binary32
460×associate-/l/_binary32
360×associate-*l/_binary32
311×associate-/r/_binary32
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02034
15434
217332
380032
Stop Event
node limit
Counts
1 → 2

prune4.0ms (0.1%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New022
Fresh011
Picked000
Done000
Total033
Error
0.3b
Counts
3 → 2
Alt Table
StatusErrorProgram
0.5b
(*.f32 (/.f32 (/.f32 1/2 (sinh.f32 (/.f32 1 v))) (pow.f32 (exp.f32 sinTheta_O) (/.f32 sinTheta_i v))) (*.f32 (/.f32 cosTheta_i (*.f32 v v)) cosTheta_O))
0.4b
(/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (/.f32 (*.f32 cosTheta_i cosTheta_O) v)) (*.f32 (*.f32 (sinh.f32 (/.f32 1 v)) 2) v))
Compiler

Compiled 154 to 106 computations (31.2% saved)

localize89.0ms (1.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(*.f32 (*.f32 (sinh.f32 (/.f32 1 v)) 2) v)
0.3b
(/.f32 (*.f32 cosTheta_i cosTheta_O) v)
0.3b
(/.f32 (*.f32 sinTheta_i sinTheta_O) v)
0.8b
(sinh.f32 (/.f32 1 v))

series55.0ms (0.7%)

Counts
4 → 24
Calls

4 calls:

28.0ms
(/.f32 (*.f32 cosTheta_i cosTheta_O) v)
15.0ms
(/.f32 (*.f32 sinTheta_i sinTheta_O) v)
7.0ms
(*.f32 (*.f32 (sinh.f32 (/.f32 1 v)) 2) v)
5.0ms
(sinh.f32 (/.f32 1 v))

rewrite65.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
292×log1p-udef_binary32
163×add-sqr-sqrt_binary32
152×log1p-expm1-u_binary32
152×expm1-log1p-u_binary32
150×add-cbrt-cube_binary32
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01632
133232
2435632
Stop Event
node limit
Counts
4 → 131
Calls

4 calls:

62.0ms
(*.f32 (*.f32 (sinh.f32 (/.f32 1 v)) 2) v)
62.0ms
(/.f32 (*.f32 cosTheta_i cosTheta_O) v)
62.0ms
(/.f32 (*.f32 sinTheta_i sinTheta_O) v)
62.0ms
(sinh.f32 (/.f32 1 v))

simplify28.0ms (0.3%)

Algorithm
egg-herbie
Rules
509×unswap-sqr_binary32
478×times-frac_binary32
374×fma-def_binary32
322×associate-*l/_binary32
302×associate-/r*_binary32
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
050408
1125392
2279392
3636392
41902392
Stop Event
node limit
Counts
155 → 149

prune241.0ms (3%)

Pruning

12 alts after pruning (12 fresh and 0 done)

PrunedKeptTotal
New13811149
Fresh011
Picked101
Done000
Total13912151
Error
0.1b
Counts
151 → 12
Alt Table
StatusErrorProgram
0.4b
(/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (*.f32 cosTheta_i (/.f32 1 (/.f32 v cosTheta_O)))) (*.f32 (*.f32 (sinh.f32 (/.f32 1 v)) 2) v))
0.5b
(/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (/.f32 (*.f32 cosTheta_i cosTheta_O) v)) (*.f32 (*.f32 (*.f32 (cbrt.f32 (sinh.f32 (/.f32 1 v))) (pow.f32 (cbrt.f32 (sinh.f32 (/.f32 1 v))) 2)) 2) v))
0.4b
(/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (/.f32 (*.f32 cosTheta_i cosTheta_O) v)) (*.f32 v (-.f32 (exp.f32 (/.f32 1 v)) (/.f32 1 (exp.f32 (/.f32 1 v))))))
0.5b
(/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (/.f32 (*.f32 cosTheta_i cosTheta_O) v)) (pow.f32 (sqrt.f32 (*.f32 (sinh.f32 (/.f32 1 v)) (*.f32 v 2))) 2))
0.5b
(/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (/.f32 (*.f32 cosTheta_i cosTheta_O) v)) (*.f32 (*.f32 (pow.f32 (pow.f32 (sinh.f32 (/.f32 1 v)) 3) 1/3) 2) v))
0.5b
(/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (/.f32 (*.f32 cosTheta_i cosTheta_O) v)) (pow.f32 (pow.f32 (*.f32 (sinh.f32 (/.f32 1 v)) (*.f32 v 2)) 3) 1/3))
0.5b
(/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (/.f32 (*.f32 cosTheta_i cosTheta_O) v)) (*.f32 (*.f32 (-.f32 (exp.f32 (log1p.f32 (sinh.f32 (/.f32 1 v)))) 1) 2) v))
0.5b
(*.f32 (/.f32 (/.f32 1/2 (sinh.f32 (/.f32 1 v))) (pow.f32 (exp.f32 sinTheta_O) (/.f32 sinTheta_i v))) (*.f32 (/.f32 cosTheta_i (*.f32 v v)) cosTheta_O))
0.5b
(/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (/.f32 (*.f32 cosTheta_i cosTheta_O) v)) (*.f32 (*.f32 (exp.f32 (log.f32 (sinh.f32 (/.f32 1 v)))) 2) v))
0.5b
(/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (/.f32 (*.f32 cosTheta_i cosTheta_O) v)) (pow.f32 (cbrt.f32 (*.f32 (sinh.f32 (/.f32 1 v)) (*.f32 v 2))) 3))
0.5b
(/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (/.f32 (*.f32 cosTheta_i cosTheta_O) v)) (-.f32 (exp.f32 (log1p.f32 (*.f32 (sinh.f32 (/.f32 1 v)) (*.f32 v 2)))) 1))
0.4b
(/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (*.f32 cosTheta_O (*.f32 cosTheta_i (/.f32 1 v)))) (*.f32 (*.f32 (sinh.f32 (/.f32 1 v)) 2) v))
Compiler

Compiled 4742 to 2365 computations (50.1% saved)

localize88.0ms (1.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(*.f32 (*.f32 (sinh.f32 (/.f32 1 v)) 2) v)
0.3b
(*.f32 cosTheta_i (/.f32 1 v))
0.3b
(/.f32 (*.f32 sinTheta_i sinTheta_O) v)
0.8b
(sinh.f32 (/.f32 1 v))

series5.0ms (0.1%)

Counts
1 → 24
Calls

1 calls:

5.0ms
(*.f32 cosTheta_i (/.f32 1 v))

rewrite29.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
495×log1p-expm1-u_binary32
495×expm1-log1p-u_binary32
405×unpow-prod-down_binary32
272×log-prod_binary32
142×pow2_binary32
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
064
11204
214344
Stop Event
node limit
Counts
1 → 30
Calls

1 calls:

29.0ms
(*.f32 cosTheta_i (/.f32 1 v))

simplify7.0ms (0.1%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0496
Stop Event
saturated
Counts
54 → 30

prune297.0ms (3.7%)

Pruning

14 alts after pruning (14 fresh and 0 done)

PrunedKeptTotal
New1285133
Fresh2911
Picked101
Done000
Total13114145
Error
0.0b
Counts
145 → 14
Alt Table
StatusErrorProgram
0.4b
(/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (*.f32 cosTheta_i (/.f32 1 (/.f32 v cosTheta_O)))) (*.f32 (*.f32 (sinh.f32 (/.f32 1 v)) 2) v))
0.5b
(/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (*.f32 cosTheta_O (*.f32 cosTheta_i (/.f32 1 v)))) (*.f32 (*.f32 (expm1.f32 (log1p.f32 (sinh.f32 (/.f32 1 v)))) 2) v))
0.5b
(/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (/.f32 (*.f32 cosTheta_i cosTheta_O) v)) (*.f32 (*.f32 (*.f32 (cbrt.f32 (sinh.f32 (/.f32 1 v))) (pow.f32 (cbrt.f32 (sinh.f32 (/.f32 1 v))) 2)) 2) v))
0.4b
(/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (/.f32 (*.f32 cosTheta_i cosTheta_O) v)) (*.f32 v (-.f32 (exp.f32 (/.f32 1 v)) (/.f32 1 (exp.f32 (/.f32 1 v))))))
0.5b
(/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (/.f32 (*.f32 cosTheta_i cosTheta_O) v)) (pow.f32 (sqrt.f32 (*.f32 (sinh.f32 (/.f32 1 v)) (*.f32 v 2))) 2))
0.5b
(/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (/.f32 (*.f32 cosTheta_i cosTheta_O) v)) (*.f32 (*.f32 (pow.f32 (pow.f32 (sinh.f32 (/.f32 1 v)) 3) 1/3) 2) v))
0.5b
(/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (/.f32 (*.f32 cosTheta_i cosTheta_O) v)) (pow.f32 (pow.f32 (*.f32 (sinh.f32 (/.f32 1 v)) (*.f32 v 2)) 3) 1/3))
0.5b
(/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (*.f32 cosTheta_O (*.f32 cosTheta_i (/.f32 1 v)))) (*.f32 (*.f32 (exp.f32 (log.f32 (sinh.f32 (/.f32 1 v)))) 2) v))
0.5b
(/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (*.f32 cosTheta_O (pow.f32 (cbrt.f32 (/.f32 cosTheta_i v)) 3))) (*.f32 (*.f32 (sinh.f32 (/.f32 1 v)) 2) v))
0.4b
(/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (*.f32 cosTheta_O (*.f32 cosTheta_i (/.f32 1 v)))) (-.f32 (exp.f32 (log1p.f32 (*.f32 (sinh.f32 (/.f32 1 v)) (*.f32 v 2)))) 1))
0.5b
(/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (/.f32 (*.f32 cosTheta_i cosTheta_O) v)) (*.f32 (*.f32 (-.f32 (exp.f32 (log1p.f32 (sinh.f32 (/.f32 1 v)))) 1) 2) v))
0.5b
(/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (*.f32 cosTheta_O (/.f32 (/.f32 cosTheta_i (pow.f32 (cbrt.f32 v) 2)) (cbrt.f32 v)))) (*.f32 (*.f32 (sinh.f32 (/.f32 1 v)) 2) v))
0.5b
(/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (/.f32 (*.f32 cosTheta_i cosTheta_O) v)) (*.f32 (*.f32 (exp.f32 (log.f32 (sinh.f32 (/.f32 1 v)))) 2) v))
0.5b
(/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (/.f32 (*.f32 cosTheta_i cosTheta_O) v)) (pow.f32 (cbrt.f32 (*.f32 (sinh.f32 (/.f32 1 v)) (*.f32 v 2))) 3))
Compiler

Compiled 4628 to 2770 computations (40.1% saved)

localize68.0ms (0.8%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.3b
(*.f32 cosTheta_i (/.f32 1 v))
0.3b
(/.f32 (*.f32 sinTheta_i sinTheta_O) v)
0.6b
(exp.f32 (log1p.f32 (*.f32 (sinh.f32 (/.f32 1 v)) (*.f32 v 2))))
0.8b
(sinh.f32 (/.f32 1 v))

series2.1s (25.7%)

Counts
1 → 12
Calls

1 calls:

2.1s
(exp.f32 (log1p.f32 (*.f32 (sinh.f32 (/.f32 1 v)) (*.f32 v 2))))

rewrite44.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
810×expm1-log1p-u_binary32
809×log1p-expm1-u_binary32
314×prod-diff_binary32
95×add-sqr-sqrt_binary32
88×add-log-exp_binary32
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01016
119815
2229015
Stop Event
node limit
Counts
1 → 23
Calls

1 calls:

43.0ms
(exp.f32 (log1p.f32 (*.f32 (sinh.f32 (/.f32 1 v)) (*.f32 v 2))))

simplify32.0ms (0.4%)

Algorithm
egg-herbie
Rules
721×fma-def_binary32
463×associate-*l*_binary32
419×associate-/r/_binary32
338×associate-/l/_binary32
294×associate-*r*_binary32
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
030186
169180
2145180
3323180
4935180
53800180
Stop Event
node limit
Counts
35 → 33

prune325.0ms (4%)

Pruning

14 alts after pruning (13 fresh and 1 done)

PrunedKeptTotal
New1392141
Fresh21113
Picked011
Done000
Total14114155
Error
0.0b
Counts
155 → 14
Alt Table
StatusErrorProgram
0.4b
(/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (*.f32 cosTheta_i (/.f32 1 (/.f32 v cosTheta_O)))) (*.f32 (*.f32 (sinh.f32 (/.f32 1 v)) 2) v))
0.5b
(/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (*.f32 cosTheta_O (*.f32 cosTheta_i (/.f32 1 v)))) (*.f32 (*.f32 (expm1.f32 (log1p.f32 (sinh.f32 (/.f32 1 v)))) 2) v))
0.4b
(/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (/.f32 (*.f32 cosTheta_i cosTheta_O) v)) (*.f32 v (-.f32 (exp.f32 (/.f32 1 v)) (/.f32 1 (exp.f32 (/.f32 1 v))))))
0.5b
(/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (/.f32 (*.f32 cosTheta_i cosTheta_O) v)) (pow.f32 (sqrt.f32 (*.f32 (sinh.f32 (/.f32 1 v)) (*.f32 v 2))) 2))
0.5b
(/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (/.f32 (*.f32 cosTheta_i cosTheta_O) v)) (*.f32 (*.f32 (pow.f32 (pow.f32 (sinh.f32 (/.f32 1 v)) 3) 1/3) 2) v))
0.8b
(/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (*.f32 cosTheta_O (*.f32 cosTheta_i (/.f32 1 v)))) (-.f32 (pow.f32 (exp.f32 (pow.f32 (cbrt.f32 (log1p.f32 (*.f32 v (*.f32 2 (sinh.f32 (/.f32 1 v)))))) 2)) (cbrt.f32 (log1p.f32 (*.f32 v (*.f32 2 (sinh.f32 (/.f32 1 v))))))) 1))
0.5b
(/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (/.f32 (*.f32 cosTheta_i cosTheta_O) v)) (pow.f32 (pow.f32 (*.f32 (sinh.f32 (/.f32 1 v)) (*.f32 v 2)) 3) 1/3))
0.5b
(/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (*.f32 cosTheta_O (*.f32 cosTheta_i (/.f32 1 v)))) (*.f32 (*.f32 (exp.f32 (log.f32 (sinh.f32 (/.f32 1 v)))) 2) v))
0.5b
(/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (*.f32 cosTheta_O (pow.f32 (cbrt.f32 (/.f32 cosTheta_i v)) 3))) (*.f32 (*.f32 (sinh.f32 (/.f32 1 v)) 2) v))
0.4b
(/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (*.f32 cosTheta_O (*.f32 cosTheta_i (/.f32 1 v)))) (-.f32 (exp.f32 (log1p.f32 (*.f32 (sinh.f32 (/.f32 1 v)) (*.f32 v 2)))) 1))
0.5b
(/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (*.f32 cosTheta_O (/.f32 (/.f32 cosTheta_i (pow.f32 (cbrt.f32 v) 2)) (cbrt.f32 v)))) (*.f32 (*.f32 (sinh.f32 (/.f32 1 v)) 2) v))
0.5b
(/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (/.f32 (*.f32 cosTheta_i cosTheta_O) v)) (*.f32 (*.f32 (exp.f32 (log.f32 (sinh.f32 (/.f32 1 v)))) 2) v))
0.5b
(/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (/.f32 (*.f32 cosTheta_i cosTheta_O) v)) (pow.f32 (cbrt.f32 (*.f32 (sinh.f32 (/.f32 1 v)) (*.f32 v 2))) 3))
0.5b
(/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (*.f32 cosTheta_O (*.f32 cosTheta_i (/.f32 1 v)))) (-.f32 (pow.f32 (E.f32) (log1p.f32 (*.f32 v (*.f32 2 (sinh.f32 (/.f32 1 v)))))) 1))
Compiler

Compiled 5448 to 3484 computations (36% saved)

localize59.0ms (0.7%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(*.f32 (*.f32 (sinh.f32 (/.f32 1 v)) 2) v)
0.3b
(/.f32 1 (/.f32 v cosTheta_O))
0.3b
(/.f32 (*.f32 sinTheta_i sinTheta_O) v)
0.8b
(sinh.f32 (/.f32 1 v))

series7.0ms (0.1%)

Counts
1 → 24
Calls

1 calls:

5.0ms
(/.f32 1 (/.f32 v cosTheta_O))

rewrite36.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
571×log1p-expm1-u_binary32
571×expm1-log1p-u_binary32
302×log-prod_binary32
108×pow1/3_binary32
107×expm1-udef_binary32
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
067
11254
216204
Stop Event
node limit
Counts
1 → 43
Calls

1 calls:

35.0ms
(/.f32 1 (/.f32 v cosTheta_O))

simplify7.0ms (0.1%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0496
Stop Event
saturated
Counts
67 → 44

prune339.0ms (4.2%)

Pruning

14 alts after pruning (12 fresh and 2 done)

PrunedKeptTotal
New1452147
Fresh21012
Picked011
Done011
Total14714161
Error
0.0b
Counts
161 → 14
Alt Table
StatusErrorProgram
0.4b
(/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (*.f32 cosTheta_i (/.f32 1 (/.f32 v cosTheta_O)))) (*.f32 (*.f32 (sinh.f32 (/.f32 1 v)) 2) v))
0.5b
(/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (*.f32 cosTheta_O (*.f32 cosTheta_i (/.f32 1 v)))) (*.f32 (*.f32 (expm1.f32 (log1p.f32 (sinh.f32 (/.f32 1 v)))) 2) v))
0.5b
(/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (/.f32 (*.f32 cosTheta_i cosTheta_O) v)) (*.f32 (*.f32 (pow.f32 (pow.f32 (sinh.f32 (/.f32 1 v)) 3) 1/3) 2) v))
0.8b
(/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (*.f32 cosTheta_O (*.f32 cosTheta_i (/.f32 1 v)))) (-.f32 (pow.f32 (exp.f32 (pow.f32 (cbrt.f32 (log1p.f32 (*.f32 v (*.f32 2 (sinh.f32 (/.f32 1 v)))))) 2)) (cbrt.f32 (log1p.f32 (*.f32 v (*.f32 2 (sinh.f32 (/.f32 1 v))))))) 1))
0.5b
(/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (/.f32 (*.f32 cosTheta_i cosTheta_O) v)) (pow.f32 (pow.f32 (*.f32 (sinh.f32 (/.f32 1 v)) (*.f32 v 2)) 3) 1/3))
0.5b
(/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (*.f32 cosTheta_O (*.f32 cosTheta_i (/.f32 1 v)))) (*.f32 (*.f32 (exp.f32 (log.f32 (sinh.f32 (/.f32 1 v)))) 2) v))
0.5b
(/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (*.f32 cosTheta_O (pow.f32 (cbrt.f32 (/.f32 cosTheta_i v)) 3))) (*.f32 (*.f32 (sinh.f32 (/.f32 1 v)) 2) v))
0.4b
(/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (*.f32 cosTheta_O (*.f32 cosTheta_i (/.f32 1 v)))) (-.f32 (exp.f32 (log1p.f32 (*.f32 (sinh.f32 (/.f32 1 v)) (*.f32 v 2)))) 1))
0.5b
(/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (*.f32 cosTheta_O (/.f32 (/.f32 cosTheta_i (pow.f32 (cbrt.f32 v) 2)) (cbrt.f32 v)))) (*.f32 (*.f32 (sinh.f32 (/.f32 1 v)) 2) v))
0.5b
(/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (*.f32 cosTheta_i (/.f32 1 (/.f32 v cosTheta_O)))) (pow.f32 (sqrt.f32 (*.f32 (sinh.f32 (/.f32 1 v)) (*.f32 v 2))) 2))
0.5b
(/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (/.f32 (*.f32 cosTheta_i cosTheta_O) v)) (*.f32 (*.f32 (exp.f32 (log.f32 (sinh.f32 (/.f32 1 v)))) 2) v))
0.4b
(/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (/.f32 (*.f32 cosTheta_i cosTheta_O) v)) (*.f32 v (-.f32 (exp.f32 (/.f32 1 v)) (/.f32 1 (exp.f32 (/.f32 1 v))))))
0.5b
(/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (*.f32 cosTheta_i (*.f32 (/.f32 (pow.f32 (cbrt.f32 cosTheta_O) 2) (pow.f32 (cbrt.f32 v) 2)) (/.f32 (cbrt.f32 cosTheta_O) (cbrt.f32 v))))) (*.f32 (*.f32 (sinh.f32 (/.f32 1 v)) 2) v))
0.5b
(/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (*.f32 cosTheta_O (*.f32 cosTheta_i (/.f32 1 v)))) (-.f32 (pow.f32 (E.f32) (log1p.f32 (*.f32 v (*.f32 2 (sinh.f32 (/.f32 1 v)))))) 1))
Compiler

Compiled 4641 to 2562 computations (44.8% saved)

regimes1.4s (17.8%)

Accuracy

Total 0.3b remaining (76.1%)

Threshold costs 0.3b (76.1%)

Counts
143 → 1
Compiler

Compiled 40866 to 29650 computations (27.4% saved)

simplify3.0ms (0%)

Algorithm
egg-herbie
Rules
10×*-commutative_binary32
+-commutative_binary32
sub-neg_binary32
neg-sub0_binary32
neg-mul-1_binary32
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02037
13537
24637
35337
45737
55837
Stop Event
saturated

end277.0ms (3.4%)

Remove

(sort sinTheta_i sinTheta_O)

(sort cosTheta_i cosTheta_O)

Compiler

Compiled 636 to 467 computations (26.6% saved)

Profiling

Loading profile data...