GTR1 distribution

Time bar (total: 2.9s)

analyze32.0ms (1.1%)

Memory
-4.7MiB live, 11.1MiB allocated
Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%0.6%99.4%0%0%0%0
0%0%0.6%99.4%0%0%0%1
0%0%0.6%99.4%0%0%0%2
50%0.3%0.3%99.4%0%0%0%3
50%0.3%0.3%99.4%0%0%0%4
75%0.5%0.2%99.4%0%0%0%5
75%0.5%0.2%99.4%0%0%0%6
87.5%0.6%0.1%99.4%0%0%0%7
87.5%0.6%0.1%99.4%0%0%0%8
93.8%0.6%0%99.4%0%0%0%9
93.8%0.6%0%99.4%0%0%0%10
96.9%0.6%0%99.4%0%0%0%11
96.9%0.6%0%99.4%0%0%0%12
Compiler

Compiled 53 to 29 computations (45.3% saved)

sample2.7s (95.2%)

Memory
30.8MiB live, 770.9MiB allocated
Samples
787.0ms8 256×0valid-baseline
710.0ms8 256×0valid-rival
424.0ms8 256×0valid-sollya
Precisions
Click to see Rival histograms. Total time spent on operations: 526.0ms
ival-mult: 248.0ms (47.1% of total)
ival-log: 105.0ms (20% of total)
ival-div: 59.0ms (11.2% of total)
ival-add: 37.0ms (7% of total)
ival-sub: 36.0ms (6.8% of total)
ival-pi: 28.0ms (5.3% of total)
ival-true: 8.0ms (1.5% of total)
...in/eval/compile.rkt:76:19: 3.0ms (0.6% of total)
ival-assert: 3.0ms (0.6% of total)
Precisions
Click to see Base histograms. Total time spent on operations: 527.0ms
ival-mult: 263.0ms (49.9% of total)
ival-log: 88.0ms (16.7% of total)
ival-div: 53.0ms (10.1% of total)
ival-add: 41.0ms (7.8% of total)
ival-sub: 41.0ms (7.8% of total)
ival-pi: 31.0ms (5.9% of total)
const: 12.0ms (2.3% of total)
Bogosity

preprocess79.0ms (2.7%)

Memory
5.9MiB live, 21.3MiB allocated
Algorithm
egg-herbie
Rules
1 368×fma-define
1 072×distribute-lft-neg-in
948×distribute-rgt-neg-in
922×times-frac
736×div-sub
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
046647
1179603
2680603
33727603
Stop Event
node limit
Calls
Call 1
Inputs
(/.f32 (-.f32 (*.f32 alpha alpha) #s(literal 1 binary32)) (*.f32 (*.f32 (PI.f32) (log.f32 (*.f32 alpha alpha))) (+.f32 #s(literal 1 binary32) (*.f32 (*.f32 (-.f32 (*.f32 alpha alpha) #s(literal 1 binary32)) cosTheta) cosTheta))))
(/.f32 (-.f32 (*.f32 alpha alpha) #s(literal 1 binary32)) (*.f32 (*.f32 (PI.f32) (log.f32 (*.f32 alpha alpha))) (+.f32 #s(literal 1 binary32) (*.f32 (*.f32 (-.f32 (*.f32 alpha alpha) #s(literal 1 binary32)) cosTheta) cosTheta))))
(/.f32 (-.f32 (*.f32 alpha alpha) #s(literal 1 binary32)) (*.f32 (*.f32 (PI.f32) (log.f32 (*.f32 alpha alpha))) (+.f32 #s(literal 1 binary32) (*.f32 (*.f32 (-.f32 (*.f32 alpha alpha) #s(literal 1 binary32)) (neg.f32 cosTheta)) (neg.f32 cosTheta)))))
(/.f32 (-.f32 (*.f32 (neg.f32 alpha) (neg.f32 alpha)) #s(literal 1 binary32)) (*.f32 (*.f32 (PI.f32) (log.f32 (*.f32 (neg.f32 alpha) (neg.f32 alpha)))) (+.f32 #s(literal 1 binary32) (*.f32 (*.f32 (-.f32 (*.f32 (neg.f32 alpha) (neg.f32 alpha)) #s(literal 1 binary32)) cosTheta) cosTheta))))
(neg.f32 (/.f32 (-.f32 (*.f32 alpha alpha) #s(literal 1 binary32)) (*.f32 (*.f32 (PI.f32) (log.f32 (*.f32 alpha alpha))) (+.f32 #s(literal 1 binary32) (*.f32 (*.f32 (-.f32 (*.f32 alpha alpha) #s(literal 1 binary32)) (neg.f32 cosTheta)) (neg.f32 cosTheta))))))
(neg.f32 (/.f32 (-.f32 (*.f32 (neg.f32 alpha) (neg.f32 alpha)) #s(literal 1 binary32)) (*.f32 (*.f32 (PI.f32) (log.f32 (*.f32 (neg.f32 alpha) (neg.f32 alpha)))) (+.f32 #s(literal 1 binary32) (*.f32 (*.f32 (-.f32 (*.f32 (neg.f32 alpha) (neg.f32 alpha)) #s(literal 1 binary32)) cosTheta) cosTheta)))))
(/.f32 (-.f32 (*.f32 cosTheta cosTheta) #s(literal 1 binary32)) (*.f32 (*.f32 (PI.f32) (log.f32 (*.f32 cosTheta cosTheta))) (+.f32 #s(literal 1 binary32) (*.f32 (*.f32 (-.f32 (*.f32 cosTheta cosTheta) #s(literal 1 binary32)) alpha) alpha))))
Outputs
(/.f32 (-.f32 (*.f32 alpha alpha) #s(literal 1 binary32)) (*.f32 (*.f32 (PI.f32) (log.f32 (*.f32 alpha alpha))) (+.f32 #s(literal 1 binary32) (*.f32 (*.f32 (-.f32 (*.f32 alpha alpha) #s(literal 1 binary32)) cosTheta) cosTheta))))
(/.f32 (fma.f32 alpha alpha #s(literal -1 binary32)) (*.f32 (PI.f32) (*.f32 (log.f32 (*.f32 alpha alpha)) (+.f32 #s(literal 1 binary32) (*.f32 cosTheta (*.f32 (fma.f32 alpha alpha #s(literal -1 binary32)) cosTheta))))))
(/.f32 (/.f32 (fma.f32 alpha alpha #s(literal -1 binary32)) (*.f32 (PI.f32) (log.f32 (*.f32 alpha alpha)))) (fma.f32 (fma.f32 alpha alpha #s(literal -1 binary32)) (*.f32 cosTheta cosTheta) #s(literal 1 binary32)))
(/.f32 (fma.f32 alpha alpha #s(literal -1 binary32)) (*.f32 (PI.f32) (*.f32 (log.f32 (*.f32 alpha alpha)) (fma.f32 (fma.f32 alpha alpha #s(literal -1 binary32)) (*.f32 cosTheta cosTheta) #s(literal 1 binary32)))))
(/.f32 (-.f32 (*.f32 alpha alpha) #s(literal 1 binary32)) (*.f32 (*.f32 (PI.f32) (log.f32 (*.f32 alpha alpha))) (+.f32 #s(literal 1 binary32) (*.f32 (*.f32 (-.f32 (*.f32 alpha alpha) #s(literal 1 binary32)) cosTheta) cosTheta))))
(/.f32 (fma.f32 alpha alpha #s(literal -1 binary32)) (*.f32 (PI.f32) (*.f32 (log.f32 (*.f32 alpha alpha)) (+.f32 #s(literal 1 binary32) (*.f32 cosTheta (*.f32 (fma.f32 alpha alpha #s(literal -1 binary32)) cosTheta))))))
(/.f32 (/.f32 (fma.f32 alpha alpha #s(literal -1 binary32)) (*.f32 (PI.f32) (log.f32 (*.f32 alpha alpha)))) (fma.f32 (fma.f32 alpha alpha #s(literal -1 binary32)) (*.f32 cosTheta cosTheta) #s(literal 1 binary32)))
(/.f32 (fma.f32 alpha alpha #s(literal -1 binary32)) (*.f32 (PI.f32) (*.f32 (log.f32 (*.f32 alpha alpha)) (fma.f32 (fma.f32 alpha alpha #s(literal -1 binary32)) (*.f32 cosTheta cosTheta) #s(literal 1 binary32)))))
(/.f32 (-.f32 (*.f32 alpha alpha) #s(literal 1 binary32)) (*.f32 (*.f32 (PI.f32) (log.f32 (*.f32 alpha alpha))) (+.f32 #s(literal 1 binary32) (*.f32 (*.f32 (-.f32 (*.f32 alpha alpha) #s(literal 1 binary32)) (neg.f32 cosTheta)) (neg.f32 cosTheta)))))
(/.f32 (fma.f32 alpha alpha #s(literal -1 binary32)) (*.f32 (PI.f32) (*.f32 (log.f32 (*.f32 alpha alpha)) (+.f32 #s(literal 1 binary32) (*.f32 cosTheta (*.f32 (fma.f32 alpha alpha #s(literal -1 binary32)) cosTheta))))))
(/.f32 (/.f32 (fma.f32 alpha alpha #s(literal -1 binary32)) (*.f32 (PI.f32) (log.f32 (*.f32 alpha alpha)))) (fma.f32 (fma.f32 alpha alpha #s(literal -1 binary32)) (*.f32 cosTheta cosTheta) #s(literal 1 binary32)))
(/.f32 (fma.f32 alpha alpha #s(literal -1 binary32)) (*.f32 (PI.f32) (*.f32 (log.f32 (*.f32 alpha alpha)) (fma.f32 (fma.f32 alpha alpha #s(literal -1 binary32)) (*.f32 cosTheta cosTheta) #s(literal 1 binary32)))))
(/.f32 (-.f32 (*.f32 (neg.f32 alpha) (neg.f32 alpha)) #s(literal 1 binary32)) (*.f32 (*.f32 (PI.f32) (log.f32 (*.f32 (neg.f32 alpha) (neg.f32 alpha)))) (+.f32 #s(literal 1 binary32) (*.f32 (*.f32 (-.f32 (*.f32 (neg.f32 alpha) (neg.f32 alpha)) #s(literal 1 binary32)) cosTheta) cosTheta))))
(/.f32 (fma.f32 alpha alpha #s(literal -1 binary32)) (*.f32 (PI.f32) (*.f32 (log.f32 (*.f32 alpha alpha)) (+.f32 #s(literal 1 binary32) (*.f32 cosTheta (*.f32 (fma.f32 alpha alpha #s(literal -1 binary32)) cosTheta))))))
(/.f32 (/.f32 (fma.f32 alpha alpha #s(literal -1 binary32)) (*.f32 (PI.f32) (log.f32 (*.f32 alpha alpha)))) (fma.f32 (fma.f32 alpha alpha #s(literal -1 binary32)) (*.f32 cosTheta cosTheta) #s(literal 1 binary32)))
(/.f32 (fma.f32 alpha alpha #s(literal -1 binary32)) (*.f32 (PI.f32) (*.f32 (log.f32 (*.f32 alpha alpha)) (fma.f32 (fma.f32 alpha alpha #s(literal -1 binary32)) (*.f32 cosTheta cosTheta) #s(literal 1 binary32)))))
(neg.f32 (/.f32 (-.f32 (*.f32 alpha alpha) #s(literal 1 binary32)) (*.f32 (*.f32 (PI.f32) (log.f32 (*.f32 alpha alpha))) (+.f32 #s(literal 1 binary32) (*.f32 (*.f32 (-.f32 (*.f32 alpha alpha) #s(literal 1 binary32)) (neg.f32 cosTheta)) (neg.f32 cosTheta))))))
(/.f32 (fma.f32 alpha alpha #s(literal -1 binary32)) (neg.f32 (*.f32 (*.f32 (PI.f32) (log.f32 (*.f32 alpha alpha))) (+.f32 #s(literal 1 binary32) (*.f32 (fma.f32 alpha alpha #s(literal -1 binary32)) (*.f32 (neg.f32 cosTheta) (neg.f32 cosTheta)))))))
(/.f32 (fma.f32 alpha alpha #s(literal -1 binary32)) (*.f32 (*.f32 (PI.f32) (log.f32 (*.f32 alpha alpha))) (neg.f32 (fma.f32 (fma.f32 alpha alpha #s(literal -1 binary32)) (*.f32 cosTheta cosTheta) #s(literal 1 binary32)))))
(/.f32 (fma.f32 alpha alpha #s(literal -1 binary32)) (*.f32 (PI.f32) (*.f32 (fma.f32 (fma.f32 alpha alpha #s(literal -1 binary32)) (*.f32 cosTheta cosTheta) #s(literal 1 binary32)) (neg.f32 (log.f32 (*.f32 alpha alpha))))))
(/.f32 (fma.f32 alpha alpha #s(literal -1 binary32)) (*.f32 (PI.f32) (*.f32 (log.f32 (*.f32 alpha alpha)) (-.f32 #s(literal -1 binary32) (*.f32 (fma.f32 alpha alpha #s(literal -1 binary32)) (*.f32 cosTheta cosTheta))))))
(neg.f32 (/.f32 (-.f32 (*.f32 (neg.f32 alpha) (neg.f32 alpha)) #s(literal 1 binary32)) (*.f32 (*.f32 (PI.f32) (log.f32 (*.f32 (neg.f32 alpha) (neg.f32 alpha)))) (+.f32 #s(literal 1 binary32) (*.f32 (*.f32 (-.f32 (*.f32 (neg.f32 alpha) (neg.f32 alpha)) #s(literal 1 binary32)) cosTheta) cosTheta)))))
(/.f32 (fma.f32 alpha alpha #s(literal -1 binary32)) (neg.f32 (*.f32 (*.f32 (PI.f32) (log.f32 (*.f32 alpha alpha))) (+.f32 #s(literal 1 binary32) (*.f32 (fma.f32 alpha alpha #s(literal -1 binary32)) (*.f32 (neg.f32 cosTheta) (neg.f32 cosTheta)))))))
(/.f32 (fma.f32 alpha alpha #s(literal -1 binary32)) (*.f32 (*.f32 (PI.f32) (log.f32 (*.f32 alpha alpha))) (neg.f32 (fma.f32 (fma.f32 alpha alpha #s(literal -1 binary32)) (*.f32 cosTheta cosTheta) #s(literal 1 binary32)))))
(/.f32 (fma.f32 alpha alpha #s(literal -1 binary32)) (*.f32 (PI.f32) (*.f32 (fma.f32 (fma.f32 alpha alpha #s(literal -1 binary32)) (*.f32 cosTheta cosTheta) #s(literal 1 binary32)) (neg.f32 (log.f32 (*.f32 alpha alpha))))))
(/.f32 (fma.f32 alpha alpha #s(literal -1 binary32)) (*.f32 (PI.f32) (*.f32 (log.f32 (*.f32 alpha alpha)) (-.f32 #s(literal -1 binary32) (*.f32 (fma.f32 alpha alpha #s(literal -1 binary32)) (*.f32 cosTheta cosTheta))))))
(/.f32 (-.f32 (*.f32 cosTheta cosTheta) #s(literal 1 binary32)) (*.f32 (*.f32 (PI.f32) (log.f32 (*.f32 cosTheta cosTheta))) (+.f32 #s(literal 1 binary32) (*.f32 (*.f32 (-.f32 (*.f32 cosTheta cosTheta) #s(literal 1 binary32)) alpha) alpha))))
(/.f32 (fma.f32 cosTheta cosTheta #s(literal -1 binary32)) (*.f32 (PI.f32) (*.f32 (log.f32 (*.f32 cosTheta cosTheta)) (+.f32 #s(literal 1 binary32) (*.f32 alpha (*.f32 alpha (fma.f32 cosTheta cosTheta #s(literal -1 binary32))))))))
(/.f32 (fma.f32 cosTheta cosTheta #s(literal -1 binary32)) (*.f32 (*.f32 (PI.f32) (log.f32 (*.f32 cosTheta cosTheta))) (fma.f32 alpha (*.f32 alpha (fma.f32 cosTheta cosTheta #s(literal -1 binary32))) #s(literal 1 binary32))))
(/.f32 (fma.f32 cosTheta cosTheta #s(literal -1 binary32)) (*.f32 (log.f32 (*.f32 cosTheta cosTheta)) (*.f32 (PI.f32) (fma.f32 (*.f32 alpha alpha) (fma.f32 cosTheta cosTheta #s(literal -1 binary32)) #s(literal 1 binary32)))))
Symmetry

(abs cosTheta)

(abs alpha)

Compiler

Compiled 26 to 13 computations (50% saved)

eval0.0ms (0%)

Memory
0.2MiB live, 0.2MiB allocated
Compiler

Compiled 2 to 2 computations (0% saved)

prune1.0ms (0%)

Memory
1.0MiB live, 1.0MiB allocated
Alt Table
Click to see full alt table
StatusAccuracyProgram
98.6%
(/.f32 (-.f32 (*.f32 alpha alpha) #s(literal 1 binary32)) (*.f32 (*.f32 (PI.f32) (log.f32 (*.f32 alpha alpha))) (+.f32 #s(literal 1 binary32) (*.f32 (*.f32 (-.f32 (*.f32 alpha alpha) #s(literal 1 binary32)) cosTheta) cosTheta))))
Compiler

Compiled 52 to 26 computations (50% saved)

simplify3.0ms (0.1%)

Memory
0.9MiB live, 0.9MiB allocated
Algorithm
egg-herbie
Rules
10×*-commutative
+-commutative
unsub-neg
sub-neg
neg-mul-1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01997
13197
23597
33897
44197
54497
Stop Event
saturated
Calls
Call 1
Inputs
(/.f32 (-.f32 (*.f32 alpha alpha) #s(literal 1 binary32)) (*.f32 (*.f32 (PI.f32) (log.f32 (*.f32 alpha alpha))) (+.f32 #s(literal 1 binary32) (*.f32 (*.f32 (-.f32 (*.f32 alpha alpha) #s(literal 1 binary32)) cosTheta) cosTheta))))
Outputs
(/.f32 (-.f32 (*.f32 alpha alpha) #s(literal 1 binary32)) (*.f32 (*.f32 (PI.f32) (log.f32 (*.f32 alpha alpha))) (+.f32 #s(literal 1 binary32) (*.f32 (*.f32 (-.f32 (*.f32 alpha alpha) #s(literal 1 binary32)) cosTheta) cosTheta))))
(/.f32 (-.f32 (*.f32 alpha alpha) #s(literal 1 binary32)) (*.f32 (*.f32 (PI.f32) (log.f32 (*.f32 alpha alpha))) (+.f32 #s(literal 1 binary32) (*.f32 cosTheta (*.f32 (-.f32 (*.f32 alpha alpha) #s(literal 1 binary32)) cosTheta)))))
(/.f32 (+.f32 (*.f32 alpha alpha) #s(literal -1 binary32)) (*.f32 (*.f32 (PI.f32) (log.f32 (*.f32 alpha alpha))) (+.f32 #s(literal 1 binary32) (*.f32 cosTheta (*.f32 (+.f32 (*.f32 alpha alpha) #s(literal -1 binary32)) cosTheta)))))

soundness0.0ms (0%)

Memory
0.4MiB live, 0.4MiB allocated
Stop Event
fuel
Compiler

Compiled 26 to 14 computations (46.2% saved)

preprocess22.0ms (0.8%)

Memory
-6.8MiB live, 26.4MiB allocated
Remove

(abs alpha)

(abs cosTheta)

Compiler

Compiled 312 to 166 computations (46.8% saved)

end0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

Profiling

Loading profile data...